/* Scroll follows the document. No pinning, autoplay or artificial scroll distance. */
.scroll-progress{position:fixed;inset:0 0 auto;height:3px;z-index:90;pointer-events:none;background:var(--gold);transform:scaleX(var(--page-progress,0));transform-origin:left}
.surreal-home{--drift:90px;--side-drift:32px}
.scroll-ready .motion-enter{opacity:.48;translate:0 24px;transition:opacity .7s ease,translate .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--entry-delay,0ms)}
.scroll-ready .motion-enter.is-visible,.scroll-ready .motion-enter:focus-within{opacity:1;translate:0 0}
.s-hero .gravity-visual{translate:0 calc((var(--flow,.35) - .35)*var(--drift)*-.7)}
.s-hero .s-hero-copy{translate:0 calc((var(--flow,.35) - .35)*var(--drift)*.3)}
.s-hero .hero-knot{transform:rotate(calc(-24deg + var(--flow,.35)*70deg))}
.space-manifesto .impossible-scene figure{transform:perspective(1400px) rotateY(calc(-12deg + var(--flow,.5)*24deg)) rotateZ(calc(-4deg + var(--flow,.5)*6deg));translate:0 calc((var(--flow,.5) - .5)*var(--drift)*-.5)}
.source-image-pair a:first-child{translate:0 calc((var(--flow,.5) - .5)*var(--drift)*-.8)}
.source-image-pair a:last-child{translate:0 calc((var(--flow,.5) - .5)*var(--drift)*.8)}
.crossing-bands>div{transform:translateY(-50%) rotate(calc(-5deg + var(--flow,.5)*4deg)) translateX(calc((var(--flow,.5) - .5)*-14vw))}
.gameplay-layout figure{transform:perspective(1400px) rotateY(calc(-16deg + var(--flow,.5)*27deg)) rotateZ(calc(5deg - var(--flow,.5)*7deg));translate:0 calc((var(--flow,.5) - .5)*var(--drift)*-.65)}
.ability-symbol{transform:perspective(700px) rotateY(calc(-28deg + var(--flow,.5)*56deg)) rotate(calc(-20deg + var(--flow,.5)*40deg));translate:0 calc((var(--flow,.5) - .5)*24px)}
.optical-copy h2{translate:calc((var(--flow,.5) - .5)*var(--side-drift)) 0}
.game-community h2{translate:calc((var(--flow,.5) - .5)*var(--side-drift)*-1) 0}
.s-finale .finale-symbol{transform:rotate(calc(-35deg + var(--flow,.5)*130deg)) scale(calc(.8 + var(--flow,.5)*.4))}
@media(max-width:780px){.surreal-home{--drift:36px;--side-drift:12px}.scroll-ready .motion-enter{translate:0 15px;transition-duration:.5s,.6s}.crossing-bands>div{transform:translateY(-50%) rotate(calc(-4deg + var(--flow,.5)*3deg)) translateX(calc((var(--flow,.5) - .5)*-18vw))}}
.motion-off .motion-enter{opacity:1!important;translate:none!important;transition:none!important}
.motion-off .gravity-visual,.motion-off .s-hero-copy,.motion-off .impossible-scene figure,.motion-off .source-image-pair a,.motion-off .gameplay-layout figure,.motion-off .ability-symbol,.motion-off .optical-copy h2,.motion-off .game-community h2{translate:none!important}
.motion-off .source-image-pair a,.motion-off .impossible-scene figure,.motion-off .gameplay-layout figure,.motion-off .ability-symbol,.motion-off .hero-knot,.motion-off .finale-symbol{transform:none!important}
.motion-off .crossing-bands>div{transform:translateY(-50%) rotate(-3deg)!important}
@media(prefers-reduced-motion:reduce){.motion-enter{opacity:1!important;translate:none!important;transition:none!important}.gravity-visual,.s-hero-copy,.impossible-scene figure,.source-image-pair a,.gameplay-layout figure,.ability-symbol,.optical-copy h2,.game-community h2{translate:none!important}.source-image-pair a,.impossible-scene figure,.gameplay-layout figure,.ability-symbol,.hero-knot,.finale-symbol{transform:none!important}.crossing-bands>div{transform:translateY(-50%) rotate(-3deg)!important}}
@media print{.scroll-progress{display:none}.motion-enter{opacity:1!important;translate:none!important}}
