.civic-page{max-width:1100px}
.civic-page h1{font-size:clamp(46px,8vw,88px);line-height:.92;letter-spacing:-.045em;max-width:16ch}
.civic-byline{margin:12px 0 16px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.civic-page .lede{max-width:70ch;font-size:18px}
.timeline{list-style:none;margin:0;padding:0;border-left:3px solid var(--navy)}
.timeline li{margin:0 0 16px 0;padding:0 0 8px 16px}
.timeline time{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.vote-wrap{overflow:auto;border:1px solid var(--line)}
.vote-grid{border-collapse:collapse;width:100%;font-size:14px;background:var(--paper)}
.vote-grid th,.vote-grid td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.vote-grid thead th{font-size:11px;letter-spacing:.05em;text-transform:uppercase}
.bill{border-top:1px solid var(--line);padding:18px 0}
.bill h3{font-size:clamp(24px,3vw,34px);letter-spacing:-.03em}
.signal-note{font-size:14px}
.signal-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.signal-buttons button{min-height:44px;border-radius:999px;border:1px solid var(--navy);background:var(--paper);padding:8px 14px;font-weight:700}
.how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.how article{border:1px solid var(--line);padding:14px;background:var(--paper)}
@media(max-width:800px){.how{grid-template-columns:1fr}.civic-page h1{font-size:44px}}
