/* Every scroll scene has a static, fully visible fallback. */
.hero-assembly{min-width:0;align-self:stretch;display:grid;align-items:center}
.hero-device{animation:none}
.pool-scroll{position:relative;min-width:0}

.scroll-scenes-ready .hero{align-items:start;overflow:clip}
.scroll-scenes-ready .hero-copy{position:sticky;top:145px;align-self:start}
.scroll-scenes-ready .hero-assembly{height:145svh;min-height:1000px;display:block}
.scroll-scenes-ready .hero-stage{position:sticky;top:125px}
.scroll-scenes-ready .hero-device{animation:none;transition:none;opacity:calc(var(--entry-alpha,1) * var(--device-opacity,1));transform:translate3d(var(--entry-x,0px),var(--entry-y,0px),0) scale(var(--entry-scale,1));will-change:transform,opacity}
.scroll-scenes-ready .device-strength{--device-opacity:.82}
.scroll-scenes-ready .pool-scroll{--pool-design-height:880px;--pool-scene-height:min(var(--pool-design-height),calc(100svh - 140px));--pool-scene-top:108px;height:calc(var(--pool-scene-height) + 100svh);margin-top:30px;margin-bottom:55px}
.scroll-scenes-ready .pool-exploded{position:sticky;top:var(--pool-scene-top);height:var(--pool-scene-height);margin-top:0;margin-bottom:0}
.scroll-scenes-ready .pool-exploded.reveal{opacity:1;transform:none}
.scroll-scenes-ready .pool-part{top:0;left:0;bottom:auto;right:auto;transform:translate3d(var(--orbit-x,0px),var(--orbit-y,0px),0) translate(-50%,-50%) scale(var(--orbit-scale,1));will-change:transform}
.scroll-scenes-ready .pool-core{transform:translate(-50%,-50%) scale(var(--orbit-scale,1))}
.scroll-scenes-ready .pool-part img{transition:none}
.scroll-scenes-ready .pool-part:hover img{transform:none}
.scroll-scenes-ready .pool-orbit{transform:translate(-50%,-50%);top:var(--orbit-center-y);left:var(--orbit-center-x)}
.scroll-scenes-ready .orbit-outer{width:var(--orbit-width);height:var(--orbit-height)}
.scroll-scenes-ready .orbit-inner{width:calc(var(--orbit-width) * .68);height:calc(var(--orbit-height) * .68)}
.scroll-scenes-ready .part-cardio,.scroll-scenes-ready .part-strength,.scroll-scenes-ready .part-climb,.scroll-scenes-ready .part-recovery,.scroll-scenes-ready .part-bike{height:240px}

@media(max-width:1000px){
 .scroll-scenes-ready .hero-copy{top:130px}
 .scroll-scenes-ready .hero-stage{top:115px}
 .scroll-scenes-ready .hero-assembly{min-height:900px}
 .scroll-scenes-ready .pool-scroll{--pool-design-height:760px;--pool-scene-height:min(var(--pool-design-height),calc(100svh - 132px));--pool-scene-top:100px}
 .scroll-scenes-ready .part-cardio,.scroll-scenes-ready .part-strength,.scroll-scenes-ready .part-climb,.scroll-scenes-ready .part-recovery,.scroll-scenes-ready .part-bike{height:200px}
}
@media(max-width:800px){
 .scroll-scenes-ready .hero-copy{position:relative;top:auto}
 .scroll-scenes-ready .hero-assembly{height:125svh;min-height:850px;width:100%}
 .scroll-scenes-ready .hero-stage{top:95px;width:min(600px,100%);margin-inline:auto}
 .scroll-scenes-ready .pool-scroll{--pool-design-height:700px;--pool-scene-height:min(var(--pool-design-height),calc(100svh - 120px));--pool-scene-top:95px;margin-bottom:40px}
 .scroll-scenes-ready .part-cardio,.scroll-scenes-ready .part-strength,.scroll-scenes-ready .part-climb,.scroll-scenes-ready .part-recovery,.scroll-scenes-ready .part-bike{width:28%;height:180px}
 .scroll-scenes-ready .part-redlight{width:18%;height:160px}
 .scroll-scenes-ready .part-access{width:16%;height:160px}
}
@media(max-width:520px){
 .scroll-scenes-ready .hero-assembly{height:120svh;min-height:760px}
 .scroll-scenes-ready .hero-stage{top:90px}
 .scroll-scenes-ready .pool-scroll{--pool-design-height:560px;--pool-scene-height:min(var(--pool-design-height),calc(100svh - 112px));--pool-scene-top:85px;margin-top:20px;margin-bottom:45px}
 .scroll-scenes-ready .pool-core{width:60px;height:60px}
 .scroll-scenes-ready .pool-core>span{font-size:28px;padding-right:4px}
 .scroll-scenes-ready .pool-core>small{font-size:4px;margin-top:7px}
 .scroll-scenes-ready .part-cardio,.scroll-scenes-ready .part-strength,.scroll-scenes-ready .part-climb,.scroll-scenes-ready .part-recovery,.scroll-scenes-ready .part-bike{width:28%;height:120px}
 .scroll-scenes-ready .part-redlight{width:22%;height:110px}
 .scroll-scenes-ready .part-access{width:18%;height:110px}
 .scroll-scenes-ready .pool-ownership{font-size:8px}
}
@media(prefers-reduced-motion:reduce){
 .scroll-scenes-ready .hero-copy,.scroll-scenes-ready .hero-stage{position:relative;top:auto}
 .scroll-scenes-ready .hero-assembly{height:auto;min-height:0}
 .hero-device{animation:none!important;transform:none!important;opacity:1!important;will-change:auto!important}
}
@media print{
 .scroll-scenes-ready .hero-copy,.scroll-scenes-ready .hero-stage{position:relative;top:auto}
 .scroll-scenes-ready .hero-assembly{height:auto;min-height:0}
 .scroll-scenes-ready .hero-device{transform:none;opacity:1}
 .scroll-scenes-ready .pool-scroll{height:var(--pool-scene-height)}
 .scroll-scenes-ready .pool-exploded{position:relative;top:auto}
 .scroll-scenes-ready .pool-part{will-change:auto}
}
