*,:before,:after{box-sizing:border-box}body{background:#f7f8fa;margin:0}[data-theme]{color:var(--ink);background:var(--bg);font-family:var(--body-font);min-height:100vh}a{color:var(--link)}img{max-width:100%}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,details:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.util a:focus-visible,.nav a:focus-visible,.hero a:focus-visible,.panel a:focus-visible,.glance.ask a:focus-visible,footer a:focus-visible,.alert-banner a:focus-visible,.admin-tabs button.on:focus-visible{outline-color:#fff}.skip-link{z-index:20;background:var(--panel);color:var(--link);border:2px solid var(--focus-ring);border-radius:var(--btn-radius);padding:10px 16px;font-weight:700;text-decoration:none;position:absolute;top:-100px;left:8px}.skip-link:focus{top:8px}[data-theme=modern-civic]{--brand:#00335b;--brand-2:#005ea2;--accent:#f2a900;--accent-soft:#ffd35c;--ink:#1b1f24;--muted:#5c6670;--bg:#fff;--panel:#fff;--line:#e1e7ee;--link:#005ea2;--hero-ink:#fff;--hero-muted:#d5e3f2;--accent-text:#8a5e00;--field-line:#767f8c;--focus-ring:#00335b;--head-font:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--body-font:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--radius:12px;--btn-radius:8px;--hero-bg:linear-gradient(135deg, #00335b 0%, #005ea2 100%);--hero-scrim-near:#00335be6;--hero-scrim-far:#00335bdb;--hero-scrim-reveal:#00335b33;--footer-bg:#00335b;--footer-ink:#b9c9da;--footer-link:#dce9f7;--cta-ink:#00335b}[data-theme=modern-civic] .masthead{box-shadow:0 1px 0 var(--line);border-bottom:0}[data-theme=modern-civic] .masthead .brand-name{letter-spacing:-.01em}[data-theme=modern-civic] .tagline{font-style:normal}[data-theme=modern-civic] .nav{border-bottom:1px solid var(--line);background:#fff}[data-theme=modern-civic] .nav a{color:var(--ink);font-weight:600}[data-theme=modern-civic] .nav a:hover,[data-theme=modern-civic] .nav a.on{color:var(--brand-2);box-shadow:inset 0 -3px var(--accent-text);background:0 0}[data-theme=modern-civic] .hero h1{font-weight:800}[data-theme=modern-civic] .quick a{border-top:0;box-shadow:0 8px 24px #00335b1f}[data-theme=modern-civic] .card{border:0;box-shadow:0 6px 20px #00335b1a}[data-theme=modern-civic] .section:nth-of-type(2n){background:#f4f7fa}h1,h2,h3,h4,h5{font-family:var(--head-font);color:var(--brand)}.container{max-width:1160px;margin:0 auto;padding:0 24px}.alert-banner{color:#fff;text-align:center;background:#a8322c;padding:10px 24px;font-size:.95rem}.alert-banner a{color:#fff;font-weight:700}.util{background:var(--brand);color:#fff;padding:6px 0;font-size:.78rem}.util .container{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.util a{color:#fff;opacity:.9;margin-left:16px;text-decoration:none}.masthead{background:var(--panel);border-bottom:4px solid var(--accent)}.masthead .container{align-items:center;gap:16px;padding-top:14px;padding-bottom:14px;display:flex}.seal{border-radius:50%;flex:none;width:60px;height:60px;display:block}.masthead .brand-name{font-size:1.4rem;font-family:var(--head-font);color:var(--brand);margin:0;font-weight:700;line-height:1.2}.masthead .tagline{color:var(--muted);font-size:.82rem;font-style:italic}.kv a,.sitemap-list a,footer a{overflow-wrap:anywhere}.sitemap-group{font-size:1.17rem}.sitemap-list{margin:0 0 18px;padding-left:20px}.sitemap-list li{margin:4px 0}.nav{background:var(--brand-2)}.nav ul{flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.nav .container{padding:0 12px}.nav a{color:#fff;padding:12px 13px;font-size:.92rem;font-weight:600;text-decoration:none;display:block}.nav a:hover,.nav a.on{background:var(--brand)}.hero{background:var(--hero-bg);color:var(--hero-ink);padding:64px 0 76px}.hero.has-photo{background-image:linear-gradient(90deg, var(--hero-scrim-near) 0%, var(--hero-scrim-far) 58%, var(--hero-scrim-reveal) 84%, var(--hero-scrim-reveal) 100%), var(--hero-photo);background-position:50% 45%;background-repeat:no-repeat;background-size:cover}@media (width<=1159px){.hero.has-photo{background-image:linear-gradient(90deg, var(--hero-scrim-near) 0%, var(--hero-scrim-far) 72%, var(--hero-scrim-reveal) 92%, var(--hero-scrim-reveal) 100%), var(--hero-photo)}}@media (width<=899px){.hero.has-photo{background-image:linear-gradient(90deg, var(--hero-scrim-near) 0%, var(--hero-scrim-far) 100%), var(--hero-photo)}}.photo-credit{letter-spacing:.04em;color:var(--hero-muted);margin:28px 0 0;font-size:.72rem}.hero .kicker{color:var(--accent-soft);letter-spacing:.14em;text-transform:uppercase;font-size:.76rem;font-weight:700}.hero h1{max-width:18ch;color:inherit;margin:10px 0 12px;font-size:2.5rem;line-height:1.12}.hero p{max-width:56ch;color:var(--hero-muted);font-size:1.06rem;line-height:1.6}.hero .hero-sub{max-width:none;color:var(--hero-ink);margin:0 0 10px;font-size:1.15rem;font-weight:700}.btn{background:var(--accent);color:var(--cta-ink);border-radius:var(--btn-radius);border:1px solid var(--accent-text);cursor:pointer;font-size:.95rem;font-weight:700;font-family:var(--body-font);padding:12px 24px;text-decoration:none;transition:filter .15s,transform .15s,box-shadow .15s,background-color .15s;display:inline-block}.btn.ghost{color:inherit;background:0 0;border:2px solid;margin-left:10px}.btn:disabled{opacity:.5;cursor:default}.btn.small{padding:7px 14px;font-size:.82rem}.btn.danger{color:#fff;background:#a8322c;border-color:#7d251f}.btn:hover,.btn:focus-visible{filter:brightness(.95);transform:translateY(-1px);box-shadow:0 4px 12px #00335b2e}.btn:disabled:hover{filter:none;box-shadow:none;transform:none}.btn.ghost:hover,.btn.ghost:focus-visible{background:color-mix(in srgb, currentColor 14%, transparent)}@media (prefers-reduced-motion:reduce){.btn:hover,.btn:focus-visible{transform:none}}.quick{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:-42px;display:grid;position:relative}.quick a{background:var(--panel);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:var(--radius);text-align:center;color:var(--ink);padding:20px 16px;text-decoration:none;box-shadow:0 6px 18px #00000014}.quick .ic{margin-bottom:6px;font-size:1.6rem;display:block}.quick strong{color:var(--brand-2);display:block}.quick span{color:var(--muted);font-size:.8rem}.ext{opacity:.8;font-size:.85em}.section{padding:48px 0 8px}.section>.container>h2{margin:0 0 4px;font-size:1.6rem}.rule{background:var(--accent);border:0;width:64px;height:4px;margin-bottom:24px}.page-kicker{color:var(--accent-text);letter-spacing:.14em;text-transform:uppercase;font-size:.76rem;font-weight:700}.grid3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.board-list{gap:20px;display:grid}.board-row{grid-template-columns:220px minmax(0,1fr);align-items:start;display:grid}.board-row .board-photo{aspect-ratio:1;object-fit:cover;object-position:50% 0%;width:100%;height:auto;display:block}.board-row div.board-photo{background:linear-gradient(160deg, var(--brand-2), var(--brand));color:#ffffff8c;justify-content:center;align-items:flex-end;font-size:3.4rem;display:flex}@media (width<=720px){.board-row{grid-template-columns:1fr}}.grid2{grid-template-columns:1fr 1.3fr;gap:32px;display:grid}.grid2 h2{font-size:1.17rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.card .bd{padding:16px 18px 20px}.card .ph{background:linear-gradient(160deg, var(--brand-2), var(--brand));color:#ffffff8c;justify-content:center;align-items:flex-end;height:150px;font-size:3.4rem;display:flex}.chead-panel{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 28px;margin:0 0 24px;padding:20px 24px;display:grid}.chead-panel h2,.chead-panel h3{margin:0 0 10px;font-size:1.05rem}.chead-panel .kv{color:var(--muted);margin-top:4px;font-size:.9rem}.chead-panel .kv b{color:var(--ink);margin-right:6px;font-weight:700}.chead-panel-actions{flex-direction:column;gap:10px;display:flex}.chead-panel-actions .btn.ghost{margin-left:0}@media (width<=700px){.chead-panel{grid-template-columns:minmax(0,1fr)}}.upcoming{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);margin:0 0 28px;padding:16px 20px}.upcoming h2,.upcoming h3{margin:0 0 8px;font-size:1.05rem}.upcoming ul{margin:0;padding:0;list-style:none}.upcoming li{color:var(--ink);border-top:1px solid var(--line);padding:5px 0;font-size:.93rem}.upcoming li:first-of-type{border-top:0}.upcoming .where{color:var(--muted)}.credit-edit{flex:none;align-items:center;gap:6px;display:flex}.credit-edit input{font:inherit;border:1px solid var(--line);border-radius:4px;min-width:15ch;padding:5px 8px;font-size:.82rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-note{color:var(--muted);margin:0 0 14px;font-size:.85rem;line-height:1.55}.card img.ph{object-fit:cover;object-position:50% 0%;background:0 0;width:100%;height:260px;display:block}.card h2,.card h3,.card h4{margin:0 0 2px;font-size:1.1rem}.card .role{color:var(--accent-text);letter-spacing:.1em;text-transform:uppercase;font-size:.76rem;font-weight:700}.card p{color:var(--muted);margin:8px 0 0;font-size:.9rem;line-height:1.55}.panel{background:var(--brand);color:#e6ecf5;border-radius:var(--radius);padding:26px 28px 30px}.panel h2,.panel h3{color:#fff;margin-top:0}.panel dt{color:var(--accent-soft);letter-spacing:.1em;text-transform:uppercase;margin-top:12px;font-size:.76rem;font-weight:700}.panel dd{margin:2px 0 0;font-size:.94rem;line-height:1.6}.news-item{border-bottom:1px solid var(--line);padding:16px 0}.news-item .date{color:var(--accent-text);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:700}.news-item h2,.news-item h3,.news-item h4{margin:4px 0 6px;font-size:1.1rem}.news-item p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.55}.news-item a{text-decoration:none}.page{padding-top:40px;padding-bottom:56px}.page>h1{margin:0 0 4px;font-size:2rem}.lede{color:var(--muted);max-width:70ch;font-size:1.05rem;line-height:1.65}.lede.full,.lede.full .lede{max-width:none}.detail-meta{color:var(--muted);margin:4px 0 16px;font-size:.9rem}.office-group{margin-top:28px}.office-group h2,.office-group h3{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);margin:0 0 4px;font-size:.78rem;font-weight:800}.office-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;display:flex}.office-row a{font-size:1.05rem;font-weight:700;text-decoration:none}.office-row span{color:var(--muted);font-size:.88rem}.office-meta{text-align:right;flex-direction:column;flex:none;align-items:flex-end;gap:2px;max-width:46%;display:flex}.office-meta .office-phone{font-variant-numeric:tabular-nums}.office-meta .office-hours{font-size:.8rem}.office-note{background:var(--panel);border-left:3px solid var(--accent);color:var(--muted);margin:18px 0 0;padding:12px 16px;font-size:.92rem;line-height:1.6}@media (width<=640px){.office-row{flex-direction:column;gap:4px}.office-meta{text-align:left;align-items:flex-start;max-width:100%}}.kv{margin:12px 0;line-height:1.7}.kv b{min-width:90px;display:inline-block}.faq{border-left:3px solid var(--accent);margin:16px 0;padding:4px 0 4px 16px}.faq h3,.faq h4{margin:0 0 6px}.faq p{color:var(--muted);margin:0;line-height:1.6}.doc-row{border-bottom:1px solid var(--line);align-items:baseline;gap:12px;padding:12px 0;display:flex}.doc-row .cat{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);flex:none;min-width:120px;font-size:.74rem;font-weight:700}.meeting-links a{margin-right:14px;font-size:.9rem;font-weight:600}.ports-grid{grid-template-columns:1.7fr 1fr;align-items:start;gap:40px;margin-top:12px;display:grid}.ports-section{margin-top:30px}.ports-section h2,.ports-section h3{margin:0 0 8px;font-size:1.35rem}.ports-section ul.lede{margin-top:6px}.ports-section ul.lede li{margin-bottom:6px}.faq-acc{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);margin-bottom:10px}.faq-acc summary{cursor:pointer;color:var(--brand-2);padding:14px 18px;font-weight:700;list-style-position:inside}.faq-acc[open] summary{border-bottom:1px solid var(--line)}.faq-acc p{color:var(--muted);margin:0;padding:14px 18px 16px;line-height:1.65}.ports-side{flex-direction:column;gap:18px;margin-top:30px;display:flex;position:sticky;top:16px}.glance{background:var(--panel);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:var(--radius);padding:18px 20px 20px}.glance h3,.glance h4{margin:0 0 10px;font-size:1.05rem}.glance dl{margin:0}.glance dt{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);margin-top:10px;font-size:.72rem;font-weight:800}.glance dd{margin:2px 0 0;font-size:.92rem;line-height:1.5}.glance p{color:var(--muted);margin:0 0 8px;font-size:.9rem;line-height:1.55}.glance .big{color:var(--brand);font-size:1.3rem;font-weight:800;font-family:var(--head-font)}.glance .big-email{word-break:break-word;margin-bottom:10px;font-size:1rem;font-weight:700}.glance.ask .big-email a{color:#fff}.glance.ask{background:var(--brand);border-top-color:var(--accent)}.glance.ask h3,.glance.ask h4,.glance.ask .big{color:#fff}.glance.ask p{color:#ffffffd1}.glance ul.soon{margin:0;padding-left:18px;font-size:.92rem;line-height:1.9}@media (width<=950px){.ports-grid{grid-template-columns:1fr}.ports-side{position:static}}footer{background:var(--footer-bg);color:var(--footer-ink);margin-top:48px}footer .container{grid-template-columns:2fr 1fr 1fr;gap:32px;padding-top:40px;padding-bottom:32px;font-size:.9rem;line-height:1.7;display:grid}footer h2{color:#fff;letter-spacing:.06em;text-transform:uppercase;font-size:.92rem;font-family:var(--body-font);margin:0 0 10px}footer a{color:var(--footer-link);text-decoration:none;display:block}.legal{text-align:center;opacity:.8;border-top:1px solid #ffffff24;padding:14px;font-size:.76rem}.admin{padding:32px 0 64px}.admin h1{margin:0 0 4px;font-size:1.9rem}.admin>h2{margin:26px 0 10px;font-size:1.35rem}.admin-tabs{flex-wrap:wrap;gap:6px;margin:18px 0 22px;display:flex}.admin-tabs button{border:1px solid var(--field-line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:99px;padding:8px 16px;font-size:.88rem;font-weight:600}.admin-tabs button.on{background:var(--brand);color:#fff;border-color:var(--brand)}.admin-list{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.admin-group{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);margin:12px 0 0;font-size:.74rem;font-weight:800}.admin-row{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:12px;padding:10px 14px;display:flex}.admin-row .grow{flex:1;min-width:0}.admin-row b{font-size:.95rem;display:block}.admin-row span{color:var(--muted);font-size:.8rem}details.admin-row{flex-direction:column;align-items:stretch}details.admin-row>.form{background:0 0;border:0;margin:0;padding:14px 0 4px}.pill{letter-spacing:.06em;text-transform:uppercase;border-radius:99px;flex:none;padding:3px 10px;font-size:.7rem;font-weight:700}.pill.pub{color:#1c6b45;background:#e6f4ec}.pill.draft{color:#8a6212;background:#f6e8c8}.form{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:24px;padding:20px}.form h2,.form h4{margin:0 0 14px;font-size:1.05rem}.form label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:12px 0 4px;font-size:.8rem;font-weight:700;display:block}.form input[type=text],.form input[type=date],.form input[type=url],.form input[type=file],.form textarea,.form select{border:1px solid var(--field-line);width:100%;font:inherit;color:var(--ink);background:var(--bg);border-radius:6px;padding:9px 12px}.form textarea{resize:vertical;min-height:110px}.form .row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form .actions{align-items:center;gap:10px;margin-top:16px;display:flex}.checkline{align-items:center;gap:8px;margin-top:12px;font-size:.92rem;display:flex}.form fieldset.seat{border:0;margin:0;padding:0}.form fieldset.seat legend{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:14px 0 0;padding:0;font-size:.8rem;font-weight:700}.err{color:#a8322c;font-weight:600}.notice{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);margin:16px 0;padding:14px 18px}@media (width<=900px){.quick{grid-template-columns:repeat(2,1fr)}.grid3,.grid2,footer .container,.form .row{grid-template-columns:1fr}.hero h1{font-size:2rem}.nav a{padding:10px 12px}}
