@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('dm-sans-400.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('dm-sans-500.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('dm-sans-600.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('dm-sans-700.ttf') format('truetype')}
/* Railway atlas: strong type, fine rules, a persistent guide index. */
:root{color-scheme:light;--sans:'DM Sans',Arial,sans-serif;--ink:#191919;--muted:#626262;--paper:#fff;--soft:#f4f4f4;--surface:#fff;--line:#dcdcdc;--accent:#c12b37;--selected:#f6e8ea;--header:#fffffff5;--sidebar:#f8f8f8;--sidebar-width:228px;--header-height:0px;--note:#f4f4f4}
:root[data-theme=dark]{color-scheme:dark;--ink:#f0f0f0;--muted:#b5b5b5;--paper:#111;--soft:#1a1a1a;--surface:#171717;--line:#373737;--accent:#eee;--selected:#292929;--header:#111111f5;--sidebar:#151515;--note:#222}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 78px)}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.75 var(--sans);padding-left:var(--sidebar-width)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.17;letter-spacing:-.04em;font-weight:600}h2{font-size:2.1rem}h3{font-size:1.25rem}p+p{margin-top:1em}a{color:inherit;text-underline-offset:4px}img{display:block;max-width:100%;height:auto}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,summary,select{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}.wrap{width:min(1120px,calc(100% - 88px));margin-inline:auto;min-width:0}.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}.skip{position:fixed;left:16px;top:-100px;background:var(--paper);color:var(--ink);padding:10px 18px;z-index:100}.skip:focus{top:12px}
/* The left menu is the site's table of contents. */
.header{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);background:var(--sidebar);border-right:1px solid var(--line);z-index:40;overflow-y:auto}.nav{width:100%;min-height:100%;padding:33px 22px 23px;display:flex;flex-direction:column;gap:0}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:1.03rem;letter-spacing:-.045em;line-height:1.25;font-weight:700}.brand-icon{width:26px;height:35px;flex:none;color:var(--accent)}.brand small{display:block;font-size:.75rem;line-height:1.5;letter-spacing:0;font-weight:400;margin-top:5px;color:var(--muted)}.nav-links{display:flex;flex-direction:column;gap:3px;margin:36px 0 35px;counter-reset:navitem}.nav-links a{display:grid;grid-template-columns:23px 1fr;align-items:baseline;gap:8px;padding:12px 9px;text-decoration:none;font-size:.88rem;line-height:1.45;border-radius:3px;color:var(--muted)}.nav-links a::before{counter-increment:navitem;content:counter(navitem,decimal-leading-zero);font-size:.68rem;letter-spacing:.03em;color:var(--muted);font-variant-numeric:tabular-nums}.nav-links a:hover{background:var(--soft);color:var(--ink)}.nav-links a[aria-current=page]{background:var(--selected);color:var(--ink);font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}.nav-links a[aria-current=page]::before{color:var(--accent)}.nav-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:auto;padding-top:20px;border-top:1px solid var(--line)}.language-control{display:flex;align-items:center;gap:8px;min-height:44px;grid-column:1/-1;grid-row:1;border:1px solid var(--line);background:var(--surface);border-radius:4px;padding:0 11px;min-width:0}.language-icon{width:17px;height:17px;color:var(--muted);flex:none}.language-control select{width:100%;min-width:0;font-size:.875rem;color:var(--ink);background:transparent;border:0;padding:10px 0}.language-control:focus-within{outline:2px solid var(--accent);outline-offset:3px}.language-control select:focus{outline:none}.header-search,.theme-toggle{display:grid;place-items:center;width:100%;height:42px;background:var(--surface);border:1px solid var(--line);border-radius:4px;color:var(--ink);padding:0}.header-search{grid-column:1;grid-row:2}.theme-toggle{grid-column:2;grid-row:2}.header-search:hover,.theme-toggle:hover{background:var(--soft)}.header-search svg,.theme-toggle svg{width:20px;height:20px}.theme-toggle .sun-icon{display:none}[data-theme=dark] .theme-toggle .sun-icon{display:block}[data-theme=dark] .theme-toggle .moon-icon{display:none}.menu-toggle{display:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:4px;min-height:42px;padding:8px 13px;font-size:.875rem}
/* Shared editorial rhythm. */
.section{padding:64px 0}.soft{background:var(--soft)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:30px}.section-head>p{max-width:440px;color:var(--muted);font-size:.96rem}.section-head h2{max-width:720px}.eyebrow,.location{display:block;color:var(--accent);font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px;line-height:1.6}.text-link{font-size:.9rem;font-weight:500;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:3px;line-height:1.6}.text-link:hover{color:var(--accent);border-color:var(--accent)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 19px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);text-decoration:none;border-radius:3px;font-size:.9rem;font-weight:500;line-height:1.5}.button:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}.button.outline{background:transparent;color:var(--ink);border-color:var(--line)}.button.outline:hover{border-color:var(--ink);background:var(--soft)}.lead{font-size:1.08rem;line-height:1.8;color:var(--muted)}.source-link{font-size:.75rem;color:var(--muted);text-decoration:none;white-space:nowrap;vertical-align:super}.note{border-left:3px solid var(--accent);background:var(--note);padding:20px 24px;color:var(--muted);font-size:.94rem;margin-top:24px;line-height:1.75}.note strong{display:block;color:var(--ink);margin-bottom:6px}.page-intro{padding:42px 0 40px;border-bottom:1px solid var(--line)}.breadcrumb{display:flex;flex-wrap:wrap;gap:11px;font-size:.8rem;color:var(--muted);margin-bottom:25px}.breadcrumb a{text-decoration:none}.page-intro h1{font-size:clamp(2.4rem,4.4vw,4.4rem);letter-spacing:-.065em;margin-bottom:22px;max-width:1050px;overflow-wrap:break-word}.page-intro .lead{max-width:760px}.section-nav{position:sticky;top:var(--header-height);z-index:25;background:var(--header);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.section-nav .wrap{display:flex;align-items:center;gap:25px;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}.section-nav a{font-size:.85rem;text-decoration:none;padding:16px 0 14px;border-bottom:2px solid transparent;color:var(--muted)}.section-nav a:hover,.section-nav a.current{color:var(--ink);border-bottom-color:var(--accent)}.section-nav strong{font-size:.73rem;text-transform:uppercase;letter-spacing:.06em;font-weight:500;color:var(--muted)}
/* A photographic arrival, with useful controls in the first viewport. */
.home-top{padding:33px 0 0}.masthead-top{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:13px}.masthead-top .location{margin:0}.masthead-top .text-link{font-size:.8rem;border:0}.city-title{font-size:clamp(3rem,7.35vw,7.4rem);letter-spacing:-.075em;line-height:1.08;margin:17px 0 20px;font-weight:600;overflow-wrap:break-word}.masthead-deck{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;margin-bottom:30px}.masthead-deck h2{font-size:clamp(1.65rem,2.35vw,2.4rem);font-weight:400;letter-spacing:-.045em}.masthead-deck p{font-size:.97rem;line-height:1.7;color:var(--muted);max-width:480px}.arrival-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);gap:0;border:1px solid var(--line);min-height:325px}.arrival-photo{position:relative;min-width:0;min-height:325px;background:#171717;overflow:hidden}.arrival-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:45% center}.arrival-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 18px 12px;color:#fff;background:linear-gradient(transparent,#000b);font-size:.75rem;line-height:1.5}.arrival-guide{background:var(--soft);padding:27px;display:flex;flex-direction:column}.arrival-guide>.eyebrow{color:var(--muted);font-size:.73rem;margin-bottom:17px}.guide-search{display:flex;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:3px;overflow:hidden}.guide-search:focus-within{outline:2px solid var(--accent);outline-offset:3px}.guide-search input{min-width:0;width:100%;padding:13px 12px;border:0;background:transparent;color:var(--ink);font-size:.94rem;line-height:1.5;outline:none}.guide-search input::placeholder{color:var(--muted);opacity:1}.guide-search button{padding:12px 15px;border:0;background:var(--ink);color:var(--paper);font-size:.85rem;font-weight:500;white-space:nowrap}.arrival-guide .guide-search{flex-direction:column}.arrival-guide .guide-search input{font-size:.875rem;padding:12px}.arrival-guide .guide-search button{padding:8px 12px}.quick-topics{display:flex;flex-direction:column;margin-top:17px}.quick-topics a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.875rem;line-height:1.5;text-decoration:none}.quick-topics a::after{content:'↗';font-size:1rem}.quick-topics a:last-child{border:0}.quick-topics a:hover{color:var(--accent)}
/* Numbered destinations echo a railway station directory. */
.guide-overview{padding-top:56px}.topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;border-top:1px solid var(--line)}.topic-card{position:relative;display:grid;grid-template-columns:32px 1fr 20px;column-gap:15px;text-decoration:none;padding:25px 0;border-bottom:1px solid var(--line);align-items:start;min-width:0}.topic-number{grid-column:1;grid-row:1/3;font-size:.77rem;color:var(--accent);font-variant-numeric:tabular-nums;padding-top:2px}.topic-card h3{grid-column:2;grid-row:1;font-size:1.2rem;letter-spacing:-.03em;margin-bottom:9px}.topic-card p{grid-column:2;grid-row:2;font-size:.925rem;color:var(--muted);line-height:1.7}.topic-arrow{grid-column:3;grid-row:1;color:var(--muted);font-size:1.2rem}.topic-card:hover h3,.topic-card:hover .topic-arrow{color:var(--accent)}.home-history{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--soft)}.history-intro{display:grid;grid-template-columns:1fr 1fr;gap:0 45px;align-items:start}.history-intro .eyebrow{grid-column:1/-1}.history-intro h2{max-width:360px;font-size:2.35rem}.history-intro p{font-size:1rem;color:var(--muted);line-height:1.8}.home-timeline{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;list-style:none;margin:42px 0 30px}.home-timeline::before{content:'';position:absolute;left:12.5%;right:12.5%;height:1px;top:85px;background:var(--line)}.home-timeline li{min-width:0;position:relative}.home-timeline a{display:grid;grid-template-rows:58px 18px auto;gap:18px;justify-items:center;text-align:center;text-decoration:none;padding:0 10px}.timeline-year{font-size:3.2rem;font-weight:400;letter-spacing:-.06em;line-height:1.1}.timeline-point{position:relative;z-index:1;width:15px;height:15px;border:3px solid var(--accent);border-radius:50%;background:var(--soft);box-shadow:0 0 0 6px var(--soft)}.timeline-label{font-size:.925rem;line-height:1.6;color:var(--muted);max-width:190px}.home-timeline a:hover .timeline-year,.home-timeline a:hover .timeline-label{color:var(--accent)}.timeline-more{text-align:center}.civic-banner{display:grid;grid-template-columns:.8fr 1.2fr;gap:46px;align-items:center}.civic-emblems{background:#fff;display:flex;align-items:center;justify-content:center;gap:25px;padding:26px;border:1px solid var(--line)}.civic-emblems img:first-child{width:57%;height:auto}.civic-emblems img:last-child{width:29%;height:auto;max-height:170px;object-fit:contain}.civic-banner h2{font-size:2.4rem;margin-bottom:20px}.civic-banner p{color:var(--muted);margin-bottom:21px}.featured-place{display:grid;grid-template-columns:1.3fr 1fr;gap:36px;align-items:center;border-top:1px solid var(--line);padding-top:35px}.featured-place>img{width:100%;aspect-ratio:1.55;object-fit:cover}.featured-place h2{margin-bottom:20px}.featured-place p{color:var(--muted);margin-bottom:23px}
/* History and editorial chapters. */
.page-layout{display:grid;grid-template-columns:185px minmax(0,1fr);gap:38px;padding:40px 0 65px;align-items:start}.page-layout>div{min-width:0}.toc{position:sticky;top:calc(var(--header-height) + 24px);border-left:1px solid var(--line);padding-left:16px}.toc strong{display:block;font-size:.8rem;color:var(--muted);font-weight:500;margin:0 0 13px}.toc a{display:block;font-size:.82rem;line-height:1.55;padding:8px 0;color:var(--muted);text-decoration:none}.toc a.current,.toc a:hover{color:var(--accent)}.history-start{display:flex;gap:25px;align-items:center;justify-content:space-between;padding:24px;background:var(--soft);margin-bottom:42px}.history-start strong{font-size:1rem;line-height:1.5}.history-start p{font-size:.9rem;color:var(--muted);margin:6px 0 0}.history-start .text-link{white-space:nowrap}.article-section{padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid var(--line)}.article-section:last-child{margin-bottom:0;border-bottom:0}.article-section h2{font-size:2rem;margin-bottom:24px}.article-section p{font-size:1.04rem;line-height:1.95;color:var(--muted);max-width:73ch}.article-section strong{color:var(--ink);font-weight:600}.article-section .large-image{width:100%;aspect-ratio:1.7;object-fit:cover;margin:28px 0 12px}.article-section .image-caption{font-size:.8rem;line-height:1.6}.quote{font-size:1.3rem;line-height:1.65;letter-spacing:-.02em;border-left:3px solid var(--accent);padding:5px 0 5px 24px;margin:28px 0;color:var(--ink)}.timeline-item{display:grid;grid-template-columns:90px 1fr;gap:25px;padding:22px 0;border-bottom:1px solid var(--line)}.timeline-item .year{font-size:.87rem;font-weight:600;color:var(--accent)}.timeline-item h3{font-size:1.13rem;margin-bottom:8px}.timeline-item p{font-size:.95rem;line-height:1.8}.timeline-item:last-child{border:0}
/* Places, visits and recommendations. */
.place{display:grid;grid-template-columns:1fr 1.05fr;gap:36px;align-items:start;padding:0 0 38px;margin-bottom:38px;border-bottom:1px solid var(--line)}.place-image{width:100%;height:330px;object-fit:cover}.place h2{font-size:2rem;margin-bottom:22px}.place p{font-size:1rem;line-height:1.85;color:var(--muted);margin-bottom:18px}.place strong{color:var(--ink)}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}.split p{color:var(--muted);margin-bottom:18px}.cards,.visit-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.cards>article,.visit-data>article{padding:25px 0;border-top:2px solid var(--ink);min-width:0}.cards h3,.visit-data h3{font-size:1.25rem;margin-bottom:18px;line-height:1.35}.cards p,.visit-data p{font-size:.96rem;color:var(--muted);line-height:1.8;margin-bottom:18px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:28px}.info-panel{background:var(--soft);padding:25px}.info-panel h3{font-size:1.2rem;margin-bottom:15px}.info-panel p{color:var(--muted);font-size:.97rem}.itinerary{counter-reset:steps}.itinerary article{position:relative;border-left:1px solid var(--line);margin-left:17px;padding:0 0 32px 42px;counter-increment:steps}.itinerary article:last-child{border-color:transparent;padding-bottom:0}.itinerary article::before{content:counter(steps,decimal-leading-zero);position:absolute;left:-17px;top:0;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);background:var(--paper);font-size:.76rem;color:var(--accent)}.itinerary h3{font-size:1.15rem;margin-bottom:9px}.itinerary p{font-size:1rem;margin-bottom:0;color:var(--muted)}details{border-top:1px solid var(--line);padding:18px 0}summary{display:flex;align-items:baseline;justify-content:space-between;gap:20px;list-style:none;font-size:1rem;font-weight:500;line-height:1.6}summary::-webkit-details-marker{display:none}summary::after{content:'+';flex:none;font-size:1.4rem;line-height:1;font-weight:400}details[open]>summary::after{content:'−'}details p{color:var(--muted);padding-top:15px;font-size:.98rem}
/* Directories: clear categories and readable listings. */
.directory-intro{display:flex;justify-content:space-between;align-items:baseline;gap:32px;padding:25px 0}.directory-intro p{font-size:.925rem;color:var(--muted);max-width:760px}.directory-intro .text-link{white-space:nowrap}.directory-section{padding:42px 0 48px;border-top:1px solid var(--line);counter-increment:directory}.directory-section .section-head{align-items:flex-start}.directory-section h2{font-size:2rem}.directory-section .section-head>p{font-size:.925rem;max-width:390px}.directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.directory-card{display:flex;flex-direction:column;min-width:0;background:var(--surface);border:1px solid var(--line);padding:26px;border-radius:3px}.directory-tag{font-size:.78rem;color:var(--accent);font-weight:500;line-height:1.5;margin-bottom:16px}.directory-card h3{font-size:1.28rem;line-height:1.35;margin-bottom:17px;overflow-wrap:break-word}.directory-card>p{font-size:.96rem;line-height:1.8;color:var(--muted);margin-bottom:20px}.directory-card>.text-link{align-self:flex-start;margin-top:auto;font-size:.875rem}.directory-actions{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:16px}.directory-actions .text-link{font-size:.8rem;font-weight:400;color:var(--muted)}.directory-card details{margin-top:18px;padding:12px 0 0}.directory-card details+details{margin-top:12px}.directory-card summary{font-size:.8rem;color:var(--muted);font-weight:400}.directory-card details a{display:block;font-size:.78rem;margin-top:10px;overflow-wrap:anywhere}.directory-card .planning-details summary{font-size:.875rem;font-weight:500;color:var(--ink)}.directory-card .planning-details p{font-size:.9rem;line-height:1.7}.directory-note{font-size:.94rem;color:var(--muted);max-width:850px}
/* Municipal symbols and civic history. */
.civic-shortcut{display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--soft);border-left:3px solid var(--accent);margin:30px 0 0;padding:25px}.civic-shortcut h2{font-size:1.4rem;margin-bottom:9px}.civic-shortcut p{font-size:.94rem;color:var(--muted)}.civic-shortcut .button{flex:none}.symbol-grid,.heritage-versions{display:grid;grid-template-columns:1fr 1fr;gap:28px}.symbol-card,.heritage-version{border:1px solid var(--line);min-width:0;background:var(--surface)}.symbol-art{display:flex;align-items:center;justify-content:center;background:#fff;height:270px;padding:26px;min-width:0}.symbol-art img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;min-width:0}.symbol-card>div:last-child{padding:25px}.symbol-card h3,.heritage-version h3{font-size:1.3rem;margin-bottom:15px}.symbol-card p,.heritage-version p{font-size:.97rem;color:var(--muted)}.symbol-explanation,.identity-note{max-width:850px;margin-top:30px}.symbol-explanation h3,.identity-note h3{margin-bottom:15px}.symbol-explanation p,.identity-note p{color:var(--muted);margin-bottom:17px}.heritage-version{padding:25px}.symbol-pair{display:grid;grid-template-columns:1.25fr .75fr;gap:12px;background:#fff;min-width:0;margin:20px 0}.symbol-pair .symbol-art{height:200px;padding:12px}.symbol-art:focus-visible{outline-offset:-4px}.current-mayor{display:grid;grid-template-columns:300px minmax(0,1fr);background:var(--soft);border:1px solid var(--line);margin-bottom:35px;overflow:hidden}.current-mayor-photo{display:flex;flex-direction:column;min-width:0;background:var(--surface)}.current-mayor-photo .mayor-portrait{width:100%;min-height:270px;flex:1;border-radius:0}.current-mayor-photo .mayor-portrait img{position:absolute;inset:0}.current-mayor-photo figcaption{padding:12px 16px}.current-mayor-photo .portrait-credit{margin:0}.current-mayor-copy{padding:30px;align-self:center}.current-mayor-copy>div+div{margin-top:22px}.current-mayor h3{font-size:2.2rem;margin-bottom:12px}.current-mayor p{color:var(--muted);margin-bottom:12px;font-size:.97rem}.current-mayor strong{display:block;font-size:1rem;margin-bottom:9px}.leadership-heading{font-size:1.45rem;margin-bottom:14px}.leadership-note{font-size:.94rem;color:var(--muted);margin-bottom:24px;max-width:890px}.leaders-table{border-top:2px solid var(--ink)}.leaders-table table{width:100%;border-collapse:collapse}.leaders-table th,.leaders-table td{padding:20px 15px;text-align:left;border-bottom:1px solid var(--line);font-size:.94rem;vertical-align:middle}.leaders-table thead th{font-size:.8rem;font-weight:500;color:var(--muted);background:var(--soft)}.leaders-table tbody th{width:63%;font-weight:500}.leaders-table td{color:var(--muted)}.leader-person{display:flex;align-items:center;gap:20px}.leader-person>div{min-width:0}.leader-name{display:block;line-height:1.5}.bio-link{display:inline-block;color:var(--accent);font-size:.8rem;margin:6px 0}.mayor-portrait{display:block;position:relative;flex:none;width:94px;aspect-ratio:1;overflow:hidden;background:var(--soft)}.mayor-portrait img{width:100%;height:100%;object-fit:cover}.mayor-portrait-tribute img{position:absolute;max-width:none;width:414.5%;height:auto;left:-28%;top:-29%}.portrait-credit{display:block;font-size:.75rem;font-weight:400;color:var(--muted);text-decoration:none;line-height:1.6;margin-top:7px;max-width:30em}.portrait-credit:hover{text-decoration:underline}.portrait-missing{display:grid;place-items:center;flex:none;width:94px;aspect-ratio:1;padding:10px;border:1px dashed var(--line);font-size:.72rem;line-height:1.5;text-align:center;color:var(--muted);font-weight:400}.artwork-credit{font-size:.88rem!important}
/* Biographies use a portrait column and an uninterrupted reading column. */
.bio-jump{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:25px 0 0;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.bio-jump li{min-width:0}.bio-jump a{display:block;height:100%;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px;font-size:.875rem;line-height:1.5;text-decoration:none}.bio-jump a:hover{color:var(--accent);background:var(--soft)}.bio-context{padding:22px 26px;border-left:3px solid var(--line);background:var(--soft);color:var(--muted);font-size:.93rem;margin-top:28px}.bio-context strong{display:block;color:var(--ink);font-weight:500}.bio-context p{margin:10px 0 14px}.biography{display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px;padding:48px 0;border-bottom:1px solid var(--line);align-items:start}.bio-identity{position:sticky;top:calc(var(--header-height) + 24px);min-width:0}.bio-identity .mayor-portrait,.bio-identity .portrait-missing{width:100%}.bio-identity .portrait-missing{font-size:.85rem}.bio-period{display:block;font-size:.85rem;color:var(--accent);font-weight:500;margin-bottom:10px}.bio-copy h2{font-size:2.15rem;line-height:1.2;letter-spacing:-.05em;margin-bottom:24px}.bio-copy p{font-size:1.02rem;line-height:1.9;color:var(--muted);max-width:72ch}.bio-sources{display:flex;flex-wrap:wrap;gap:9px 21px;margin-top:23px}.bio-sources a{font-size:.78rem;color:var(--muted);font-weight:400}
/* Images, films and their provenance. */
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.chip{padding:9px 15px;min-height:42px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:.875rem;border-radius:3px;line-height:1.5}.chip[aria-pressed=true]{color:var(--paper);background:var(--ink);border-color:var(--ink)}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 23px}.photo{min-width:0;border-bottom:1px solid var(--line);padding-bottom:18px}.photo button{display:block;width:100%;border:0;padding:0;position:relative;cursor:zoom-in;background:var(--soft)}.photo button::after{content:attr(data-photo-label);position:absolute;right:12px;bottom:12px;color:#fff;background:#111e;padding:5px 9px;font-size:.75rem;opacity:0}.photo button:hover::after,.photo button:focus-visible::after{opacity:1}.photo img{width:100%;height:auto;aspect-ratio:1.3;object-fit:cover}.photo figcaption{font-size:.94rem;font-weight:500;line-height:1.5;margin-top:15px}.photo small{display:block;font-size:.76rem;font-weight:400;color:var(--muted);margin-top:7px}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px 27px}.video{min-width:0}.video-shell{aspect-ratio:16/9;background:#151515;margin-bottom:20px}.video-shell iframe{width:100%;height:100%;border:0}.video h3{font-size:1.25rem;line-height:1.35;margin-bottom:13px}.video p{font-size:.96rem;color:var(--muted);margin-bottom:15px}.count{display:inline-block;vertical-align:middle;padding:4px 8px;background:var(--soft);border:1px solid var(--line);font-size:.8rem;font-weight:400;letter-spacing:0;margin-left:8px;line-height:1.2}.reference-box{border:1px solid var(--line);padding:0;background:var(--surface)}.reference-box>summary{padding:24px;font-size:1.02rem}.reference-body{padding:0 24px 24px}.reference-body h3{font-size:1.15rem;margin:20px 0 15px}.reference-body .lead{font-size:.96rem}.reference-body p{padding-top:0}.reference-body .info-grid{margin-top:25px!important}.sources{font-size:.86rem;line-height:1.8;padding-left:20px}.sources li{margin-bottom:12px}.sources a{overflow-wrap:anywhere}.photo-credits{display:grid;grid-template-columns:1fr 1fr;gap:25px;font-size:.83rem}.photo-credits p{padding:0;font-size:.83rem;line-height:1.7}.lightbox{border:0;padding:0;background:#111;color:#fff;max-width:1100px;width:calc(100% - 36px);max-height:94vh}.lightbox::backdrop{background:#000e}.lightbox img{width:100%;height:auto;max-height:78vh;object-fit:contain;background:#111}.lightbox-caption{padding:18px 22px;font-size:.94rem}.close-dialog{position:absolute;right:12px;top:12px;width:44px;height:44px;z-index:1;border:0;background:#fff;color:#111;font-size:1.6rem}
/* Search is a compact, readable index. */
.search-shell{max-width:880px}.search-shell .guide-search{margin-bottom:24px}.search-status{font-size:.85rem;color:var(--muted);margin-bottom:23px}.search-results{border-top:1px solid var(--line)}.search-result{display:block;text-decoration:none;padding:24px 0;border-bottom:1px solid var(--line)}.search-result small{display:block;font-size:.76rem;color:var(--accent);margin-bottom:8px}.search-result h2{font-size:1.3rem;line-height:1.4;margin-bottom:9px}.search-result p{font-size:.95rem;line-height:1.8;color:var(--muted)}.search-result:hover h2{color:var(--accent)}.search-empty{padding:20px 0;color:var(--muted)}.search-more{margin-top:25px}
/* A quiet end to each page. */
.footer{background:var(--sidebar);border-top:1px solid var(--line);padding:44px 0 25px}.footer-main{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px;padding-bottom:35px}.footer h2{font-size:1.7rem;margin-bottom:15px}.footer h3{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;font-weight:500;color:var(--muted);margin:4px 0 15px}.footer p{max-width:290px;font-size:.875rem;color:var(--muted)}.footer a{display:block;font-size:.85rem;padding:4px 0;color:var(--muted);text-decoration:none;line-height:1.65}.footer a:hover{color:var(--ink);text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:22px;border-top:1px solid var(--line);padding-top:21px;color:var(--muted);font-size:.75rem}.footer-bottom a{display:inline;font-size:inherit}
/* Switch to a compact top bar when a sidebar would constrain reading. */
@media(max-width:1180px){
 body{padding-left:0}.header{position:sticky;inset:auto;top:0;width:100%;height:auto;border-right:0;border-bottom:1px solid var(--line);background:var(--header);backdrop-filter:blur(15px);overflow:visible}.nav{width:min(1120px,calc(100% - 64px));min-height:78px;margin:auto;padding:13px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 20px;align-items:center}.brand{grid-column:1;grid-row:1}.nav-actions{grid-column:2;grid-row:1;display:flex;align-items:center;gap:8px;margin:0;padding:0;border:0}.header-search,.theme-toggle{width:42px;flex:none}.language-control{width:135px;min-height:42px;flex:none}.language-control select{font-size:.8rem}.language-icon{width:15px}.menu-toggle{display:block;white-space:nowrap}.nav-links{grid-column:1/-1;grid-row:2;display:none;margin:17px 0 0;padding:14px 0 0;border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:3px 25px}.nav-links.open{display:grid}.nav-links a{padding:10px 9px;font-size:.94rem}.wrap{width:min(1120px,calc(100% - 64px))}.city-title{font-size:clamp(3rem,9vw,6.9rem)}
}
@media(max-width:900px){
 .wrap{width:calc(100% - 48px)}.section{padding:48px 0}.page-intro{padding:32px 0}.page-intro h1{font-size:3.1rem}.arrival-grid{grid-template-columns:1.3fr 1fr}.arrival-guide{padding:23px}.masthead-deck{gap:25px}.masthead-deck h2{font-size:1.7rem}.topic-grid{column-gap:28px}.topic-card{grid-template-columns:25px 1fr 16px;gap:9px}.history-intro{gap:0 30px}.history-intro h2{font-size:2rem}.page-layout{display:block}.toc{position:static;display:flex;flex-wrap:wrap;gap:4px 17px;padding:0 0 20px;margin-bottom:27px;border:0;border-bottom:1px solid var(--line)}.toc strong{width:100%;margin-bottom:7px}.toc a{font-size:.85rem;padding:5px 0}.article-section{max-width:780px}.directory-card{padding:23px}.directory-section h2{font-size:1.85rem}.section-head{gap:25px}.section-head>p{max-width:360px}.bio-jump{grid-template-columns:repeat(2,minmax(0,1fr))}.biography{grid-template-columns:170px minmax(0,1fr);gap:28px}.bio-copy h2{font-size:1.85rem}.bio-identity{position:static}.cards,.visit-data{gap:24px}.cards h3,.visit-data h3{font-size:1.18rem}.place{gap:27px}.place-image{height:300px}.place h2{font-size:1.7rem}.split{gap:36px}.current-mayor{grid-template-columns:250px minmax(0,1fr)}.current-mayor-copy{padding:24px}.civic-banner{gap:28px}.civic-banner h2{font-size:2rem}.symbol-art{height:240px}.heritage-version{padding:20px}.symbol-pair .symbol-art{height:175px}.footer-main{gap:25px}.gallery{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
 .wrap,.nav{width:calc(100% - 36px)}.nav{grid-template-columns:1fr;gap:12px;padding:14px 0;min-height:117px}.brand{grid-column:1;grid-row:1;font-size:1.12rem}.brand small{display:inline;font-size:.75rem;margin-left:9px}.brand-icon{width:23px;height:30px}.nav-actions{grid-column:1;grid-row:2;justify-content:space-between;gap:7px}.language-control{flex:1;width:auto;max-width:260px;min-width:95px}.nav-links{grid-row:3;margin-top:0;padding-top:12px;gap:2px 15px}.nav-links a{font-size:.875rem;grid-template-columns:20px 1fr;gap:6px;align-items:baseline;min-width:0}.menu-toggle{padding:8px 11px}.home-top{padding-top:22px}.masthead-top .location{font-size:.66rem}.masthead-top .text-link{font-size:.76rem}.city-title{font-size:clamp(2.5rem,9.3vw,4.7rem);margin:19px 0 17px;letter-spacing:-.07em}.masthead-deck{display:block;margin-bottom:23px}.masthead-deck h2{font-size:1.6rem;margin-bottom:13px}.masthead-deck p{font-size:.94rem}.arrival-grid{grid-template-columns:1fr}.arrival-photo{height:225px;min-height:0}.arrival-guide{padding:22px}.arrival-guide>.eyebrow{margin-bottom:12px}.arrival-guide .guide-search{flex-direction:row}.arrival-guide .guide-search button{padding:12px 15px}.quick-topics{display:grid;grid-template-columns:1fr 1fr;gap:0 17px;margin-top:13px}.quick-topics a{font-size:.82rem;padding:11px 0;align-items:flex-start;border-bottom:1px solid var(--line)}.quick-topics a:last-child{border-bottom:1px solid var(--line)}.section{padding:38px 0}.section-head{align-items:flex-start;flex-direction:column;gap:17px;margin-bottom:23px}.section-head h2,h2{font-size:1.8rem}.section-head>p{max-width:none}.topic-grid{grid-template-columns:1fr}.topic-card{grid-template-columns:32px 1fr 20px;column-gap:13px;padding:23px 0}.topic-card h3{font-size:1.2rem}.topic-card p{font-size:.94rem}.history-intro{display:block}.history-intro h2{font-size:2.15rem;margin-bottom:18px;max-width:340px}.history-intro p{font-size:.96rem}.home-timeline{grid-template-columns:1fr;margin:25px 0}.home-timeline::before{left:107px;right:auto;top:48px;bottom:48px;width:1px;height:auto}.home-timeline a{grid-template-columns:80px 20px 1fr;grid-template-rows:auto;column-gap:18px;justify-items:start;align-items:center;text-align:left;min-height:100px;padding:10px 0}.timeline-year{font-size:2.3rem}.timeline-point{justify-self:center}.timeline-label{max-width:none;font-size:.94rem}.timeline-more{text-align:left}.civic-banner,.featured-place{grid-template-columns:1fr;gap:26px}.civic-emblems{max-width:500px}.civic-banner h2{font-size:2rem}.featured-place{padding-top:25px}.featured-place>img{aspect-ratio:1.55}.page-intro h1{font-size:2.45rem;letter-spacing:-.055em;margin-bottom:19px}.page-intro .lead{font-size:1rem}.breadcrumb{font-size:.76rem;margin-bottom:20px;gap:8px}.section-nav .wrap{gap:20px}.section-nav strong{display:none}.section-nav a{font-size:.8rem;padding:14px 0 12px}.page-layout{padding-top:25px}.history-start{flex-direction:column;align-items:flex-start;gap:14px;padding:21px;margin-bottom:30px}.article-section{padding-bottom:30px;margin-bottom:30px}.article-section h2{font-size:1.7rem}.article-section p{font-size:1rem;line-height:1.9}.article-section .large-image{aspect-ratio:1.35}.quote{font-size:1.15rem;padding-left:19px}.timeline-item{grid-template-columns:76px 1fr;gap:15px}.timeline-item .year{font-size:.78rem}.timeline-item h3{font-size:1.05rem}.place{grid-template-columns:1fr;gap:23px;margin-bottom:27px;padding-bottom:27px}.place-image{height:auto;aspect-ratio:1.4}.place h2{font-size:1.8rem}.split,.cards,.visit-data,.info-grid{grid-template-columns:1fr;gap:26px}.cards>article,.visit-data>article{padding-bottom:5px}.cards h3,.visit-data h3{font-size:1.3rem}.info-grid[style]{margin-bottom:25px!important}.directory-intro{flex-direction:column;gap:14px;padding:22px 0}.directory-grid{grid-template-columns:1fr;gap:18px}.directory-section{padding:30px 0 35px}.directory-section h2{font-size:1.85rem}.directory-card{padding:24px}.directory-card h3{font-size:1.3rem}.civic-shortcut{flex-direction:column;align-items:flex-start;gap:20px;padding:23px}.civic-shortcut h2{font-size:1.4rem}.symbol-grid,.heritage-versions{grid-template-columns:1fr;gap:21px}.symbol-art{height:250px}.symbol-pair .symbol-art{height:210px}.current-mayor{grid-template-columns:1fr}.current-mayor-photo .mayor-portrait{min-height:0;flex:auto;aspect-ratio:1.5}.current-mayor-copy{padding:24px}.current-mayor h3{font-size:2rem}.leader-person{gap:13px}.leader-person .mayor-portrait,.portrait-missing{width:75px}.leaders-table th,.leaders-table td{font-size:.86rem;padding:17px 10px}.leaders-table tbody th{width:64%}.portrait-credit{font-size:.75rem}.bio-jump a{font-size:.84rem;padding:12px}.biography{grid-template-columns:1fr;gap:23px;padding:34px 0}.bio-identity{max-width:200px}.bio-copy h2{font-size:1.9rem}.bio-copy p{font-size:1rem}.bio-context{padding:20px}.video-grid,.photo-credits{grid-template-columns:1fr}.gallery{gap:26px 17px}.photo figcaption{font-size:.875rem}.photo img{aspect-ratio:1.05}.photo button::after{display:none}.reference-box>summary{padding:21px;font-size:.94rem}.reference-body{padding:0 21px 23px}.reference-body .info-grid{gap:5px}.lightbox{width:calc(100% - 20px)}.footer-main{grid-template-columns:1fr 1fr;gap:25px}.footer-main>div:first-child{grid-column:1/-1}.footer h2{font-size:1.8rem}.footer-bottom{flex-direction:column;gap:10px}.search-result h2{font-size:1.2rem}
}
@media(max-width:420px){.brand small{display:block;margin:3px 0 0}.brand{font-size:1.03rem}.nav{min-height:130px}.masthead-top .text-link{font-size:.72rem}.masthead-top{gap:10px}.arrival-photo{height:190px}.arrival-guide{padding:18px}.arrival-guide .guide-search input{font-size:.8rem}.quick-topics{gap:0 13px}.quick-topics a{font-size:.8rem}.leaders-table tbody th{width:58%}.leader-person{flex-direction:column;align-items:flex-start;gap:9px}.leaders-table th,.leaders-table td{padding:17px 11px}.gallery{grid-template-columns:1fr}.photo img{aspect-ratio:1.5}.footer-main{gap:25px 19px}.language-control{padding-left:8px;gap:5px}.language-control select{font-size:.8rem}.header-search,.theme-toggle{width:40px}.menu-toggle{padding-inline:9px}.nav-links{column-gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.button{max-width:100%;text-align:center}.brand>span{min-width:0;overflow-wrap:break-word}@media(max-width:1180px){.nav-actions{flex-wrap:wrap}}
/* City guide 2026: a photographic, spacious top-navigation design. */
:root{--accent:#275ada;--selected:#eaf0ff;--soft:#f5f7fa;--line:#e3e7ed;--ink:#172332;--muted:#617081;--header:#ffffffed;--header-height:128px}
:root[data-theme=dark]{--ink:#f1f1f1;--muted:#aaa;--paper:#111;--surface:#191919;--soft:#202020;--line:#353535;--accent:#a7bfff;--selected:#292929;--header:#151515f2;--note:#222}
body{padding-left:0;line-height:1.7}.wrap{width:min(1240px,calc(100% - 80px))}h1,h2,h3{letter-spacing:-.035em}.header{position:sticky;inset:auto;top:0;width:100%;height:auto;overflow:visible;background:var(--header);border:0;border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.nav{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 28px;width:min(1240px,calc(100% - 80px));padding:17px 0 0;min-height:0}.brand{grid-row:1;grid-column:1;font-size:1.25rem;gap:12px}.brand-icon{background:var(--accent);color:white;width:39px;height:43px;padding:7px;border-radius:10px}.brand small{font-size:.7rem;margin-top:2px;letter-spacing:.06em;text-transform:uppercase}.nav-actions{grid-row:1;grid-column:2;display:flex;align-items:center;gap:9px;padding:0;margin:0;border:0}.language-control{width:148px;min-height:40px;border-radius:8px}.language-control select{font-size:.8rem}.header-search,.theme-toggle{width:40px;height:40px;border-radius:8px}.nav-links{grid-row:2;grid-column:1/-1;display:flex;flex-direction:row;justify-content:space-between;gap:5px;margin:14px 0 0;padding:0;border-top:1px solid var(--line)}.nav-links a{display:block;padding:14px 8px 12px;font-size:.82rem;border-radius:0;color:var(--muted);border-bottom:3px solid transparent;line-height:1.35;text-align:center}.nav-links a::before{display:none}.nav-links a[aria-current=page]{background:none;box-shadow:none;border-bottom-color:var(--accent);color:var(--accent)}.nav-links a:hover{background:none;color:var(--accent)}.menu-toggle{display:none}.section{padding:72px 0}.eyebrow{font-size:.7rem;letter-spacing:.14em}.button{border-radius:9px;background:var(--accent);border-color:var(--accent);color:#fff;padding:13px 23px;font-weight:600}.button:hover{filter:brightness(.92);color:#fff}.page-intro{background:var(--soft);padding:38px 0 44px;border:0}.page-intro h1{font-size:clamp(2.5rem,4vw,4rem);max-width:900px}.breadcrumb{margin-bottom:20px}.page-intro .lead{font-size:1.05rem}.section-nav{box-shadow:0 4px 15px #00000003}.destination-hero{position:relative;isolation:isolate;min-height:530px;display:flex;align-items:center;background:#253444;color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0;z-index:-2}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 54%}.destination-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0c172ae6 0%,#12233aa6 40%,#1420301a 85%)}.hero-copy{padding:60px 0 85px}.hero-copy .eyebrow{color:#d7e6ff}.hero-copy h1{font-size:clamp(3.2rem,5.6vw,5.5rem);font-weight:600;line-height:1.02;letter-spacing:-.055em;margin-bottom:25px}.hero-copy p{max-width:440px;color:#e5ebf3;font-size:1.05rem}.hero-copy .button{background:white;color:#172332;border-color:white}.hero-copy .button.outline{background:#ffffff12;border-color:#ffffff66;color:white}.hero-location{position:absolute;right:40px;bottom:24px;font-size:.7rem;color:#fff;text-shadow:0 1px 5px #000}.home-finder{position:relative;margin-top:-33px;z-index:2}.home-finder .guide-search{border-radius:13px;box-shadow:0 9px 35px #17233212;padding:13px;align-items:center;gap:22px}.home-finder label{font-size:.9rem;font-weight:600;padding-left:14px;white-space:nowrap}.home-finder input{border-left:1px solid var(--line);padding-left:25px}.home-finder button{background:var(--accent);color:#fff;border-radius:8px;padding:13px 28px}.guide-overview{padding-top:65px}.section-head h2{font-size:2.35rem}.destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.destination-grid .guide-card{display:block;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--surface);text-decoration:none;transition:transform .2s,box-shadow .2s}.destination-grid .guide-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px #00000012}.destination-grid img{width:100%;height:220px;object-fit:cover}.guide-content{padding:25px}.guide-content h3{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:1.22rem;margin-bottom:12px}.guide-content h3 span{color:var(--accent)}.guide-content p{font-size:.9rem;color:var(--muted);line-height:1.65}.utility-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:25px}.utility-grid a{display:flex;gap:13px;align-items:center;padding:19px 17px;background:var(--soft);border-radius:10px;text-decoration:none;font-size:.82rem;line-height:1.45}.utility-grid a>span:first-child{color:var(--muted);font-size:.65rem}.utility-grid a>span:last-child{margin-left:auto;color:var(--accent)}.utility-grid a:hover{background:var(--selected)}.home-history{border:0}.history-intro h2{font-size:2.7rem;max-width:440px}.home-timeline{margin:48px 0 35px}.timeline-year{color:var(--accent)}.civic-banner{background:var(--soft);padding:38px;border-radius:18px}.civic-emblems img{border-radius:8px}.featured-place{border:0;padding:0;gap:60px}.featured-place>img{border-radius:16px}.directory-card,.bio-jump a,.symbol-card,.heritage-version,.reference-box{border-radius:12px}.directory-card{background:var(--surface)}.directory-grid{gap:22px}.current-mayor{border-radius:15px}.place-image,.large-image,.video-shell{border-radius:13px}.footer{background:var(--soft);border:0}.footer-main{padding-top:10px}.footer h2{letter-spacing:-.04em}.article-section p,.bio-copy p{max-width:76ch}.gallery .photo{border-radius:10px;overflow:hidden}.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.person-card{padding:30px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.person-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.person-monogram{display:grid;place-items:center;width:55px;height:55px;border-radius:50%;background:var(--selected);color:var(--accent);font-size:1.1rem;font-weight:600}.person-card h2{font-size:1.7rem;margin-bottom:8px}.person-card .connection{font-size:.85rem;color:var(--accent);margin-bottom:18px}.person-card p{font-size:.94rem;color:var(--muted)}.person-card .text-link{display:inline-block;margin-top:20px}.archive-toolbar{display:flex;align-items:end;gap:18px;padding:22px;background:var(--soft);border-radius:12px;margin-bottom:30px;flex-wrap:wrap}.archive-toolbar label{display:flex;flex-direction:column;gap:7px;font-size:.77rem;font-weight:600;flex:1;min-width:150px}.archive-toolbar select,.archive-toolbar input{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:11px;color:var(--ink);font-size:.9rem}.archive-summary{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:25px 0;color:var(--muted);font-size:.85rem}.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.archive-photo{background:var(--surface);border:1px solid var(--line);border-radius:13px;overflow:hidden}.archive-photo button{display:block;width:100%;padding:0;border:0;background:var(--soft);overflow:hidden;position:relative}.archive-photo img{width:100%;height:240px;object-fit:cover;transition:transform .25s}.archive-photo button:hover img{transform:scale(1.035)}.archive-photo button::after{content:'↗';position:absolute;bottom:12px;right:12px;background:#fffffff0;color:#172332;border-radius:50%;width:31px;height:31px;display:grid;place-items:center}.archive-photo figcaption{padding:20px;font-size:.82rem;color:var(--muted);line-height:1.65}.archive-photo h3{font-size:1.05rem;color:var(--ink);margin:7px 0 10px}.photo-year{color:var(--accent);font-size:.74rem;font-weight:600}.archive-credit{display:block;margin-top:12px;font-size:.7rem}.archive-photo figcaption>p{font-size:.82rem}.archive-intro-links{display:flex;gap:25px;flex-wrap:wrap;margin-top:25px}.empty-archive{padding:40px;text-align:center;background:var(--soft);border-radius:12px}.archive-collections{margin-top:60px;padding:30px;background:var(--soft);border-radius:12px}.archive-collections h2{font-size:1.5rem;margin-bottom:15px}.archive-collections p{max-width:800px;color:var(--muted)}
@media(max-width:1000px){.wrap,.nav{width:calc(100% - 48px)}.nav-links a{font-size:.75rem;padding-inline:5px}.home-finder label{display:none}.utility-grid{grid-template-columns:1fr 1fr}.destination-grid{gap:17px}.destination-grid img{height:185px}.guide-content{padding:20px}.archive-grid{grid-template-columns:1fr 1fr}.hero-copy h1{font-size:4.4rem}.destination-hero{min-height:490px}}
@media(max-width:760px){.nav{padding:12px 0;grid-template-columns:1fr auto;gap:12px;min-height:0}.brand{font-size:1rem}.brand small{display:block;margin:3px 0 0;font-size:.6rem}.brand-icon{width:31px;height:36px;padding:6px}.nav-actions{grid-row:1;grid-column:2;flex-wrap:nowrap;gap:6px}.language-control{width:100px;padding:0 7px}.language-icon{display:none}.language-control select{font-size:.72rem}.header-search{display:none}.theme-toggle{width:36px}.menu-toggle{display:block;font-size:.75rem;padding:7px;min-height:40px}.nav-links{display:none;margin:0;padding:12px 0 0;grid-row:2;grid-column:1/-1;grid-template-columns:1fr 1fr;gap:5px}.nav-links.open{display:grid}.nav-links a{padding:11px;text-align:left;font-size:.88rem;border:0;border-radius:7px}.nav-links a[aria-current=page]{background:var(--selected)}.destination-hero{min-height:470px}.hero-copy{padding:52px 0 70px}.hero-copy h1{font-size:clamp(2.8rem,9vw,4rem)}.hero-copy p{font-size:.95rem;max-width:340px}.hero-location{right:24px;bottom:14px;font-size:.6rem}.destination-hero::after{background:linear-gradient(90deg,#0c172adb,#12233a88)}.home-finder{margin-top:0;padding-top:20px}.home-finder .guide-search{padding:7px;gap:8px;box-shadow:none}.home-finder input{border:0;padding:9px;font-size:.8rem}.home-finder button{padding:10px 16px}.section{padding:45px 0}.section-head h2{font-size:2rem}.destination-grid{grid-template-columns:1fr}.destination-grid .guide-card{display:grid;grid-template-columns:38% 1fr}.destination-grid img{height:100%;min-height:175px}.guide-content h3{font-size:1.1rem}.guide-content p{font-size:.83rem}.utility-grid{gap:10px}.utility-grid a{padding:16px 13px;font-size:.77rem}.utility-grid a>span:first-child{display:none}.history-intro h2{font-size:2.2rem}.civic-banner{padding:24px}.featured-place{gap:28px}.people-grid{grid-template-columns:1fr}.archive-grid{gap:17px}.archive-photo img{height:180px}.archive-photo figcaption{padding:15px}.archive-toolbar{padding:16px;gap:13px}.archive-summary{align-items:flex-start}.person-card{padding:25px}.page-intro h1{font-size:2.5rem}}
@media(max-width:480px){.wrap,.nav{width:calc(100% - 32px)}.brand{font-size:.88rem;gap:7px}.brand-icon{width:25px;height:31px}.brand small{font-size:.51rem;letter-spacing:.03em}.nav{gap:7px}.nav-actions{gap:4px}.language-control{width:84px}.theme-toggle{width:33px}.menu-toggle{padding-inline:6px}.hero-copy .button{font-size:.8rem;padding:12px 17px}.archive-grid{grid-template-columns:1fr}.archive-photo img{height:240px}.destination-grid .guide-card{grid-template-columns:1fr}.destination-grid img{height:210px;min-height:0}.utility-grid{grid-template-columns:1fr 1fr}.hero-copy h1{font-size:2.85rem}.home-finder button{padding-inline:13px}.home-finder input{font-size:.74rem}.person-card h2{font-size:1.55rem}}
/* Refined masthead and footer, preserving all navigation and controls. */
.header{background:var(--paper);box-shadow:0 3px 18px #00000004}.nav{padding-top:16px;column-gap:30px}.brand{gap:14px;font-size:1.45rem;font-weight:600;letter-spacing:-.045em}.brand-crest{width:42px;height:52px;object-fit:contain;flex:none}.brand small{font-size:.75rem;letter-spacing:.035em;text-transform:none;margin-top:4px}.nav-actions{padding:5px;background:var(--soft);border:1px solid var(--line);border-radius:30px;gap:4px}.header-search,.theme-toggle{border:0;background:transparent;border-radius:50%;width:40px;height:40px}.header-search:hover,.theme-toggle:hover{background:var(--surface)}.language-control{border:0;background:transparent;border-left:1px solid var(--line);border-right:1px solid var(--line);border-radius:0;width:147px;min-height:34px;padding-inline:13px}.language-control select{font-size:.875rem;padding-block:6px}.nav-links{justify-content:flex-start;gap:8px;padding:10px 0;margin-top:15px}.nav-links a{font-size:.875rem;padding:9px 13px;border:0;border-radius:7px;transition:background .15s}.nav-links a:hover{background:var(--soft)}.nav-links a[aria-current=page]{background:var(--selected);border:0}.civic-banner{grid-template-columns:190px 1fr;gap:42px;padding:38px 48px}.civic-emblems{display:flex;align-items:center;justify-content:center;background:transparent;border:0;max-width:190px}.civic-emblems img{width:auto;height:170px;max-width:100%;object-fit:contain;background:transparent;border:0;border-radius:0;padding:0}.footer{padding:48px 0 22px;background:var(--surface);border-top:1px solid var(--line)}.footer-main{grid-template-columns:1.25fr 1.25fr 1fr;gap:65px;padding:0 0 36px}.footer-identity{display:flex;gap:20px;align-items:flex-start}.footer-identity>img{width:53px;height:70px;object-fit:contain;flex:none}.footer h2{font-size:1.65rem;font-weight:600;margin-bottom:13px}.footer p{font-size:.9rem;line-height:1.75;max-width:265px}.footer h3{font-size:.875rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink);margin-bottom:17px}.footer-main>div:nth-child(2){display:grid;grid-template-columns:1fr 1fr;column-gap:25px;align-content:start}.footer-main>div:nth-child(2)>h3{grid-column:1/-1}.footer-main a{font-size:.875rem;line-height:1.6;margin-bottom:10px;color:var(--muted)}.footer-main a:hover{color:var(--accent)}.footer-bottom{padding-top:20px;font-size:.8rem;color:var(--muted)}
@media(max-width:1100px){.nav-links{gap:3px;justify-content:space-between}.nav-links a{font-size:.8rem;padding-inline:8px}.footer-main{gap:30px;grid-template-columns:1.15fr 1fr 1fr}.footer-identity{gap:12px}.footer-identity>img{width:40px;height:54px}}
@media(max-width:760px){.nav{padding:12px 0;gap:10px}.brand{font-size:1.15rem;gap:9px}.brand-crest{width:32px;height:42px}.brand small{font-size:.75rem;letter-spacing:0;margin-top:2px}.nav-actions{padding:3px;gap:2px}.language-control{width:107px;padding-inline:7px;border-left:0}.language-control select{font-size:.8rem}.theme-toggle{width:34px;height:36px}.menu-toggle{border:0;background:transparent;border-radius:20px;font-size:.875rem;min-height:36px;padding:6px 10px}.nav-links{margin-top:0;padding-top:12px;padding-bottom:0;gap:4px}.nav-links a{font-size:.875rem;padding:11px}.footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-identity{grid-column:1/-1;align-items:center;gap:17px}.footer-identity>img{width:44px;height:59px}.footer p{max-width:440px}.footer h2{margin-bottom:6px}.footer{padding-top:35px}.civic-banner{grid-template-columns:120px 1fr;padding:25px;gap:27px}.civic-emblems img{height:135px}.footer-main>div:nth-child(2){column-gap:16px}.footer-bottom{font-size:.75rem}}
@media(max-width:480px){.brand{font-size:1rem;gap:7px}.brand-crest{width:27px;height:35px}.brand small{display:none}.nav-actions{gap:0}.language-control{width:88px;padding-inline:5px}.language-control select{font-size:.8rem}.theme-toggle{width:32px}.menu-toggle{font-size:.8rem;padding-inline:7px}.civic-banner{grid-template-columns:1fr;text-align:center;gap:22px}.civic-emblems{margin:auto}.civic-emblems img{height:145px}.footer-main{grid-template-columns:1fr;gap:25px}.footer-identity{grid-column:auto}.footer-main>div:nth-child(2){grid-template-columns:1fr 1fr}.footer-main>div:nth-child(3){padding-top:20px;border-top:1px solid var(--line)}.footer-main{padding-bottom:24px}}

.civic-emblems{width:190px;height:210px;overflow:hidden;position:relative}.civic-emblems img{position:absolute;width:180px!important;max-width:100%!important;height:200px!important;max-height:200px!important;object-fit:contain;flex:none}.civic-banner{grid-template-columns:210px 1fr}@media(max-width:760px){.civic-banner{grid-template-columns:180px 1fr}.civic-emblems{width:180px;height:200px}}@media(max-width:480px){.civic-banner{grid-template-columns:1fr}.civic-emblems{margin:auto}}
/* Image-led directories and a quiet, readable guestbook. */
.hero-location a{color:inherit}.hero-location{max-width:85%;font-size:.75rem}.guestbook-layout{display:grid;grid-template-columns:minmax(280px,.85fr) 1.15fr;gap:5rem;align-items:start}.guestbook-form{position:sticky;top:110px;background:var(--soft,#f4f5f7);padding:2rem;border:1px solid var(--line,#ddd);border-radius:18px}.guestbook-form label{display:grid;gap:.5rem;margin:1rem 0;font-weight:600}.guestbook-form input,.guestbook-form textarea{width:100%;padding:.8rem;border:1px solid var(--line,#bbb);border-radius:8px;font:inherit;background:var(--paper,#fff);color:inherit}.guestbook-form p{font-size:.875rem}.guestbook-trap{position:absolute;left:-9999px}.guestbook-entry{padding:1.5rem 0;border-bottom:1px solid var(--line,#ddd)}.guestbook-entry h3{margin:0}.guestbook-meta{font-size:.875rem;opacity:.65}.guestbook-message{white-space:pre-wrap;overflow-wrap:anywhere}.person-photo{width:100%;height:280px;object-fit:cover;border-radius:12px}.directory-image{width:100%;height:210px;object-fit:cover;border-radius:10px;margin-bottom:1.25rem}.directory-image.logo{object-fit:contain;background:#fff;padding:25px}.image-credit{font-size:.75rem;display:block;margin:.4rem 0 1rem;opacity:.7}[data-theme="dark"] .guestbook-form{background:#1c1e22}[data-theme="dark"] .guestbook-form input,[data-theme="dark"] .guestbook-form textarea{background:#111318}.archive-downloads{display:flex;gap:1.5rem;flex-wrap:wrap;padding:1.5rem 0}@media(max-width:760px){.guestbook-layout{grid-template-columns:1fr;gap:2rem}.guestbook-form{position:static}.hero-location{font-size:.75rem;bottom:15px}.person-photo{height:240px}}
img[src$="entroncamento-online.png"].directory-image{background:#252830}img[src$="antena-livre.svg"].directory-image{background:#d5d7da}
/* History: an illustrated city chronicle, with a distinct archival opening. */
.history-hero{background:var(--soft);overflow:hidden;padding:65px 0 95px}.history-hero-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:65px;align-items:center}.history-hero-copy .breadcrumb{margin-bottom:38px}.history-hero-copy>.eyebrow{font-size:.875rem}.history-hero h1{font-size:clamp(3rem,5.2vw,5.1rem);line-height:1.03;max-width:620px;margin:18px 0 28px}.history-hero .lead{font-size:1.0625rem;line-height:1.85;max-width:510px}.history-hero .actions{align-items:center;gap:23px}.history-hero-art{position:relative;padding:0 0 110px 20px}.history-photo{margin:38px 0 0}.history-photo img{display:block;width:100%;height:auto;object-fit:cover;border-radius:13px}.history-photo a{display:block}.history-photo figcaption{display:flex;justify-content:space-between;gap:20px;font-size:.875rem;line-height:1.6;color:var(--muted);padding-top:12px}.history-photo figcaption>span:last-child{flex-shrink:0}.history-present{margin:0;transform:rotate(2deg)}.history-present img{height:360px;object-fit:cover}.history-present figcaption{display:block;padding-left:12px;max-width:90%}.history-present figcaption>span{display:block}.history-past{position:absolute;bottom:0;left:-22px;width:58%;padding:12px;background:var(--surface);box-shadow:0 18px 45px #0002;transform:rotate(-5deg);border-radius:6px}.history-past img{border-radius:1px}.history-past figcaption{display:block;font-size:.8125rem;padding-top:8px}.history-past figcaption>span{display:block}.history-date-strip{background:var(--surface);border-bottom:1px solid var(--line)}.history-date-strip>.wrap{display:grid;grid-template-columns:repeat(4,1fr)}.history-date-strip a{text-decoration:none;padding:28px 28px 28px 0;display:grid;gap:4px}.history-date-strip a+a{padding-left:28px;border-left:1px solid var(--line)}.history-date-strip strong{font-size:2.25rem;font-weight:500;letter-spacing:-.04em;color:var(--accent)}.history-date-strip span{font-size:.9375rem}.history-reading-layout{padding-top:80px;gap:70px;grid-template-columns:215px minmax(0,1fr)}.history-reading-layout .toc{top:155px;padding:20px 0;border-top:2px solid var(--accent)}.history-reading-layout .toc>strong{font-size:.875rem;margin-bottom:16px}.history-reading-layout .toc a{font-size:.875rem;padding:10px 12px;border-radius:7px}.history-reading-layout .toc a:hover{background:var(--selected)}.history-chapter{position:relative;padding:50px 0 60px;border-bottom:1px solid var(--line);margin:0;scroll-margin-top:165px}.history-chapter:first-child{padding-top:0}.history-chapter-mark{display:flex;align-items:center;gap:20px;font-size:3.5rem;line-height:1;font-weight:400;letter-spacing:-.055em;color:var(--accent);margin-bottom:22px}.history-chapter-mark span{font-size:.875rem;font-weight:600;letter-spacing:.08em;color:var(--muted);border-left:1px solid var(--line);padding-left:20px}.history-chapter h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.2;max-width:680px;margin-bottom:28px}.history-chapter p{font-size:1.0625rem;line-height:1.9;max-width:68ch}.history-chapter p:first-of-type{font-size:1.1875rem;line-height:1.75;color:var(--ink)}.history-chapter .quote{border:0;border-left:4px solid var(--accent);background:var(--soft);padding:28px 32px;border-radius:0 14px 14px 0;font-size:1.5rem;line-height:1.5;margin:35px 0}.history-chapter .large-image{margin-top:30px;width:100%;max-height:430px;object-fit:cover}.history-chapter .image-caption{font-size:.875rem}.history-chapter .note{padding:25px;border-radius:12px}.history-timeline-section{background:var(--soft);margin-top:45px;scroll-margin-top:150px}.history-timeline-section h2{font-size:clamp(2rem,4vw,3.3rem);text-align:center;margin-bottom:65px}.history-timeline-section .timeline{position:relative;border:0;padding:0;max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;column-gap:90px}.history-timeline-section .timeline::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--line)}.history-timeline-section .timeline-item{position:relative;display:block;padding:25px 28px;margin:0 0 35px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.history-timeline-section .timeline-item:nth-child(odd){grid-column:1}.history-timeline-section .timeline-item:nth-child(even){grid-column:2;transform:translateY(65px)}.history-timeline-section .timeline-item::before{content:'';position:absolute;top:34px;left:auto;right:-53px;width:14px;height:14px;border:3px solid var(--accent);border-radius:50%;background:var(--soft);box-shadow:0 0 0 6px var(--soft)}.history-timeline-section .timeline-item:nth-child(even)::before{right:auto;left:-53px}.history-timeline-section .year{font-size:1.75rem;line-height:1.25;color:var(--accent);margin-bottom:14px}.history-timeline-section h3{font-size:1.1875rem;line-height:1.35;margin-bottom:12px}.history-timeline-section p{font-size:1rem;line-height:1.75}.history-timeline-section .timeline-item:last-child{margin-bottom:80px}
@media(max-width:1000px){.history-hero-grid{gap:30px}.history-present img{height:300px}.history-reading-layout{grid-template-columns:180px minmax(0,1fr);gap:35px}.history-photo figcaption{flex-direction:column;gap:2px}}
@media(max-width:760px){.history-hero{padding:32px 0 45px}.history-hero-grid{grid-template-columns:1fr;gap:40px}.history-hero-copy .breadcrumb{margin-bottom:25px}.history-hero h1{font-size:3.1rem}.history-hero-art{max-width:540px;width:100%;margin:auto;padding-left:22px;padding-bottom:90px}.history-past{left:0;width:55%}.history-present img{height:270px}.history-date-strip>.wrap{grid-template-columns:1fr 1fr}.history-date-strip a{padding:20px!important;border-bottom:1px solid var(--line)}.history-date-strip a:nth-child(3){border-left:0}.history-date-strip strong{font-size:1.9rem}.history-reading-layout{display:block;padding-top:30px}.history-reading-layout .toc{position:static;display:flex;flex-wrap:wrap;gap:5px;border:0;margin:0 0 35px;padding:0}.history-reading-layout .toc>strong{width:100%;margin-bottom:5px}.history-reading-layout .toc a{padding:9px 12px;background:var(--soft);border:1px solid var(--line);font-size:.875rem}.history-chapter{padding:35px 0;scroll-margin-top:100px}.history-chapter-mark{font-size:2.8rem}.history-chapter .quote{font-size:1.25rem;padding:22px}.history-timeline-section{scroll-margin-top:100px}.history-timeline-section .timeline{display:block;padding-left:30px}.history-timeline-section .timeline::before{left:0}.history-timeline-section .timeline-item:nth-child(n){transform:none;margin-bottom:22px;padding:22px}.history-timeline-section .timeline-item:nth-child(n)::before{left:-38px;right:auto}.history-timeline-section h2{text-align:left;margin-bottom:35px}}
@media(prefers-reduced-motion:reduce){.history-story *{scroll-behavior:auto}}
/* Our city: civic portrait, heraldic gallery and chronological leadership cards. */
.city-hero{position:relative;isolation:isolate;overflow:hidden;background:#182333;color:#fff;min-height:520px;display:flex;align-items:center}.city-hero-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 48%}.city-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0a1728f2 0%,#142033ca 43%,#14203338 100%)}.city-hero-content{display:grid;grid-template-columns:1fr 240px;align-items:center;gap:80px;padding:45px 0 75px}.city-hero .breadcrumb{color:#dce4f0;font-size:.875rem;margin-bottom:35px}.city-hero .breadcrumb a{color:inherit}.city-hero .eyebrow{color:#e1e9f5;font-size:.875rem}.city-hero h1{font-size:clamp(3.5rem,6vw,5.7rem);line-height:1.05;letter-spacing:-.055em;margin:18px 0 22px}.city-hero p{max-width:590px;font-size:1.125rem;line-height:1.8;color:#e2e8f0}.city-hero .button{background:white;color:#182333;border-color:white}.city-hero .button.outline{background:#ffffff0a;color:white;border-color:#ffffff70}.city-hero-seal{display:grid;justify-items:center;gap:10px;padding:30px 20px 24px;background:#fffffff5;border-radius:20px;color:#172332;text-decoration:none;box-shadow:0 25px 70px #0003;transform:rotate(3deg)}.city-hero-seal img{width:160px;height:180px;object-fit:contain}.city-hero-seal span{font-size:1.1rem;font-weight:600}.city-hero-seal small{font-size:.875rem;color:#596777}.city-hero-credit{position:absolute;right:40px;bottom:20px;font-size:.8125rem;color:#fff;text-shadow:0 1px 5px #000}.city-story>.section-nav{background:var(--surface);border-bottom:1px solid var(--line);padding:0}.city-story>.section-nav>.wrap{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.city-story>.section-nav a{font-size:.9375rem;padding:22px 0}.city-story .section{padding:80px 0;scroll-margin-top:150px}.city-story .section-head{align-items:end;margin-bottom:36px}.city-story .section-head h2{font-size:clamp(2rem,3.3vw,3rem);line-height:1.15}.city-story .section-head p{font-size:1rem;max-width:440px;line-height:1.8}.city-story .eyebrow{font-size:.875rem}.city-story .symbol-grid{grid-template-columns:1.15fr 1fr;gap:28px}.city-story .symbol-card{display:block;background:var(--surface);padding:0;overflow:hidden;border:1px solid var(--line);border-radius:18px}.city-story .symbol-card>.symbol-art{height:300px;margin:0;border:0;border-radius:0;background:#fff;padding:35px;display:flex;align-items:center;justify-content:center}.city-story .symbol-card .symbol-art img{max-height:230px;max-width:100%;width:auto;height:auto;object-fit:contain}.city-story .symbol-card>div{padding:30px}.city-story .symbol-card h3{font-size:1.5rem;margin-bottom:14px}.city-story .symbol-card p{font-size:1rem;line-height:1.8}.city-story .symbol-explanation{margin-top:28px;background:var(--selected);border:0;border-left:4px solid var(--accent);padding:28px 34px;border-radius:0 14px 14px 0;display:grid;grid-template-columns:230px 1fr;gap:25px}.city-story .symbol-explanation h3{font-size:1.25rem}.city-story .symbol-explanation p{font-size:1rem;margin:0;max-width:80ch}.city-story .heritage-versions{gap:28px}.city-story .heritage-version{position:relative;background:var(--surface);padding:32px;border:1px solid var(--line);border-radius:18px}.city-era-year{display:block;font-size:3.7rem;font-weight:400;color:var(--accent);letter-spacing:-.05em;line-height:1;margin-bottom:24px}.city-story .heritage-version h3{font-size:1.25rem}.city-story .symbol-pair{background:#fff;border-radius:12px;margin:24px 0;padding:18px;min-height:200px}.city-story .symbol-pair .symbol-art{border:0;padding:0;background:transparent}.city-story .heritage-version p{font-size:1rem;line-height:1.8}.city-story .identity-note{margin-top:30px;background:transparent;padding:10px 0 0;border:0;max-width:850px}.city-story .identity-note h3{font-size:1.4rem}.city-story .current-mayor{display:grid;grid-template-columns:280px 1fr;gap:0;overflow:hidden;padding:0;background:var(--soft);border:1px solid var(--line);border-radius:18px;align-items:stretch}.city-story .current-mayor-photo{margin:0;position:relative;background:var(--surface)}.city-story .current-mayor-photo>.mayor-portrait{width:100%;height:350px;max-width:none;border-radius:0;border:0}.city-story .current-mayor-photo img{width:100%;height:100%;object-fit:cover}.city-story .current-mayor-photo figcaption{padding:10px 18px;font-size:.8125rem}.city-story .current-mayor-copy{display:flex;flex-direction:column;justify-content:center;gap:25px;padding:40px}.city-story .current-mayor-copy h3{font-size:2.5rem;margin:10px 0}.city-story .current-mayor-copy p{font-size:1rem}.city-story .leadership-heading{font-size:2rem;margin-top:65px}.city-story .leadership-note{font-size:1rem;max-width:850px;line-height:1.8;margin-bottom:32px}.city-leaders-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.city-leader-card{display:flex;flex-direction:column;padding:24px;border:1px solid var(--line);background:var(--surface);border-radius:14px;min-width:0;position:relative}.city-leader-period{font-size:.875rem;line-height:1.6;font-weight:600;color:var(--accent);min-height:44px;margin-bottom:20px}.city-leader-card .city-leader-photo{display:block;width:100%;height:255px;max-width:none;border-radius:9px;margin-bottom:22px;overflow:hidden;background:var(--soft)}.city-leader-photo img{width:100%;height:100%;object-fit:cover}.city-leader-photo.mayor-portrait-tribute img{object-fit:contain}.city-leader-card .leader-name{display:block;font-size:1.25rem;line-height:1.3;margin:0 0 20px}.city-leader-card .bio-link{display:inline-block;font-size:.9375rem;margin:0}.city-leader-card .portrait-credit{display:block;font-size:.8125rem;line-height:1.6;margin-top:18px}.city-leader-index{font-size:3.3rem;letter-spacing:-.06em;line-height:1;color:var(--muted);opacity:.35;margin-bottom:26px}.city-portrait-note{font-size:.8125rem;color:var(--muted);margin:20px 0 0;padding-top:16px;border-top:1px solid var(--line)}.city-leader-text{background:var(--soft)}.city-story .civic-shortcut{margin-top:45px;border:0;border-radius:15px;background:var(--selected);padding:30px}.city-story .civic-shortcut h2{font-size:1.6rem}.city-story .note{margin-top:30px;font-size:1rem;border-radius:12px}.city-story .reference-box{background:var(--surface)}
@media(max-width:1000px){.city-hero-content{grid-template-columns:1fr 190px;gap:35px}.city-hero-seal img{width:125px;height:145px}.city-leaders-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.city-story .symbol-explanation{grid-template-columns:1fr;gap:10px}.city-story .symbol-card>.symbol-art{height:260px}}
@media(max-width:760px){.city-hero{min-height:0}.city-hero-content{display:block;padding:30px 0 60px}.city-hero h1{font-size:3.5rem}.city-hero .breadcrumb{margin-bottom:25px}.city-hero-seal{display:none}.city-hero::after{background:linear-gradient(90deg,#0a1728eb,#142033a6)}.city-hero p{font-size:1.0625rem}.city-hero-credit{right:20px;bottom:15px}.city-story>.section-nav>.wrap{gap:0 22px;padding:10px 0}.city-story>.section-nav a{padding:10px 0;font-size:.875rem}.city-story .section{padding:45px 0;scroll-margin-top:100px}.city-story .symbol-grid,.city-story .heritage-versions{grid-template-columns:1fr}.city-story .symbol-card>div,.city-story .heritage-version{padding:25px}.city-story .symbol-card>.symbol-art{height:260px}.city-story .symbol-explanation{padding:24px}.city-story .current-mayor{grid-template-columns:200px 1fr}.city-story .current-mayor-photo>.mayor-portrait{height:310px}.city-story .current-mayor-copy{padding:25px;gap:18px}.city-story .current-mayor-copy h3{font-size:1.8rem}.city-leaders-grid{gap:16px}.city-leader-card{padding:20px}.city-leader-card .city-leader-photo{height:230px}.city-story .civic-shortcut{padding:25px}}
@media(max-width:480px){.city-story .current-mayor{grid-template-columns:1fr}.city-story .current-mayor-photo>.mayor-portrait{height:320px;max-width:100%;object-position:center 25%}.city-leaders-grid{grid-template-columns:1fr}.city-leader-card .city-leader-photo{height:300px}.city-leader-period{min-height:0}.city-story .symbol-pair{padding:12px;min-height:160px}.city-era-year{font-size:3rem}}
.city-hero-content{grid-template-columns:minmax(0,680px);justify-content:start}.ai-portrait-credit{display:block;padding:10px 12px;background:var(--selected);border-radius:7px;color:var(--ink);font-size:.875rem;line-height:1.6}
/* Places: a photographic visitor guide with generous, alternating destination spreads. */
.places-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:540px;overflow:hidden;background:#172332;color:#fff}.places-hero>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 55%}.places-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0b1b2ce8 0%,#16283da8 48%,#13233215 100%)}.places-hero-copy{padding:40px 0 70px}.places-hero .breadcrumb{font-size:.875rem;color:#e3ebf5;margin-bottom:40px}.places-hero .breadcrumb a{color:inherit}.places-hero .eyebrow{color:#e3ebf5;font-size:.875rem}.places-hero h1{font-size:clamp(3.5rem,6vw,5.5rem);line-height:1.06;letter-spacing:-.055em;max-width:700px;margin:16px 0 25px}.places-hero p{max-width:570px;color:#e7edf6;font-size:1.125rem;line-height:1.8}.places-hero .button{background:#fff;border-color:#fff;color:#172332}.places-hero .button.outline{background:#ffffff10;border-color:#ffffff80;color:#fff}.places-hero-credit{position:absolute;bottom:20px;right:35px;color:#fff;font-size:.8125rem;text-shadow:0 1px 4px #000}.places-story>.section-nav{background:var(--surface);border-bottom:1px solid var(--line);padding:0}.places-story>.section-nav>.wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.places-story>.section-nav a{padding:22px 0;font-size:.9375rem}.places-story>.section-nav strong{display:none}.places-story .section{padding:75px 0;scroll-margin-top:150px}.places-story .destination-place{display:grid;grid-template-columns:1.05fr 1fr;gap:0;align-items:stretch;border:1px solid var(--line);border-radius:20px;overflow:hidden;margin:0 0 65px;padding:0;background:var(--surface);scroll-margin-top:155px}.destination-visual{position:relative;min-width:0;min-height:500px;overflow:hidden;background:var(--soft)}.places-story .destination-visual .place-image{position:absolute;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;border-radius:0;margin:0}.destination-number{position:absolute;left:24px;top:24px;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;color:#172332;background:#fff;font-size:1rem;font-weight:600;box-shadow:0 3px 15px #0002}.destination-credit{position:absolute;bottom:16px;left:20px;font-size:.8125rem;color:#fff;padding:5px 10px;background:#111a;border-radius:5px}.destination-copy{padding:40px}.places-story .destination-copy .eyebrow{font-size:.875rem;color:var(--accent);line-height:1.6}.places-story .destination-copy h2{font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.15;margin:17px 0 25px}.places-story .destination-copy p{font-size:1rem;line-height:1.85}.places-story .destination-copy .text-link{font-size:.9375rem;display:inline-block;margin-top:12px}.places-story #neighbourhoods,.places-story #city-centre{grid-template-columns:1fr 1.05fr}.places-story #neighbourhoods .destination-visual,.places-story #city-centre .destination-visual{grid-column:2;grid-row:1}.places-story #neighbourhoods .destination-copy,.places-story #city-centre .destination-copy{grid-column:1;grid-row:1}.places-story .info-grid{gap:25px;margin-top:-35px!important;margin-bottom:65px!important}.places-story .info-panel{padding:28px;background:var(--soft);border:0;border-radius:14px}.places-story .info-panel h3{font-size:1.4rem}.places-story .info-panel p{font-size:1rem;line-height:1.8}.places-story .info-panel .eyebrow{font-size:.875rem}.places-story #city-centre{margin-bottom:0}.places-story .note{font-size:.9375rem;line-height:1.75;padding:20px;border-radius:10px}.places-story #culture .section-head h2,.places-story #food h2{font-size:clamp(2rem,3.5vw,3rem)}.culture-place-photo{position:relative;display:block;overflow:hidden;border-radius:16px;height:340px;margin:28px 0}.culture-place-photo img{width:100%;height:100%;object-fit:cover;object-position:center 48%}.culture-place-photo span{position:absolute;bottom:22px;left:25px;font-size:1.25rem;color:white;background:#142033c9;padding:10px 18px;border-radius:8px}.places-story #culture .cards{gap:25px}.places-story #culture .cards>article{padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.places-story #culture h3{font-size:1.35rem}.places-story #culture p{font-size:1rem;line-height:1.85}.places-story #food .wrap{padding:40px;background:var(--soft);border-radius:18px}.places-story #food .eyebrow{font-size:.875rem}.places-story #food p{font-size:1.0625rem;line-height:1.85}.places-story #food .lead{font-size:1.3rem;color:var(--ink)}
@media(max-width:1000px){.destination-copy{padding:28px}.destination-visual{min-height:470px}.places-story>.section-nav>.wrap{justify-content:flex-start;gap:0 25px}.places-story>.section-nav a{padding:16px 0}}
@media(max-width:760px){.places-hero{min-height:470px}.places-hero-copy{padding:30px 0 65px}.places-hero h1{font-size:3.3rem}.places-hero .breadcrumb{margin-bottom:28px}.places-hero p{font-size:1.0625rem}.places-hero .actions{gap:12px}.places-hero .button{font-size:.9375rem}.places-story .section{padding:40px 0;scroll-margin-top:100px}.places-story>.section-nav a{font-size:.875rem;padding:10px 0}.places-story>.section-nav>.wrap{padding:10px 0}.places-story .destination-place,.places-story #neighbourhoods,.places-story #city-centre{grid-template-columns:1fr;margin-bottom:35px;scroll-margin-top:100px}.places-story .destination-place .destination-visual{grid-column:1;grid-row:1;min-height:290px}.places-story .destination-place .destination-copy{grid-column:1;grid-row:2;padding:25px}.places-story .info-grid{margin-top:0!important;margin-bottom:35px!important}.culture-place-photo{height:250px}.places-story #culture .cards{grid-template-columns:1fr}.places-story #food .wrap{padding:25px}.places-story #food .split{gap:20px}.places-hero-credit{right:18px;font-size:.8125rem}}
/* Frame the source's central portrait; retain its original pixels and full image link. */
.mayor-portrait.portrait-sidebars{position:relative;aspect-ratio:4/5;height:auto!important;overflow:hidden}.mayor-portrait.portrait-sidebars img{position:absolute;max-width:none!important;width:222.222222%!important;height:100%!important;left:-65.972222%;top:0;object-fit:fill!important}
/* Keep Jaime's framed source aligned with every other card in the grid. */
.city-leader-card .mayor-portrait.portrait-sidebars{height:255px!important;aspect-ratio:auto;flex-shrink:0}.city-leader-card .mayor-portrait.portrait-sidebars img{height:auto!important;top:25%;transform:translateY(-25%)}
@media(max-width:760px){.city-leader-card .mayor-portrait.portrait-sidebars{height:230px!important}}
@media(max-width:480px){.city-leader-card .mayor-portrait.portrait-sidebars{height:300px!important}}
/* Compact biography navigation, leaving the profiles untouched. */
.biography-picker{display:flex;align-items:center;gap:26px;padding:24px 0;margin:20px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.biography-picker label{font-size:1rem;font-weight:600;color:var(--ink)}.biography-picker select{width:min(100%,490px);min-width:0;min-height:52px;border:1px solid var(--line);border-radius:10px;padding:13px 42px 13px 16px;font:inherit;font-size:1rem;color:var(--ink);background:var(--surface);cursor:pointer}.biography-picker select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media(max-width:760px){.biography-picker{display:grid;gap:12px;padding:22px 0}.biography-picker select{width:100%}}
/* Photographic opening for the presidents' biographies. */
.page-intro.biography-hero{position:relative;isolation:isolate;overflow:hidden;min-height:420px;display:flex;align-items:center;padding:55px 0 75px;background:#182333;color:#fff}.biography-hero-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 45%}.biography-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0b1729eb 0%,#122138c9 45%,#17263852 100%)}.biography-hero .breadcrumb,.biography-hero .breadcrumb a{color:#e1e9f3}.biography-hero h1{color:#fff;max-width:950px}.biography-hero .lead{color:#e4ebf4;max-width:750px;font-size:1.125rem;line-height:1.8}.biography-hero-credit{position:absolute;right:35px;bottom:20px;color:#fff;font-size:.8125rem;text-shadow:0 1px 4px #000;max-width:85%}@media(max-width:760px){.page-intro.biography-hero{min-height:360px;padding:35px 0 65px}.biography-hero h1{font-size:2.7rem;line-height:1.12}.biography-hero .lead{font-size:1rem}.biography-hero-credit{right:20px;bottom:16px}.biography-hero-image{object-position:60% center}}
/* Things to do: interest-led navigation and consistent local activity cards. */
.activities-hero{position:relative;isolation:isolate;min-height:420px;display:flex;align-items:center;overflow:hidden;background:#172332;color:#fff}.activities-hero>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 53%}.activities-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0c1628f0 0%,#14243bc4 48%,#13223a30 100%)}.activities-hero-copy{padding:35px 0 65px}.activities-hero .breadcrumb,.activities-hero .breadcrumb a{color:#e5edf5;font-size:.875rem}.activities-hero .breadcrumb{margin-bottom:35px}.activities-hero .eyebrow{font-size:.875rem;color:#e5edf5}.activities-hero h1{font-size:clamp(3.4rem,6vw,5.4rem);line-height:1.05;letter-spacing:-.05em;margin:16px 0 22px}.activities-hero p{max-width:650px;color:#e5edf5;font-size:1.125rem;line-height:1.8}.activities-hero-credit{position:absolute;right:35px;bottom:20px;font-size:.8125rem;color:#fff;text-shadow:0 1px 4px #000}.activities-interest-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding-top:35px;padding-bottom:15px}.interest-tile{position:relative;display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden;transition:transform .2s,border-color .2s}.interest-tile>img{width:100%;height:135px;object-fit:cover}.interest-tile>span{padding:19px 42px 20px 19px;font-size:1.0625rem;line-height:1.4;font-weight:600;color:var(--ink)}.interest-tile>small{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff;color:#172332;font-size:.8125rem}.interest-tile:hover{transform:translateY(-3px);border-color:var(--accent)}.interest-tile:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.activities-story .directory-intro{margin-top:10px;padding-top:15px;padding-bottom:30px;display:flex;align-items:center;justify-content:space-between;gap:30px}.activities-story .directory-intro p{font-size:.9375rem;max-width:820px;margin:0;line-height:1.8}.activities-story .directory-intro>.text-link{white-space:nowrap;font-size:.9375rem}.activities-story .directory-section{padding:60px 0;scroll-margin-top:145px;border-top:1px solid var(--line)}.activities-story .directory-section:nth-of-type(odd){background:var(--soft)}.activities-story .section-head{display:grid;grid-template-columns:70px 1.1fr 1fr;gap:22px;align-items:center;margin-bottom:32px}.activity-section-number{font-size:3.5rem;line-height:1;letter-spacing:-.06em;color:var(--accent);font-weight:400}.activities-story .section-head h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.2;margin:0}.activities-story .section-head p{font-size:1rem;line-height:1.8;margin:0;color:var(--muted)}.activities-story .directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.activities-story .directory-card{padding:26px;background:var(--surface);border:1px solid var(--line);border-radius:15px;display:flex;flex-direction:column;min-width:0;box-shadow:0 5px 18px #00000003}.activity-card-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 15px;margin-bottom:18px;align-content:start;min-height:100px}.activities-story .activity-card-heading .directory-image{grid-column:2;grid-row:1/3;width:66px;height:66px;object-fit:cover;margin:0;border-radius:9px}.activities-story .activity-card-heading .directory-image.logo{object-fit:contain;background:#fff;padding:7px}.activities-story .activity-card-heading .directory-tag{grid-column:1;font-size:.8125rem;line-height:1.5;color:var(--accent);margin:0}.activities-story .activity-card-heading h3{grid-column:1;font-size:1.1875rem;line-height:1.4;letter-spacing:-.02em;margin:0;overflow-wrap:anywhere}.activities-story .directory-card>p{font-size:1rem;line-height:1.8;color:var(--muted);margin-bottom:22px}.activities-story .directory-card>.text-link{font-size:.9375rem;align-self:start;font-weight:600;display:inline-block;margin-top:auto;margin-bottom:18px}.activities-story .directory-actions{margin-bottom:18px}.activities-story .directory-card details{border-top:1px solid var(--line);border-bottom:0;padding:0;margin:0}.activities-story .directory-card summary{padding:15px 0;font-size:.875rem}.activities-story .directory-card details p{font-size:.9375rem;line-height:1.8}.activities-story .directory-card details a{font-size:.875rem;display:block;margin-bottom:12px}.activities-story .directory-card .image-credit{font-size:.8125rem}.activities-story .section:last-child{padding:40px 0 65px}.activities-story .directory-note{font-size:.9375rem;line-height:1.8;max-width:860px}
@media(max-width:1000px){.activities-interest-nav{gap:14px}.interest-tile>span{font-size:.9375rem;padding:17px}.activities-story .directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.activities-story .section-head{grid-template-columns:55px 1fr;gap:20px}.activities-story .section-head>p{grid-column:2}.activity-section-number{font-size:3rem}.activities-story .directory-intro{align-items:start}}
@media(max-width:760px){.activities-hero{min-height:350px}.activities-hero-copy{padding:30px 0 55px}.activities-hero h1{font-size:3.2rem}.activities-hero p{font-size:1rem}.activities-hero-credit{right:20px;bottom:16px}.activities-interest-nav{grid-template-columns:1fr 1fr;padding-top:25px;gap:14px}.interest-tile>img{height:105px}.activities-story .directory-intro{display:block;padding-bottom:25px}.activities-story .directory-intro>.text-link{display:inline-block;margin-top:15px}.activities-story .directory-section{padding:38px 0;scroll-margin-top:100px}.activities-story .directory-grid{gap:16px}.activities-story .directory-card{padding:22px}.activities-story .section-head{gap:15px;grid-template-columns:42px 1fr}.activity-section-number{font-size:2.6rem}.activities-story .section-head h2{font-size:1.9rem}.activities-story .activity-card-heading{min-height:0}.activities-story .activity-card-heading .directory-image{width:52px;height:52px}}
@media(max-width:560px){.activities-story .directory-grid{grid-template-columns:1fr}.activities-story .directory-card{padding:24px}.interest-tile>span{font-size:.9375rem}.activities-story .section-head h2{font-size:1.7rem}.activities-story .activity-card-heading .directory-image{width:64px;height:64px}}
@media(prefers-reduced-motion:reduce){.interest-tile{transition:none}.interest-tile:hover{transform:none}}

/* Full photographic cards keep each activity easy to recognise. */
.activities-story .activity-card-photo{position:relative;margin:-26px -26px 24px;overflow:hidden;border-radius:14px 14px 0 0;aspect-ratio:16/10;background:var(--soft)}.activities-story .activity-card-photo .directory-image{display:block;width:100%;height:100%;object-fit:cover;margin:0;border-radius:0;padding:0}.activities-story .activity-card-heading{display:block;min-height:0;margin-bottom:16px}.activities-story .activity-card-heading .directory-tag{display:block;margin-bottom:10px}.activities-story .activity-card-heading h3{font-size:1.25rem;line-height:1.35}.activity-image-label{position:absolute;bottom:12px;left:12px;right:12px;width:fit-content;max-width:calc(100% - 24px);padding:5px 9px;border-radius:5px;background:#111827dc;color:#fff;font-size:.75rem;line-height:1.4}.activities-story .activity-card-photo img{transition:transform .35s ease}.activities-story .directory-card:hover .activity-card-photo img{transform:scale(1.025)}
@media(max-width:760px){.activities-story .activity-card-photo{margin:-22px -22px 22px}}
@media(max-width:560px){.activities-story .activity-card-photo{margin:-24px -24px 22px;aspect-ratio:16/9}}
@media(prefers-reduced-motion:reduce){.activities-story .activity-card-photo img{transition:none}.activities-story .directory-card:hover .activity-card-photo img{transform:none}}

.activities-hero-author{position:absolute;right:35px;bottom:41px;font-size:.8125rem;color:#fff;text-shadow:0 1px 4px #000}.activities-hero::after{background:linear-gradient(90deg,#09131ee6 0%,#102133ae 48%,#10213312 100%)}@media(max-width:760px){.activities-hero-author{right:20px;bottom:37px}.activities-hero-copy{padding-bottom:85px}}

/* Preserve the panoramic fountain focal point in the activity header. */
.activities-hero>img{object-position:62% 50%}.activities-hero::after{background:linear-gradient(90deg,#09131eed 0%,#102133b8 35%,#10213335 62%,#10213308 100%)}
/* News & media: editorial mastheads, direct source links and clear formats. */
.media-hero{position:relative;isolation:isolate;min-height:410px;display:flex;align-items:center;overflow:hidden;background:#122033;color:#fff}.media-hero>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:70% 40%}.media-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0a1525f7 0%,#13233cdd 35%,#10203868 65%,#10203818 100%)}.media-hero-copy{padding-top:35px;padding-bottom:65px}.media-hero .breadcrumb,.media-hero .breadcrumb a{color:#e6edf6;font-size:.875rem}.media-hero .breadcrumb{margin-bottom:34px}.media-hero .eyebrow{color:#e1eafa;font-size:.875rem}.media-hero h1{font-size:clamp(3.2rem,6vw,5.4rem);line-height:1.04;letter-spacing:-.05em;margin:16px 0 23px;color:#fff}.media-hero p{max-width:600px;font-size:1.125rem;line-height:1.8;color:#e6edf6}.media-hero-credit{position:absolute;right:35px;bottom:20px;font-size:.8125rem;color:#fff;text-shadow:0 1px 3px #000}.media-format-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-top:30px;padding-bottom:25px}.media-format-link{display:flex;align-items:center;gap:13px;min-height:86px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);font-weight:600;font-size:1rem;line-height:1.45;transition:border-color .2s,transform .2s}.media-format-number{color:var(--accent);font-size:.8125rem;font-weight:400}.media-format-arrow{margin-left:auto;font-size:1.3rem}.media-format-link:hover{border-color:var(--accent);transform:translateY(-2px)}.media-format-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.media-story .directory-intro{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:0;padding-bottom:35px}.media-story .directory-intro p{font-size:.9375rem;line-height:1.8;max-width:820px;margin:0}.media-story .directory-intro>.text-link{font-size:.9375rem;white-space:nowrap}.media-story .media-section{padding:60px 0;border-top:1px solid var(--line);scroll-margin-top:125px}.media-story .section-head{display:grid;grid-template-columns:65px 1.2fr 1fr;gap:22px;align-items:center;margin-bottom:32px}.media-section-number{color:var(--accent);font-size:3.2rem;line-height:1;letter-spacing:-.05em}.media-story .section-head h2{font-size:clamp(1.8rem,3vw,2.45rem);line-height:1.2;margin:0}.media-story .section-head p{font-size:1rem;line-height:1.8;margin:0;color:var(--muted)}.media-story .directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.media-story .directory-card{display:flex;flex-direction:column;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:15px;min-width:0;overflow:hidden;box-shadow:0 5px 20px #00000004}.media-masthead{display:flex;align-items:center;justify-content:flex-start;height:112px;margin:-28px -28px 24px;padding:25px 28px;background:#fff;border-bottom:1px solid #e7eaf0}.media-story .media-masthead .directory-image{width:auto;max-width:85%;height:auto;max-height:62px;object-fit:contain;object-position:left;margin:0;border:0;border-radius:0;padding:0;background:transparent}.media-wordmark{font-size:1.9rem;font-weight:750;letter-spacing:-.045em;line-height:1.15;color:#192b46}.media-story .directory-tag{font-size:.8125rem;line-height:1.6;color:var(--accent);margin-bottom:12px}.media-story .directory-card h3{font-size:1.35rem;letter-spacing:-.025em;line-height:1.35;margin:0 0 17px}.media-story .directory-card>p{font-size:1rem;line-height:1.8;color:var(--muted);margin:0 0 24px}.media-story .directory-card>.text-link{margin-top:auto;align-self:flex-start;margin-bottom:22px;display:inline-block;padding:11px 16px;border:1px solid var(--line);border-radius:8px;background:var(--soft);font-size:.9375rem;line-height:1.5;font-weight:600;text-decoration:none}.media-story .directory-card>.text-link:hover{border-color:var(--accent);color:var(--accent)}.media-story .directory-card details{margin:0;border-bottom:0;border-top:1px solid var(--line);padding:0}.media-story .directory-card summary{font-size:.875rem;padding:15px 0 0}.media-story .directory-card details a{display:block;font-size:.875rem;margin-top:12px}.media-story .media-radio{background:var(--soft)}.media-story .media-radio .directory-grid,.media-story .media-official .directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.media-story .media-official{background:var(--soft)}.media-story .media-official .directory-card{border-top:3px solid var(--accent)}.media-story .section:last-child{padding:35px 0 60px}.media-story .directory-note{font-size:.9375rem;line-height:1.8;max-width:850px}
@media(max-width:1000px){.media-format-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.media-story .media-radio .directory-grid,.media-story .media-official .directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-story .section-head{grid-template-columns:55px 1fr}.media-story .section-head>p{grid-column:2}.media-story .directory-intro{align-items:start}}
@media(max-width:640px){.media-hero{min-height:360px}.media-hero-copy{padding:30px 0 70px}.media-hero h1{font-size:3rem}.media-hero p{font-size:1rem}.media-hero-credit{right:20px}.media-format-nav{gap:10px;padding-top:22px}.media-format-link{font-size:.875rem;gap:9px;padding:14px;min-height:84px}.media-story .directory-intro{display:block;padding-bottom:25px}.media-story .directory-intro>.text-link{display:inline-block;margin-top:14px}.media-story .media-section{padding:36px 0;scroll-margin-top:100px}.media-story .section-head{grid-template-columns:40px 1fr;gap:15px}.media-section-number{font-size:2.6rem}.media-story .section-head h2{font-size:1.85rem}.media-story .directory-grid,.media-story .media-radio .directory-grid,.media-story .media-official .directory-grid{grid-template-columns:1fr}.media-story .directory-card{padding:23px}.media-masthead{margin:-23px -23px 22px;padding:24px}.media-story .directory-card h3{font-size:1.3rem}}
@media(prefers-reduced-motion:reduce){.media-format-link{transition:none}.media-format-link:hover{transform:none}}

/* Distinct documentary imagery for every media source. */
.media-card-photo{position:relative;margin:-28px -28px 24px;aspect-ratio:16/9;overflow:hidden;background:var(--soft)}.media-story .media-card-photo .directory-image{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;margin:0;border:0;border-radius:0;padding:0}.media-story .media-official .directory-card{border-top:1px solid var(--line)}
@media(max-width:640px){.media-card-photo{margin:-23px -23px 22px}}
/* Contributor accounts and moderated photo archive. */
.header-account{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;color:var(--ink);border:1px solid var(--line);border-radius:50%}.header-account svg{width:21px;height:21px}.header-account:hover{border-color:var(--accent);color:var(--accent)}.community-account{min-height:320px}.community-notice{font-size:1rem;line-height:1.7;color:var(--accent);margin:0 0 20px}.community-notice:empty{display:none}.community-welcome{padding:36px;max-width:700px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.community-account-head{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-bottom:30px;padding-bottom:25px;border-bottom:1px solid var(--line)}.community-name{font-size:1.5rem;font-weight:650}.community-account-head>a{margin-left:auto}.community-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:35px;align-items:start}.community-nav{display:flex;flex-direction:column;gap:7px;position:sticky;top:130px}.community-tab{display:block;padding:14px 17px;border-radius:9px;color:var(--ink);text-decoration:none;font-size:1rem;border:1px solid transparent}.community-tab:hover,.community-tab[aria-current]{background:var(--soft);border-color:var(--line);color:var(--accent)}.community-main{min-width:0}.community-main>h2{margin-top:0}.community-form{display:grid;gap:22px;max-width:720px;padding:30px;background:var(--surface);border:1px solid var(--line);border-radius:16px}.community-form h2,.community-form p{margin:0}.community-form p{font-size:1rem;line-height:1.75;color:var(--muted)}.community-form label,.review-form label,.community-actions label{display:grid;gap:9px;font-size:.9375rem;line-height:1.6;color:var(--ink)}.community-form input,.community-form textarea,.community-actions select,.review-form textarea,.community-user select{width:100%;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit;font-size:1rem}.community-form input[type=file]{background:var(--soft)}.community-form .community-check{display:flex;gap:12px;align-items:flex-start}.community-check input{width:20px;height:20px;flex:0 0 auto;margin-top:3px;accent-color:var(--accent)}.community-form>.button{justify-self:start}.community-preview{max-height:300px;width:100%;object-fit:contain;background:var(--soft);border-radius:10px}.community-actions{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:18px 0 24px}.community-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px;margin-bottom:25px}.submission-card{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--surface);min-width:0}.submission-image{display:block;aspect-ratio:16/10;background:var(--soft)}.submission-image img{width:100%;height:100%;object-fit:cover}.submission-copy{padding:23px}.submission-copy h3{font-size:1.25rem;line-height:1.4;margin:13px 0}.submission-copy p{font-size:1rem;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.submission-copy .submission-credit{font-size:.875rem;color:var(--muted);margin:7px 0}.community-status{display:inline-block;padding:5px 10px;border:1px solid var(--line);border-radius:30px;color:var(--accent);background:var(--soft);font-size:.8125rem;line-height:1.5}.community-status.rejected{color:#b54747}.review-note{border-left:3px solid var(--accent);padding-left:13px}.review-form{margin-top:20px}.review-form .community-actions{margin-bottom:10px}.community-delete{border:0;background:none;color:var(--muted);font:inherit;font-size:.875rem;padding:10px 0;text-decoration:underline;cursor:pointer}.community-user-list{display:grid;gap:14px;margin-bottom:25px}.community-user{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.community-user>strong,.community-user>span{overflow-wrap:anywhere}.community-user>span{font-size:.875rem;color:var(--muted)}.community-user select{width:auto}.community-user>.button{padding:10px 15px}.community-audit-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid var(--line);font-size:.9375rem}.community-audit-row span{color:var(--muted)}.community-archive{background:var(--soft)}.community-archive .section-head{gap:24px}.community-archive .section-head p{max-width:680px;line-height:1.8}.community-archive .community-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}button:disabled{opacity:.55;cursor:wait}.community-form :focus-visible,.community-tab:focus-visible,.header-account:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:900px){.community-layout{grid-template-columns:1fr;gap:24px}.community-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:6px}.community-tab{padding:10px 13px;font-size:.9375rem}.community-archive .community-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.community-photo-grid,.community-archive .community-photo-grid{grid-template-columns:1fr}.community-form,.community-welcome{padding:22px}.community-account-head{gap:12px}.community-user{display:grid;grid-template-columns:1fr}.community-user select{width:100%}.community-archive .section-head{display:block}.community-archive .section-head>.button{margin-top:15px}}
.review-form input{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--ink);font:inherit}.review-form label{margin-bottom:15px}.submission-copy details{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.submission-copy summary{font-size:.9375rem;cursor:pointer}
.page-intro.archive-hero{position:relative;isolation:isolate;overflow:hidden;min-height:410px;display:flex;align-items:center;padding:45px 0 75px;background:#142132;color:#fff}.archive-hero>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:65% 55%}.archive-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0b1729eb 0%,#14243bc4 42%,#13223a30 100%)}.archive-hero .breadcrumb,.archive-hero .breadcrumb a{color:#e5edf5}.archive-hero h1{color:#fff}.archive-hero .lead{max-width:740px;color:#e5edf5;font-size:1.125rem;line-height:1.8}.archive-hero-credit{position:absolute;right:32px;bottom:20px;color:#fff;font-size:.8125rem;text-shadow:0 1px 3px #000}@media(max-width:640px){.page-intro.archive-hero{min-height:360px;padding:32px 0 75px}.archive-hero h1{font-size:3rem}.archive-hero .lead{font-size:1rem}.archive-hero-credit{right:20px;max-width:90%}}
@media(max-width:600px){.header-account{display:grid;width:33px;height:36px}.nav-actions{grid-row:2;grid-column:1/-1;justify-content:flex-end;width:100%}.nav-links{grid-row:3}}

/* Historical film cards use authentic archive preview stills. */
#videos .directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}#videos .film-card{display:flex;flex-direction:column;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.film-preview{position:relative;display:block;aspect-ratio:16/10;background:#16191d;overflow:hidden}.film-preview img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.film-preview:hover img{transform:scale(1.035)}.film-play{position:absolute;left:18px;bottom:17px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:#15243a;font-size:1rem;box-shadow:0 2px 14px #0003}.film-duration{position:absolute;right:14px;bottom:16px;padding:5px 9px;border-radius:5px;background:#10141de8;color:white;font-size:.8125rem}.film-copy{padding:25px;display:flex;flex-direction:column;flex:1}.film-copy .eyebrow{font-size:.8125rem;color:var(--muted)}.film-copy h3{font-size:1.25rem;line-height:1.4;margin:12px 0}.film-copy p{font-size:1rem;line-height:1.75;color:var(--muted);margin-bottom:22px}.film-copy>.text-link{margin-top:auto;font-size:.9375rem}#videos>.wrap>p{font-size:1rem;line-height:1.8}
@media(max-width:1000px){#videos .directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){#videos .directory-grid{grid-template-columns:1fr}.film-copy{padding:22px}}@media(prefers-reduced-motion:reduce){.film-preview img{transition:none}.film-preview:hover img{transform:none}}
/* People: complete portraits, with a photographic introduction. */
.people-hero,.visit-hero{position:relative;isolation:isolate;overflow:hidden;background:#17202e;color:#fff;padding:90px 0 100px;min-height:440px;display:flex;align-items:center}.people-hero>img,.visit-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.people-hero::after,.visit-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,17,30,.87),rgba(8,17,30,.58) 56%,rgba(8,17,30,.18))}.people-hero .breadcrumb,.visit-hero .breadcrumb{color:#e1e8f1}.people-hero h1,.visit-hero h1{font-size:clamp(2.6rem,5vw,4.6rem);color:#fff;max-width:850px}.people-hero .lead,.visit-hero .lead{color:#f0f3f7;max-width:730px;font-size:1.125rem;line-height:1.75}.visual-hero-credit{position:absolute;right:28px;bottom:17px;left:28px;text-align:right;font-size:.75rem;color:#fff;line-height:1.5}.person-card .person-photo{height:360px;width:100%;object-fit:contain;object-position:center!important;background:var(--soft);border-radius:12px}.person-card .person-top{justify-content:flex-start;margin-top:18px;margin-bottom:14px}.person-card .image-credit{font-size:.8rem}.person-card h2{line-height:1.18}
/* Visit: image-led transport, a walking sequence, clear practical answers. */
.visit-story .visit-hero>img{object-position:center 52%}.visit-story .section-nav{border-bottom:1px solid var(--line);background:var(--paper)}.visit-story .visit-data{gap:24px}.visit-story .visit-data>article{padding:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface);display:flex;flex-direction:column}.visit-card-photo{position:relative;display:block;overflow:hidden}.visit-card-photo img{width:100%;height:230px;object-fit:cover;transition:transform .25s}.visit-card-photo:hover img{transform:scale(1.025)}.visit-card-photo span{position:absolute;bottom:12px;right:12px;color:white;background:#101820c9;padding:4px 9px;border-radius:5px;font-size:.75rem}.visit-card-copy{padding:26px;display:flex;flex-direction:column;flex:1}.visit-card-copy>.text-link{margin-top:auto;align-self:flex-start}.visit-card-copy .eyebrow{font-size:.875rem;margin-bottom:10px}.visit-story .visit-data p,.visit-story .cards p{font-size:1rem}.visit-story #day .split{gap:64px;grid-template-columns:1fr 1.1fr}.visit-story #day h2{font-size:clamp(2rem,3.6vw,3.15rem);margin:12px 0 20px}.visit-day-photo{margin-top:28px}.visit-day-photo>img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:16px}.visit-day-photo figcaption{font-size:.75rem;margin-top:8px;color:var(--muted)}.visit-story .itinerary{padding:10px 0}.visit-story .itinerary article{padding-left:55px;padding-bottom:40px}.visit-story .itinerary article::before{border-radius:50%;width:40px;height:40px;left:-20px;font-size:.875rem;border:1px solid var(--line);color:var(--accent);background:var(--paper)}.visit-story .itinerary h3{font-size:1.35rem}.visit-story #questions .split{grid-template-columns:.75fr 1.25fr;gap:60px}.visit-story #questions details{padding:23px 0}.visit-story #questions summary{font-size:1.1rem}.visit-story #nearby .cards>article{border:1px solid var(--line);border-radius:16px;padding:26px;background:var(--surface)}.visit-place-number{font-size:2.7rem;letter-spacing:-.05em;line-height:1;color:var(--accent);display:block;margin-bottom:24px}.visit-story #nearby h3{font-size:1.4rem}.visit-story .section-head h2{font-size:clamp(2rem,3.4vw,2.8rem)}
@media(max-width:1000px){.visit-story .visit-data{gap:16px}.visit-card-copy{padding:20px}.visit-card-photo img{height:190px}.visit-story #day .split,.visit-story #questions .split{gap:32px}}
@media(max-width:760px){.people-hero,.visit-hero{padding:55px 0 80px;min-height:400px}.people-hero .lead,.visit-hero .lead{font-size:1rem}.people-hero::after,.visit-hero::after{background:linear-gradient(90deg,#08111edd,#08111e80)}.person-card .person-photo{height:330px}.visit-story .visit-data,.visit-story #nearby .cards,.visit-story #day .split,.visit-story #questions .split{grid-template-columns:1fr}.visit-card-photo img{height:240px}.visit-story .itinerary{margin-top:16px}.visit-day-photo>img{max-height:300px}.visual-hero-credit{left:16px;right:16px;font-size:.75rem}.visit-story .visit-data>article{border-radius:14px}}
@media(prefers-reduced-motion:reduce){.visit-card-photo img{transition:none}}
/* A connected archive and city atlas. */
.record-heading,.atlas-heading{padding-block:42px 28px}.record-heading>.eyebrow{display:block;margin:25px 0 12px}.record-heading h1,.atlas-heading h1{font-size:clamp(2.1rem,4vw,3.7rem);max-width:1000px}.record-date{color:var(--muted);margin-top:16px}.record-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:40px;align-items:start}.record-full{background:var(--soft);border-radius:16px;overflow:hidden;display:grid;min-height:320px;place-items:center}.record-full img{width:100%;max-height:78vh;object-fit:contain}.record-info{padding:28px;background:var(--soft);border-radius:16px}.record-info h2{font-size:1.5rem;margin-bottom:18px}.record-info dl{margin:24px 0}.record-info dt{font-size:.875rem;color:var(--muted);margin-top:20px}.record-info dd{margin:3px 0 0;font-size:1rem;overflow-wrap:anywhere}.record-actions{display:grid;gap:16px;margin-bottom:22px}.related-records{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.record-tile{text-decoration:none;border:1px solid var(--line);border-radius:14px;overflow:hidden;padding-bottom:22px}.record-tile img{width:100%;height:210px;object-fit:contain;background:var(--soft)}.record-tile span,.record-tile h3{display:block;margin:16px 20px 0}.record-tile span{font-size:.875rem;color:var(--muted)}.record-tile h3{font-size:1.15rem}.record-link{display:inline-block;margin-top:15px;font-size:.875rem}.comparison-note{padding:20px 24px;border-left:3px solid var(--accent);background:var(--soft);max-width:850px}.comparison-nav{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 45px}.comparison-nav a{padding:10px 17px;border:1px solid var(--line);border-radius:30px;text-decoration:none}.comparison-pair{padding:35px 0 55px;border-top:1px solid var(--line)}.comparison-pair h2{margin-bottom:25px}.comparison-pictures{display:grid;grid-template-columns:1fr 1fr;gap:24px}.comparison-pictures figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:.875rem;margin-bottom:14px}.comparison-pictures figcaption span{color:var(--muted)}.comparison-pictures img{width:100%;height:380px;object-fit:contain;background:var(--soft);border-radius:14px}.comparison-pictures .text-link{display:inline-block;margin-top:15px}.atlas-heading>p{margin:18px 0 24px;color:var(--muted);font-size:1.1rem}.atlas-controls{display:flex;flex-wrap:wrap;align-items:end;gap:16px}.atlas-controls label{display:grid;gap:7px;font-size:.875rem}.atlas-controls input,.atlas-controls select{min-height:46px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit}.atlas-controls input{width:280px;max-width:100%}.atlas-layout{display:grid;grid-template-columns:minmax(290px,1fr) minmax(0,1.7fr);gap:24px;padding-bottom:65px;align-items:start}.atlas-map-panel{position:sticky;top:110px;min-width:0}.atlas-map-panel>p{font-size:.875rem;margin:12px 0}.atlas-map-note{color:var(--muted)}#city-map{height:570px;border-radius:16px;background:#e1e6e9;z-index:0;border:1px solid var(--line)}.atlas-place{display:grid;grid-template-columns:90px 1fr;gap:15px;padding:20px 0;border-bottom:1px solid var(--line)}.atlas-place>img{width:90px;height:100px;object-fit:cover;border-radius:8px}.atlas-place h2{font-size:1.25rem;margin:7px 0 12px}.atlas-place .eyebrow{font-size:.75rem}.map-select{border:0;background:none;color:var(--accent);font:inherit;padding:0;text-decoration:underline;cursor:pointer}.atlas-links{display:flex;flex-wrap:wrap;gap:9px 14px;margin:12px 0;font-size:.875rem}.atlas-source{font-size:.75rem;color:var(--muted)}.atlas-place.selected{border-left:3px solid var(--accent);padding-left:12px;background:var(--soft)}.atlas-count{font-size:.875rem;color:var(--muted)}.atlas-marker span{display:grid;place-items:center;width:34px;height:34px;border:2px solid white;border-radius:50% 50% 50% 0;transform:rotate(-10deg);background:#2455dc;color:white;font:bold 14px Arial;box-shadow:0 2px 5px #0005}.atlas-map-panel .leaflet-popup-content{font:1rem/1.5 var(--sans);min-width:180px;color:#162134}.atlas-map-panel .leaflet-control-attribution{font-size:12px}.atlas-map-panel .leaflet-popup-content a{color:#2455dc}.atlas-map-panel .leaflet-tile{max-width:none!important}.atlas-map-panel .leaflet-control-zoom a{color:#111}
@media(max-width:900px){.record-layout{grid-template-columns:1fr}.atlas-layout{grid-template-columns:1fr}.atlas-map-panel{position:static;grid-row:1}#city-map{height:420px}.atlas-list{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.atlas-count,#map-empty{grid-column:1/-1}.comparison-pictures img{height:300px}}
@media(max-width:600px){.related-records,.comparison-pictures,.atlas-list{grid-template-columns:1fr}.comparison-pictures img{height:auto;max-height:450px}.record-heading,.atlas-heading{padding-block:30px 24px}.record-info{padding:22px}.atlas-controls{align-items:stretch}.atlas-controls label{width:100%}.atlas-controls input{width:100%}.record-full{min-height:200px}#city-map{height:360px}.comparison-nav{gap:8px}.record-tile img{height:240px}}
.editorial-tabs,.editorial-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:20px 0 28px}.editorial-tabs button[aria-pressed=true]{background:var(--accent);color:var(--paper)}.editorial-form{display:grid;gap:20px;max-width:850px;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:30px;margin:25px 0}.editorial-form label,.editorial-controls label,.editorial-item label{display:grid;gap:8px;font-size:.9375rem;min-width:0}.editorial-form input,.editorial-form select,.editorial-form textarea,.editorial-controls input,.editorial-controls select,.editorial-item textarea{font:inherit;font-size:1rem;width:100%;min-width:0;max-width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}.editorial-controls select{max-width:420px}.editorial-form p{color:var(--muted)}.editorial-form .editorial-consent{display:flex;align-items:start;gap:12px}.editorial-consent input{width:20px;height:20px;flex:none;margin-top:4px}.editorial-preview{padding:22px;background:var(--soft);white-space:pre-wrap;overflow-wrap:anywhere}.editorial-preview p{margin:14px 0}.editorial-notice{color:var(--accent);font-size:1rem;white-space:pre-wrap}.editorial-item{padding:24px;border:1px solid var(--line);border-radius:14px;margin:20px 0;max-width:900px;overflow-wrap:anywhere}.editorial-item h3{margin:18px 0}.editorial-item>a{margin-right:20px;display:inline-block;margin-block:12px}.memory-body,.community-memory p{white-space:pre-wrap;overflow-wrap:anywhere}.record-community{margin-top:25px;border-top:1px solid var(--line);padding-top:20px}.record-community details{margin-top:16px}.community-memory{padding:15px 0;border-bottom:1px solid var(--line)}.community-memory strong{font-size:.875rem}.community-memory p{margin-top:9px;font-size:1rem}.editorial-load-note{margin:20px auto;padding:16px;max-width:900px;background:var(--soft);font-size:.875rem}.editorial-form>.button{justify-self:start}@media(max-width:600px){.editorial-form{padding:20px}.editorial-controls{display:grid;grid-template-columns:1fr}.editorial-controls select{max-width:100%}.editorial-tabs .button{padding:10px 13px;font-size:.875rem}}
/* Keep the secondary Visit action readable over photography in both themes. */
.visit-hero .button.outline{color:#fff;border-color:#fff;background:rgba(8,17,30,.72)}.visit-hero .button.outline:hover{color:#101827;background:#fff;border-color:#fff}.visit-hero .button:focus-visible{outline:3px solid #fff;outline-offset:4px}

/* Search: compact filters and image-led results, shared by all languages. */
.search-filters{display:flex;gap:18px;align-items:end;flex-wrap:wrap;margin:22px 0 12px}.search-filters label{display:grid;gap:7px;flex:1;min-width:190px;font-size:.9rem;font-weight:600}.search-filters select{width:100%;padding:12px 36px 12px 12px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:8px;font:inherit;min-height:46px}.search-reset{background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:8px;min-height:46px;padding:10px 16px;font:inherit;cursor:pointer}.search-hint{font-size:.9rem;color:var(--muted);margin:10px 0 25px}.search-results .search-result{display:flex;gap:23px;align-items:center;padding:23px 0}.search-results .search-result[hidden]{display:none}.search-thumb{width:150px;height:112px;object-fit:cover;border-radius:9px;flex-shrink:0}.search-copy{min-width:0}.search-copy h2{margin:6px 0 8px}.search-copy p{margin:0}.search-result:focus-visible,.search-reset:focus-visible,.search-filters select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}@media(max-width:600px){.search-filters{gap:12px}.search-filters label{min-width:140px}.search-reset{width:100%}.search-results .search-result{gap:15px;align-items:start}.search-thumb{width:88px;height:88px}.search-copy h2{font-size:1.1rem}.search-copy p{font-size:.9rem}}

.search-result[data-search-type="people"] .search-thumb{object-fit:contain;background:var(--soft)}
/* Visit planner shares the guide's quiet cards and charcoal night palette. */
.planner-presets{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 28px}.planner-presets button,.planner-add button,.planner-summary button,.plan-stop-actions button{font:inherit;cursor:pointer;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 14px;min-height:44px}.planner-presets button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.planner-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:30px}.planner-add{display:flex;gap:10px;margin:9px 0}.planner-add select{min-width:0;flex:1;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}.planner-layout label{font-weight:600}.planner-summary{padding:26px;background:var(--soft);border-radius:14px;align-self:start}.planner-summary h3{margin-top:0}.planner-summary p{font-size:.94rem}.planner-summary>a,.planner-summary>button{display:block;margin:12px 0}.planner-summary .button{color:var(--paper);background:var(--ink);white-space:normal}#plan-stops{padding-left:24px}#plan-stops li{position:relative;padding:20px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:100px 1fr;gap:15px}#plan-stops li::before{content:counter(list-item);position:absolute;left:-24px;top:20px;font-weight:700}#plan-stops img{width:100px;height:80px;object-fit:cover;border-radius:8px}#plan-stops h3{font-size:1.12rem;margin:0 0 8px}#plan-stops a{display:inline-block;font-size:.88rem;margin-right:15px;text-decoration:underline}.plan-stop-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.plan-stop-actions button{font-size:.875rem;padding:7px 10px}.visit-planner button:disabled{opacity:.45;cursor:default}.visit-planner [hidden]{display:none!important}.visit-planner :focus-visible{outline:3px solid var(--accent);outline-offset:3px}.atlas-source{display:block}@media(max-width:760px){.planner-layout{grid-template-columns:1fr}.planner-presets button{flex:1;min-width:160px}.planner-add{flex-wrap:wrap}.planner-add select{min-width:180px}}@media print{body{padding:0!important}.header,.footer,.visit-story>section,.visit-story>div:not(:has(.visit-planner)),.skip{display:none!important}.visit-story>div:has(.visit-planner){display:block!important}.visit-planner{display:block!important;padding:0!important}.planner-presets,.planner-add,.planner-layout>div>label,.plan-stop-actions,#plan-clear,#plan-print,#plan-labels{display:none!important}.planner-layout{display:block}.planner-summary{background:white;color:black}.visit-planner a{color:black}.visit-planner li{break-inside:avoid}}
.maintenance-actions,.maintenance-filters{display:flex;gap:14px;flex-wrap:wrap;margin:22px 0}.maintenance-actions [hidden]{display:none}.maintenance-filters label{display:grid;gap:7px;flex:1;min-width:190px}.maintenance-filters input,.maintenance-filters select{font:inherit;color:var(--ink);background:var(--surface);padding:10px;border:1px solid var(--line);border-radius:7px}.maintenance-row{padding:20px 0;border-bottom:1px solid var(--line)}.maintenance-row>a{display:block;overflow-wrap:anywhere;margin:9px 0}.maintenance-row details a{display:block;font-size:.9rem;margin:7px 0}.maintenance-row small{display:block;color:var(--muted)}.maintenance-state{font-size:.9rem}.maintenance-state.broken{color:#b42335}:root[data-theme=dark] .maintenance-state.broken{color:#ff9da8}#maintenance-app progress{width:100%;height:14px}#maintenance-app>h2{margin-top:30px}

.submission-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 24px}.submission-totals>div{padding:18px;background:var(--soft);border:1px solid var(--line);border-radius:10px}.submission-totals strong{display:block;font-size:1.8rem;line-height:1.3}.submission-totals span{font-size:.9rem}.submission-next{padding:12px 0;font-size:.94rem;color:var(--ink)}.review-note strong{display:block;font-size:.9rem}.review-note p{margin:8px 0 0}#contributor-gallery>h2{margin-top:26px}.community-actions select{font:inherit;padding:9px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px}@media(max-width:480px){.submission-totals{gap:7px}.submission-totals>div{padding:12px 9px}.submission-totals span{font-size:.875rem}}

/* Keyboard focus and touch sizing without changing the visual identity. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}main:focus{outline:none}.header-search,.header-account,.theme-toggle{min-width:44px;min-height:44px}.menu-toggle,.language-control{min-height:44px}:root[data-theme=dark] .button:not(.outline){color:#111}.nav-links a{overflow-wrap:normal;word-break:normal;hyphens:none;min-width:min-content}.community-main,.submission-copy,.record-info{min-width:0}.submission-copy p,.record-info dd{overflow-wrap:anywhere}
@media(max-width:760px){input,select,textarea{font-size:16px!important}button,.button,summary{min-height:44px}.nav-links.open{max-height:55dvh;overflow-y:auto;overscroll-behavior:contain}.nav-links a{min-height:44px;display:flex;align-items:center;justify-content:center}.language-control{width:122px}.nav-actions{flex-wrap:wrap}}
@media(max-width:600px){.nav{grid-template-columns:1fr;gap:10px}.brand{grid-column:1;grid-row:1}.nav-actions{grid-column:1;grid-row:2;justify-self:stretch;justify-content:space-between;gap:3px;padding:0;border:0;background:transparent}.nav-links{grid-column:1;grid-row:3}.language-control{width:auto;min-width:100px;flex:1}.language-control select{width:100%}.language-icon{display:none}.menu-toggle{padding-inline:9px}.header-account,.header-search,.theme-toggle{flex:0 0 44px}.brand small{display:block;font-size:.75rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Keep translated menu words intact; wrap whole links on narrower desktops. */
@media(min-width:761px){.nav-links{flex-wrap:wrap;justify-content:center;column-gap:4px}.nav-links a{flex:0 0 auto;white-space:nowrap;padding-inline:8px}}

@media(max-width:400px){.destination-hero h1,.home-history h2{overflow-wrap:anywhere}}

/* Separate utility controls from the personal account card. */
.nav-actions{padding:0;border:0;background:transparent;border-radius:0;gap:14px;min-width:0}.header-tools{display:flex;align-items:center;gap:3px;padding:5px;border:1px solid var(--line);border-radius:999px;background:var(--soft)}.header-tools .language-control{flex:none}.header-user{display:flex;align-items:center;gap:12px;position:relative;min-width:0}.header-user.is-signed-in{width:340px;max-width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.header-profile{display:flex;align-items:center;gap:11px;flex:1;min-width:0;text-decoration:none;color:var(--ink)}.header-avatar{position:relative;display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--selected);color:var(--ink);font-size:.85rem;font-weight:600}.header-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.header-identity{display:flex;flex-direction:column;gap:3px;min-width:0;text-align:left}.header-identity strong{font-size:.85rem;font-weight:600;line-height:1.35}.header-identity small{font-size:.72rem;line-height:1.4;color:var(--muted)}.header-identity strong,.header-identity small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.header-login,.header-logout{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:8px 14px;font:inherit;font-size:.82rem;font-weight:600;text-decoration:none;color:var(--ink);background:var(--surface);cursor:pointer;white-space:nowrap}.header-logout{border:0;border-left:1px solid var(--line);border-radius:0;padding:8px 0 8px 12px;background:transparent}.header-login:hover,.header-logout:hover{color:var(--accent)}.header-profile:hover strong{text-decoration:underline}.header-logout:disabled{opacity:.5;cursor:wait}.header-account-error{position:absolute;top:100%;right:0;margin-top:6px;padding:12px;max-width:300px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font-size:.8rem;box-shadow:0 6px 24px #0002;z-index:5}
@media(min-width:761px) and (max-width:1050px){.nav{grid-template-columns:1fr}.brand{grid-column:1;grid-row:1}.nav-actions{grid-column:1;grid-row:2;justify-self:stretch;justify-content:space-between;width:100%}.nav-links{grid-column:1;grid-row:3}}
@media(max-width:760px){.nav{grid-template-columns:1fr}.brand{grid-column:1;grid-row:1}.nav-actions{grid-column:1;grid-row:2;justify-self:stretch;justify-content:space-between;flex-wrap:wrap;gap:10px;width:100%}.nav-links{grid-column:1;grid-row:3}.header-tools{flex:1;min-width:0;max-width:270px;justify-content:space-between}.header-tools .language-control{width:auto;flex:1;min-width:100px}.header-user{order:3;flex:1 0 100%}.header-user.is-signed-in{width:100%}.header-login{width:100%}.nav-actions .menu-toggle{order:2;margin-left:auto}.header-tools .header-search,.header-tools .theme-toggle{flex:0 0 44px}.header-user .header-logout{font-size:.8rem}}

.header-tools .header-search{display:grid;place-items:center}

/* Light, integrated header: open controls and a compact identity block. */
.nav-actions{gap:24px}.header-tools{border:0;background:transparent;padding:0;gap:7px}.header-tools .language-control{border:0;padding-inline:5px;width:130px}.header-tools .header-search,.header-tools .theme-toggle{background:transparent;border:0}.header-tools .header-search:hover,.header-tools .theme-toggle:hover{background:var(--soft)}.header-user.is-signed-in{width:auto;max-width:350px;border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;padding:0 0 0 24px;gap:20px}.header-profile{gap:12px}.header-avatar{width:46px;height:46px;flex-basis:46px;box-shadow:0 0 0 3px var(--paper),0 0 0 4px var(--line)}.header-identity{gap:4px;max-width:200px}.header-identity strong{font-size:.94rem;letter-spacing:-.015em}.header-identity small{font-size:.75rem}.header-logout{border:0;border-radius:8px;padding:8px 3px;min-width:0;font-size:.75rem;font-weight:500;color:var(--muted);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}.header-logout:hover{text-decoration-color:currentColor;color:var(--ink)}.header-login{border:0;border-radius:9px;background:var(--ink);color:var(--paper);padding:10px 22px}.header-login:hover{background:var(--accent);color:#fff}
@media(max-width:760px){.nav-actions{gap:12px}.header-tools{max-width:250px;gap:4px}.header-user.is-signed-in{width:100%;max-width:none;border-left:0;border-top:1px solid var(--line);padding:15px 0 2px;gap:16px}.header-identity{max-width:none}.header-avatar{width:42px;height:42px;flex-basis:42px}.header-user .header-logout{font-size:.78rem;padding-inline:6px}.header-user:not(.is-signed-in){flex-basis:auto;order:1}.header-login{width:auto;min-height:42px;padding:8px 16px}.header-tools .language-control{min-width:100px}.nav-actions .menu-toggle{order:0}.header-identity strong{font-size:.9rem}}

/* Consistent label casing and history annotations that follow the reading column. */
.brand small,.footer h3,.footer a{text-transform:capitalize}
.history-chapter .quote,.history-chapter .note{background:transparent;border:0;border-radius:0;padding:0;margin:24px 0;max-width:68ch;font-size:1.0625rem;line-height:1.9;letter-spacing:normal;color:var(--muted)}
.history-chapter .quote{color:var(--ink);font-weight:500}
.history-chapter .note strong{margin-bottom:8px;text-transform:capitalize}

/* Keep the utility group's contents intact when mobile controls wrap. */
@media(max-width:760px){.header-tools{flex:1 0 196px;min-width:196px}}

/* Stable private hydration and logout beneath the email. */
.header-account{visibility:hidden}.header-user.is-loading{width:210px;min-height:62px}.header-details{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:2px}.header-photo-link{flex-shrink:0;border-radius:50%}.header-details .header-profile{min-width:0;max-width:100%}.header-details .header-logout{padding:2px 0;min-height:24px;line-height:1.3}.header-user.is-signed-in{gap:12px}.header-identity{max-width:200px}.header-details .header-identity{display:flex;flex-direction:column}.header-photo-link:focus-visible{outline:2px solid var(--ink);outline-offset:5px}

/* A compact civic profile with clear identity, term details and biography access. */
#mayors>.wrap>.section-head h2{text-transform:capitalize;font-size:clamp(2rem,3.2vw,2.8rem);letter-spacing:-.045em}
.city-story .current-mayor{display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:22px;align-items:center;overflow:hidden}
.city-story .current-mayor-photo{margin:0;align-self:start;min-width:0}
.city-story .current-mayor-photo .mayor-portrait{display:block;flex:none;width:100%;height:250px;min-height:0;aspect-ratio:auto;border-radius:14px;overflow:hidden;background:var(--soft)}
.city-story .current-mayor-photo img{width:100%;height:100%;object-fit:cover}
.city-story .current-mayor-photo figcaption{padding:10px 0 0;line-height:1.5}
.city-story .current-mayor-copy{display:flex;flex-direction:column;gap:18px;padding:0;min-width:0;background:transparent}
.city-story .current-mayor-identity .eyebrow{display:inline-flex;padding:5px 10px;background:var(--selected);border-radius:6px;font-size:.7rem;letter-spacing:.08em;margin-bottom:12px}
.city-story .current-mayor h3{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.15;margin:0 0 8px}
.city-story .current-mayor-identity p{margin:0;font-size:.92rem}
.city-story .current-mayor-facts{display:flex;flex-wrap:wrap;gap:12px 28px;border-top:1px solid var(--line);padding-top:18px;align-items:baseline}
.city-story .current-mayor-facts strong{font-size:.95rem;font-weight:600;line-height:1.6}
.city-story .current-mayor-facts p{margin:0;font-size:.95rem;line-height:1.6}
.city-story .current-mayor-copy .current-mayor-checked{margin:-8px 0 0;font-size:.78rem;color:var(--muted)}
.city-story .current-mayor-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px}
.city-story .current-mayor-actions .button{border-radius:8px;padding:11px 18px}
.city-story .current-mayor-actions a{text-transform:capitalize}
@media(max-width:760px){.city-story .current-mayor{grid-template-columns:160px minmax(0,1fr);gap:24px;padding:22px}.city-story .current-mayor-photo .mayor-portrait{height:190px}.city-story .current-mayor-facts{gap:8px}}
@media(max-width:600px){.city-story .current-mayor{grid-template-columns:minmax(0,1fr);gap:20px;padding:20px;border-radius:16px}.city-story .current-mayor-photo{width:150px}.city-story .current-mayor-photo .mayor-portrait{height:175px}.city-story .current-mayor-actions{align-items:flex-start;flex-direction:column;gap:14px}}

.city-story .current-mayor-copy>div+div{margin-top:0}

/* Heraldic exhibits: open reading rows and a connected historical comparison. */
.city-story #symbols .section-head h2,.city-story #then-now .section-head h2,.city-story .symbol-card h3,.city-story .symbol-explanation h3,.city-story .heritage-version h3,.city-story .identity-note h3{text-transform:capitalize}
.city-story .symbol-grid{grid-template-columns:minmax(0,1fr);gap:0}
.city-story .symbol-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center;padding:32px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;overflow:visible}
.city-story .symbol-card>.symbol-art{order:2;height:260px;padding:28px;border-radius:16px;background:#fff;border:1px solid var(--line)}
.city-story .symbol-card:nth-child(2)>.symbol-art{order:0}
.city-story .symbol-card>div{padding:0;max-width:48ch}
.city-story .symbol-card h3{font-size:clamp(1.5rem,2.5vw,2rem);letter-spacing:-.035em;margin-bottom:16px}
.city-story .symbol-card p{font-size:1rem;line-height:1.85;margin:0}
.city-story .symbol-explanation{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;margin-top:0;border:0;padding:30px 0 0;border-radius:0;background:transparent;max-width:none}
.city-story .symbol-explanation h3{font-size:1.1rem;line-height:1.5;margin:0}
.city-story .symbol-explanation p{font-size:.95rem;line-height:1.85;max-width:75ch}
.city-story #then-now{background:var(--surface);border-block:1px solid var(--line)}
.city-story .heritage-versions{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;border-top:1px solid var(--line);padding-top:28px}
.city-story .heritage-version{padding:0;background:transparent;border:0;border-radius:0;position:relative}
.city-story .heritage-version::before{content:'';position:absolute;top:-34px;left:0;width:11px;height:11px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px var(--surface)}
.city-story .city-era-year{font-size:2.3rem;font-weight:600;letter-spacing:-.04em;line-height:1.2;color:var(--ink);margin-bottom:10px}
.city-story .heritage-version h3{font-size:1rem;color:var(--muted);margin:0}
.city-story .symbol-pair{grid-template-columns:1.4fr 1fr;padding:20px;gap:22px;margin:24px 0;background:#fff;border:1px solid var(--line);border-radius:14px;min-height:220px}
.city-story .symbol-pair .symbol-art{height:180px;margin:0;min-width:0}
.city-story .symbol-pair img{max-height:175px;object-fit:contain}
.city-story .heritage-version p{font-size:.95rem;line-height:1.85;margin:0;max-width:60ch}
.city-story .identity-note{display:grid;grid-template-columns:240px minmax(0,1fr);gap:12px 32px;max-width:none;margin-top:40px;padding:28px 0 0;border-top:1px solid var(--line)}
.city-story .identity-note h3{font-size:1.1rem;line-height:1.5;margin:0;grid-row:1/3}
.city-story .identity-note p{margin:0;font-size:.95rem;max-width:75ch}
.city-story .identity-note .text-link{justify-self:start}
.city-story .current-mayor-actions .bio-link{margin:0;font-size:.9rem}
@media(max-width:760px){.city-story .symbol-card{gap:28px}.city-story .symbol-card>.symbol-art{height:220px;padding:20px}.city-story .symbol-explanation,.city-story .identity-note{grid-template-columns:minmax(0,1fr);gap:12px}.city-story .identity-note h3{grid-row:auto}.city-story .heritage-versions{gap:28px}.city-story .symbol-pair{padding:12px;gap:12px;min-height:180px}.city-story .symbol-pair .symbol-art{height:150px}}
@media(max-width:600px){.city-story .symbol-card{grid-template-columns:minmax(0,1fr);gap:22px;padding:26px 0}.city-story .symbol-card>.symbol-art{order:0;height:230px}.city-story .heritage-versions{grid-template-columns:minmax(0,1fr);gap:38px}.city-story .heritage-version+.heritage-version{border-top:1px solid var(--line);padding-top:28px}.city-story .heritage-version+.heritage-version::before{top:-6px}.city-story .symbol-pair .symbol-art{height:165px}}

/* A single, uncluttered introduction to municipal leadership. */
.city-story #mayors > .wrap > .section-head{display:block;margin-bottom:28px;max-width:none}
.city-story #mayors > .wrap > .section-head h2{margin-bottom:0}
.president-hero .button.outline:hover,.president-hero .button.outline:focus-visible{color:var(--ink);background:var(--soft);border-color:var(--ink)}

/* Source citations remain separate from editable copy and visit actions. */
.content-sources{display:flex;flex-wrap:wrap;gap:8px 16px;margin:-4px 0 20px;line-height:1.5}
.content-sources .source-link{display:inline-block;vertical-align:baseline;font-size:.75rem;padding:3px 0}
.media-story .media-card-photo.media-logo{display:flex;align-items:center;justify-content:center;background:#fff;padding:28px}
.media-story .media-card-photo.media-logo .directory-image.logo{width:100%;height:100%;object-fit:contain;background:#fff;padding:0}
.footer-research time{white-space:nowrap}
.media-story .media-section .section-head>div,.media-story .media-section .section-head>p{min-width:0;overflow-wrap:anywhere}.media-story #entroncamento-online .media-logo,.media-story #entroncamento-online .media-logo .directory-image{background:#172332}

/* Museum films follow the historical films with one readable introduction. */
#films .archive-film-heading{display:block;margin-bottom:28px}
#films .archive-film-heading h2{margin-bottom:12px}
#films .archive-film-heading>p{max-width:75ch;margin:0}
.media-story #correio-do-ribatejo .media-logo,.media-story #correio-do-ribatejo .media-logo .directory-image{background:#001e28}

/* Searchable document collection and archive contributions. */
.archive-hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:26px}
.archive-hero-document-link{color:white;text-decoration:underline;text-underline-offset:5px}
.archive-documents h2{margin:12px 0 16px}.document-intro{max-width:80ch;margin-bottom:28px}
.document-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin:28px 0 14px}
.document-filters label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600}
.document-filters input,.document-filters select{min-width:0;width:100%;padding:12px;border:1px solid var(--line,#dce3ed);border-radius:8px;background:var(--bg,#fff);color:var(--ink,#102235);font:inherit}
.document-results{font-size:14px;margin-bottom:22px}.document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.document-card{border:1px solid var(--line,#dce3ed);border-radius:14px;padding:24px;display:flex;flex-direction:column;min-width:0}
.document-card[hidden]{display:none}.document-meta{font-size:12px;color:var(--muted,#60758e);margin-bottom:14px}.document-card h3{font-size:20px;line-height:1.35;margin:0 0 14px}.document-description{font-size:14px;line-height:1.7}.document-publisher{font-size:12px;margin-top:auto;padding-top:16px}
.document-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin:12px 0 16px;font-size:14px}.document-provenance{border-top:1px solid var(--line,#dce3ed);padding-top:12px;font-size:12px}.document-provenance summary{cursor:pointer}.document-provenance code{overflow-wrap:anywhere;font-size:11px}.document-downloads{display:flex;gap:24px;flex-wrap:wrap;margin-top:28px}
.contribution-options{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:28px}.archive-contribute{background:var(--panel,#f4f6f9)}.archive-contribute>.wrap>p{max-width:75ch}.contribution-options p{max-width:65ch}
.activity-card-photo .activity-original-logo{object-fit:contain;padding:28px;background:#fff}
[data-theme="dark"] .document-filters input,[data-theme="dark"] .document-filters select{background:#22272e;color:#e8edf4}[data-theme="dark"] .archive-contribute{background:#22272e}
@media(max-width:1000px){.document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.document-grid,.document-filters,.contribution-options{grid-template-columns:1fr}.document-card{padding:22px}.archive-hero-actions{gap:20px}.archive-hero-actions .button{font-size:14px}.document-downloads{gap:16px}.contribution-options{gap:28px}}

/* Archive overview and dedicated collections */
.archive-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.archive-category-card{display:flex;flex-direction:column;min-height:300px;padding:32px;border:1px solid var(--line);border-radius:18px;text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s}
.archive-category-card:hover{border-color:var(--accent);transform:translateY(-3px)}
.archive-category-card:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.archive-category-count{font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--accent);margin-bottom:22px}
.archive-category-card h2{font-size:32px;margin:0 0 14px}
.archive-category-card p{color:var(--muted);font-size:16px;line-height:1.7;margin:0 0 26px}
.archive-category-action{margin-top:auto;font-weight:600;color:var(--accent)}
.archive-contribution-invite{border-top:1px solid var(--line);padding-top:40px;padding-bottom:50px}
.archive-contribution-invite p{max-width:760px;margin:12px 0 20px;color:var(--muted)}
.archive-subpage-intro{padding-bottom:32px}
.archive-subpage-intro .lead{max-width:880px}
.archive-page-navigation{border-bottom:1px solid var(--line)}
.archive-page-links{display:flex;gap:12px 30px;flex-wrap:wrap;padding-top:12px;padding-bottom:20px}
.archive-page-links a{text-decoration:none;font-size:14px;padding:8px 0;color:var(--muted)}
.archive-page-links a[aria-current=page]{color:var(--accent);box-shadow:0 2px var(--accent)}
[data-archive-page=documents] .archive-documents,[data-archive-page=contribute] .archive-contribute{padding-top:36px}
[data-archive-page=contribute] .contribution-options{margin-top:0}
@media(max-width:800px){.archive-category-grid{grid-template-columns:1fr}.archive-category-card{min-height:0;padding:26px}.archive-category-count{margin-bottom:12px}.archive-category-card h2{font-size:28px}.archive-page-links{gap:6px 22px}}
/* Keep outline controls readable in both themes and on photographic heroes. */
.button.outline:hover,.button.outline:focus-visible{color:var(--ink);background:var(--soft);border-color:var(--ink);filter:none}
.hero-copy .button.outline:hover,.hero-copy .button.outline:focus-visible,.city-hero .button.outline:hover,.city-hero .button.outline:focus-visible,.places-hero .button.outline:hover,.places-hero .button.outline:focus-visible,.visit-hero .button.outline:hover,.visit-hero .button.outline:focus-visible{color:#101827;background:#fff;border-color:#fff;filter:none}
.archive-photo-collections .archive-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px}.archive-photo-collections .archive-category-card{display:flex;flex-direction:column;gap:16px}.archive-photo-collections .archive-category-card>*{margin:0}.archive-photo-collections small{color:var(--muted);overflow-wrap:anywhere}.archive-photo-collections .text-link{align-self:flex-start;margin-top:auto}@media(max-width:760px){.archive-photo-collections .archive-category-grid{grid-template-columns:1fr}}
