/* Scroll choreography: loose on arrival, composed before the reading position. */
.gather-piece{translate:var(--gather-x,0px) var(--gather-y,0px);rotate:var(--gather-rotation,0deg);opacity:var(--gather-opacity,1);transform-origin:center}
.gather-piece.is-gathering{will-change:translate,rotate,opacity}
.assembly-measuring .gather-piece{translate:none!important;rotate:none!important;opacity:1!important}
.device-slot{translate:calc(var(--hero-looseness,0)*var(--loose-x,0px)) calc(var(--hero-looseness,0)*70px);rotate:calc(var(--hero-looseness,0)*var(--loose-r,0deg))}
.device-slot[data-device-slot="0"]{--loose-x:-90px;--loose-r:-12deg}.device-slot[data-device-slot="1"]{--loose-x:20px;--loose-r:8deg}.device-slot[data-device-slot="2"]{--loose-x:90px;--loose-r:14deg}
.scroll-story .story-top{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;padding-bottom:18px;align-items:center}.scroll-story .story-count{justify-self:end}.scroll-story .story-segments{display:flex;gap:6px;position:static}.scroll-story .story-segments button{min-height:44px;padding:10px 17px;font-size:11px;white-space:nowrap}.scroll-story .story-top .kicker{max-width:230px;line-height:1.7}
.scroll-story .story-panel .story-copy h2 em{color:#a8ebff}.scroll-story .story-copy>p{color:#a7b9bf}.scroll-story .story-copy h2{translate:0 calc(var(--story-looseness,0)*26px);rotate:calc(var(--story-looseness,0)*-2deg)}.scroll-story .story-copy>p{translate:calc(var(--story-looseness,0)*-22px) calc(var(--story-looseness,0)*17px)}
.scroll-story .story-visual{background:#deebef;border-radius:28px;width:100%;max-width:440px;height:440px;min-height:0;margin:auto;overflow:hidden;isolation:isolate;display:grid;place-items:center}.scroll-story .story-panel:nth-child(2) .story-visual{background:#e6eef0}.scroll-story .story-panel:nth-child(3) .story-visual{background:#f1e9dc}.scroll-story .story-disc{display:none}.scroll-story .story-visual img{width:100%;height:100%;max-width:none;max-height:100%;object-fit:contain;padding:35px 25px 72px;background:none;border:0;border-radius:0;box-shadow:none;transform:none;mix-blend-mode:darken}.scroll-story .story-watermark{font-size:70px;top:10px;right:22px;color:#465e6522;letter-spacing:-4px;z-index:1}.scroll-story .story-note{bottom:15px;left:15px;right:15px;transform:none;text-align:center;font-size:10px;padding:13px 10px;border-radius:14px;background:#ffffffb8;color:#435c64;box-shadow:none}.scroll-story .story-bottom{padding-top:15px;margin-top:15px}
.scroll-story.is-enhanced .story-sticky{top:122px;height:calc(100svh - 216px);min-height:0;max-height:none;padding:20px 0 12px}.scroll-story.is-enhanced .story-panel{gap:70px;padding:20px 0}.scroll-story.is-enhanced .story-visual{height:min(440px,100%);max-height:100%;aspect-ratio:1}.scroll-story.is-enhanced .story-copy h2{font-size:clamp(42px,4.5vw,64px)}
@media(max-width:1000px){.scroll-story .story-top{grid-template-columns:1fr auto}.scroll-story .story-segments{grid-row:2;grid-column:1/-1;justify-content:center}.scroll-story .story-count{grid-column:2;grid-row:1}.scroll-story .story-visual{height:350px;max-width:350px}.scroll-story .story-panel{gap:30px}}
@media(max-width:760px){.scroll-story .story-top{gap:14px}.scroll-story .story-segments{justify-content:space-between;gap:5px;width:100%}.scroll-story .story-segments button{flex:1;padding:10px 9px;font-size:10px}.scroll-story .story-panel{padding:35px 0;gap:25px}.scroll-story .story-visual{height:320px;max-width:350px}.scroll-story .story-copy h2{font-size:44px}.scroll-story .story-visual img{padding:26px 23px 65px}.scroll-story .story-bottom{padding-bottom:12px}.device-slot{translate:calc(var(--hero-looseness,0)*var(--loose-x,0px)*.35) calc(var(--hero-looseness,0)*25px)}}
@media(prefers-reduced-motion:reduce){.gather-piece,.device-slot,.scroll-story .story-copy h2,.scroll-story .story-copy>p{translate:none!important;rotate:none!important;opacity:1!important}.gather-piece{will-change:auto!important}}
/* Definite media bounds prevent intrinsic image sizing from covering the caption. */
.scroll-story .story-visual img{position:absolute;inset:0;min-width:0;min-height:0;width:100%;height:100%}
.scroll-story .story-panel:nth-child(2) .story-visual img{transform:none}
/* Bring back the original layered product stage, with clear navigation above it. */
.scroll-story .story-panel .story-visual{background:none;overflow:visible;isolation:auto;border-radius:0}
.scroll-story .story-disc{display:block;width:90%;height:90%;max-width:none;aspect-ratio:1;border-radius:43% 57% 52% 48%;background:#c1e0e9;transform:rotate(-10deg)}
.scroll-story .story-panel:nth-child(2) .story-disc{background:#d5e7ed}
.scroll-story .story-panel:nth-child(3) .story-disc{background:#ebdfcb}
.scroll-story .story-visual img{inset:7% auto auto 10%;width:80%;height:80%;padding:15px;background:white;border-radius:17px;mix-blend-mode:normal;transform:rotate(6deg);box-shadow:0 20px 45px #00000020}
.scroll-story .story-panel:nth-child(2) .story-visual img{transform:rotate(-6deg)}
.scroll-story .story-watermark{top:-5px;right:0;color:#a8ebff2e;font-size:100px}
.scroll-story .story-note{left:auto;right:0;bottom:-3px;background:#dff0f5;transform:rotate(-4deg);padding:14px 18px}
@media(min-height:600px) and (prefers-reduced-motion:no-preference){
 .scroll-story.is-enhanced{height:280svh}
 .scroll-story.is-enhanced .story-sticky{position:sticky;display:flex;flex-direction:column;justify-content:space-between}
 .scroll-story.is-enhanced .story-stage{flex:1;min-height:0}
 .scroll-story.is-enhanced .story-panel{position:absolute;inset:0}
 .scroll-story.is-enhanced .story-panel:not(:first-child){opacity:0;visibility:hidden}
 .scroll-story.is-enhanced .story-visual{height:min(400px,100%);max-height:100%}
}
@media(max-width:1000px) and (min-height:600px) and (prefers-reduced-motion:no-preference){
 .scroll-story.is-enhanced .story-sticky{top:106px;height:calc(100svh - 184px);padding:12px 0}
 .scroll-story.is-enhanced .story-top{padding-bottom:10px;gap:6px}
 .scroll-story.is-enhanced .story-top .kicker{font-size:6px;max-width:none;letter-spacing:1px}
 .scroll-story.is-enhanced .story-count{font-size:7px}
 .scroll-story.is-enhanced .story-segments button{min-height:38px;padding:8px 10px;font-size:9px}
 .scroll-story.is-enhanced .story-panel{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:12px 0 8px;border:0}
 .scroll-story.is-enhanced .story-copy h2{font-size:clamp(28px,4.1svh,38px);line-height:1.03;letter-spacing:-1.6px;margin:8px 0}
 .scroll-story.is-enhanced .story-eyebrow{font-size:7px}
 .scroll-story.is-enhanced .story-copy>p{font-size:11px;line-height:1.55;max-width:500px}
 .scroll-story.is-enhanced .story-detail{padding:9px 0;margin:8px 0;max-width:none}
 .scroll-story.is-enhanced .story-detail>span{font-size:11px}.scroll-story.is-enhanced .story-detail small{font-size:9px;margin-top:4px}.scroll-story.is-enhanced .story-detail strong{font-size:23px}
 .scroll-story.is-enhanced .story-copy .btn{min-height:40px;padding:10px 15px;font-size:10px}
 .scroll-story.is-enhanced .story-visual{height:100%;width:auto;max-width:270px;max-height:270px;aspect-ratio:1;min-height:0;align-self:center}
 .scroll-story.is-enhanced .story-visual img{padding:9px;border-radius:12px}
 .scroll-story.is-enhanced .story-watermark{font-size:60px}
 .scroll-story.is-enhanced .story-note{font-size:8px;padding:9px 12px;bottom:0}
 .scroll-story.is-enhanced .story-bottom{margin:3px auto 0;padding-top:7px;font-size:6px}.scroll-story.is-enhanced .story-bottom>a{font-size:9px}
}
.scroll-story .story-panel:nth-child(2) .story-visual,.scroll-story .story-panel:nth-child(3) .story-visual{background:none}
@media(max-width:760px){.device-slot{translate:calc(var(--hero-looseness,0)*var(--loose-x,0px)*.65) calc(var(--hero-looseness,0)*50px)}}
@media(max-width:1000px) and (min-height:600px) and (max-height:720px) and (prefers-reduced-motion:no-preference){
 .scroll-story.is-enhanced .story-copy h2{font-size:26px;margin:5px 0}
 .scroll-story.is-enhanced .story-copy>p{font-size:10px;line-height:1.45}
 .scroll-story.is-enhanced .story-detail{padding:6px 0;margin:5px 0}
 .scroll-story.is-enhanced .story-detail small{margin-top:2px;font-size:8px}
 .scroll-story.is-enhanced .story-panel{gap:6px;padding-top:8px}
 .scroll-story.is-enhanced .story-visual{max-height:180px}
 .scroll-story.is-enhanced .story-note{font-size:7px;padding:6px 8px;right:-16px;bottom:-1px;white-space:nowrap}
}
