/* County News Beat v1.1: "Civic schedule" design system.
   Public Sans (USWDS) + IBM Plex Mono, night-indigo civic palette with a signal-mint "live" accent,
   schedule-view meeting lists with date tiles. Self-hosted fonts (OFL, licences in /assets/fonts/). */
@font-face{font-family:"Public Sans";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/public-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/public-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:800;font-display:swap;src:url(fonts/public-sans-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}

:root{
  --night:#14104a;--night2:#1d1868;--indigo:#3a2fc4;--indigo-dk:#2a2196;--tint:#eeedff;--tint2:#f6f6ff;
  --mint:#3fe0a0;--mint-dk:#0f6b47;--mint-bg:#e3f8ee;
  --amber:#8a4f00;--amber-bg:#fdf1dc;--rose:#b0213a;--rose-bg:#fdecef;
  --ink:#12122b;--ink2:#4a4c63;--ink3:#6a6c82;--line:#e1e2ec;--bg:#f5f6fa;--surface:#fff;
  --sans:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:"Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --r:14px;--r-sm:8px;--sh:0 1px 2px rgba(20,16,74,.06),0 8px 24px rgba(20,16,74,.07);
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:72px
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--indigo);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--indigo-dk);text-decoration-thickness:2px}
h1,h2,h3{font-family:var(--sans);font-weight:800;letter-spacing:-.02em;line-height:1.12;color:var(--ink)}
h1{font-size:clamp(2rem,4.6vw,3rem);margin:0 0 var(--s3)}
h2{font-size:clamp(1.3rem,2.4vw,1.65rem);margin:var(--s7) 0 var(--s4)}
h3{font-size:1.1rem;margin:var(--s5) 0 var(--s2);letter-spacing:-.01em}
p{margin:0 0 var(--s4)}
code{font-family:var(--mono);font-size:.86em;background:var(--tint);color:var(--night);padding:2px 6px;border-radius:6px}
.shell{max-width:1200px;margin:0 auto;padding:0 var(--s5)}
.narrow{max-width:880px}
.block{padding-top:var(--s7);padding-bottom:var(--s7)}
.block>h2:first-child,.block-head h2{margin-top:0}
.small{font-size:.9rem;color:var(--ink2)}
.empty{background:var(--surface);border:1px dashed #c9cbe0;border-radius:var(--r);padding:var(--s5);color:var(--ink2)}
.skip{position:absolute;left:-999px;top:0}.skip:focus{left:12px;top:12px;background:#fff;color:var(--night);padding:10px 14px;z-index:20;border-radius:8px}
:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}
.hero :focus-visible,.statusbar :focus-visible,.sitefoot :focus-visible{outline-color:var(--mint)}

/* status bar (preview) */
.statusbar{background:var(--night);color:#d9d7ff;font-size:.86rem}
.statusbar-in{display:flex;align-items:center;gap:10px;min-height:38px;padding-top:6px;padding-bottom:6px;flex-wrap:wrap}
.statusbar a{color:#fff;font-weight:600}
.statusbar strong{color:#fff}
.sb-label{font:500 .72rem var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--mint);border:1px solid rgba(63,224,160,.5);padding:1px 8px;border-radius:999px}
.sb-text{flex:1 1 300px}
.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px rgba(63,224,160,.18);flex:none}

/* masthead */
.masthead{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.masthead-in{display:flex;align-items:center;justify-content:space-between;gap:var(--s3) var(--s5);min-height:72px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.mark{width:38px;height:38px;flex:none}.m-bg{fill:var(--night)}.m-bar{fill:#fff}.m-dot{fill:var(--mint)}
.wordmark{font:800 1.28rem/1 var(--sans);letter-spacing:-.025em}.wordmark b{color:var(--indigo);font-weight:800}
.mainnav{display:flex;align-items:center;flex-wrap:wrap;gap:4px}
.mainnav a{color:var(--ink2);text-decoration:none;font-weight:600;font-size:.95rem;padding:8px 14px;border-radius:999px}
.mainnav a:hover{background:var(--tint);color:var(--night)}
.mainnav .nav-j{background:var(--indigo);color:#fff;margin-left:6px}
.mainnav .nav-j:hover{background:var(--indigo-dk);color:#fff}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 20px;border-radius:10px;border:1.5px solid #c9cbe0;background:var(--surface);color:var(--night);font:600 1rem/1.2 var(--sans);text-decoration:none;cursor:pointer}
.btn:hover{border-color:var(--indigo);color:var(--indigo)}
.btn-main{background:var(--indigo);border-color:var(--indigo);color:#fff}
.btn-main:hover{background:var(--indigo-dk);border-color:var(--indigo-dk);color:#fff}
.btn-onDark{background:transparent;border-color:rgba(255,255,255,.35);color:#fff}
.btn-onDark:hover{background:rgba(255,255,255,.08);border-color:#fff;color:#fff}
.btn-ghost{background:transparent;border-color:transparent;text-decoration:underline}
.linkish{background:none;border:0;padding:0;font:inherit;color:var(--indigo);text-decoration:underline;cursor:pointer}
.danger{color:var(--rose)}
.btn.danger{border-color:var(--rose);color:var(--rose)}.btn.danger:hover{background:var(--rose-bg)}

/* hero */
.hero{background:var(--night);color:#e7e6ff;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:22px 22px;pointer-events:none}
.hero::after{content:"";position:absolute;right:-180px;top:-200px;width:620px;height:620px;border-radius:50%;background:radial-gradient(closest-side,rgba(58,47,196,.55),transparent);pointer-events:none}
.hero-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:var(--s7);align-items:start;padding-top:var(--s8);padding-bottom:calc(var(--s8) + 40px)}
.eyebrow{font:500 .76rem var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--indigo);margin:0 0 var(--s3)}
.eyebrow a{color:inherit}
.hero .eyebrow{color:var(--mint)}
.hero h1{color:#fff;font-size:clamp(2.4rem,5.6vw,4.1rem);letter-spacing:-.035em;line-height:1.02;margin-bottom:var(--s4)}
.lede{font-size:1.14rem;color:var(--ink2);max-width:62ch}
.hero .lede{color:#c9c7f2}
.bigsearch{margin:var(--s5) 0 var(--s4);max-width:640px}
.bigsearch label{display:block;font-weight:600;font-size:.92rem;color:#fff;margin-bottom:8px}
.bs-row{display:flex;gap:0;background:#fff;border-radius:12px;padding:5px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.bs-row input{flex:1 1 auto;border:0;font:16px var(--sans);padding:12px 14px;min-width:0;background:transparent;color:var(--ink)}
.bs-row input:focus{outline:none}
.bs-row:focus-within{box-shadow:0 0 0 3px var(--mint),0 10px 30px rgba(0,0,0,.25)}
.bs-row .btn{flex:none}
.cta{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 var(--s4)}
.hero .price-line{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#dedcff}
.hero .price-line a{color:#fff}
.hero .price-line .free{background:rgba(63,224,160,.16);color:var(--mint)}

/* next-up board */
.nextup{background:var(--surface);color:var(--ink);border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.35);padding:var(--s5);border-top:4px solid var(--mint)}
.nu-head{display:flex;align-items:center;gap:10px;font:500 .78rem var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink2);margin:0 0 var(--s3)}
.nu-head .live-dot{background:var(--mint-dk);box-shadow:0 0 0 4px var(--mint-bg)}
.nu-list{list-style:none;margin:0;padding:0}
.nu-list li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--s3);padding:12px 0;border-top:1px solid var(--line)}
.nu-time{font:500 .82rem/1.45 var(--mono);color:var(--indigo-dk)}
.nu-what a{display:block;font-weight:600;color:var(--ink);text-decoration:none;line-height:1.3;overflow-wrap:anywhere}
.nu-what a:hover{color:var(--indigo);text-decoration:underline}
.nu-county{display:block;font-size:.84rem;color:var(--ink3)}
.nu-empty{color:var(--ink2)}
.nu-foot{font-size:.8rem;color:var(--ink3);margin:var(--s3) 0 0}

/* steps */
.steps-band{position:relative;z-index:2;margin-top:-56px}
.steps{background:var(--surface);border-radius:18px;box-shadow:var(--sh);padding:var(--s5) var(--s6);display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--s3) var(--s6);border:1px solid var(--line)}
.steps-h{font-size:1.05rem;margin:0;align-self:center;letter-spacing:-.01em}
.steps-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5)}
.steps-list li{display:flex;gap:12px}
.steps-list p{margin:0;font-size:.93rem;color:var(--ink2)}
.st-n{font:500 .8rem var(--mono);color:var(--indigo);background:var(--tint);border-radius:8px;padding:3px 7px;height:fit-content}
.steps-note{grid-column:2;margin:0;font-size:.86rem;color:var(--ink3)}

/* section heads */
.block-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s4);flex-wrap:wrap}
.more-link{font-weight:600;text-decoration:none}
.more-link::after{content:" \2192"}
.band-soft{background:var(--tint2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-h{font-size:1.25rem;margin:var(--s6) 0 var(--s3)}
.split-main>.sec-h:first-child{margin-top:0}

/* schedule view */
.sched{display:flex;flex-direction:column;gap:var(--s4)}
.sday{display:grid;grid-template-columns:76px minmax(0,1fr);gap:var(--s4);align-items:start}
.dtile{margin:0;position:sticky;top:88px;background:var(--surface);border:1px solid var(--line);border-radius:12px;text-align:center;padding:8px 4px 10px;line-height:1.05;box-shadow:var(--sh)}
.dt-w,.dt-m{display:block;font:500 .7rem var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink3)}
.dt-w{color:var(--indigo)}
.dt-d{display:block;font:800 1.9rem/1.05 var(--sans);letter-spacing:-.03em;color:var(--ink);margin:2px 0}
.mlist,.hits,.links{list-style:none;padding:0;margin:0}
.sday .mlist{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.mrow{display:grid;grid-template-columns:92px minmax(0,1fr);gap:var(--s4);padding:14px 18px;border-top:1px solid var(--line)}
.mrow:first-child{border-top:0}
.mrow:hover{background:var(--tint2)}
.mtime{font:500 .86rem/1.5 var(--mono);color:var(--indigo-dk);padding-top:2px;white-space:nowrap}
.mbody{min-width:0}
.mtitle{display:block;font-weight:700;font-size:1.04rem;line-height:1.3;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
a.mtitle:hover{color:var(--indigo);text-decoration:underline}
.mwhen{display:block;font-size:.88rem;color:var(--ink2);margin-top:2px}
.mwhen.big{font-size:1.06rem;color:var(--ink2);margin:0}
.mmeta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:8px;font-size:.84rem}
.chip{display:inline-block;font:600 .74rem/1.2 var(--sans);padding:4px 9px;border-radius:999px;background:var(--tint);color:var(--night)}
.chip-wait{background:var(--amber-bg);color:var(--amber)}
.chip-none{background:#eef0f4;color:var(--ink2)}
.chip-min{background:var(--mint-bg);color:var(--mint-dk)}
.mnote{color:var(--ink2);overflow-wrap:anywhere;flex-basis:100%}
.mrow-cx .mtitle{text-decoration:line-through;text-decoration-color:var(--rose);text-decoration-thickness:2px}
.mrow-cx .mnote{color:var(--rose);font-style:normal;font-weight:600}

/* county cards */
.cgrid{list-style:none;padding:0;margin:0 0 var(--s4);display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--s3)}
.ccard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:var(--s4);display:flex;flex-direction:column;gap:6px;transition:border-color .15s,box-shadow .15s}
.ccard:hover{border-color:#b9b4f2;box-shadow:var(--sh)}
.cc-link{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:700;font-size:1rem}
.cc-link:hover .cc-name{color:var(--indigo);text-decoration:underline}
.st-tile{display:inline-grid;place-items:center;width:44px;height:44px;flex:none;border-radius:10px;background:var(--night);color:var(--mint);font:500 .9rem var(--mono);letter-spacing:.04em}
.st-xl{width:76px;height:76px;border-radius:18px;font-size:1.5rem}
.cc-n{font-size:.86rem;color:var(--ink2)}
.cc-tz{font:500 .74rem var(--mono);color:var(--ink3);overflow-wrap:anywhere}
.meter{display:block;height:6px;border-radius:99px;background:var(--tint);overflow:hidden}
.meter-f{display:block;height:100%;background:var(--indigo);border-radius:99px;width:0}
.w1{width:10%}.w2{width:20%}.w3{width:30%}.w4{width:40%}.w5{width:50%}.w6{width:60%}.w7{width:70%}.w8{width:80%}.w9{width:90%}.w10{width:100%}

/* plans */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:var(--s4);margin:var(--s4) 0}
.plan{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:var(--s5) var(--s5) var(--s4)}
.plan h3{margin:0 0 6px;font-size:1.3rem}
.plan-k{font:500 .72rem var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink3);margin:0 0 var(--s2)}
.plan-plus{border:2px solid var(--indigo);box-shadow:0 18px 40px rgba(58,47,196,.14);position:relative}
.plan-plus .plan-k{color:var(--indigo)}
.amount{font:800 2.6rem/1 var(--sans);letter-spacing:-.04em;margin:var(--s2) 0}
.amount span{font:400 1rem var(--sans);letter-spacing:0;color:var(--ink2)}
.alt{margin:0 0 var(--s3);color:var(--ink2)}
.ticklist{list-style:none;padding:0;margin:var(--s4) 0}
.ticklist li{position:relative;padding:6px 0 6px 30px;border-top:1px solid var(--line);font-size:.95rem}
.ticklist li::before{content:"";position:absolute;left:0;top:9px;width:18px;height:18px;border-radius:50%;background:var(--tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.3l2.6 2.5L13 6.4' fill='none' stroke='%233a2fc4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.free-box{background:var(--mint-bg);color:var(--mint-dk);border-radius:10px;padding:10px 14px;font-weight:600;font-size:.92rem;margin:0}
.free{background:var(--mint-bg);color:var(--mint-dk);padding:1px 8px;border-radius:999px;font-weight:600}
.price-line{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin:var(--s4) 0;font-size:.93rem}
.tag{font:500 .68rem var(--mono);text-transform:uppercase;letter-spacing:.12em;background:var(--night);color:var(--mint);padding:4px 8px;border-radius:6px}
.hero .tag{background:var(--mint);color:var(--night)}

/* page head + split */
.phead{background:var(--surface);border-bottom:1px solid var(--line);padding:var(--s7) 0 var(--s6)}
.phead .lede{margin-bottom:0}
.phead .note{max-width:760px;margin-top:var(--s4)}
.phead-county{display:flex;gap:var(--s5);align-items:center}
.credit{font-size:.9rem;color:var(--ink2);margin:0}
.split{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"main side";gap:var(--s6);padding-top:var(--s6);padding-bottom:var(--s7);align-items:start}
.split-main{grid-area:main;min-width:0}
.split-side{grid-area:side;display:flex;flex-direction:column;gap:var(--s4);position:sticky;top:92px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:var(--s4) var(--s5)}
.panel .price-line{border:0;padding:0;margin:0 0 var(--s3);background:none}
.panel-h{font:500 .74rem var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink3);margin:0 0 var(--s3)}
.doclinks li{padding:10px 0;border-top:1px solid var(--line)}
.doclinks li:first-child{border-top:0;padding-top:0}
.doclinks a{font-weight:600}
.doclinks .small{display:block}
.nolink{color:var(--ink2)}
.panel .credit{margin-top:var(--s3)}

/* agenda */
.agenda{list-style:none;padding:0;margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.agenda li{display:flex;gap:var(--s4);padding:14px 18px;border-top:1px solid var(--line);overflow-wrap:anywhere}
.agenda li:first-child{border-top:0}
.ano{flex:none;min-width:3.2em;height:fit-content;text-align:center;font:500 .78rem/1.4 var(--mono);color:var(--indigo-dk);background:var(--tint);border-radius:6px;padding:3px 6px}
.abody{min-width:0}
.atitle,.htitle{overflow-wrap:anywhere}
.ameta{display:block;font:500 .78rem/1.5 var(--mono);color:var(--ink3);margin-top:6px}
.more{display:block;margin-top:4px;font-size:.88rem}.more summary{cursor:pointer;color:var(--indigo);font-weight:600}

/* hits */
.hits{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:var(--s3) 0}
.hit{padding:14px 18px;border-top:1px solid var(--line);overflow-wrap:anywhere}
.hit:first-child{border-top:0}
.hit .mwhen{margin-top:6px}
.hit-new{background:linear-gradient(90deg,var(--mint-bg),var(--surface) 60%);box-shadow:inset 4px 0 0 var(--mint-dk)}
.lv{display:inline-block;font:500 .68rem var(--mono);text-transform:uppercase;letter-spacing:.1em;padding:2px 8px;border-radius:999px;vertical-align:2px}
.lv-new{background:var(--mint-dk);color:#fff}

/* forms */
label{display:block;font-size:.93rem;font-weight:600}
input,select,textarea{display:block;width:100%;font:16px var(--sans);padding:11px 13px;border:1.5px solid #c4c6da;border-radius:10px;background:#fff;color:var(--ink);min-width:0;margin-top:6px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--indigo);box-shadow:0 0 0 3px rgba(58,47,196,.25)}
textarea{line-height:1.5;resize:vertical}
.sform label{margin-bottom:0}
.row{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap;align-items:stretch}
.row input,.row select{width:auto;margin-top:0}
.row input{flex:1 1 220px}.row select{flex:0 1 240px}
.split-side .row input{flex:1 1 140px}
.sform,.searchpanel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:var(--s4) var(--s5);margin:0 0 var(--s4)}
fieldset{border:0;padding:0;margin:0 0 var(--s4);min-width:0}
legend{font-weight:700;margin:0 0 var(--s2);padding:0}
.ticks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:500;margin:0}
.ticks .check{border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;cursor:pointer}
.ticks .check:has(input:checked){border-color:var(--indigo);background:var(--tint)}
.check input{width:18px;height:18px;margin:3px 0 0;flex:none;accent-color:var(--indigo)}
.checkform{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:var(--s5);margin:var(--s3) 0}
.checkform textarea{margin-bottom:var(--s2)}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin:var(--s4) 0}
.inline{display:inline}
.linkbox{background:var(--night);color:#e7e6ff;border-radius:var(--r);padding:var(--s4) var(--s5);margin:var(--s4) 0}
.linkbox label{color:#fff}
.linkbox input{font-family:var(--mono);font-size:.85rem}
.linkbox .btn{background:var(--mint);border-color:var(--mint);color:var(--night)}
.note{padding:12px 16px;margin:var(--s3) 0;border-radius:12px;background:var(--tint);color:var(--night);border:1px solid #d6d3fb}
.note-err{background:var(--rose-bg);border-color:#f3c1ca;color:var(--rose)}
.note-main{background:var(--mint-bg);border-color:#bfe9d4;color:var(--mint-dk)}
.caution{color:var(--amber)}
.wrapcode{display:block;overflow-wrap:anywhere;margin-top:4px;padding:8px 10px}

/* prose + table */
.prose p,.prose li{max-width:72ch}
.prose ul{padding-left:1.2em}
.prose li{margin:6px 0}
.prose li::marker{color:var(--indigo)}
.sum{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);margin:var(--s4) 0;font-size:.92rem;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.sum th{font:500 .72rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink3);background:var(--tint2)}
.sum th,.sum td{padding:10px 14px;border-top:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.sum thead th{border-top:0}

/* footer */
.sitefoot{background:var(--night);color:#c9c7f2;margin-top:var(--s7);padding:var(--s7) 0 var(--s6)}
.sitefoot-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:var(--s4) var(--s7)}
.sf-name{font:800 1.3rem var(--sans);letter-spacing:-.02em;color:#fff;margin:0 0 6px}.sf-name b{color:var(--mint)}
.sf-tag{font-size:.92rem;margin:0}
.foot-links{margin:0;line-height:2.1;color:#a9a6e0}
.foot-links a{color:#fff;text-decoration:none;font-weight:600}
.foot-links a:hover{text-decoration:underline}
.fine{grid-column:1/-1;font-size:.84rem;color:#b3b0e6;max-width:100ch;border-top:1px solid rgba(255,255,255,.12);padding-top:var(--s4);margin:var(--s3) 0 0}
.powered{grid-column:1/-1;margin:0;font-weight:600;font-size:.88rem}
.powered a{color:var(--mint)}
.sitefoot a:focus-visible{outline-color:var(--mint)}

/* responsive */
@media (max-width:980px){
  .hero-in{grid-template-columns:1fr;gap:var(--s6);padding-top:var(--s7)}
  .steps{grid-template-columns:1fr;padding:var(--s5)}
  .steps-note{grid-column:1}
  .split{grid-template-columns:1fr;grid-template-areas:"side" "main";gap:var(--s5)}
  .split-side{position:static}
  .sitefoot-in{grid-template-columns:1fr}
}
@media (max-width:700px){
  .shell{padding-left:var(--s4);padding-right:var(--s4)}
  .masthead{position:static}
  .masthead-in{min-height:0;padding-top:12px;padding-bottom:10px}
  .mainnav{width:100%;gap:2px;flex-wrap:wrap}
  .mainnav a{padding:7px 8px;font-size:.86rem;white-space:nowrap}
  .mainnav a:first-child{margin-left:-8px}
  .mainnav .nav-j{margin-left:auto;padding:7px 12px}
  .hero h1{font-size:2.35rem}
  .hero-in{padding-bottom:calc(var(--s7) + 40px)}
  .bs-row{flex-direction:column;padding:6px;gap:6px}
  .bs-row .btn{width:100%}
  .steps-list{grid-template-columns:1fr;gap:var(--s3)}
  .sday{grid-template-columns:1fr;gap:var(--s2)}
  .dtile{position:static;display:flex;align-items:baseline;gap:8px;text-align:left;padding:6px 12px;width:fit-content;box-shadow:none}
  .dt-d{font-size:1.15rem;margin:0}
  .mrow{grid-template-columns:1fr;gap:2px;padding:12px 14px}
  .mtime{display:none}
  .ticks{grid-template-columns:1fr}
  .phead{padding:var(--s6) 0 var(--s5)}
  .phead-county{gap:var(--s4);align-items:flex-start}
  .st-xl{width:52px;height:52px;font-size:1.05rem;border-radius:12px}
  .row select,.row input,.row .btn{flex:1 1 100%}
  .agenda li{padding:12px 14px;gap:var(--s3)}
  .nu-list li{grid-template-columns:84px minmax(0,1fr)}
  .nu-time{font-size:.74rem}
  .nextup{padding:var(--s4)}
  .block{padding-top:var(--s6);padding-bottom:var(--s6)}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
@media print{.masthead,.sitefoot,.statusbar,.skip,.price-line,.actions,.sform,.split-side .panel:last-child{display:none!important}body{background:#fff}.hero{background:#fff;color:#000}}
.mtz{display:block;font:500 .68rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink3)}
.free,.chip,.tag{white-space:nowrap}
.nu-tz{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink3)}
@media (max-width:440px){.nav-long{display:none}}
.nu-cx{display:block;font-size:.8rem;font-weight:600;color:var(--rose);overflow-wrap:anywhere}
/* ---------- v1.2.0: AdEngine banner (adengine.us) ----------
   One labelled slot between the main content and the footer, on the public reading pages only (the controllers opt in),
   apart from the meetings and agenda items. The label and the reserved height are on the <ins>, so when tag.js (or
   ae-size.js) hides a slot it cannot fill, the label and the space go with it. 110px = 16px label + 4px gap + 90px banner;
   270px on phones (300x250). Pages end with 48px (32px on phones) of padding and the footer keeps its own 48px margin, so
   the slot adds no vertical margin of its own. The label uses the site's mono small-caps style. display stays in this file
   and is never !important: tag.js hides a slot with style.display='none'. */
.ae-slot{padding:0 var(--s5)}
.ae-slot:has(> ins.adengine[style*="none"]){display:none}
.ae-slot ins.adengine{display:block;max-width:728px;min-height:110px;margin:0 auto;text-align:center;text-decoration:none}
.ae-slot ins.adengine::before{content:"Advertisement";display:block;margin-bottom:4px;font:500 11px/16px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink2)}
.ae-slot ins.adengine a{display:inline-block;vertical-align:top}
@media (max-width:767px){.ae-slot{padding:0 var(--s4)}.ae-slot ins.adengine{max-width:300px;min-height:270px}}
@media print{.ae-slot{display:none}}
