/* R06: one camera move, selective Signal emphasis and quieter compositing. */
.hero-story{height:560svh}
.stage-world{top:0;transform:translate(-50%,-50%) translate3d(var(--scene-x),var(--scene-top),0)}
.intro{transform:perspective(1100px) translate3d(calc(var(--intro-recede,0)*-32px),var(--intro-y),calc(var(--intro-recede,0)*-105px)) rotateY(calc(var(--intro-recede,0)*-3deg));transform-origin:10% 45%}
.environment{inset:-5%;transform:translate3d(calc(var(--camera,0)*-3%),calc(var(--camera,0)*1.5%),0) scale(calc(1 + var(--camera,0)*.03));will-change:transform}
.atmosphere{animation:none;opacity:.8;transform:translate3d(calc(var(--camera,0)*-7%),0,0)}
.depth-dust{animation:none;opacity:.09}
.world-float{animation:none}
.is-ready .world-float{animation:camera-drift 19s ease-in-out infinite alternate}
.surface-reflection{animation:none;transform:translateX(calc(-35% + var(--morph)*48%));opacity:.45}
.is-ready .surface-reflection{animation:surface-light 25s ease-in-out infinite}
.machine-product{will-change:transform}
.client-viewport{contain:layout paint}
.client-viewport iframe{contain:strict}
.product-shadow{opacity:.7}
.signal-flow{stroke-width:2.35;stroke-dasharray:.22 1;stroke-dashoffset:calc(.22 - var(--route-progress,0))}
.signal-bed{opacity:.1}
.praxis-signal[data-mode=arrival] .signal-flow{stroke:#8fe1d3;stroke-width:2.6}
.signal-head{r:3.2px;fill:#f2efe7;stroke-width:1.3}
.praxis-signal[data-mode=settle] .signal-flow{stroke-width:2.6}
.praxis-signal[data-mode=settle] .signal-bed{opacity:.45}
.device-back{background:linear-gradient(100deg,#1a353a50,#172e3310)}
.story-heading{will-change:opacity,transform}
.is-transforming .beam-two{opacity:.12}
@media(max-width:600px){.hero-story{height:480svh}.intro{transform:translate3d(0,var(--intro-y),0) scale(calc(1 - var(--intro-recede,0)*.045));transform-origin:50% 0}.signal-flow{stroke-width:2.2}.signal-head{r:3px}}
.reduced-scene .hero-story{height:100svh}.reduced-scene .intro{transform:none}.reduced-scene .environment{transform:none}
.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}
@media(max-width:600px) and (max-height:649px){
 .hero-pin{min-height:100svh}
 .intro h1{font-size:28px}
 .intro-description{font-size:10.5px;margin-top:12px}
 .hero-actions .button{font-size:9.5px;padding:0 9px;gap:8px}
 .hero-actions .button-secondary{gap:3px}
}
