
:root{color-scheme:light;--ink:#182430;--muted:#5b6b7a;--line:#dbe3ea;--bg:#f6f8fa;--card:#fff;
--c0:#e9eef3;--c1:#d6e4f1;--c2:#aecbe6;--c3:#7ea9d2;--c4:#4a7cb0;--c5:#1d4f7c;--accent:#12507e}
*{box-sizing:border-box}
body{margin:0;font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
color:var(--ink);background:var(--bg)}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
header.bar{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;align-items:center;justify-content:space-between;
padding:.8rem 1.25rem;background:#0f2c46;color:#fff}
header.bar a{color:#fff}
header.bar .brand{font-weight:700;letter-spacing:.04em}
header.bar .brand span{font-weight:400;opacity:.75;font-size:.85rem;margin-left:.5rem;letter-spacing:0}
header.bar nav{display:flex;gap:1.1rem;font-size:.92rem}
main{max-width:1180px;margin:0 auto;padding:1.5rem 1.25rem 3rem}
h1{font-size:1.6rem;line-height:1.2;margin:.2rem 0 .6rem}
h2{font-size:1.05rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:2rem 0 .6rem}
.lede{color:var(--muted);max-width:70ch;margin:0 0 1.2rem}
.crumbs{font-size:.85rem;color:var(--muted);margin-bottom:.4rem}
.note{background:#fff;border:1px solid var(--line);border-left:3px solid var(--c3);
padding:.7rem .9rem;border-radius:6px;color:var(--muted);max-width:80ch}
.map-wrap{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.6rem;
margin-bottom:.9rem}
svg{display:block;width:100%;height:auto}
.us-map{max-height:70vh}
.fl-map{max-height:none;max-width:820px;margin:0 auto}
.state,.county{stroke:#fff;stroke-width:.8;transition:fill .12s}
.county{cursor:pointer}
a:hover .state,a:hover .county{fill:var(--accent)}
.c0{fill:var(--c0)}.c1{fill:var(--c1)}.c2{fill:var(--c2)}.c3{fill:var(--c3)}.c4{fill:var(--c4)}.c5{fill:var(--c5)}
.county-label{font-size:11px;fill:#22303c;pointer-events:none}
.county-label.on-dark{fill:#fff}
.legend{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem 1rem;padding:0;margin:0 0 1rem;
font-size:.85rem;color:var(--muted)}
.legend .sw{display:inline-block;width:14px;height:14px;border-radius:3px;vertical-align:-2px;margin-right:.3rem;
background:var(--c0)}
.legend .sw.c1{background:var(--c1)}.legend .sw.c2{background:var(--c2)}.legend .sw.c3{background:var(--c3)}
.legend .sw.c4{background:var(--c4)}.legend .sw.c5{background:var(--c5)}
.table-wrap{overflow:auto;max-inline-size:100%;max-block-size:min(70vh,640px);background:var(--card);
border:1px solid var(--line);border-radius:10px;container-type:inline-size;overscroll-behavior:contain}
table.grid{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem}
table.grid th{text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;
color:var(--muted);padding:.6rem .8rem;background:#eef3f7;border-bottom:1px solid var(--line);
position:sticky;inset-block-start:0;z-index:1}
table.grid td{padding:.55rem .8rem;border-bottom:1px solid #eef1f4;vertical-align:top}
table.grid tr:last-child td{border-bottom:0}
table.grid tbody tr:hover{background:#f7fafc}
.num{text-align:right;font-variant-numeric:tabular-nums}
.badge{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;padding:.1rem .4rem;
border-radius:4px;background:#e4edf5;color:#1b4a72}
.dept{font-weight:600}
.muted{color:var(--muted)}
.county-chips{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
gap:.4rem;padding:0;margin:0}
.county-chip{display:flex;align-items:center;gap:.55rem;background:var(--card);border:1px solid var(--line);
border-radius:8px;padding:.4rem .6rem;color:var(--ink)}
.county-chip:hover{border-color:var(--c3);text-decoration:none}
.chip-count{display:inline-flex;min-width:2rem;justify-content:center;font-weight:700;font-size:.82rem;
color:#123;background:var(--c1);border-radius:5px;padding:.1rem .35rem}
.chip-count.c0{background:var(--c0)}.chip-count.c3{background:var(--c3);color:#fff}
.chip-count.c4{background:var(--c4);color:#fff}.chip-count.c5{background:var(--c5);color:#fff}
.chip-name{font-size:.9rem}
.button{display:inline-block;background:var(--accent);color:#fff;padding:.45rem .9rem;border-radius:7px;
font-size:.9rem}
.button:hover{background:#0b3d62;text-decoration:none;color:#fff}
footer{max-width:1180px;margin:0 auto;padding:1.2rem 1.25rem 2.5rem;color:var(--muted);font-size:.82rem;
border-top:1px solid var(--line)}
footer p{margin:.2rem 0}
@media (max-width:640px){h1{font-size:1.3rem}table.grid{font-size:.85rem}}
