@font-face{font-family:"Barlow Condensed";src:url('/assets/fonts/barlow-condensed-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url('/assets/fonts/barlow-condensed-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Public Sans";src:url('/assets/fonts/public-sans.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--brand:#174b3b;--brand-hover:#103629;--ink:#203b31;--muted:#52645a;--tint:#edf1e8;--tint-hover:#dfe8d9;--line:#d0d8cb;--sun:#edb949;--sun-hover:#f6cb67;--paper:#fbf9f2;--white:#fff;--on-brand:#fffaf0;--on-brand-muted:#d4e2d7;--on-brand-line:#416453;--field-border:#7a8f7d;--accent:#a83b2b;--focus:var(--brand);--wrap:1280px;--radius:14px;--body:"Public Sans",sans-serif;--display:"Barlow Condensed",sans-serif;scroll-behavior:smooth;scroll-padding-top:24px;color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--body);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
button,a,summary{touch-action:manipulation}
button{cursor:pointer}
button:disabled{opacity:.55;cursor:not-allowed}
a{color:var(--brand);text-decoration-thickness:1px;text-underline-offset:.22em}
a:hover{color:var(--brand-hover)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
input,textarea{caret-color:var(--brand)}
::selection{color:var(--ink);background:var(--sun)}
*{scrollbar-width:thin;scrollbar-color:var(--field-border) var(--tint)}
[hidden]{display:none!important}
img{display:block;max-width:100%;height:auto}
svg{flex-shrink:0}
p{margin:0 0 1.2em;max-width:72ch}
h1,h2,h3,h4{margin:0;color:inherit;line-height:1.1;text-wrap:balance}
h1,h2{font-family:var(--display);font-weight:600;letter-spacing:-.018em}
h3,h4{font-family:var(--body);font-weight:700;line-height:1.35}
h1{font-size:clamp(2.7rem,5.5vw,5rem);max-width:26ch;overflow-wrap:anywhere}
h2{font-size:clamp(2rem,3vw,3rem)}
h3{font-size:1.12rem}
ul,ol{padding-left:1.4em}
address{font-style:normal}
.wrap{width:min(calc(100% - 80px),var(--wrap));margin-inline:auto}
.icon{width:22px;height:22px;vertical-align:middle;flex-shrink:0}
.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.page-content .on-page-nav{background:var(--tint);padding:20px 24px;border-radius:var(--radius);margin-bottom:32px}
.page-content .on-page-nav h2{font-family:var(--body);font-size:1rem;letter-spacing:0;margin:0 0 12px}
.page-content .on-page-nav ul{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0;padding:0;list-style:none}
.page-content .on-page-nav li{margin:0;font-size:.85rem}
.skip-link:focus{position:fixed;z-index:1000;left:16px;top:16px;background:var(--white);padding:12px 20px;border:2px solid var(--brand)}
.site-header{background:var(--paper);position:relative;z-index:50}
.header-top{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:104px}
.wordmark{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);min-width:0}
.wordmark b{font-family:var(--display);font-size:2.2rem;line-height:1;letter-spacing:-.015em;display:block;font-weight:600}
.wordmark small{display:block;font-size:.7rem;line-height:1.3;margin:0;color:var(--muted)}
.city-seal{width:64px;height:64px;object-fit:contain;flex-shrink:0}
.header-tools{display:flex;align-items:center;gap:28px;font-size:.85rem;font-weight:600}
.header-tools>a{text-decoration:none;color:var(--ink)}
.language-label select{max-width:140px;border:0;background:var(--paper);color:var(--ink);font-size:.78rem;font-weight:600;min-height:44px;cursor:pointer}
.mobile-search-link{display:none}
.translation-footer{background:var(--tint)}
.translation-footer p{margin:0;font-size:.72rem;padding-block:8px}
.translation-footer p:empty{display:none}
#translation-engine:empty{display:none}
#translation-engine{padding-block:10px;font-size:.7rem}
.header-search{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--tint)}
.mobile-menu{display:none;border:0;background:var(--tint);padding:8px 14px;border-radius:8px;min-height:44px}
.nav-band{background:var(--brand);color:var(--on-brand);border-top:1px solid var(--on-brand-line);border-bottom:1px solid var(--on-brand-line);--focus:var(--sun)}
.main-nav{display:flex;align-items:center;gap:45px;min-height:57px}
.nav-group{position:relative}
.nav-toggle{border:0;background:none;padding:16px 0;display:flex;align-items:center;gap:10px;font-size:.88rem;font-weight:600}
.chevron{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .16s ease-out}
.nav-toggle[aria-expanded=true] .chevron{transform:rotate(180deg)}
.is-current>.nav-toggle{color:var(--sun);font-weight:700}
.nav-toggle:hover{color:var(--sun)}
.nav-panel{position:absolute;top:100%;left:-20px;width:340px;max-height:min(65vh,580px);overflow:auto;background:var(--white);box-shadow:0 18px 35px #00000022;border-radius:0 0 var(--radius) var(--radius);padding:16px;z-index:60;--focus:var(--brand)}
.nav-panel a{display:block;padding:10px 12px;text-decoration:none;font-size:.87rem;color:var(--ink);border-radius:6px}
.nav-panel a:hover,.nav-panel a[aria-current=page]{background:var(--tint);color:var(--brand)}
.nav-panel a:first-child{font-weight:700;border-bottom:1px solid var(--line);margin-bottom:6px;padding-bottom:16px}
.nav-services{margin-left:auto;display:flex;gap:18px;align-items:center;color:var(--sun);font-size:.85rem;font-weight:700;text-decoration:none}
.nav-services:hover{color:var(--on-brand);text-decoration:underline}
.main-nav .mobile-search-link{color:var(--on-brand)}
.nav-services .icon{width:18px}
.home-hero{background:var(--brand);color:var(--on-brand);--focus:var(--sun);padding-block:28px 0;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:54px;align-items:center}
.hero-copy{padding-block:0}
.hero-copy h1{font-size:clamp(3.8rem,6vw,5rem);letter-spacing:-.025em;line-height:.96;margin-bottom:18px}
.hero-copy>p{font-size:1rem;line-height:1.6;color:var(--on-brand-muted);margin-bottom:20px}
.city-search{color:var(--ink);--focus:var(--brand);display:flex;align-items:center;gap:12px;background:var(--white);padding:7px 7px 7px 18px;border:1px solid var(--field-border);border-radius:10px;max-width:560px;min-height:60px}
.city-search>.icon{color:var(--muted);width:20px}
.city-search input{width:100%;min-width:0;border:0;padding:10px 0;background:transparent;outline-offset:0;font-size:.9rem}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
.city-search button{display:grid;place-items:center;background:var(--brand);color:var(--white);width:44px;min-width:44px;height:44px;border:0;border-radius:7px}
.city-search button:hover{background:var(--brand-hover)}
.search-suggestions{font-size:.7rem;display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:12px;color:var(--muted)}
.search-suggestions a{color:var(--ink)}
.home-hero .search-suggestions{color:var(--on-brand-muted)}
.home-hero .search-suggestions a{color:var(--on-brand)}
.home-hero .search-suggestions a:hover{color:var(--sun)}
.home-hero .city-search button{background:var(--sun);color:var(--brand-hover)}
.home-hero .city-search button:hover{background:var(--sun-hover)}
.hero-photo{margin:0;align-self:center;min-width:0}
.hero-photo img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center center;border-radius:18px 18px 64px 18px}
.service-bar{--focus:var(--brand);display:grid;grid-template-columns:repeat(4,1fr);margin-top:-30px;position:relative;z-index:3;background:var(--white);box-shadow:0 12px 25px #00000010;border-radius:var(--radius);overflow:hidden}
.service-link{display:flex;align-items:center;gap:15px;padding:26px 23px;text-decoration:none;color:var(--ink);min-width:0}
.service-link>span{min-width:0}
.service-link strong{font-size:.9rem;display:block;line-height:1.4}
.service-link small{font-size:.72rem;display:block;line-height:1.6;color:var(--muted);margin-top:4px}
.service-link>.icon:first-child{color:var(--brand);width:28px;height:28px}
.service-link .service-arrow{margin-left:auto;width:17px;height:17px;transition:transform .15s ease-out}
.service-link:hover .service-arrow{transform:translateX(3px)}
.service-link:hover{background:var(--tint);color:var(--ink)}
.service-bar .service-link{padding:25px 21px;border-right:1px solid var(--line)}
.service-bar .service-link:last-child{border:0}
.service-bar .service-link:first-child{background:var(--sun);color:var(--brand-hover)}
.service-bar .service-link:first-child:hover{background:var(--sun-hover)}
.service-bar .service-link:first-child .icon,.service-bar .service-link:first-child small{color:var(--brand-hover)}
.service-bar .service-arrow{display:none}
.city-hall-strip{display:flex;justify-content:space-between;gap:16px;padding-block:29px;font-size:.72rem;color:var(--muted);border-bottom:1px solid var(--line)}
.city-hall-strip span,.city-hall-strip a{display:flex;align-items:center;gap:8px;text-decoration:none}
.city-hall-strip .icon{width:17px;height:17px;color:var(--brand)}
.home-services{display:grid;grid-template-columns:1fr 1.7fr;gap:80px;padding-block:84px}
.section-opening h2{font-size:3.7rem;line-height:1;margin-bottom:24px}
.section-opening p{max-width:30ch;font-size:.95rem;color:var(--muted);margin-bottom:25px}
.button-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--brand);border-radius:8px;padding:12px 18px;color:var(--brand);text-decoration:none;font-weight:600;font-size:.81rem;line-height:1.5}
.button-link:hover{background:var(--brand);color:var(--white)}
.service-directory{display:grid;grid-template-columns:1fr 1fr;column-gap:38px;align-content:start}
.service-directory .service-link{padding:24px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.service-directory .service-link>.icon:first-child{width:22px;height:22px;margin-top:3px}
.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:25px;margin-bottom:32px}
.text-link{display:inline-flex;align-items:center;gap:12px;font-size:.8rem;font-weight:600;text-decoration:none}
.text-link .icon{width:18px;height:18px}
.news-section{background:var(--tint);padding-block:62px 70px}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}
.news-grid article{padding-top:22px;border-top:2px solid var(--brand)}
.news-grid h3{font-size:1.15rem;line-height:1.4;margin-bottom:14px;text-wrap:pretty}
.news-grid h3 a{color:var(--ink);text-decoration:none}
.news-grid p{font-size:.83rem;line-height:1.7;color:var(--muted);margin-bottom:23px}
.city-records{display:grid;grid-template-columns:1.35fr 1fr;gap:90px;padding-block:78px}
.notice-list{margin:0;padding:0;list-style:none}
.notice-list li{border-bottom:1px solid var(--line);padding-block:20px}
.notice-list li:first-child{border-top:1px solid var(--line)}
.notice-list a{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-decoration:none;color:var(--ink);font-size:.85rem;line-height:1.6}
.participate{background:var(--brand);color:var(--on-brand);--focus:var(--sun);padding:38px 40px;border-radius:18px 18px 48px 18px;align-self:start}
.participate h2{font-size:3.5rem;line-height:1;margin-bottom:22px}
.participate p{font-size:.87rem;color:var(--on-brand-muted);line-height:1.8;margin-bottom:24px}
.participate .button-link{background:var(--sun);color:var(--brand-hover);border-color:var(--sun)}
.participate .button-link:hover{background:var(--sun-hover);border-color:var(--sun-hover)}
.participate>.text-link{display:block;margin-top:20px;color:var(--on-brand)}
.help-strip{background:var(--sun);padding-block:26px}
.help-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:25px}
.help-strip .wrap>div{display:flex;align-items:center;gap:18px}
.help-strip p{margin:0;font-size:.84rem;line-height:1.6}
.help-strip strong,.help-strip span{display:block}
.help-strip span{color:var(--ink);font-size:.75rem}
.help-strip .wrap>a:not(.text-link){font-family:var(--display);font-size:2rem;white-space:nowrap;text-decoration:none}
.site-footer{background:var(--brand-hover);color:var(--on-brand);--focus:var(--sun);padding-top:54px}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:55px;padding-bottom:45px}
.footer-name{font-family:var(--display);font-size:2.7rem!important;line-height:1;text-decoration:none}
.footer-grid p{font-size:.75rem;color:var(--on-brand-muted);margin:20px 0 14px}
.footer-grid h2{font-family:var(--body);font-weight:700;font-size:.87rem;margin:8px 0 22px;letter-spacing:0}
.footer-grid a{display:block;color:var(--on-brand);font-size:.76rem;text-decoration:none;margin-bottom:12px}
.footer-grid a:hover,.footer-bottom a:hover{color:var(--sun);text-decoration:underline}
.footer-grid .footer-brand{display:flex;align-items:center;gap:14px}
.footer-grid .footer-brand .city-seal{width:60px;height:60px}
.footer-bottom{border-top:1px solid var(--on-brand-line);padding-block:23px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:var(--on-brand-muted);font-size:.7rem}
.footer-bottom p{margin:0}
.footer-bottom>div{display:flex;flex-wrap:wrap;gap:20px}
.footer-bottom a{color:inherit;text-decoration:none}
.page-title{padding:31px 0 43px;background:var(--tint)}
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:.72rem;color:var(--muted);margin-bottom:27px}
.breadcrumb a{color:var(--muted);text-decoration:none}
.breadcrumb>[aria-current]{max-width:65ch;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.page-intro{color:var(--muted);font-size:1rem;line-height:1.8;margin:20px 0 0;max-width:70ch}
.page-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:54px;padding-block:48px 75px;align-items:start}
.page-layout.full-width{display:block;max-width:min(var(--wrap),calc(100% - 80px))}
.section-nav{position:sticky;top:24px;font-size:.8rem}
.section-nav summary{list-style:none;font-weight:700;font-size:1rem;padding-bottom:17px;border-bottom:2px solid var(--brand)}
.section-nav nav{display:flex;flex-direction:column;padding-top:10px;max-height:70vh;overflow:auto}
.section-nav a{display:block;padding:10px 12px;color:var(--muted);text-decoration:none;border-radius:7px;line-height:1.5}
.section-nav-label{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.section-nav a:hover{color:var(--brand);background:var(--tint)}
.section-nav a[aria-current=page]{color:var(--brand);font-weight:700;background:var(--tint)}
.page-content{min-width:0;font-size:.93rem;overflow-wrap:anywhere}
.page-content>div,.page-content>section{min-width:0}
.page-content article{max-width:100%}
.page-content h2{font-size:2.2rem;margin:1.5em 0 .6em}
.page-content h3{margin:1.8em 0 .65em;font-size:1.04rem}
.page-content h4{margin:1.5em 0 .6em;font-size:.95rem}
.page-content h2:first-child{margin-top:0}
.page-content p{max-width:72ch}
.page-content li{margin-bottom:.55em}
.page-content section+section{margin-top:34px}
.page-content img{max-height:560px;object-fit:contain;border-radius:8px;margin-block:20px}
.page-content .icon{width:19px;height:19px;margin-right:5px}
.content-grid{display:grid;gap:20px;margin-block:20px;min-width:0;align-items:start}
.content-grid>*{min-width:0}
.calendar-week{display:contents}
@media(max-width:760px){.page-content .content-grid,.page-content .content-grid.cols-3{grid-template-columns:minmax(0,1fr)}}
.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.content-grid:has(>article){display:block}
.content-grid:has(>article)>aside{margin-top:35px}
.content-panel{padding:22px;background:var(--tint);border-radius:var(--radius);margin-block:14px}
.content-panel .content-panel{background:transparent;padding:0;border-radius:0}
.content-panel .content-grid{gap:20px}
.content-panel h2{font-size:1.9rem}
.content-panel h3:first-child{margin-top:0}
.content-panel:has(>img){padding:0;background:none}
.content-flex{display:flex;align-items:center;gap:10px;min-width:0}
.content-flex.vertical{flex-direction:column;align-items:stretch}
.content-flex.wrap-flex{flex-wrap:wrap}
.content-flex:has(>.field){flex-wrap:wrap}
.page-content .heading-group{justify-content:flex-start;align-items:center;gap:10px;margin:32px 0 14px;flex-wrap:nowrap}
.page-content .heading-group>h2,.page-content .heading-group>h3,.page-content .heading-group>h4{margin:0;flex:1;min-width:0}
.page-content .heading-group>.icon{margin:0}
.page-content .icon-text{align-items:flex-start;gap:10px;flex-wrap:nowrap}
.page-content .icon-text>.icon{margin-top:4px}
.page-content .staff-card{display:block}
.page-content .staff-card h3{margin:0 0 8px}
.page-content .staff-card p{margin:0 0 14px}
.content-flex>p{margin-bottom:0}
.stack>*+*{margin-top:18px}
.muted{color:var(--muted)}
.destination{display:block;text-decoration:none;color:var(--ink);padding:22px 18px;background:var(--tint);border-radius:var(--radius);height:100%}
.destination:hover{background:var(--tint-hover);color:var(--ink)}
.destination h2,.destination h3{margin-top:0}
.destination p{font-size:.85rem;line-height:1.7;color:var(--muted)}
.destination .content-panel{background:transparent;padding:0;margin:0}
.sentence-heading{text-transform:none}
.pill{display:inline-flex;padding:3px 9px;font-size:.7rem;color:var(--brand);background:var(--tint-hover);border-radius:20px;line-height:1.5}
.control,.page-content button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--field-border);border-radius:8px;padding:9px 15px;background:var(--white);font-size:.8rem;font-weight:600;line-height:1.5;min-height:44px;max-width:100%}
.control:hover,.page-content button:hover{border-color:var(--brand);color:var(--brand)}
.control[aria-pressed=true],.control[aria-selected=true],.control.is-active{background:var(--brand);border-color:var(--brand);color:var(--white)}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-block:20px}
.page-content table{border-collapse:collapse;width:100%;font-size:.8rem;text-align:left;font-variant-numeric:tabular-nums}
.page-content th{font-size:.74rem;font-weight:700;background:var(--tint);text-align:left;padding:14px}
.page-content td{padding:16px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.page-content table p{margin:0}
.table-scroll{max-width:100%;overflow-x:auto}
.table-scroll:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.table-scroll-hint{display:none}
body[data-route="/bids"] table{min-width:960px}
@media(max-width:760px){.table-scroll-hint{display:block;font-size:.8rem;color:var(--muted);margin:18px 0 10px}.table-scroll{border:1px solid var(--line);border-radius:8px}}
.field,.page-content input:not([type=checkbox]):not([type=radio]),.page-content select,.page-content textarea{width:100%;max-width:100%;min-height:44px;border:1px solid var(--field-border);border-radius:8px;padding:11px 13px;background:white;font-size:.88rem;line-height:1.5}
.page-content input[type=checkbox],.page-content input[type=radio]{width:18px;height:18px;accent-color:var(--brand);flex-shrink:0}
.page-content input[type=checkbox]+span,.page-content input[type=radio]+span{line-height:1.5}
.page-content label{display:block;font-size:.84rem;font-weight:600;margin-block:10px 7px;line-height:1.5}
.page-content label:has(input[type=checkbox]),.page-content label:has(input[type=radio]){display:flex;align-items:center;gap:9px;font-weight:400}
.page-content form{max-width:850px}
.page-content form>div{margin-bottom:18px}
.input-wrap{position:relative}
.input-wrap>.icon{position:absolute;top:14px;left:13px;color:var(--muted)}
.page-content .input-wrap>input.field{padding-inline-start:44px}
.form-preview-note{background:var(--tint);padding:16px 18px;font-size:.8rem;border-radius:8px;line-height:1.65;margin-bottom:25px}
.form-review{background:var(--tint);padding:24px;border-radius:var(--radius);margin-top:24px}
.form-review dl{display:grid;grid-template-columns:1fr 2fr;gap:10px 20px;font-size:.85rem}
.form-review dt{font-weight:700}
.form-review dd{margin:0;overflow-wrap:anywhere}
.field-error{color:var(--accent);font-size:.8rem}
.search-layout{padding-block:38px 70px;max-width:900px}
.page-title .city-search{margin-top:25px;max-width:760px}
.search-result{padding-block:22px;border-bottom:1px solid var(--line);overflow-wrap:anywhere;min-width:0}
.search-result h2{font-family:var(--body);font-size:1.1rem;margin-bottom:8px}
.search-result h2 a{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-decoration:none}
.search-result p{font-size:.85rem;color:var(--muted);line-height:1.75;margin:0}
.search-result small{display:block;font-size:.7rem;color:var(--muted);margin-bottom:8px}
.sitemap-groups{columns:3;column-gap:45px;padding-block:45px 70px}
.sitemap-groups section{break-inside:avoid;margin-bottom:35px}
.sitemap-groups h2{margin-top:0;font-size:2rem}
.sitemap-groups ul{list-style:none;padding:0}
.sitemap-groups li{padding-block:6px;font-size:.83rem;line-height:1.6}
.accordion{border-bottom:1px solid var(--line);padding-block:16px}
.accordion summary{font-size:.95rem;font-weight:600;cursor:pointer;line-height:1.5}
.accordion>div{padding-top:16px;color:var(--muted)}
.filter-status{font-size:.78rem;color:var(--muted);margin-block:15px}
.empty-state{padding:35px;background:var(--tint);border-radius:var(--radius);color:var(--muted)}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));font-size:.78rem;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.calendar-day{min-height:110px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.calendar-day.is-other{background:var(--paper);color:var(--muted)}
.calendar-day.is-today>strong{background:var(--brand);color:var(--white);padding:3px 6px;border-radius:4px}
.calendar-event{display:block;margin-top:8px;font-size:.7rem;line-height:1.5;background:var(--tint);padding:5px;border-radius:4px}
.archive-page{padding-block:38px 65px}
.archive-filters{display:grid;grid-template-columns:2fr 1.2fr .7fr auto;gap:18px;align-items:end;margin-bottom:24px}
.archive-filters label{font-size:.76rem;font-weight:600;display:flex;gap:8px;flex-direction:column}
.meeting-filters{grid-template-columns:1.4fr 1.2fr 1fr 1fr auto}
.archive-filters .control{min-height:44px;font-size:.73rem}
.archive-record{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px;padding-block:22px;border-bottom:1px solid var(--line)}
.archive-record h2{font-family:var(--body);font-size:1rem;line-height:1.45;letter-spacing:0;font-weight:600;text-wrap:pretty}
.archive-record h2 a{color:var(--ink);text-decoration:none}
.archive-record h2 a:hover{color:var(--brand);text-decoration:underline}
.record-meta{margin:9px 0 0;color:var(--muted);font-size:.72rem;line-height:1.6}
.document-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;font-size:.8rem}
.document-actions .button-link{font-size:.73rem;padding:9px 12px}
.archive-record .document-actions{justify-content:flex-end;max-width:380px}
.pagination{display:flex;justify-content:center;align-items:center;gap:25px;padding-top:32px;font-size:.8rem}
.archive-video{font-size:.82rem;margin-bottom:25px}
.document-viewer{padding-block:35px 55px}
.document-frame{display:block;width:100%;height:75vh;min-height:500px;border:1px solid var(--line);border-radius:10px;margin-top:24px}
.document-viewer>p{font-size:.85rem;margin-bottom:16px}
.document-viewer>a{margin:0 15px 20px 0}
.forms-page{padding-block:35px 60px}
.forms-directory{display:grid;grid-template-columns:1fr 1fr;gap:0 45px;max-width:950px}
.forms-directory .service-link{border-bottom:1px solid var(--line);padding-inline:0}
.faq-page{max-width:900px;margin-inline:auto}
.faq-page>label{font-size:.85rem;font-weight:600;display:block;margin-bottom:10px}
.faq-page>.field{margin-bottom:25px}
.long-title{font-family:var(--body);font-size:clamp(1.5rem,2.7vw,2.4rem);line-height:1.35;letter-spacing:-.015em;max-width:65ch;text-wrap:pretty}
.page-title h1.long-title{max-width:65ch}
.title-clamped{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.title-toggle{margin-top:18px}
.hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px 25px;margin-top:22px;font-size:.76rem}
.hero-meta span{display:flex;align-items:center;gap:8px}
.hero-meta .icon{width:17px;height:17px}
.calendar-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:25px;margin-bottom:25px}
.calendar-controls>div{display:flex;gap:7px}
.calendar-controls h2{font-size:2.3rem}
.calendar-weekday{background:var(--tint);padding:10px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-weight:600}
.calendar-footnote{font-size:.82rem;margin-top:25px}
.page-content fieldset{border:0;padding:0;margin:28px 0}
.page-content legend{font-weight:700;font-size:1.05rem;margin-bottom:15px}
@media(max-width:760px){.header-tools>.header-search{display:none}.language-label select{width:80px;max-width:80px;font-size:.7rem}.mobile-search-link{display:block;padding:13px 0;font-size:.87rem;font-weight:600}.header-tools{gap:10px}.header-tools>.language-label{display:block}.wordmark{gap:9px}}
@media(max-width:390px){.language-label select{width:73px;max-width:73px}.header-tools{gap:8px}}
@media(max-width:760px){.calendar-controls{gap:18px}.calendar-controls h2{order:-1;flex-basis:100%;font-size:2rem}.calendar-controls .control{font-size:.7rem;padding:7px 10px}.calendar-event{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.calendar-weekday{padding:7px 5px}}
@media(max-width:900px){.archive-filters,.meeting-filters{grid-template-columns:1fr 1fr}.archive-record{grid-template-columns:1fr;gap:15px}.archive-record .document-actions{justify-content:flex-start;max-width:none}.forms-directory{grid-template-columns:1fr}}
@media(max-width:760px){.archive-filters,.meeting-filters{gap:15px}.archive-filters label:first-child{grid-column:1/-1}.archive-record{padding-block:20px}.archive-record h2{font-size:.92rem}.document-actions{gap:12px 16px}.archive-page{padding-top:28px}.pagination{gap:18px}.document-frame{min-height:420px;height:70vh}.mobile-menu .icon{width:17px;height:17px}.long-title{font-size:1.5rem!important}}
@media(min-width:1350px){.hero-grid{column-gap:75px}}
@media(max-width:1100px){.main-nav{gap:27px}.hero-grid{gap:35px}.hero-copy h1{font-size:5rem}.service-bar{grid-template-columns:repeat(2,1fr)}.service-bar .service-link{border-bottom:1px solid var(--line)}.service-bar .service-link:nth-child(2){border-right:0}.home-services{gap:40px;grid-template-columns:1fr 1.6fr}.service-directory{column-gap:20px}.city-records{gap:40px}.footer-grid{gap:26px}.city-hall-strip{flex-wrap:wrap}.page-layout{gap:30px;grid-template-columns:210px minmax(0,1fr)}.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header-top{min-height:85px;gap:15px}.wordmark b{font-size:2.1rem}.wordmark small{font-size:.7rem}.wordmark .city-seal{width:44px;height:44px}.header-tools{gap:12px}.header-tools>a:first-child{display:none}.header-search{height:36px;width:36px}.mobile-menu{display:flex;gap:8px;font-size:.75rem;align-items:center}.mobile-menu span{font-size:1rem}.nav-band{border-top:0}.main-nav{display:none;padding-block:12px;align-items:stretch;gap:0;flex-direction:column}.main-nav.is-open{display:flex}.nav-toggle{width:100%;justify-content:space-between;padding-block:14px}.nav-panel{position:static;box-shadow:none;width:100%;max-height:none;background:var(--tint);padding:8px;margin-bottom:8px;border-radius:8px}.nav-services{margin:0;padding:14px 0}.home-hero{padding-block:31px 55px}.hero-grid{grid-template-columns:1fr;gap:30px}.hero-copy{padding-block:4px}.hero-copy h1{font-size:4.5rem;line-height:.96;margin-bottom:20px}.hero-copy>p{font-size:.95rem;margin-bottom:22px}.hero-photo img{border-radius:14px 14px 48px 14px}.service-bar{margin-top:-24px}.service-bar .service-link{padding:20px 16px;gap:11px}.service-link strong{font-size:.8rem}.service-link small{font-size:.7rem}.service-bar .service-link>.icon:first-child{width:23px;height:23px}.city-hall-strip{font-size:.7rem;gap:13px;padding-block:24px;justify-content:flex-start}.city-hall-strip span{width:100%}.home-services{grid-template-columns:1fr;padding-block:47px;gap:24px}.section-opening h2{font-size:3rem}.section-opening p{max-width:42ch;margin-bottom:20px}.service-directory{grid-template-columns:1fr}.service-directory .service-link{padding-block:18px}.service-directory .service-link strong{font-size:.9rem}.service-directory .service-link small{font-size:.73rem}.news-section{padding-block:40px}.section-heading{margin-bottom:24px;gap:16px}.section-heading h2{font-size:2.3rem}.section-heading .text-link{font-size:.73rem;white-space:nowrap}.news-grid{grid-template-columns:1fr;gap:30px}.news-grid article{padding-top:18px}.news-grid p{margin-bottom:15px}.city-records{grid-template-columns:1fr;gap:35px;padding-block:45px}.participate{padding:32px}.participate h2{font-size:3rem}.help-strip .wrap{flex-wrap:wrap;justify-content:flex-start;gap:15px 25px}.help-strip .wrap>div{width:100%}.help-strip .wrap>a:not(.text-link){font-size:1.8rem}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 24px}.footer-place{grid-column:1/-1}.footer-grid p{margin-top:16px}.footer-bottom{align-items:flex-start;flex-direction:column;font-size:.7rem;gap:15px}.footer-bottom>div{gap:12px 20px}.page-title{padding-block:24px 30px}.breadcrumb{margin-bottom:23px;font-size:.7rem;gap:7px}.page-title h1{font-size:3.2rem;max-width:22ch}.page-intro{font-size:.9rem}.page-layout{display:flex;flex-direction:column;gap:28px;padding-block:28px 45px}.page-layout.full-width{max-width:none}.section-nav{position:static;width:100%}.section-nav summary{font-size:.85rem;padding:14px 16px;border:1px solid var(--line);border-radius:8px;list-style:revert;cursor:pointer}.section-nav nav{max-height:260px;font-size:.8rem}.page-content{width:100%;font-size:.89rem}.page-content h2{font-size:1.9rem}.content-grid,.cols-2,.cols-3{grid-template-columns:1fr}.content-flex{flex-wrap:wrap}.content-panel{padding:18px}.page-content table{min-width:520px}.page-content .content-grid:has(>article){display:block}.sitemap-groups{columns:1;padding-block:30px 45px}.form-review dl{grid-template-columns:1fr;gap:5px}.form-review dd{margin-bottom:12px}.calendar-grid{font-size:.7rem}.calendar-day{min-height:65px;padding:5px}.calendar-event{font-size:.7rem;padding:3px}.search-layout{padding-block:25px 45px}}
@media(max-width:390px){.wrap{width:calc(100% - 32px)}.wordmark small{max-width:160px}.wordmark b{font-size:1.9rem}.wordmark .city-seal{width:40px;height:40px}.header-tools{gap:8px}.mobile-menu{padding:7px 10px}.hero-copy h1{font-size:4.1rem}.service-bar .service-link{padding-inline:12px;gap:8px}.service-link strong{font-size:.76rem}.service-bar .service-link>.icon:first-child{width:20px;height:20px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.site-header,.site-footer,.help-strip,.section-nav,.city-search,.control{display:none!important}.wrap{width:100%;max-width:none}.page-title{background:none;padding:0}.page-layout{display:block;padding:20px 0}.page-content{color:#000}.page-content a{color:#000;text-decoration:underline}.page-content h2{break-after:avoid}.page-content table{font-size:10pt}body{font-size:11pt}.page-content img{max-height:300px}}

/* One service tray changes order with the resident's available screen space. */
.home-hero .hero-grid{row-gap:0}
.hero-grid>.service-bar{grid-column:1/-1;margin:24px 0 0;width:100%}
@media(max-width:760px){
  .home-hero{padding-block:31px 34px}
  .hero-copy{order:0}
  .hero-grid>.service-bar{order:1;margin-top:20px}
  .hero-photo{order:2;margin-top:24px}
}

@media(max-width:360px){.header-top{gap:8px}.wordmark{gap:7px}.wordmark b{font-size:1.65rem}.wordmark .city-seal{width:36px;height:36px}.language-label select{width:66px;max-width:66px}.header-tools{gap:6px}.mobile-menu{padding-inline:8px}}
