/* ==========================================================================
   PALETTES — every color on the site lives in these variables.
   Switch palette: set "palette" in src/data/site.json to "A", "B" or "C".
   (It becomes <html data-palette="…">.) To tweak a palette, edit only its block.
   ========================================================================== */
:root,[data-palette="A"]{ /* A · Fresh Sprout (default) */
  --ink:#0f2417;--slate:#1f3b2a;--muted:#4b5f52;--bg:#f0fdf4;--card:#ffffff;--line:#dcfce7;
  --primary:#166534;--primary-ink:#14532d;--accent:#22c55e;
  --cta:#facc15;--cta-ink:#0f2417;--cta-h:#fde047;--cta-shadow:rgba(250,204,21,.35);
  --hero-1:#0f2417;--hero-2:#14532d;--hero-3:#166534;--hero-text:#ffffff;--hero-sub:#dcfce7;
  --hover-border:#86efac;--tag-bg:#dcfce7;--tag-ink:#14532d;
  --note-bg:#fefce8;--note-border:#fde047;--note-accent:#eab308;--note-ink:#713f12;
  --unv-bg:#fffbeb;--nav-bg:#ffffff;--footer-bg:#ffffff;--bar-bg:rgba(255,255,255,.95);--focus:#22c55e;--crumb-sep:#86a893;
  --shadow-rgb:15,36,23;
}
[data-palette="B"]{ /* B · Hydro Mulch */
  --ink:#1a2e05;--slate:#2b3d14;--muted:#52603f;--bg:#f7fee7;--card:#ffffff;--line:#ecfccb;
  --primary:#4d7c0f;--primary-ink:#3f6212;--accent:#84cc16;
  --cta:#ea580c;--cta-ink:#ffffff;--cta-h:#c2410c;--cta-shadow:rgba(234,88,12,.35);
  --hero-1:#1a2e05;--hero-2:#3f6212;--hero-3:#0369a1;--hero-text:#ffffff;--hero-sub:#ecfccb;
  --hover-border:#bef264;--tag-bg:#e0f2fe;--tag-ink:#0369a1;
  --note-bg:#f0f9ff;--note-border:#7dd3fc;--note-accent:#0369a1;--note-ink:#0c4a6e;
  --unv-bg:#fff7ed;--nav-bg:#ffffff;--footer-bg:#ffffff;--bar-bg:rgba(255,255,255,.95);--focus:#0369a1;--crumb-sep:#a3b18a;
  --shadow-rgb:26,46,5;
}
[data-palette="C"]{ /* C · Boise Foothills */
  --ink:#1f3b2d;--slate:#2f4f3e;--muted:#5d6b60;--bg:#faf7f0;--card:#ffffff;--line:#e7e0d0;
  --primary:#1f3b2d;--primary-ink:#1f3b2d;--accent:#6b8f71;
  --cta:#c2410c;--cta-ink:#ffffff;--cta-h:#9a3412;--cta-shadow:rgba(194,65,12,.30);
  --hero-1:#1f3b2d;--hero-2:#2f4f3e;--hero-3:#6b8f71;--hero-text:#ffffff;--hero-sub:#f3ead2;
  --hover-border:#e9c46a;--tag-bg:#f3ead2;--tag-ink:#5c3d0a;
  --note-bg:#fdf6e3;--note-border:#e9c46a;--note-accent:#c2410c;--note-ink:#5c3d0a;
  --unv-bg:#fdf6e3;--nav-bg:#fffdf8;--footer-bg:#fffdf8;--bar-bg:rgba(255,253,248,.95);--focus:#c2410c;--crumb-sep:#b8ad95;
  --shadow-rgb:31,59,45;
}
/* ========================== layout (no raw colors below) ========================== */
:root{--r:12px;--sh:0 1px 2px rgba(var(--shadow-rgb),.06),0 4px 14px rgba(var(--shadow-rgb),.06);--sh-h:0 4px 8px rgba(var(--shadow-rgb),.08),0 12px 28px rgba(var(--shadow-rgb),.10)}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);line-height:1.65;background:var(--bg);-webkit-font-smoothing:antialiased}
a{color:var(--primary);text-underline-offset:2px}a:hover{color:var(--ink)}
a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}
.w{max-width:980px;margin:0 auto;padding:0 20px}
.top{background:var(--nav-bg);border-bottom:1px solid var(--line);padding:12px 0;position:sticky;top:0;z-index:5}
.top .w{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}.top .links{display:flex;flex-wrap:wrap;gap:4px 16px}
.top a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem}.top a:hover{color:var(--primary)}.top .brand{font-weight:800;margin-right:auto}
header.hero{background:linear-gradient(135deg,var(--hero-1) 0%,var(--hero-2) 55%,var(--hero-3) 100%);color:var(--hero-text);padding:40px 0 36px}
header.hero p{margin:0 0 20px;color:var(--hero-sub);font-size:1.05rem;max-width:680px}
header.hero .note{color:var(--note-ink)}
h1{font-size:1.8rem;line-height:1.2;margin:0 0 12px;letter-spacing:-.02em;font-weight:800}
h2{font-size:1.35rem;margin:0 0 14px;color:var(--ink);letter-spacing:-.01em}
h3{color:var(--slate)}
.call{display:block;background:var(--cta);color:var(--cta-ink);text-decoration:none;font-weight:800;font-size:1.2rem;padding:16px 20px;border-radius:var(--r);text-align:center;box-shadow:0 6px 18px var(--cta-shadow);transition:background .15s,transform .15s}
.call:hover{background:var(--cta-h);color:var(--cta-ink);transform:translateY(-1px)}
.call small{display:block;font-size:.8rem;font-weight:600}.call em{font-size:.8rem;font-style:normal;font-weight:600}
.crumbs{font-size:.85rem;padding:12px 0;margin:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px;color:var(--muted)}.crumbs li+li:before{content:"›";margin-right:6px;color:var(--crumb-sep)}
main{padding-bottom:8px}section{padding:28px 0;border-bottom:1px solid var(--line)}
.g{display:grid;gap:14px}
.c{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--sh);transition:box-shadow .2s,transform .2s,border-color .2s}
.c:hover{box-shadow:var(--sh-h);transform:translateY(-2px);border-color:var(--hover-border)}
.c.unv{background:var(--unv-bg)}
.c h3{margin:0 0 6px;font-size:1.05rem}.c h3 a{color:var(--ink);text-decoration:none}.c h3 a:hover{color:var(--primary)}.c p{margin:4px 0;color:var(--slate)}
.c .meta{font-weight:600}.c .area{font-size:.92rem;color:var(--muted)}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px!important}.tag{background:var(--tag-bg);color:var(--tag-ink);font-size:.78rem;font-weight:700;padding:2px 9px;border-radius:999px}
.note{background:var(--note-bg);border:1px solid var(--note-border);border-left:4px solid var(--note-accent);padding:8px 12px;border-radius:8px;font-size:.9rem;margin:8px 0;color:var(--note-ink)}
.cities{columns:2;padding-left:18px;margin:0}.cities li{margin-bottom:4px}
details{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;margin-bottom:10px;box-shadow:var(--sh)}summary{font-weight:700;cursor:pointer}summary::marker{color:var(--accent)}
.filters{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;margin-bottom:16px;display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;box-shadow:var(--sh)}
.filters label{font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:6px}.filters input{accent-color:var(--primary)}.filters select{padding:4px 8px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink)}
.filters p{flex-basis:100%;margin:0}
.small{font-size:.85rem;color:var(--muted)}
article.guide{max-width:760px}article.guide h2{margin-top:28px}article.guide table{border-collapse:collapse;width:100%;margin:12px 0;font-size:.95rem}
article.guide th,article.guide td{border:1px solid var(--line);padding:8px 10px;text-align:left;background:var(--card)}article.guide th{background:var(--tag-bg);color:var(--tag-ink)}
.sources{font-size:.88rem;color:var(--muted)}.sources li{margin-bottom:4px}
dl.facts{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0}dl.facts dt{font-weight:700;color:var(--slate)}dl.facts dd{margin:0}
footer{font-size:.85rem;color:var(--muted);padding:28px 0 96px;border-top:3px solid var(--accent);margin-top:24px;background:var(--footer-bg)}
footer p{margin:0 0 10px}
.bar{position:fixed;left:0;right:0;bottom:0;padding:10px 14px;background:var(--bar-bg);backdrop-filter:blur(6px);box-shadow:0 -2px 12px rgba(var(--shadow-rgb),.12)}.bar .call{font-size:1.05rem;padding:12px}
@media(min-width:640px){h1{font-size:2.4rem}.g{grid-template-columns:1fr 1fr}.cities{columns:3}.bar{display:none}footer{padding-bottom:32px}.hero-call{max-width:440px}header.hero{padding:56px 0 48px}}
