/* Public portal V3. This file is loaded after the historic stylesheet and never by the dashboard. */
:root { --city-navy:#082c46; --city-blue:#0b5f8a; --city-teal:#007d79; --city-orange:#f2653c; --city-gold:#f6bf3e; --city-paper:#ffffff; --city-mist:#f3f6f7; --city-line:#d9e2e5; --city-text:#173544; --city-muted:#59717b; }
body { background:var(--city-mist); color:var(--city-text); font-family:"Aptos", "Segoe UI", "Helvetica Neue", Arial, sans-serif; }
h1, h2, h3, .municipal-brand-tile, .footer-city { font-family:"Aptos Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif; }
.municipal-header { position:relative; z-index:20; max-width:none; margin:0; background:var(--city-paper); color:var(--city-text); box-shadow:none; border-bottom:1px solid var(--city-line); }
.municipal-header-overlay { position:relative; top:auto; left:auto; width:auto; transform:none; }
.municipal-main-nav { width:min(1200px, calc(100% - 48px)); min-height:94px; margin:0 auto; display:grid; grid-template-columns:195px minmax(0,1fr) auto 52px; align-items:stretch; }
.municipal-brand-tile { display:flex; align-items:center; gap:12px; background:transparent; color:var(--city-navy); text-align:left; text-decoration:none; font-weight:900; }
.municipal-brand-tile span { display:grid; place-items:center; flex:0 0 auto; width:51px; height:51px; border:3px solid var(--city-orange); border-radius:50%; color:var(--city-orange); font-size:12px; letter-spacing:.05em; }
.municipal-brand-tile small { display:block; max-width:105px; font-size:11px; letter-spacing:.08em; line-height:1.35; }
.municipal-primary-links { display:flex; align-items:stretch; justify-content:center; min-width:0; padding:0; }
.municipal-menu-item { position:relative; display:flex; min-width:0; border-right:0; }
.municipal-menu-item > a { display:flex; align-items:center; width:auto; min-width:0; padding:0 18px; color:#244452; font-size:14px; font-weight:800; text-decoration:none; }
.municipal-menu-item > a strong { font-size:14px; letter-spacing:0; }
.municipal-menu-item > a small { display:none; }
.municipal-menu-item > a:hover, .municipal-menu-item > a.active { color:var(--city-blue); box-shadow:inset 0 -4px var(--city-orange); }
.municipal-submenu { top:94px; left:0; width:244px; padding:8px; border-top:3px solid var(--city-orange); background:#ffffff; box-shadow:0 16px 30px rgba(7,35,51,.18); }
.municipal-submenu a { padding:10px 11px; color:#36515d; font-size:13px; }
.municipal-nav-actions { display:flex; align-items:center; gap:16px; padding:0; font-size:13px; font-weight:800; white-space:nowrap; }
.municipal-nav-actions > a { display:block; padding:0; color:#34515d; text-decoration:none; }
.municipal-nav-actions > .municipal-report-link { display:inline-flex; align-items:center; justify-content:center; min-width:0; min-height:50px; margin-left:2px; padding:0 17px; background:var(--city-gold); color:#182d36; font-size:14px; }
.municipal-mobile-toggle { display:none; }
.municipal-secondary-nav { display:flex; width:min(1200px, calc(100% - 48px)); min-height:47px; margin:0 auto; padding:0; gap:28px; border-top:1px solid var(--city-line); font-size:13px; font-weight:750; }
.municipal-secondary-nav a { color:#3f5964; }
.municipal-secondary-nav a:first-child { color:var(--city-teal); }

.hero { min-height:520px; padding:0; background-position:center; }
.hero::before { background:rgba(5,31,48,.67); }
.hero-home .hero-grid { display:block; width:min(1200px, calc(100% - 48px)); min-height:520px; margin:0 auto; padding:104px 0 72px; }
.hero-copy { max-width:680px; }
.hero .eyebrow { margin:0 0 18px; color:#b8d9de; font-size:12px; font-weight:800; letter-spacing:.08em; }
.hero h1 { max-width:710px; margin:0; font-size:64px; line-height:1; letter-spacing:0; }
.hero-statement { margin:20px 0 0; color:#ffffff; font-size:28px; line-height:1.15; }
.hero .lede { max-width:625px; margin:17px 0 29px; color:#edf6f7; font-size:19px; line-height:1.5; }
.actions { gap:12px; }
.button { border-radius:0; font-size:14px; font-weight:850; }
.hero .primary { background:var(--city-orange); }
.hero .secondary { border-color:rgba(255,255,255,.78); }
.hero-facts { margin-top:42px; border-top:1px solid rgba(255,255,255,.4); }
.hero-facts span { min-width:185px; padding:16px 25px 0 0; }

.alert-band { max-width:none; margin:0; padding:16px max(24px, calc((100% - 1200px) / 2)); background:#eef5f5; color:#23434f; }
.home-services, .home-preview { width:min(1200px, calc(100% - 48px)); max-width:none; padding:80px 0; }
.home-services { background:transparent; }
.section-header { align-items:flex-end; margin-bottom:34px; }
.section-header .eyebrow { color:var(--city-teal); font-size:12px; letter-spacing:.08em; }
.section-header h2 { color:var(--city-navy); font-size:39px; line-height:1.1; }
.home-service-grid { display:grid; grid-template-columns:repeat(3, 1fr); border-top:1px solid var(--city-line); border-bottom:1px solid var(--city-line); }
.home-service-grid a { min-height:170px; display:grid; align-content:center; gap:9px; padding:25px 28px 25px 0; border-right:1px solid var(--city-line); background:transparent; box-shadow:none; }
.home-service-grid a + a { padding-left:28px; }
.home-service-grid a:last-child { border:0; }
.home-service-grid strong { color:var(--city-navy); font-size:19px; }
.home-service-grid span { color:var(--city-muted); font-size:14px; line-height:1.45; }
.home-service-grid b, .text-link { color:var(--city-blue); font-size:14px; }
.home-preview { max-width:none; }
.home-preview.muted { width:100%; max-width:none; padding-right:max(24px, calc((100% - 1200px) / 2)); padding-left:max(24px, calc((100% - 1200px) / 2)); background:#e6f0f1; }
.news-list-wide { grid-template-columns:1.45fr 1fr 1fr; gap:16px; }
.news-list-wide .news-item { border:0; border-radius:0; background:#ffffff; box-shadow:none; }
.news-list-wide .news-item:hover { transform:none; box-shadow:0 10px 25px rgba(9,44,60,.1); }
.news-list-wide .news-item > img { height:185px; }
.news-list-wide .news-item h3 { color:var(--city-navy); font-size:20px; }
.news-list-wide .news-item strong { color:var(--city-blue); }
.agenda-grid { gap:16px; }
.agenda-item { min-height:112px; border:0; border-radius:0; background:#ffffff; box-shadow:none; }
.agenda-item h3 { color:var(--city-navy); }
.home-map-band { display:grid; grid-template-columns:minmax(300px, .82fr) minmax(0, 1.18fr); min-height:382px; background:#ffffff; }
.home-map-copy { display:flex; flex-direction:column; justify-content:center; padding:58px max(24px, calc((100vw - 1200px) / 2)); padding-right:52px; background:#0a3049; color:#ffffff; }
.home-map-copy h2 { color:#ffffff; font-size:36px; }
.home-map-copy .eyebrow { color:#9ed5d2; font-size:12px; letter-spacing:.08em; }
.home-map-copy p:not(.eyebrow) { max-width:370px; color:#c7d9dd; line-height:1.6; }
.home-map-copy .button { align-self:flex-start; margin-top:8px; }
.home-map-band iframe { width:100%; min-height:382px; border:0; }

.page-intro { width:min(1200px, calc(100% - 48px)); max-width:none; padding:78px 0 48px; }
.page-intro .eyebrow { color:var(--city-teal); font-size:12px; letter-spacing:.08em; }
.page-intro h1 { color:var(--city-navy); font-size:52px; letter-spacing:0; }
.content-page { width:min(1200px, calc(100% - 48px)); max-width:none; padding:0 0 84px; }
.procedure-item { border-color:var(--city-line); border-radius:0; box-shadow:none; }
.procedure-item h2 { color:var(--city-navy); }
.procedure-actions .button { background:var(--city-orange); }
.public-search-form input, .public-search-form button { border-radius:0; }
.equipment-map-layout { display:grid; grid-template-columns:minmax(0, 1fr) 326px; min-height:500px; margin-bottom:32px; background:#ffffff; border:1px solid var(--city-line); }
.equipment-map-toolbar { display:flex; align-items:end; justify-content:space-between; gap:14px; padding:18px 20px; border-bottom:1px solid var(--city-line); }
.equipment-map-toolbar label { display:grid; gap:6px; color:var(--city-navy); font-size:13px; font-weight:800; }
.equipment-map-toolbar label { flex:1 1 280px; }
.equipment-map-toolbar input { width:min(390px, 100%); padding:10px 12px; border:1px solid var(--city-line); color:var(--city-text); font:inherit; }
.equipment-map-toolbar span { color:var(--city-muted); font-size:13px; }
#equipment-map-frame { display:block; width:100%; height:460px; border:0; background:#dfeaec; }
.equipment-map-canvas { position:relative; overflow:hidden; height:460px; background:#dfeaec; }
.equipment-map-pins { position:absolute; inset:0; pointer-events:none; }
.equipment-map-pin { position:absolute; z-index:2; display:grid; place-items:center; width:28px; height:28px; border:2px solid #ffffff; border-radius:50%; transform:translate(-50%, -50%); background:var(--city-teal); box-shadow:0 2px 8px rgba(5,31,48,.36); color:#ffffff; font-size:21px; font-weight:900; line-height:1; pointer-events:auto; text-decoration:none; }
.equipment-map-pin:hover { background:var(--city-navy); transform:translate(-50%, -50%) scale(1.12); }
.equipment-map-pin.address-pin { background:var(--city-orange); font-size:12px; }
.equipment-map-list { overflow:auto; max-height:500px; border-left:1px solid var(--city-line); }
.equipment-map-item { display:grid; gap:5px; padding:17px 18px; border-bottom:1px solid var(--city-line); color:var(--city-text); text-decoration:none; }
.equipment-map-item:hover { background:#eef5f5; }
.equipment-map-item span { color:var(--city-teal); font-size:11px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.equipment-map-item strong { color:var(--city-navy); font-size:15px; }
.equipment-map-item small { color:var(--city-muted); font-size:12px; }
.equipment-filters { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; }
.equipment-filters button { border:1px solid var(--city-line); background:#ffffff; padding:9px 13px; color:#48616b; font:inherit; font-size:13px; font-weight:750; cursor:pointer; }
.equipment-filters button:hover, .equipment-filters button.active { border-color:var(--city-navy); background:var(--city-navy); color:#ffffff; }
.equipment-card[hidden], .equipment-map-item[hidden] { display:none; }

.public-footer-shell { margin-top:0; background:#061e30; }
.institutional-footer{background:#e8ecec;color:#163544}.institutional-footer-main{display:grid;grid-template-columns:310px 1fr;gap:48px;width:min(1200px,calc(100% - 48px));margin:0 auto;padding:48px 0 34px}.institutional-contact h2{margin:0 0 14px;color:#163544;font-size:22px}.institutional-contact p{margin:0 0 16px;color:#324a55;line-height:1.45}.institutional-contact a{display:block;margin:4px 0;color:#007d79;font-weight:800}.institutional-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.institutional-actions a{display:grid;gap:5px;min-height:82px;padding:18px 22px;background:#008f88;color:#fff;text-decoration:none;box-shadow:0 4px 0 rgba(8,44,70,.14)}.institutional-actions a:nth-child(3){background:#0b719a}.institutional-actions b{font-size:19px}.institutional-actions span{font-size:13px;opacity:.88}.institutional-actions a:hover{background:#082c46}.institutional-footer-brand{display:flex;align-items:baseline;justify-content:center;gap:18px;width:min(1200px,calc(100% - 48px));margin:0 auto;padding:18px 0 38px;color:#163544}.institutional-footer-brand strong{font-size:34px;letter-spacing:.04em}.institutional-footer-brand span{color:#58707a;font-size:14px}.institutional-footer .footer-legal{border-top:1px solid #cbd4d6;color:#637a82}.institutional-footer .footer-legal a{color:#4f6872}.institutional-footer .footer-legal a:hover{color:#007d79}@media(max-width:760px){.institutional-footer-main{grid-template-columns:1fr;width:min(100% - 36px,1200px);gap:28px;padding:38px 0 28px}.institutional-actions{grid-template-columns:1fr}.institutional-footer-brand{align-items:flex-start;flex-direction:column;width:min(100% - 36px,1200px)}.institutional-footer-brand strong{font-size:28px}}
.public-footer { display:flex; align-items:center; justify-content:space-between; width:min(1200px, calc(100% - 48px)); max-width:none; min-height:156px; margin:0 auto; padding:34px 0; border:0; }
.public-footer strong { color:#ffffff; font-size:21px; }
.public-footer p { max-width:360px; margin:8px 0 0; color:#a9c0c7; }
.public-footer-links { gap:24px; color:#ffffff; }
.public-footer-links a { color:#d8e5e8; }
.public-footer-links a:hover { color:#9ed5d2; }

.event-page { width:min(1200px, calc(100% - 48px)); min-height:70vh; margin:0 auto; padding:34px 0 84px; }
.event-topbar { width:100%; margin:0 0 28px; padding:0 0 20px; border-bottom:1px solid var(--city-line); }
.event-brand { color:var(--city-navy); }
.event-brand .brand-mark { background:var(--city-orange); color:#ffffff; }
.event-return { border-color:var(--city-navy); color:var(--city-navy); }
.event-detail-card { border:0; border-radius:0; box-shadow:none; }
.event-detail-body h1 { color:var(--city-navy); letter-spacing:0; }
.event-detail-body .eyebrow { color:var(--city-teal); }
.event-detail-body .button.primary { background:var(--city-orange); }

@media (max-width:1000px) { .municipal-main-nav{grid-template-columns:175px minmax(0,1fr) auto 48px}.municipal-menu-item>a{padding:0 11px}.municipal-nav-actions{gap:10px}.municipal-nav-actions>.municipal-report-link{padding:0 12px}.news-list-wide{grid-template-columns:repeat(2,1fr)}.home-service-grid{grid-template-columns:1fr 1fr}.home-service-grid a:nth-child(2){border-right:0}.home-service-grid a:last-child{grid-column:1 / -1;border-top:1px solid var(--city-line)} }
@media (max-width:760px) { .municipal-main-nav{width:min(100% - 36px,1200px);min-height:72px;grid-template-columns:1fr 54px}.municipal-brand-tile{gap:10px}.municipal-brand-tile span{width:43px;height:43px;font-size:10px}.municipal-primary-links,.municipal-nav-actions,.municipal-secondary-nav{display:none}.municipal-mobile-toggle{display:grid;place-items:center;border:0;background:#ffffff;color:var(--city-navy);font-size:25px}.municipal-header.menu-open .municipal-primary-links{position:absolute;top:72px;left:0;right:0;z-index:25;display:block;background:#ffffff;box-shadow:0 14px 24px rgba(7,35,51,.18)}.municipal-header.menu-open .municipal-menu-item{display:block;border-bottom:1px solid var(--city-line)}.municipal-header.menu-open .municipal-menu-item>a{min-height:52px;padding:0 18px;box-shadow:none}.municipal-header.menu-open .municipal-submenu{display:none}.hero,.hero-home .hero-grid{min-height:510px}.hero-home .hero-grid{width:min(100% - 36px,1200px);padding:74px 0 55px}.hero h1{font-size:45px}.hero-statement{font-size:23px}.hero .lede{font-size:17px}.hero-facts{margin-top:30px}.hero-facts span{min-width:50%;padding-right:10px}.home-services,.home-preview,.page-intro,.content-page{width:min(100% - 36px,1200px)}.home-services,.home-preview{padding:60px 0}.home-preview.muted{padding:60px 18px}.section-header{align-items:flex-start;flex-direction:column}.section-header h2{font-size:32px}.home-service-grid,.news-list-wide{grid-template-columns:1fr}.home-service-grid a,.home-service-grid a + a,.home-service-grid a:last-child{grid-column:auto;min-height:auto;padding:22px 0;border-right:0;border-top:0;border-bottom:1px solid var(--city-line)}.home-service-grid a:last-child{border-bottom:0}.news-list-wide{gap:14px}.page-intro{padding:56px 0 36px}.page-intro h1{font-size:39px}.procedure-item{padding:20px}.home-map-band,.equipment-map-layout{grid-template-columns:1fr}.home-map-copy{padding:50px 18px}.home-map-band iframe{min-height:310px}.equipment-map-list{max-height:320px;border-top:1px solid var(--city-line);border-left:0}.equipment-map-toolbar{align-items:stretch;flex-direction:column}.equipment-map-toolbar input{width:min(100%,390px)}.equipment-map-toolbar .button{width:100%}.public-footer{align-items:flex-start;flex-direction:column;width:min(100% - 36px,1200px);min-height:auto;padding:38px 0}.public-footer-links{justify-content:flex-start} }

/* Premium institutional footer. These rules remain at the end of the public stylesheet. */
.public-footer { display:grid; grid-template-columns:1.45fr repeat(3, 1fr); gap:44px; width:min(1200px, calc(100% - 48px)); max-width:none; min-height:292px; margin:0 auto; padding:58px 0 44px; border:0; }
.footer-intro p { max-width:320px; margin:14px 0 22px; color:#a9c0c7; font-size:14px; line-height:1.55; }
.footer-city { display:flex; align-items:center; gap:12px; color:#ffffff; text-decoration:none; }
.footer-city span { display:grid; place-items:center; width:45px; height:45px; border:2px solid var(--city-orange); border-radius:50%; color:#ffffff; font-size:10px; font-weight:900; letter-spacing:.06em; }
.footer-city strong { color:#ffffff; font-size:21px; }
.footer-contact-action { display:inline-flex; min-height:42px; align-items:center; padding:0 14px; border:1px solid rgba(255,255,255,.48); color:#ffffff; font-size:13px; font-weight:800; text-decoration:none; }
.footer-contact-action:hover { border-color:#9ed5d2; color:#9ed5d2; }
.footer-column { display:grid; align-content:start; gap:11px; }
.footer-column h2 { margin:0 0 8px; color:#ffffff; font-size:14px; line-height:1.25; }
.footer-column a { color:#b8cbd0; font-size:13px; line-height:1.4; text-decoration:none; }
.footer-column a:hover { color:#9ed5d2; }
.footer-contact p { margin:0 0 4px; color:#a9c0c7; font-size:13px; line-height:1.55; }
.footer-contact a { color:#ffffff; font-weight:800; }
.footer-legal { display:flex; justify-content:space-between; gap:20px; width:min(1200px, calc(100% - 48px)); margin:0 auto; padding:19px 0 22px; border-top:1px solid rgba(255,255,255,.16); color:#8ea9b1; font-size:12px; }
.footer-legal div { display:flex; flex-wrap:wrap; gap:18px; }
.footer-legal a { color:#a9c0c7; text-decoration:none; }
.footer-legal a:hover { color:#ffffff; }
@media (max-width:760px) { .public-footer { grid-template-columns:1fr 1fr; width:min(100% - 36px,1200px); min-height:auto; padding:42px 0 34px; gap:32px; } .footer-intro { grid-column:1 / -1; } .footer-legal { align-items:flex-start; flex-direction:column; width:min(100% - 36px,1200px); } }

/* Persistent municipal navigation. */
.municipal-header { position:sticky; top:0; z-index:1000; background:var(--city-navy); border:0; box-shadow:0 5px 18px rgba(5,27,42,.22); }
.municipal-main-nav { min-height:76px; }
.municipal-brand-tile { color:#ffffff; }
.municipal-brand-tile span { width:44px; height:44px; border-color:var(--city-orange); color:#ffffff; }
.municipal-brand-tile small { color:#d5e4e8; }
.municipal-menu-item > a { color:#edf5f6; }
.municipal-menu-item > a strong { font-size:14px; }
.municipal-menu-item > a:hover, .municipal-menu-item > a.active { color:#ffffff; box-shadow:inset 0 -4px var(--city-orange); }
.municipal-nav-actions > a { color:#edf5f6; }
.municipal-nav-actions > .municipal-report-link { min-height:42px; background:var(--city-gold); color:#182d36; }
.municipal-nav-actions > .municipal-report-link:hover { background:#eeb12b; }
.municipal-secondary-nav { display:flex; justify-content:flex-start; width:min(1200px, calc(100% - 48px)); min-height:37px; margin:0 auto; padding:0 0 0 195px; gap:26px; border-top:1px solid rgba(255,255,255,.15); }
.municipal-secondary-nav a { color:#bdd0d6; font-size:12px; font-weight:700; white-space:nowrap; }
.municipal-secondary-nav a:first-child, .municipal-secondary-nav a:hover { color:#ffffff; }
@media (max-width:760px) { .municipal-secondary-nav { display:none; } }

/* Editorial news directory. */
.news-intro { padding-bottom:34px; }
.news-directory { padding-bottom:96px; }
.news-search { max-width:760px; margin:0 0 20px; }
.news-search label { display:block; margin-bottom:8px; color:var(--city-navy); font-size:13px; font-weight:800; }
.news-search div { display:grid; grid-template-columns:minmax(0, 1fr) auto; }
.news-search input { min-height:50px; border:1px solid var(--city-line); border-right:0; padding:0 14px; color:var(--city-text); font:inherit; }
.news-search button { min-height:50px; border:0; padding:0 19px; background:var(--city-navy); color:#ffffff; font:inherit; font-size:14px; font-weight:800; cursor:pointer; }
.news-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:32px; }
.news-filters a { padding:9px 13px; border:1px solid var(--city-line); color:#48616b; font-size:13px; font-weight:750; text-decoration:none; }
.news-filters a:hover, .news-filters a.active { border-color:var(--city-navy); background:var(--city-navy); color:#ffffff; }
.news-featured { position:relative; display:flex; align-items:flex-end; min-height:390px; overflow:hidden; padding:38px; background-color:var(--city-navy); background-position:center; background-size:cover; color:#ffffff; }
.news-featured::before { position:absolute; inset:0; content:""; background:rgba(5,31,48,.72); }
.news-featured > div { position:relative; max-width:680px; }
.news-featured span, .news-editorial-card span { display:block; color:#9ed5d2; font-size:12px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.news-featured h2 { margin:11px 0 12px; color:#ffffff; font-size:38px; line-height:1.08; }
.news-featured p { max-width:590px; margin:0 0 20px; color:#e4f0f1; line-height:1.55; }
.news-featured a { display:inline-block; padding-bottom:4px; border-bottom:2px solid var(--city-orange); color:#ffffff; font-size:14px; font-weight:850; text-decoration:none; }
.news-featured.without-image { background:#0a3049; }
.news-editorial-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px; margin-top:18px; }
.news-editorial-card { background:#ffffff; }
.news-editorial-card a { display:block; height:100%; color:inherit; text-decoration:none; }
.news-editorial-card img { display:block; width:100%; height:178px; object-fit:cover; }
.news-editorial-card > a > div { display:flex; min-height:230px; flex-direction:column; padding:22px; }
.news-editorial-card span { color:var(--city-teal); }
.news-editorial-card h2 { margin:10px 0 9px; color:var(--city-navy); font-size:21px; line-height:1.2; }
.news-editorial-card p { margin:0; color:var(--city-muted); font-size:14px; line-height:1.5; }
.news-editorial-card strong { margin-top:auto; padding-top:18px; color:var(--city-blue); font-size:14px; }
.news-editorial-card:hover { box-shadow:0 12px 28px rgba(9,44,60,.12); }
.news-empty { padding:46px; background:#ffffff; }
.news-empty h2 { font-size:28px; }
.news-empty p { color:var(--city-muted); }
.news-empty a { color:var(--city-blue); font-weight:800; }
@media (max-width:760px) { .news-search div{grid-template-columns:1fr}.news-search input{border-right:1px solid var(--city-line)}.news-search button{margin-top:8px}.news-filters{margin-bottom:20px}.news-featured{min-height:330px;padding:24px}.news-featured h2{font-size:30px}.news-editorial-grid{grid-template-columns:1fr}.news-editorial-card > a > div{min-height:auto}.news-empty{padding:28px} }

/* Portal-wide search. */
.global-search-form { display:grid; grid-template-columns:minmax(0, 1fr) auto; max-width:820px; margin-bottom:24px; }
.global-search-form input { min-height:54px; border:1px solid var(--city-line); border-right:0; padding:0 16px; color:var(--city-text); font:inherit; font-size:16px; }
.global-search-form button { min-height:54px; border:0; padding:0 22px; background:var(--city-navy); color:#ffffff; font:inherit; font-weight:800; cursor:pointer; }
.search-hint, .search-count { color:var(--city-muted); }
.global-search-results { display:grid; gap:12px; max-width:920px; }
.global-search-results a { display:block; padding:23px; border:1px solid var(--city-line); background:#ffffff; color:inherit; text-decoration:none; }
.global-search-results a:hover { border-color:var(--city-blue); box-shadow:0 10px 22px rgba(9,44,60,.08); }
.global-search-results span { color:var(--city-teal); font-size:12px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.global-search-results h2 { margin:8px 0 7px; color:var(--city-navy); font-size:22px; }
.global-search-results p { margin:0; color:var(--city-muted); line-height:1.5; }
.global-search-results strong { display:block; margin-top:14px; color:var(--city-blue); font-size:14px; }
@media (max-width:1000px) { .municipal-nav-actions > a:first-child { display:none; } }
@media (max-width:760px) { .global-search-form{grid-template-columns:1fr}.global-search-form input{border-right:1px solid var(--city-line)}.global-search-form button{margin-top:8px}.global-search-results a{padding:19px} }

/* Calendar and agenda directory. */
.agenda-controls { display:grid; grid-template-columns:150px minmax(0, 1fr) 150px; align-items:center; margin-bottom:18px; padding:18px 0; border-top:1px solid var(--city-line); border-bottom:1px solid var(--city-line); }
.agenda-controls h2 { color:var(--city-navy); font-size:27px; text-align:center; }
.agenda-controls a { color:var(--city-blue); font-size:13px; font-weight:800; text-decoration:none; }
.agenda-controls a:last-child { text-align:right; }
.agenda-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.agenda-filters a { padding:9px 13px; border:1px solid var(--city-line); color:#48616b; font-size:13px; font-weight:750; text-decoration:none; }
.agenda-filters a:hover, .agenda-filters a.active { border-color:var(--city-navy); background:var(--city-navy); color:#ffffff; }
.agenda-calendar { margin-bottom:48px; border:1px solid var(--city-line); background:#ffffff; }
.agenda-weekdays, .agenda-days { display:grid; grid-template-columns:repeat(7, minmax(0, 1fr)); }
.agenda-weekdays { background:#edf4f4; }
.agenda-weekdays span { padding:12px 10px; color:#46616c; font-size:12px; font-weight:850; text-align:center; text-transform:uppercase; }
.agenda-day { min-height:112px; padding:10px; border-right:1px solid var(--city-line); border-bottom:1px solid var(--city-line); }
.agenda-day:nth-child(7n) { border-right:0; }
.agenda-day strong { display:block; margin-bottom:7px; color:var(--city-navy); font-size:14px; }
.agenda-day.today strong { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:var(--city-orange); color:#ffffff; }
.agenda-day a { display:block; overflow:hidden; margin-bottom:4px; color:var(--city-blue); font-size:11px; font-weight:800; line-height:1.25; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }
.agenda-day > span { color:var(--city-muted); font-size:11px; }
.agenda-list-heading { margin:0 0 20px; }
.agenda-list-heading .eyebrow { margin-bottom:6px; color:var(--city-teal); font-size:12px; letter-spacing:.08em; }
.agenda-list-heading h2 { font-size:29px; }
.agenda-editorial-list { display:grid; gap:12px; }
.agenda-editorial-card { display:grid; grid-template-columns:84px minmax(0, 1fr) auto; align-items:center; gap:24px; padding:20px; border:1px solid var(--city-line); background:#ffffff; }
.agenda-editorial-card time { display:grid; place-items:center; align-content:center; width:64px; height:64px; background:#edf4f4; color:var(--city-navy); }
.agenda-editorial-card time strong { font-size:24px; line-height:1; }
.agenda-editorial-card time span { margin-top:4px; font-size:11px; font-weight:800; text-transform:uppercase; }
.agenda-editorial-card > div > span { color:var(--city-teal); font-size:12px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.agenda-editorial-card h2 { margin:7px 0 6px; color:var(--city-navy); font-size:21px; }
.agenda-editorial-card p { margin:0 0 8px; color:var(--city-muted); line-height:1.45; }
.agenda-editorial-card small { color:#4b6570; font-size:13px; font-weight:700; }
.agenda-editorial-card > a { padding-bottom:4px; border-bottom:2px solid var(--city-orange); color:var(--city-navy); font-size:13px; font-weight:850; text-decoration:none; white-space:nowrap; }
@media (max-width:760px) { .agenda-controls{grid-template-columns:1fr auto 1fr}.agenda-controls h2{font-size:20px}.agenda-controls a{font-size:12px}.agenda-weekdays span{padding:10px 3px;font-size:10px}.agenda-day{min-height:68px;padding:6px}.agenda-day a{display:none}.agenda-day > span{display:none}.agenda-day strong{font-size:12px}.agenda-calendar{overflow:hidden}.agenda-editorial-card{grid-template-columns:64px 1fr;gap:14px;padding:16px}.agenda-editorial-card > a{grid-column:2;justify-self:start}.agenda-editorial-card time{width:54px;height:54px}.agenda-editorial-card h2{font-size:18px} }

/* Citizen account: a single, private view of municipal activity. */
.citizen-intro { padding-bottom:36px; }
.citizen-dashboard { display:grid; gap:42px; padding-bottom:96px; }
.citizen-summary { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); border-top:3px solid var(--city-navy); border-bottom:1px solid var(--city-line); background:#ffffff; }
.citizen-summary > div { display:grid; grid-template-columns:1fr auto; align-items:end; min-height:140px; padding:25px 28px; border-right:1px solid var(--city-line); }
.citizen-summary > div:last-child { border-right:0; }
.citizen-summary span { grid-column:1 / -1; color:var(--city-muted); font-size:13px; font-weight:800; }
.citizen-summary strong { color:var(--city-navy); font-size:42px; line-height:1; }
.citizen-summary a, .citizen-section-heading > a { color:var(--city-blue); font-size:13px; font-weight:850; text-decoration:none; }
.citizen-summary a:hover, .citizen-section-heading > a:hover { color:var(--city-navy); text-decoration:underline; text-underline-offset:4px; }
.citizen-actions { display:flex; flex-wrap:wrap; gap:10px; }
.citizen-actions .button { min-height:46px; display:inline-flex; align-items:center; justify-content:center; }
.citizen-section { border-top:1px solid var(--city-line); padding-top:30px; }
.citizen-section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:18px; }
.citizen-section-heading .eyebrow { margin:0 0 5px; color:var(--city-teal); font-size:12px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.citizen-section-heading h2 { margin:0; color:var(--city-navy); font-size:30px; }
.citizen-item-list { display:grid; gap:10px; }
.citizen-item { display:grid; grid-template-columns:minmax(0, 1fr) auto; align-items:start; gap:24px; padding:22px 24px; border:1px solid var(--city-line); background:#ffffff; }
.citizen-type { display:block; margin-bottom:7px; color:var(--city-teal); font-size:12px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.citizen-item h3 { margin:0 0 7px; color:var(--city-navy); font-size:19px; line-height:1.25; }
.citizen-item p { margin:0 0 9px; color:var(--city-muted); font-size:14px; line-height:1.5; }
.citizen-item .appointment-subject { color:var(--city-text); }
.appointment-subject strong { color:var(--city-navy); }
.citizen-item small { color:#4c6670; font-size:12px; font-weight:700; }
.citizen-item-actions { display:grid; justify-items:end; gap:10px; }
.citizen-item-actions > a { color:var(--city-blue); font-size:13px; font-weight:850; text-decoration:none; white-space:nowrap; }
.citizen-item-actions > a:hover { color:var(--city-navy); text-decoration:underline; text-underline-offset:4px; }
.appointment-response-actions { display:grid; justify-items:end; gap:8px; }
.appointment-response-actions .button { min-height:34px; }
.appointment-cancel-link { border:0; padding:0; background:transparent; color:#6c3d32; font:inherit; font-size:12px; font-weight:850; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.citizen-status { display:inline-flex; align-items:center; min-height:28px; padding:0 10px; border:1px solid #a9cfcf; background:#eef7f6; color:#195b64; font-size:12px; font-weight:850; white-space:nowrap; }
#rendezvous .citizen-item { gap:16px; padding:14px 16px; }
#rendezvous .citizen-type { margin-bottom:3px; }
#rendezvous .citizen-item h3 { margin-bottom:3px; font-size:17px; }
#rendezvous .citizen-item p { margin-bottom:4px; line-height:1.35; }
#rendezvous .citizen-item small { display:block; line-height:1.25; }
#rendezvous .citizen-item-actions { gap:6px; }
#rendezvous .appointment-response-actions { gap:5px; }
#rendezvous .appointment-response-actions .button { min-height:30px; padding:6px 10px; font-size:12px; }
#rendezvous .citizen-status { min-height:24px; padding:0 8px; }
.citizen-empty { display:grid; gap:5px; padding:31px; border:1px solid var(--city-line); background:#ffffff; }
.citizen-empty strong { color:var(--city-navy); font-size:18px; }
.citizen-empty span { color:var(--city-muted); font-size:14px; line-height:1.5; }
.citizen-notification-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px; }
.citizen-notification { display:flex; min-height:230px; flex-direction:column; border:1px solid var(--city-line); background:#ffffff; }
.citizen-notification img { width:100%; height:145px; object-fit:cover; }
.citizen-notification > div { display:flex; height:100%; flex-direction:column; padding:20px; }
.citizen-notification span { color:var(--city-teal); font-size:12px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.citizen-notification h3 { margin:9px 0 8px; color:var(--city-navy); font-size:20px; line-height:1.22; }
.citizen-notification p { margin:0; color:var(--city-muted); font-size:14px; line-height:1.5; }
.citizen-notification small { margin-top:auto; padding-top:15px; color:#4c6670; font-size:12px; font-weight:700; }
.citizen-detail-page { padding-bottom:96px; }
.citizen-detail-top { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:16px; }
.citizen-back { color:var(--city-blue); font-size:14px; font-weight:850; text-decoration:none; }
.citizen-back:hover { color:var(--city-navy); text-decoration:underline; text-underline-offset:4px; }
.citizen-case-layout { display:grid; grid-template-columns:minmax(0, 1.2fr) minmax(310px, .8fr); align-items:start; gap:20px; }
.citizen-case-summary, .citizen-timeline { padding:29px; border:1px solid var(--city-line); background:#ffffff; }
.citizen-case-summary h2, .citizen-timeline h2 { margin:0 0 14px; color:var(--city-navy); font-size:28px; line-height:1.18; }
.citizen-case-summary > p { margin:0 0 25px; color:var(--city-muted); line-height:1.6; }
.citizen-case-summary dl { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px 18px; margin:0 0 26px; padding:20px 0; border-top:1px solid var(--city-line); border-bottom:1px solid var(--city-line); }
.citizen-case-summary dl div { display:grid; gap:4px; }
.citizen-case-summary dt { color:var(--city-muted); font-size:12px; font-weight:800; }
.citizen-case-summary dd { margin:0; color:var(--city-navy); font-size:14px; font-weight:800; line-height:1.35; }
.citizen-case-image { display:block; width:100%; max-height:330px; margin-top:22px; object-fit:cover; }
.citizen-timeline .eyebrow { margin:0 0 5px; color:var(--city-teal); font-size:12px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.citizen-timeline ol { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.citizen-timeline li { position:relative; display:grid; gap:5px; padding:0 0 23px 24px; border-left:2px solid #bed4d6; }
.citizen-timeline li:last-child { padding-bottom:0; }
.citizen-timeline li::before { position:absolute; top:2px; left:-6px; width:10px; height:10px; border-radius:50%; background:var(--city-orange); content:""; }
.citizen-timeline time { color:#506a73; font-size:12px; font-weight:750; }
.citizen-timeline strong { color:var(--city-navy); font-size:15px; }
.citizen-timeline span, .citizen-timeline-empty { color:var(--city-muted); font-size:13px; line-height:1.5; }
.appointment-request-page { padding-bottom:96px; }
.appointment-request-form, .appointment-confirmation { max-width:840px; padding:34px; border-top:3px solid var(--city-navy); background:#ffffff; }
.appointment-form-heading { margin-bottom:26px; }
.appointment-form-heading .eyebrow, .appointment-confirmation .eyebrow { margin:0 0 6px; color:var(--city-teal); font-size:12px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.appointment-form-heading h2, .appointment-confirmation h2 { margin:0 0 8px; color:var(--city-navy); font-size:30px; }
.appointment-form-heading p, .appointment-confirmation > p { margin:0; color:var(--city-muted); line-height:1.55; }
.appointment-request-form { display:grid; gap:16px; }
.appointment-request-form label { display:grid; gap:7px; color:var(--city-navy); font-size:13px; font-weight:800; }
.appointment-request-form input, .appointment-request-form select, .appointment-request-form textarea { width:100%; min-height:46px; border:1px solid var(--city-line); padding:10px 12px; background:#ffffff; color:var(--city-text); font:inherit; }
.appointment-request-form textarea { min-height:120px; resize:vertical; }
.appointment-form-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; }
.appointment-confirmation { display:grid; gap:12px; }
.appointment-confirmation .citizen-actions { margin-top:10px; }
.appointment-date-picker { position:relative; }
.appointment-date-display { display:flex; width:100%; min-height:46px; align-items:center; justify-content:space-between; gap:12px; border:1px solid var(--city-line); padding:10px 12px; background:#ffffff; color:var(--city-text); font:inherit; text-align:left; cursor:pointer; }
.appointment-date-display b { color:var(--city-blue); font-size:12px; }
.appointment-calendar { position:absolute; z-index:20; top:calc(100% + 6px); left:0; width:min(330px, calc(100vw - 48px)); padding:14px; border:1px solid var(--city-line); background:#ffffff; box-shadow:0 14px 30px rgba(5,31,48,.18); }
.appointment-calendar-header { display:grid; grid-template-columns:34px 1fr 34px; align-items:center; margin-bottom:12px; }
.appointment-calendar-header strong { color:var(--city-navy); font-size:14px; text-align:center; text-transform:capitalize; }
.appointment-calendar-header button { width:32px; height:32px; border:0; background:transparent; color:var(--city-navy); font-size:24px; cursor:pointer; }
.appointment-calendar-header button:disabled { color:#b4c4c8; cursor:default; }
.appointment-calendar-weekdays, .appointment-calendar-grid { display:grid; grid-template-columns:repeat(7, 1fr); gap:3px; }
.appointment-calendar-weekdays { margin-bottom:5px; }
.appointment-calendar-weekdays span { color:var(--city-muted); font-size:11px; font-weight:850; text-align:center; }
.appointment-calendar-grid button { aspect-ratio:1; border:0; background:#eef5f5; color:var(--city-navy); font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.appointment-calendar-grid button:hover:not(:disabled), .appointment-calendar-grid button.selected { background:var(--city-navy); color:#ffffff; }
.appointment-calendar-grid button:disabled { background:#f4f6f6; color:#c1cdcf; cursor:not-allowed; text-decoration:line-through; }
@media (max-width:980px) { .citizen-summary{grid-template-columns:repeat(2, minmax(0, 1fr))}.citizen-summary > div:nth-child(2){border-right:0}.citizen-summary > div:nth-child(-n+2){border-bottom:1px solid var(--city-line)} }
@media (max-width:760px) { .citizen-dashboard{gap:32px;padding-bottom:64px}.citizen-summary{grid-template-columns:1fr}.citizen-summary > div{min-height:106px;border-right:0;border-bottom:1px solid var(--city-line);padding:20px}.citizen-summary > div:last-child{border-bottom:0}.citizen-summary strong{font-size:34px}.citizen-actions{display:grid;grid-template-columns:1fr}.citizen-section-heading{align-items:start;flex-direction:column;gap:8px}.citizen-section-heading h2{font-size:26px}.citizen-item{grid-template-columns:1fr;gap:13px;padding:19px}.citizen-item-actions,.appointment-response-actions{justify-items:start}.citizen-status{justify-self:start}.citizen-notification-grid{grid-template-columns:1fr}.citizen-empty{padding:24px}.citizen-detail-page,.appointment-request-page{padding-bottom:64px}.citizen-case-layout{grid-template-columns:1fr}.citizen-case-summary,.citizen-timeline,.appointment-request-form,.appointment-confirmation{padding:22px}.citizen-case-summary h2,.citizen-timeline h2,.appointment-form-heading h2,.appointment-confirmation h2{font-size:24px}.citizen-case-summary dl,.appointment-form-grid{grid-template-columns:1fr}.citizen-detail-top{align-items:flex-start;flex-direction:column;gap:10px} }
.municipal-submenu { top:76px; }
.institution-page{display:grid;gap:42px;padding-bottom:90px}.institution-president{display:grid;grid-template-columns:220px 1fr;gap:36px;align-items:center;padding:32px;border-top:4px solid var(--city-navy);background:#fff}.institution-president img,.institution-monogram{display:grid;width:190px;height:190px;place-items:center;object-fit:cover;background:#eaf3f5;color:var(--city-navy);font-size:64px;font-weight:850}.institution-president .eyebrow,.institution-heading .eyebrow{margin:0 0 7px;color:var(--city-teal);font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.institution-president h2,.institution-heading h2{margin:0 0 8px;color:var(--city-navy);font-size:32px}.institution-president strong{color:var(--city-teal);font-size:14px}.institution-president article>p:last-child,.institution-heading>p{color:var(--city-muted);line-height:1.65}.institution-section{border-top:1px solid var(--city-line);padding-top:30px}.institution-heading{max-width:720px;margin-bottom:20px}.institution-members{display:flex;flex-wrap:wrap;gap:10px}.institution-members span{padding:11px 14px;border:1px solid var(--city-line);background:#fff;color:var(--city-navy);font-weight:750}.organization-list{display:grid;gap:8px;max-width:720px;margin:0;padding:0;list-style:none}.organization-list li{padding:13px 15px;border-left:4px solid var(--city-teal);background:#eef5f5;color:var(--city-navy);font-weight:750}.deliberation-list{display:grid;gap:10px}.deliberation-list article{display:grid;grid-template-columns:90px 1fr auto;gap:20px;align-items:center;padding:20px;border:1px solid var(--city-line);background:#fff}.deliberation-list time{color:var(--city-navy);font-weight:850}.deliberation-list span{color:var(--city-teal);font-size:12px;font-weight:850}.deliberation-list h3{margin:5px 0;color:var(--city-navy);font-size:19px}.deliberation-list p{margin:0;color:var(--city-muted);line-height:1.45}.deliberation-list a{color:var(--city-blue);font-size:13px;font-weight:850;text-decoration:none;white-space:nowrap}.institution-empty{padding:24px;border:1px solid var(--city-line);background:#fff;color:var(--city-muted)}
@media (max-width:760px){.institution-page{gap:32px;padding-bottom:64px}.institution-president{grid-template-columns:1fr;gap:20px;padding:22px}.institution-president img,.institution-monogram{width:112px;height:112px;font-size:40px}.institution-president h2,.institution-heading h2{font-size:26px}.deliberation-list article{grid-template-columns:1fr;gap:8px;padding:16px}.deliberation-list a{justify-self:start}}
.municipal-primary-links a, .municipal-primary-links a:last-child, .municipal-menu-item > a { border:0; }
.opportunity-directory{display:grid;gap:28px;padding-bottom:90px}.opportunity-public-filters{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:end;gap:14px;padding:20px;border:1px solid var(--city-line);background:#fff}.opportunity-public-filters label{display:grid;gap:7px;color:var(--city-navy);font-size:12px;font-weight:850}.opportunity-public-filters input{min-height:46px;border:1px solid var(--city-line);padding:10px 12px;font:inherit}.opportunity-view-switch{display:flex;min-height:46px;border:1px solid var(--city-line)}.opportunity-view-switch a{display:flex;align-items:center;padding:0 15px;color:var(--city-muted);font-size:13px;font-weight:850;text-decoration:none}.opportunity-view-switch a.active{background:var(--city-navy);color:#fff}.opportunity-public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.opportunity-public-card{display:flex;min-height:360px;flex-direction:column;padding:27px;border-top:4px solid var(--city-teal);background:#fff}.opportunity-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.opportunity-card-meta span{color:var(--city-teal);font-size:12px;font-weight:850;text-transform:uppercase}.opportunity-card-meta b{color:#60767e;font-size:12px}.opportunity-public-card h2{margin:16px 0 10px;color:var(--city-navy);font-size:25px;line-height:1.2}.opportunity-public-card>p{margin:0 0 20px;color:var(--city-muted);line-height:1.55}.opportunity-public-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:auto 0 20px;padding-top:18px;border-top:1px solid var(--city-line)}.opportunity-public-card dl div{display:grid;gap:3px}.opportunity-public-card dt{color:#60767e;font-size:11px;font-weight:800}.opportunity-public-card dd{margin:0;color:var(--city-navy);font-size:13px;font-weight:800}.opportunity-public-card details{margin:0 0 18px;color:var(--city-muted);font-size:13px}.opportunity-public-card summary{color:var(--city-blue);font-weight:850;cursor:pointer}.opportunity-card-actions{display:flex;align-items:center;gap:15px}.opportunity-card-actions .text-link{font-size:13px}.empty-public-state{padding:25px;border:1px solid var(--city-line);background:#fff;color:var(--city-muted)}
@media(max-width:760px){.opportunity-directory{padding-bottom:64px}.opportunity-public-filters{grid-template-columns:1fr}.opportunity-view-switch{display:grid;grid-template-columns:1fr 1fr}.opportunity-view-switch a{justify-content:center}.opportunity-public-grid{grid-template-columns:1fr}.opportunity-public-card{min-height:0;padding:22px}.opportunity-public-card dl{grid-template-columns:1fr}.opportunity-card-actions{align-items:flex-start;flex-direction:column}}
.opportunity-detail-page{display:grid;gap:18px;padding-bottom:90px}.opportunity-detail-sheet{padding:34px;border-top:4px solid var(--city-teal);background:#fff}.opportunity-detail-status{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:26px}.opportunity-detail-status span{color:var(--city-teal);font-size:13px;font-weight:850;text-transform:uppercase}.opportunity-detail-status b{padding:8px 11px;background:#eaf3f3;color:var(--city-navy);font-size:12px}.opportunity-detail-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:32px;border-top:1px solid var(--city-line);border-bottom:1px solid var(--city-line)}.opportunity-detail-facts div{display:grid;gap:5px;padding:18px;border-right:1px solid var(--city-line)}.opportunity-detail-facts div:last-child{border-right:0}.opportunity-detail-facts small{color:var(--city-muted);font-size:11px;font-weight:800}.opportunity-detail-facts strong{color:var(--city-navy);font-size:14px;line-height:1.35}.opportunity-detail-copy{max-width:820px}.opportunity-detail-copy h2{margin:28px 0 8px;color:var(--city-navy);font-size:24px}.opportunity-detail-copy p{margin:0;color:var(--city-muted);line-height:1.7}.opportunity-detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--city-line)}
@media(max-width:760px){.opportunity-detail-page{padding-bottom:64px}.opportunity-detail-sheet{padding:22px}.opportunity-detail-facts{grid-template-columns:1fr 1fr}.opportunity-detail-facts div:nth-child(2){border-right:0}.opportunity-detail-facts div:nth-child(-n+2){border-bottom:1px solid var(--city-line)}.opportunity-detail-actions{display:grid}.opportunity-detail-actions .button{width:100%}}
.hero-home .hero-grid { min-height:520px; padding-top:72px; }
@media (max-width:760px) { .municipal-header { position:sticky; } .municipal-main-nav { min-height:68px; } .municipal-brand-tile { color:#ffffff; } .municipal-mobile-toggle { background:var(--city-navy); color:#ffffff; } .municipal-header.menu-open .municipal-primary-links { top:68px; } .municipal-header.menu-open .municipal-menu-item > a { color:var(--city-navy); } .hero-home .hero-grid { min-height:510px; padding-top:52px; } }
.opportunity-deposit-page{padding-bottom:90px}.opportunity-deposit-form,.deposit-confirmation{display:grid;gap:22px;max-width:920px;padding:34px;border-top:4px solid var(--city-teal);background:#fff}.deposit-form-heading h2,.deposit-confirmation h2{margin:4px 0;color:var(--city-navy);font-size:30px}.deposit-form-heading>p:last-child,.deposit-confirmation p{margin:0;color:var(--city-muted);line-height:1.6}.deposit-confirmation>span{color:var(--city-teal);font-size:13px;font-weight:850;text-transform:uppercase}.deposit-identity{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--city-line);background:#f4f8f8}.deposit-identity div{display:grid;gap:4px;padding:16px}.deposit-identity div+div{border-left:1px solid var(--city-line)}.deposit-identity small{color:var(--city-muted);font-size:11px;font-weight:800}.deposit-identity strong{color:var(--city-navy)}.deposit-form-grid,.deposit-file-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.opportunity-deposit-form>label,.deposit-form-grid label,.deposit-file-grid label{display:grid;gap:8px;color:var(--city-navy);font-size:13px;font-weight:850}.opportunity-deposit-form input,.opportunity-deposit-form textarea{width:100%;min-height:46px;padding:11px 12px;border:1px solid var(--city-line);background:#fff;font:inherit}.opportunity-deposit-form input[type=file]{padding:9px}.opportunity-deposit-form small,.opportunity-deposit-form label>span{color:var(--city-muted);font-size:11px;font-weight:650}.opportunity-deposit-form textarea{resize:vertical}.deposit-consent{grid-template-columns:22px 1fr!important;align-items:start;padding:15px;border:1px solid var(--city-line);background:#f4f8f8}.deposit-consent input{width:18px!important;min-height:18px!important;margin:2px 0}.deposit-consent span{font-size:12px!important;line-height:1.5}.citizen-summary-five{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:980px){.citizen-summary-five{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.opportunity-deposit-page{padding-bottom:64px}.opportunity-deposit-form,.deposit-confirmation{padding:22px}.deposit-form-grid,.deposit-file-grid,.deposit-identity{grid-template-columns:1fr}.deposit-identity div+div{border-left:0;border-top:1px solid var(--city-line)}.citizen-summary-five{grid-template-columns:1fr}}
