/* Tax by Town — site tokens and site-specific pieces (structure lives in base.css). Ledger green on paper. */
:root{
  --bg:#F5F3EC; --surface:#FFFFFF; --ink:#1E2A22; --muted:#5B655E; --line:#DDD8C8; --line-strong:#B5AE98;
  --accent:#2F6B3F; --accent-ink:#FFFFFF; --accent-soft:#E2EBDF;
  --cool:#3E5C76; --cool-soft:#E1E8EF; --ok:#2F6B3F; --ok-soft:#E2EBDF; --warm:#B07A1E; --warm-soft:#F5E8CC; --bad:#A8342C; --bad-soft:#F8E2DF;
  --p-municipal:#2F6B3F; --p-county:#3E5C76; --p-localEd:#B07A1E; --p-stateEd:#8C5A7A;
  --r:10px; --max:1060px;
  --sans:Inter,"Avenir Next","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
  --mono:ui-monospace,Menlo,Consolas,monospace;
  --display:"Barlow Condensed","Avenir Next Condensed","Arial Narrow",var(--sans); --glass:#D9E4EA; --hero-art-bg:#E7EBDD;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#121712; --surface:#1A211B; --ink:#E7ECE4; --muted:#A3ADA2; --line:#2A342B; --line-strong:#435043;
  --accent:#7FC08F; --accent-ink:#0E1A11; --accent-soft:#1D2E21;
  --cool:#8FB2D0; --cool-soft:#1C2833; --ok:#7FC08F; --ok-soft:#1D2E21; --warm:#E3B45C; --warm-soft:#3A2E14; --bad:#F09088; --bad-soft:#3E1F1C;
  --p-municipal:#5FA872; --p-county:#7898B6; --p-localEd:#D2A04A; --p-stateEd:#B98AA8;
  --glass:#2C3A44; --hero-art-bg:#1E281F; color-scheme:dark;
}}
.brand-mark{width:16px;height:16px;border-radius:3px;background:linear-gradient(180deg,var(--p-municipal) 0 25%,var(--p-county) 25% 40%,var(--p-stateEd) 40% 52%,var(--p-localEd) 52%)}
/* rate parts */
.viz-p-municipal,.art .art-p-municipal{fill:var(--p-municipal)}.viz-p-county,.art .art-p-county{fill:var(--p-county)}
.viz-p-localEd,.art .art-p-localEd{fill:var(--p-localEd)}.viz-p-stateEd,.art .art-p-stateEd{fill:var(--p-stateEd)}
.art .art-p-dim{fill:var(--line-strong)}
.viz-strip{fill:var(--line-strong)}.viz-strip-hi{fill:var(--accent)}.viz-med{stroke:var(--warm);stroke-width:1.5;stroke-dasharray:5 4}
.viz-num{fill:var(--accent-ink);font:700 11px var(--sans)}
/* artwork */
.art .art-ground{fill:var(--line);opacity:.7}
.art .art-house{fill:var(--surface);stroke:var(--ink);stroke-width:3}
.art .art-roof{fill:var(--ink);opacity:.85}
.art .art-chimney{fill:var(--bad);stroke:var(--ink);stroke-width:2;opacity:.8}
.art .art-door{fill:var(--accent);stroke:var(--ink);stroke-width:2}
.art .art-knob{fill:var(--surface)}
.art .art-clap{stroke:var(--line-strong);stroke-width:1.5}
.art .art-shadow-rect{fill:var(--ink);opacity:.12}
.art .art-tick{stroke:var(--line-strong);stroke-width:1;stroke-dasharray:3 4}
.art .art-col-edge{fill:none;stroke:var(--ink);stroke-width:2.5}
.art .art-paper{fill:var(--surface);stroke:var(--ink);stroke-width:2.5}
.art .art-rule{stroke:var(--line-strong);stroke-width:4;stroke-linecap:round}
.art .art-rule-strong{stroke:var(--ink);stroke-width:3}
.art .art-easel{stroke:var(--ink);stroke-width:5;stroke-linecap:round;opacity:.7}
.art .art-post,.art .art-beam{stroke:var(--ink);stroke-width:7;stroke-linecap:round}
.art .art-base{fill:var(--ink)}.art .art-pivot{fill:var(--warm);stroke:var(--ink);stroke-width:2}
.art .art-chain{stroke:var(--ink);stroke-width:1.5;fill:none}
.art .art-pan{fill:var(--warm);stroke:var(--ink);stroke-width:2.5}
/* home tool in the hero */
.tool-hero{margin:8px 0 0;padding:14px}
.row-2{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.hero-home h1{font-size:clamp(1.9rem,4.6vw,3rem)}
@media (max-width:760px){.hero-home .answers{grid-template-columns:1fr 1fr;gap:8px}.hero-home .answer{padding:8px 10px}.hero-home .answer .value{font-size:1.25rem}}
