/* The original illustrated stages remain the foundation of every chapter. */
:root { --doc-ink: #14231d; --doc-gold: #f0c783; }

.flag-stage, .memory-transition-stage { contain: paint; }
.scene-fx { position: absolute; inset: 0; z-index: 4; width: 100%; height: 100%; pointer-events: none; }
.art-scene .art-foreground { z-index: 6; }
.art-scene .art-light { z-index: 7; }

/* The painted mill already contains its workers, animal traction, and gears. */
.act-engenho .art-actor { display: none; }
.act-engenho .art-light { opacity: calc(.32 + var(--mill-light-opacity, 0)); }

/* A small movement in the foreground keeps the fair scene grounded. */
.act-povoado .art-actor { transform: translate3d(var(--vendor-x, -7vw), var(--vendor-bob, 0px), 0); }

/* Existing sign art gains a physical wipe and year markers instead of a crossfade. */
.names-act .name-stack { overflow: hidden; }
.names-act .name-stack > * { clip-path: inset(0 var(--name-board-hide, 0%) 0 0); }
.names-act .name-stack::after { content: ''; position: absolute; inset: 8% 4%; pointer-events: none; opacity: .23; background: repeating-linear-gradient(0deg, transparent 0 5px, #deb47439 6px 7px, transparent 8px 18px); mix-blend-mode: screen; }
.sync-motion .names-act .name-stack { filter: sepia(calc(var(--name-age, 0) * .22)) brightness(calc(1 - var(--name-age, 0) * .08)); }
.names-act .name-date { transform: translateY(var(--name-date-y, 0px)); }

/* 1935 and 1969 are now distinct chapters. The official flag image is never redrawn. */
.civic-act .big-year { transform: scale(var(--civic-year-scale, 1)); transform-origin: left center; opacity: var(--civic-year-opacity, .27); }
.civic-act .flag-panel { display: none; }
.documentary-narrating .act-track, .documentary-narrating .names-track, .documentary-narrating .civic-track { padding-bottom: 10svh; }
.territory-act { position: relative; color: #fff; background: #1a2e26; isolation: isolate; }
.territory-stage { position: sticky; top: 0; height: 100svh; overflow: hidden; background: #234035; }
.territory-stage > img { position: absolute; inset: -3%; width: 106%; height: 106%; max-width: none; object-fit: cover; filter: saturate(.5) brightness(.46); transform: translate3d(var(--art-pan, 0%), var(--art-rise, 0%), 0) scale(var(--art-zoom, 1.06)); }
.territory-stage::before { content: ''; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, #10231ec9, #10231e89 48%, #10231eeb 75%); }
.territory-stage > .chapter-no, .territory-year, .territory-districts, .territory-divider, .territory-separation, .territory-stage > p { position: absolute; z-index: 2; left: max(4vw, calc((100vw - 1400px)/2)); }
.territory-stage > .chapter-no { top: 9%; font-size: .78rem; font-weight: 700; }
.territory-year { top: 27%; font-family: 'Libre Baskerville', Georgia, serif; font-size: clamp(2rem, 4vw, 4.5rem); color: #f2d7a7; }
.territory-districts { top: 43%; display: flex; width: min(49vw, 730px); align-items: center; justify-content: space-around; gap: 1rem; padding: 2rem 1rem; border-top: 1px solid #f5dbab; border-bottom: 1px solid #f5dbab; background: #1d3d32b3; transform: translateY(calc((1 - var(--territory-joined, 0)) * 32px)); opacity: calc(.35 + var(--territory-joined, 0) * .65); }
.territory-districts span { display: block; min-width: 0; font-family: 'Libre Baskerville', Georgia, serif; font-size: clamp(1.1rem, 2vw, 2.1rem); line-height: 1.25; text-align: center; transition: transform .45s ease; }
.territory-districts span:first-child { transform: translateX(calc(var(--territory-separated, 0) * -1.8vw)); }
.territory-districts span:last-child { transform: translateX(calc(var(--territory-separated, 0) * 1.8vw)); }
.territory-divider { top: 43%; height: 12%; left: calc(max(4vw, (100vw - 1400px)/2) + min(24.5vw, 365px)); width: 1px; background: #f5dbab; transform: scaleY(var(--territory-separated, 0)); transform-origin: center top; }
.territory-separation { top: 67%; color: #f4d8a4; font-family: 'Libre Baskerville', Georgia, serif; font-size: clamp(2.5rem, 5vw, 5rem); opacity: var(--territory-separated, 0); }
.territory-stage > p { bottom: 17%; max-width: 40ch; color: #f2e9d6; font-size: .72rem; }
.territory-track { position: relative; z-index: 3; margin: -100svh 5% 0 60%; pointer-events: none; }
.territory-track .story-step { width: 100%; margin: 0; min-height: 100svh; filter: opacity(.3); }
.territory-track .story-step.is-current { filter: opacity(1); }
.territory-track .fact, .territory-track a { pointer-events: auto; }
.documentary-narrating .territory-track { padding-bottom: 10svh; }
.flag-act { position: relative; color: #fff; background: #182b24; isolation: isolate; }
.flag-stage { position: sticky; top: 0; height: 100svh; overflow: hidden; background: #193127; }
.flag-backdrop { position: absolute; inset: -3%; width: 106%; height: 106%; max-width: none; object-fit: cover; filter: saturate(.72) brightness(.56); transform: translate3d(var(--art-pan, 0%), var(--art-rise, 0%), 0) scale(var(--art-zoom, 1.06)); }
.flag-stage::before { content: ''; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, #0a1915c9 0%, #0a191576 51%, #0a1915e8 100%); }
.flag-stage > .chapter-no { position: absolute; z-index: 4; top: 8%; left: max(4vw, calc((100vw - 1400px)/2)); font-size: .78rem; font-weight: 700; }
.flag-year { position: absolute; z-index: 2; left: 5%; top: 9%; font-family: 'Libre Baskerville', Georgia, serif; font-size: clamp(8rem, 22vw, 25rem); color: #f5d49b; opacity: .2; transform: translateY(var(--flag-year-y, 0px)); }
.flag-construction { position: absolute; z-index: 4; left: clamp(3rem, 7vw, 10rem); top: 30%; width: min(42vw, 600px); height: min(46svh, 420px); perspective: 1200px; }
.flag-pole { position: absolute; left: 0; top: -15%; bottom: -32%; width: 12px; border-radius: 5px; background: linear-gradient(90deg, #4d382a, #f6e0aa 48%, #795f43); box-shadow: 7px 5px 12px #09140e99; transform-origin: bottom; transform: scaleY(var(--flag-pole-progress, 0)); }
.flag-finial { position: absolute; left: -5px; top: -17%; width: 22px; height: 22px; border-radius: 50%; background: #e8c986; opacity: var(--flag-pole-progress, 0); }
.flag-cloth { position: absolute; left: 10px; top: 0; width: 100%; aspect-ratio: 3/2; overflow: hidden; clip-path: inset(0 var(--flag-clip, 100%) 0 0); transform: rotateY(var(--flag-wave, 0deg)) skewY(var(--flag-skew, 0deg)); transform-origin: left center; filter: drop-shadow(12px 18px 19px #0b170fc2); }
.flag-cloth img { display: block; width: 100%; height: 100%; object-fit: fill; }
.flag-cloth::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 50% 51%, #f9e1a770, transparent 24%); opacity: var(--flag-symbol-focus, 0); mix-blend-mode: screen; }
.flag-stage-caption { position: absolute; z-index: 4; left: max(4vw, calc((100vw - 1400px)/2)); bottom: 17%; color: #f2dfbf; font-size: .72rem; text-shadow: 0 2px 10px #06120d; }
html:not(.documentary-ready) .flag-pole { transform: scaleY(1); }
html:not(.documentary-ready) .flag-finial { opacity: 1; }
html:not(.documentary-ready) .flag-cloth { clip-path: none; }
html:not(.documentary-ready) .memory-real { opacity: 1; }
.flag-track { position: relative; z-index: 5; margin: -100svh 5% 0 60%; pointer-events: none; }
.flag-track .story-step { width: 100%; margin: 0; min-height: 100svh; filter: opacity(.28); text-shadow: 0 2px 15px #07140e; }
.flag-track .story-step.is-current { filter: opacity(1); }
.flag-track .story-step h3 { font-size: clamp(1.7rem, 2.25vw, 2.7rem); }
.flag-symbols { pointer-events: auto; max-width: 34rem; margin-top: 1.25rem; border-top: 1px solid #f1d19a80; font-size: .86rem; }
.flag-symbols summary { display: inline-flex; padding: .8rem 0; color: #f0cd90; font-weight: 700; cursor: pointer; }
.flag-symbols dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem 1.5rem; margin: .1rem 0 .6rem; }
.flag-symbols dt { color: #f0cd90; font-weight: 700; }
.flag-symbols dd { margin: .15rem 0 0; }
.flag-symbols p { font-size: .7rem; }
.flag-symbols a { text-underline-offset: 3px; }
.furniture-numbers { display: flex; flex-wrap: wrap; gap: 1.3rem 2rem; margin: 1.3rem 0 .4rem; padding: 1rem 0; border-block: 1px solid #f0d4a582; }
.furniture-numbers span { display: grid; gap: .15rem; color: #fff3db; font-size: .8rem; }
.furniture-numbers strong { font-family: 'Libre Baskerville', Georgia, serif; font-size: clamp(1.7rem, 2.7vw, 2.9rem); line-height: 1.1; color: #f4d69e; }
.source-note h3 { margin-top: 2.4rem; font-family: 'Libre Baskerville', Georgia, serif; font-size: 1.25rem; }
.source-note .source-signature { margin: 1.7rem 0 0; padding-left: 1rem; border-left: 2px solid #8a6b42; font-size: .8rem; line-height: 1.6; }
.source-signature strong { font-size: 1.05rem; }
.source-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 2rem; max-width: 1000px; margin: 1rem 0 2rem; padding: 0; list-style: none; }
.source-list li { padding-block: .65rem; border-bottom: 1px solid #61756550; font-size: .78rem; line-height: 1.5; }
.source-list strong { display: block; color: #1e372a; }

/* A photographic threshold precedes the existing full-size album and gallery. */
.memory-transition { position: relative; height: 240svh; background: #111917; }
.memory-transition-stage { position: sticky; top: 0; height: 100svh; overflow: hidden; }
.memory-transition-stage > img { position: absolute; inset: -3%; width: 106%; height: 106%; max-width: none; object-fit: cover; }
.memory-painted { filter: saturate(.8) contrast(1.02); transform: scale(var(--memory-painted-scale, 1.06)); }
.memory-real { opacity: var(--memory-reveal-opacity, 0); filter: sepia(.1) contrast(1.08); transform: scale(var(--memory-real-scale, 1.13)); }
.memory-grain { position: absolute; z-index: 2; inset: 0; pointer-events: none; opacity: var(--memory-grain, 0); background: repeating-linear-gradient(90deg, #fff5 0 1px, transparent 1px 4px), repeating-linear-gradient(0deg, #1115 0 1px, transparent 1px 5px); mix-blend-mode: soft-light; }
.memory-transition-stage::after { content: ''; position: absolute; z-index: 3; inset: 0; background: linear-gradient(0deg, #0b1511d7, transparent 38%, #0b151132); pointer-events: none; }
.memory-transition-copy { position: absolute; z-index: 4; left: max(4vw, calc((100vw - 1400px)/2)); bottom: 12%; max-width: 800px; color: #fff; opacity: var(--memory-copy-opacity, 1); text-shadow: 0 3px 18px #07100b; }
.memory-transition-copy span { display: block; margin-bottom: .6rem; color: #f5d5a3; font-size: .75rem; text-transform: uppercase; font-weight: 700; }
.memory-transition-copy strong { display: block; font-family: 'Libre Baskerville', Georgia, serif; font-size: clamp(2.6rem, 5vw, 6.5rem); line-height: 1.08; }
.memory-transition-copy p { margin-top: 1rem; font-size: .84rem; }

/* Mode choice and player are tools, not part of the archival image. */
.documentary-ready .hero { display: grid; align-items: end; height: auto; min-height: 100svh; }
.documentary-ready .hero-content { position: relative; top: auto; right: auto; bottom: auto; left: auto; justify-self: start; width: min(780px, 92.4vw); max-width: none; margin-left: max(3.8vw, calc((100vw - 1400px)/2)); padding: max(6rem, 10svh) 0 3rem; transform: none; }
.experience-choices { display: none; position: relative; z-index: 12; grid-template-columns: repeat(2, max-content); align-items: center; gap: .55rem .65rem; max-width: 100%; margin-top: 1.7rem; }
.documentary-ready .experience-choices { display: grid; }
.experience-choices > button { min-height: 46px; padding: .8rem 1.15rem; border: 1px solid #f2e2cdaa; border-radius: 3px; background: #132620c9; color: #fff; font-size: .78rem; font-weight: 700; cursor: pointer; backdrop-filter: blur(5px); }
.experience-choices > button[data-mode='listen'] { background: #eacb97; color: #17251e; }
.experience-choices > button[data-mode='explore'] { grid-column: 1 / -1; justify-self: start; min-height: 0; padding: .35rem 0; border: 0; background: none; color: #fff0cf; text-decoration: underline; text-decoration-color: #d8b985; text-underline-offset: .3rem; backdrop-filter: none; }
.experience-choices > button:hover, .experience-choices > button:focus-visible { background: #fff0cc; color: #14231d; outline-offset: 3px; }
.experience-choices > button[data-mode='explore']:hover, .experience-choices > button[data-mode='explore']:focus-visible { background: none; color: #fff; }
.hero-content > .hero-credit { margin-top: 1.1rem; color: #f2d8a9; font-size: .77rem; line-height: 1.55; text-transform: uppercase; }
.hero-credit strong { color: #fff; font-size: .98rem; }
.voice-choice { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: .55rem .8rem; color: #f2dfbd; font-size: .68rem; font-weight: 700; text-transform: uppercase; }
.voice-choice-options { display: inline-flex; padding: 2px; border: 1px solid #f2e2cd80; border-radius: 3px; background: #132620c9; }
.voice-choice-options button { min-height: 32px; padding: .3rem .75rem; border: 0; border-radius: 2px; background: transparent; color: #f4eee3; font: inherit; cursor: pointer; }
.voice-choice-options button[aria-pressed='true'] { background: #eacb97; color: #17251e; }
.voice-choice-options button:hover, .voice-choice-options button:focus-visible { outline: 2px solid #f0c783; outline-offset: -2px; }
.player-voice select { min-height: 38px; padding: .35rem .5rem; border: 1px solid #f2e2cdaa; border-radius: 3px; background: #14261f; color: #fff; font: inherit; cursor: pointer; }
.player-voice select:focus-visible { outline: 2px solid #f0c783; outline-offset: 2px; }
.documentary-ready .hero .scroll-cue { display: none; }
.documentary-player { position: fixed; z-index: 80; right: 1.2rem; bottom: 1.2rem; display: none; align-items: center; gap: .35rem; max-width: calc(100vw - 2.4rem); padding: .55rem; color: #fff; background: #12231de8; border: 1px solid #f0d3a074; border-radius: 5px; box-shadow: 0 14px 38px #08100db8; backdrop-filter: blur(8px); }
.documentary-player.is-open { display: flex; }
.documentary-player .player-chapter { display: grid; gap: .1rem; min-width: 130px; max-width: 230px; margin: 0 .45rem; }
.documentary-player small { font-size: .62rem; color: #e8c68f; text-transform: uppercase; }
.documentary-player strong { font-size: .76rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.documentary-player button { width: 38px; height: 38px; flex: 0 0 38px; padding: 0; border: 0; border-radius: 3px; background: transparent; color: #fff; font-size: 1.05rem; cursor: pointer; }
.documentary-player button:hover, .documentary-player button:focus-visible, .documentary-player button[aria-pressed='true'] { background: #e9c68e; color: #14231d; }
.documentary-player input[type='range'] { width: 65px; accent-color: #eac889; }
.player-voice select { max-width: 92px; min-height: 38px; font-size: .68rem; }
.documentary-player .player-status { position: absolute; right: .7rem; bottom: calc(100% + .4rem); font-size: .68rem; color: #fff; text-shadow: 0 2px 6px #14231d; }
.documentary-player .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.doc-captions { position: fixed; z-index: 79; left: 50%; bottom: 5.4rem; transform: translateX(-50%); display: none; width: min(80vw, 760px); padding: .9rem 1.3rem; border-radius: 4px; background: #0a1a16fa; color: #fff; font-size: 1rem; line-height: 1.45; text-align: center; box-shadow: 0 6px 26px #0a100eaa; }
.doc-captions.is-visible { display: block; }
.chapter-rail { position: fixed; z-index: 26; right: .8rem; top: 50%; transform: translateY(-50%); display: none; flex-direction: column; gap: .45rem; }
.documentary-ready .chapter-rail { display: flex; }
.chapter-rail a { display: flex; align-items: center; justify-content: flex-end; gap: .45rem; min-height: 20px; color: #f6e6c7; text-decoration: none; text-shadow: 0 1px 5px #0d1915; }
.chapter-rail a::after { content: ''; width: 6px; height: 6px; border: 1px solid #f4d5a0; border-radius: 50%; background: #1b2c25c9; }
.chapter-rail a[aria-current='true']::after { width: 10px; height: 10px; background: #f2c477; }
.chapter-rail a span { max-width: 0; opacity: 0; overflow: hidden; white-space: nowrap; font-size: .7rem; transition: max-width .25s, opacity .25s; }
.chapter-rail a:hover span, .chapter-rail a:focus-visible span { max-width: 130px; opacity: 1; }
.transcript-band { padding: 5rem max(1.5rem, calc((100vw - 1400px)/2)); background: #eee8dc; color: #1c2a23; }
.transcript-band h2 { font-family: 'Libre Baskerville', Georgia, serif; font-size: clamp(2rem, 3vw, 3.5rem); margin-bottom: 1.7rem; }
.transcript-band details { border-top: 1px solid #7b735f65; }
.transcript-band details:last-child { border-bottom: 1px solid #7b735f65; }
.transcript-band summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; padding: .9rem .2rem; font-weight: 700; }
.transcript-band summary::after { content: '+'; font-size: 1.3rem; }
.transcript-band details[open] summary::after { content: '−'; }
.transcript-band p { max-width: 78ch; margin: .3rem 0 1rem; line-height: 1.6; }
.end-credits { position: relative; display: grid; place-items: center; min-height: 100svh; padding: 6rem 1.5rem; overflow: hidden; color: #fff; text-align: center; background: #172920 url('./historia-assets/joao-alfredo-hoje.webp') center / cover no-repeat; }
.end-credits::before { content: ''; position: absolute; inset: 0; background: #0a1915cf; }
.end-credits-content { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; max-width: 850px; }
.end-credits .chapter-no { color: #eac78b; }
.end-credits h2 { margin: 1.4rem 0 1rem; font-family: 'Libre Baskerville', Georgia, serif; font-size: clamp(2.6rem, 5vw, 5rem); line-height: 1.12; }
.end-credits p { margin: .5rem 0; }
.end-credits-role { margin-top: 3rem; color: #eac78b; font-size: .72rem; font-weight: 700; text-transform: uppercase; }
.end-credits-name { margin-top: .55rem; font-family: 'Libre Baskerville', Georgia, serif; font-size: clamp(1.6rem, 3vw, 2.7rem); }
.end-credits .end-credits-source { margin-top: 2.4rem; color: #e8e6df; font-size: .8rem; }
.end-credits-year { margin-top: .7rem; color: #eac78b; font-size: .8rem; }
.end-credits a { margin-top: 2.5rem; border-bottom: 1px solid #eac78b; padding-bottom: .3rem; color: #fff; font-size: .82rem; font-weight: 700; text-decoration: none; }
.footer-credit { line-height: 1.55; }

@media (max-width: 900px) {
  .territory-track { margin-left: 52%; margin-right: 3%; }
  .territory-districts { width: 46vw; }
  .flag-track { margin-left: 52%; margin-right: 3%; }
  .flag-construction { left: 2rem; width: 43vw; top: 37%; }
  .documentary-narrating .act-track, .documentary-narrating .names-track, .documentary-narrating .civic-track { padding-bottom: 36svh; }
  .chapter-rail { display: none !important; }
}
@media (max-width: 600px) {
  .source-list { grid-template-columns: 1fr; }
  .territory-stage { height: 54svh; min-height: 370px; z-index: 3; }
  .territory-stage > .chapter-no { top: 9%; left: 1.3rem; }
  .territory-year { top: 19%; left: 1.3rem; font-size: 2.1rem; }
  .territory-districts { top: 38%; left: 1.2rem; width: calc(100% - 2.4rem); gap: .5rem; padding: 1.2rem .5rem; }
  .territory-districts span { font-size: 1.05rem; }
  .territory-divider { top: 39%; left: 50%; height: 13%; }
  .territory-separation { top: 64%; left: 1.3rem; font-size: 2.6rem; }
  .territory-stage > p { left: 1.3rem; right: 1.3rem; bottom: 4%; font-size: .62rem; }
  .territory-stage::before { background: #0a191599; }
  .territory-track { z-index: 2; margin: 0; padding: 0 1.5rem 2.5rem; background: #263e32; pointer-events: auto; }
  .territory-track .story-step { width: 100%; max-width: 650px; min-height: 0; margin: 0 auto; padding: 2rem 0; filter: none; }
  .documentary-narrating .era-indicator { display: none; }
  .documentary-ready .hero { min-height: 92svh; }
  .documentary-ready .hero-content { justify-self: stretch; width: auto; margin: 0 1.5rem; padding: max(6rem, 12svh) 0 6rem; }
  .experience-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(100%, 450px); margin-top: 1.2rem; gap: .4rem; }
  .experience-choices > button { font-size: .69rem; padding: .55rem .45rem; }
  .voice-choice { margin-top: .1rem; }
  .hero-content > .hero-credit { margin-top: .8rem; font-size: .65rem; }
  .hero-credit strong { font-size: .84rem; }
  .flag-stage > .chapter-no { top: 11%; left: 1.5rem; }
  .flag-stage { height: 54svh; min-height: 370px; z-index: 3; }
  .flag-year { top: 15%; left: 0; font-size: 35vw; }
  .flag-construction { left: 1rem; top: 28%; width: 55vw; height: auto; aspect-ratio: 3/2; }
  .flag-track { z-index: 2; margin: 0; padding: 0 1.5rem 2.5rem; background: #263e32; pointer-events: auto; }
  .flag-track .story-step { width: 100%; max-width: 650px; min-height: 0; margin: 0 auto; padding: 2rem 0; filter: none; }
  .flag-track .story-step p { max-width: 35ch; }
  .flag-stage::before { background: linear-gradient(0deg, #0a1915f2, #0a191533 58%, #0a191567); }
  .flag-stage-caption { display: none; }
  .memory-transition-copy { left: 1.4rem; right: 1.4rem; bottom: 15%; }
  .memory-real { object-position: 48% center; }
  .documentary-player { left: .6rem; right: .6rem; bottom: .5rem; max-width: none; display: none; flex-wrap: wrap; gap: .2rem; justify-content: space-between; }
  .documentary-player.is-open { display: flex; }
  .documentary-player .player-chapter { flex: 1 0 100%; max-width: none; margin: 0; padding: .2rem .3rem .35rem; border-bottom: 1px solid #eac88950; }
  .documentary-player .player-chapter { padding-right: 7rem; }
  .player-voice { position: absolute; top: .37rem; right: .55rem; }
  .player-voice select { min-height: 32px; max-width: 98px; }
  .documentary-player strong { font-size: .72rem; }
  .documentary-player button { width: 36px; height: 36px; flex-basis: 36px; }
  .documentary-player input[type='range'] { width: 50px; }
  .doc-captions { width: calc(100vw - 1.2rem); bottom: calc(46svh + .8rem); font-size: .82rem; }
  body[data-chapter='memoria'] .doc-captions, body[data-chapter='presente'] .doc-captions { top: auto; bottom: 7.2rem; }
  .transcript-band { padding: 3.5rem 1.4rem; }
  .end-credits { min-height: 100svh; padding: 4rem 1.3rem; }
  .end-credits-role { margin-top: 2rem; }
  .end-credits .end-credits-source { margin-top: 1.8rem; }
}
@media (max-width: 350px) {
  .hero { height: 94svh; min-height: 0; }
  .hero-content { bottom: 2.15rem; }
  .hero h1 { font-size: 2.12rem; }
  .hero .eyebrow { margin-bottom: .55rem; }
  .hero-content > p:not(.eyebrow) { margin-top: .55rem; }
  .hero-content > .hero-credit { margin-top: .45rem; font-size: .59rem; line-height: 1.35; }
  .hero-credit strong { font-size: .78rem; }
  .experience-choices { margin-top: .75rem; }
  .experience-choices > button { min-height: 40px; }
  .voice-choice { margin-top: 0; }
  .documentary-player button { width: 31px; height: 34px; flex-basis: 31px; }
  .documentary-player input[type='range'] { width: 40px; }
  .doc-captions { bottom: calc(46svh + .8rem); }
}
@media (max-width: 350px) and (max-height: 520px) {
  .hero-content { bottom: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .territory-districts { transform: none; opacity: 1; }
  .territory-separation { opacity: 1; }
  .territory-divider { transform: none; }
  .civic-document { opacity: 1 !important; transform: none !important; }
  .flag-cloth { transform: none !important; }
  .memory-painted, .memory-real { transform: none !important; }
  .memory-transition-copy { opacity: 1 !important; }
  .scene-fx { display: none; }
}
