:root{
  --paper:#F6F3EC;--card:#fff;--ink:#1A1916;--red:#E10600;--kicker:#9A3412;
  --muted:#5C564E;--rule:#E7E2D8;--edge:#D4CFC6;--r:#1F7A4D;--d:#1D4E89;--i:#6B4C9A;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.45 Lato,Arial,sans-serif}
a{color:#8B0000;text-decoration:none}
a:hover{text-decoration:underline;color:var(--red)}
.wrap{max-width:1180px;margin:0 auto;padding:0 18px 60px}
.topbar{background:var(--red);color:#fff;padding:8px 18px;font-size:13px;font-weight:700;letter-spacing:.04em}
.hero{padding:22px 0 8px}
.kicker{color:var(--kicker);font-weight:800;letter-spacing:.12em;font-size:12px;text-transform:uppercase;margin:0}
h1{font-family:Anton,Impact,sans-serif;font-size:42px;line-height:1.05;margin:6px 0 8px;font-weight:400;letter-spacing:.01em}
.sub{color:var(--muted);margin:0 0 14px;max-width:820px}
.updated{font-size:13px;color:var(--muted)}
.nav{
  position:sticky;top:0;z-index:40;background:#1A1916;border-bottom:3px solid var(--red);
}
.nav-inner{max-width:1180px;margin:0 auto;padding:8px 18px;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.nav a{color:#fff;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}
.nav a:hover{color:#ffd0cc;text-decoration:none}
.nav .grow{flex:1}
.search{padding:7px 10px;border:0;border-radius:4px;min-width:220px;font:14px Lato,Arial,sans-serif}
.adslot{
  border:2px dashed var(--edge);background:#fff;min-height:90px;margin:16px 0;padding:12px;
  color:var(--muted);font-size:13px;text-align:center;
}
.house{
  background:#fff;border:1px solid var(--edge);padding:14px 16px;margin:12px 0 22px;
}
.house h2{margin:0 0 8px;font-size:18px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:var(--paper);border:1px solid var(--edge);padding:6px 10px;border-radius:4px;font-size:14px;font-weight:700;color:var(--ink);text-decoration:none}
.chip:hover{border-color:var(--red);text-decoration:none;color:var(--red)}
.chip.wf{border-color:var(--red);color:var(--red)}
section.cat{background:#fff;border:1px solid var(--edge);padding:18px 18px 10px;margin:0 0 18px}
section.cat h2{margin:0 0 4px;font-size:22px;border-bottom:3px solid var(--red);padding-bottom:6px;display:inline-block}
.note{color:var(--muted);font-size:14px;margin:6px 0 12px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:4px 18px;margin:0 0 12px}
.grid a,.list a{display:inline}
.list{columns:2;gap:28px;margin:0 0 10px}
.list p{margin:0 0 7px;break-inside:avoid}
.mark{font-size:11px;font-weight:800;color:var(--red);letter-spacing:.04em;margin-left:4px}
.az{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.az a{background:var(--paper);border:1px solid var(--edge);padding:3px 7px;font-size:12px;font-weight:800;color:var(--ink);text-decoration:none}
.party{font-weight:800;font-size:12px}
.party.R{color:var(--r)} .party.D{color:var(--d)} .party.I{color:var(--i)}
table{width:100%;border-collapse:collapse;font-size:15px}
th,td{border-bottom:1px solid var(--rule);text-align:left;padding:7px 8px;vertical-align:top}
th{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.stateh{margin:22px 0 6px;font-size:18px;border-left:4px solid var(--red);padding-left:8px}
footer{margin:28px 0 10px;color:var(--muted);font-size:14px}
.calc{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;max-width:560px;align-items:end;margin:8px 0 14px}
.calc label{font-size:13px;font-weight:700;display:block}
.calc input{width:100%;padding:8px;border:1px solid var(--edge);font:15px Lato,Arial}
.calc button{background:var(--red);color:#fff;border:0;padding:9px 14px;font-weight:800;cursor:pointer}
#bmiOut{font-weight:700;margin:0 0 12px}
.hidden{display:none !important}
@media(max-width:800px){
  h1{font-size:30px}
  .list{columns:1}
  .calc{grid-template-columns:1fr}
  .nav-inner{padding:8px}
}
