/* ImpoundVerdict — theme "Floodlight": the impound lot at night.
   Asphalt charcoal, sodium-amber light, warm paper, stamped verdicts.
   Cascade architecture: flavor rules are `section.s-<flavor> <el>` (0,1,2);
   light-component rules inside flavors are `section.s-<flavor> .<comp> <el>`
   (0,2,2) and always win; button rules are flavor-scoped (0,2,0)+. */
:root{
  --paper:#F7F2E7; --paper2:#EFE6D0; --ink:#22252B; --ink-soft:#4C4A41;
  --asphalt:#1C1F24; --asphalt2:#272C34; --amber:#D98A06; --amber-hi:#E8A33D;
  --amber-deep:#7F5503; --paper-dark:#F5EFE0; --muted-dark:#CFC7B0;
  --green:#2F6B33; --red:#B03A2E; --red-deep:#A93226; --line:#D9CFB8;
  --card:#FFFDF6;
}
*{box-sizing:border-box}
html{font-size:19px}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
  line-height:1.55;font-size:1rem}
h1,h2,h3,h4{font-family:Georgia,"Times New Roman",serif;line-height:1.15;margin:0 0 .5em;color:var(--ink)}
h1{font-size:2.35rem} h2{font-size:1.65rem} h3{font-size:1.3rem} h4{font-size:1.08rem}
p{margin:0 0 .9em;color:var(--ink)}
li{color:var(--ink)}
a{color:var(--amber-deep);text-decoration-thickness:1.5px;text-underline-offset:2px}
small{color:var(--ink-soft);font-size:.82rem}
label{color:var(--ink);font-weight:600;display:block;margin:0 0 .3em}
legend{color:var(--ink);font-weight:700;font-size:1.12rem;padding:0 .3em}
button{cursor:pointer;font:inherit}
.wrap{max-width:1060px;margin:0 auto;padding:0 20px}
section{padding:52px 0}
section.s-plain{background:var(--paper)}
section.s-alt{background:var(--paper2)}
section.s-dark{background:var(--asphalt);color:var(--paper-dark)}
section.s-hero{background:linear-gradient(160deg,var(--asphalt) 55%,var(--asphalt2));color:var(--paper-dark);padding:64px 0 56px}
/* ---- flavor element rules (existence + base for bare text) ---- */
section.s-plain h1,section.s-plain h2,section.s-plain h3,section.s-plain p,section.s-plain li,section.s-plain label,section.s-plain legend{color:var(--ink)}
section.s-plain small{color:var(--ink-soft)} section.s-plain a{color:var(--amber-deep)}
section.s-alt h1,section.s-alt h2,section.s-alt h3,section.s-alt p,section.s-alt li,section.s-alt label,section.s-alt legend{color:var(--ink)}
section.s-alt small{color:var(--ink-soft)} section.s-alt a{color:var(--amber-deep)}
section.s-dark h1,section.s-dark h2,section.s-dark h3,section.s-dark p,section.s-dark li,section.s-dark label,section.s-dark legend{color:var(--paper-dark)}
section.s-dark small{color:var(--muted-dark)} section.s-dark a{color:var(--amber-hi)}
section.s-hero h1,section.s-hero h2,section.s-hero h3,section.s-hero p,section.s-hero li,section.s-hero label,section.s-hero legend{color:var(--paper-dark)}
section.s-hero small{color:var(--muted-dark)} section.s-hero a{color:var(--amber-hi)}
/* ---- buttons (element + class) ---- */
.btn{display:inline-block;background:var(--amber);color:#1C1F24;font-weight:700;
  padding:.72em 1.35em;border-radius:8px;border:2px solid #1C1F24;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--amber-hi)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
section.s-dark .btn,section.s-hero .btn{background:var(--amber);color:#1C1F24;border-color:var(--amber)}
section.s-dark .btn.ghost,section.s-hero .btn.ghost{background:transparent;color:var(--paper-dark);border-color:var(--paper-dark)}
button.btn{font-size:1rem}
/* ---- light components (paper cards) ---- */
.card,.tool,.result,.notice,.kitband,.tablewrap{background:var(--card);border:1px solid var(--line);border-radius:12px}
.card{padding:24px} .tool{padding:26px} .result{padding:26px;margin-top:26px}
.notice{padding:18px 22px;margin:16px 0}
.kitband{padding:24px 26px;border:2px solid var(--amber-deep);background:linear-gradient(120deg,#FFF6DC,var(--card))}
.tablewrap{overflow-x:auto;padding:6px}
section.s-plain .card h1,section.s-plain .card h2,section.s-plain .card h3,section.s-plain .card p,section.s-plain .card li,section.s-plain .card label,section.s-plain .card legend,
section.s-alt .card h1,section.s-alt .card h2,section.s-alt .card h3,section.s-alt .card p,section.s-alt .card li,section.s-alt .card label,section.s-alt .card legend,
section.s-dark .card h1,section.s-dark .card h2,section.s-dark .card h3,section.s-dark .card p,section.s-dark .card li,section.s-dark .card label,section.s-dark .card legend,
section.s-hero .card h1,section.s-hero .card h2,section.s-hero .card h3,section.s-hero .card p,section.s-hero .card li,section.s-hero .card label,section.s-hero .card legend{color:var(--ink)}
section.s-plain .card small,section.s-alt .card small,section.s-dark .card small,section.s-hero .card small{color:var(--ink-soft)}
section.s-plain .card a,section.s-alt .card a,section.s-dark .card a,section.s-hero .card a{color:var(--amber-deep)}
section.s-plain .tool h1,section.s-plain .tool h2,section.s-plain .tool h3,section.s-plain .tool p,section.s-plain .tool li,section.s-plain .tool label,section.s-plain .tool legend,
section.s-alt .tool h1,section.s-alt .tool h2,section.s-alt .tool h3,section.s-alt .tool p,section.s-alt .tool li,section.s-alt .tool label,section.s-alt .tool legend,
section.s-dark .tool h1,section.s-dark .tool h2,section.s-dark .tool h3,section.s-dark .tool p,section.s-dark .tool li,section.s-dark .tool label,section.s-dark .tool legend,
section.s-hero .tool h1,section.s-hero .tool h2,section.s-hero .tool h3,section.s-hero .tool p,section.s-hero .tool li,section.s-hero .tool label,section.s-hero .tool legend{color:var(--ink)}
section.s-plain .tool small,section.s-alt .tool small,section.s-dark .tool small,section.s-hero .tool small{color:var(--ink-soft)}
section.s-plain .tool a,section.s-alt .tool a,section.s-dark .tool a,section.s-hero .tool a{color:var(--amber-deep)}
section.s-plain .result h1,section.s-plain .result h2,section.s-plain .result h3,section.s-plain .result h4,section.s-plain .result p,section.s-plain .result li,section.s-plain .result label,section.s-plain .result legend,
section.s-alt .result h1,section.s-alt .result h2,section.s-alt .result h3,section.s-alt .result h4,section.s-alt .result p,section.s-alt .result li,section.s-alt .result label,section.s-alt .result legend,
section.s-dark .result h1,section.s-dark .result h2,section.s-dark .result h3,section.s-dark .result h4,section.s-dark .result p,section.s-dark .result li,section.s-dark .result label,section.s-dark .result legend,
section.s-hero .result h1,section.s-hero .result h2,section.s-hero .result h3,section.s-hero .result h4,section.s-hero .result p,section.s-hero .result li,section.s-hero .result label,section.s-hero .result legend{color:var(--ink)}
section.s-plain .result small,section.s-alt .result small,section.s-dark .result small,section.s-hero .result small{color:var(--ink-soft)}
section.s-plain .result a,section.s-alt .result a,section.s-dark .result a,section.s-hero .result a{color:var(--amber-deep)}
section.s-plain .notice h1,section.s-plain .notice h2,section.s-plain .notice h3,section.s-plain .notice h4,section.s-plain .notice p,section.s-plain .notice li,section.s-plain .notice label,section.s-plain .notice legend,
section.s-alt .notice h1,section.s-alt .notice h2,section.s-alt .notice h3,section.s-alt .notice h4,section.s-alt .notice p,section.s-alt .notice li,section.s-alt .notice label,section.s-alt .notice legend,
section.s-dark .notice h1,section.s-dark .notice h2,section.s-dark .notice h3,section.s-dark .notice h4,section.s-dark .notice p,section.s-dark .notice li,section.s-dark .notice label,section.s-dark .notice legend,
section.s-hero .notice h1,section.s-hero .notice h2,section.s-hero .notice h3,section.s-hero .notice h4,section.s-hero .notice p,section.s-hero .notice li,section.s-hero .notice label,section.s-hero .notice legend{color:var(--ink)}
section.s-plain .notice small,section.s-alt .notice small,section.s-dark .notice small,section.s-hero .notice small{color:var(--ink-soft)}
section.s-plain .notice a,section.s-alt .notice a,section.s-dark .notice a,section.s-hero .notice a{color:var(--amber-deep)}
section.s-plain .kitband h1,section.s-plain .kitband h2,section.s-plain .kitband h3,section.s-plain .kitband p,section.s-plain .kitband li,section.s-plain .kitband label,section.s-plain .kitband legend,
section.s-alt .kitband h1,section.s-alt .kitband h2,section.s-alt .kitband h3,section.s-alt .kitband p,section.s-alt .kitband li,section.s-alt .kitband label,section.s-alt .kitband legend,
section.s-dark .kitband h1,section.s-dark .kitband h2,section.s-dark .kitband h3,section.s-dark .kitband p,section.s-dark .kitband li,section.s-dark .kitband label,section.s-dark .kitband legend,
section.s-hero .kitband h1,section.s-hero .kitband h2,section.s-hero .kitband h3,section.s-hero .kitband p,section.s-hero .kitband li,section.s-hero .kitband label,section.s-hero .kitband legend{color:var(--ink)}
.tablewrap{color:var(--ink)}
section.s-plain .tablewrap,section.s-alt .tablewrap,section.s-dark .tablewrap,section.s-hero .tablewrap{color:var(--ink)}
section.s-plain .tablewrap a,section.s-alt .tablewrap a,section.s-dark .tablewrap a,section.s-hero .tablewrap a{color:var(--amber-deep)}
section.s-plain .kitband small,section.s-alt .kitband small,section.s-dark .kitband small,section.s-hero .kitband small{color:var(--ink-soft)}
section.s-plain .kitband a,section.s-alt .kitband a,section.s-dark .kitband a,section.s-hero .kitband a{color:var(--amber-deep)}
section.s-plain .card .btn,section.s-alt .card .btn,section.s-dark .card .btn,section.s-hero .card .btn,
section.s-plain .tool .btn,section.s-alt .tool .btn,section.s-dark .tool .btn,section.s-hero .tool .btn,
section.s-plain .result .btn,section.s-alt .result .btn,section.s-dark .result .btn,section.s-hero .result .btn,
section.s-plain .kitband .btn,section.s-alt .kitband .btn,section.s-dark .kitband .btn,section.s-hero .kitband .btn{background:var(--amber);color:#1C1F24;border-color:#1C1F24}
/* ---- header / footer ---- */
header.site{background:var(--paper);border-bottom:3px solid var(--asphalt)}
header.site .wrap{display:flex;align-items:center;gap:22px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
.lockup{display:flex;align-items:center;gap:10px;text-decoration:none}
.lockup .mark{flex:0 0 auto;display:block}
.lockup .wm{font-family:Georgia,serif;font-weight:700;font-size:1.32rem;color:var(--ink);letter-spacing:.2px}
.lockup .wm b{color:var(--amber-deep);font-weight:700}
nav.main{display:flex;gap:20px;margin-left:auto;flex-wrap:wrap}
nav.main a{color:var(--ink);font-weight:600;text-decoration:none;font-size:.98rem}
nav.main a:hover{color:var(--amber-deep);text-decoration:underline}
footer.site{background:var(--asphalt);color:var(--paper-dark);padding:42px 0 30px}
footer.site h2,footer.site h3,footer.site p,footer.site li{color:var(--paper-dark)}
footer.site small{color:var(--muted-dark)} footer.site a{color:var(--amber-hi)}
footer.site .plate{display:inline-block;background:var(--paper);border-radius:10px;padding:10px 16px}
footer.site .cols{display:flex;gap:34px;flex-wrap:wrap;margin-top:22px}
footer.site .cols div{min-width:200px}
/* ---- checker / verdict ---- */
fieldset{border:1px solid var(--line);border-radius:10px;padding:18px;margin:0 0 18px;background:#FFFDF6}
.tool fieldset{background:#FFFDF6}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:14px}
input[type="text"],input[type="number"],select{width:100%;font-size:1rem;padding:.62em .7em;border:1.5px solid #B9AE8F;border-radius:8px;background:#FFF;color:var(--ink)}
input[type="checkbox"]{width:1.15em;height:1.15em;vertical-align:-2px;margin-right:.45em}
.checks label{font-weight:500;display:flex;gap:.2em;align-items:flex-start;margin-bottom:.55em}
.fork{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}
.fork label{border:2px solid #B9AE8F;border-radius:12px;padding:18px;cursor:pointer;background:#FFFDF6;font-size:1.05rem}
.fork input{margin-right:.5em}
.fork label:has(input:checked){border-color:var(--amber-deep);background:#FFF6DC}
[hidden]{display:none !important}
.vchip{display:inline-block;padding:.28em .8em;border-radius:6px;font-weight:800;letter-spacing:.4px;font-size:.95rem;margin:0 .4em .4em 0}
.vchip.ok{background:var(--green);color:#FFF8EC}
.vchip.bad{background:var(--red);color:#FFF8EC}
.vchip.warn{background:var(--amber);color:#1C1F24}
.stamp{display:inline-block;border:2.5px solid var(--red-deep);color:var(--red-deep);
  padding:.22em .8em;border-radius:6px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;
  transform:rotate(-2deg);font-size:.85rem;background:transparent}
section.s-dark .stamp,section.s-hero .stamp{border-color:#E8A33D;color:#E8A33D}
.stamp-line{font-size:.88rem;color:var(--ink-soft)}
.complaint-line{font-weight:600}
table.lines{width:100%;border-collapse:collapse;min-width:520px}
table.lines th,table.lines td{padding:.5em .7em;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
table.lines th{font-family:Georgia,serif}
table.lines .over-num{font-weight:800;color:var(--red-deep)}
table.lines tr.cite-row td{font-size:.85rem;color:var(--ink-soft);border-bottom:2px solid var(--line)}
.notice.cargo{border-color:var(--red-deep);border-width:2px}
.tagline{font-size:.95rem;letter-spacing:1.6px;text-transform:uppercase;color:var(--amber-deep);font-weight:700;margin-bottom:10px}
section.s-dark .tagline,section.s-hero .tagline{color:var(--amber-hi)}
.lede{font-size:1.18rem;max-width:44em}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.stategrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.stategrid a{display:block;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.6em .8em;color:var(--ink);text-decoration:none;font-weight:600}
.stategrid a:hover{border-color:var(--amber-deep)}
.doors{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.price{font-size:1.5rem;font-weight:800}
.kitband h2{margin-bottom:.25em}
ul.tight li{margin-bottom:.35em}
.prose{max-width:46em}
.kitdoc h2{margin-top:1.4em;border-top:2px solid var(--line);padding-top:.8em}
.kitdoc .letter{background:#FFFDF6;border:1px solid var(--line);border-radius:10px;padding:20px}
/* ---- mobile ---- */
@media (max-width:760px){
  html{font-size:18px}
  h1{font-size:1.9rem} h2{font-size:1.45rem}
  section{padding:38px 0}
  header.site .wrap{flex-direction:column;align-items:flex-start;gap:8px;padding-top:10px;padding-bottom:10px}
  nav.main{display:flex;margin-left:0;gap:8px 18px;width:100%}
  nav.main a{font-size:.95rem;padding:.3em 0}
  .grid2,.fork,.doors{grid-template-columns:1fr}
  .btn{display:inline-block;width:auto}
  table.lines{min-width:480px}
}

/* button labels — FULL-CASCADE GUARD (2026-10-25 fix). Flavor link rules
   (section.s-plain/s-alt a at (0,1,2)) and component link rules
   (section.s-<flavor> .<comp> a at (0,2,2)) beat the bare .btn rule (0,1,0)
   and painted amber-button labels amber-deep on amber (2.37:1) across the
   city/state templates. The scoped rules below sit strictly above every
   link rule that can reach a button, in every flavor and component; ghost
   carve-outs preserve the outline variant. The seal audit computes button
   labels from the full cascade. */
section.s-plain a.btn,section.s-plain button.btn,section.s-alt a.btn,section.s-alt button.btn{color:#1C1F24}
section.s-plain .card .btn,section.s-plain .kitband .btn,section.s-plain .notice .btn,section.s-plain .result .btn,section.s-plain .tablewrap .btn,section.s-plain .tool .btn,section.s-alt .card .btn,section.s-alt .kitband .btn,section.s-alt .notice .btn,section.s-alt .result .btn,section.s-alt .tablewrap .btn,section.s-alt .tool .btn,section.s-dark .card .btn,section.s-dark .kitband .btn,section.s-dark .notice .btn,section.s-dark .result .btn,section.s-dark .tablewrap .btn,section.s-dark .tool .btn,section.s-hero .card .btn,section.s-hero .kitband .btn,section.s-hero .notice .btn,section.s-hero .result .btn,section.s-hero .tablewrap .btn,section.s-hero .tool .btn{color:#1C1F24}
section.s-plain .btn.ghost,section.s-alt .btn.ghost,section.s-plain .card .btn.ghost,section.s-plain .kitband .btn.ghost,section.s-plain .notice .btn.ghost,section.s-plain .result .btn.ghost,section.s-plain .tablewrap .btn.ghost,section.s-plain .tool .btn.ghost,section.s-alt .card .btn.ghost,section.s-alt .kitband .btn.ghost,section.s-alt .notice .btn.ghost,section.s-alt .result .btn.ghost,section.s-alt .tablewrap .btn.ghost,section.s-alt .tool .btn.ghost{color:var(--ink)}
section.s-dark .card .btn.ghost,section.s-dark .kitband .btn.ghost,section.s-dark .notice .btn.ghost,section.s-dark .result .btn.ghost,section.s-dark .tablewrap .btn.ghost,section.s-dark .tool .btn.ghost,section.s-hero .card .btn.ghost,section.s-hero .kitband .btn.ghost,section.s-hero .notice .btn.ghost,section.s-hero .result .btn.ghost,section.s-hero .tablewrap .btn.ghost,section.s-hero .tool .btn.ghost{color:var(--paper-dark)}
