@media(max-width:700px){
  .home-neural-hero #heroCanvas{
    opacity:.9;
    transform-origin:74% 48%;
    animation:cw-phone-canvas-drift 7s ease-in-out infinite;
    will-change:transform,opacity
  }
  .home-neural-hero::before{
    content:"";
    position:absolute;
    z-index:0;
    top:300px;
    right:-28vw;
    width:min(92vw,390px);
    aspect-ratio:1;
    border-radius:50%;
    pointer-events:none;
    opacity:.42;
    background:conic-gradient(from 0deg,transparent 0 8%,rgba(124,233,255,.72) 12%,transparent 18% 42%,rgba(155,140,255,.5) 48%,transparent 56% 78%,rgba(45,183,255,.66) 84%,transparent 92%);
    -webkit-mask:radial-gradient(circle,transparent 0 46%,#000 47% 49%,transparent 50% 59%,#000 60% 61%,transparent 62%);
    mask:radial-gradient(circle,transparent 0 46%,#000 47% 49%,transparent 50% 59%,#000 60% 61%,transparent 62%);
    animation:cw-phone-orbit 9s linear infinite;
    will-change:transform
  }
  .recovery-headline .recovery-lead{animation:cw-phone-lead .78s cubic-bezier(.2,.78,.28,1) .45s both}
  .recovery-headline .recovery-broken{animation:cw-phone-broken 1.05s steps(2,end) 1.12s both}
  .recovery-headline .recovery-broken::before{animation:cw-phone-slice-top .95s steps(2,end) 1.12s both}
  .recovery-headline .recovery-broken::after{animation:cw-phone-slice-bottom .95s steps(2,end) 1.18s both}
  .recovery-headline .recovery-return{animation:cw-phone-return .62s cubic-bezier(.2,.78,.28,1) 2.05s both}
  .recovery-headline .recovery-online{animation:cw-phone-online .92s cubic-bezier(.16,.82,.24,1) 2.38s both,cw-phone-online-pulse 3.2s ease-in-out 3.35s infinite}
  .recovery-headline .recovery-online::after{animation:cw-phone-scan .92s cubic-bezier(.16,.82,.24,1) 2.5s both}
}

@keyframes cw-phone-lead{
  0%{opacity:0;transform:translate3d(-18px,14px,0);filter:blur(8px)}
  100%{opacity:1;transform:none;filter:none}
}
@keyframes cw-phone-broken{
  0%,100%{transform:none;color:inherit;text-shadow:none}
  14%{transform:translateX(-3px);color:#fff;text-shadow:3px 0 #ff6b7d,-3px 0 #7ce9ff}
  30%{transform:translateX(2px);text-shadow:-3px 0 #ff6b7d,4px 0 #7ce9ff}
  48%{transform:translate(-2px,1px) skewX(-2deg);color:#d8e1ea;text-shadow:2px 0 #ff6b7d}
  68%{transform:translateX(1px);text-shadow:-2px 0 #7ce9ff}
}
@keyframes cw-phone-slice-top{
  0%,100%{opacity:0;transform:none}
  18%,40%{opacity:.9;transform:translateX(6px)}
  41%,65%{opacity:.6;transform:translateX(-4px)}
}
@keyframes cw-phone-slice-bottom{
  0%,100%{opacity:0;transform:none}
  16%,42%{opacity:.82;transform:translateX(-6px)}
  43%,68%{opacity:.55;transform:translateX(4px)}
}
@keyframes cw-phone-return{
  0%{opacity:0;transform:translateY(16px);filter:blur(7px)}
  100%{opacity:1;transform:none;filter:none}
}
@keyframes cw-phone-online{
  0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(-10px);filter:blur(8px);text-shadow:none}
  62%{opacity:1;filter:blur(1px);text-shadow:0 0 30px rgba(124,233,255,.88),0 0 66px rgba(45,183,255,.34)}
  100%{opacity:1;clip-path:inset(0 -12% 0 0);transform:none;filter:none}
}
@keyframes cw-phone-online-pulse{
  0%,100%{text-shadow:0 0 14px rgba(124,233,255,.28),0 0 32px rgba(45,183,255,.1)}
  50%{text-shadow:0 0 24px rgba(124,233,255,.58),0 0 52px rgba(45,183,255,.22)}
}
@keyframes cw-phone-scan{
  0%{opacity:0;transform:scaleX(0)}
  24%{opacity:1}
  76%{opacity:1;transform:scaleX(1)}
  100%{opacity:.42;transform:scaleX(1);box-shadow:0 0 9px rgba(124,233,255,.5)}
}
@keyframes cw-phone-canvas-drift{
  0%,100%{transform:translate3d(0,0,0) scale(1);opacity:.82}
  50%{transform:translate3d(-8px,5px,0) scale(1.025);opacity:.96}
}
@keyframes cw-phone-orbit{to{transform:rotate(1turn)}}

@media(prefers-reduced-motion:reduce){
  .home-neural-hero #heroCanvas,
  .home-neural-hero::before,
  .recovery-headline .recovery-lead,
  .recovery-headline .recovery-return,
  .recovery-headline .recovery-broken,
  .recovery-headline .recovery-online,
  .recovery-headline .recovery-broken::before,
  .recovery-headline .recovery-broken::after,
  .recovery-headline .recovery-online::after{animation:none;opacity:1;transform:none;filter:none;clip-path:none}
  .recovery-headline .recovery-broken::before,
  .recovery-headline .recovery-broken::after{display:none}
}
