/* A reading scene is one story: heading + chart + interpretation. */
html{scroll-padding-top:0}
body .hero .photo-arch{height:auto;aspect-ratio:1.25;border-radius:110px 110px 0 0}
body .hero .photo-arch img{object-position:50% 50%}
/* Explain the report in the cover itself, without relying on the next screen. */
body .hero h1{font-size:clamp(58px,6.5vw,100px);line-height:1.03}
.hero .hero-deck{max-width:480px;margin-top:24px;font-size:20px;line-height:1.5}
.hero-deck strong{font-weight:500;color:var(--paper)}
.hero-location{font-size:17px;color:var(--gold);margin-top:22px}
.hero-scope{font-size:13px;margin-top:12px;color:#d6e3d7}
.hero-scope span{padding:0 9px;color:#829d8d}
.hero-copy .entrance:nth-child(5){transition-delay:.75s}
.hero-copy .entrance:nth-child(6){transition-delay:.9s}
@media(max-width:800px){body .hero h1{font-size:clamp(46px,12vw,76px)}.hero .hero-deck{font-size:18px;margin-top:18px}.hero-location{font-size:16px;margin-top:18px}.hero-scope{font-size:12px}.hero-scope span{padding:0 5px}}
.chapter .scene,.country-scene{min-height:100svh;padding:32px 7vw 82px;justify-content:center;overflow:visible;scroll-margin:0}
.chapter .chapter-title{margin-bottom:18px}
.chapter .eyebrow{margin-bottom:12px}
.chapter .scene h2{font-size:clamp(38px,4.2vw,62px);margin-bottom:16px}
.chapter .lead{font-size:16px;line-height:1.5}
.chapter .takeaway{margin-top:18px;font-size:16px;line-height:1.45}
.chapter .chart{margin-top:16px}
.chapter .progress-track{height:60px;margin-bottom:10px}
.chapter .progress-fill span{top:9px}
.chapter .documentary img{height:clamp(220px,40svh,350px)}
.chapter .split{gap:5vw}
.chapter .journey{min-height:170px;margin-top:10px}
.chapter .journey-column{height:170px}
.chapter .chart.is-visible .journey-bar{height:calc(var(--value)*1.6px)}
.chapter .journey-bar span{font-size:24px;padding:8px 12px}
.chapter .big-stat{font-size:66px}
.chapter .stat-line{margin-bottom:12px}
.chapter .pictogram{grid-template-columns:repeat(20,1fr);gap:6px;margin-top:10px}
.chapter .person{height:17px}
.chapter .gap-row{margin:16px 0}
.chapter .gap-track{height:18px;margin-top:8px}
.part-label{font-size:12px;letter-spacing:.08em;opacity:.7;margin-bottom:16px;text-transform:uppercase}
.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}
.type-letter{opacity:0}.type-letter.typed{opacity:1}.type-letter.cursor{box-shadow:2px 0 0 var(--teal)}
.intro .type-visual{display:inline}.intro-bottom{gap:40px}
.country-scene{background:#e9e6d9;--accent:var(--teal)}
.country-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:20px}
.country-heading h2{font-size:clamp(38px,4vw,58px);margin:0}
.country-heading .eyebrow{margin-bottom:10px}
.country-heading>p{max-width:310px;font-size:16px}
.country-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:5vw;align-items:center}
.map-chart{margin:0;position:relative}
.region-map{width:100%;height:min(49svh,440px);display:block;overflow:hidden}
.map-neighbor{fill:#d3d5c8;stroke:#e9e6d9;stroke-width:1.5}
.map-country{fill:var(--map-color);fill-opacity:0;stroke:var(--map-color);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;vector-effect:non-scaling-stroke}
.map-chart.is-visible .map-country{animation:trace-country 1.7s ease forwards;animation-delay:var(--map-delay)}
.map-label{font-family:'DM Sans',sans-serif;font-size:15px;font-weight:600;fill:#173f35;opacity:0;transform:translateY(8px);transition:opacity .8s,transform 1s var(--ease);transition-delay:calc(var(--map-delay) + 1s)}
.map-chart.is-visible .map-label{opacity:1;transform:none}
.map-label line{stroke:#173f35;stroke-width:1}.map-label circle{fill:#173f35}
.country-list{display:grid;gap:12px}
.country-card{display:grid;grid-template-columns:72px 1fr;gap:17px;border-top:1px solid #173f352b;padding-top:12px;opacity:0;transform:translateX(20px);transition:opacity 1s,transform 1s var(--ease);transition-delay:var(--map-delay)}
.country-scene.is-visible .country-card{opacity:1;transform:none}
.country-mini{width:72px;height:80px;fill:var(--map-color)}
.country-card h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:30px;font-weight:400;margin-bottom:3px}
.country-card p{font-size:14px;line-height:1.4}.country-card strong{font-weight:600}
.country-card .country-metrics{margin-top:7px;font-size:14px}
.map-note{font-size:12px;margin-top:10px;line-height:1.4;color:#475a4c}
.country-scene .takeaway{margin-top:18px;font-size:14px;max-width:none}
@keyframes trace-country{0%{stroke-dashoffset:1;fill-opacity:0}65%{fill-opacity:.08}100%{stroke-dashoffset:0;fill-opacity:.85}}
@media(max-height:700px) and (min-width:801px){.chapter .scene{padding-top:22px;padding-bottom:70px}.chapter .scene h2{font-size:42px}.chapter .chapter-title{margin-bottom:10px}.chapter .documentary img{height:260px}.chapter .region-table td,.chapter .region-table th{padding-top:11px;padding-bottom:11px}}
@media(max-width:800px){
 .chapter .scene{padding:25px 6vw 76px;min-height:100svh;justify-content:center}
 .chapter .scene h2{font-size:36px;line-height:1.05;margin-bottom:10px}
 .chapter .chapter-title{margin-bottom:12px;font-size:12px;gap:10px}
 .chapter-title b{width:28px;height:28px;flex:none}
 .chapter .eyebrow{margin-bottom:8px;font-size:12px}
 .chapter .lead,.chapter .takeaway{font-size:16px;line-height:1.4}
 .chapter .takeaway{margin-top:12px;padding-left:12px}
 .chapter .split{gap:14px}
 .chapter .split>.documentary{order:2}
 .chapter .documentary img{height:100px;object-position:center 42%}
 .chapter .documentary figcaption{font-size:12px;line-height:1.3;margin-top:4px}
 .chapter .chart{margin-top:12px}
 .chapter .progress-track{height:48px;margin-top:6px;margin-bottom:0}
 .chapter .progress-fill span{font-size:24px;top:6px}
 .chapter .big-stat{font-size:55px}.chapter .stat-line{gap:15px;margin-bottom:8px}
 .chapter .stat-line p{font-size:14px;line-height:1.3}
 .chapter .pictogram{gap:4px}.chapter .person{height:14px}
 .chapter .journey{min-height:140px;gap:14px}.chapter .journey-column{height:140px}
 .chapter .chart.is-visible .journey-bar{height:calc(var(--value)*1.3px)}
 .chapter .journey-column p{font-size:12px;line-height:1.3;margin-top:6px}
 .chapter .chart-note{line-height:1.35;margin-top:8px}
 .chapter .donut{height:220px;width:220px;margin:10px auto}.chapter .donut-hole{height:150px;width:150px}
 .chapter .region-table{margin-top:5px}.chapter .region-table td,.chapter .region-table th{padding:10px 3px}
 .part-label{margin-bottom:10px}
 .country-scene{padding:30px 6vw 78px;min-height:100svh}
 .country-heading{display:block;margin-bottom:10px}.country-heading h2{font-size:38px}.country-heading>p{font-size:14px;margin-top:10px;max-width:none}
 .country-layout{grid-template-columns:1fr;gap:12px}.region-map{height:260px}
 .country-list{grid-template-columns:repeat(3,1fr);gap:12px}
 .country-card{display:block;padding-top:10px}.country-mini{display:none}.country-card h3{font-size:24px}
 .country-card p,.country-card .country-metrics{font-size:12px;line-height:1.4}
 .country-scene .takeaway{font-size:14px;margin-top:12px}
}
@media(prefers-reduced-motion:reduce){.type-letter{opacity:1}.type-letter.cursor{box-shadow:none}.map-country{stroke-dashoffset:0;fill-opacity:.85}.map-label,.country-card{opacity:1;transform:none}}
