:root{color-scheme:dark;--ink:#0c1920;--paper:#f7f5ef;--muted:#b9c6c9;--gold:#f1c788;--mint:#9ae0ce;--line:rgba(255,255,255,.2);--rail-width:178px;font-family:Arial,Helvetica,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:0}body{margin:0;background:var(--ink);color:var(--paper)}button,a,input,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button:hover,a:hover{color:var(--gold)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--paper);color:var(--ink);padding:16px}.skip-link:focus{top:20px}.reading-progress{position:fixed;z-index:50;top:0;left:0;width:100%;height:3px;background:rgba(255,255,255,.12)}.reading-progress span{display:block;width:100%;height:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}
.masthead{position:fixed;z-index:30;left:0;right:0;top:3px;height:90px;padding:0 42px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#0c1920b8,transparent);pointer-events:none}.masthead a,.masthead button{pointer-events:auto}.brand{font-size:13px;letter-spacing:.15em;display:flex;align-items:center;gap:14px;font-weight:700}.brand-mark{font-family:Georgia,serif;border-block:1px solid var(--gold);font-size:24px;letter-spacing:4px;color:var(--gold);padding:3px 2px 3px 6px}.masthead-actions{display:flex;gap:24px;align-items:center;font-size:14px}.edition{font-family:Georgia,serif;font-style:italic;color:#e4e8e7}.masthead button{border-bottom:1px solid #ffffff60;padding:7px 0}
.stage{position:fixed;inset:0;z-index:-1;background:#13272d}.stage-image{position:absolute;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s ease;filter:saturate(.76)}.stage-image.is-visible{opacity:1}.stage-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,17,24,.85) 0%,rgba(4,17,24,.64) 29%,rgba(4,17,24,.2) 65%,rgba(4,17,24,.4) 100%),linear-gradient(0deg,rgba(4,17,24,.95),rgba(4,17,24,.55) 40%,transparent 78%)}.stage-grain{position:absolute;inset:0;opacity:.11;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.3' filter='url(%23n)'/%3E%3C/svg%3E")}
.timeline{position:fixed;z-index:20;top:125px;left:42px;width:var(--rail-width);bottom:45px;display:flex;flex-direction:column}.timeline-heading{font-size:11px;letter-spacing:.18em;color:#d0d9d9;margin:0 0 24px}.timeline nav{position:relative;display:flex;flex-direction:column;gap:5px}.timeline nav:before{content:'';position:absolute;top:10px;bottom:10px;left:4px;width:1px;background:#ffffff38}.timeline nav a{position:relative;display:flex;gap:17px;align-items:center;min-height:42px;color:#a9b7bb;transition:color .3s}.nav-dot{flex:0 0 9px;height:9px;border:1px solid #a9b7bb;border-radius:50%;background:#162b30;transition:background .3s,box-shadow .3s}.nav-copy{display:flex;flex-direction:column;gap:4px}.nav-year{font-variant-numeric:tabular-nums;font-size:13px}.nav-label{font-size:12px;line-height:1.3;max-width:140px}.timeline a[aria-current]{color:white}.timeline a[aria-current] .nav-dot{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 4px #f1c78825}.timeline a[aria-current] .nav-year{color:var(--gold)}.timeline-folio{margin-top:auto;padding-top:20px;font-size:10px;line-height:1.7;letter-spacing:.16em;color:#aabbbd}
.scene{min-height:122svh;position:relative;display:flex;align-items:center;padding:16vh 390px 18vh calc(var(--rail-width) + 96px);scroll-margin-top:0}.scene.hero{min-height:112svh;padding-top:130px;padding-bottom:15vh}.scene-copy{max-width:650px;width:100%;position:relative;z-index:2}.eyebrow{font-size:12px;letter-spacing:.19em;line-height:1.7;font-weight:600;color:var(--gold);margin:0 0 22px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.04;text-wrap:balance}h1{font-size:clamp(58px,5.7vw,96px);margin-bottom:30px}h2{font-size:clamp(48px,4.6vw,78px);margin-bottom:28px}h1 em,h2 em{font-weight:400;color:var(--gold)}.scene-body{font-family:Georgia,'Times New Roman',serif;font-size:clamp(18px,1.4vw,22px);line-height:1.6;max-width:500px;color:#e9edeb;text-shadow:0 1px 10px #051018;margin-bottom:24px}.evidence-link{padding:8px 0;border-bottom:1px solid #ffffff60;font-size:14px;display:inline-flex;align-items:center;gap:26px}.evidence-link span{font-size:20px;color:var(--gold)}.begin-link{display:flex;gap:14px;align-items:center;font-size:13px;letter-spacing:.07em;margin-top:45px;width:max-content}.scroll-stroke{height:36px;width:1px;background:linear-gradient(var(--gold),#f1c78810)}
.scene-metrics{display:none}.numbers{position:fixed;z-index:15;right:42px;bottom:100px;width:280px;padding:24px 0 0;border-top:1px solid #ffffff65;transition:opacity .3s,transform .3s}.numbers-heading{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.14em;color:#c6d2d4;gap:14px;margin-bottom:20px}.numbers-heading #numbers-year{color:var(--gold);letter-spacing:.05em}.metric{padding:0 0 18px;margin-bottom:18px;border-bottom:1px solid var(--line)}.metric:last-child{margin-bottom:0}.metric-value{font-family:Georgia,serif;font-size:clamp(50px,5vw,74px);letter-spacing:-.045em;line-height:1.05;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}.metric-value .metric-unit{font-size:.47em;padding-left:6px;letter-spacing:-.02em}.metric[data-tone=rail] .metric-value{color:var(--gold)}.metric[data-tone=trail] .metric-value{color:var(--mint)}.metric-label{font-size:15px;line-height:1.35;margin-top:9px;display:block}.metric-scope{color:#c0cccf;font-size:12px;line-height:1.5;margin:6px 0 0;display:block}.number-notes{display:flex;gap:24px;align-items:center;padding:14px 0 0;font-size:12px;color:#d1dada}.number-notes span{color:var(--gold);font-size:18px}.mobile-navigation{display:none}
.record{position:relative;z-index:21;background:#0c1920;padding:100px 50px 40px calc(var(--rail-width) + 96px);border-top:1px solid #b8cac940}.record-intro{max-width:660px;margin-bottom:60px}.record-intro h2{font-size:clamp(46px,5vw,78px)}.record-intro>p:not(.eyebrow){font-size:18px;line-height:1.65;color:#cbd5d6;max-width:580px}.record-intro .scope-note{font-size:14px!important;border-left:2px solid var(--gold);padding-left:18px}.study-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}.study-card{border-top:1px solid #ffffff3a;padding:26px 0;display:block;transition:color .2s}.study-year{color:var(--gold);font-size:12px;letter-spacing:.08em}.study-card h3{font-family:Georgia,serif;font-size:25px;font-weight:400;line-height:1.25;margin:12px 0}.study-card p{font-size:14px;line-height:1.65;color:#b8c7ca;margin-bottom:16px}.study-open{font-size:12px;border-bottom:1px solid #ffffff50;padding-bottom:3px}.record-footer{border-top:1px solid var(--line);margin-top:55px;padding-top:25px;display:flex;justify-content:space-between;gap:25px;font-size:12px;color:#c0cbce}.record-footer button{padding:0}.in-record .numbers{opacity:0;pointer-events:none;transform:translateY(10px)}
dialog{color-scheme:light;color:#172b32;background:var(--paper);padding:0;width:min(800px,calc(100vw - 36px));max-height:85svh;border:0;box-shadow:0 30px 140px #000a;overscroll-behavior:contain}dialog::backdrop{background:#021018b3;backdrop-filter:blur(8px)}.dialog-toolbar{position:sticky;top:0;background:var(--paper);display:flex;justify-content:space-between;align-items:center;padding:23px 35px;border-bottom:1px solid #172b3225;z-index:2;gap:15px}.dialog-kicker{font-size:11px;letter-spacing:.13em}.close-dialog{display:flex;gap:18px;align-items:center;font-size:14px}.close-dialog span{font-size:25px}.dialog-body{padding:36px}.dialog-body h2{font-size:43px;margin-bottom:24px;letter-spacing:-.035em}.dialog-body p{font-size:16px;line-height:1.65}.source-item{border-top:1px solid #172b322e;padding-top:22px;margin-top:26px}.source-item h3{font-family:Georgia,serif;font-size:24px;line-height:1.25;font-weight:400;margin-bottom:12px}.source-item a{font-size:14px;border-bottom:1px solid #172b3260}.dialog-body a:hover,dialog button:hover{color:#875d23}.dialog-note{border-left:2px solid #a17b41;padding:5px 0 5px 18px;font-size:14px!important}.image-record{margin:30px 0}.image-record img{width:100%;height:240px;object-fit:cover}.image-record figcaption{font-size:14px;line-height:1.7;padding-top:13px}.image-record p{font-size:14px;margin:8px 0}.noscript-note{position:relative;z-index:30;padding:20px;background:#13272d}
@media(min-width:1700px){.scene{padding-left:calc(var(--rail-width) + 160px);padding-right:450px}.scene-copy{max-width:720px}.numbers{right:70px;width:310px}}
@media(max-height:780px) and (min-width:901px){.timeline{top:110px;bottom:20px}.timeline-heading{margin-bottom:12px}.timeline nav a{min-height:35px}.timeline nav{gap:2px}.nav-label{font-size:11px}.timeline-folio{display:none}.numbers{bottom:80px}.metric-value{font-size:57px}.metric{padding-bottom:12px;margin-bottom:12px}.scene{padding-block:140px}.scene.hero{padding-top:130px}}
@media(max-width:1150px) and (min-width:901px){:root{--rail-width:150px}.masthead{padding-inline:28px}.timeline{left:28px}.scene{padding-left:210px;padding-right:310px}.numbers{right:28px;width:245px}.record{padding-left:210px;padding-right:35px}h1{font-size:64px}h2{font-size:53px}.scene-body{font-size:18px}}
@media(max-width:900px){html{scroll-padding-top:0}.masthead{height:68px;padding:0 23px;background:linear-gradient(#071a22e6,#071a2260,transparent)}.brand{font-size:10px;letter-spacing:.1em;gap:10px}.brand-mark{font-size:19px}.edition{display:none}.masthead-actions{font-size:12px}.masthead button{font-size:12px}.timeline{display:none}.mobile-navigation{display:flex;position:fixed;z-index:25;top:70px;left:23px;right:23px;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #ffffff40;padding-top:12px}.mobile-navigation select{background:#0c1920c9;border:0;color:#e9ece9;border-radius:0;max-width:85%;font-size:12px;padding:6px 0}.mobile-navigation>span{font-size:11px;color:var(--gold);white-space:nowrap}.stage-shade{background:linear-gradient(90deg,#061820ad,#06182010),linear-gradient(0deg,#061820fa 0%,#061820a8 35%,#06182018 76%,#06182088)}.scene,.scene.hero{min-height:125svh;align-items:flex-start;padding:24svh 26px 47svh}.scene.hero{min-height:120svh;padding-top:23svh}.scene-copy{max-width:550px}.eyebrow{font-size:10px;letter-spacing:.16em;margin-bottom:17px}h1{font-size:clamp(49px,10vw,78px);margin-bottom:22px}h2{font-size:clamp(43px,8.8vw,66px);margin-bottom:20px}.scene-body{font-size:18px;line-height:1.55;max-width:500px}.evidence-link{font-size:13px}.begin-link{margin-top:28px;font-size:12px}.numbers{right:26px;left:26px;bottom:61px;width:auto;padding-top:13px;background:linear-gradient(transparent,#07182045)}.numbers-heading{margin-bottom:10px;font-size:10px}.metric{padding-bottom:9px;margin-bottom:0;border-bottom:0;min-width:0}.metric-value{font-size:49px}.metric-label{font-size:13px;margin-top:5px}.metric-scope{font-size:11px;line-height:1.4;max-width:290px}.numbers #metric-list:has(.metric:nth-child(2)){display:grid;grid-template-columns:1fr 1fr;gap:24px}.numbers #metric-list:has(.metric:nth-child(2)) .metric-value{font-size:43px}.number-notes{padding-top:10px;font-size:11px}.record{padding:75px 26px 30px}.record-intro{margin-bottom:35px}.record-intro h2{font-size:48px}.record-intro>p:not(.eyebrow){font-size:17px}.study-grid{grid-template-columns:1fr}.record-footer{flex-direction:column;font-size:12px;gap:20px}.record-footer>*{width:max-content;max-width:100%}.dialog-toolbar{padding:18px 22px}.dialog-body{padding:25px}.dialog-body h2{font-size:33px}.dialog-kicker{font-size:9px}.image-record{margin-inline:0}.image-record img{height:190px}.in-record .mobile-navigation{background:#0c1920}}
@media(max-width:380px){.masthead{padding-inline:18px}.brand{font-size:9px}.masthead button{font-size:11px}.scene,.scene.hero{padding-inline:22px}.scene-body{font-size:17px}h1{font-size:47px}h2{font-size:41px}.numbers{left:22px;right:22px}.metric-value{font-size:43px}.metric-label{font-size:12px}.metric-scope{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.stage-image,.timeline a,.nav-dot,.numbers{transition:none}}
@media print{body{color:#152a31;background:white}.stage,.timeline,.masthead,.numbers,.image-caption,.mobile-navigation,.reading-progress,.evidence-link,.begin-link,dialog{display:none!important}.scene,.scene.hero{min-height:0;display:block;padding:20px 0;break-inside:avoid}.scene-copy{max-width:none}.scene h1,.scene h2{font-size:32px;color:#152a31}.scene-body{color:#152a31;text-shadow:none;font-size:16px}.eyebrow{color:#66502b}.record{background:white;color:#152a31;padding:30px 0}.record p,.study-card p{color:#152a31}.study-grid{display:block}.study-card{break-inside:avoid}.study-year{color:#66502b}}

/* A fixed counter works beside wide-screen copy. On narrow screens each chapter
   owns its figure panel, preserving reading order and room for enlarged text. */
@media(max-width:900px){
  .numbers{display:none}
  .scene,.scene.hero{padding-bottom:28svh;min-height:125svh}
  .scene-metrics{display:block;border-top:1px solid #ffffff60;margin:30px 0 26px;padding-top:16px;max-width:500px}
  .scene-metrics .numbers-heading{margin-bottom:15px}
  .scene-metrics-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:22px}
  .scene-metrics .metric-value{font-size:55px}
  .scene-metrics .metric-scope{max-width:350px}
  .scene-metrics .number-notes{padding-top:12px}
}
@media print{.scene-metrics{display:block;color:#152a31;margin:16px 0}.scene-metrics .metric-value{font-size:24px;color:#152a31!important}.scene-metrics .metric-scope,.scene-metrics .numbers-heading{color:#152a31}.number-notes{display:none}}

/* Static HTML keeps every published figure readable if enhancements are off. */
body:not(.enhanced) .scene-metrics{display:block;margin:25px 0}
body:not(.enhanced) .numbers{display:none}




/* Opaque enough to mask passing article text while retaining the photograph. */
.masthead{background:#0c1920ed;backdrop-filter:blur(8px)}
@media(max-width:900px){.mobile-navigation{background:#0c1920ed;padding-bottom:12px}}

/* Keep the real document as the scroll track. Only the active chapter is
   visible during a hold, so the next paragraph cannot drift in before the snap.
   Fixed positioning prevents compositor scroll from shaking a held paragraph;
   the engine preserves its section height so anchors retain their geometry. */
.snap-story .scene-copy{visibility:hidden}
.snap-story .scene-copy.is-held{position:fixed;top:var(--hold-top);left:var(--hold-left);width:var(--hold-width)}
.snap-story .scene.is-current .scene-copy{visibility:visible}
.snap-story .stage{overflow:hidden}
.snap-story .stage-image{transition:none;will-change:transform}
.snap-story .stage-image.is-preview{opacity:1}
@media print{.snap-story .scene-copy{visibility:visible;position:relative!important;top:auto;left:auto;width:auto}}

/* A single protected credit line stays above story text on every screen.
   Keep the attribution visible; a long description truncates with full text
   available through the button's accessible name, title and photograph dialog. */
.image-caption{position:fixed;z-index:60;inset:auto 0 0;height:32px;width:100%;display:flex;align-items:center;gap:10px;padding:0 20px;text-align:left;background:#0c1920;border-top:1px solid #ffffff25;font-size:11px;white-space:nowrap;overflow:hidden}
.caption-place{min-width:0;overflow:hidden;text-overflow:ellipsis}
.caption-credit{flex-shrink:0;color:#c7d1d3}
.caption-credit:before{content:'·';padding-right:10px}
.record{padding-bottom:72px}
/* Hover panels sit above the article but leave both navigation and the credit
   strip clear. Unlike the full source dialog they never lock the scroll track. */
.hover-details{position:fixed;z-index:40;overflow:auto;overscroll-behavior:contain;background:var(--paper);color:#172b32;box-shadow:0 15px 70px #0009;border:1px solid #ffffff70;border-radius:3px;padding:24px;color-scheme:light}
.hover-details[hidden]{display:none}
.hover-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;font-size:10px;letter-spacing:.12em}
.close-hover{color:#172b32;font-size:22px;line-height:1;padding:4px;letter-spacing:0}
.hover-details h2{font-size:30px;line-height:1.15;letter-spacing:-.025em;margin-bottom:20px}
.hover-details h3{font-family:Georgia,serif;font-size:20px;font-weight:400;line-height:1.3;margin-bottom:10px}
.hover-details p{font-size:14px;line-height:1.6;margin-bottom:16px}
.hover-details .source-item{margin-top:20px;padding-top:18px}
.hover-details a{font-size:13px;border-bottom:1px solid #172b3260}
.hover-details a:hover,.close-hover:hover{color:#875d23}
.hover-details :focus-visible{outline-color:#875d23}
@media(max-width:900px){.image-caption{padding-inline:10px;gap:6px;font-size:9px}.caption-credit:before{padding-right:6px}}
@media print{.hover-details{display:none!important}.record{padding-bottom:30px}}

/* Both pages share their reading geometry and controls. A compact page switch
   replaces the edition label; the short brand leaves room on narrow phones. */
.brand-short{display:none}
.page-switch{display:flex;align-items:center;gap:6px;font-size:12px}
.page-switch a{padding:8px 12px;border:1px solid transparent;border-radius:3px;color:#b9c6c9}
.page-switch a[aria-current]{border-color:#f1c78870;color:var(--gold);background:#f1c7880d}
.page-switch a:hover{color:var(--gold)}
/* Do not compress 20 geographic stops to fit a short screen. The engine keeps
   the active mile marker visible without moving the main scroll position. */
.timeline nav{min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#64777c transparent;padding:4px 6px 4px 5px;margin-left:-5px}
.timeline nav a{flex-shrink:0}
.timeline nav:before{left:9px}
/* The last marker must clear the protected photo line on short desktops too. */
@media(max-height:780px) and (min-width:901px){.timeline{bottom:48px}}
.location-features{display:flex;flex-wrap:wrap;gap:8px 15px;list-style:none;margin:0 0 20px;padding:0;font-size:10px;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;color:var(--mint)}
.location-features li:before{content:'◆';font-size:7px;margin-right:7px;vertical-align:1px}
@media(max-width:900px){
  .brand-full,.sources-extra{display:none}
  .brand-short{display:inline}
  .masthead-actions{gap:14px}
  .page-switch{gap:2px;font-size:11px}
  .page-switch a{padding:7px 8px}
  .location-features{font-size:9px;gap:6px 12px}
}
@media(max-width:380px){.masthead-actions{gap:9px}.page-switch a{padding-inline:6px}.brand{gap:7px}}
@media print{.location-features{color:#244b49}.brand-short{display:none}}
