/* Scene movement carries the chronology; reading copy stays still. */
.story-opening { grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); align-items:start; gap:clamp(30px,4vw,80px); }
.story-opening .home-intro { padding-top:0; grid-column:1; grid-row:1; }
.story-player { display:none; min-width:0; width:100%; }
.story-ready .story-player { display:contents; }
.story-visual { grid-column:2; grid-row:1 / span 2; min-width:0; }
.story-opening { row-gap:22px; }
.story-heading { font-size:var(--small-size); font-weight:500; line-height:1.8; margin-bottom:14px; color:var(--muted); }
.story-viewport { width:100%; aspect-ratio:4 / 3; overflow:hidden; background:var(--paper); scroll-margin-top:24px; }
.story-track { display:flex; width:100%; transform:translateX(0); transition-property:transform; transition-timing-function:cubic-bezier(.4,0,.2,1); }
.story-frame { flex:0 0 100%; width:100%; min-width:0; aspect-ratio:4 / 3; margin:0; display:grid; place-items:center; }
.story-frame img { width:100%; height:100%; object-fit:contain; }
.story-frame svg { width:100%; height:100%; max-width:100%; }
.story-caption { min-height:240px; display:flex; flex-direction:column; padding-top:4px; grid-column:1; grid-row:2; }
.story-caption h3 { font-size:clamp(22px,calc(17px + .5vw),30px); font-weight:400; line-height:1.6; margin-bottom:14px; }
.story-current-copy { font-size:var(--body-size); line-height:1.9; margin-bottom:12px; }
.story-read-link { font-size:var(--small-size); margin-top:auto; }
.story-read-link[hidden] { display:none; }
.story-counter { margin:0 0 8px; font:13px/1.6 Arial,sans-serif; color:var(--blue); font-variant-numeric:tabular-nums; }
.story-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; justify-content:center; margin-top:10px; grid-column:1 / -1; grid-row:3; }
.story-actions button { min-height:44px; padding:8px 10px; border:1px solid var(--line); color:var(--muted); background:var(--paper); font-size:13px; line-height:1.6; border-radius:2px; }
.story-actions button:hover:not(:disabled) { color:var(--blue); border-color:var(--blue); }
.story-actions button:disabled { opacity:.45; cursor:default; }
.story-actions .motion-toggle { margin-left:12px; }
.story-steps { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; margin-top:0; grid-column:1 / -1; grid-row:4; }
.story-step { min-width:0; min-height:48px; border:0; border-bottom:2px solid var(--line); background:transparent; padding:6px 2px; font-size:13px; line-height:1.6; color:var(--muted); overflow-wrap:anywhere; }
.story-step[aria-pressed=true] { border-color:var(--blue); color:var(--blue); font-weight:600; }
.story-notice { font-size:var(--small-size); line-height:1.9; color:var(--muted); margin:0; grid-column:1 / -1; grid-row:5; }
.story-linear { min-width:0; }
.story-linear section { margin:0 0 36px; }
.story-linear img,.story-linear svg { width:100%; height:auto; max-width:600px; margin:0 auto 20px; }
.story-linear h3 { font-size:24px; margin-bottom:14px; }
.story-linear p { font-size:var(--body-size); }
html[data-motion=off] .story-track { transition:none!important; }
@media(max-width:1050px) {
 .story-opening { gap:28px; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
 .story-caption { min-height:270px; }
 .story-opening .home-intro { padding-top:0; }
}
@media(max-width:900px) {
 .story-opening { grid-template-columns:minmax(0,1fr); gap:24px; }
 .story-opening .home-intro { padding-top:0; grid-column:auto; grid-row:auto; }
 .story-ready .story-player { display:block; }
 .story-player,.story-linear { max-width:680px; justify-self:center; }
 .story-steps { grid-template-columns:repeat(6,minmax(0,1fr)); margin-top:18px; }
 .story-caption { padding-top:18px; }
 .story-notice { margin-top:16px; }
 .story-caption { min-height:230px; }
}
@media(max-width:600px) {
 .story-opening .home-intro { display:contents; }
 .story-opening .home-intro>.eyebrow { order:0; margin-bottom:-8px; }
 .story-opening .home-intro>h1 { order:1; margin-bottom:0; }
 .story-player,.story-linear { order:2; }
 .story-opening .home-intro>.home-lead { order:3; margin-top:8px; margin-bottom:0; }
 .story-opening .home-intro>.actions { order:4; }
 .story-caption { min-height:300px; padding-top:16px; }
 .story-caption h3 { font-size:23px; }
 .story-actions { gap:6px; }
 .story-actions button { padding-inline:8px; }
 .story-actions .motion-toggle { margin-left:0; }
 .story-steps { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(prefers-reduced-motion:reduce) { .story-track { transition:none!important; } }

.fiction-notice {color:var(--muted);font-size:var(--small-size);line-height:1.8;margin-bottom:20px;}
@media(max-width:600px){.story-opening .home-intro>.fiction-notice{order:-1;margin-bottom:0;}}
