:root{--ink:#20362f;--paper:#fbfaf6;--muted:#5a6d63;--line:#daddd4;--accent:#d85e43;--green:#277868}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 system-ui,-apple-system,sans-serif}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #d28443;outline-offset:4px}.topbar{position:sticky;top:0;z-index:100;background:#fbfaf6ed;backdrop-filter:blur(10px);height:88px;padding:20px 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.wordmark{font:32px Georgia,serif;text-decoration:none;letter-spacing:-.05em}.wordmark span{display:block;font:10px system-ui;letter-spacing:.08em;text-transform:uppercase}.topbar nav{display:flex;gap:27px;font-size:13px}.topbar nav a{text-decoration:none}h1,h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.045em;line-height:1.06}h1{font-size:clamp(44px,4.5vw,72px);margin:22px 0;max-width:11ch}h2{font-size:clamp(34px,3.3vw,48px);margin:20px 0}h3{font-size:19px}.eyebrow,.chapter{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.story-layout{max-width:1380px;margin:auto;padding:0 5vw;display:grid;grid-template-columns:.93fr 1.1fr;gap:6vw;align-items:start}.story-step{min-height:85vh;display:flex;flex-direction:column;justify-content:center;padding:65px 0;max-width:500px}.story-step p{max-width:40ch}.story-line{font-size:25px;line-height:1.4;color:var(--accent);max-width:24ch!important}.mission{font:26px/1.3 Georgia;color:var(--accent)}.text-link{font-size:14px;margin-top:20px}.story-visual{position:sticky;top:calc(88px + 8vh);padding:16px 0 50px}.scene{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}.scene-top,.scene-bottom{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px;letter-spacing:.03em}.scene svg{display:block;width:100%;max-height:58vh}.map-label{font:10px system-ui;letter-spacing:.08em;fill:#3f534b}.scene p{font:21px/1.3 Georgia;margin:10px 0 24px;min-height:52px}.scene-bottom button{background:none;border:1px solid var(--line);border-radius:50%;height:33px;width:33px;margin-left:6px;color:var(--ink);cursor:pointer}.heat,.cars,.crossing-note{opacity:0;transition:opacity .8s}.trees{opacity:.25;transition:opacity .8s}#direct-path{stroke-dasharray:700;stroke-dashoffset:700;transition:opacity .45s,stroke .45s}#cool-path{stroke-dasharray:1000;stroke-dashoffset:1000;opacity:0;transition:opacity .45s}.scene[data-stage="0"] #direct-path{stroke-dashoffset:0;stroke:#879b90}.scene[data-stage="1"] .heat,.scene[data-stage="1"] .cars,.scene[data-stage="1"] .crossing-note{opacity:1}.scene[data-stage="1"] #direct-path{stroke-dashoffset:0;stroke:var(--accent)}.scene[data-stage="1"] .cars{animation:cars 4s ease-in-out 2}.scene[data-stage="2"] .trees{opacity:1}.scene[data-stage="2"] #direct-path{stroke-dashoffset:0;opacity:.25}.scene[data-stage="2"] #cool-path{opacity:1;stroke-dashoffset:0}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.button{display:inline-block;padding:12px 20px;background:var(--ink);border:1px solid var(--ink);color:white;text-decoration:none;border-radius:4px;font-size:14px}.secondary{color:var(--ink);background:transparent}.expansion{border-top:1px solid var(--line);max-width:1200px;padding:70px 5vw;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.expansion h2{font-size:40px}.city-list a{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:15px}.city-list span,.fine{font-size:12px;color:var(--muted)}.site-footer{border-top:1px solid var(--line);padding:25px 5vw;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}.site-footer div{display:flex;gap:20px}.content{max-width:1150px;margin:auto;padding:55px 5vw}.content>h1{max-width:20ch}.lead{max-width:65ch;font-size:20px;color:var(--muted)}.factor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:40px 0}.factor img{width:100%;display:block;background:white}.factor p{font-size:14px;color:var(--muted)}.factor h3{margin:12px 0 6px}.equation{padding:32px;background:white;border:1px solid var(--line);margin:30px 0}.equation img{width:100%;display:block;max-width:950px;margin:auto}.definitions{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;font-size:13px}.definitions strong{display:block;font-size:17px}.content details{border-top:1px solid var(--line);padding:20px 0}.content summary{font-weight:600;cursor:pointer}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:30px 0}.gallery-grid figure{margin:0;border-top:1px solid var(--line);padding-top:15px}.gallery-grid img{display:block;width:100%;background:white}.gallery-grid figcaption{font-size:12px;color:var(--muted)}.gallery-grid h2{font:23px Georgia;letter-spacing:0;line-height:1.3}.archive-note{font-size:13px;color:var(--muted);padding:25px 0}.shell{max-width:1150px;margin:auto;padding:0 25px}.article{max-width:850px;margin:40px auto}.article h1{font-size:48px;max-width:none}.article h2{font-size:30px}.article section{margin:35px 0}.article li{margin:10px 0}.small{font-size:13px;color:var(--muted)}@keyframes cars{0%,100%{transform:translateX(-25px)}50%{transform:translateX(30px)}}@media(max-width:760px){.topbar{height:73px;padding:15px 20px}.wordmark{font-size:28px}.topbar nav{gap:13px;font-size:11px}.wordmark span{display:none}.story-layout{display:flex;flex-direction:column-reverse;padding:0 22px;gap:0}.story-visual{top:73px;width:100%;padding:8px 0;z-index:5;background:#fbfaf6f5}.scene{padding:8px 0}.scene svg{height:31vh;max-height:290px}.scene-top,.scene-bottom{font-size:9px}.scene p{font-size:16px;min-height:0;margin:0 0 8px}.scene-bottom button{width:26px;height:26px}.story-copy{width:100%}.story-step{min-height:65vh;padding:35px 0}h1{font-size:44px;max-width:12ch}.story-line{font-size:22px}.story-step h2{font-size:36px}.story-step p{font-size:16px}.expansion{grid-template-columns:1fr;padding:40px 22px;gap:15px}.expansion h2{font-size:34px}.site-footer{flex-direction:column;padding:22px}.factor-grid,.gallery-grid{grid-template-columns:1fr}.definitions{grid-template-columns:1fr 1fr}.content{padding:30px 20px}.equation{padding:14px}.lead{font-size:17px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.comparison-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:35px 0;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.comparison-stats strong{font:36px Georgia;display:block}.comparison-stats span{display:block;font-size:12px;color:var(--muted)}.wide-figure{margin:30px 0}.wide-figure img{display:block;width:100%}.wide-figure figcaption{font-size:12px;color:var(--muted)}@media(max-width:760px){.comparison-stats{grid-template-columns:1fr;gap:15px}.comparison-stats strong{font-size:28px}}
.scene-bottom{justify-content:flex-end}
.scene-choices{display:none;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}.scene[data-stage="2"] .scene-choices{display:grid}.scene-choices a{border:1px solid var(--line);border-radius:5px;padding:9px 11px;text-decoration:none}.scene-choices span{display:block;font:10px system-ui;color:var(--muted)}.scene-choices strong{font:600 12px system-ui;color:var(--green)}@media(max-width:760px){.scene-choices{margin-bottom:6px;gap:7px}.scene-choices a{padding:6px 9px}}
.journey-steps{display:flex;gap:18px!important;align-items:center}.journey-steps a{font:12px system-ui;text-decoration:none;color:#657469;white-space:nowrap}.journey-steps a span{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd5ce;border-radius:50%;width:21px;height:21px;margin-right:5px;font-size:10px}.journey-steps a[aria-current]{color:#146b58;font-weight:700}.journey-steps a[aria-current] span{background:#146b58;color:white;border-color:#146b58}.journey-next{border-top:1px solid var(--line);max-width:1200px;margin:35px auto 0;padding:35px 5vw 45px}.journey-next>p:first-child{text-transform:uppercase;font-size:10px;letter-spacing:.1em}.journey-next h2{font-size:32px;margin:8px 0}.journey-next>p{font-size:14px}.journey-return{padding:25px 0}.method-overview{padding-left:22px;line-height:1.7;max-width:750px}.method-overview li{padding:6px 0}@media(max-width:760px){.journey-steps{gap:8px!important}.journey-steps a{font-size:10px}.journey-steps a span{width:17px;height:17px;margin-right:3px;font-size:9px}.journey-next{padding:25px 0}.topbar{gap:10px}.journey-next h2{font-size:27px}}
.master-map-embed{display:block;width:100%;height:820px;border:1px solid var(--line);border-radius:8px;margin:22px 0 30px;background:white}.method-flow{display:flex;align-items:center;gap:12px;margin:35px 0;flex-wrap:wrap;font-size:13px}.method-flow span{padding:12px 15px;border:1px solid var(--line);border-radius:6px;background:#eef3ed}.method-two{display:grid;grid-template-columns:1fr 1fr;gap:25px}.method-two article{border-top:2px solid #93b29c;padding-top:7px}.method-two p{font-size:15px}.source-chips{display:flex;flex-wrap:wrap;gap:9px}.source-chips span{border:1px solid var(--line);padding:8px 12px;font-size:13px;border-radius:30px}.feedback-content{max-width:850px}.feedback-content h1{max-width:none}.feedback-content textarea{display:block;width:100%;font:16px/1.5 system-ui;border:1px solid #b9cdbf;border-radius:7px;padding:14px;margin:12px 0 18px;background:white;color:var(--ink)}.feedback-content button{cursor:pointer;margin:0 8px 8px 0}.feedback-content #feedback-status{font-size:12px;color:var(--muted)}#saved-ideas p{border-top:1px solid var(--line);padding:16px 0;white-space:pre-wrap;overflow-wrap:anywhere}.content>section{margin:40px 0}@media(max-width:760px){.master-map-embed{height:760px}.method-two{grid-template-columns:1fr;gap:12px}.method-flow{gap:6px;font-size:11px}.journey-steps{gap:6px!important}.journey-steps a{font-size:9px}.journey-steps a span{width:15px;height:15px;font-size:8px}.topbar .wordmark{font-size:24px}}
.story-step{opacity:.3;transition:opacity .25s}.story-step[data-active="true"]{opacity:1}
.site-copyright{max-width:1200px;margin:0 auto;padding:22px 5vw 30px;border-top:1px solid var(--line);font:12px/1.6 system-ui;color:var(--muted)}

/* Section 4: a topic-first map, followed by its sources and saved figures. */
.maps-content{max-width:1520px;padding:32px 4vw 45px}.maps-intro{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:0 0 24px}.maps-intro h1{max-width:none;font-size:clamp(34px,3.5vw,48px);margin:9px 0 11px}.maps-intro .eyebrow{font-size:10px;margin:0;color:#75836d}.maps-intro>div>p:last-child{font-size:14px;color:#65775d;margin:0}.maps-open{font-size:12px;white-space:nowrap;color:#376947}.maps-content .master-map-embed{height:760px;margin:0;border-radius:13px;border-color:#d4dfca}.maps-more{border-top:1px solid #dce3d6;margin-top:30px;padding-top:23px}.maps-more>summary{font:600 17px/1.5 system-ui;cursor:pointer;color:#355c40;min-height:36px}.maps-more>summary>span{font:11px system-ui;color:#7b8872;margin-left:15px}.maps-more-intro h2{font-size:29px;margin:25px 0 12px}.maps-more-intro p{font-size:13px;color:#65775d;margin-bottom:30px}.maps-more .gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.maps-more figure{margin:0;border-top:1px solid #dce3d6;padding-top:14px}.maps-more figure h2{font:24px/1.2 Georgia,serif;margin:0 0 15px}.maps-more figure img{display:block;width:100%;height:230px;object-fit:contain;background:#fffdf8;border:1px solid #e0e6d9;border-radius:7px}.maps-more figcaption{font-size:11px;color:#697c61;line-height:1.65;margin:10px 0}.maps-more .small,.maps-more .archive-note{font-size:11px}.maps-more .archive-note{margin:26px 0 0}@media(max-width:1000px){.maps-more .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.maps-content{padding:25px 16px 35px}.maps-intro{display:block;margin-bottom:20px}.maps-intro h1{font-size:36px}.maps-intro>div>p:last-child{font-size:12px}.maps-open{display:inline-block;margin-top:12px;min-height:28px}.maps-content .master-map-embed{height:max(660px,calc(100svh - 96px));border-radius:11px}.maps-more .gallery-grid{grid-template-columns:1fr;gap:25px}.maps-more>summary{font-size:16px}.maps-more>summary>span{display:block;font-size:10px;margin:5px 0 0 17px}}

.geoai-explanations{border-top:1px solid var(--line);padding:32px 0 12px;margin:40px 0}.geoai-explanations-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:22px}.geoai-explanations h2{font-size:38px;margin:0 0 10px}.geoai-explanations-heading p{margin:0;font-size:14px;color:var(--muted)}.geoai-example-tabs{display:flex;gap:6px}.geoai-example-tabs button{padding:8px 12px;border:1px solid var(--line);border-radius:5px;background:transparent;color:var(--ink);font-size:12px;cursor:pointer}.geoai-example-tabs button[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:white}.geoai-example{margin:0;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:white;box-shadow:0 3px 18px #20362f08}.geoai-example[hidden]{display:none}.geoai-example img{display:block;width:100%;height:auto}.geoai-example figcaption{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px 17px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.geoai-example figcaption div{display:flex;gap:16px}.geoai-example-method{font-size:11px;color:var(--muted);margin:13px 0 0}@media(max-width:760px){.geoai-explanations h2{font-size:29px}.geoai-explanations-heading{gap:15px}.geoai-example-tabs{width:100%}.geoai-example-tabs button{flex:1;padding:8px}.geoai-example figcaption{align-items:flex-start;flex-direction:column;padding:11px}.geoai-example figcaption div{gap:18px}}

/* Keep every page reachable at narrow widths and before scripts load. */
.topbar{height:auto;min-height:88px;flex-wrap:wrap}.topbar>nav{flex-wrap:wrap}.topbar>nav a[aria-current]{color:#146b58;font-weight:700}
@media(max-width:480px){.topbar{gap:12px;padding:16px 20px}.topbar>nav{gap:12px}}
