
:root{--paper:#f6efe0;--panel:#fffaf0;--ink:#29241c;--muted:#6b6151;--red:#9c2b1b;
--red-d:#7c2114;--brass:#8a6d2f;--rule:#d8cbae;--water:#4a5a63}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);
font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
font-size:17px;line-height:1.45}
.wrap{max-width:1060px;margin:0 auto;padding:0 14px}
a{color:var(--red-d);text-decoration-color:#c9a227;text-underline-offset:2px}
a:hover{color:var(--red)}
header.site{border-bottom:3px double var(--ink);padding:10px 0 8px;margin-bottom:0}
.brand{display:flex;align-items:center;gap:12px;padding:0 0 2px}
.brand a.badge-home{flex:0 0 auto;line-height:0}
.brand img.badge-img{width:92px;height:92px;display:block}
.tagline{font-style:italic;color:var(--muted);margin:2px 0 0;font-size:clamp(13px,2.6vw,16px)}
nav.top{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
margin-top:8px;padding:5px 0;display:flex;gap:18px;flex-wrap:wrap;
font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
nav.top a{color:var(--ink);text-decoration:none}
nav.top a:hover{color:var(--red)}
h1{font-size:clamp(24px,5vw,36px);line-height:1.12;margin:10px 0 4px}
h2{font-size:21px;margin:16px 0 5px;border-bottom:1px solid var(--rule);padding-bottom:3px}
h3{font-size:17px;margin:12px 0 4px}
p{margin:7px 0}
.sub{color:var(--muted);margin:0 0 10px}
.countbox{background:var(--panel);border:1px solid var(--rule);border-left:5px solid var(--red);
padding:10px 14px;margin:10px 0}
.countbox .n{font-size:30px;font-weight:700}
.definition{font-size:15.5px}
table.reg{width:100%;border-collapse:collapse;margin:8px 0 14px;font-size:15px}
table.reg th{font-family:ui-sans-serif,system-ui,sans-serif;font-size:11.5px;letter-spacing:.07em;
text-transform:uppercase;color:var(--muted);text-align:left;border-bottom:2px solid var(--ink);padding:4px 8px 4px 0}
table.reg td{border-bottom:1px solid var(--rule);padding:5px 8px 5px 0;vertical-align:top}
table.reg td.src{font-size:12.5px;color:var(--muted);font-style:italic}
table.facts td.k{font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;letter-spacing:.06em;
text-transform:uppercase;color:var(--muted);width:34%;padding-top:7px}
table.facts td.v{font-size:16px}
ul.reg{list-style:none;margin:6px 0;padding:0}
ul.reg li{border-bottom:1px solid var(--rule);padding:5px 0}
.cols{columns:2;column-gap:28px}
@media(min-width:760px){.cols{columns:3}}
.statepick{break-inside:avoid;display:flex;justify-content:space-between;border-bottom:1px solid var(--rule);padding:4px 0}
.statepick .c{color:var(--muted);font-variant-numeric:tabular-nums}
.access{background:var(--panel);border:1px solid var(--rule);padding:10px 14px;margin:10px 0}
.access .st{font-size:19px;font-weight:700}
.access .src,.fineprint{font-size:12.5px;color:var(--muted);font-style:italic}
.warn{border-left:5px solid var(--brass)}
.crumbs{font-family:ui-sans-serif,system-ui,sans-serif;font-size:12.5px;letter-spacing:.05em;
text-transform:uppercase;color:var(--muted);margin:9px 0 0}
.crumbs a{color:var(--muted)}
.truss{width:100%;height:26px;display:block;margin:6px 0}
footer.site{border-top:3px double var(--ink);margin-top:20px;padding:10px 0 22px;font-size:14px}
footer.site .disc{font-size:13px;color:var(--muted);border:1px solid var(--rule);background:var(--panel);padding:8px 12px}
footer.site nav{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;
font-family:ui-sans-serif,system-ui,sans-serif;font-size:12.5px;letter-spacing:.07em;text-transform:uppercase}
footer.site nav a{color:var(--ink);text-decoration:none}
.big404{font-size:64px;margin:10px 0 0;color:var(--red)}
.note{font-size:14.5px;color:var(--ink);background:#fbf6e7;border:1px dashed var(--brass);padding:8px 12px;margin:10px 0}
@media(max-width:640px){
.brand img.badge-img{width:74px;height:74px}
table.list th:nth-child(3),table.list td:nth-child(3),
table.list th:nth-child(6),table.list td:nth-child(6){display:none}
table.facts tr{display:block;border-bottom:1px solid var(--rule);padding:4px 0}
table.facts th{display:none}
table.facts td{display:block;border-bottom:0;padding:1px 0;width:auto}
table.facts td.k{padding-top:4px}
}
@media print{nav.top,footer.site nav{display:none}}
/* ===== Homepage redesign (approved mockup Nov 12, 2026) ===== */
/* Lead panel: count as hero figure, definition as tight supporting block */
.lead{background:var(--panel);border:1px solid var(--rule);border-top:4px solid var(--red);
padding:10px 16px 10px;margin:8px 0 0;display:flex;gap:20px}
.lead .hero{flex:0 0 50%;border-right:1px solid var(--rule);padding-right:18px}
.lead .num{font-size:66px;line-height:.92;font-weight:700;letter-spacing:-.01em}
.lead .hero h1{margin:0}/* the hero figure is the homepage h1 (Nov 14, 2026) — kill the global h1 margin so the rendering is unchanged */
.lead .cap{font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;font-weight:700;
letter-spacing:.11em;text-transform:uppercase;color:var(--red-d);margin-top:5px}
.lead .ver{font-size:14.5px;line-height:1.42;margin:8px 0 0;border-top:1px solid var(--rule);padding-top:7px}
.lead .def{flex:1;min-width:0}
.lead .def .dh{font-family:ui-sans-serif,system-ui,sans-serif;font-size:11.5px;font-weight:700;
letter-spacing:.11em;text-transform:uppercase;color:var(--brass);margin:0 0 4px}
.lead .def p{font-size:15.5px;line-height:1.48;margin:0}
@media(max-width:700px){
.lead{flex-direction:column;gap:0;padding:10px 14px 9px}
.lead .hero{flex:none;border-right:0;padding-right:0;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.lead .num{font-size:54px}
.lead .cap{margin-top:0}
.lead .ver{margin-top:7px}
.lead .def{border-top:1px solid var(--rule);margin-top:9px;padding-top:7px}}
/* Section heads: double rule (echoes header/footer) + red small-caps meta */
h2.sec{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
font-size:22px;line-height:1.15;margin:16px 0 0;border-bottom:3px double var(--ink);padding-bottom:3px}
h2.sec .m{font-family:ui-sans-serif,system-ui,sans-serif;font-size:11.5px;font-weight:700;
letter-spacing:.1em;text-transform:uppercase;color:var(--red);white-space:nowrap}
.sec-cap{font-size:12.5px;color:var(--muted);font-style:italic;margin:4px 0 0}
/* State directory: one ledger table in three column groups; dotted leaders, tabular counts */
table.dir{width:100%;border-collapse:collapse;font-size:16.5px;margin-top:2px}
table.dir th{font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:700;
letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:left;
border-bottom:2px solid var(--ink);padding:5px 0 3px}
table.dir th.r{text-align:right}
table.dir th.gpad,table.dir td.gpad{padding-left:28px}
table.dir td{border-bottom:1px solid var(--rule);padding:4.5px 0;vertical-align:top}
table.dir td.nm{white-space:nowrap}
table.dir td.ld{width:15%}
table.dir td.ct{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;padding-left:7px}
.dots{border-bottom:2px dotted #b3a37f;height:.8em;margin:0 3px}
.dir-phone{display:none}
@media(max-width:700px){.dir-desktop{display:none}.dir-phone{display:table}table.dir td.ld{width:100%}}
/* Ranked ledgers: longest / oldest of record */
table.ledger{width:100%;border-collapse:collapse;font-size:15.5px;margin:4px 0 2px}
table.ledger th{font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:700;
letter-spacing:.09em;text-transform:uppercase;color:var(--muted);text-align:left;
border-bottom:2px solid var(--ink);padding:3px 10px 3px 0}
table.ledger th.meas,table.ledger td.meas{text-align:right;padding-right:0}
table.ledger td{border-bottom:1px solid var(--rule);padding:5px 10px 5px 0;vertical-align:baseline}
table.ledger td.rk{width:28px;color:var(--red);font-weight:700;font-variant-numeric:tabular-nums}
table.ledger td.meas{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
table.ledger .cty-in{display:none}
@media(max-width:640px){
table.ledger td.cty,table.ledger th.cty{display:none}
table.ledger .cty-in{display:block;font-size:13px;color:var(--muted)}
table.ledger{font-size:15px}}
/* How this register is kept: closing panel */
.kept{background:var(--panel);border:1px solid var(--rule);padding:9px 14px 9px;margin-top:6px}
.kept p{margin:0;font-size:16px;line-height:1.5}
/* ===== Map (/map/ page + homepage band) ===== */
.mapwrap{position:relative;margin:6px 0 2px}
#map{height:min(68vh,560px);min-height:340px;width:100%;border:1px solid var(--ink);
background:#ece3cb;z-index:0}
.panbtn{position:absolute;top:10px;right:10px;z-index:600;font-family:ui-sans-serif,system-ui,sans-serif;
font-size:13px;font-weight:600;padding:6px 12px;border:1px solid var(--ink);
background:var(--panel);color:var(--ink);cursor:pointer}
.panbtn[aria-pressed="true"]{background:var(--red);color:var(--paper);border-color:var(--red-d)}
.maphint{position:absolute;left:50%;top:12px;transform:translateX(-50%);z-index:650;pointer-events:none;
background:rgba(41,36,28,.93);color:var(--paper);padding:6px 14px;font-size:13.5px;
font-weight:600;white-space:nowrap;opacity:0;transition:opacity .35s}
.maphint.show{opacity:1}
.nearbtn{font-family:ui-sans-serif,system-ui,sans-serif;font-size:14.5px;font-weight:600;
padding:8px 16px;border:1px solid var(--red-d);background:var(--red);color:var(--paper);
cursor:pointer;margin-top:8px}
.nearbtn:hover{background:var(--red-d)}
/* Homepage map band: same component, shorter than the full /map/ page */
.mapband{margin:0}
.mapband #map{height:min(52vh,440px)}
@media(max-width:700px){.mapband #map{height:46vh;min-height:280px}}
.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:rgba(156,43,27,.18)}
.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{
background:rgba(156,43,27,.87);color:var(--paper);font-weight:700}
.leaflet-popup-content{font-size:14px;line-height:1.35}
.leaflet-popup-content a{font-weight:700}
ul.rows{list-style:none;margin:6px 0;padding:0}
ul.rows li{border-bottom:1px solid var(--rule);padding:5px 0}
ul.rows .m{color:var(--muted);font-size:14px}
