@font-face{font-family:Bricolage;src:url('/assets/fonts/bricolage-grotesque-latin.woff2') format('woff2');font-style:normal;font-weight:500 800;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF,U+2212}
@font-face{font-family:Bricolage;src:url('/assets/fonts/bricolage-grotesque-latin-ext.woff2') format('woff2');font-style:normal;font-weight:500 800;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:Source;src:url('/assets/fonts/source-serif-4-latin.woff2') format('woff2');font-style:normal;font-weight:400 600;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF,U+2212}
@font-face{font-family:Source;src:url('/assets/fonts/source-serif-4-latin-ext.woff2') format('woff2');font-style:normal;font-weight:400 600;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:Plex;src:url('/assets/fonts/portfolio-ibm-plex-mono-latin.woff2') format('woff2');font-weight:500 700;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF,U+2212}
@font-face{font-family:Plex;src:url('/assets/fonts/portfolio-ibm-plex-mono-latin-ext.woff2') format('woff2');font-weight:500 700;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF}
:root{color-scheme:light;--paper:#eaf0f2;--surface:#f8fbfc;--ink:#102e38;--muted:#304b58;--line:#aebfc6;--accent:#7d3900;--history:#7d3900;--change:#69366c;--transport:#204793;--nature:#145640;--culture:#72394a;--daily:#37488b;--region:#414e0d;--quake:#8e1b12;--ground:#e5ecef;--city:#d8e3e8;--park:#c4d8c8;--water:#8fc0d1;--river:#5f93a7;--road:#93a5ae;--minor:#b5c3c9;--rail:#7b919a;--boundary:#91a4ac;--map-label:#304e5b;--buildings:#c7d3d9;--shadow:0 12px 44px #102e3814;--bar:58px;--display:Bricolage,Arial,sans-serif;--body:Source,Georgia,serif;--utility:Plex,monospace}
:root[data-theme=dark]{color-scheme:dark;--paper:#0d222b;--surface:#112d37;--ink:#e9f1f3;--muted:#b7cbd4;--line:#3f626f;--accent:#ffc17e;--history:#ffc17e;--change:#e5afdf;--transport:#a3c2ff;--nature:#93d5b5;--culture:#f0b5c6;--daily:#c1c9ff;--region:#d0d69a;--quake:#ff9a8a;--ground:#0b2029;--city:#102d38;--park:#173d3b;--water:#174a5d;--river:#367c92;--road:#34505e;--minor:#203f4c;--rail:#4a6976;--boundary:#3d6574;--map-label:#bdd0d9;--buildings:#193b49;--shadow:0 12px 44px #00000035}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--bar) + 18px)}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.6 var(--body);overflow-anchor:none}button,input{font:inherit;color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a{touch-action:manipulation}a{color:inherit}img{display:block;max-width:100%}button{border:1px solid var(--line);background:var(--surface)}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button:focus-visible,input:focus-visible{outline-offset:2px}.skip{position:fixed;top:6px;left:8px;z-index:200;background:var(--ink);color:var(--paper);padding:12px;transform:translateY(-160%)}.skip:focus{transform:none}
.topbar{height:var(--bar);position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 3.5%;border-bottom:1px solid var(--line);background:var(--paper);font:600 .78rem/1.3 var(--utility)}.wordmark{text-decoration:none;white-space:nowrap}.wordmark span{color:var(--accent)}.topbar nav{display:flex;align-items:center;gap:22px}.topbar nav a{min-height:44px;display:flex;align-items:center;text-decoration:none}.topbar nav a:hover{text-decoration:underline}.topbar button{width:40px;height:40px;font-size:24px;border-radius:50%;background:transparent}.language{font-weight:700}.journey{position:relative}.stage{position:sticky;top:var(--bar);height:calc(100svh - var(--bar));width:100%;overflow:hidden;z-index:1;background:var(--ground)}.map-wrap,.map-fallback,#map{position:absolute;inset:0;width:100%;height:100%}#map{cursor:crosshair;touch-action:pan-y;opacity:0}.ready #map{opacity:1}.ready .map-fallback{visibility:hidden}.map-fallback{background:var(--ground)}.map-fallback path{vector-effect:non-scaling-stroke}.map-fallback .base-park{fill:var(--park)}.map-fallback .base-water{fill:var(--water)}.map-fallback .base-river{fill:none;stroke:var(--river);stroke-width:1.5px}.map-fallback .base-major{fill:none;stroke:var(--road);stroke-width:.8px}.map-fallback .base-mid{fill:none;stroke:var(--minor);stroke-width:.4px}.map-fallback circle{fill:var(--accent);stroke:var(--surface);stroke-width:50}.stage::after{content:'';position:absolute;pointer-events:none;inset:0;background:linear-gradient(90deg,var(--paper) 0%,var(--paper) 20%,transparent 48%)}.map-heading{position:absolute;z-index:2;right:7%;top:28px;display:flex;flex-direction:column;align-items:flex-end;gap:5px;pointer-events:none;font:500 .7rem/1.3 var(--utility);color:var(--muted)}.map-heading-name{font:700 1rem/1.2 var(--display);color:var(--ink)}.north{position:absolute;z-index:2;right:3.7%;top:26px;text-align:center;font:700 2rem/1 var(--display);color:var(--muted)}.north span{display:block;font:.65rem var(--utility);margin-top:6px}.map-tools{position:absolute;z-index:4;right:3.5%;top:43%;display:flex;flex-direction:column;gap:6px}.map-tools button{width:44px;height:44px;border-radius:50%;font:500 1.5rem/1 var(--display);box-shadow:var(--shadow)}.map-tools button:hover{background:var(--ink);color:var(--paper)}.map-caption{position:absolute;z-index:3;bottom:16px;right:3.5%;left:47%;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;color:var(--muted);font:500 .6rem/1.5 var(--utility)}#scale{border-bottom:2px solid var(--muted);min-width:64px;padding:0 4px 4px;text-align:center}.map-caption a{text-decoration:none}.map-hint{position:absolute;z-index:3;bottom:64px;left:52%;font:500 .66rem/1.4 var(--utility);color:var(--muted);background:var(--paper);padding:7px 12px;border-radius:3px;pointer-events:none}.steps{position:relative;margin-top:calc(-100svh + var(--bar));z-index:3;pointer-events:none}.step{min-height:110svh;padding:16svh 0 22svh 4.5%;scroll-margin-top:var(--bar)}.hero{min-height:calc(100svh - var(--bar));padding-top:10svh;padding-bottom:8svh;display:flex;align-items:center}.hero-copy{width:40%;max-width:590px;pointer-events:auto}.eyebrow{font:600 .64rem/1.6 var(--utility);letter-spacing:.075em;color:var(--accent);margin:0 0 18px}.hero h1{font:750 6.2rem/.94 var(--display);letter-spacing:-.06em;margin:0 0 27px}.lede{font-size:1.18rem;line-height:1.6;max-width:430px;margin:0 0 28px}.hero-count{display:flex;gap:14px;align-items:center;margin:28px 0}.hero-count strong{font:700 3.7rem/1 var(--display);letter-spacing:-.06em;color:var(--accent)}.hero-count span{font:500 .72rem/1.6 var(--utility);color:var(--muted)}.hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;border:1px solid var(--ink);text-decoration:none;padding:12px 18px;font:600 .82rem/1.4 var(--display);border-radius:5px;background:var(--surface)}.button.primary{background:var(--ink);color:var(--paper)}.text-link{font:600 .78rem/1.5 var(--display);text-underline-offset:5px;min-height:44px;display:inline-flex;align-items:center}.share-row{display:flex;align-items:center;gap:7px;margin:25px 0 0;font:500 .6rem/1.5 var(--utility);color:var(--muted);flex-wrap:wrap}.share-row>a,.share-row>button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;font:600 1rem var(--display);background:transparent;text-decoration:none;color:var(--ink)}.share-row>span:first-child{margin-right:5px}.share-row>a:hover,.share-row>button:hover{color:var(--accent);border-color:var(--accent)}#share-status{flex-basis:100%;min-height:1.4em}
.story-card{pointer-events:auto;width:33%;max-width:450px;background:var(--surface);border:1px solid var(--line);padding:30px;border-radius:8px;box-shadow:var(--shadow)}.story-card h2{font:650 2.4rem/1.13 var(--display);letter-spacing:-.035em;margin:0 0 18px}.story-card h2 a{text-decoration:none}.story-deck{font-size:1.04rem;line-height:1.65;margin:0 0 23px}.chapter-image{display:block;margin:0 -15px 17px;overflow:hidden;border-radius:3px}.chapter-image img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.chapter-projects{padding:0;margin:0;list-style:none}.chapter-projects li+li{border-top:1px solid var(--line)}.chapter-projects a{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:48px;padding:10px 0;text-decoration:none;font:600 .9rem/1.4 var(--display)}.chapter-projects a:hover{text-decoration:underline;text-underline-offset:4px}.chapter-explore{background:transparent;border:0;border-top:1px solid var(--line);padding:17px 0 0;min-height:44px;display:flex;gap:20px;font:600 .75rem var(--utility);color:var(--accent)}.step[data-theme=change]{--accent:var(--change)}.step[data-theme=transport]{--accent:var(--transport)}.step[data-theme=nature]{--accent:var(--nature)}.step[data-theme=culture]{--accent:var(--culture)}.step[data-theme=daily]{--accent:var(--daily)}.step[data-theme=region]{--accent:var(--region)}.step[data-theme=quake]{--accent:var(--quake)}
.map-popup{position:absolute;right:8%;bottom:105px;width:min(340px,38%);z-index:7;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow);pointer-events:auto}.map-popup .popup-close{position:absolute;right:8px;top:8px;width:36px;height:36px;border:0;background:transparent;font-size:22px}.map-popup .popup-place{font:600 .66rem/1.4 var(--utility);color:var(--accent);padding-right:25px;margin:0 0 10px}.map-popup h3{font:650 1.3rem/1.2 var(--display);margin:0 0 10px;padding-right:15px}.map-popup .popup-note{font:.65rem/1.5 var(--utility);margin:0 0 12px;color:var(--muted)}.map-popup .popup-open{font:650 .85rem/1.3 var(--display);min-height:44px;display:flex;align-items:center;justify-content:space-between}.map-popup .popup-reset{font:500 .65rem var(--utility);background:transparent;border:0;padding:7px 0;min-height:35px;color:var(--muted)}.explore-step{min-height:125svh;padding-top:10svh;padding-bottom:14svh}.explorer-card{pointer-events:auto;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);width:34%;max-width:470px;padding:28px}.explorer-card h2{font:650 2.4rem/1.12 var(--display);letter-spacing:-.035em;margin:0 0 16px}.explorer-card>p:not(.eyebrow){font-size:.95rem;line-height:1.6}.explorer-card label{display:block;font:600 .74rem/1.4 var(--display);margin-bottom:8px}.explorer-card input{width:100%;min-height:48px;padding:11px 12px;border:1px solid var(--muted);background:var(--paper);border-radius:4px;font:500 .85rem/1.4 var(--display)}.filters{display:flex;flex-wrap:wrap;gap:6px;margin:15px 0}.filters button{padding:9px 10px;min-height:38px;font:600 .71rem/1.2 var(--display);border-radius:4px;background:transparent}.filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}#result-count{font:500 .65rem var(--utility);color:var(--muted)}#quick-results{max-height:230px;overflow:auto;overscroll-behavior:contain;margin:10px 0;border-top:1px solid var(--line)}.quick-result{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 4px;font:600 .86rem/1.3 var(--display)}.quick-result small{display:block;font:500 .61rem/1.4 var(--utility);color:var(--muted);margin-top:5px}.quick-result:hover{background:var(--paper)}.explorer-reset{min-height:44px;padding:6px 0;border:0;background:transparent;font:600 .72rem var(--utility);display:block;color:var(--accent)}.explorer-card>.text-link{display:block;padding-top:12px}.stage.exploring #map{cursor:grab;touch-action:none}.stage.exploring #map:active{cursor:grabbing}.stage.exploring .map-hint{display:none}
.section{position:relative;z-index:5;padding:95px max(6%,calc((100% - 1250px)/2));background:var(--paper)}.section-intro{max-width:680px;margin-bottom:45px}.section h2{font:650 2.8rem/1.13 var(--display);letter-spacing:-.035em;margin:0 0 20px}.section-intro>p:last-child{color:var(--muted)}.project-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:32px 42px}.project-row{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:start;padding-top:25px;border-top:1px solid var(--line);scroll-margin-top:80px}.project-image{border-radius:4px;overflow:hidden;margin-top:5px}.project-image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.category{font:500 .62rem/1.4 var(--utility);color:var(--muted)}.project-row h3{font:650 1.22rem/1.3 var(--display);margin:7px 0 12px;letter-spacing:-.01em}.project-row h3 a{text-decoration:none}.project-row h3 a:hover{text-decoration:underline;text-underline-offset:4px}.project-row p{font-size:.91rem;line-height:1.65;margin:0;color:var(--muted)}.locate{padding:10px 0;border:0;background:transparent;min-height:44px;font:600 .72rem/1.4 var(--display);text-decoration:underline;text-underline-offset:4px}.catalog>.button{margin-top:35px}.method{border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.method h2{font-size:2rem}.method p{margin-top:0}.method .small{font-size:.78rem;line-height:1.7;color:var(--muted)}.legend{font:500 .72rem/1.5 var(--utility);margin:25px 0;display:flex;flex-direction:column;gap:13px}.legend span{display:flex;align-items:center;gap:13px}.legend-dot,.legend-diamond{display:inline-block;width:10px;height:10px;background:var(--accent);flex-shrink:0}.legend-dot{border-radius:50%}.legend-diamond{transform:rotate(45deg)}footer{position:relative;z-index:5;background:var(--surface);border-top:1px solid var(--line);padding:28px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px;font:500 .7rem/1.6 var(--utility);color:var(--muted)}footer a{min-height:44px;display:flex;align-items:center}footer a:first-child{font-weight:700;color:var(--ink)}.reading-rail{position:fixed;right:11px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:3px;z-index:50}.reading-rail a{display:flex;align-items:center;justify-content:flex-end;min-height:24px;text-decoration:none}.reading-rail i{display:block;width:6px;height:6px;border-radius:50%;background:var(--muted);margin:0 6px;opacity:.5}.reading-rail a[aria-current] i{background:var(--accent);opacity:1;transform:scale(1.5)}.reading-rail span{position:absolute;right:27px;white-space:nowrap;background:var(--surface);border:1px solid var(--line);border-radius:3px;padding:6px 10px;font:500 .64rem/1.3 var(--utility);opacity:0;pointer-events:none}.reading-rail a:hover span,.reading-rail a:focus-visible span{opacity:1}#to-top{position:fixed;z-index:90;right:20px;bottom:max(18px,env(safe-area-inset-bottom));width:44px;height:44px;border-radius:50%;box-shadow:var(--shadow);font-size:21px}.map-error #map{display:none}.map-error .map-hint{display:none}
@media(min-width:1800px){.hero h1{font-size:7rem}.hero-copy{max-width:650px}.story-card,.explorer-card{max-width:500px}.story-card h2,.explorer-card h2{font-size:2.8rem}}
@media(max-width:1150px){.hero h1{font-size:4.8rem}.hero-copy{width:43%}.story-card,.explorer-card{width:39%;padding:24px}.story-card h2,.explorer-card h2{font-size:2rem}.step{padding-left:3.5%}.reading-rail{display:none}.map-heading{right:9%}.section{padding-left:5%;padding-right:5%}.project-row{grid-template-columns:95px 1fr}.project-list{gap:28px}.hero-actions{gap:10px}.hero-actions .text-link{font-size:.7rem}}
@media(max-width:760px){:root{--bar:54px}html{scroll-padding-top:calc(var(--bar) + 37svh + 12px)}body{font-size:17px}.topbar{padding:0 16px;font-size:.65rem}.topbar nav{gap:13px}.nav-journey{display:none!important}.topbar nav a{font-size:.66rem}.topbar button{width:36px;height:36px}.stage{height:37svh;min-height:200px;z-index:4;border-bottom:1px solid var(--line)}.stage::after{display:none}.steps{margin-top:0;z-index:auto}.hero{min-height:0;padding:30px 20px 65px}.hero-copy{width:100%;max-width:none}.hero .eyebrow{font-size:.58rem;margin-bottom:17px}.hero h1{font-size:3.6rem;line-height:.98;letter-spacing:-.055em;margin-bottom:19px}.lede{font-size:1.02rem;line-height:1.65;margin-bottom:16px;max-width:500px}.hero-count{margin:20px 0;gap:12px}.hero-count strong{font-size:2.7rem}.hero-count span{font-size:.63rem}.hero-actions{gap:17px}.hero-actions .text-link{font-size:.75rem}.hero .button{font-size:.78rem}.share-row{margin-top:15px}.share-row>a,.share-row>button{width:40px;height:40px}.share-row>span:first-child{font-size:.56rem}.step:not(.hero){min-height:95svh;padding:28px 18px 35svh;scroll-margin-top:calc(var(--bar) + 37svh)}.story-card,.explorer-card{width:100%;max-width:570px;margin:auto;padding:24px;border-radius:6px;box-shadow:none}.story-card h2,.explorer-card h2{font-size:2rem}.story-deck{font-size:1rem}.chapter-image{margin:0 0 15px}.chapter-projects a{font-size:.91rem;min-height:50px}.map-heading{left:14px;right:auto;top:12px;align-items:flex-start;gap:4px}.map-heading-name{font-size:.78rem}#map-scene{font-size:.55rem}.north{right:18px;top:13px;font-size:1.5rem}.north span{font-size:.5rem;margin-top:3px}.map-tools{right:12px;top:auto;bottom:44px;gap:4px}.map-tools button{width:36px;height:36px;font-size:1.3rem}.map-caption{bottom:8px;left:14px;right:14px;gap:9px;font-size:.48rem;align-items:center}#scale{min-width:45px;padding-bottom:3px}.map-hint{bottom:38px;left:14px;max-width:72%;font-size:.51rem;padding:5px 7px}.map-popup{right:60px;left:12px;bottom:38px;width:auto;padding:13px;max-width:400px}.map-popup .popup-place{font-size:.58rem;line-height:1.35;margin-bottom:5px}.map-popup h3{font-size:1rem;line-height:1.15;margin-bottom:5px;max-height:2.3em;overflow:hidden}.map-popup .popup-note{font-size:.52rem;line-height:1.3;margin-bottom:4px;max-width:90%}.map-popup .popup-open{font-size:.7rem;min-height:35px}.map-popup .popup-reset{display:none}.map-popup .popup-close{height:30px;width:30px;top:4px;right:4px;font-size:21px}.stage.has-popup .map-hint{display:none}.explore-step{padding-bottom:25svh!important}.explorer-card{padding:24px 20px}.explorer-card>p:not(.eyebrow){font-size:.96rem}.filters{gap:6px}.filters button{min-height:44px;padding:10px;font-size:.72rem}#quick-results{max-height:240px}.section{padding:55px 20px;scroll-margin-top:calc(var(--bar) + 16px)}.section h2{font-size:2rem;line-height:1.2}.section-intro{margin-bottom:28px}.project-list{display:block}.project-row{grid-template-columns:86px 1fr;gap:15px;padding-top:22px;margin-bottom:23px}.project-row h3{font-size:1.1rem}.project-row p{font-size:.87rem;line-height:1.6}.category{font-size:.55rem}.method{display:block}.method>div:first-child{margin-bottom:25px}.method h2{font-size:1.6rem}.method p{font-size:.95rem}.legend{font-size:.65rem}footer{padding:20px;align-items:flex-start;flex-wrap:wrap;gap:10px 25px;font-size:.61rem}footer span{order:3;flex-basis:100%}.reading-rail{display:none}#to-top{right:12px;bottom:12px;width:44px;height:44px}.catalog .button{width:100%}}
@media(max-width:360px){.hero h1{font-size:3.1rem}.topbar nav{gap:9px}.hero{padding-inline:16px}.hero .button{padding-inline:13px}.story-card{padding:20px}.map-heading-name{font-size:.69rem}.map-caption{font-size:.45rem}}
@media(max-height:700px) and (min-width:761px){.hero{padding-top:28px;padding-bottom:25px}.hero h1{font-size:4.7rem;margin-bottom:20px}.lede{font-size:1.02rem;line-height:1.5;margin-bottom:18px}.hero-count{margin:18px 0}.hero-count strong{font-size:2.8rem}.hero .share-row{margin-top:12px}.step:not(.hero){padding-top:8svh}.story-card{padding:23px}.story-card h2{font-size:2rem}.chapter-image{display:none}.explorer-card{padding:20px}.explorer-card h2{font-size:2rem}#quick-results{max-height:140px}.explorer-card>p:not(.eyebrow){font-size:.85rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.topbar,.stage,.reading-rail,.share-row,button,.explorer-card{display:none!important}.steps{margin:0}.step{min-height:0;padding:20px 0}.hero-copy,.story-card{width:100%;max-width:none;border:0}.hero h1{font-size:36pt}.project-list{display:block}.section{padding:20px 0}.method{display:block}}
/* The root scroll padding owns anchor offsets; adding them to steps would double them. */
.step{scroll-margin-top:0}
@media(max-width:760px){.step:not(.hero){scroll-margin-top:0}}
.other-projects{display:flex;flex-direction:column;gap:4px;margin:7px 0}.other-projects button{font:600 .72rem/1.3 var(--display);text-align:left;border:0;background:transparent;padding:8px 0;border-top:1px solid var(--line)}
@media(max-width:760px){.other-projects{display:none}}
.archive-image{margin:0 0 20px}.archive-image img{width:100%;height:auto;border-radius:3px}.archive-image figcaption{font:500 .58rem/1.6 var(--utility);color:var(--muted);margin-top:8px}.popup-projects{width:100%;font:600 .88rem/1.4 var(--display);padding:10px 6px;min-height:44px;background:var(--paper);color:var(--ink);border:1px solid var(--line);margin-bottom:8px;border-radius:3px}
@media(max-width:760px){.popup-projects{font-size:.75rem;min-height:36px;padding:6px}}
@media(max-height:700px) and (min-width:761px){.archive-image{display:none}}
.map-fallback .fallback-hit{fill:transparent;stroke:transparent;stroke-width:44px;vector-effect:non-scaling-stroke;pointer-events:all}.map-fallback .fallback-reference{fill:var(--accent);stroke:var(--surface);stroke-width:1px;pointer-events:none;vector-effect:non-scaling-stroke}
@media(max-width:760px){.map-tools button{width:44px;height:44px}.map-popup .popup-reset{display:inline-flex;min-height:35px;font-size:.58rem;padding:5px 0}.map-popup .popup-open{min-height:35px}.map-popup{max-height:calc(100% - 40px);overflow:auto}.map-popup .popup-reset:focus-visible{outline-offset:1px}}
.topbar button{width:44px;height:44px}.map-popup .popup-close{width:44px;height:44px;top:0;right:0}.map-popup .popup-place{padding-right:32px}.explorer-reset{margin:7px 0 4px}.hero-count span{max-width:210px}
html:not(.enhanced) .explore-step,html:not(.enhanced) .chapter-explore,html:not(.enhanced) .locate{display:none!important}
@media(pointer:coarse){.share-row>a,.share-row>button{width:44px;height:44px}.map-popup .popup-open,.map-popup .popup-reset{min-height:44px}}
.hero h1,.section h2,.story-card h2,.explorer-card h2{overflow-wrap:normal;word-break:normal;hyphens:none}.quick-item{display:grid;grid-template-columns:minmax(0,1fr) 44px}.quick-open{display:flex;align-items:center;justify-content:center;min-height:44px;text-decoration:none;border-bottom:1px solid var(--line);font:600 1rem var(--display)}.quick-title{display:none}
/* At extreme zoom or in a shallow landscape window, normal flow leaves the text readable. */
@media(max-width:760px) and (max-height:500px){.topbar{position:relative}.stage{position:relative;top:0;height:200px;min-height:0}.north{display:none}.step:not(.hero){min-height:0;padding-bottom:60px;scroll-margin-top:0}html{scroll-padding-top:12px}.quick-item{display:block}.quick-result{display:none}.quick-open{justify-content:space-between;gap:16px;padding:12px 4px;font-size:.86rem}.quick-title{display:inline}.explore-step{padding-bottom:60px!important}}
/* Whole words at every text size, including Romanian headings. */
body{hyphens:none;word-break:normal;overflow-wrap:normal}.project-row>div,.chapter-projects a,.quick-result{min-width:0}
.address-form{border-block:1px solid var(--line);padding:18px 0;margin:24px 0 16px;position:relative}.address-input{display:flex;gap:5px}.address-input input{min-width:0}.address-input button{width:48px;flex-shrink:0;border-radius:4px;font-size:1.6rem}.search-help,.explorer-card .search-help{font:500 .62rem/1.6 var(--utility);color:var(--muted);margin:10px 0}
#address-options{list-style:none;padding:0;margin:6px 0;max-height:300px;overflow:auto;border:1px solid var(--line);background:var(--surface)}#address-options button{display:block;text-align:left;width:100%;padding:11px 12px;border:0;border-bottom:1px solid var(--line);font:600 .83rem/1.4 var(--display)}#address-options small{display:block;color:var(--muted);font:500 .6rem/1.5 var(--utility);margin-top:4px}#address-options [aria-selected=true] button,#address-options button:hover{background:var(--ink);color:var(--paper)}#address-options [aria-selected=true] small,#address-options button:hover small{color:var(--paper)}
.nearby{margin:18px 0 25px;border-bottom:1px solid var(--line);padding-bottom:18px}#chosen-address{font:650 1.2rem/1.3 var(--display);margin:0 0 15px}#near-radius{width:100%;min-height:44px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:8px 12px;font:600 .85rem var(--display)}#near-count{font:600 .75rem/1.5 var(--display)}#near-results{max-height:330px;overflow:auto;overscroll-behavior:contain}.near-item{padding:12px 0;border-top:1px solid var(--line)}.near-item>a{display:flex;gap:12px;justify-content:space-between;align-items:center;font:650 .9rem/1.35 var(--display);min-height:44px;text-decoration:none}.near-item>a:hover{text-decoration:underline}.near-distance{white-space:nowrap;font:500 .67rem/1.4 var(--utility);color:var(--accent)}.near-item>p{font:500 .62rem/1.5 var(--utility);color:var(--muted);margin:4px 0}.near-item>button{border:0;background:transparent;min-height:44px;padding:7px 0;font:600 .7rem var(--display);text-decoration:underline;text-underline-offset:3px}#citywide{margin-top:15px}#citywide summary{font:600 .8rem/1.5 var(--display);cursor:pointer;padding:10px 0}#citywide-results a{display:block;font:600 .8rem/1.4 var(--display);padding:10px 0;min-height:44px}#citywide-results{max-height:230px;overflow:auto}
#map-3d{position:absolute;inset:0;width:100%;height:100%}.stage.mode-3d #map{background:transparent;cursor:grab}.stage.mode-3d .north{display:none}.map-tools #map-mode,.map-tools #map-north{font:650 .75rem/1 var(--display)}#map-mode[aria-pressed=true]{background:var(--ink);color:var(--paper)}#map-mode-status{position:absolute;z-index:3;left:49%;right:10%;bottom:75px;background:var(--paper);padding:8px 12px;color:var(--muted);font:500 .61rem/1.5 var(--utility);pointer-events:none}.stage.mode-3d #scale{display:none}.stage.mode-3d .map-caption{justify-content:flex-end;gap:22px}.stage.mode-3d .map-hint{display:none}
@media(max-width:760px){#map-mode-status{left:14px;right:68px;bottom:33px;font-size:.49rem;max-height:4.7em;overflow:hidden}.stage.has-popup #map-mode-status{display:none}.map-tools{bottom:38px;gap:3px}.map-tools #map-north{display:none}.stage.mode-3d .map-caption{justify-content:space-between}.hero h1{font-size:clamp(2.7rem,14vw,3.6rem)}.story-card h2,.explorer-card h2{font-size:clamp(1.65rem,8vw,2rem)}.section h2{font-size:clamp(1.65rem,8vw,2rem)}}
.stage.mode-3d #map{touch-action:none}.near-item>a>span:first-child{min-width:0}.map-tools{top:32%}
@media(max-width:760px){.map-tools{top:auto}.stage.mode-3d #map-mode-status{display:none}.map-tools #map-mode{border-width:2px}.stage.mode-3d .map-heading-name::after{content:' · 3D'}}
.near-reset{display:block;min-height:44px;background:transparent;border:0;padding:0 0 12px;color:var(--accent);font:600 .72rem var(--utility)}#near-more{min-height:44px;background:transparent;padding:10px 0;border:0;font:600 .74rem var(--display);text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px) and (max-height:500px){.map-tools{flex-direction:row;right:12px;bottom:38px;top:auto}}
html:not(.js) :is(.project-image,.chapter-image):has(> img:not([src])){display:none}
html:not(.js) .project-row:has(> .project-image > img:not([src])){grid-template-columns:1fr}
