:root {
  --ink: #f4f2e9; --muted: #bcb1a7; --accent: #e9a48d; --scene-bg: #191614;
  --heading: clamp(36px, 4.2vw, 64px); --body: 16px;
  --material-light: #e5b9a6; --material-mid: #9a6450; --material-shade: #493127;
  --world-x: -100px; --world-y: 0px; --world-rotate: -12deg; --world-scale: 1.05; --world-opacity: .95;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; color: var(--ink); background: var(--scene-bg); font: var(--body)/1.65 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; transition: background 1s; }
h1,h2 { font-size: var(--heading); line-height: 1.06; font-weight: 600; letter-spacing: -.045em; margin: 0 0 30px; }
h3,h4,p,a,button,summary,th,td,figcaption,small { font-size: var(--body); }
p { margin: 0 0 22px; }
a { color: inherit; text-underline-offset: 6px; }
button { font: inherit; color: inherit; cursor: pointer; appearance: none; border-radius: 0; }
button,a,summary { touch-action: manipulation; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline: 2px solid #bd3d24; outline-offset: 7px; }
button:disabled { opacity: .6; cursor: default; }
.skip { position: fixed; top: -100px; left: 20px; z-index: 100; background: #fff; color: #111; padding: 12px; }
.skip:focus { top: 15px; }
.world { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; background: var(--scene-bg); }
.material-scene { position: absolute; inset: -8%; opacity: var(--world-opacity); transform: translate3d(var(--world-x),var(--world-y),0) rotate(var(--world-rotate)) scale(var(--world-scale)); will-change: transform; }
.satin { width: 100%; height: 100%; overflow: visible; }
.material-light { stop-color: var(--material-light); transition: stop-color 1s; }
.material-mid { stop-color: var(--material-mid); transition: stop-color 1s; }
.material-shade { stop-color: var(--material-shade); transition: stop-color 1s; }
.material-vignette { position: absolute; inset: 0; background: linear-gradient(90deg,var(--scene-bg),#191614f2 23%,#19161440 62%,transparent),linear-gradient(0deg,var(--scene-bg),transparent 25%,transparent 90%,#19161488); }
#cursor-light { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 60; }
.topbar { position: fixed; inset: 0 0 auto; z-index: 50; padding: 20px 4.5%; display: flex; align-items: center; justify-content: space-between; gap: 22px; background: linear-gradient(#191614ee, #19161499 75%, transparent); }
.topbar a { text-decoration: none; }
.topbar>a { font-weight: 650; }
.topbar nav { display: flex; align-items: center; gap: 28px; }
#motion-toggle { border: 0; border-bottom: 1px solid #ffffff40; background: none; display: flex; align-items: center; gap: 9px; padding: 7px 0; min-height: 44px; }
.bell { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.hero-track { position: relative; }
.hero-stage { min-height: 100svh; display: flex; flex-direction: column; justify-content: center; padding: 100px 7% 65px; position: relative; }
.eyebrow { font-weight: 500; color: var(--accent); margin-bottom: 26px; }
.reading-note { color: var(--muted); }
.enter { display: inline-flex; align-items: center; gap: 80px; padding: 10px 0; margin-top: 16px; border-bottom: 1px solid #ffffff55; text-decoration: none; min-height: 44px; }
.byline { position: absolute; bottom: 22px; left: 7%; margin: 0; color: var(--muted); }
.story-chapter { position: relative; scroll-margin-top: 0; }
.chapter-stage { position: relative; min-height: 100svh; padding: 100px 4.5% 80px; display: grid; grid-template-columns: minmax(270px,.68fr) minmax(0,1.6fr); gap: 4vw; align-items: center; }
.chapter-copy { position: relative; z-index: 2; max-width: 460px; }
.chapter-copy>p:not(.eyebrow) { max-width: 39ch; color: #d4c9bd; }
.chapter-copy .reading-note { color: #bcb1a7!important; }
.chapter-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; margin-top: 24px; }
.chapter-actions>a,.focus-link { display: inline-flex; align-items: center; min-height: 44px; padding: 5px 0; text-decoration: none; border: 0; border-bottom: 1px solid #ffffff55; background: none; }
.focus-link { position: relative; overflow: hidden; }
.hold-fill { position: absolute; height: 2px; bottom: 0; left: 0; right: 0; background: var(--accent); transform: scaleX(var(--hold,0)); transform-origin: left; }
.chapter-figure { margin: 0; width: 100%; transform-origin: 60% 50%; position: relative; z-index: 1; }
.chapter-figure picture { display: block; }
.chapter-figure img { display: block; width: 100%; height: auto; max-height: 77svh; object-fit: contain; }
.next-chapter { position: absolute; right: 5%; bottom: 24px; display: inline-flex; align-items: center; gap: 35px; padding: 8px 0; text-decoration: none; color: var(--muted); min-height: 44px; }
/* Expansion has a full readable hold; there is no carousel, scroll interception or card mask. */
.motion-ready .hero-track { height: 155svh; }
.motion-ready .hero-stage { position: sticky; top: 0; height: 100svh; }
.motion-ready .story-chapter { height: 165svh; }
.motion-ready .chapter-stage { position: sticky; top: 0; height: 100svh; }
.motion-ready .chapter-figure { will-change: transform; }
.evidence-detail { background: #f4f2e9; color: #25211e; padding: 70px max(7%, calc((100vw - 1240px)/2)); }
.evidence-detail section { padding: 65px 0; border-bottom: 1px solid #d2c8bb; scroll-margin-top: 85px; }
.evidence-detail section:last-child { border-bottom: 0; }
.evidence-detail .eyebrow { color: #a53521; }
.evidence-detail h3 { font-size: var(--body); font-weight: 700; }
.section-heading { display: flex; align-items: baseline; gap: 20px; }
.section-heading .number { display: none; }
.reading,.lead { max-width: 85ch; }
.evidence-detail figure { margin: 32px 0; }
.evidence-detail figure img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
figcaption { color: #685c52; margin-top: 20px; }
.downloads { display: flex; flex-wrap: wrap; gap: 24px; }
.downloads a { display: flex; align-items: center; min-height: 44px; }
.table-scroll { overflow: auto; }
table { border-collapse: collapse; width: 100%; text-align: left; }
th,td { padding: 14px; border-bottom: 1px solid #d2c8bb; }
caption { text-align: left; margin: 18px 0; }
details { margin: 24px 0; border-top: 1px solid #d2c8bb; padding: 15px 0; }
summary { cursor: pointer; min-height: 44px; font-weight: 600; }
.plan { border-left: 2px solid #bd3d24; padding: 4px 0 4px 22px; margin: 30px 0; }
.two-col,.eval-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 38px; }
code { font-size: var(--body); overflow-wrap: anywhere; }
footer { padding: 45px 7%; background: #191614; color: #c4b7aa; }
dialog { width: 100vw; max-width: 100vw; height: 100svh; max-height: 100svh; margin: 0; border: 0; padding: 25px 4%; background: #191614f5; color: var(--ink); }
dialog::backdrop { background: #100e0dee; }
.dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.dialog-head h2 { font-size: var(--body); letter-spacing: 0; margin: 0; }
#close-focus { border: 0; border-bottom: 1px solid #a99a8c; background: none; padding: 8px 0; min-height: 44px; }
#focus-image { display: block; max-width: 100%; max-height: 77svh; width: auto; height: auto; object-fit: contain; margin: 20px auto; }
#focus-note { color: #c4b7aa; margin: 0; }
@media (max-width:700px) {
  #focus-dialog:is([data-figure="03-score-progression"], [data-figure="04-attempt-scores"], [data-figure="11-retry-productivity"], [data-figure="12-deadline-progress"]) { overflow:auto; }
  #focus-dialog:is([data-figure="03-score-progression"], [data-figure="04-attempt-scores"], [data-figure="11-retry-productivity"], [data-figure="12-deadline-progress"]) .dialog-head { position:sticky; top:0; left:0; z-index:2; width:92vw; background:#191614; }
  #focus-dialog:is([data-figure="03-score-progression"], [data-figure="04-attempt-scores"], [data-figure="11-retry-productivity"], [data-figure="12-deadline-progress"]) #focus-image { max-width:none; max-height:none; width:600px; }
  .evidence-detail .score-detail picture { display:block; overflow-x:auto; }
  .evidence-detail .score-detail img { width:700px; max-width:none; }
}
.motion-off *, .motion-off *::before, .motion-off *::after { animation: none!important; transition: none!important; }
.motion-off #cursor-light { display: none; }
.motion-off .material-scene { transform: none!important; opacity: .25!important; }
@media(max-width:1000px) {
  .chapter-stage { grid-template-columns: minmax(230px,.7fr) minmax(0,1.3fr); gap: 20px; }
  .topbar nav { gap: 18px; }
}
@media(max-width:700px) {
  :root { --heading: 36px; }
  .topbar { position: fixed; padding: 16px 6%; flex-wrap: wrap; gap: 8px; }
  .topbar nav { width: 100%; justify-content: space-between; flex-wrap: wrap; gap: 8px 10px; font-size: 12px; }
  .hero-stage { padding: 150px 6% 90px; }
  .byline { left: 6%; right: 6%; bottom: 22px; }
  .chapter-stage { display: flex; flex-direction: column; align-items: stretch; justify-content: center; gap: 22px; padding: 135px 6% 90px; height: auto!important; min-height: 100svh; }
  .chapter-copy { max-width: none; }
  .chapter-copy h2 { margin-bottom: 18px; }
  .chapter-copy .eyebrow { margin-bottom: 15px; }
  .chapter-copy p { margin-bottom: 14px; }
  .chapter-actions { margin-top: 14px; flex-direction: row; flex-wrap: wrap; column-gap: 22px; }
  .chapter-figure { width: 100%; }
  .chapter-figure img { max-height: none; }
  .next-chapter { bottom: 15px; right: 6%; }
  .motion-ready .story-chapter { height: auto; }
  .motion-ready .chapter-stage { position: relative; }
  .motion-ready .chapter-figure { transform: none; opacity: 1; }
  .motion-ready .hero-track { height: 125svh; }
  .motion-ready .hero-stage { height: 100svh!important; }
  .material-scene { inset: -10% -55%; }
  .material-vignette { background: linear-gradient(90deg,#191614eb,#19161480); }
  #cursor-light { display: none; }
  .evidence-detail { padding: 20px 6%; }
  .evidence-detail section { padding: 45px 0; }
  .two-col,.eval-grid { grid-template-columns: 1fr; gap: 12px; }
  .section-heading { display: block; }
  th,td { padding: 12px; min-width: 110px; }
  .dialog-head { gap: 12px; }
}
@media(max-height:720px) and (min-width:701px) {
  .chapter-stage { padding-top: 80px; padding-bottom: 55px; }
  .chapter-copy h2 { margin-bottom: 15px; }
  .chapter-copy p { margin-bottom: 12px; }
  .eyebrow { margin-bottom: 15px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation: none!important; transition: none!important; }
  #cursor-light { display: none; }
  .material-scene { transform: none!important; opacity: .25!important; }
}

/* Selected direction B: kinetic paper opening, continuous dark evidence scenes. */
:root { --paper:#f4f2e9; --vermillion:#bd3d24; }
body { overflow-x:clip; }
.reading-progress { position:fixed; inset:0 auto auto 0; width:100%; height:3px; background:var(--vermillion); transform:scaleX(var(--reading-progress,0)); transform-origin:left; z-index:90; pointer-events:none; }
.topbar { transition:background .4s,color .4s; }
body[data-surface="paper"] .topbar { background:var(--paper); color:#25211e; }
body[data-surface="paper"] #motion-toggle { border-color:#25211e55; }
.topbar a { position:relative; }
.topbar nav a::after { content:''; position:absolute; left:0; bottom:-5px; width:100%; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.topbar nav a:hover::after,.topbar nav a:focus-visible::after { transform:scaleX(1); }
.hero-track { background:var(--paper); color:#25211e; z-index:3; }
.hero-stage { padding:115px 6% 50px; justify-content:space-between; gap:28px; overflow:hidden; }
.hero-heading { display:grid; grid-template-columns:1fr auto; align-items:start; gap:30px; }
.hero-heading h1 { font-size:clamp(48px,6vw,90px); font-weight:550; letter-spacing:-.06em; margin:0; }
.title-line { display:block; color:inherit; }
.title-line:last-child { color:var(--vermillion); }
.hero-heading .eyebrow { color:#685c52; margin-bottom:22px; }
.hero-context { color:#685c52; margin-top:10px; }
.score-composition { display:grid; grid-template-columns:1.18fr .3fr .9fr; align-items:center; gap:2vw; width:100%; }
.score-composition p { display:flex; justify-content:space-between; gap:10px; margin-bottom:20px; color:#685c52; }
.score-composition strong { display:block; font-size:clamp(90px,15.2vw,230px); line-height:.88; font-weight:500; letter-spacing:-.085em; font-variant-numeric:tabular-nums; }
.score-end strong { color:var(--vermillion); }
.score-arrow { width:100%; fill:none; stroke:var(--vermillion); stroke-width:2; overflow:visible; }
.score-arrow path { stroke-dasharray:290; stroke-dashoffset:0; }
.hero-bottom { display:flex; align-items:center; justify-content:space-between; gap:30px; border-top:1px solid #25211e66; padding-top:20px; }
.hero-bottom p { margin:0; }
.hero-bottom p span { color:#685c52; }
.hero-bottom .enter { margin:0; gap:35px; border-color:#25211e66; white-space:nowrap; }
.hero-bottom .enter span { transition:transform .3s; }
.enter:hover span { transform:translateY(7px); }
.byline { position:static; color:#685c52; font-size:13px; }
.hero-rule { position:absolute; left:0; bottom:0; width:100%; height:9px; background:var(--vermillion); transform:scaleX(var(--hero-rule,0)); transform-origin:left; }
.journey-opening { padding:95px 6%; position:relative; overflow:hidden; background:var(--vermillion); color:var(--paper); font-size:clamp(60px,9vw,145px); line-height:.95; letter-spacing:-.06em; font-weight:550; }
.journey-opening span { display:block; }
.journey-opening span:last-child { text-align:right; }
.chapter-copy .eyebrow::before { content:''; display:inline-block; width:28px; height:2px; background:var(--accent); margin-right:12px; vertical-align:middle; }
.chapter-figure { transform-origin:center; }
.motion-ready .hero-track { height:165svh; }
.motion-ready .hero-heading { transform:translate3d(0,calc(var(--hero-progress,0) * -65px),0); opacity:calc(1 - var(--hero-progress,0) * .55); }
.motion-ready .score-start { transform:translate3d(calc(var(--hero-progress,0) * -6vw),0,0); }
.motion-ready .score-end { transform:translate3d(calc(var(--hero-progress,0) * 6vw),0,0); }
.motion-ready .score-composition { transform:scale(calc(1 + var(--hero-progress,0) * .12)); }
.motion-ready .title-line { animation:type-arrive .95s cubic-bezier(.16,1,.3,1) both; }
.motion-ready .title-line:last-child { animation-delay:.12s; }
.motion-ready .score-composition strong { animation:score-arrive 1.2s cubic-bezier(.16,1,.3,1) both; }
.motion-ready .score-end strong { animation-delay:.23s; }
.motion-ready .score-arrow path { animation:arrow-draw 1.4s .4s both; }
.motion-ready .chapter-copy { transform:translate3d(var(--copy-x,0px),var(--copy-y,0px),0); }
.motion-ready .chapter-copy .eyebrow::before { transform:scaleX(var(--chapter-reveal,1)); transform-origin:left; }
.motion-ready .chapter-figure { opacity:1; }
.motion-ready .journey-opening span:first-child { transform:translateX(var(--interlude-x,0px)); }
.motion-ready .journey-opening span:last-child { transform:translateX(calc(var(--interlude-x,0px) * -1)); }
.motion-ready dialog[open] { animation:focus-arrive .4s cubic-bezier(.16,1,.3,1); }
@keyframes type-arrive { from { transform:translateY(65px); clip-path:inset(100% 0 0); } to { transform:translateY(0); clip-path:inset(0); } }
@keyframes score-arrive { from { transform:translateY(80px) rotate(4deg); opacity:0; } to { transform:none; opacity:1; } }
@keyframes arrow-draw { from { stroke-dashoffset:290; } to { stroke-dashoffset:0; } }
@keyframes focus-arrive { from { opacity:0; transform:translateY(35px); } to { opacity:1; transform:none; } }
@media(max-width:700px) {
  .hero-stage { padding:145px 6% 30px; gap:28px; }
  .hero-heading { grid-template-columns:1fr; gap:14px; }
  .hero-heading h1 { font-size:48px; }
  .hero-heading .eyebrow { margin-bottom:18px; }
  .hero-context { display:none; }
  .score-composition { grid-template-columns:1.2fr .85fr; gap:24px; }
  .score-composition strong { font-size:clamp(55px,17vw,116px); }
  .score-composition p { display:block; font-size:14px; margin-bottom:14px; }
  .score-composition p span { display:block; font-size:12px; }
  .score-arrow { grid-column:1/-1; grid-row:2; width:70%; height:32px; justify-self:center; }
  .hero-bottom { display:block; padding-top:16px; }
  .hero-bottom p,.hero-bottom p span { font-size:13px; }
  .hero-bottom .enter { margin-top:16px; }
  .byline { font-size:11px; }
  .motion-ready .hero-track { height:auto; }
  .motion-ready .hero-stage { position:relative; height:auto!important; min-height:100svh; }
  .motion-ready .hero-heading,.motion-ready .score-composition,.motion-ready .score-start,.motion-ready .score-end { transform:none; opacity:1; }
  .journey-opening { padding:60px 6%; font-size:clamp(46px,10vw,70px); }
  .motion-ready .chapter-copy { transform:translateY(var(--copy-y,0px)); }
  .motion-ready .chapter-figure { transform:none; }
}
@media(max-height:780px) and (min-width:701px) {
  .hero-stage { padding-top:95px; gap:16px; }
  .hero-heading h1 { font-size:clamp(46px,5vw,68px); }
  .hero-heading .eyebrow { margin-bottom:10px; }
  .score-composition strong { font-size:clamp(85px,13vw,180px); }
  .score-composition p { margin-bottom:12px; }
  .hero-bottom p,.hero-bottom p span { font-size:14px; }
}
.motion-off .hero-rule { transform:none; }
@media(prefers-reduced-motion:reduce) {
 .hero-rule { transform:none; }
}

/* Chapter art direction: evidence stays intact; layouts and stage transitions vary. */
.story-chapter { --tone:#211a17; --tone-end:#30251d; --scene-accent:#edb18f; --scene-muted:#c8bbb0; }
[data-palette="ocean"] { --tone:#141f2c; --tone-end:#22364a; --scene-accent:#aad2e7; }
[data-palette="olive"] { --tone:#23251b; --tone-end:#34372a; --scene-accent:#d4d6a5; }
[data-palette="ink"] { --tone:#17202d; --tone-end:#29263b; --scene-accent:#bfc7ed; }
[data-palette="plum"] { --tone:#291e2d; --tone-end:#3b283e; --scene-accent:#ddb7d5; }
[data-palette="teal"] { --tone:#132b2d; --tone-end:#213b3b; --scene-accent:#a8d8cf; }
[data-palette="clay"] { --tone:#30211b; --tone-end:#402b24; --scene-accent:#edb391; }
[data-palette="forest"] { --tone:#1b2923; --tone-end:#293b30; --scene-accent:#bdd5b9; }
[data-palette="wine"] { --tone:#2e1d26; --tone-end:#402832; --scene-accent:#edb5c5; }
[data-palette="midnight"] { --tone:#192330; --tone-end:#2d3340; --scene-accent:#b9d4e6; }
.chapter-stage { display:block; isolation:isolate; overflow:clip; background:var(--tone); }
.scene-wash { position:absolute; inset:0; z-index:-1; background:linear-gradient(125deg,var(--tone) 12%,var(--tone-end) 100%); opacity:var(--wash-opacity,.7); pointer-events:none; }
.scene-index { position:absolute; top:95px; right:5%; color:var(--scene-accent); font-size:clamp(50px,7vw,108px); line-height:1; font-weight:300; letter-spacing:-.06em; opacity:.17; pointer-events:none; }
.chapter-layout { min-height:calc(100svh - 180px); display:grid; grid-template-columns:minmax(260px,.78fr) minmax(0,1.6fr); gap:3vw; align-items:center; position:relative; }
.chapter-copy { max-width:480px; }
.chapter-copy .eyebrow { color:var(--scene-accent); }
.chapter-copy .eyebrow::before { background:var(--scene-accent); }
.chapter-copy>p:not(.eyebrow) { color:#e0d8cf; }
.chapter-copy .reading-note { color:#c7bdb4!important; }
.chapter-actions>a,.focus-link { border-color:var(--scene-accent); }
.chapter-figure { overflow:visible; }
.chapter-figure[data-entrance] { overflow:clip; }
.chapter-figure>picture { position:relative; z-index:1; }
.previous-chapter { position:absolute; bottom:24px; left:5%; min-height:44px; padding:8px 0; text-decoration:none; color:var(--scene-muted); }
.next-chapter { color:var(--scene-accent); }
[data-layout="reverse"] .chapter-layout { grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr); gap:5vw; }
[data-layout="reverse"] .chapter-copy { grid-column:2; grid-row:1; }
[data-layout="reverse"] .chapter-figure { grid-column:1; grid-row:1; }
[data-layout="offset"] .chapter-layout { grid-template-columns:minmax(250px,.8fr) minmax(0,1.5fr); align-items:start; }
[data-layout="offset"] .chapter-copy { padding-top:24px; }
[data-layout="offset"] .chapter-figure { align-self:center; padding-top:85px; }
[data-layout="panorama"] .chapter-layout { grid-template-columns:1fr; gap:12px; }
[data-layout="panorama"] .chapter-copy { display:grid; grid-template-columns:1.15fr 1fr; column-gap:5vw; max-width:none; }
[data-layout="panorama"] .chapter-copy .eyebrow { grid-column:1/-1; margin-bottom:12px; }
[data-layout="panorama"] .chapter-copy h2 { grid-column:1; grid-row:2/5; font-size:clamp(32px,3.3vw,50px); margin-bottom:0; }
[data-layout="panorama"] .chapter-copy>p:not(.eyebrow) { grid-column:2; margin-bottom:8px; max-width:60ch; }
[data-layout="panorama"] .chapter-actions { grid-column:2; flex-direction:row; flex-wrap:wrap; margin-top:0; gap:16px; }
[data-layout="panorama"] .chapter-figure { width:100%; }
[data-layout="panorama"] .chapter-figure img { max-height:50svh; }
[data-layout="editorial"] .chapter-layout { grid-template-columns:minmax(0,1.45fr) minmax(260px,.9fr); gap:4vw; }
[data-layout="editorial"] .chapter-copy { grid-column:2; grid-row:1; align-self:end; padding-bottom:30px; }
[data-layout="editorial"] .chapter-figure { grid-column:1; grid-row:1; }
[data-layout="editorial"] .scene-index { left:6%; right:auto; }
/* Slide-like entries are driven by native scroll. Each settles before the reading hold. */
.motion-ready .chapter-layout { transform:translate3d(var(--panel-x,0px),var(--panel-y,0px),0); }
.motion-ready .chapter-copy { transform:translate3d(var(--copy-x,0px),var(--copy-y,0px),0); }
.motion-ready .chapter-figure[data-entrance]::before,
.motion-ready .chapter-figure[data-entrance]::after { display:none; }
.motion-ready [data-entrance="scan"]>picture { clip-path:inset(0 0 calc(var(--entry,0) * 100%) 0); transform:none; }
.motion-ready [data-entrance="push"]>picture { transform:translate3d(var(--figure-x,0px),0,0); }
.motion-ready [data-entrance="diagonal"]>picture {
 clip-path:polygon(0 0,calc((1 - var(--entry,0)) * 200%) 0,0 calc((1 - var(--entry,0)) * 200%));
 transform:translate3d(calc(var(--entry,0) * 50px),calc(var(--entry,0) * 35px),0);
}
.motion-ready [data-entrance="iris"]>picture { clip-path:inset(calc(var(--entry,0) * 48%) 0); transform:scale(calc(1 - var(--entry,0) * .07)); }
.motion-off .chapter-layout,.motion-off .chapter-copy,.motion-off .chapter-figure>picture { transform:none!important; clip-path:none!important; opacity:1!important; }
/* Constrained screens keep all reading content in normal flow. */
@media(max-width:1000px), (max-height:800px) {
 .motion-ready .story-chapter { height:auto; }
 .motion-ready .chapter-stage { position:relative; height:auto; }
 .chapter-layout { min-height:0; }
 .chapter-stage { padding-top:140px; padding-bottom:100px; }
}
@media(max-width:700px) {
 .chapter-stage { padding:145px 6% 95px; }
 .chapter-layout,[data-layout] .chapter-layout { display:flex; flex-direction:column; gap:25px; }
 .chapter-copy,[data-layout] .chapter-copy { display:block; padding:0; max-width:none; }
 .chapter-copy h2,[data-layout] .chapter-copy h2 { font-size:36px; margin-bottom:20px; }
 [data-layout] .chapter-figure { padding-top:0; width:100%; }
 [data-layout] .chapter-figure img { max-height:none; }
 .scene-index { top:125px; right:6%; font-size:68px; opacity:.11; }
 .chapter-actions,[data-layout] .chapter-actions { margin-top:16px; }
 .chapter-actions>a,.focus-link { font-size:14px; }
 .previous-chapter,.next-chapter { font-size:12px; gap:8px; bottom:20px; }
 .previous-chapter { left:6%; }.next-chapter { right:6%; max-width:65%; }
 .topbar nav a,.topbar nav button,.topbar nav span { font-size:12px; }
 .motion-ready .chapter-layout { transform:none; }
 .motion-ready .chapter-copy { transform:translateY(var(--copy-y,0px)); }
 .motion-ready [data-entrance="diagonal"]>picture { transform:none; }
}
@media(prefers-reduced-motion:reduce) {
 .chapter-layout,.chapter-copy,.chapter-figure>picture { transform:none!important; clip-path:none!important; opacity:1!important; }
}

/* Strong chart stops activate only after the opening and interlude. */
html.scene-snapping { scroll-snap-type:y mandatory; scroll-padding-top:0; }
.scene-snapping .story-chapter { scroll-snap-align:start; scroll-snap-stop:always; scroll-margin-top:0; }
.story-ending { min-height:65svh; padding:120px 7% 80px; background:var(--paper); color:#25211e; position:relative; z-index:20; }
.story-ending .eyebrow { color:#a53521; }
.story-ending .enter { border-color:#25211e66; }
.analysis-page { background:var(--paper); color:#25211e; }
.analysis-page .evidence-detail { padding-top:120px; }
.analysis-toc { display:flex; flex-wrap:wrap; gap:12px 26px; }
.analysis-toc a { min-height:44px; display:inline-flex; align-items:center; }
@media(max-width:700px) { .analysis-page .evidence-detail { padding-top:140px; } }

/* Up to three text roles within each scene; display sizes may differ between scenes. */
:root { --type-title:clamp(36px,4vw,60px); --type-body:17px; --type-note:14px; }
body { font-size:var(--type-body); }
.story-chapter { --type-title:clamp(36px,4vw,60px); }
.story-chapter[data-layout="panorama"] { --type-title:clamp(32px,3.3vw,50px); }
.story-chapter[data-layout="editorial"] { --type-title:clamp(36px,3.6vw,54px); }
.chapter-copy h2,[data-layout] .chapter-copy h2 { font-size:var(--type-title); }
h3,h4,p,a,button,summary,th,td,figcaption,small { font-size:var(--type-body); }
.eyebrow,.chapter-copy .eyebrow,.reading-note,.chapter-copy .reading-note,.byline,
.topbar a,.topbar nav a,.topbar nav button,.topbar nav span,.chapter-actions>a,.focus-link,
.previous-chapter,.next-chapter,.hero-context,.hero-bottom p span,.score-composition p span,
#focus-note,.dialog-head h2,figcaption,footer p,footer a { font-size:var(--type-note); }
.journey-opening { display:block; font-size:clamp(60px,9vw,145px); padding:100px 6%; }
.chapter-layout { grid-template-columns:minmax(245px,.65fr) minmax(0,1.85fr); gap:2.5vw; }
[data-layout="reverse"] .chapter-layout,[data-layout="editorial"] .chapter-layout { grid-template-columns:minmax(0,1.85fr) minmax(245px,.65fr); gap:3vw; }
[data-layout="offset"] .chapter-layout { grid-template-columns:minmax(245px,.65fr) minmax(0,1.85fr); }
[data-layout="panorama"] .chapter-layout { grid-template-columns:1fr; }
.chapter-copy>p:not(.eyebrow) { max-width:34ch; }
.chapter-figure img { max-height:82svh; }
[data-layout="offset"] .chapter-figure { padding-top:35px; }
[data-layout="panorama"] .chapter-figure img { max-height:58svh; }
.motion-ready .chapter-figure { transform:scale(var(--figure-expand,1)); transform-origin:center; }
.motion-off .chapter-figure { transform:none!important; }
@media(max-width:1000px), (max-height:800px) {
 .chapter-layout { min-height:0; }
 .chapter-figure img { max-height:none; }
}
@media(max-width:700px) {
 :root { --type-title:36px; --type-body:16px; --type-note:14px; }
 .chapter-layout,[data-layout] .chapter-layout { display:flex; }
 .chapter-copy>p:not(.eyebrow) { max-width:none; }
 .story-chapter[data-layout] { --type-title:36px; }
 .chapter-copy h2,[data-layout] .chapter-copy h2 { font-size:var(--type-title); }
 .hero-bottom p,.score-composition p { font-size:var(--type-body); }
 .byline,.hero-bottom p span,.topbar nav a,.topbar nav button,.topbar nav span { font-size:var(--type-note); }
 .journey-opening { font-size:clamp(46px,10vw,70px); padding:70px 6%; }
 [data-layout] .chapter-figure img { max-height:none; }
 .motion-ready .chapter-figure { transform:scale(calc(.94 + .06 * var(--chapter-reveal,1))); }
}
@media(prefers-reduced-motion:reduce) {
 .chapter-figure { transform:none!important; }
}

/* Soft acceleration, tiny settling rebound, and no perpetual idle animation. */
:root { --ease-silk:cubic-bezier(.22,.61,.36,1); --ease-settle:cubic-bezier(.22,1.08,.36,1); }
.topbar { transition:background .7s var(--ease-silk),color .7s var(--ease-silk); }
.hero-bottom .enter span,.topbar nav a::after { transition:transform .5s var(--ease-settle); }
.motion-ready .title-line { animation-timing-function:var(--ease-settle); animation-duration:1.1s; }
.motion-ready .score-composition strong { animation-timing-function:var(--ease-settle); animation-duration:1.35s; }
.motion-ready dialog[open] { animation:focus-soft-land .65s var(--ease-silk); }
@keyframes focus-soft-land {
  0% { opacity:0; transform:translateY(26px) scale(.97); }
  72% { opacity:1; transform:translateY(-2px) scale(1.003); }
  100% { opacity:1; transform:translateY(0) scale(1); }
}

/* Evidence companion: the way back to each figure's reading view in the data film */
.film-return { display:flex; flex-wrap:wrap; align-items:center; gap:6px 18px; margin:18px 0 6px; padding:12px 16px; border:1px solid rgba(37,33,30,.18); border-radius:12px; }
.film-return .fr-k { flex-basis:100%; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#6d6157; }
.film-return a { min-height:44px; display:inline-flex; align-items:center; }
.film-return a.primary { font-weight:600; text-decoration-thickness:2px; }
.film-return .fr-note { font-size:13px; color:#6d6157; }
