.vote{max-width:860px}
.vote-hero{padding:28px 0 8px}
.vote-hero h1{font-size:clamp(42px,7vw,78px);max-width:14ch}
.vote-lead{font-size:1.125rem;line-height:1.55;max-width:38rem;margin-top:14px}
.vote-nav{display:flex;gap:8px;overflow-x:auto;padding:14px 0 18px;margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--cream);z-index:2}
.vote-nav a{flex:0 0 auto;text-decoration:none;border:1px solid var(--navy);padding:8px 12px;font-size:13px;font-weight:700;min-height:44px;display:inline-flex;align-items:center}
.vote-nav a[aria-current="page"]{background:var(--navy);color:var(--cream)}
.vote-note{border-left:6px solid var(--acid);background:var(--paper);padding:12px 14px;margin:18px 0;font-size:.95rem}
.vote h2{font-size:clamp(28px,4vw,42px);margin:28px 0 10px}
.vote h3{font-size:1.25rem;margin:22px 0 8px;letter-spacing:-.03em}
.vote p,.vote li{font-size:1.05rem;line-height:1.6}
.vote ol,.vote ul{padding-left:1.2rem}
.vote li{margin:.45rem 0}
.vote-q{margin:12px 0;padding:10px 12px;background:var(--paper);border-left:4px solid var(--blue);font-size:1.02rem}
.vote-src{font-size:.82rem;color:var(--muted);margin:0 0 14px}
.vote-label{display:inline-block;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;border:1px solid currentColor;border-radius:999px;padding:0 .45rem;margin-left:.35rem;font-weight:800}
.vote-cards{display:grid;gap:12px;margin:18px 0 28px}
.vote-card{display:block;text-decoration:none;background:var(--paper);border:1px solid var(--navy);padding:16px 16px 14px}
.vote-card span{display:block;font-size:.72rem;letter-spacing:.12em;font-weight:800;color:var(--blue);margin-bottom:6px}
.vote-card strong{font-family:var(--head);font-size:1.45rem;letter-spacing:-.03em}
.vote-card p{margin:8px 0 0;font-size:.95rem}
.vote-tools{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 20px}
.vote-tools a{background:var(--navy);color:var(--cream);text-decoration:none;padding:10px 12px;font-weight:700;font-size:.92rem;min-height:44px;display:inline-flex;align-items:center}
.demo-tabs{display:flex;gap:8px;overflow-x:auto;margin:8px 0 12px}
.demo-tabs button{flex:0 0 auto;background:transparent;border:1px solid var(--navy);padding:8px 12px;min-height:44px;font-weight:700}
.demo-tabs button[aria-selected="true"]{background:var(--acid);border-color:var(--navy)}
.vote-ballots{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.vote-ballots li{display:grid;gap:6px;border:1px solid var(--line);padding:10px;background:#fff}
.vote-ballots li>span:first-child{font-size:.75rem;letter-spacing:.08em;font-weight:800}
.vote-choices,.vote-checks,.vote-actions{display:flex;flex-wrap:wrap;gap:6px}
.vote-choices button,.vote-checks button,.vote-actions button,.vote-split button{min-height:44px;border:1px solid var(--navy);background:#fff;padding:8px 10px}
.vote-choices button[aria-pressed="true"],.vote-checks button[aria-pressed="true"]{background:var(--navy);color:var(--cream)}
.vote-result,.vote-split{margin-top:12px;padding:12px;background:var(--navy);color:var(--cream)}
.vote-result p,.vote-split p{color:var(--cream);margin:0 0 8px}
.vote-bar{display:grid;grid-template-columns:4.5rem 1fr 2rem;gap:8px;align-items:center;margin:6px 0;font-size:.9rem}
.vote-bar i{display:block;height:12px;background:var(--acid);width:0}
.vote-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.vote-static{margin:12px 0}
.vote-static table{width:100%;border-collapse:collapse;font-size:.95rem}
.vote-static th,.vote-static td{border-bottom:1px solid var(--line);text-align:left;padding:6px 4px}
@media (min-width:720px){
  .vote-cards{grid-template-columns:1fr 1fr}
  .vote-ballots{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){
  .vote-nav{scroll-behavior:auto}
}
