/* Reading, imagery and navigation enhancements. */
.header-links{flex-shrink:0}.all-pages>summary{white-space:nowrap}.visual-notes:empty{display:none}.reading-figure.photograph img{object-fit:contain;background:#e6e8dd}.report-section{scroll-margin-top:1rem}
html{scroll-padding-top:7rem}.masthead{position:sticky;top:0;z-index:60;min-height:88px;padding:.7rem max(1.25rem,calc((100vw - 1440px)/2));box-shadow:0 2px 12px #071f1626}.brand{display:flex;align-items:center;gap:.7rem;line-height:1.2}.brand img{width:48px;height:48px;border-radius:9px}.brand small{margin-top:.25rem}.header-links{display:flex;align-items:center;gap:1.4rem}.header-links>a{color:#e5edcf}.all-pages{position:relative}.all-pages>summary{list-style:none;display:flex;gap:.6rem;align-items:center;padding:.55rem .8rem;border:1px solid #7d9d8b;border-radius:4px;font-weight:650}.all-pages>summary::-webkit-details-marker{display:none}.all-pages>summary::after{content:'+';font-size:1.3rem}.all-pages[open]>summary::after{content:'−'}.all-pages>nav{position:absolute;right:0;top:calc(100% + 1.1rem);width:min(680px,92vw);max-height:calc(100dvh - 120px);overflow:auto;background:var(--white);border:1px solid var(--line);box-shadow:0 18px 40px #031b1733;padding:1.25rem;display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1.2rem;color:var(--ink)}.all-pages nav a{display:block;text-decoration:none;padding:.45rem .55rem;border-left:3px solid transparent;color:var(--ink)}.all-pages nav a[aria-current=page]{border-left-color:var(--copper);background:#e7ecd9;font-weight:700}.menu-heading{grid-column:1/-1;margin:.6rem 0 .15rem;font-weight:750;border-bottom:1px solid var(--line);padding-bottom:.25rem}.reading-progress{position:absolute;bottom:0;left:0;width:100%;height:3px;background:#93ad9d33}.reading-progress span{display:block;width:var(--read-progress,0%);height:100%;background:#e1b369}.page-hero{margin:0;background:#122e26;color:#fff;position:relative;isolation:isolate;min-height:470px;display:grid;align-items:end;overflow:hidden}.hero-image{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#061f18f2 0%,#0b241cdb 24%,#0b241c88 49%,#0b241c0d 81%),linear-gradient(0deg,#071c1575,transparent 70%)}.hero-copy{width:100%;max-width:1440px;margin:0 auto;padding:3.1rem 2.4rem 2.7rem}.hero-copy .eyebrow{color:#e9c28d;margin-bottom:1rem}.hero-copy h1,body:not([data-page="overview"]) .hero-copy h1{color:#fff;font-size:clamp(2.5rem,4.3vw,4.6rem);max-width:21ch;line-height:1.07;margin:0 0 1.1rem;text-wrap:balance}.hero-copy .lede{color:#f1f3e7;max-width:50ch;font-size:1.27rem;margin:.6rem 0 0;text-shadow:0 1px 4px #00180c}.hero-credit{margin:0;background:#14372e;color:#dce6d6;padding:.65rem max(1.25rem,calc((100vw - 1360px)/2));font-size:1.125rem;line-height:1.45}.hero-credit a{color:#e8c78d}.hero-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.3rem}.hero-actions a{border-color:#d9e5c4;background:#dceab7;color:#153429}.hero-actions .secondary{border-color:#a1b7a5;color:#fff;background:#17372a99}.metadata-hero{min-height:270px;background:#173c32}.metadata-hero .hero-copy{padding-top:2.5rem}.breadcrumb{color:var(--muted);display:flex;gap:.6rem;flex-wrap:wrap;margin:0 0 1rem}.breadcrumb a{font-weight:650}.rail{top:88px;max-height:calc(100dvh - 88px)}.rail .section-nav{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.rail .section-nav nav a{padding:.4rem .5rem;border:0;font-size:1.125rem;line-height:1.5}.rail .nav-label{font-weight:750;margin:.8rem 0 .3rem}.chapter-meta{display:flex;gap:.5rem 1.5rem;flex-wrap:wrap;align-items:center;margin-bottom:1.4rem;color:var(--muted)}.chapter-meta p{margin:.2rem 0}.chapter-meta .jump-calculator{font-weight:700}.reading-figure{margin:2rem 0 2.3rem;break-inside:avoid;max-width:100%}.reading-figure picture{display:block;background:#e6e8dd;overflow:hidden;border-radius:5px}.reading-figure img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain}.reading-figure.photograph img{object-fit:cover;max-height:490px}.reading-figure figcaption{font-size:1.125rem;line-height:1.55;padding:.8rem 0;border-bottom:1px solid var(--line);color:var(--ink)}.reading-figure .credit{display:block;margin-top:.45rem;color:var(--muted)}.reading-figure .credit a{overflow-wrap:anywhere}.reading-figure .figure-label{display:block;text-transform:uppercase;letter-spacing:.07em;font-weight:750;color:var(--copper);margin-bottom:.35rem}.visual-notes{margin:2rem 0}.visual-credit-entry{padding:1.4rem 0;border-top:1px solid var(--line)}.visual-credit-entry img{display:block;width:100%;max-width:640px;height:auto;border-radius:4px}.visual-credit-entry h2{font-size:1.8rem;margin:1rem 0}.visual-credit-entry details{margin:1rem 0}.visual-credit-entry blockquote{margin:1rem 0;padding-left:1rem;border-left:3px solid var(--copper);white-space:normal}.site-footer{padding:0;background:#e6eadf}.page-sequence{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;border-top:1px solid #9ab3a4;border-bottom:1px solid #9ab3a4;padding:1.4rem max(1.25rem,calc((100vw - 1360px)/2));align-items:stretch}.page-sequence a{margin:0;display:flex;flex-direction:column;justify-content:center;padding:.6rem .8rem;text-decoration:none;line-height:1.45}.page-sequence a:hover{background:#d7e1c8}.page-sequence a:last-child{text-align:right;align-items:flex-end}.sequence-direction{font-size:1.125rem;color:var(--muted);font-weight:650}.sequence-title{font-weight:750;color:var(--green);font-size:1.2rem}.sequence-index{align-items:center;min-width:140px;text-align:center;border-left:1px solid var(--line);border-right:1px solid var(--line)}.sequence-start{display:flex;align-items:center;padding:.6rem .8rem;color:var(--muted)}.footer-inner{max-width:1440px;margin:auto;padding:1.8rem 2rem 2.4rem}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}.footer-grid h2{font-size:1.2rem;margin:0 0 .7rem}.footer-grid a{display:block;margin:0 0 .55rem}.footer-grid p{margin:.5rem 0}.footer-bottom{display:flex;gap:1.5rem;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1rem}.footer-bottom p{margin:0}.back-top{display:block;margin-left:auto;width:fit-content;max-width:calc(100vw - 2rem);padding:.65rem 1rem;background:var(--green);color:white;border:1px solid #c8d9bc;border-radius:5px;text-decoration:none;font-weight:700}.back-top.is-floating{position:fixed;right:1.2rem;bottom:max(1.2rem,env(safe-area-inset-bottom));z-index:55;box-shadow:0 4px 18px #031d1640}.back-top:hover{background:#2a5647}.back-top span{margin-right:.4rem}.page-directory{list-style:none;padding:0}.page-directory li{padding:1rem 0;border-bottom:1px solid var(--line)}.page-directory a{font-size:1.3rem;font-weight:700}.page-directory p{margin:.35rem 0 0}.licence-text h2{font-size:1.7rem}.licence-text ul{padding-left:1.4rem}.licence-text li{margin:.55rem 0}.no-results{display:none}body[hidden]{display:none}
@media(min-width:1200px){.results{top:105px;max-height:calc(100dvh - 125px)}}
@media(max-width:1050px){.header-links{gap:.8rem}.header-links>a{display:none}.hero-copy{padding:2.7rem 1.5rem}.page-hero{min-height:450px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>section:first-child{grid-column:1/-1}}
@media(max-width:720px){html{scroll-padding-top:6.5rem}.masthead{min-height:80px;padding:.6rem .9rem;gap:.5rem}.brand{font-size:1.125rem;gap:.5rem}.brand small{display:none}.brand img{width:38px;height:38px}.masthead>.header-links{display:flex}.all-pages>summary{padding:.45rem .6rem}.all-pages>nav{position:fixed;top:79px;right:.6rem;left:.6rem;width:auto;max-height:calc(100dvh - 95px);grid-template-columns:1fr;padding:1rem}.menu-heading{margin-top:.8rem}.page-hero{min-height:470px}.hero-copy{padding:2.3rem 1.15rem 1.9rem}.hero-copy h1,body:not([data-page="overview"]) .hero-copy h1{font-size:2.4rem;max-width:18ch}.hero-copy .lede{font-size:1.125rem;max-width:36ch}.hero-image{object-position:64% center}.hero-shade{background:linear-gradient(90deg,#051d18eb 0%,#09261bc9 58%,#10281d70),linear-gradient(0deg,#062116af,transparent)}.hero-credit{padding:.65rem 1.1rem}.hero-actions .button{font-size:1.125rem}.rail{top:auto;max-height:none}.rail .section-nav{display:none}.page-sequence{grid-template-columns:1fr 1fr;padding:1rem;gap:.5rem}.page-sequence .sequence-index{grid-column:1/-1;grid-row:2;border:0;border-top:1px solid var(--line);padding-top:1rem}.sequence-title{font-size:1.125rem}.sequence-start{font-size:1.125rem}.footer-inner{padding:1.4rem 1.15rem 5rem}.footer-grid{grid-template-columns:1fr;gap:1.5rem}.footer-grid>section:first-child{grid-column:auto}.reading-figure{margin:1.5rem 0 1.8rem}.reading-figure img{max-height:none}.reading-figure.photograph img{max-height:340px}.reading-figure figcaption{padding:.65rem 0}.metadata-hero{min-height:280px}.back-top.is-floating{right:.8rem;bottom:.8rem}.hero-actions{gap:.5rem}.chapter-meta{display:block}}
@media(prefers-reduced-motion:reduce){.reading-progress{display:none}html{scroll-behavior:auto}}
.reading-figure.photograph img{object-fit:contain;background:#e6e8dd}
@media print{.masthead,.page-sequence,.hero-credit,.hero-actions,.back-top,.footer-inner{display:none!important}.page-hero{min-height:0;background:white;color:black;display:block}.hero-image,.hero-shade{display:none}.hero-copy{padding:0}.hero-copy h1,body:not([data-page="overview"]) .hero-copy h1,.hero-copy .lede{color:black;text-shadow:none}.hero-copy h1{font-size:24pt}.hero-copy .eyebrow{color:black}.reading-figure img{max-height:350px;object-fit:contain}.reading-figure figcaption{font-size:10pt}.breadcrumb,.chapter-meta{display:none}}
.city-controls{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:1rem;position:sticky;top:100px;z-index:5;background:#eef0e4;padding:1rem}.city-controls label{min-width:0;font-weight:600}.city-controls select,.city-controls input{display:block;width:100%;min-width:0;margin-top:.4rem}#city-chart svg{display:block;width:100%;height:auto}#city-planner table{font-size:1rem}#city-planner .table-wrap{overflow-x:auto}@media(max-width:720px){.city-controls{position:static;grid-template-columns:1fr}.city-controls select,.city-controls input{font-size:1rem}}
#city-chart{max-width:800px;margin:1.2rem 0}#city-chart text{font-size:17px}#city-planner button{margin:.4rem .4rem .4rem 0}#city-calculator{scroll-margin-top:8rem}.city-controls select{font-size:1rem}
