/* STRVerdict — theme "Fine Print": a municipal document, stamped.
   Cool gray paper, slate ink, permit blue, filing gold. Serif display. */
:root{
  --paper:#F4F4F0; --paper2:#EBEBE3; --card:#FFFFFF;
  --ink:#20242B; --ink2:#41474F; --line:#C9C9BE;
  --blue:#1D4E89; --blue-d:#173F6E; --gold:#A97B12; --goldbtn:#8F660D;
  --dark:#171C26; --dark2:#1D3552; --paper-on-dark:#F4F4F0; --soft-on-dark:#C9CEDA;
  --link-on-dark:#9DB9DC; --band:#FBF3DC; --notice:#EAF1F9;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink2);font-family:var(--sans);font-size:19px;line-height:1.55}
h1,h2,h3{font-family:var(--serif);color:var(--ink);line-height:1.15;margin:0 0 .5em}
h1{font-size:2.35rem} h2{font-size:1.7rem} h3{font-size:1.28rem}
p{margin:0 0 1em;color:var(--ink2)} li{color:var(--ink2)}
a{color:var(--blue)} a:hover{color:var(--blue-d)}
small{color:var(--ink2)}
.wrap{max-width:1060px;margin:0 auto;padding:0 20px}
section{padding:56px 0}
section.plain{background:var(--paper)}
section.alt{background:var(--paper2)}
section.dark{background:var(--dark)}
section.hero{background:linear-gradient(160deg,var(--dark2),var(--dark));padding:64px 0 56px}
.tagline{font-family:var(--serif);font-style:italic;font-size:1.05rem;margin-bottom:14px}
.stamp{display:inline-block;border:2px solid #7A560B;color:#7A560B;font-family:var(--serif);
  padding:3px 12px;border-radius:4px;transform:rotate(-1.2deg);letter-spacing:.04em;font-size:.92rem;background:transparent}
section.dark .stamp{border-color:#E9B949;color:#E9B949}
.btn{display:inline-block;background:var(--blue);color:#fff;font-weight:600;text-decoration:none;
  padding:13px 22px;border-radius:6px;border:0;font-size:1rem;cursor:pointer;font-family:var(--sans)}
.btn:hover{background:var(--blue-d);color:#fff}
.btn-gold{background:var(--goldbtn);color:#fff}.btn-gold:hover{background:#7A560B;color:#fff}
.btn-ghost{background:transparent;color:var(--blue);border:2px solid var(--blue)}
.btn-ghost:hover{background:var(--blue);color:#fff}

/* ---------- header / footer lockup (ONE lockup, light plate) ---------- */
header.site{background:var(--paper);border-bottom:3px double var(--line);padding:12px 0}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.lockup{text-decoration:none;display:inline-block}
.lockup .plate{background:#FFFFFF;border:1px solid var(--line);border-radius:8px;padding:6px 12px;display:inline-flex;align-items:baseline;gap:7px}
.lockup .wm-a{font-family:var(--serif);font-weight:700;color:var(--ink);font-size:1.42rem;letter-spacing:.02em}
.lockup .wm-b{font-family:var(--serif);font-weight:700;color:var(--blue);font-size:1.42rem}
.lockup .wm-dot{width:9px;height:9px;border-radius:50%;background:var(--gold);display:inline-block;align-self:center}
nav.main{display:flex;gap:22px;flex-wrap:wrap}
nav.main a{color:var(--ink);text-decoration:none;font-weight:600;font-size:1rem}
nav.main a:hover{color:var(--blue)}
footer.site{background:var(--dark);padding:44px 0 30px;margin-top:0}
footer.site h3{color:var(--paper-on-dark)} footer.site p,footer.site li{color:var(--soft-on-dark)}
footer.site a{color:var(--link-on-dark)} footer.site small{color:var(--soft-on-dark)}
footer.site .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}
footer.site ul{list-style:none;padding:0;margin:0} footer.site li{margin:0 0 8px}

/* ---------- flavor element rules (existence + cascade) ---------- */
section.plain h1,section.plain h2,section.plain h3{color:var(--ink)}
section.plain p,section.plain li,section.plain label,section.plain legend,section.plain small{color:var(--ink2)}
section.plain button{color:#fff}
section.alt h1,section.alt h2,section.alt h3{color:var(--ink)}
section.alt p,section.alt li,section.alt label,section.alt legend,section.alt small{color:var(--ink2)}
section.alt button{color:#fff}
section.dark h1,section.dark h2,section.dark h3{color:var(--paper-on-dark)}
section.dark p,section.dark li,section.dark label,section.dark legend,section.dark small{color:var(--soft-on-dark)}
section.dark a{color:var(--link-on-dark)}
section.dark button{color:#fff}
section.hero h1,section.hero h2,section.hero h3{color:var(--paper-on-dark)}
section.hero p,section.hero li,section.hero label,section.hero legend,section.hero small{color:var(--soft-on-dark)}
section.hero a{color:var(--link-on-dark)}
section.hero button{color:#fff}
section.hero .tagline{color:#E9B949}
section.dark .tagline{color:#E9B949}
section.hero .btn,section.dark .btn{background:var(--blue);color:#fff}
section.hero .btn-gold,section.dark .btn-gold{background:var(--goldbtn);color:#fff}

/* ---------- components (light panels keep ink text in EVERY flavor) ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:24px}
.card h2,.card h3{color:var(--ink)} .card p,.card li,.card label,.card legend,.card small{color:var(--ink2)} .card a{color:var(--blue)}
.band{background:var(--band);border:2px solid var(--gold);border-radius:10px;padding:26px 28px}
.band h2,.band h3{color:var(--ink)} .band p,.band li,.band label,.band small{color:var(--ink2)} .band a{color:var(--blue)}
.band .price{font-family:var(--serif);font-size:1.5rem;color:var(--ink)}
.notice{background:var(--notice);border:1px solid var(--blue);border-radius:10px;padding:22px 24px}
.notice h2,.notice h3{color:var(--ink)} .notice p,.notice li,.notice small{color:var(--ink2)} .notice a{color:var(--blue)}
.letter{background:var(--card);border:1.5px dashed var(--blue);border-radius:6px;padding:24px 26px;margin:18px 0}
.letter h3{color:var(--ink)} .letter p,.letter li,.letter small{color:var(--ink2)}
.tool{background:var(--card);border:1px solid var(--line);border-top:6px solid var(--blue);border-radius:10px;padding:28px}
.tool h2,.tool h3{color:var(--ink)} .tool p,.tool li,.tool label,.tool legend,.tool small{color:var(--ink2)} .tool a{color:var(--blue)}
.result{background:var(--card);border:2px solid var(--blue);border-radius:10px;padding:26px 28px;margin-top:26px}
.result h3,.result h4{color:var(--ink)} .result p,.result li,.result small{color:var(--ink2)} .result a{color:var(--blue)}
.result h4{font-family:var(--serif);margin:18px 0 6px;font-size:1.12rem}
.result .fine{background:var(--notice);border-radius:6px;padding:12px 16px}
.result .src{font-size:.88rem;border-top:1px solid var(--line);padding-top:12px;margin-top:16px}
.tablewrap{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 18px;overflow-x:auto}
.tablewrap table{width:100%;border-collapse:collapse;font-size:.95rem}
.tablewrap th,.tablewrap td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;color:var(--ink2)}
.tablewrap th{color:var(--ink);font-family:var(--serif)}
.tablewrap a{color:var(--blue)}

/* component text inside dark/hero flavors — higher specificity, same ink */
section.dark .card h2,section.dark .card h3,section.hero .card h2,section.hero .card h3,
section.dark .band h2,section.dark .band h3,section.hero .band h2,section.hero .band h3,
section.dark .notice h2,section.dark .notice h3,section.hero .notice h2,section.hero .notice h3,
section.dark .tool h2,section.dark .tool h3,section.hero .tool h2,section.hero .tool h3,
section.dark .result h3,section.dark .result h4,section.hero .result h3,section.hero .result h4,
section.dark .letter h3,section.hero .letter h3,section.dark .tablewrap th,section.hero .tablewrap th{color:var(--ink)}
section.dark .card p,section.dark .card li,section.dark .card label,section.dark .card legend,section.dark .card small,
section.hero .card p,section.hero .card li,section.hero .card label,section.hero .card legend,section.hero .card small,
section.dark .band p,section.dark .band li,section.dark .band label,section.dark .band small,
section.hero .band p,section.hero .band li,section.hero .band label,section.hero .band small,
section.dark .notice p,section.dark .notice li,section.dark .notice small,
section.hero .notice p,section.hero .notice li,section.hero .notice small,
section.dark .tool p,section.dark .tool li,section.dark .tool label,section.dark .tool legend,section.dark .tool small,
section.hero .tool p,section.hero .tool li,section.hero .tool label,section.hero .tool legend,section.hero .tool small,
section.dark .result p,section.dark .result li,section.dark .result small,
section.hero .result p,section.hero .result li,section.hero .result small,
section.dark .letter p,section.dark .letter li,section.dark .letter small,
section.hero .letter p,section.hero .letter li,section.hero .letter small,
section.dark .tablewrap th,section.dark .tablewrap td,section.hero .tablewrap th,section.hero .tablewrap td{color:var(--ink2)}
section.dark .card a,section.hero .card a,section.dark .band a,section.hero .band a,
section.dark .notice a,section.hero .notice a,section.dark .tool a,section.hero .tool a,
section.dark .result a,section.hero .result a,section.dark .tablewrap a,section.hero .tablewrap a{color:var(--blue)}
section.dark .card button,section.hero .card button,section.dark .tool button,section.hero .tool button,
section.dark .result button,section.hero .result button{color:#fff}
section.alt .card h3,section.alt .band h3,section.alt .notice h3,section.alt .tool h3,section.alt .result h3{color:var(--ink)}
section.alt .card p,section.alt .band p,section.alt .notice p,section.alt .tool p,section.alt .result p,
section.alt .card li,section.alt .band li,section.alt .notice li,section.alt .tool li,section.alt .result li,
section.alt .card label,section.alt .tool label,section.alt .card legend,section.alt .tool legend,
section.alt .card small,section.alt .band small,section.alt .notice small,section.alt .tool small,section.alt .result small{color:var(--ink2)}

/* completion block: every component carries ink text for EVERY text element in dark/hero */
section.dark .band legend,section.hero .band legend,
section.dark .notice label,section.dark .notice legend,section.hero .notice label,section.hero .notice legend,
section.dark .result label,section.dark .result legend,section.hero .result label,section.hero .result legend,
section.dark .letter label,section.dark .letter legend,section.hero .letter label,section.hero .letter legend,
section.dark .tablewrap p,section.dark .tablewrap li,section.dark .tablewrap label,section.dark .tablewrap legend,section.dark .tablewrap small,
section.hero .tablewrap p,section.hero .tablewrap li,section.hero .tablewrap label,section.hero .tablewrap legend,section.hero .tablewrap small{color:var(--ink2)}
section.dark .tablewrap h3,section.hero .tablewrap h3{color:var(--ink)}
.band legend,.notice label,.notice legend,.result label,.result legend,.letter label,.letter legend,
.tablewrap label,.tablewrap legend,.tablewrap small{color:var(--ink2)}

/* ---------- verdict chips ---------- */
.vlabel{display:inline-block;font-weight:700;font-size:.95rem;letter-spacing:.03em;padding:6px 14px;border-radius:999px;margin:0 0 12px}
.chip-noregime{background:#DDEBD8;color:#1E4620}
.chip-register{background:var(--blue);color:#fff}
.chip-capped{background:#F5C542;color:#3D2B00}
.chip-primary{background:#33506E;color:#fff}
.chip-notlegal{background:#8C2B1F;color:#fff}
.chip-preempt{background:#7A5A00;color:#fff}
.chip-phaseout{background:#5B3049;color:#fff}
td .vlabel,li .vlabel{font-size:.8rem;padding:3px 10px;margin:0}

/* ---------- checker form ---------- */
.tool fieldset{border:1px solid var(--line);border-radius:8px;margin:0 0 18px;padding:16px 18px}
.tool legend{font-family:var(--serif);font-weight:700;color:var(--ink);padding:0 8px;font-size:1.05rem}
.tool label{display:block;margin:8px 0;color:var(--ink2);cursor:pointer}
.tool input[type="radio"]{accent-color:var(--blue);width:19px;height:19px;vertical-align:-3px;margin-right:8px}
.tool select,.tool input[type="number"]{width:100%;padding:12px;border:1.5px solid var(--line);border-radius:6px;
  font-size:1rem;font-family:var(--sans);color:var(--ink);background:#fff;margin:6px 0 4px}
.tool select:focus,.tool input[type="number"]:focus{outline:3px solid var(--gold);outline-offset:1px}
.tool .help{font-size:.9rem;color:var(--ink2)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.lede{font-size:1.14rem}
.facts{border-left:4px solid var(--gold);padding-left:18px;margin:22px 0}
.kit-sec h2{margin-top:44px;border-top:3px double var(--line);padding-top:26px}
.kit-sec h3{margin-top:26px}
.mkt{border-top:1px solid var(--line);padding:16px 0}
.mkt h3{margin-bottom:4px}
.mkt ol{margin:8px 0 8px 20px;padding:0}
.src{font-size:.9rem}

/* ---------- mobile ---------- */
@media (max-width:760px){
  body{font-size:18px}
  h1{font-size:1.9rem} h2{font-size:1.45rem}
  section{padding:38px 0} section.hero{padding:40px 0 34px}
  header.site{padding:8px 0}
  header.site .wrap{flex-direction:column;align-items:flex-start;gap:8px}
  nav.main{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px 16px}
  nav.main a{font-size:.95rem;padding:4px 0}
  .grid2{grid-template-columns:1fr}
  footer.site .cols{grid-template-columns:1fr}
  .tool{padding:20px 16px}.result{padding:20px 16px}.band{padding:20px}
}
@media print{
  header.site,footer.site,nav.main,.band,.btn{display:none}
  body{font-size:12pt}
}

/* button labels — FULL-CASCADE GUARD (2026-10-25 fix). Component link rules
   (.card/.band/.notice/.tool/.result/.tablewrap a at (0,1,1); their
   section.dark/section.hero twins at (0,2,2)) beat the bare .btn/.btn-gold
   rules (0,1,0) and painted the gold band button's label permit-blue on
   gold (1.63:1). The scoped rules below sit strictly above every link rule
   that can reach a button, in every flavor and component. The seal audit
   computes button labels from the full cascade. */
section .card .btn,section .band .btn,section .notice .btn,section .tool .btn,section .result .btn,section .tablewrap .btn{color:#fff}
section.dark .card .btn,section.dark .band .btn,section.dark .notice .btn,section.dark .tool .btn,section.dark .result .btn,section.dark .tablewrap .btn,
section.hero .card .btn,section.hero .band .btn,section.hero .notice .btn,section.hero .tool .btn,section.hero .result .btn,section.hero .tablewrap .btn{color:#fff}
