:root{color-scheme:light;--hero-ink:#0f3156;--hero-blue:#0f5f9d;--hero-blue2:#2b8bd5;--hero-warm:#f3efe5}
html[data-theme="dark"]{color-scheme:dark;--navy:#cce8ff;--navy2:#8fc9f5;--ink:#e7f0f7;--muted:#a7bdce;--bg:#0b141c;--card:#111f2a;--line:#2a4051;--soft:#162a38;--accent:#6ebdff;--shadow:0 9px 25px rgba(0,0,0,.28);--green:#91dcb7;--greenbg:#153527;--gold:#ffd58a;--goldbg:#3b2b10;--hero-ink:#e5f3ff;--hero-blue:#5eb6f3;--hero-blue2:#8dd1ff;--hero-warm:#132332}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.header{background:rgba(255,255,255,.96)!important;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)!important}.header-inner{min-height:68px;padding-top:11px!important;padding-bottom:11px!important}.brand{display:flex;flex-direction:column;line-height:1.05}.brand small{margin-top:4px}.menu-icon-button{display:inline-flex!important;align-items:center;justify-content:center;width:42px;height:42px;padding:0!important;border:1px solid var(--line)!important;background:var(--card)!important;border-radius:12px!important;cursor:pointer;position:relative;z-index:81}.menu-bars{width:18px;display:grid;gap:4px}.menu-bars i{display:block;height:2px;border-radius:99px;background:var(--navy)}
.menu-panel{display:none!important;position:fixed!important;z-index:80;top:77px;right:max(18px,calc((100vw - 1180px)/2 + 22px));width:min(360px,calc(100vw - 36px));padding:8px!important;border:1px solid var(--line)!important;border-radius:18px;background:var(--card)!important;box-shadow:0 22px 60px rgba(14,43,68,.2);gap:0!important;align-items:stretch!important;flex-direction:column!important}.menu-panel.open{display:flex!important}.menu-panel-head{padding:13px 14px 10px;color:var(--muted);font-size:12px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.menu-primary,.menu-support{display:grid}.menu-link,.menu-support-link{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:11px;text-decoration:none!important;color:var(--ink)!important;font-size:15px!important;font-weight:780!important}.menu-link:hover,.menu-support-link:hover{background:var(--soft);text-decoration:none!important}.menu-link span:last-child{font-size:22px;line-height:1;color:var(--muted)}.menu-separator{height:1px;background:var(--line);margin:7px 6px}.menu-support-link{justify-content:flex-start}.menu-preferences{display:grid;gap:8px;padding:8px 6px 6px}.menu-pref-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:4px 8px;color:var(--ink);font-size:14px;font-weight:700}.nav-action,.language-select{border:1px solid var(--line);background:var(--card);color:var(--navy);border-radius:9px;padding:7px 9px;font:inherit;font-size:13px;font-weight:760;line-height:1.2}.nav-action{cursor:pointer}.nav-action:hover{border-color:var(--accent)}.language-select{max-width:145px;cursor:pointer}body.menu-is-open::after{content:"";position:fixed;inset:0;background:rgba(8,27,44,.08);z-index:70;pointer-events:none}
.landing-home main{padding-top:0!important}.election-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:56px;align-items:center;min-height:560px;padding:76px 0 82px;margin-bottom:0!important}.election-hero::before{content:"";position:absolute;left:50%;transform:translateX(-50%);width:100vw;inset-block:0;background:linear-gradient(135deg,#f8fbfe 0%,#f4f8fc 58%,#edf4f9 100%);z-index:-2;border-bottom:1px solid var(--line)}.election-hero::after{content:"";position:absolute;right:-9vw;top:60px;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(43,139,213,.12),rgba(43,139,213,0) 68%);z-index:-1}.hero-copy{max-width:650px}.hero-kicker{display:inline-flex;align-items:center;gap:9px;margin-bottom:18px;color:var(--hero-blue);font-size:12px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.hero-kicker-dot{width:8px;height:8px;border-radius:50%;background:#df3c36;box-shadow:0 0 0 5px rgba(223,60,54,.09)}.election-hero h1{font-size:clamp(48px,6vw,76px);line-height:.98;letter-spacing:-.045em;max-width:760px;margin:0 0 22px;color:var(--hero-ink)}.election-hero p{max-width:610px;margin:0;color:#4f6a82;font-size:clamp(18px,2vw,22px);line-height:1.5}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 17px;border-radius:11px;text-decoration:none;font-weight:850;font-size:14px}.hero-button-primary{background:var(--navy);color:#fff;box-shadow:0 9px 20px rgba(11,51,95,.16)}.hero-button-secondary{background:#fff;color:var(--navy);border:1px solid #bed0df}.hero-button:hover{transform:translateY(-1px)}.hero-trust{display:flex;gap:16px;flex-wrap:wrap;margin-top:23px;color:#657b8f;font-size:12px;font-weight:800}.hero-trust span{display:inline-flex;align-items:center;gap:7px}.hero-trust span::before{content:"✓";display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#e5f2e9;color:#257048;font-size:11px;font-weight:900}.hero-visual{display:flex;justify-content:flex-end}.hero-map-card{position:relative;width:min(100%,490px);aspect-ratio:1.08/1;border-radius:28px;overflow:hidden;border:1px solid #c8d9e6;background:linear-gradient(145deg,#eef4ea,#e9f0e5 48%,#d8e8f4 49%,#d1e4f1);box-shadow:0 24px 55px rgba(16,61,96,.16);transform:rotate(1.2deg)}.hero-map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(22,74,111,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(22,74,111,.08) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,#000 0 70%,transparent 90%)}.hero-water{position:absolute;left:-10%;right:-10%;bottom:-17%;height:43%;background:linear-gradient(160deg,#c7dfef,#acd2eb);transform:rotate(-5deg)}.hero-water::before{content:"";position:absolute;left:0;right:0;top:-16px;height:30px;background:linear-gradient(170deg,transparent 0 14%,#e8efe4 15% 43%,transparent 44% 56%,#e8efe4 57% 76%,transparent 77%)}.hero-place-dot{position:absolute;left:51%;top:52%;width:15px;height:15px;border-radius:50%;background:#d93e3b;border:4px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.17)}.hero-place-label{position:absolute;left:56%;top:47%;display:grid;padding:9px 11px;border-radius:10px;background:rgba(255,255,255,.91);box-shadow:0 7px 18px rgba(25,68,98,.12)}.hero-place-label strong{color:#153b5e;font-size:15px}.hero-place-label span{font-size:11px;color:#688095}.hero-lake-label{position:absolute;right:12%;bottom:14%;font-size:12px;color:#477b9d;font-style:italic;font-weight:700;transform:rotate(-5deg)}.hero-candidate-count{position:absolute;left:22px;top:22px;display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:13px;background:rgba(255,255,255,.94);box-shadow:0 10px 24px rgba(28,72,105,.14)}.hero-candidate-count strong{font-size:26px;color:var(--navy);line-height:1}.hero-candidate-count span{max-width:76px;font-size:11px;font-weight:800;line-height:1.15;color:#5e7488;text-transform:uppercase;letter-spacing:.04em}.hero-date-card{position:absolute;right:22px;top:25px;display:grid;min-width:110px;padding:12px 13px;border-radius:14px;background:#123f68;color:#fff;box-shadow:0 12px 28px rgba(18,63,104,.22)}.hero-date-card span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;opacity:.78}.hero-date-card strong{font-size:22px;line-height:1.1;margin-top:2px}.hero-date-card small{font-size:11px;opacity:.72}.hero-voting-note{position:absolute;left:24px;bottom:24px;display:grid;padding:10px 12px;border-radius:11px;background:#fdf9ed;border:1px solid #e8dcc2;box-shadow:0 9px 20px rgba(78,65,35,.1)}.hero-voting-note span{font-size:10px;color:#827051;text-transform:uppercase;font-weight:850;letter-spacing:.07em}.hero-voting-note strong{color:#614e2c;font-size:15px}
.landing-home #candidates{padding-top:70px}.landing-home section{scroll-margin-top:95px}.section-title{font-size:clamp(30px,4vw,42px)!important;letter-spacing:-.035em!important;margin-bottom:10px!important}.section-deck{max-width:760px;margin:0 0 28px;color:var(--muted);font-size:16px}.site-independent-note{margin:18px 0 0;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--soft);color:var(--ink);font-size:13px}.site-independent-note strong{color:var(--navy)}.site-independent-note a{font-weight:800;color:var(--navy)}
.site-legal-footer{max-width:1180px;margin:0 auto;padding:0 22px 34px;color:var(--muted);font-size:13px}.site-legal-footer-inner{padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.footer-brand-block{max-width:580px}.footer-brand-block strong{display:block;color:var(--navy);font-size:14px;margin-bottom:4px}.footer-brand-block p{margin:0}.site-legal-footer a{font-weight:760;color:var(--navy)}.site-legal-links{display:flex;gap:15px;flex-wrap:wrap;align-items:flex-start}
html[data-theme="dark"] body{background:var(--bg);color:var(--ink)}html[data-theme="dark"] .header{background:rgba(15,28,38,.96)!important;border-color:var(--line)}html[data-theme="dark"] .banner{background:#102f4a;color:#fff}html[data-theme="dark"] .menu-icon-button,html[data-theme="dark"] .candidate-card,html[data-theme="dark"] .profile-box,html[data-theme="dark"] .conversation div,html[data-theme="dark"] .issue-person,html[data-theme="dark"] .source-group,html[data-theme="dark"] .select-wrap select,html[data-theme="dark"] .nav-action,html[data-theme="dark"] .language-select{background:var(--card);color:var(--ink);border-color:var(--line)}html[data-theme="dark"] .photo-placeholder,html[data-theme="dark"] .mini-placeholder{background:#1b3040;color:#bdd2e2}html[data-theme="dark"] .issue-context{background:#13293a;border-color:#315069}html[data-theme="dark"] .candidate-body p,html[data-theme="dark"] .profile-box ul,html[data-theme="dark"] .conversation p,html[data-theme="dark"] .issue-position,html[data-theme="dark"] .meaning-detail p,html[data-theme="dark"] .date-card p,html[data-theme="dark"] .method-body>p{color:#bed0de}html[data-theme="dark"] .h2h-link{background:#24699e;color:#fff}html[data-theme="dark"] .skip{background:#fff;color:#102337}html[data-theme="dark"] .election-hero::before{background:linear-gradient(135deg,#0e1a24 0%,#10212d 58%,#132532 100%)}html[data-theme="dark"] .election-hero p{color:#b7cad8}html[data-theme="dark"] .hero-button-secondary{background:#122431;color:#dceefd;border-color:#335068}html[data-theme="dark"] .hero-trust{color:#adc0cf}html[data-theme="dark"] .hero-trust span::before{background:#173828;color:#8ddcb2}html[data-theme="dark"] .hero-map-card{filter:saturate(.8) brightness(.78);border-color:#35536a}
.simple-page main{padding-top:38px}.simple-page .page-shell{max-width:860px;margin:0 auto}.simple-page .page-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.11em;font-weight:850;color:var(--muted);margin-bottom:8px}.simple-page h1{margin-bottom:12px}.simple-page .page-lead{font-size:18px;color:var(--muted);margin:0 0 28px;max-width:760px}.simple-page .policy-card{background:var(--card);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);padding:22px;margin-bottom:16px}.simple-page .policy-card h2{font-size:24px;margin:0 0 10px}.simple-page .policy-card h3{font-size:17px;margin:20px 0 7px}.simple-page .policy-card p{margin:0 0 12px}.simple-page .policy-card p:last-child{margin-bottom:0}.simple-page .policy-card ul{margin:8px 0 12px;padding-left:22px}.simple-page .policy-card li+li{margin-top:7px}.simple-page .callout{padding:14px 15px;border-left:4px solid var(--accent);background:var(--soft);border-radius:0 11px 11px 0;margin:16px 0}.simple-page .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.simple-page .button-link{display:inline-flex;align-items:center;text-decoration:none;background:var(--navy);color:#fff;padding:10px 13px;border-radius:10px;font-weight:800}html[data-theme="dark"] .simple-page .button-link{background:#276fa6}.simple-page .button-secondary{background:var(--soft);color:var(--navy);border:1px solid var(--line)}.simple-page .updated{font-size:13px;color:var(--muted);margin-top:28px}
@media(max-width:1020px){.election-hero{grid-template-columns:1fr .82fr;gap:32px;min-height:510px}.hero-map-card{max-width:420px}}@media(max-width:800px){.election-hero{grid-template-columns:1fr;min-height:auto;padding:58px 0 64px}.hero-copy{max-width:700px}.hero-visual{justify-content:flex-start}.hero-map-card{width:min(100%,560px)}.landing-home #candidates{padding-top:54px}.menu-panel{right:18px}}@media(max-width:720px){.banner .wrap{text-align:center!important}.header-inner{padding:10px 18px!important}.wrap{padding-left:18px!important;padding-right:18px!important}.menu-panel{top:69px;width:calc(100vw - 24px);right:12px}.election-hero{padding:46px 0 54px}.election-hero h1{font-size:48px}.election-hero p{font-size:18px}.hero-actions{display:grid}.hero-button{width:100%}.hero-map-card{border-radius:22px}.hero-place-label{left:54%}.site-legal-footer{padding:0 18px 28px}.site-legal-footer-inner{display:block}.site-legal-links{margin-top:13px}.simple-page .policy-card{padding:18px}}@media(max-width:480px){.election-hero h1{font-size:42px}.hero-map-card{aspect-ratio:.94/1}.hero-candidate-count{left:14px;top:14px}.hero-date-card{right:14px;top:14px}.hero-voting-note{left:14px;bottom:14px}.hero-place-label{left:49%;top:48%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-button{transition:none}.hero-button:hover{transform:none}}@media(prefers-contrast:more){:root{--line:#7790a4}.nav-action,.language-select,.simple-page .policy-card{border-width:2px}}
