/* Scroll choreography added to the original H&Row layout. */
@media (prefers-reduced-motion: no-preference) {
  .scroll-phone { translate:var(--rush-x,0px) var(--rush-y,0px); rotate:var(--rush-r,0deg); scale:var(--rush-s,1); }
  .hero-phones { perspective:1400px; }
  .hero-phones.scroll-ready { opacity:1; transform:none; transition:none; }
  .scroll-phone.in-motion { will-change:translate,rotate,scale; }
}
@media (prefers-reduced-motion: reduce) {
  .scroll-phone { translate:none!important;rotate:none!important;scale:none!important; }
  .reveal { opacity:1!important;transform:none!important;transition:none!important; }
  .mockup-wrapper { animation:none!important; }
}
@media(prefers-reduced-motion:no-preference){
.hero-phones .phone-frame{rotate:y var(--depth-turn,0deg)}
.skybound-wrapper{perspective:1200px}
.skybound-phone{rotate:var(--flight-turn,0deg);scale:var(--flight-scale,1);will-change:rotate,scale}
.skybound-phone .carousel-container{opacity:var(--flight-reveal,1)}
.flight-mark{position:absolute;left:0;top:-48px;font-size:28px;color:#2e7fd6;translate:var(--flight-x,0px) var(--flight-y,0px);opacity:var(--flight-trail,0);pointer-events:none;rotate:-10deg}
.flight-mark:before{content:'';position:absolute;right:27px;top:19px;width:85px;height:2px;background:linear-gradient(90deg,transparent,#2e7fd6)}
.lab-phone{translate:var(--lab-x,0px) var(--lab-y,0px);rotate:var(--lab-angle,0deg);transition:translate .45s,rotate .45s,box-shadow .45s}
.lab-card:hover .lab-phone{translate:0 -14px;rotate:-3deg;box-shadow:0 26px 45px #0002}
.lab-card:hover h3{color:var(--accent-text)}
.btn,.hero-btn,.store-link{translate:var(--magnet-x,0px) var(--magnet-y,0px);transition:translate .25s,transform .4s,box-shadow .4s}
.scan-sweep{position:absolute;inset:0;pointer-events:none;z-index:8;background:linear-gradient(180deg,transparent 0,rgba(184,242,72,.1) 48%,rgba(184,242,72,.65) 50%,transparent 52%);translate:0 var(--scan-y,-100%);opacity:var(--scan-opacity,0)}
.fx-focus{position:absolute;inset:35% 12% 33%;border:2px solid #7fefa3;border-radius:12px;pointer-events:none;z-index:8;opacity:var(--focus-opacity,0);scale:var(--focus-scale,1);box-shadow:0 0 25px #7fefa325}
.fx-focus:after{content:'PRICE DETECTED';position:absolute;bottom:-27px;left:50%;transform:translateX(-50%);background:#18291f;color:#aef7c5;white-space:nowrap;font:600 9px Inter,sans-serif;letter-spacing:1px;padding:6px 8px;border-radius:5px}
}
.flight-mark{pointer-events:none}.scan-sweep,.fx-focus{pointer-events:none}
@media(prefers-reduced-motion:reduce){.flight-mark,.scan-sweep,.fx-focus{display:none}.skybound-phone{rotate:none!important;scale:none!important}.skybound-phone .carousel-container{opacity:1!important}}
.fire-growth{position:absolute;inset:auto 0 5%;width:100%;height:45%;opacity:.07;pointer-events:none;fill:none;stroke:#EB1555;stroke-width:3;z-index:0}.fire-growth path{stroke-dasharray:1;stroke-dashoffset:var(--growth-progress,0)}
@media(prefers-reduced-motion:reduce){.fire-growth path{stroke-dashoffset:0}}
.landing-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.landing-glow{position:absolute;top:8%;left:12%;width:65%;height:65%;background:radial-gradient(ellipse,#eb15550b,transparent 65%);translate:0 var(--landing-shift,0px);animation:landing-drift 20s ease-in-out infinite alternate}.glow-violet{left:40%;top:25%;background:radial-gradient(ellipse,#8b5cf611,transparent 65%);animation-delay:-9s}.landing-sparks i{position:absolute;left:var(--x);top:45%;width:3px;height:3px;border-radius:50%;background:#b899c3;opacity:0;animation:landing-spark 18s var(--delay) ease-in-out infinite}.assembly-trails{position:absolute;inset:-50px -40px 0;pointer-events:none;z-index:0;opacity:var(--trail-opacity,0)}.assembly-trails svg{width:100%;height:100%;overflow:visible}.assembly-trails path{fill:none;stroke:#b29bc8;stroke-width:1;stroke-dasharray:4 10}.assembly-trails path:nth-child(even){stroke:#eb1555;stroke-dasharray:none;stroke-opacity:.6}.hero-phones>.mockup-wrapper{position:relative}
@keyframes landing-drift{to{transform:translate(7%,4%) scale(1.1)}}@keyframes landing-spark{0%,100%{opacity:0;translate:0 35px}35%,65%{opacity:.3}85%{opacity:0;translate:18px -100px}}
@media(prefers-reduced-motion:reduce){.landing-atmosphere *{animation:none!important;translate:none!important}.assembly-trails{display:none}}
