@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,700;1,700&display=swap";:root{--ink: #163b4d;--deep: #0e2c3a;--paper: #f4efe4;--line: #a9c4c2;--accent: #efc75e;--muted: #5b777d;--emphasis: #3d7ea6;--soft-gray: #b9b9b9;font-family:Manrope,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper)}p{line-height:1.65}a{color:inherit}.masthead{min-height:0;padding:40px 7vw;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:56px;text-align:center;background:radial-gradient(circle at 75% 24%,rgba(239,199,94,.32),transparent 27%),linear-gradient(130deg,#dcebe6,#f4efe4 57%,#c9dfdc);border-bottom:1px solid var(--line)}.kicker,.step-number,.scroll-cue,.repo-note{font:500 12px DM Mono,monospace;text-transform:uppercase;letter-spacing:.14em}.masthead h1{font-family:Manrope,sans-serif;max-width:760px;margin:0 auto;font-size:clamp(44px,6vw,92px);line-height:1.25;letter-spacing:-.05em;font-weight:800}.masthead h1 em{font-family:Playfair Display,serif;font-style:italic;font-size:calc(1em + 25px);font-weight:700;color:var(--emphasis);letter-spacing:-.06em}.dek{max-width:440px;margin:0 auto;color:var(--muted);font-size:18px}.scroll-cue{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.scroll-cue span{display:block;width:42px;height:1px;background:var(--ink)}main{overflow:hidden}.chapter{position:relative;padding:130px 7vw;min-height:1700px;border-bottom:1px solid var(--line);opacity:.2;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.chapter.is-visible,.sources.is-visible{opacity:1;transform:none}.chapter-heading{position:sticky;top:24px;z-index:4;display:flex;gap:18px;align-items:center;width:fit-content;background:inherit;padding:10px 14px 10px 0}.chapter-heading>span{color:var(--emphasis);font-size:26px}h2{font-family:Manrope,sans-serif;margin:0;font-size:26px}.scene{min-height:82vh;display:grid;place-items:center}.intro-scene p{font-family:Manrope,sans-serif;max-width:760px;font-size:clamp(18px,1.1vw + 14px,24px);line-height:1.65;letter-spacing:normal}.closing-scene p{font-family:Manrope,sans-serif;max-width:690px;font-size:clamp(32px,4vw,64px);line-height:1.08;letter-spacing:-.045em;color:var(--muted)}.intro-scene strong,.closing-scene strong{font-family:Playfair Display,serif;color:var(--emphasis)}.story-grid{display:grid;grid-template-columns:2fr 1fr;min-height:720px;align-items:center;gap:5vw}.visual-panel{min-width:0}svg{width:100%;display:block}.story-copy{border-left:1px solid var(--line);padding-left:32px}.step{display:none}.step.is-active{display:block;animation:fade-in .7s both}.step-number{color:var(--emphasis)}h3{font-family:Manrope,sans-serif;font-size:28px;line-height:1.1;margin:14px 0 18px}.story-copy p,.reasons{color:var(--muted);font-size:16px}.reasons{padding-left:20px;line-height:1.6}.reasons li{margin-bottom:14px}.reasons li:last-child{margin-bottom:0}.map-water{fill:transparent}.map-points circle{stroke:none;cursor:pointer}.map-hover line{stroke:var(--soft-gray);stroke-width:1;stroke-dasharray:4 3}.map-hover text{text-anchor:middle;font-size:13px;fill:var(--ink);paint-order:stroke;stroke:var(--paper);stroke-width:3px}.map-labels text{font-size:13px;fill:var(--ink)}.map-note-text{font-size:18px;fill:var(--ink)}.map-hint{font-size:20px;font-style:italic;fill:var(--soft-gray)}.map-legend circle{stroke:var(--paper);stroke-width:2}.map-legend text{font-size:14px;font-family:Manrope,sans-serif;fill:var(--ink)}.map-caption{font:500 11px DM Mono,monospace;fill:var(--muted);text-transform:uppercase;letter-spacing:.06em}.axis path,.axis line{stroke:var(--line)}.axis text{fill:var(--muted);font-size:13px;font-family:Manrope,sans-serif}.axis .tick line{stroke:#a9c4c28c}.value-label{text-anchor:middle;font:500 13px DM Mono,monospace;fill:var(--ink)}.geography{background:#e4efeb}.oil-price-stage{margin-top:240px}.price-line{fill:none;stroke:#e07a5f;stroke-width:3}.peak-dot{fill:#e07a5f;stroke:var(--paper);stroke-width:4}.solar-chapter{background:#e7e1d2}.energy-stage{padding:130px 0 60px;min-height:900px;transform:translate(-7%)}.stage-header{display:flex;justify-content:space-between;align-items:end;padding-left:14.81%;padding-right:4.37%}.stage-header h3{margin:4px 0 2px;font-size:18px;color:var(--muted)}.stage-subtitle{margin:0;font-size:13px;color:var(--muted)}label{font-family:Manrope,sans-serif;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}output{color:var(--emphasis)}#year-range{display:block;width:80.82%;margin:38px 0 38px 14.81%;accent-color:var(--emphasis)}.country-label{font-size:13px;fill:var(--ink)}.mix-bar{transition:width .3s ease,x .3s ease}.mix-key{display:flex;justify-content:center;gap:28px;font-size:13px;color:var(--muted);padding-left:14.81%;padding-right:4.37%}.mix-key span{display:flex;align-items:center;gap:8px}.mix-key i{width:11px;height:11px;display:inline-block}.mix-key .solar{background:#efc75e}.mix-key .renewable{background:#4d9b7b}.mix-key .conventional{background:#25516b}.closing-scene{min-height:100vh}.sources{padding:90px 7vw;background:var(--deep);color:#dbece9;opacity:.2;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.sources .kicker{display:block}.sources p{padding-right:224px;font-size:17px}.sources a{color:var(--accent)}.repo-note{color:#8eb2ae;margin-top:42px}.error{padding:24px;color:#a63c32}@keyframes fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.masthead{padding-left:24px;padding-right:24px}.masthead>*,.chapter>*,.sources>*{width:min(100%,1024px);margin-left:auto;margin-right:auto}.chapter{padding:130px 24px 0;min-height:0}.chapter-heading{width:min(100%,1024px)}.sticky-story{position:relative;width:min(100%,1024px)}.sticky-story:not(.single-stage){min-height:300vh}.sticky-story.single-stage{min-height:100vh}.sticky-story .story-grid{position:sticky;top:72px;z-index:2;height:calc(100vh - 96px);min-height:0}.trigger-stack{position:absolute;inset:0;z-index:1;pointer-events:none}.story-trigger{height:100vh}.story-trigger:first-child{height:82vh}.sticky-story .visual-panel,.sticky-story .story-copy{opacity:.8;transition:opacity .5s ease}.chart-title{padding-left:11.11%}.chart-title h3{margin:8px 0 6px;font-size:18px;color:var(--muted);white-space:nowrap}.sticky-story.scene-refresh .visual-panel,.sticky-story.scene-refresh .story-copy{animation:crossfade .7s ease both}.geography .sticky-story{margin-top:-3vh}.oil-chapter .single-stage+.single-stage{margin-top:18vh}.solar-story{min-height:200vh}.solar-story .energy-stage{position:sticky;top:72px;z-index:2;height:calc(100vh - 96px);min-height:0;padding-top:6vh;transition:opacity .7s ease}.solar-story .closing-scene{position:absolute;inset:0;z-index:3;min-height:0;opacity:0;pointer-events:none;transition:opacity .7s ease}.solar-story .energy-stage:not(.is-active){opacity:0;pointer-events:none}.solar-story .closing-scene.is-active{opacity:1}.solar-story .story-trigger:first-child{height:100vh}.solar-story .story-trigger:last-child{height:100vh}.closing-scene p{margin:auto;text-align:center}@keyframes crossfade{0%{opacity:.15;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.presentation-mode{overflow:hidden;height:100vh}.presentation-mode main{height:100vh;overflow:hidden}.presentation-mode .masthead,.presentation-mode .chapter,.presentation-mode .sources{position:fixed;inset:0;margin:auto;display:none;width:100vw;height:100vh;min-height:0;overflow:hidden;padding-top:0;padding-bottom:0;opacity:1;transform:none}.presentation-mode .masthead.presentation-active,.presentation-mode .chapter.presentation-active,.presentation-mode .sources.presentation-active{display:block;animation:presentation-in .7s ease both}.presentation-mode .masthead.presentation-active{display:flex}.presentation-mode .masthead{padding-top:36px;padding-bottom:36px}.presentation-mode .chapter-heading{position:absolute;top:24px;left:50%;transform:translate(-50%)}.presentation-mode .chapter>.scene,.presentation-mode .chapter>.sticky-story{display:none}.presentation-mode .chapter>.presentation-stage-active{display:block;animation:presentation-in .7s ease both}.presentation-mode .chapter>.intro-scene{height:100%;min-height:0;padding-top:24px}.presentation-mode .chapter>.intro-scene.presentation-stage-active{display:grid}.presentation-mode .sticky-story{width:min(100%,1024px);height:100%;min-height:0;margin:0 auto}.presentation-mode .oil-chapter .single-stage+.single-stage{margin-top:0}.presentation-mode .oil-price-stage{margin-top:0}.presentation-mode .sticky-story .story-grid{position:absolute;inset:0;height:100%;min-height:0;padding-top:76px}.presentation-mode .sticky-story .trigger-stack{display:none}.presentation-mode .sticky-story .visual-panel,.presentation-mode .sticky-story .story-copy{opacity:1}.presentation-mode .sticky-story .story-copy{animation:crossfade .7s ease both}.presentation-mode .solar-story .energy-stage{top:0;height:100%;min-height:0;padding-top:110px;display:flex;flex-direction:column;justify-content:center}.presentation-mode .solar-story .energy-stage .stage-header,.presentation-mode .solar-story .energy-stage .mix-key{flex-shrink:0}.presentation-mode .solar-story .energy-stage svg{flex:0 1 auto;min-height:0;width:100%;aspect-ratio:1260 / 500;max-height:100%}.presentation-mode .solar-story .energy-stage #year-range{flex-shrink:0;margin:16px 0 16px 14.81%}.presentation-mode .solar-story .closing-scene{position:absolute;inset:0;display:grid;place-items:center;width:100%;height:100%;padding:0 5%}.presentation-mode .chapter:has(.closing-scene.is-active) .chapter-heading{display:none}.presentation-mode .sources{padding:0 24px}.presentation-mode .sources.presentation-active{display:flex;flex-direction:column;justify-content:center}.deck-progress{position:fixed;z-index:20;left:0;bottom:0;width:var(--progress);height:3px;background:var(--accent);transition:width .65s ease}@keyframes presentation-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
