/* WildCaliche county pages — brand tokens from the landing page (trimmed) */
:root { --bg:#F6F1E7; --surface:#FFFFFF; --surface-2:#EFE9DC; --ink:#20301F; --muted:#5F6B58;
        --faint:#8A927F; --accent:#4C7A3D; --accent-deep:#3E6331; --accent-ink:#F6F1E7; --gold:#C2974A;
        --serif:'Fraunces',Georgia,serif; --sans:'Public Sans',system-ui,sans-serif; }
* { box-sizing:border-box; margin:0; padding:0; }
body { background:var(--bg); color:var(--ink); font-family:var(--sans); line-height:1.6; }
.wrap { max-width:880px; margin:0 auto; padding:0 clamp(18px,4vw,32px); }
a { color:var(--accent); }
.topbar { background:var(--ink); color:var(--bg); }
.topbar .wrap { display:flex; align-items:center; justify-content:space-between; padding-top:16px; padding-bottom:16px; }
.brand { font-family:var(--serif); font-size:22px; font-weight:600; color:var(--bg); text-decoration:none; }
.brand .mark { color:var(--gold); }
.topbar .back { color:rgba(246,241,231,.85); text-decoration:none; font-size:14px; }
.topbar .back:hover { color:#fff; }
.crumbs { font-size:13.5px; color:var(--muted); margin:26px 0 6px; }
.crumbs a { color:var(--muted); }
h1 { font-family:var(--serif); font-weight:600; font-size:clamp(30px,5vw,42px); line-height:1.12; margin:8px 0 12px; letter-spacing:-.01em; }
.lede { color:var(--muted); font-size:16.5px; max-width:680px; margin-bottom:30px; }
.lede strong { color:var(--ink); }
.card { background:var(--surface); border:1px solid var(--surface-2); border-radius:14px; padding:clamp(20px,3.5vw,30px); margin-bottom:22px; box-shadow:0 1px 2px rgba(32,48,31,.05); }
.card h2 { font-family:var(--serif); font-weight:600; font-size:22px; margin-bottom:14px; }
.facts dl { display:grid; grid-template-columns:230px 1fr; gap:9px 18px; font-size:15.5px; }
.facts dt { color:var(--muted); font-weight:500; }
.facts dd { color:var(--ink); overflow-wrap:anywhere; }
.facts dd .none { color:var(--faint); font-style:italic; }
.honest { margin-top:16px; padding:12px 14px; background:var(--surface-2); border-radius:9px; font-size:14px; color:var(--muted); }
.blurb { font-size:16px; color:#3a4636; }
.tag { display:inline-block; background:var(--surface-2); color:var(--ink); border-radius:999px; padding:2px 12px; font-size:13px; font-weight:600; margin-left:8px; vertical-align:middle; }
.form-row { margin-bottom:14px; }
.form-row label { display:block; font-size:12.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:6px; }
.form-row input, .form-row select { width:100%; padding:12px 14px; border:1px solid #d8d2c2; border-radius:9px; font-size:15.5px; font-family:var(--sans); background:#fff; color:var(--ink); }
.form-row input:focus, .form-row select:focus { outline:2px solid var(--accent); border-color:var(--accent); }
.btn { display:inline-block; border:1px solid transparent; border-radius:10px; padding:13px 22px; font-size:15.5px; font-weight:600; text-decoration:none; cursor:pointer; font-family:var(--sans); }
.btn-primary { background:var(--accent); color:var(--accent-ink); }
.btn-primary:hover { background:var(--accent-deep); }
.btn:disabled { opacity:.6; cursor:default; }
.form-status { min-height:22px; font-size:14.5px; margin-top:10px; }
.form-status.ok { color:var(--accent-deep); font-weight:500; }
.form-status.err { color:#9c3d22; font-weight:500; }
.fine { font-size:13px; color:var(--faint); }
.nearby { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.nearby a { background:var(--surface); border:1px solid var(--surface-2); border-radius:999px; padding:7px 16px; text-decoration:none; font-size:14.5px; }
.nearby a:hover { border-color:var(--accent); }
.eco-bar { display:flex; height:38px; border-radius:9px; overflow:hidden; border:1px solid var(--surface-2); }
.eco-seg { display:flex; align-items:center; justify-content:center; min-width:0; }
.eco-seg .eco-pct { color:#F6F1E7; font-size:12.5px; font-weight:600; text-shadow:0 1px 2px rgba(32,48,31,.55); white-space:nowrap; }
.eco-legend-block { margin-top:10px; font-size:14px; color:var(--muted); line-height:1.8; }
.eco-legend .eco-dot { display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:7px; vertical-align:baseline; }
.eco-prov { margin-top:10px; }
.eco-minimap .mini-map { width:100%; height:auto; display:block; border-radius:9px; border:1px solid var(--surface-2); background:var(--surface-2); cursor:crosshair; }
.eco-minimap .mini-seg:hover { opacity:.82; }
.eco-minimap .mini-places circle { fill:#20301F; stroke:#F6F1E7; stroke-width:.7; }
.eco-minimap .mini-places text { font-family:var(--sans); font-size:5.2px; font-weight:600; fill:#20301F; paint-order:stroke; stroke:#F6F1E7; stroke-width:1.6; stroke-linejoin:round; pointer-events:none; }
.eco-minimap .mini-places { pointer-events:none; }
.eco-minimap .mini-highways { pointer-events:none; }
.eco-minimap .mini-hw { fill:none; stroke:#20301F; stroke-width:.45; stroke-linecap:round; opacity:.75; }
.eco-minimap .mini-hw.major { stroke-width:.85; opacity:.9; }
.eco-minimap .hw-shield { font-family:var(--sans); font-size:4.4px; font-weight:700; fill:#20301F; paint-order:stroke; stroke:#F6F1E7; stroke-width:1.4; stroke-linejoin:round; pointer-events:none; }
.eco-minimap .mini-pin circle { fill:#C2974A; stroke:#F6F1E7; stroke-width:.9; filter:drop-shadow(0 0 .8px rgba(32,48,31,.6)); }
.eco-minimap .mini-legend { margin-top:10px; font-size:13.5px; color:var(--muted); line-height:1.9; }
.eco-minimap .mini-legend-item .eco-dot { display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:6px; vertical-align:baseline; }
.eco-minimap .mini-result { min-height:24px; margin-top:10px; font-size:15.5px; color:var(--ink); font-weight:500; }
.eco-minimap .mini-result strong { color:var(--accent-deep); }
.eco-group { margin-bottom:26px; }
.eco-group h2 { font-family:var(--serif); font-weight:600; font-size:21px; margin-bottom:10px; }
.eco-group h2 .count { color:var(--faint); font-family:var(--sans); font-weight:400; font-size:15px; }
.eco-group p { color:var(--muted); font-size:14.5px; margin-bottom:12px; max-width:720px; }
.county-links { columns:2; column-gap:34px; }
@media (max-width:640px) { .county-links { columns:1; } .facts dl { grid-template-columns:1fr; gap:2px; } .facts dt { margin-top:9px; } }
.county-links a { display:block; text-decoration:none; font-size:15px; padding:3.5px 0; color:var(--ink); }
.county-links a:hover { color:var(--accent); text-decoration:underline; }
footer { background:var(--ink); color:rgba(246,241,231,.75); margin-top:40px; padding:34px 0; font-size:14px; }
footer a { color:rgba(246,241,231,.85); }
.credit { margin-top:18px; font-size:12.5px; color:rgba(246,241,231,.45); }
