/* ===== PREMIUM MOTION ===== */
@media (prefers-reduced-motion: no-preference){
  html{scroll-behavior:smooth;}

  .scroll-progress{
    position:fixed;
    inset:0 0 auto;
    z-index:1002;
    height:2px;
    background:linear-gradient(90deg,var(--blue),#87A0FF);
    transform:scaleX(0);
    transform-origin:left center;
    box-shadow:0 1px 8px rgba(52,87,255,0.5);
    will-change:transform;
  }

  header.nav{
    transition:background .45s var(--ease), box-shadow .45s var(--ease), border-color .45s var(--ease);
  }
  header.nav.is-scrolled{
    background:rgba(250,248,244,0.94);
    border-color:rgba(14,21,38,0.09);
    box-shadow:0 12px 30px -24px rgba(14,21,38,0.4);
  }
  .logo-mark{transition:transform .45s var(--ease);}
  .logo:hover .logo-mark{transform:rotate(-10deg) scale(1.08);}

  .motion-ready .hero-content > *,
  .motion-ready .hero-visual{
    opacity:0;
    animation:hero-enter .85s var(--ease) forwards;
  }
  .motion-ready .hero-content > :nth-child(1){animation-delay:.08s;}
  .motion-ready .hero-content > :nth-child(2){animation-delay:.15s;}
  .motion-ready .hero-content > :nth-child(3){animation-delay:.23s;}
  .motion-ready .hero-content > :nth-child(4){animation-delay:.31s;}
  .motion-ready .hero-content > :nth-child(5){animation-delay:.39s;}
  .motion-ready .hero-visual{animation-delay:.18s;}

  @keyframes hero-enter{
    from{opacity:0;transform:translate3d(0,22px,0);}
    to{opacity:1;transform:translate3d(0,0,0);}
  }

  .hero-visual{perspective:1000px;}
  .hero-art{
    transform:rotateX(var(--hero-tilt-y,0deg)) rotateY(var(--hero-tilt-x,0deg)) scale(var(--hero-scale,1));
    transform-origin:center;
    transition:transform .7s var(--ease), box-shadow .7s var(--ease);
    will-change:transform;
  }
  .hero-visual:hover .hero-art{box-shadow:0 48px 90px -34px rgba(14,21,38,0.48);}

  .reveal{
    transform:translate3d(0,26px,0) scale(.985);
    filter:blur(5px);
    transition:opacity .8s var(--ease), transform .8s var(--ease), filter .8s var(--ease);
    transition-delay:var(--reveal-delay,0ms);
    will-change:opacity,transform,filter;
  }
  .reveal.in{transform:translate3d(0,0,0) scale(1);filter:blur(0);}

  .motion-surface{
    position:relative;
    isolation:isolate;
  }
  .motion-surface::after{
    content:'';
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    opacity:0;
    background:radial-gradient(240px circle at var(--pointer-x,50%) var(--pointer-y,50%), rgba(92,123,255,0.18), transparent 62%);
    transition:opacity .45s var(--ease);
  }
  .motion-surface:hover::after{opacity:1;}

  .p-card,.capability-item,.s-card,.concept-card,.device-frame{
    transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .45s var(--ease);
  }
  .p-card:hover,.s-card:hover,.concept-card:hover{transform:translateY(-7px);}
  .capability-item:hover{transform:translateY(-6px);}
  .p-card:hover .icon-tile,
  .capability-item:hover .capability-icon{
    transform:translateY(-2px) rotate(-5deg) scale(1.05);
  }
  .icon-tile,.capability-icon{transition:transform .45s var(--ease), box-shadow .45s var(--ease);}

  .concept-screen img,
  .device-frame .device-screen{
    transition:transform .8s cubic-bezier(.2,.7,.2,1), filter .8s var(--ease);
  }
  .concept-card:hover .concept-screen img,
  .device-frame:hover .device-screen{
    transform:scale(1.035);
    filter:saturate(1.06) contrast(1.02);
  }

  .btn-primary{
    position:relative;
    overflow:hidden;
    isolation:isolate;
  }
  .btn-primary::before{
    content:'';
    position:absolute;
    top:-20%;bottom:-20%;left:-45%;
    width:28%;
    z-index:-1;
    opacity:.45;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);
    transform:skewX(-22deg) translateX(-200%);
    transition:transform .7s var(--ease);
  }
  .btn-primary:hover::before{transform:skewX(-22deg) translateX(700%);}

  .s-btn,.concept-link,.footer-links a,.faq-trigger{transition:color .3s var(--ease), background .3s var(--ease), transform .3s var(--ease);}
  .concept-link:hover{transform:translateX(3px);}
  .faq-trigger:hover{background:linear-gradient(90deg,rgba(52,87,255,.06),transparent);}
  .faq-item.open .faq-trigger{color:var(--blue);}

  .process-step{transition:transform .4s var(--ease);}
  .process-step:hover{transform:translateY(-5px);}
  .process-step:hover .process-num{text-shadow:0 0 18px rgba(92,123,255,.65);}

  .trust-tags span{transition:color .3s var(--ease), transform .3s var(--ease);}
  .trust-tags span:hover{transform:translateY(-2px);}
}

@media (max-width:640px){
  .scroll-progress{height:2px;}
}
