/* ======================================================
   BLIXTOR — Animations & Motion Layer
   ====================================================== */

/* ================  HERO PARALLAX (CSS scroll-driven)  ================ */
@supports(animation-timeline:view()){
  .dash{
    animation:dash-float both linear;
    animation-timeline:view();
    animation-range:entry 0% cover 40%;
  }
  @keyframes dash-float{
    from{transform:translateY(0);}
    to{transform:translateY(-28px);}
  }
}

/* ====================  ROCKET DECORATION  =================== */
.rocket-deco{
  position:absolute;right:8%;top:50%;z-index:2;
  pointer-events:none;width:clamp(160px,20vw,260px);
  animation:rk-float 5.5s ease-in-out infinite;
}
.rocket-svg{
  width:100%;height:auto;display:block;
  filter:drop-shadow(0 0 28px rgba(124,58,237,.52)) drop-shadow(0 6px 52px rgba(124,58,237,.22));
}
@keyframes rk-float{
  0%,100%{transform:perspective(800px) translateY(-52%) rotateY(5deg) rotate(10deg);}
  50%{transform:perspective(800px) translateY(calc(-52% - 24px)) rotateY(5deg) rotate(6deg);}
}
.rk-fi,.rk-fm,.rk-fo{transform-box:fill-box;transform-origin:top center;}
.rk-fi{animation:rk-flicker .08s ease-in-out infinite alternate;}
.rk-fm{animation:rk-flicker .12s ease-in-out infinite alternate-reverse;}
.rk-fo{animation:rk-flicker .09s ease-in-out infinite alternate;}
@keyframes rk-flicker{
  from{transform:scaleY(.86) scaleX(1.07);}
  to{transform:scaleY(1.15) scaleX(.91);}
}
.rk-glow-el{transform-box:fill-box;transform-origin:center;animation:rk-glow 2.2s ease-in-out infinite;}
@keyframes rk-glow{
  0%,100%{opacity:.55;transform:scale(1);}
  50%{opacity:.92;transform:scale(1.32);}
}
.rk-spark{
  fill:var(--sc,#FFB347);transform-box:fill-box;transform-origin:center;
  animation:rk-spark 1.5s cubic-bezier(.25,.46,.45,.94) infinite var(--del,0s);
}
@keyframes rk-spark{
  0%  {transform:translate(0,0) scale(1);opacity:.9;}
  72% {opacity:.12;}
  100%{transform:translate(var(--tx,0px),var(--ty,20px)) scale(0);opacity:0;}
}
.rk-smoke{transform-box:fill-box;transform-origin:center;animation:rk-smoke 2.4s ease-out infinite var(--del,0s);}
@keyframes rk-smoke{
  0%  {transform:translate(0,0) scale(.55);opacity:0;}
  18% {opacity:.35;}
  100%{transform:translate(var(--sx,0px),var(--sy,35px)) scale(2.1);opacity:0;}
}
.rk-p{
  position:absolute;left:var(--rx,50%);top:var(--ry,50%);
  width:calc(var(--rs,.5)*5px);height:calc(var(--rs,.5)*5px);
  border-radius:50%;background:rgba(167,139,250,.85);
  animation:rk-blink 3.5s ease-in-out infinite var(--rd,0s);
}
@keyframes rk-blink{
  0%,100%{opacity:.1;transform:scale(.7);}
  50%{opacity:.9;transform:scale(1.3);}
}
@media(max-width:960px){.rocket-deco{right:4%;width:clamp(110px,16vw,160px);}}
@media(max-width:560px){.rocket-deco{display:none;}}

/* ============================================================
   MOTION LAYER v2
   ============================================================ */

/* Stagger extensions */
[style*="--i:4"].reveal{transition-delay:.32s;}
[style*="--i:5"].reveal{transition-delay:.40s;}

/* Improved reveal (overrides base) */
.reveal{
  opacity:0;
  transform:translateY(26px) scale(.975);
  transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);
}
.reveal.in{opacity:1;transform:translateY(0) scale(1);}

/* Hero word split */
.word{display:inline-block;overflow:hidden;vertical-align:bottom;}
.word-inner{
  display:inline-block;
  transform:translateY(108%) rotate(2deg);opacity:0;
  transition:transform .95s cubic-bezier(.16,1,.3,1),opacity .45s ease;
  transition-delay:calc(var(--wi,0) * 52ms + 60ms);
}
.hero-entered .word-inner{transform:translateY(0) rotate(0deg);opacity:1;}

/* Hero copy timing */
.hero-copy .eyebrow.reveal{transition-delay:0ms;}
.hero-copy h1.reveal{opacity:1!important;transform:none!important;transition-duration:.001ms!important;}
.hero-copy .hero-sub.reveal{transition-delay:520ms;}
.hero-copy .hero-actions.reveal{transition-delay:760ms;}

/* Nav underline slide */
.nav-links a{position:relative;}
.nav-links a::after{
  content:'';position:absolute;bottom:-2px;left:0;
  width:0;height:1.5px;background:var(--lilac);
  border-radius:2px;transition:width .28s var(--ease-out);
}
.nav-links a:hover::after{width:100%;}

/* Button shimmer sweep */
.btn-primary{position:relative;overflow:hidden;}
.btn-primary::after{
  content:'';position:absolute;
  top:-10%;left:-120%;width:60%;height:120%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);
  transform:skewX(-18deg);
  transition:left .55s cubic-bezier(.16,1,.3,1);
}
.btn-primary:hover::after{left:160%;}

/* Icon badge bounce on card hover */
.svc:hover .icon-badge .ico,
.reason:hover .icon-badge .ico{animation:icon-pop .55s cubic-bezier(.16,1,.3,1) forwards;}
@keyframes icon-pop{
  0%{transform:rotate(-12deg) scale(.8);}
  60%{transform:rotate(6deg) scale(1.12);}
  100%{transform:rotate(0deg) scale(1);}
}

/* Social card icon */
.social-card .ico{transition:transform .35s cubic-bezier(.16,1,.3,1),color .3s;}
.social-card:hover .ico{transform:scale(1.32) rotate(-10deg);color:var(--accent);}

/* AI card glow hover */
.ai-card .glow{transition:opacity .4s,transform .45s var(--ease-out);}
.ai-card:hover .glow{opacity:.85;transform:scale(1.14);}

/* Testimonial hover lift */
.testi{transition:border-color 250ms,box-shadow 250ms,transform 320ms cubic-bezier(.16,1,.3,1);}
.testi:hover{transform:translateY(-5px);border-color:var(--line-strong);box-shadow:var(--shadow-card);}

/* Founder image frame reveal */
.founder-img-frame.reveal{
  opacity:0;transform:translateY(32px) scale(.972);
  transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1);
}
.founder-img-frame.reveal.in{opacity:1;transform:translateY(0) scale(1);}

/* Final card animated glow border */
.final-card.in{animation:final-glow 5s ease-in-out infinite .6s;}
@keyframes final-glow{
  0%,100%{box-shadow:var(--shadow-float),0 0 28px rgba(124,58,237,.45);}
  33%{box-shadow:var(--shadow-float),0 0 44px rgba(192,38,211,.6),0 0 90px rgba(192,38,211,.12);}
  66%{box-shadow:var(--shadow-float),0 0 36px rgba(255,179,71,.55),0 0 80px rgba(255,179,71,.1);}
}

/* Section head child stagger */
.section-head .eyebrow,
.section-head h2,
.section-head .lead{opacity:0;transition:opacity .55s cubic-bezier(.16,1,.3,1);}
.section-head.in .eyebrow{opacity:1;transition-delay:40ms;}
.section-head.in h2{opacity:1;transition-delay:140ms;}
.section-head.in .lead{opacity:1;transition-delay:240ms;}

/* Ticker edge fade */
.ticker-mask{
  -webkit-mask-image:linear-gradient(to right,transparent,#fff 8%,#fff 92%,transparent);
  mask-image:linear-gradient(to right,transparent,#fff 8%,#fff 92%,transparent);
}

/* 3D tilt will-change */
.svc,.ai-card,.reason{will-change:transform;}

/* ============================================================
   Reduced motion overrides for motion layer
   ============================================================ */
@media(prefers-reduced-motion:reduce){
  .word-inner{transition-duration:.001ms!important;transform:none!important;opacity:1!important;}
  .hero-copy h1.reveal,
  .hero-copy .hero-sub.reveal,
  .hero-copy .hero-actions.reveal{transition-delay:0ms!important;}
  .final-card.in{animation:none;}
  .cursor-dot,.cursor-ring{display:none;}
  body.cursor-active,body.cursor-active *{cursor:auto;}
  .section-head .eyebrow,.section-head h2,.section-head .lead{opacity:1!important;transition:none!important;}
  .founder-photo.reveal{clip-path:none!important;transform:none!important;}
  .btn-primary::after{display:none;}
  .svc:hover .icon-badge .ico,.reason:hover .icon-badge .ico{animation:none;}
  .testi:hover{transform:none;}
}
