/* Cost by Town — site tokens and site-only components (structure lives in base.css). Plum and slate, own palette. */
:root{
  --bg:#F6F4F2; --surface:#FFFFFF; --ink:#211A1E; --muted:#62575D; --line:#E2DCD8; --line-strong:#BDB2B0;
  --accent:#7B2D57; --accent-ink:#FFFFFF; --accent-soft:#F1E3EA;
  --cool:#2F6B73; --cool-soft:#DCEDEE; --ok:#2F6B4A; --ok-soft:#DDEFE3; --warm:#A0621A; --warm-soft:#F8EBD8; --bad:#A8342C; --bad-soft:#F8E2DF;
  --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:#D9E6EC; --hero-art-bg:#EFE6E3;
  --clapboard:#E9E2D6; --roof:#4A4247; --brick:#8C4B3A; --wood:#B98A57; --wood-dark:#8D6239; --asphalt:#5B5658; --concrete:#C9C4BE; --gravel:#B5AA98; --grass:#7E9A63; --ground:#D8D2C2; --tree:#6E8B58;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#17131A; --surface:#211B24; --ink:#EEE7EC; --muted:#AA9DA6; --line:#382E3B; --line-strong:#56485A;
  --accent:#E39BC0; --accent-ink:#2A0B1B; --accent-soft:#3A1F2E;
  --cool:#7CC4CC; --cool-soft:#173538; --ok:#7CCB9C; --ok-soft:#173826; --warm:#F0B866; --warm-soft:#3A2B14; --bad:#F09088; --bad-soft:#3E1F1C;
  --glass:#3D5560; --hero-art-bg:#2A2129;
  --clapboard:#5E5550; --roof:#2C262A; --brick:#7A4234; --wood:#8E6A45; --wood-dark:#6E4F30; --asphalt:#3A3537; --concrete:#7D7873; --gravel:#7A705F; --grass:#4F6640; --ground:#3D372E; --tree:#4E6640;
  color-scheme:dark;
}}
.brand-mark{width:16px;height:16px;border-radius:4px 4px 2px 2px;background:var(--accent);clip-path:polygon(50% 0,100% 45%,100% 100%,0 100%,0 45%)}

/* house drawing (src/js/art.js) */
.art .art-ground{fill:var(--ground)}.art .art-grass{fill:var(--grass)}
.art .art-tree{fill:var(--tree)}.art .art-tree-trunk{stroke:var(--wood-dark);stroke-width:8}
.art .art-wall{fill:var(--clapboard);stroke:var(--ink);stroke-width:3}
.art .art-course{stroke:var(--ink);stroke-width:1;opacity:.28}
.art .art-roof{fill:var(--roof);stroke:var(--ink);stroke-width:3;stroke-linejoin:round}
.art .art-shingle{stroke:var(--surface);stroke-width:1.5;opacity:.35}.art .art-seam{stroke:var(--surface);stroke-width:1.5;opacity:.35}
.art .art-chimney{fill:var(--brick);stroke:var(--ink);stroke-width:2.5}.art .art-chimney-cap{fill:var(--ink)}
.art .art-mullion{stroke:var(--ink);stroke-width:1.5;opacity:.6}
.art .art-door{fill:var(--accent-soft);stroke:var(--ink);stroke-width:2.5}.art .art-step{stroke:var(--ink);stroke-width:5}
.art .art-drive{fill:var(--asphalt)}.art .art-drive-concrete{fill:var(--concrete)}.art .art-drive-gravel{fill:var(--gravel)}
.art .art-drive-edge{stroke:var(--surface);stroke-width:3;stroke-dasharray:10 10;opacity:.6}
.art .art-fence-board{fill:var(--surface);stroke:var(--ink);stroke-width:1.5}.art .art-fence-rail{fill:var(--line-strong)}
.art .art-fence-post{fill:var(--line-strong);stroke:var(--ink);stroke-width:1.5}.art .art-fence-mesh{fill:none;stroke:var(--ink);stroke-width:1;opacity:.5;stroke-dasharray:3 3}
.art .art-hp{fill:var(--surface);stroke:var(--ink);stroke-width:2.5}.art .art-fan{fill:none;stroke:var(--ink);stroke-width:2}.art .art-fan-blade{stroke:var(--ink);stroke-width:1.5;opacity:.6}
.art .art-pad{fill:var(--concrete)}.art .art-lineset{fill:none;stroke:var(--ink);stroke-width:2.5}
.art .art-deck-board,.art .art-deck-rail{fill:var(--wood);stroke:var(--ink);stroke-width:2}.art .art-deck-post{fill:var(--wood-dark);stroke:var(--ink);stroke-width:1.5}
.art .art-baluster,.art .art-deck-stair{stroke:var(--wood-dark);stroke-width:3}
/* the project the page is about */
.art .art-hi .art-roof,.art .art-hi .art-wall,.art .art-hi .art-drive,.art .art-hi .art-hp,.art .art-hi .art-deck-board,.art .art-hi .art-deck-rail,.art .art-hi .art-fence-board,.art .art-hi .art-fence-rail,.art .art-hi .art-fence-post{fill:var(--accent)}
.art .art-hi .art-baluster,.art .art-hi .art-deck-stair,.art .art-hi .art-fence-mesh{stroke:var(--accent);opacity:1}
.art .art-hi .art-course{stroke:var(--accent-ink);opacity:.45}

/* site components */
.range-big{font:700 clamp(1.7rem,5vw,2.4rem)/1.05 var(--display);letter-spacing:.01em}
.src{font-size:.85rem;color:var(--muted)}
.quote{border-left:3px solid var(--accent);padding:.2em .9em;margin:.6em 0;color:var(--ink);background:var(--surface);border-radius:0 8px 8px 0;font-size:.95rem}
.status{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.status-listed{background:var(--ok-soft);color:var(--ok)}.status-general{background:var(--warm-soft);color:var(--warm)}
.checked{font-size:.85rem;color:var(--muted)}
.check{display:flex;align-items:center;gap:10px;min-height:44px;font-size:.95rem;color:var(--ink)}
.check input{width:22px;height:22px;accent-color:var(--accent)}
.hero-home .tool{margin:0}
.hero-home h1{font-size:clamp(1.9rem,4.6vw,2.8rem)}
