/* All three offers remain readable when JavaScript is unavailable. */
.series-story{--story-top:94px;position:relative;padding-block:70px 35px;background:var(--bg)}
.story-sticky{position:relative;min-width:0}
.story-heading{max-width:660px;margin-bottom:40px;min-width:0}
.story-heading h2{font-size:clamp(50px,5vw,72px)}
.story-heading .lead{margin:24px 0 15px}
.story-intro{font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:0}
.story-controls{display:none;gap:7px;margin-top:26px;flex-wrap:wrap}
.story-controls button{position:relative;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:12px;min-height:46px;padding:10px 13px;white-space:nowrap}
.story-controls button>span:not(.playback-icon){color:var(--accent);margin-right:6px;font-size:10px}
.story-controls button[aria-pressed=true]{color:var(--ink);border-color:var(--accent);background:var(--surface)}
.story-controls .story-playback{width:46px;display:grid;place-items:center;padding:10px}
.playback-icon{display:block;width:12px;height:15px;border-inline:4px solid currentColor}
.story-playback[data-mode=play] .playback-icon{width:0;height:0;border:0;border-left:12px solid currentColor;border-block:8px solid transparent;margin-left:3px}
.story-playback:disabled{opacity:.4;cursor:default}
.story-next{margin-top:24px;font-size:14px;max-width:100%;gap:18px;line-height:1.6}
.story-next .story-next-label{font:inherit;line-height:inherit}
.story-scenes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;position:relative;min-width:0;overflow:clip}
.story-scene{min-width:0;position:relative;isolation:isolate}
.scene-visual{position:relative;height:320px;display:flex;align-items:center;justify-content:center;isolation:isolate}
.scene-visual:before{content:'';position:absolute;inset:17% 8%;z-index:-1;background:radial-gradient(ellipse,rgba(160,61,76,.12),transparent 68%)}
.scene-visual img{width:100%;height:100%;object-fit:contain}
.scene-caption{display:grid;grid-template-columns:48px 1fr;gap:15px;border-top:1px solid var(--line);padding-top:21px}
.scene-number{font-size:10px;color:var(--accent);letter-spacing:.5px;padding-top:5px;white-space:nowrap}
.scene-caption h3{font-size:clamp(27px,2.6vw,38px);line-height:1.03;margin-bottom:11px}
.scene-caption p{font-size:14px;line-height:1.8;color:var(--muted);max-width:420px;margin-bottom:0}
.story-orbit{display:none}
.story-editorial{display:grid;grid-template-columns:1fr 1fr;gap:85px;padding-block:35px 70px;border-top:1px solid var(--line);font-size:14px;color:var(--muted);line-height:1.9}
.story-editorial .text-link{color:var(--ink);font-size:13px}

/* A finite-height carousel replaces the old 280vh scroll track. */
.series-story.is-carousel{padding:0}
.is-carousel .story-sticky{display:grid;grid-template-columns:.9fr 1.1fr;grid-template-rows:1fr auto;gap:22px 45px;align-items:center;min-height:calc(100svh - var(--story-top));padding-block:48px 20px}
.is-carousel .story-heading{margin:0;max-width:465px}
.is-carousel .story-controls{display:flex}
.is-carousel .story-scenes{display:grid;grid-template-columns:minmax(0,1fr);gap:0;perspective:1100px;align-self:center}
.is-carousel .story-scene{grid-area:1/1;opacity:0;visibility:hidden;pointer-events:none;transform:translate3d(24px,10px,0) scale(.97);transition:opacity .65s,transform .85s cubic-bezier(.2,.7,.2,1),visibility .65s}
.is-carousel .story-scene.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:none;z-index:1}
.is-carousel .scene-visual{height:clamp(260px,43svh,610px)}
.is-carousel .scene-caption{min-height:125px;max-width:575px;margin-inline:auto;padding-bottom:7px}
.is-carousel .story-flow{grid-column:1/-1}
@media(min-width:1001px) and (max-height:800px){
 .is-carousel .story-sticky{padding-top:30px;gap:18px 40px}
 .is-carousel .story-heading h2{font-size:clamp(47px,7.6svh,60px)}
 .is-carousel .story-heading .lead{font-size:18px!important;margin:19px 0 10px}
 .is-carousel .story-intro{display:none}
 .is-carousel .scene-visual{height:clamp(240px,38svh,325px)}
 .is-carousel .story-controls{margin-top:21px}
}
@media(max-width:1000px){
 .is-carousel .story-sticky{gap:22px 28px;padding-block:40px 15px}
 .story-heading h2{font-size:49px}.story-heading .lead{font-size:19px!important}.story-intro{font-size:13px}
 .story-controls button{padding-inline:10px}.story-controls{gap:5px}
 .scene-caption{grid-template-columns:1fr;gap:9px}.scene-caption h3{font-size:30px}
 .story-editorial{gap:40px;padding-bottom:65px}
}
@media(max-width:700px){
 .series-story{padding-block:55px 20px}.story-scenes{grid-template-columns:1fr}
 .is-carousel .story-sticky{grid-template-columns:1fr;gap:26px;min-height:0;padding-block:48px 15px}
 .story-heading h2{font-size:clamp(43px,9.8vw,63px)}.story-heading h2 br:last-child{display:none}
 .story-intro{display:none}.story-heading .lead{margin-block:20px 0}.story-next{margin-top:19px;font-size:13px}
 .is-carousel .scene-visual{height:clamp(260px,80vw,400px)}
 .is-carousel .scene-caption{grid-template-columns:45px 1fr;gap:14px;min-height:126px}
 .scene-caption h3{font-size:31px}.scene-caption p{font-size:14px}
 .story-editorial{grid-template-columns:1fr;gap:5px;padding-block:28px 55px}
}
@media(prefers-reduced-motion:no-preference){
 .is-arriving .story-scene.is-active .scene-visual img{animation:product-arrival .85s cubic-bezier(.2,.7,.25,1) both}
 @keyframes product-arrival{from{opacity:.3;transform:translateY(28px) rotate(-3deg) scale(.96)}to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){.is-carousel .story-scene{transition:none}}
@media print{.is-carousel .story-sticky{display:block;min-height:0}.story-controls,.story-flow{display:none!important}.is-carousel .story-scenes{display:grid;grid-template-columns:repeat(3,1fr)}.is-carousel .story-scene{grid-area:auto;opacity:1;visibility:visible;transform:none}.is-carousel .scene-visual{height:200px}.scene-caption{display:block}.series-story{padding-block:25px}}
