:root{--ink:#17211f;--muted:#68736e;--paper:#f7f7f2;--white:#fff;--line:#dfe4dc;--green:#1d5549;--mint:#dbeee5;--orange:#d66d43;--yellow:#e8c86b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Arial,sans-serif}.wrap{max-width:1120px;margin:auto;padding-left:28px;padding-right:28px}.site-header{height:76px;display:flex;align-items:center;gap:36px;border-bottom:1px solid var(--line);padding:0 max(28px,calc((100vw - 1120px)/2));position:sticky;top:0;background:#f7f7f2ee;z-index:2}.brand{font-weight:700;color:var(--ink);text-decoration:none}.mark{display:inline-grid;place-items:center;border-radius:50%;width:28px;height:28px;background:var(--green);color:#fff;margin-right:8px}.site-header nav{margin-left:auto;display:flex;gap:28px}.site-header nav a,.link{color:var(--muted);text-decoration:none;font-size:14px}.outline{border:1px solid #b9c5bd;background:transparent;color:var(--green);padding:9px 16px;border-radius:3px;font-weight:bold}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:80px;padding-top:90px;padding-bottom:68px}.eyebrow{font:11px monospace;letter-spacing:.09em;text-transform:uppercase;color:var(--green)}h1,h2,h3{font-family:Georgia,serif;line-height:1.05;letter-spacing:-.03em}h1{font-size:clamp(58px,8vw,100px);margin:12px 0 20px}h1 span{color:var(--orange)}h2{font-size:clamp(34px,4vw,52px);margin:10px 0 22px}.lede{font-size:18px;color:var(--muted);max-width:530px}.actions{display:flex;align-items:center;gap:26px;margin-top:32px}.button{display:inline-block;padding:13px 18px;background:var(--green);border:0;border-radius:3px;color:#fff;text-decoration:none;font-weight:bold;cursor:pointer}.countdown{background:var(--green);color:#fff;padding:30px 34px;align-self:end;min-height:210px}.countdown .eyebrow{color:#a9d4c0}.countdown strong{font:60px Georgia,serif;display:inline-block;margin-top:8px}.countdown small{color:#bbd4c9;margin-left:10px}.notice{border-block:1px solid var(--line);min-height:60px;display:flex;align-items:center;gap:12px;font-size:13px}.notice a{margin-left:auto;color:var(--green);font-weight:bold;text-decoration:none}.pending,.verified,.unclear{width:9px;height:9px;border-radius:50%;background:var(--yellow);display:inline-block;flex:0 0 auto}.verified{background:#4f9b71}.unclear{background:var(--orange)}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.stats>div{padding:34px 24px 34px 0;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:3px}.stats>div+div{padding-left:24px}.stats>div:last-child{border:0}.stats small{font:11px monospace;text-transform:uppercase;color:var(--green)}.stats strong{font:42px Georgia,serif}.stats em{font-style:normal;color:var(--muted);font-size:13px}.section{padding-top:94px;padding-bottom:94px}.heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:34px}.heading h2{margin-bottom:0}.heading label{padding:6px 10px;border-radius:20px;background:#f3e8be;color:#806b21;font:11px monospace}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.grid article{background:#fff;border:1px solid var(--line);padding:25px;min-height:218px;display:flex;flex-direction:column}.grid article>small{font:11px monospace;text-transform:uppercase;color:var(--green)}h3{font-size:22px;margin:15px 0 10px}.grid article p{font-size:14px;color:var(--muted);margin-bottom:auto}.grid article footer{font:11px monospace;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:8px}.band{background:var(--mint)}.split{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:86px;padding-bottom:86px}.evidence{border-top:1px solid #a9c8b9}.evidence p{display:flex;gap:22px;padding:20px 0;border-bottom:1px solid #a9c8b9}.evidence b{font:12px monospace;color:var(--green)}.evidence strong,.evidence small{display:block}.evidence small{color:#557068;margin-top:4px}.beliefs{background:#f0e9dc;display:grid;grid-template-columns:1.2fr 1fr;padding:64px;gap:60px}.chips{display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:10px;transform:rotate(-5deg)}.chips span{padding:15px 21px;background:#fff;border:1px solid #d8cdbd;font:13px monospace}.chips span:nth-child(2){background:var(--green);color:#fff;transform:rotate(8deg)}.chips span:nth-child(3){background:#f5d88a}.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.source-grid>div{border-top:2px solid var(--green);padding:17px 0}.source-grid strong{margin-left:9px}.source-grid p{font-size:14px;color:var(--muted);margin:6px 0}.source-note{border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:13px}.source-note a{color:var(--green)}footer{border-top:1px solid var(--line);padding:22px 0;color:var(--muted);font:11px monospace}footer span{float:right}dialog{border:0;padding:0;width:min(560px,calc(100% - 32px));box-shadow:0 20px 80px #17211f30}dialog::backdrop{background:#17211f66}dialog form{padding:34px}.close{float:right;border:0;background:transparent;font-size:28px;color:var(--muted)}.question-progress{font:11px monospace;color:var(--muted)}.question-copy{font-size:24px}.option{display:block;border:1px solid var(--line);padding:13px 15px;background:#fff;margin:9px 0;cursor:pointer}.option:has(input:checked){border-color:var(--green);background:var(--mint)}.dialog-actions{display:flex;justify-content:space-between;margin-top:28px}
@media(max-width:760px){.site-header{padding:0 18px}.site-header nav{display:none}.site-header .outline{margin-left:auto}.wrap{padding-left:20px;padding-right:20px}.hero{display:block;padding-top:55px}.countdown{margin-top:45px}.notice{align-items:flex-start;flex-wrap:wrap;padding:16px 20px}.notice a{margin-left:21px}.stats>div{padding:24px 10px 24px 0}.stats>div+div{padding-left:10px}.stats strong{font-size:30px}.grid,.source-grid{grid-template-columns:1fr}.section{padding-top:62px;padding-bottom:62px}.split,.beliefs{display:block;padding:60px 25px}.evidence{margin-top:44px}.beliefs{margin-left:20px;margin-right:20px}.chips{margin-top:35px}.actions{align-items:flex-start;flex-direction:column;gap:18px}}

/* Compact election-first landing view: reveal ballot cards without a full-screen hero. */
.hero{padding-top:34px;padding-bottom:28px;gap:32px;align-items:center;grid-template-columns:minmax(0,1fr) 270px}
.hero h1{font-size:clamp(42px,5vw,64px);margin:5px 0 8px}
.hero .lede{font-size:16px;margin:8px 0}
.hero .actions{margin-top:18px;gap:15px;flex-wrap:wrap}
.election-date-inline{font-weight:700;color:var(--green);margin:0 0 6px}
.countdown{min-height:140px;padding:18px 22px;align-self:center}
.countdown strong{font-size:46px;margin-top:0}
.stats>div{padding-top:14px;padding-bottom:14px}
.section#contests{padding-top:34px;padding-bottom:52px}
.section#contests .heading{margin-bottom:18px}
.section#contests h2{font-size:clamp(30px,3vw,40px)}
.grid article{min-height:170px;padding:19px}
@media(max-width:760px){.hero{padding-top:24px;padding-bottom:22px;display:block}.hero h1{font-size:48px}.countdown{margin-top:22px;min-height:0}.hero .actions{gap:12px}.stats>div{padding-top:14px;padding-bottom:14px}}

/* Sourced election planning cards */
#vote-plan{padding-top:42px;padding-bottom:60px}
.vote-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.vote-plan-grid article{background:#fff;border:1px solid var(--line);padding:22px}
.vote-plan-grid small{display:block;font:11px monospace;text-transform:uppercase;color:var(--green)}
.vote-plan-grid strong{display:block;font:30px Georgia,serif;margin:8px 0}
.vote-plan-grid p{color:var(--muted);font-size:14px;margin:0}
.vote-plan-links{display:flex;flex-wrap:wrap;gap:14px 24px;margin:24px 0}
.vote-plan-links a{color:var(--green);font-weight:700;font-size:14px}
.verified-tag{font:11px monospace;color:var(--green);background:var(--mint);padding:8px 10px;border-radius:18px}
@media(max-width:760px){.vote-plan-grid{grid-template-columns:1fr}#vote-plan{padding-top:26px}.verified-tag{display:none}}

/* Evidence-labeled preliminary ballot */
.ballot-warning{background:#fff9e8;border-left:4px solid var(--yellow);padding:17px 20px;margin:0 0 25px;color:var(--ink);font-size:14px}
.ballot-warning a,.ballot-row a{color:var(--green)}
.ballot-group{margin:30px 0}.ballot-group h3{font-size:27px;margin:0 0 15px}
.ballot-list{border-top:1px solid var(--line)}
.ballot-row{display:grid;grid-template-columns:1.1fr 1.6fr auto;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.ballot-row h4{font:700 21px Georgia,serif;margin:5px 0}.ballot-row small{font:11px monospace;color:var(--muted);text-transform:uppercase}
.ballot-candidates{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ballot-candidates strong,.ballot-candidates span{display:block}.ballot-candidates span{font-size:12px;color:var(--muted)}.ballot-row>a{font-size:12px;white-space:nowrap}
@media(max-width:760px){.ballot-row{grid-template-columns:1fr;gap:12px}.ballot-candidates{grid-template-columns:1fr 1fr}.ballot-row>a{justify-self:start}}

/* Private print-only voting-day reference */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.print-ballot-controls{padding:20px 22px;margin:20px 0;background:#eef5ec;border:1px solid var(--line)}
.print-ballot-controls p{font-size:14px;line-height:1.6}.print-ballot-controls button{margin:8px 12px 8px 0}
.ballot-candidates{border:0;padding:0;margin:0}.ballot-option{display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:14px}.ballot-option input{margin-top:5px;accent-color:#24513b}.ballot-option small{display:block;color:var(--muted)}
#private-print-sheet{display:none}
@media print{body>*:not(#private-print-sheet){display:none!important}#private-print-sheet{display:block!important;position:static!important;color:#000;background:#fff;font:12pt Georgia,serif;margin:0}#private-print-sheet h1{font-size:20pt;margin-bottom:10pt}#private-print-sheet p{break-inside:avoid;border-bottom:1px solid #ddd;padding:6pt 0;margin:0} @page{margin:0.65in}}

.vote-privacy-notice{background:#fff;border:2px solid #24513b;border-radius:8px;padding:16px 18px;margin:0 0 18px}.vote-privacy-notice>strong{display:block;font-size:18px;color:#24513b}.vote-privacy-notice p{margin:8px 0 0}

/* Compact mobile-first ballot: one-tap choices, no sideways scrolling */
.ballot-progress{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;font-weight:700;color:var(--green)}
.ballot-progress span:last-child{font-weight:400;color:var(--muted)}
.ballot-howto{margin:8px 0 12px!important}.ballot-group{margin:20px 0}.ballot-group h3{font-size:20px;margin-bottom:8px}
.ballot-row{grid-template-columns:minmax(150px,.9fr) minmax(0,2fr) auto;gap:14px;padding:13px 0}
.ballot-race-title h4{font-size:17px;line-height:1.2;margin:0 0 5px}.ballot-candidates{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;min-width:0}
.ballot-option{display:flex;align-items:center;min-width:0;gap:7px;border:1px solid var(--line);border-radius:7px;padding:10px;min-height:44px;background:#fff;line-height:1.25}
.ballot-option:has(input:checked){border-color:var(--green);background:#eaf4ec;box-shadow:inset 0 0 0 1px var(--green)}
.ballot-option strong{font-size:13px;overflow-wrap:anywhere}.ballot-option small{font-size:11px}.ballot-option input{flex:0 0 auto;margin:0}.ballot-row-actions a{font-size:12px}
.ballot-mobile-bar{display:none}
@media(max-width:760px){
 #contests{padding-bottom:30px}.ballot-warning{padding:12px;font-size:12px;margin-bottom:12px}.ballot-warning:first-of-type{line-height:1.45}
 .print-ballot-controls{padding:12px;margin:12px 0}.vote-privacy-notice{padding:10px 12px;margin-bottom:10px}.vote-privacy-notice>strong{font-size:14px}.vote-privacy-notice p{font-size:12px;line-height:1.4}
 .print-ballot-controls>.button,.print-ballot-controls>.outline{display:none}.print-ballot-controls .source-note{font-size:11px;margin:5px 0}.ballot-howto{font-size:12px!important}
 .ballot-group{margin:18px 0}.ballot-group h3{font-size:18px}.ballot-row{display:block;padding:13px 0}.ballot-race-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.ballot-race-title h4{font-size:17px}.ballot-race-title small{font-size:9px;text-align:right}
 .ballot-candidates{display:grid;grid-template-columns:1fr 1fr;gap:7px}.ballot-undecided{grid-column:1/-1;min-height:40px}.ballot-option{padding:9px;min-height:48px}.ballot-option strong{font-size:12px}.ballot-row-actions{margin-top:7px;text-align:right}.ballot-row-actions a{font-size:11px}
 .ballot-mobile-bar:not([hidden]){position:fixed;display:flex;align-items:center;justify-content:space-between;gap:12px;bottom:0;left:0;right:0;z-index:30;padding:10px max(14px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:#fff;border-top:1px solid var(--line);box-shadow:0 -3px 16px #0002}
 .ballot-mobile-bar span{font-size:13px;font-weight:700}.ballot-mobile-bar .button{min-height:44px;padding:10px 18px;white-space:nowrap}body{padding-bottom:76px}
}
@media print{.ballot-mobile-bar{display:none!important}body{padding-bottom:0!important}}

/* Source-first, compact candidate research disclosure */
.candidate-evidence{grid-column:1/-1;border-top:1px dashed var(--line);padding:8px 0 0}.candidate-evidence>summary{cursor:pointer;color:var(--green);font-size:13px;font-weight:700;min-height:34px;display:list-item;list-style:revert;list-style-position:inside}.evidence-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:10px 0}.evidence-candidates>section{background:#f8faf8;border:1px solid var(--line);border-radius:8px;padding:12px;min-width:0}.evidence-candidates h5{font-size:15px;margin:0 0 8px}.evidence-empty,.evidence-disclaimer{font-size:12px;line-height:1.5;color:var(--muted)}.evidence-disclaimer{grid-column:1/-1}.evidence-claim{padding:8px 0;border-top:1px solid var(--line);font-size:13px}.evidence-meta{font-size:11px;font-weight:700}.evidence-claim a{overflow-wrap:anywhere}.evidence-claim small{display:block;color:var(--muted)}@media(max-width:760px){.evidence-candidates{grid-template-columns:1fr;gap:8px}.candidate-evidence{margin-top:8px}}

/* Private location entry and research exploration */
.location-form{padding:18px;background:var(--white);border:1px solid var(--line);border-radius:12px}.location-form>label,.explore-filters label{font-weight:700;display:block;font-size:13px;margin-bottom:7px}.location-inputs{display:flex;gap:8px;flex-wrap:wrap}.location-inputs input{flex:1 1 220px}.location-inputs input,.explore-filters input,.explore-filters select{border:1px solid var(--line);border-radius:8px;padding:12px;min-height:44px;font:inherit;background:#fff;max-width:100%}.location-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px}.explore-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.explore-filters label{margin:0}.explore-filters input{flex:1 1 200px}.explore-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.explore-card{border:1px solid var(--line);border-radius:10px;padding:16px;background:var(--white)}.explore-card h3{margin:0 0 8px}.explore-card p{font-size:13px}.explore-card .eyebrow{margin:0 0 5px}@media(max-width:700px){.explore-list{grid-template-columns:1fr}.location-inputs>*{width:100%}.location-links{display:grid;gap:8px}.explore-filters{align-items:stretch;display:grid}}
.questionnaire-promo{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:22px;padding:26px 30px;background:var(--green);color:#fff;border-radius:8px}.questionnaire-promo .eyebrow{color:#b9dfca;margin:0 0 6px}.questionnaire-promo h2{font-size:32px;margin:0 0 6px;color:#fff}.questionnaire-promo p:not(.eyebrow){margin:0;color:#d8ece1;font-size:14px;max-width:680px}.questionnaire-promo .button{background:#f5d88a;color:var(--ink);white-space:nowrap}
@media(max-width:760px){.questionnaire-promo{display:block;margin-top:16px;padding:22px 20px}.questionnaire-promo h2{font-size:28px}.questionnaire-promo .button{margin-top:18px}}
.evidence-summary{margin:5px 0!important;color:var(--ink)!important;font-size:14px!important;line-height:1.4!important}.evidence-claim details{margin-top:6px}.evidence-claim details summary{cursor:pointer;color:var(--green);font-weight:700;font-size:12px}.evidence-claim ul{margin:6px 0 0;padding-left:18px}.evidence-claim li{margin:4px 0}
.mobile-nav{display:none}
@media(max-width:760px){.mobile-nav{position:fixed;display:flex;align-items:stretch;justify-content:space-around;bottom:0;left:0;right:0;height:calc(70px + env(safe-area-inset-bottom));z-index:40;background:var(--green);border-top:0;box-shadow:0 -8px 24px #17211f40;padding:0 8px env(safe-area-inset-bottom)}.mobile-nav a{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:48px;margin:5px 2px;border-radius:10px;color:#fff;font:700 12px/1.1 Arial,sans-serif;letter-spacing:.02em;text-transform:uppercase;text-decoration:none}.mobile-nav a span{font:21px/1 Arial;color:currentColor}.mobile-nav a strong{font:inherit}.mobile-nav a[aria-current="page"]{background:#ffffff24;box-shadow:inset 0 0 0 1px #bfe5d3}.mobile-nav a:active,.mobile-nav a:focus-visible{background:#ffffff24;color:#fff;outline:2px solid #bfe5d3;outline-offset:-2px}body{padding-bottom:calc(150px + env(safe-area-inset-bottom))}.ballot-mobile-bar:not([hidden]){bottom:calc(70px + env(safe-area-inset-bottom))}}
.value-match{background:#f4f8f3}.value-match[hidden]{display:none}.match-empty{background:#fff;border:1px solid var(--line);padding:20px}.match-empty p{margin:6px 0 0;font-size:14px;color:var(--muted)}.match-card{background:#fff;border:1px solid var(--line);padding:20px;margin:14px 0}.match-card h3{margin:0 0 2px}.match-card>.muted{font-size:13px;margin-bottom:14px}.match-row{display:grid;grid-template-columns:1fr auto;gap:4px 14px;padding:10px 0;border-top:1px solid var(--line);font-size:13px}.match-row p{grid-column:1/-1;margin:0;color:var(--muted);font-size:13px}.match-row a{grid-column:1/-1;color:var(--green);font-size:12px;font-weight:700}.match-unknown,.match-supports,.match-conflicts,.match-mixed{font:11px monospace;text-transform:uppercase}.match-unknown{color:var(--muted)}.match-supports{color:#2f7d50}.match-conflicts{color:#a34d36}.match-mixed{color:#8b6b1e}@media(max-width:760px){.match-row{grid-template-columns:1fr}.match-row span{justify-self:start}}
.question-skip{display:block;margin:12px 0 0;border:0;background:transparent;color:var(--muted);font-size:13px;text-decoration:underline;cursor:pointer}

[hidden]{display:none!important}
