/* ==========================================================================
   Motion — hero energy field, cable-current dividers, load sequence
   ========================================================================== */

/* Flowing current along cable-line SVG paths (dividers + hero field) */
.current-path{
  stroke-dasharray:6 14;
  animation:flow 2.6s linear infinite;
}
@keyframes flow{ to{ stroke-dashoffset:-200; } }

.pulse-node{ animation:pulse 2.4s ease-in-out infinite; transform-origin:center; }
@keyframes pulse{
  0%,100%{ opacity:.55; transform:scale(1); }
  50%{ opacity:1; transform:scale(1.35); }
}

/* Hero concentric cable-cross-section rings */
.ring-rotate{ animation:spin 40s linear infinite; transform-origin:center; transform-box:view-box; }
.ring-rotate--rev{ animation:spin-rev 24s linear infinite; transform-origin:center; transform-box:view-box; }
.ring-orbit{ transform-origin:center; transform-box:view-box; will-change:transform; }
.ring-orbit--outer{ animation:spin-rev 62s linear infinite; }
.ring-orbit--bronze{ animation:spin 38s linear infinite; }
.ring-orbit--track{ animation:spin 31s linear infinite; }
.ring-orbit--inner{ animation:spin-rev 19s linear infinite; }
.ring-orbit--nodes{ animation:spin 16s linear infinite; }
@keyframes spin{ to{ transform:rotate(360deg); } }
@keyframes spin-rev{ to{ transform:rotate(-360deg); } }

.hero__ring-wrap{ transform:translateZ(0); }

@keyframes aurora-pulse{
  0%,100%{ opacity:.7; transform:scale(1); }
  50%{ opacity:1; transform:scale(1.08); }
}

/* Hero load-in sequence */
.hero-in{ opacity:0; transform:translateY(22px); animation:hero-rise .8s var(--ease) forwards; }
.hero-in--1{ animation-delay:.05s; }
.hero-in--2{ animation-delay:.18s; }
.hero-in--3{ animation-delay:.32s; }
.hero-in--4{ animation-delay:.46s; }
.hero-in--5{ animation-delay:.6s; }
@keyframes hero-rise{ to{ opacity:1; transform:translateY(0); } }

.hero__art{ opacity:0; transform:scale(.9); animation:hero-pop .9s var(--ease) forwards; animation-delay:.3s; }
@keyframes hero-pop{ to{ opacity:1; transform:scale(1); } }

@media (prefers-reduced-motion: reduce){
  .current-path,.pulse-node,.ring-rotate,.ring-rotate--rev,.ring-orbit,.hero-in,.hero__art{
    animation:none !important; opacity:1 !important; transform:none !important;
  }
  .hero__brand-mark{ animation:none !important; transform:translate(-50%,-50%) !important; }
}
