
:root{--navy:#14284b;--red:#b22234;--cream:#f7f5f0;--ink:#1d2433;--muted:#5a6375}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:#fff;line-height:1.6}
.wrap{max-width:960px;margin:0 auto;padding:0 20px}
header{background:var(--navy);color:#fff;padding:18px 0}header .wrap{display:flex;justify-content:space-between;align-items:center}
.logo{font-weight:800;font-size:1.3rem;letter-spacing:.5px}.logo span{color:#ffd9dd}
header a{color:#fff;text-decoration:none;border:1px solid #fff6;padding:6px 14px;border-radius:6px;font-size:.9rem}
.hero{background:linear-gradient(180deg,var(--navy),#1f3a6b);color:#fff;padding:70px 0 80px;text-align:center;border-bottom:6px solid var(--red)}
.hero h1{font-size:clamp(2.2rem,6vw,3.6rem);margin:0 0 10px;font-family:Georgia,serif}
.hero p.sub{font-size:1.15rem;max-width:640px;margin:0 auto 24px;opacity:.92}
.motto{font-family:Georgia,serif;font-style:italic;font-size:1.1rem;color:#ffe3e6;margin:0 auto 30px;max-width:600px}
.btn{display:inline-block;background:var(--red);color:#fff;padding:13px 26px;border-radius:8px;text-decoration:none;font-weight:700;border:0;font-size:1rem;cursor:pointer}
section{padding:60px 0}section.alt{background:var(--cream)}
h2{font-family:Georgia,serif;color:var(--navy);font-size:1.9rem;margin:0 0 16px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:24px}
.card{background:#fff;border:1px solid #e2e5ec;border-radius:12px;padding:22px;border-top:4px solid var(--navy)}
.num{display:inline-flex;width:34px;height:34px;border-radius:50%;background:var(--red);color:#fff;align-items:center;justify-content:center;font-weight:800;margin-bottom:8px}
.card h3{margin:4px 0 6px;color:var(--navy)}
ul.promise{padding-left:0;list-style:none}ul.promise li{padding:10px 0 10px 34px;position:relative;border-bottom:1px solid #e6e2d8}
ul.promise li:before{content:"✓";position:absolute;left:4px;color:var(--red);font-weight:800}
form{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
input[type=email],input[type=text]{flex:1 1 220px;padding:13px;border:1px solid #c5cad6;border-radius:8px;font-size:1rem}
.todo{background:#fff4cc;border:1px dashed #c9a400;padding:8px 12px;border-radius:6px;font-size:.85rem;margin-top:14px;color:#6b5600}
.small{color:var(--muted);font-size:.9rem}
footer{background:var(--navy);color:#cfd6e4;padding:30px 0;font-size:.9rem}footer a{color:#fff}

nav.top a{margin-left:8px}
.race{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.cand h3{margin:0}.party{font-size:.85rem;color:var(--muted)}
table{width:100%;border-collapse:collapse;font-size:.95rem}td,th{border-bottom:1px solid #e2e5ec;padding:9px 6px;text-align:left;vertical-align:top}
.v{font-weight:800}.Yea,.Aye{color:#1a7f37}.Nay,.No{color:#b22234}.NV{color:#8a6d00}
blockquote{margin:10px 0;padding:10px 14px;border-left:4px solid var(--red);background:var(--cream);font-family:Georgia,serif}
.src{font-size:.85rem;color:var(--muted)}.src a{color:var(--navy)}
.gap{display:inline-block;background:#fff4cc;border:1px dashed #c9a400;color:#6b5600;font-size:.8rem;padding:2px 8px;border-radius:5px}
.ai{font-size:.75rem;background:#e8eefc;color:#14284b;padding:1px 6px;border-radius:4px}
@media(max-width:600px){section{padding:36px 0}.hero{padding:44px 0 50px}td,th{padding:7px 3px;font-size:.88rem}}
