/* Interactive navy currents behind the existing homepage content. */
body{position:relative;isolation:isolate}
.site-motion{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden;
  opacity:.8;background:radial-gradient(ellipse at 15% 70%,rgba(28,78,139,.07),transparent 54%)}
.site-motion canvas{display:block;width:100%;height:100%}
.sec,.sec.alt{isolation:auto}
.sec::before{display:none}
.sec-inner,.trailer-section .sec-inner{position:relative;z-index:2}
.marquee-label,.marquee-track{position:relative;z-index:2}
.hero .bg{translate:calc(var(--motion-pointer-x,0) * 9px) calc(var(--motion-pointer-y,0) * 7px);
  scale:1.025;will-change:translate}
.sec,.sec.alt,.trailer-section{border-top:1px solid rgba(135,178,234,.045)}
.sec-eyebrow::before{box-shadow:0 0 13px rgba(85,152,243,.32)}

.reveal{transform:translateY(30px) scale(.986);transition:opacity .85s var(--e-reveal),
  transform .85s var(--e-reveal);transition-delay:var(--reveal-delay,0ms)}
.reveal.in{transform:translateY(0) scale(1)}
.card.reveal.in:hover{transform:translateY(-5px) scale(1)}
.step::after{width:0;transition:width 1.1s var(--e-reveal);transition-delay:var(--reveal-delay,0ms);
  box-shadow:0 0 14px rgba(97,166,255,.4)}
.step.in::after{width:64px}

.card,.plan-card,.funnel,.form-card{position:relative;isolation:isolate}
.card::after,.plan-card::after,.funnel::after,.form-card::after{content:"";position:absolute;
  inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;
  background:radial-gradient(300px circle at var(--card-x,50%) var(--card-y,50%),rgba(87,150,237,.2),transparent 72%);
  transition:opacity .4s ease}
.card:hover::after,.plan-card:hover::after,.funnel:hover::after,.form-card:hover::after,
.form-card:focus-within::after{opacity:1}
.card .icon{transition:box-shadow .3s ease,transform .45s var(--e-soft)}
.card:hover .icon{transform:translateY(-2px);box-shadow:0 0 26px rgba(72,138,228,.2)}

/* Cursor light and shallow 3D depth on the existing hero headline. */
.hero-text-interactive{perspective:900px}
.hero-word{position:relative;display:inline-block;transform-origin:50% 70%;
  color:rgb(calc(245 - var(--word-focus,0) * 61),calc(248 - var(--word-focus,0) * 24),255);
  transform:translate3d(var(--word-x,0px),calc(var(--word-focus,0) * -8px),calc(var(--word-focus,0) * 14px))
    rotateX(calc(var(--word-focus,0) * 7deg)) rotateY(var(--word-lean,0deg)) scale(calc(1 + var(--word-focus,0) * .025));
  text-shadow:0 calc(var(--word-focus,0) * 7px) calc(var(--word-focus,0) * 10px) rgba(0,7,20,.55),
    0 0 calc(var(--word-focus,0) * 26px) rgba(114,180,255,calc(var(--word-focus,0) * .55));
  transition:transform .24s cubic-bezier(.16,1,.3,1),color .24s ease,text-shadow .24s ease}
.motion-paused .hero-word{transform:none;color:inherit;text-shadow:none;transition:none}
@media(hover:none),(pointer:coarse){.hero-word{transform:none;color:inherit;text-shadow:none;transition:none}}

.motion-toggle{position:fixed;right:20px;bottom:max(18px,env(safe-area-inset-bottom));z-index:15;
  display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 12px;
  border:1px solid rgba(144,184,235,.26);border-radius:999px;background:rgba(7,18,33,.9);
  backdrop-filter:blur(12px);color:#cfddf0;font:500 11px/1 'Plus Jakarta Sans',sans-serif;
  box-shadow:0 7px 25px rgba(0,5,15,.25);cursor:pointer;transition:background .2s,border-color .2s}
.motion-toggle[hidden]{display:none}
.motion-toggle:hover{background:rgba(22,45,75,.95);border-color:rgba(144,184,235,.5)}
.motion-toggle:focus-visible{outline:2px solid #9dc1ff;outline-offset:4px}
.motion-toggle svg{width:15px;height:15px;flex:none}
.motion-play{display:none}
.motion-paused .motion-pause{display:none}
.motion-paused .motion-play{display:block}
.motion-paused .marquee-track{animation-play-state:paused}
.motion-paused .hero .bg{translate:0 0}
.motion-paused .reveal{opacity:1;transform:none;transition:none}
.motion-paused .step::after{width:64px;transition:none}

@media(max-width:640px){
  .site-motion{opacity:.65}
  .motion-toggle{right:12px;min-height:40px;width:40px;padding:0}
  .motion-label{display:none}
  .hero .bg{translate:0 0}
  .reveal{transform:translateY(20px);transition-duration:.7s}
}
@media(prefers-reduced-motion:reduce){
  .site-motion{opacity:.4}
  .motion-toggle{display:none}
  .hero .bg{translate:0 0;scale:1;will-change:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .step::after{width:64px;transition:none}
  .card:hover .icon{transform:none}
  .hero-word{transform:none;color:inherit;text-shadow:none;transition:none}
}
