@font-face{font-family:Gotham;src:url(/assets/fonts/Gotham-Book.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Gotham;src:url(/assets/fonts/Gotham-Medium.otf) format("opentype");font-weight:500 600;font-style:normal;font-display:swap}@font-face{font-family:Gotham;src:url(/assets/fonts/Gotham-Bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Gotham;src:url(/assets/fonts/Gotham-Black.otf) format("opentype");font-weight:800 900;font-style:normal;font-display:swap}@font-face{font-family:Avenir Next;src:url(/assets/fonts/AvenirNext-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Avenir Next;src:url(/assets/fonts/AvenirNext-DemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Avenir Next;src:url(/assets/fonts/AvenirNext-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:TT Norms Pro;src:url(/assets/fonts/TTNormsPro-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:TT Norms Pro;src:url(/assets/fonts/TTNormsPro-DemiBold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,Avenir Next,Arial,sans-serif;color:#021b57;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--page: #ffffff;--paper: #ffffff;--ink: #021b57;--muted: rgb(2 27 87 / 68%);--line: rgb(3 54 173 / 16%);--purple: #0336ad;--purple-dark: #021b57;--purple-wash: #edf1f9;--green: #0336ad;--green-wash: #edf1f9;--pink: #fc177a;--pink-wash: #ffeff6;--blue: #0336ad;--blue-wash: #edf1f9;--red: #fc177a;--orange: #0336ad}.multi-page-app,.multi-page-app button,.multi-page-app input,.multi-page-app select{font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,Avenir Next,Arial,sans-serif}.multi-page-app h1,.multi-page-app h2,.multi-page-app h3,.multi-page-app strong{font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,TT Norms Pro,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--page);color:var(--ink)}body,button,input,select{font-family:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;max-width:100%}.app-shell{min-height:100vh}.skip-link{position:fixed;left:12px;top:-60px;z-index:200;padding:10px 14px;border-radius:6px;background:#fff;box-shadow:0 2px 12px #00000029}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;z-index:80;background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-main{height:80px;position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 20px}.tip-button{justify-self:start;display:inline-flex;align-items:center;justify-content:center;min-width:84px;height:42px;padding:0 18px;border:2px solid var(--blue);border-radius:12px;color:var(--blue);font-size:15px;font-weight:500;background:#fff;transition:.16s ease}.tip-button:hover{background:var(--green-wash);transform:translateY(-1px)}.brand-link{display:inline-flex;justify-content:center}.brand-logo{display:inline-flex;align-items:center;gap:.18em;color:var(--blue);font-family:Gotham,Avenir Next,Helvetica Neue,Arial,sans-serif;font-size:clamp(30px,2.6vw,38px);font-weight:900;line-height:1;letter-spacing:-.045em;white-space:nowrap}.brand-logo-mark{display:grid;width:.78em;height:.78em;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--pink);box-shadow:0 5px 14px #fc177a2e;color:var(--paper)}.brand-logo-mark svg{width:.48em;height:.48em}.brand-logo-word{display:inline-flex;align-items:baseline;gap:.22em}.brand-logo-vote{color:var(--pink)}.brand-logo-richmond,.brand-logo--dark .brand-logo-richmond{color:var(--blue)}.brand-link img{width:272px;height:43px}.header-actions{justify-self:end;display:flex;align-items:center;gap:14px}.header-search{display:flex;align-items:center;justify-content:flex-end;gap:6px}.header-search input{width:230px;height:52px;padding:0 14px;background:#fff;border:1px solid var(--line);border-radius:7px;outline:2px solid rgb(3 54 173 / 10%);font-size:15px}.header-search button,.user-button,.mobile-menu-button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;background:transparent;cursor:pointer}.user-button{width:38px;height:38px;border:1px solid var(--line);border-radius:999px;background:#fff}.desktop-nav{height:44px;display:flex;align-items:center;justify-content:center;gap:22px;border-top:1px solid var(--line)}.nav-link-row{display:flex;align-items:center}.nav-link{padding:9px 0;font-size:16px;font-weight:500;white-space:nowrap}.nav-link:hover{color:var(--purple-dark)}.nav-chevron{display:grid;place-items:center;width:22px;height:30px;padding:0;border:0;background:transparent;cursor:pointer;transition:.16s ease}.nav-chevron:focus-visible{outline:1px solid var(--purple);border-radius:3px}.nav-chevron[aria-expanded=true] svg{transform:rotate(180deg)}.nav-dropdown{position:relative}.nav-dropdown-panel{position:absolute;top:calc(100% + 1px);left:-14px;z-index:30;min-width:204px;padding:7px 0;border:1px solid #e0e1e6;border-radius:0 0 17px 17px;background:#fff;box-shadow:0 10px 25px #291e451f;overflow:hidden}.nav-dropdown-panel a{display:block;padding:11px 16px;font-size:16px;white-space:nowrap}.nav-dropdown-panel a:hover{background:#f4f1fb;color:var(--purple-dark)}.mobile-menu-button,.mobile-menu,.mobile-metrics-rail,.mobile-lead-block,.mobile-forecast-projects{display:none}.search-results{position:sticky;top:124px;z-index:70;width:min(780px,calc(100% - 40px));margin:0 auto;padding:16px 20px;border:1px solid #d8d5e4;border-radius:0 0 16px 16px;background:#fff;box-shadow:0 18px 35px #291e4521}.search-results>div{display:flex;justify-content:space-between;align-items:center}.search-results button{display:grid;place-items:center;border:0;background:transparent;cursor:pointer}.search-results ul{margin:12px 0 0;padding-left:20px}.search-results li{margin:7px 0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:grid;place-items:center;padding:24px;background:#0d0d1473;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.sign-in-modal{position:relative;width:min(420px,100%);padding:36px;border-radius:22px;background:#fff;box-shadow:0 25px 90px #0000003d}.sign-in-modal>img{width:210px}.sign-in-modal h2{margin:28px 0 7px;font-size:27px}.sign-in-modal p{color:var(--muted);line-height:1.5}.sign-in-modal label{display:grid;gap:7px;margin-top:22px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.sign-in-modal input{height:48px;padding:0 13px;border:1px solid var(--line);border-radius:8px;font-size:16px}.modal-close{position:absolute;top:18px;right:18px;display:grid;place-items:center;border:0;background:transparent;cursor:pointer}.modal-primary{width:100%;height:48px;margin-top:15px;border:0;border-radius:8px;background:var(--purple);color:#fff;font-size:16px;font-weight:600;cursor:pointer}.page-layout{display:grid;grid-template-columns:minmax(0,1fr) 266px;gap:24px;max-width:1376px;margin:24px auto 0;padding:0 0 48px}.content-area{min-width:0}.civiclab-banner{height:169px;display:grid;grid-template-columns:44% 56%;align-items:center;margin-bottom:24px;padding:22px 86px 22px 128px;border-radius:18px;background:#eee8f8 url(/assets/civiclab-background.png) center / cover no-repeat;overflow:hidden}.civiclab-brand{display:grid;justify-items:start}.civiclab-brand>strong{font-family:TT Norms Pro,sans-serif;color:var(--purple);font-size:clamp(48px,5vw,74px);line-height:.9;font-weight:500}.civiclab-brand>span{display:flex;align-items:center;gap:5px;margin:7px 0 0 52px;font-size:22px}.civiclab-brand img{width:156px}.civiclab-cta h2{max-width:540px;margin:0 0 16px;color:var(--purple);font-size:clamp(26px,2.3vw,35px);line-height:1.08}.civiclab-cta a{display:inline-flex;align-items:center;gap:8px;padding:14px 20px;border-radius:15px;background:var(--purple);color:#fff;font-size:15px;font-weight:600;box-shadow:0 7px 18px #743fe438}.desktop-lead-grid{display:grid;grid-template-columns:minmax(0,1.232fr) minmax(0,1fr);gap:24px}.feature-story{min-width:0;border-radius:20px;background:#f1f0f9;overflow:hidden}.feature-image-link{display:block;padding:28px 28px 0}.feature-image{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:14px}.feature-copy{padding:24px 28px 32px}.feature-copy time,.small-story time,.recent-list time{color:var(--purple);font-size:13px;font-weight:700;letter-spacing:.025em}.feature-copy h1{margin:8px 0 10px;font-size:clamp(30px,2.65vw,39px);line-height:1.04;letter-spacing:-.025em}.feature-copy h1 a:hover,.small-story h2 a:hover{color:var(--purple-dark)}.feature-copy p{margin:0;color:#5b5d64;font-size:17px;line-height:1.5}.byline{display:inline-block;margin-top:28px;font-size:13px;font-weight:600;letter-spacing:.035em}.middle-column{min-width:0}.forecast-carousel{position:relative;height:440px;border:1px solid #dddce5;border-radius:18px;background:#fff;overflow:hidden}.forecast-carousel>a{position:relative;display:block;height:363px;overflow:hidden}.forecast-carousel>a>img{width:100%;height:100%;object-fit:cover}.forecast-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#170e3005 25%,#1b1238b8)}.forecast-copy{position:absolute;left:28px;right:28px;bottom:24px;color:#fff}.forecast-copy span{color:#e4d6ff;font-size:12px;font-weight:700;letter-spacing:.08em}.forecast-copy h2{margin:4px 0 0;font-size:28px;line-height:1.03}.forecast-controls{position:absolute;inset:auto 0 0;height:112px;display:grid;grid-template-columns:54px 1fr 54px;align-items:center;gap:8px;padding:9px 12px 12px;border-top:1px solid #eeeef2;background:#fffffff7}.forecast-controls>button{display:grid;place-items:center;width:34px;height:34px;margin:auto;padding:0;border:1px solid #dedee6;border-radius:8px;background:#fff;cursor:pointer}.forecast-center{min-width:0;display:grid;justify-items:center}.forecast-dots{display:flex;gap:5px}.forecast-dots button{width:7px;height:7px;padding:0;border:0;border-radius:999px;background:#c9c9d0;cursor:pointer}.forecast-dots button.is-active{background:var(--purple)}.forecast-center p{max-width:340px;margin:7px 0 4px;font-size:12px;font-weight:600;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flip-badge{padding:4px 7px;border-radius:5px;background:#f1eef8;color:#6e5b94;font-size:10px;font-weight:700}.flip-badge small{font-size:9px;font-weight:500}.project-stack{display:grid;gap:24px;margin-top:24px}.project-card{position:relative;display:block;min-height:124px;border-radius:17px;overflow:hidden;color:#fff}.project-card img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.project-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#2f156cc7,#5836a23b);transition:.18s ease}.project-card:hover .project-overlay{background:linear-gradient(90deg,#2f156ce0,#5836a261)}.project-copy{position:absolute;inset:auto 34px 30px;display:grid;gap:3px}.project-copy small{font-size:12px;font-weight:700}.project-copy strong{font-size:23px;line-height:1.04}.project-card-tall{min-height:124px}.candidate-tracker{scroll-margin-top:138px;margin-top:52px;padding:30px;border:1px solid var(--line);border-radius:18px;background:#fff}.candidate-tracker-header{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;padding-bottom:24px;border-bottom:1px solid var(--line)}.section-eyebrow{display:block;margin-bottom:7px;color:var(--purple);font-size:12px;font-weight:700;letter-spacing:.05em}.candidate-tracker-header h2{max-width:680px;margin:0;font-family:TT Norms Pro,Avenir Next,sans-serif;font-size:34px;line-height:1.02}.candidate-tracker-header p{max-width:720px;margin:10px 0 0;color:var(--muted);font-size:15px;line-height:1.42}.candidate-tracker-header>a,.candidate-tracker-footer a,.candidate-poll-panel>a{display:inline-flex;align-items:center;gap:6px;color:var(--purple-dark);font-size:13px;font-weight:700;white-space:nowrap}.candidate-count-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 18px}.candidate-count-grid>div{display:grid;gap:4px;min-height:94px;align-content:center;padding:15px 18px;border:1px solid #d8d9e4;border-radius:10px;background:var(--page)}.candidate-count-grid strong{color:var(--purple-dark);font-family:TT Norms Pro,Avenir Next,sans-serif;font-size:27px;line-height:1}.candidate-count-grid span{color:#686a73;font-size:10px;font-weight:700;letter-spacing:.04em}.candidate-disclosure{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;border-left:3px solid var(--purple);background:var(--purple-wash);color:#4b4163}.candidate-disclosure svg{flex:0 0 auto;margin-top:2px}.candidate-disclosure p{margin:0;font-size:12px;line-height:1.45}.candidate-tabs{display:flex;gap:7px;margin:24px 0 18px;padding-bottom:12px;border-bottom:1px solid var(--line)}.candidate-tabs button{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 15px;border:1px solid #cdc9d8;border-radius:999px;background:#fff;color:#5d5767;font-size:12px;font-weight:700;cursor:pointer}.candidate-tabs button span{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ece9f4;color:#4d3c70;font-size:10px}.candidate-tabs button.is-active{border-color:var(--purple);background:var(--purple);color:#fff}.candidate-tabs button.is-active span{background:#fff3;color:#fff}.candidate-tools{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,250px) auto;align-items:center;gap:10px;margin-bottom:16px}.candidate-tools label{position:relative;display:flex;align-items:center}.candidate-tools label svg{position:absolute;left:13px;color:#6b6872;pointer-events:none}.candidate-tools input,.candidate-tools select{width:100%;height:43px;border:1px solid #d4d5dd;border-radius:8px;background:#fff;color:var(--ink);font-size:13px;outline:none}.candidate-tools input{padding:0 13px 0 40px}.candidate-tools select{padding:0 34px 0 12px}.candidate-tools input:focus,.candidate-tools select:focus{border-color:var(--purple);box-shadow:0 0 0 3px #743fe41a}.candidate-tools>span{color:var(--muted);font-size:12px;white-space:nowrap}.candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.candidate-card{display:flex;flex-direction:column;min-height:318px;padding:20px;border:1px solid #dfe0e7;border-radius:12px;background:var(--page)}.candidate-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.candidate-status{color:var(--green);font-size:9px;font-weight:700;letter-spacing:.06em}.candidate-card h3{margin:5px 0 0;font-family:TT Norms Pro,Avenir Next,sans-serif;font-size:24px;line-height:1.04}.candidate-alt-name{margin:4px 0 0;color:#6f687a;font-size:12px}.incumbent-badge{padding:5px 7px;border:1px solid #a7c7e6;border-radius:5px;background:var(--blue-wash);color:var(--blue);font-size:9px;font-weight:700}.candidate-affiliation{width:max-content;max-width:100%;margin-top:14px;padding:5px 8px;border-radius:5px;background:#eae6f5;color:#5b3d92;font-size:10px;font-weight:700}.candidate-background{margin:14px 0 12px;color:#484b53;font-size:13px;line-height:1.45}.candidate-priorities{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:16px}.candidate-priorities span{padding:4px 7px;border:1px solid #d5d7df;border-radius:999px;background:#fff;color:#62646c;font-size:9px;font-weight:600}.candidate-poll-mini{display:grid;gap:7px;margin-top:auto}.candidate-poll-mini>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.candidate-poll-mini>div span{color:#777983;font-size:9px;font-weight:700}.candidate-poll-mini strong{color:var(--purple-dark);font-size:18px}.candidate-poll-track,.candidate-poll-line{display:block;height:7px;border-radius:999px;background:#dedbe7;overflow:hidden}.candidate-poll-track>span,.candidate-poll-line>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--purple),#a77ced)}.candidate-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid #dcdee5}.candidate-card footer>span{color:#858790;font-size:9px;font-weight:700}.candidate-card footer a{display:inline-flex;align-items:center;gap:5px;color:var(--purple-dark);font-size:10px;font-weight:700}.candidate-poll-mini+footer{margin-top:14px}.candidate-poll-panel{padding:22px;border:1px solid #ddd9e8;border-radius:12px;background:var(--page);scroll-margin-top:140px}.candidate-poll-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.candidate-poll-heading span{color:var(--purple);font-size:10px;font-weight:700;letter-spacing:.05em}.candidate-poll-heading h3{margin:5px 0 0;font-family:TT Norms Pro,Avenir Next,sans-serif;font-size:25px}.candidate-poll-heading>strong{padding:8px 10px;border:1px solid #e3a9c2;border-radius:7px;background:var(--pink-wash);color:var(--pink);font-size:11px;white-space:nowrap}.candidate-poll-list{display:grid;gap:12px;margin:24px 0}.candidate-poll-row{display:grid;grid-template-columns:145px minmax(120px,1fr) 48px;align-items:center;gap:14px}.candidate-poll-row>span:first-child{font-size:13px;font-weight:600}.candidate-poll-line{height:10px}.candidate-poll-row strong{color:var(--purple-dark);font-size:14px;text-align:right}.candidate-poll-panel>p{margin:0 0 12px;color:var(--muted);font-size:11px;line-height:1.5}.candidate-empty{margin:0;padding:30px;border:1px dashed #c9cbd4;border-radius:10px;color:var(--muted);text-align:center}.candidate-tracker-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}.candidate-tracker-footer>span{color:#7b7d86;font-size:10px;font-weight:700;letter-spacing:.04em}.secondary-stories{width:calc(50.4% - 12px);display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}.small-story img{width:100%;aspect-ratio:1.34 / 1;object-fit:cover;border-radius:10px}.small-story time{display:block;margin-top:14px}.small-story h2{margin:7px 0 0;font-size:19px;line-height:1.07}.small-story .byline{margin-top:12px}.lower-content{display:grid;grid-template-columns:280px minmax(0,1fr);gap:34px;margin-top:44px}.recent-list h2{margin:0 0 22px;padding-bottom:17px;border-bottom:1px solid #1d1d20;font-size:24px}.recent-list article{padding:0 0 18px;margin-bottom:18px;border-bottom:1px solid #dddfe5}.recent-list h3{margin:6px 0 0;font-size:17px;line-height:1.12}.recent-list .byline{margin-top:9px;font-size:11px}.wire-filters{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:18px}.wire-filters button{min-width:48px;height:28px;padding:0 12px;border:2px solid;border-radius:999px;background:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:.14s ease}.filter-all{color:var(--purple);border-color:var(--purple)!important}.filter-official{color:var(--red);border-color:var(--red)!important}.filter-voting{color:var(--blue);border-color:var(--blue)!important}.filter-analysis{color:#7c3d99;border-color:#7c3d99!important}.filter-news{color:var(--orange);border-color:var(--orange)!important}.wire-filters button.is-active{color:#fff}.filter-all.is-active{background:var(--purple)}.filter-official.is-active{background:var(--red)}.filter-voting.is-active{background:var(--blue)}.filter-analysis.is-active{background:#7c3d99}.filter-news.is-active{background:var(--orange)}.wire-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.wire-card{min-width:0;padding:20px 22px;border:1px solid #dbdde5;border-left:4px solid #8c8c96;border-radius:14px;background:#fff;box-shadow:0 4px 11px #1b142f0d}.wire-category-official{border-left-color:var(--red)}.wire-category-voting{border-left-color:var(--blue)}.wire-category-analysis{border-left-color:#7c3d99}.wire-category-news{border-left-color:var(--orange)}.wire-card header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px}.wire-card header>span{padding:5px 7px;border-radius:4px;background:#5d5f68;color:#fff;font-size:9px;font-weight:700;text-transform:uppercase}.wire-category-official header>span{background:var(--red)}.wire-category-voting header>span{background:var(--blue)}.wire-category-analysis header>span{background:#7c3d99}.wire-category-news header>span{background:var(--orange)}.wire-card header time{color:#6b6d75;font-size:10px;font-weight:600;letter-spacing:.03em}.wire-card header a{color:#686a70}.wire-card>p{min-height:72px;margin:20px 0 17px;font-family:TT Norms Pro,sans-serif;font-size:15px;line-height:1.45}.wire-visual{min-height:142px;display:grid;grid-template-rows:auto 1fr auto;align-items:center;padding:17px 20px;border-radius:8px;color:#fff;background:#25105b url(/assets/civiclab-background.png) center / cover;overflow:hidden}.wire-visual span{font-size:11px;font-weight:700;letter-spacing:.12em}.wire-visual strong{align-self:center;font-family:TT Norms Pro,sans-serif;font-size:38px;line-height:1}.wire-visual small{font-size:9px;letter-spacing:.08em}.wire-id,.wire-advance{background-image:linear-gradient(#25105b47,#25105b5c),url(/assets/richmond-ballot-guide.avif)}.wire-analysis,.wire-bc{background-image:linear-gradient(#25105b66,#25105b85),url(/assets/metro-vancouver-dashboard.avif)}.wire-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;color:#6b6d75;font-size:11px}.wire-card footer em{font-style:italic}.sidebar{display:grid;align-content:start;gap:20px}.watch-card,.metric-card,.timeline-card,.single-stat-card{border:1px solid #dcdfe6;border-radius:17px;background:#fff;overflow:hidden}.watch-card>header,.timeline-card>header{padding:12px 14px;color:var(--purple);font-size:10px;font-weight:700;text-align:center;letter-spacing:.12em}.watch-card img{width:100%;height:180px;object-fit:cover}.watch-card p{min-height:76px;display:grid;place-content:center;margin:0;padding:13px 15px;font-family:TT Norms Pro,sans-serif;font-size:14px;line-height:1.25;text-align:center}.watch-card p strong{color:var(--purple-dark)}.metric-card h2,.single-stat-card h2{min-height:64px;display:flex;align-items:center;margin:0;padding:13px 16px;border-bottom:1px solid #e3e4e9;font-family:TT Norms Pro,sans-serif;font-size:15px;line-height:1.1}.metric-values{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px}.metric-value{display:grid;justify-items:center;padding:7px 5px;border:1.5px solid;border-radius:9px}.metric-value strong{font-family:TT Norms Pro,sans-serif;font-size:37px;line-height:1}.metric-value span{margin-top:6px;font-size:10px;font-weight:600}.metric-green{border-color:var(--green);background:var(--green-wash);color:#4aac72}.metric-blue{border-color:var(--blue);background:var(--blue-wash);color:var(--blue)}.metric-purple{border-color:var(--pink);background:var(--pink-wash);color:var(--pink)}.metric-card footer,.timeline-card footer,.single-stat-card footer{min-height:50px;display:flex;align-items:center;padding:11px 16px;border-top:1px solid #e3e4e9;color:#686a70;font-size:12px}.metric-card footer svg{margin-left:auto}.live-dot{width:6px;height:6px;margin-right:7px;border-radius:999px;background:#72d594}.timeline-topline{display:grid;grid-template-columns:auto auto 1fr;gap:5px;align-items:center;padding:0 15px 8px}.timeline-topline>strong{color:var(--red);font-size:13px}.timeline-topline>button{display:grid;place-items:center;width:20px;height:20px;padding:0;border:0;background:transparent;color:#777984;cursor:pointer}.timeline-topline>a{justify-self:end;color:#202124;font-size:11px;text-decoration:underline}.timeline-explainer{margin:0 14px 10px;padding:11px;border-radius:8px;background:#f5f3f7;color:#65616c;font-size:11px;font-style:italic;line-height:1.4}.timeline-track{position:relative;height:65px;margin:0 15px}.timeline-line{position:absolute;left:7px;right:7px;top:28px;height:4px;border-radius:99px;background:linear-gradient(90deg,var(--purple),#5e72c3,#67bf8e)}.timeline-point{position:absolute;top:20px;display:grid;justify-items:center;gap:11px}.timeline-point span{width:18px;height:18px;border:4px solid white;border-radius:99px;background:var(--purple);box-shadow:0 0 0 2px var(--purple)}.timeline-point small{font-size:8px;font-weight:700}.point-one{left:0}.point-two{left:31%}.point-three{left:64%}.point-four{right:0}.point-three span,.point-four span{background:var(--green);box-shadow:0 0 0 2px var(--green)}.timeline-labels{display:grid;grid-template-columns:repeat(4,1fr);padding:2px 8px 10px}.timeline-labels span{color:#666973;font-size:7px;text-align:center}.timeline-card footer strong,.single-stat-card footer .richmond-wordmark{margin-left:auto;color:var(--purple-dark);font-size:12px}.single-stat-value{display:grid;place-items:center;min-height:90px;margin:16px;border:1.5px solid var(--purple);border-radius:9px;background:#f3effc;color:var(--purple);font-family:TT Norms Pro,sans-serif;font-size:31px;font-weight:700}.single-green{border-color:var(--green);background:var(--green-wash);color:#45a66d}.site-footer{padding:64px 32px 24px;border-top:1px solid #e0e2e6;background:#f0f1f6}.footer-inner{max-width:1230px;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:100px;margin:0 auto}.footer-about>img{width:170px;margin-bottom:22px}.footer-about>.brand-logo{margin-bottom:22px;font-size:34px}.footer-about p{max-width:780px;margin:0 0 10px;color:#45484f;font-size:15px;line-height:1.55}.footer-about .footer-standards{font-weight:600}.social-links{display:flex;gap:10px;margin-top:23px}.social-links a{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:#24262b;color:#fff}.footer-links{display:grid;align-content:start;gap:9px}.footer-links h2{margin:0 0 8px;font-size:18px}.footer-links a{color:#4c4f56;font-size:14px}.footer-links a:hover{color:var(--purple-dark)}.footer-bottom{max-width:1230px;display:flex;justify-content:space-between;gap:24px;margin:54px auto 0;padding-top:20px;border-top:1px solid #d8dade;color:#666970;font-size:12px}@media(max-width:1180px){.page-layout{grid-template-columns:minmax(0,1fr) 250px;padding-inline:20px}.civiclab-banner{padding-inline:58px}.desktop-nav{gap:16px}.nav-link{font-size:15px}.wire-grid{grid-template-columns:1fr}}@media(max-width:820px){.site-header{height:80px}.header-main{height:80px;grid-template-columns:42px 1fr auto;padding:0 16px}.tip-button,.desktop-nav{display:none}.mobile-menu-button{display:grid;justify-self:start}.brand-link{justify-self:center}.brand-link img{width:138px;height:auto}.header-actions{gap:5px}.header-search input{position:fixed;left:76px;top:14px;z-index:5;width:calc(100vw - 187px);height:52px}.header-main:has(.header-search.is-open) .brand-link{visibility:hidden}.user-button{width:38px;height:38px}.mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:block;padding:56px 16px 80px;background:#fff;overflow-y:auto}.mobile-menu-close{position:fixed;top:17px;right:17px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;background:#fff;cursor:pointer}.mobile-menu-group{display:grid;gap:0;margin-bottom:20px}.mobile-menu-heading{width:max-content;padding:6px 0;color:#2d155e;font-size:20px;font-weight:500;text-transform:uppercase}.mobile-menu-group:first-child .mobile-menu-heading{outline:1px solid #dda125;border-radius:2px}.mobile-sub-link{padding:8px 0 8px 48px;font-size:16px}.search-results{position:fixed;top:80px;left:14px;right:14px;width:auto}.page-layout{display:block;margin:0;padding:0 16px 42px}.sidebar{display:none}.mobile-metrics-rail{display:flex;align-items:flex-start;gap:14px;padding:25px 20px 40px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.mobile-metrics-rail::-webkit-scrollbar{display:none}.mobile-metrics-rail>*{flex:0 0 270px;scroll-snap-align:start}.mobile-metrics-rail .metric-card{min-height:220px}.mobile-metrics-rail .timeline-card{height:220px;min-height:220px}.content-area{width:100%}.civiclab-banner,.desktop-lead-grid{display:none}.mobile-lead-block{display:block}.feature-story{border-radius:17px}.feature-image-link{padding:16px 16px 0}.feature-image{aspect-ratio:1.35 / 1;border-radius:10px}.feature-copy{padding:22px 16px 30px}.feature-copy h1{font-size:29px;line-height:1.02}.feature-copy p{font-size:16px;line-height:1.5}.secondary-stories{width:100%;grid-template-columns:1fr;gap:27px;margin-top:28px}.small-story{padding-bottom:24px;border-bottom:1px solid #dddfe5}.small-story img{aspect-ratio:16 / 9}.small-story h2{font-size:23px}.mobile-forecast-projects{display:grid;gap:22px;margin-top:30px}.forecast-carousel{height:410px}.forecast-carousel>a{height:330px}.forecast-controls{height:106px}.forecast-center p{max-width:210px}.mobile-project-stack{display:grid;gap:18px}.project-card{min-height:152px}.project-copy{inset:auto 20px 24px}.project-copy strong{font-size:22px}.candidate-tracker{scroll-margin-top:92px;margin-top:34px;padding:20px 16px;border-radius:16px}.candidate-tracker-header{display:grid;gap:14px}.candidate-tracker-header h2{font-size:29px}.candidate-tracker-header>a{width:max-content}.candidate-count-grid{grid-template-columns:1fr 1fr}.candidate-count-grid>div{min-height:82px;padding:13px}.candidate-count-grid>div:last-child{grid-column:1 / -1}.candidate-tabs{flex-wrap:nowrap;padding-bottom:8px;overflow-x:auto;scrollbar-width:none}.candidate-tabs::-webkit-scrollbar{display:none}.candidate-tabs button{flex:0 0 auto}.candidate-tools{grid-template-columns:1fr}.candidate-tools>span{justify-self:end}.candidate-grid{grid-template-columns:1fr}.candidate-card{min-height:292px}.candidate-poll-heading{display:grid}.candidate-poll-heading>strong{width:max-content}.candidate-poll-row{grid-template-columns:100px minmax(80px,1fr) 43px;gap:8px}.candidate-tracker-footer{align-items:flex-start;flex-direction:column}.lower-content{display:block;margin-top:40px}.recent-list h2{font-size:24px}.recent-list h3{font-size:17px}.wire-feed{margin-top:28px}.wire-filters{flex-wrap:nowrap;gap:6px;padding-bottom:6px;overflow-x:auto;scrollbar-width:none}.wire-filters::-webkit-scrollbar{display:none}.wire-filters button{flex:0 0 auto}.wire-grid{grid-template-columns:1fr}.wire-card{padding:18px 20px}.wire-card>p{min-height:0;font-size:15px}.wire-visual{min-height:186px}.site-footer{padding:45px 22px 72px}.footer-inner{grid-template-columns:1fr;gap:42px}.footer-bottom{display:grid;gap:8px;margin-top:38px}}@media(max-width:420px){.page-layout{padding-inline:16px}.mobile-metrics-rail{padding-inline:21px}.mobile-metrics-rail>*{flex-basis:270px}.feature-copy h1{font-size:28px}.feature-copy .byline{margin-top:22px}.candidate-tabs{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:5px;overflow:visible}.candidate-tabs button{min-width:0;justify-content:center;gap:5px;padding:0 9px;font-size:11px;white-space:nowrap}.wire-visual strong{font-size:34px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.candidate-directory-card{min-height:0;padding:0;overflow:hidden;background:var(--paper)}.candidate-photo-link{position:relative;display:block;aspect-ratio:4 / 3;overflow:hidden;background:var(--blue-wash);border-bottom:4px solid var(--pink)}.candidate-photo-link:after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(180deg,transparent,rgb(2 27 87 / 58%));pointer-events:none}.candidate-photo{width:100%;height:100%;object-fit:cover;background:#fff;transition:transform .22s ease}.candidate-directory-card:hover .candidate-photo{transform:scale(1.025)}.candidate-photo-link>span{position:absolute;left:14px;bottom:11px;z-index:1;padding:5px 8px;border:1px solid rgb(255 255 255 / 55%);border-radius:6px;background:#021b57c2;color:#fff;font-size:10px;font-weight:700;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.candidate-card-body{flex:1;display:flex;flex-direction:column;padding:20px}.candidate-card-body>.candidate-links{margin-top:auto;padding-top:2px}.candidate-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.candidate-links>span{flex:0 0 100%;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.04em}.candidate-link-icons{display:flex;flex-wrap:wrap;gap:7px}.candidate-link-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgb(3 54 173 / 22%);border-radius:999px;background:#fff;color:var(--blue);transition:.16s ease}.candidate-link-icon svg{width:16px;height:16px}.candidate-link-icon:hover{border-color:var(--pink);background:var(--pink-wash);color:var(--pink);transform:translateY(-1px)}.candidate-link-icon:focus-visible{outline:3px solid rgb(252 23 122 / 26%);outline-offset:2px}.candidate-links small{color:var(--muted);font-size:9px;line-height:1.3}.candidate-links.is-compact{padding-bottom:14px;border-bottom:1px solid var(--line)}.candidate-poll-mini{margin-top:14px}.candidate-card footer{margin-top:14px}.profile-hero{grid-template-columns:minmax(240px,290px) minmax(0,1fr) 300px}.profile-portrait-card{min-width:0;display:grid;grid-template-rows:1fr auto;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:var(--blue-wash)}.profile-portrait-card>img{width:100%;height:100%;min-height:330px;object-fit:cover;background:#fff}.profile-portrait-card figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-top:4px solid var(--pink);background:var(--ink);color:#fff}.profile-portrait-card figcaption span{font-size:9px;font-weight:700;letter-spacing:.05em}.profile-portrait-card figcaption a{display:inline-flex;align-items:center;gap:5px;color:#fff;font-size:9px;font-weight:700}.profile-hero-main{display:flex;flex-direction:column;justify-content:center}.profile-hero-main h1{font-size:clamp(43px,4.2vw,62px)}.profile-hero-main>.candidate-links{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}.profile-hero-main>.candidate-links>span{flex-basis:auto;margin-right:2px}@media(max-width:1060px){.profile-hero{grid-template-columns:minmax(230px,280px) minmax(0,1fr)}.profile-status-card{grid-column:1 / -1}}@media(max-width:700px){.candidate-photo-link{aspect-ratio:5 / 4}.profile-hero{grid-template-columns:1fr}.profile-portrait-card>img{min-height:0;aspect-ratio:4 / 3}.profile-status-card{grid-column:auto}.profile-hero-main>.candidate-links{align-items:flex-start}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.desktop-nav{height:58px;gap:clamp(28px,4.3vw,68px);padding:0 32px}.nav-link,.nav-link-row{border-radius:999px;transition:color .18s ease,background-color .18s ease,transform .18s ease,box-shadow .18s ease}.nav-link{padding:10px 20px}.nav-link:after,.multi-page-app .nav-link.is-current:after{display:none}.multi-page-app .nav-link.is-current,.nav-link-row.is-current{background:var(--pink);color:var(--paper);box-shadow:0 7px 18px #fc177a38;animation:nav-current-in .36s cubic-bezier(.2,.75,.25,1) both}.nav-link-row.is-current .nav-link.is-current{background:transparent;box-shadow:none}.nav-link-row.is-current .nav-chevron,.nav-link-row.is-current .nav-link,.nav-link-row.is-current .nav-link:hover,.multi-page-app .nav-link.is-current:hover{color:var(--paper)}.nav-link-row.is-current .nav-chevron{width:34px;margin-left:-13px;margin-right:4px}.nav-link:not(.is-current):hover,.nav-link-row:not(.is-current):hover{background:var(--pink-wash)}@keyframes nav-current-in{0%{opacity:.7;transform:translateY(4px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.election-dashboard-hero .countdown-card{background:#ffffffd6}.election-dashboard-hero{position:relative;min-height:760px;padding:34px 24px 42px;background-color:#cfe9fb;background-image:none;isolation:isolate;overflow:hidden}.election-dashboard-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:#edf1f92e}.dashboard-hero-inner{width:min(1320px,100%);margin:0 auto}.dashboard-live-strip{display:inline-flex;align-items:center;gap:10px;min-height:38px;padding:0 16px;border:1px solid rgb(255 255 255 / 76%);border-radius:999px;background:#ffffffc7;color:var(--ink);box-shadow:0 8px 28px #021b571a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:dashboard-rise .52s cubic-bezier(.2,.8,.2,1) both}.dashboard-live-strip .live-dot{width:9px;height:9px;border-radius:999px;background:#3c8c45;box-shadow:0 0 0 5px #3c8c4521;animation:live-pulse 1.9s ease-in-out infinite}.dashboard-live-strip strong{color:#2f7738;font-size:12px}.dashboard-live-strip>span:last-child{padding-left:10px;border-left:1px solid rgb(2 27 87 / 16%);color:var(--muted);font-size:11px}.dashboard-hero-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:42px;align-items:center;margin-top:28px}.dashboard-glass-card{border:1px solid rgb(255 255 255 / 78%);background:#ffffffd1;box-shadow:0 18px 56px #021b5729;-webkit-backdrop-filter:blur(20px) saturate(118%);backdrop-filter:blur(20px) saturate(118%)}.election-dashboard-hero .countdown-card{display:grid;grid-template-columns:minmax(210px,.72fr) 1px minmax(0,1.45fr);gap:34px;align-items:center;min-height:330px;padding:42px 46px;border-top:1px solid rgb(255 255 255 / 78%);border-radius:24px;color:var(--ink);animation:dashboard-rise .58s 70ms cubic-bezier(.2,.8,.2,1) both}.countdown-days-block{display:grid;justify-items:center;gap:4px}.countdown-days-block strong{color:var(--blue);font-size:clamp(106px,11vw,170px);font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.075em;line-height:.82;text-shadow:0 12px 30px rgb(3 54 173 / 12%)}.countdown-days-block span{color:var(--ink);font-size:18px;font-weight:700}.countdown-divider{align-self:stretch;width:1px;background:#021b572e}.countdown-detail>span{color:var(--blue);font-size:14px;font-weight:700}.countdown-detail h2{margin:5px 0 2px;color:var(--ink);font-size:clamp(31px,3vw,43px);letter-spacing:-.035em}.countdown-detail>p{margin:0;color:var(--ink);font-size:17px;font-weight:600}.election-dashboard-hero .countdown-numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:28px 0 0}.election-dashboard-hero .countdown-numbers div{display:grid;justify-items:start;gap:8px;padding:0;border:0;border-radius:0;background:transparent}.election-dashboard-hero .countdown-numbers span{color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.06em}.election-dashboard-hero .countdown-numbers strong{color:var(--ink);font-size:clamp(32px,3.4vw,48px);font-variant-numeric:tabular-nums;line-height:1}.election-dashboard-hero .countdown-numbers div:last-child strong{color:#3c8c45}.countdown-tick{animation:countdown-tick .42s cubic-bezier(.2,.75,.25,1) both}.dashboard-side-stack{display:grid;gap:22px}.dashboard-status-tile{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;min-height:142px;padding:24px;border-radius:20px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.dashboard-status-tile:first-child{animation:dashboard-rise .58s .15s cubic-bezier(.2,.8,.2,1) both}.dashboard-status-tile:last-child{animation:dashboard-rise .58s .22s cubic-bezier(.2,.8,.2,1) both}.dashboard-status-tile:hover{transform:translateY(-4px);border-color:#fc177a85;box-shadow:0 22px 62px #021b5733}.dashboard-status-icon{display:grid;place-items:center;width:58px;height:58px;border:1px solid rgb(3 54 173 / 22%);border-radius:999px;color:var(--blue);background:#ffffff85}.dashboard-status-tile>span:nth-child(2){display:grid;gap:5px}.dashboard-status-tile strong{font-size:19px}.dashboard-status-tile small{color:var(--muted);font-size:12px;line-height:1.45}.dashboard-status-tile>svg{color:var(--blue);transition:transform .18s ease}.dashboard-status-tile:hover>svg{transform:translate(4px)}.dashboard-hero-actions-row{display:flex;align-items:center;gap:28px;margin-top:22px;animation:dashboard-rise .58s .28s cubic-bezier(.2,.8,.2,1) both}.dashboard-hero-actions-row .guide-button{min-width:320px;min-height:58px;border-radius:12px;font-size:17px}.dashboard-hero-actions-row>a:not(.guide-button){display:inline-flex;align-items:center;gap:7px;color:var(--blue);font-size:13px;font-weight:700}.dashboard-milestones{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin-top:34px;padding:26px 34px 22px;border-radius:22px;overflow:hidden;animation:dashboard-rise .62s .34s cubic-bezier(.2,.8,.2,1) both}.milestone-line{position:absolute;top:50px;left:10%;right:10%;height:3px;background:#0336ad3d;overflow:hidden}.milestone-line>span{position:absolute;inset:0 auto 0 -22%;width:22%;background:#fc177ab8;animation:timeline-flow 3.2s ease-in-out infinite}.dashboard-milestones>a{position:relative;z-index:1;display:grid;justify-items:center;gap:7px;text-align:center}.dashboard-milestones>a>span{display:grid;place-items:center;width:48px;height:48px;margin-bottom:5px;border:2px solid var(--blue);border-radius:999px;background:#fffffff0;color:var(--blue);transition:transform .18s ease,background-color .18s ease,color .18s ease}.dashboard-milestones>a:hover>span,.dashboard-milestones>a.is-current>span{transform:translateY(-3px);border-color:var(--pink);background:var(--pink);color:var(--paper);box-shadow:0 8px 20px #fc177a38}.dashboard-milestones strong{font-size:12px}.dashboard-milestones small{color:var(--muted);font-size:10px}.dashboard-metrics,.dashboard-content-grid,.dashboard-quick-start,.dashboard-source-strip{width:min(1180px,calc(100% - 40px));margin-right:auto;margin-left:auto}.dashboard-metrics{margin-top:52px}@keyframes dashboard-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes live-pulse{0%,to{transform:scale(.9);box-shadow:0 0 0 4px #3c8c451f}50%{transform:scale(1.08);box-shadow:0 0 0 8px #3c8c450d}}@keyframes countdown-tick{0%{opacity:.25;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}@keyframes timeline-flow{0%{transform:translate(0)}to{transform:translate(550%)}}.incumbent-badge,.incumbent-profile-badge{display:inline-flex;align-items:center;gap:5px;border-color:var(--pink);background:var(--pink);color:var(--paper);box-shadow:0 6px 16px #fc177a33}.incumbent-badge{padding:7px 9px;border-radius:999px;font-size:10px;white-space:nowrap}.candidate-affiliation{display:grid;gap:2px;width:max-content;max-width:100%;padding:7px 9px}.candidate-affiliation span{font-size:10px}.candidate-affiliation small{color:var(--ink);font-size:9px;font-weight:600}.profile-affiliation{display:inline-grid!important;gap:1px}.profile-affiliation strong{font-size:11px}.profile-affiliation small{color:var(--ink);font-size:9px}.incumbent-profile-badge{color:var(--paper)!important}.profile-affiliation-english{display:block;margin-top:4px;color:var(--muted);font-size:11px}.candidate-public-record{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;margin-top:14px;padding:13px 14px;border:1px solid var(--line);border-left-width:4px;border-radius:9px;background:var(--paper);color:var(--ink);transition:transform .16s ease,box-shadow .16s ease}.candidate-public-record:hover{transform:translateY(-2px);box-shadow:0 8px 18px #021b5717}.candidate-public-record>svg:first-child{margin-top:2px}.candidate-public-record>span{display:grid;gap:4px}.candidate-public-record small{color:var(--muted);font-size:8px;font-style:normal;font-weight:700;letter-spacing:.04em}.candidate-public-record strong{font-size:11px;line-height:1.35}.candidate-public-record em{color:var(--muted);font-size:11px;font-style:normal;line-height:1.55}.candidate-public-record.is-vote-for,.candidate-public-record.is-statement-for{border-color:#fc177a5c;border-left-color:var(--pink);background:var(--pink-wash)}.candidate-public-record.is-vote-for>svg:first-child,.candidate-public-record.is-statement-for>svg:first-child{color:var(--pink)}.candidate-public-record.is-vote-against,.candidate-public-record.is-statement-against{border-color:#0336ad40;border-left-color:var(--blue);background:var(--blue-wash)}.candidate-public-record.is-vote-against>svg:first-child,.candidate-public-record.is-statement-against>svg:first-child{color:var(--blue)}.candidate-public-record.is-statement-context{border-left-color:#69758c;background:#f6f7fa}.candidate-public-record.is-compact{margin-top:12px;padding:10px 11px}.candidate-public-record.is-compact small{font-size:7px}.candidate-public-record.is-compact strong{font-size:9px}.profile-hero-main>.candidate-public-record{max-width:720px;margin-top:18px}.candidate-page-tools.has-organization{grid-template-columns:minmax(0,1fr) 230px 230px}.candidate-page-tools.without-organization{grid-template-columns:minmax(0,1fr) 250px}.candidate-sort-note{margin:-4px 0 20px;color:var(--muted);font-size:10px}@media(max-width:1040px){.desktop-nav{gap:22px}.dashboard-hero-grid{grid-template-columns:1fr;gap:22px}.dashboard-side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.election-dashboard-hero{min-height:0}.candidate-page-tools.has-organization{grid-template-columns:minmax(0,1fr) repeat(2,210px)}}@media(max-width:820px){.election-dashboard-hero{padding:24px 16px 32px}.dashboard-live-strip{width:100%;justify-content:center}.election-dashboard-hero .countdown-card{grid-template-columns:1fr;gap:24px;padding:30px 24px}.countdown-divider{display:none}.countdown-days-block strong{font-size:118px}.countdown-detail{text-align:center}.election-dashboard-hero .countdown-numbers div{justify-items:center}.dashboard-side-stack{grid-template-columns:1fr}.dashboard-hero-actions-row{align-items:stretch;flex-direction:column;gap:14px}.dashboard-hero-actions-row .guide-button{min-width:0;width:100%}.dashboard-hero-actions-row>a:not(.guide-button){justify-content:center}.dashboard-milestones{grid-template-columns:1fr;gap:0;padding:18px}.milestone-line{top:44px;bottom:44px;left:40px;right:auto;width:3px;height:auto}.milestone-line>span{inset:-22% 0 auto;width:100%;height:22%;animation-name:timeline-flow-mobile}.dashboard-milestones>a{grid-template-columns:48px minmax(0,1fr);justify-items:start;gap:4px 14px;min-height:72px;padding:8px 0;text-align:left}.dashboard-milestones>a>span{grid-row:1 / 3;margin:0}.candidate-page-tools.has-organization,.candidate-page-tools.without-organization{grid-template-columns:1fr}}@keyframes timeline-flow-mobile{0%{transform:translateY(0)}to{transform:translateY(550%)}}@media(max-width:540px){.dashboard-live-strip{flex-wrap:wrap;gap:7px;height:auto;padding:10px 14px}.dashboard-live-strip>span:last-child{width:100%;padding:6px 0 0;border-top:1px solid rgb(2 27 87 / 12%);border-left:0;text-align:center}.countdown-days-block strong{font-size:104px}.countdown-detail h2{font-size:29px}.countdown-detail>p{font-size:14px}.election-dashboard-hero .countdown-numbers{gap:8px}.election-dashboard-hero .countdown-numbers strong{font-size:27px}.dashboard-status-tile{min-height:120px;padding:18px}.candidate-public-record{grid-template-columns:auto minmax(0,1fr)}.candidate-public-record>svg:last-child{display:none}}@media(prefers-reduced-motion:reduce){.dashboard-live-strip,.election-dashboard-hero .countdown-card,.dashboard-status-tile,.dashboard-hero-actions-row,.dashboard-milestones,.countdown-tick,.milestone-line>span,.multi-page-app .nav-link.is-current,.nav-link-row.is-current{animation:none!important}}.material-number{--material-depth: #021b57;--material-shadow: rgb(2 27 87 / 34%);position:relative;z-index:0;display:inline-block;isolation:isolate;transform:translateZ(0)}.material-number-pink{--material-depth: #89003d;--material-shadow: rgb(84 0 38 / 38%)}.material-number:before,.material-number:after{content:attr(data-number);position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.material-number:before{z-index:-1;color:var(--material-depth);-webkit-text-fill-color:var(--material-depth);-webkit-text-stroke:.55px rgb(2 27 87 / 28%);text-shadow:0 8px 13px var(--material-shadow);transform:translate3d(0,4px,0)}.material-number:after{z-index:1;background:linear-gradient(112deg,transparent 20%,rgb(255 255 255 / 0%) 31%,rgb(255 255 255 / 72%) 42%,rgb(255 255 255 / 20%) 49%,transparent 60%);background-position:135% 0;background-size:230% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:0;text-shadow:none;opacity:.66;mix-blend-mode:screen;will-change:background-position;animation:numeral-material-sheen 14s cubic-bezier(.45,0,.2,1) infinite alternate}.material-number-blue:after{opacity:.54}.countdown-days-block .material-number-pink,.election-dashboard-hero .countdown-numbers div:last-child .material-number-pink{background-image:linear-gradient(180deg,#ff6bad,#ff2c87 20%,#fc177a 52%,#df0b6a 79%,#ad004f);text-shadow:-1px -1px 0 rgb(255 183 216 / 34%),0 10px 17px rgb(2 27 87 / 32%)}.election-day-highlight>p .material-number:before,.election-day-highlight>p .material-number:after{content:none}@supports ((-webkit-background-clip: text) or (background-clip: text)){.material-number{-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}}@keyframes numeral-time-sheen{0%{background-position:135% 0,0 0}to{background-position:-35% 0,0 0}}html[data-language=en] body,html[data-language=en] .multi-page-app,html[data-language=en] .multi-page-app *{font-family:Gotham,Avenir Next,Helvetica Neue,Arial,PingFang SC,sans-serif!important}.desktop-nav{align-items:center;justify-content:center}.desktop-nav>.nav-link,.desktop-nav>.nav-dropdown,.nav-link-row{align-items:center;justify-content:center}.desktop-nav>.nav-link,.desktop-nav>.nav-dropdown{display:inline-flex;min-height:46px}.multi-page-app .desktop-nav .nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding-block:0;line-height:1;text-align:center;text-wrap:balance;transform-origin:50% 78%;backface-visibility:hidden;will-change:transform}.nav-link-row{min-height:42px;overflow:visible;transform-origin:50% 78%;backface-visibility:hidden;will-change:transform}.nav-link-row .nav-chevron{align-self:center;flex:0 0 auto}.desktop-nav>.nav-link:hover,.desktop-nav>.nav-link:focus-visible,.desktop-nav>.nav-dropdown:hover .nav-link-row,.desktop-nav>.nav-dropdown:focus-within .nav-link-row{animation:nav-hover-bounce .54s cubic-bezier(.22,1,.36,1) both}@keyframes nav-hover-bounce{0%{transform:translateZ(0) scale(1)}38%{transform:translate3d(0,-5px,0) scale(1.018,.985)}62%{transform:translate3d(0,1.5px,0) scale(.996,1.008)}80%{transform:translate3d(0,-1.5px,0) scale(1.004,.998)}to{transform:translateZ(0) scale(1)}}@media(prefers-reduced-motion:reduce){.desktop-nav>.nav-link:hover,.desktop-nav>.nav-link:focus-visible,.desktop-nav>.nav-dropdown:hover .nav-link-row,.desktop-nav>.nav-dropdown:focus-within .nav-link-row{animation:none!important}.multi-page-app .desktop-nav .nav-link,.nav-link-row{transform:none!important}}.language-selector{position:relative;display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 10px 0 12px;border:1px solid rgb(3 54 173 / 18%);border-radius:999px;background:linear-gradient(135deg,#fffffff5,#edf1f9d1);color:var(--blue);box-shadow:inset 0 1px #ffffffe5,0 6px 18px #021b5712;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.language-selector:hover{border-color:var(--pink);box-shadow:inset 0 1px #ffffffeb,0 8px 22px #fc177a1f;transform:translateY(-1px)}.language-selector:focus-within{border-color:var(--pink);box-shadow:0 0 0 4px #fc177a1f}.language-selector select{width:94px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:14px;font-weight:650;letter-spacing:-.01em;cursor:pointer}.language-selector>svg:last-child{pointer-events:none}.election-day-highlight .date-word{color:var(--blue);font-size:clamp(32px,3.2vw,58px);font-weight:750;letter-spacing:-.045em}.election-day-highlight .date-punctuation{color:var(--blue);font-size:clamp(30px,3vw,54px);font-weight:750}html[data-language=en] .election-day-highlight .date-word,html[data-language=en] .election-day-highlight .date-punctuation{margin-right:.14em}html[data-language=fr] .election-day-highlight .date-word{margin-inline:.14em}html[data-language=en] body,html[data-language=fr] body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif}html[data-language=ja] body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Hiragino Sans,Yu Gothic UI,Yu Gothic,Noto Sans JP,sans-serif;font-feature-settings:"palt" 1}html:not([data-language=zh]) .candidate-affiliation>small,html:not([data-language=zh]) .profile-affiliation>small,html:not([data-language=zh]) .profile-affiliation-english{display:none}html[data-language=fr] .desktop-nav{gap:15px}html[data-language=fr] .nav-link{font-size:14px}@media(max-width:820px){.language-selector{height:38px;gap:5px;padding-inline:9px 7px}.language-selector select{width:66px;font-size:12px}}@media(max-width:540px){.header-actions{gap:3px}.language-selector{padding-left:8px}.language-selector select{width:56px}.language-selector>svg:first-child{display:none}}@keyframes numeral-material-sheen{0%{background-position:135% 0}to{background-position:-35% 0}}@media(max-width:540px){.material-number:before{text-shadow:0 6px 10px var(--material-shadow);transform:translate3d(0,3px,0)}.material-number:after{opacity:.52}}@media(prefers-reduced-motion:reduce){.material-number:after{background-position:52% 0;animation:none!important}}.multi-page-app .nav-link.is-current{color:var(--purple-dark);font-weight:700}.multi-page-app .nav-link.is-current:after{content:"";display:block;height:2px;margin-top:5px;border-radius:99px;background:var(--purple)}.start-button{border-color:var(--purple);color:var(--purple-dark)}.start-button:hover{background:var(--purple-wash)}.mobile-menu-kicker{margin:0 0 26px;color:var(--purple);font-size:11px;font-weight:700;letter-spacing:.08em}.guide-home,.guide-page{width:min(1180px,calc(100% - 40px));margin:0 auto}.guide-home{padding:24px 0 72px}.guide-page{min-height:70vh;padding:40px 0 72px}.guide-hero{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(380px,.96fr);min-height:560px;border:1px solid #dedfe8;border-radius:20px;background:#fff;overflow:hidden}.guide-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:62px 58px}.guide-kicker,.section-heading>span,.snapshot-heading>span,.novice-explainer-copy>span,.page-intro>span,.results-heading>div>span,.poll-panel-heading>div>span,.source-register>header>span{color:var(--purple);font-size:11px;font-weight:700;letter-spacing:.07em}.guide-hero h1{max-width:590px;margin:15px 0 19px;font-family:TT Norms Pro,Avenir Next,sans-serif;font-size:clamp(48px,5vw,70px);line-height:.95;letter-spacing:-.035em}.guide-hero-copy>p{max-width:560px;margin:0;color:var(--muted);font-size:18px;line-height:1.55}.guide-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.guide-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:max-content;min-height:46px;padding:0 18px;border:1px solid var(--purple);border-radius:9px;background:var(--purple);color:#fff;font-size:13px;font-weight:700;transition:.15s ease}.guide-button:hover{transform:translateY(-1px);box-shadow:0 7px 18px #411e8c29}.guide-button-secondary{background:#fff;color:var(--purple-dark)}.source-note{display:flex;align-items:flex-start;gap:8px;max-width:560px;margin-top:26px;padding-top:18px;border-top:1px solid #e4e5eb;color:#64666e;font-size:12px;line-height:1.45}.source-note svg{flex:0 0 auto;color:var(--green)}.guide-hero-image{position:relative;min-height:560px;background:#e9e7f2}.guide-hero-image>img{width:100%;height:100%;object-fit:cover}.guide-hero-image-note{position:absolute;right:24px;bottom:24px;display:grid;min-width:180px;padding:17px 19px;border-radius:12px;background:#fffffff0;box-shadow:0 10px 30px #271c402e}.guide-hero-image-note strong{color:var(--purple-dark);font-family:TT Norms Pro,sans-serif;font-size:31px}.guide-hero-image-note span{margin-top:2px;color:#70727a;font-size:9px;font-weight:700;letter-spacing:.06em}.current-snapshot,.learning-path,.home-route-cards{margin-top:58px}.snapshot-heading,.section-heading{margin-bottom:22px}.snapshot-heading h2,.section-heading h2,.novice-explainer-copy h2,.content-panel h2,.official-source-panel strong,.results-heading h2,.poll-panel-heading h2,.source-register h2{margin:7px 0 0;font-family:TT Norms Pro,Avenir Next,sans-serif;font-size:32px;line-height:1.05}.section-heading>p{margin:9px 0 0;color:var(--muted);font-size:15px}.snapshot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.snapshot-grid article{min-height:170px;padding:22px;border:1px solid #dcdde6;border-radius:14px;background:#fff}.snapshot-grid article:first-child{background:var(--green-wash);border-color:#a9d7bb}.snapshot-grid article:last-child{background:var(--pink-wash);border-color:#edc2d4}.snapshot-grid strong{display:block;color:var(--purple-dark);font-family:TT Norms Pro,sans-serif;font-size:28px}.snapshot-grid span{display:block;margin-top:7px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.035em}.snapshot-grid p{margin:13px 0 0;color:#5f6269;font-size:12px;line-height:1.45}.learning-path-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.learning-step{display:flex;flex-direction:column;min-height:300px;padding:24px;border:1px solid #dcdde6;border-radius:16px;background:#fff}.learning-step-top{display:flex;align-items:center;justify-content:space-between;color:var(--purple)}.learning-step-top>span{font-family:TT Norms Pro,sans-serif;font-size:25px}.learning-step h3{margin:35px 0 9px;font-family:TT Norms Pro,sans-serif;font-size:23px;line-height:1.05}.learning-step p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.learning-step>a{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:24px;color:var(--purple-dark);font-size:12px;font-weight:700}.novice-explainer{display:grid;grid-template-columns:.8fr 1.2fr;margin-top:58px;border:1px solid #dcdde6;border-radius:18px;background:#fff;overflow:hidden}.novice-explainer-image img{width:100%;height:100%;min-height:520px;object-fit:cover}.novice-explainer-copy{padding:48px}.novice-explainer-copy dl,.glossary-panel dl{display:grid;gap:0;margin:25px 0 28px}.novice-explainer-copy dl>div,.glossary-panel dl>div{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:17px 0;border-top:1px solid #e0e1e6}.novice-explainer-copy dt,.glossary-panel dt{font-size:13px;font-weight:700}.novice-explainer-copy dd,.glossary-panel dd{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.route-card-grid,.candidate-office-routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.route-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;min-height:100px;padding:20px;border:1px solid #dcdde6;border-radius:13px;background:#fff;transition:.15s ease}.route-card:hover{border-color:#bcb0d9;transform:translateY(-2px);box-shadow:0 8px 20px #2d185a14}.brand-link:focus-visible,.tip-button:focus-visible,.nav-link:focus-visible,.mobile-menu a:focus-visible,.guide-button:focus-visible,.route-card:focus-visible,.candidate-card a:focus-visible,.profile-navigation a:focus-visible{outline:2px solid var(--purple);outline-offset:3px;border-radius:6px}.route-card>svg:first-child{color:var(--purple)}.route-card>span{display:grid;gap:4px}.route-card strong{font-family:TT Norms Pro,sans-serif;font-size:17px}.route-card small{color:var(--muted);font-size:11px}.page-intro{max-width:920px;margin-bottom:34px}.page-intro h1{margin:10px 0 16px;font-family:TT Norms Pro,Avenir Next,sans-serif;font-size:clamp(43px,5.2vw,68px);line-height:.98;letter-spacing:-.035em}.page-intro>p{max-width:800px;margin:0;color:var(--muted);font-size:18px;line-height:1.55}.page-intro .guide-button{margin-top:24px}.office-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.office-card{min-height:360px;display:flex;flex-direction:column;padding:28px;border:1px solid #dcdde6;border-radius:16px;background:#fff}.office-card>strong{color:var(--purple);font-family:TT Norms Pro,sans-serif;font-size:58px;line-height:1}.office-card>span{margin-top:5px;color:#777982;font-size:9px;font-weight:700;letter-spacing:.05em}.office-card h2{margin:30px 0 10px;font-family:TT Norms Pro,sans-serif;font-size:28px}.office-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.office-card a{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:22px;color:var(--purple-dark);font-size:12px;font-weight:700}.two-column-section{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:52px}.content-panel{padding:30px;border:1px solid #dcdde6;border-radius:16px;background:#fff}.panel-kicker{color:var(--purple);font-size:10px;font-weight:700;letter-spacing:.07em}.content-panel>p{color:var(--muted);font-size:14px;line-height:1.55}.status-disclosure{display:flex;align-items:flex-start;gap:13px;padding:18px 20px;border-left:4px solid var(--purple);background:var(--purple-wash);color:#43395b}.status-disclosure>svg{flex:0 0 auto;margin-top:1px}.status-disclosure strong{display:block;font-size:13px}.status-disclosure p{margin:5px 0 0;font-size:12px;line-height:1.5}.status-disclosure.is-compact{margin-top:22px}.status-steps{display:grid;gap:0;margin-top:23px}.status-steps>div{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:15px 0;border-top:1px solid #e0e1e6;color:#777982}.status-steps>div.is-current{color:var(--green)}.status-steps span{display:grid;gap:3px;color:var(--muted);font-size:12px}.status-steps strong{color:var(--ink);font-size:13px}.official-source-panel{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-top:28px;padding:24px 26px;border:1px solid #abd8bd;border-radius:15px;background:var(--green-wash)}.official-source-panel>svg{color:var(--green)}.official-source-panel strong{font-size:19px}.official-source-panel p{margin:4px 0 0;color:#5b6760;font-size:12px;line-height:1.45}.official-source-panel>a,.source-link-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 14px;border:1px solid var(--purple);border-radius:8px;background:#fff;color:var(--purple-dark);font-size:12px;font-weight:700;white-space:nowrap}.candidate-directory-page>.status-disclosure,.office-candidate-page>.status-disclosure,.candidate-profile-page>.status-disclosure{margin-bottom:28px}.candidate-office-routes{margin-bottom:52px}.candidate-results-section{padding:28px;border:1px solid #dcdde6;border-radius:18px;background:#fff}.results-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #e1e2e7}.results-heading>strong{color:var(--muted);font-size:12px}.candidate-page-tools{grid-template-columns:minmax(0,1fr) 270px}.candidate-page-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.candidate-directory-card{min-height:335px}.candidate-directory-card footer a{font-size:11px}.page-next-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-top:26px;padding:22px 24px;border:1px solid #dcdde6;border-radius:14px;background:#fff}.page-next-card>svg{color:var(--purple)}.page-next-card strong{font-family:TT Norms Pro,sans-serif;font-size:18px}.page-next-card p{margin:3px 0 0;color:var(--muted);font-size:12px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;color:#777982;font-size:12px}.breadcrumbs a:hover{color:var(--purple-dark)}.breadcrumbs strong{color:var(--ink)}.profile-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:stretch;gap:16px;margin-bottom:20px}.profile-hero-main,.profile-status-card{padding:36px;border:1px solid #dcdde6;border-radius:17px;background:#fff}.profile-hero-main h1{margin:8px 0 0;font-family:TT Norms Pro,sans-serif;font-size:62px;line-height:.98}.profile-alt-name{margin:10px 0 0;color:#6d6678;font-size:18px}.profile-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:25px}.profile-meta span{padding:7px 10px;border-radius:6px;background:var(--purple-wash);color:#4c3476;font-size:11px;font-weight:700}.profile-status-card{display:flex;flex-direction:column;justify-content:center;background:var(--page)}.profile-status-card>span{color:var(--purple);font-size:9px;font-weight:700;letter-spacing:.06em}.profile-status-card>strong{margin-top:10px;color:var(--purple-dark);font-family:TT Norms Pro,sans-serif;font-size:25px;line-height:1.1}.profile-status-card p{margin:13px 0 0;color:var(--muted);font-size:11px}.profile-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px}.profile-main-card,.profile-side-card{padding:32px;border:1px solid #dcdde6;border-radius:16px;background:#fff}.profile-main-card h2,.profile-side-card h2{margin:8px 0 15px;font-family:TT Norms Pro,sans-serif;font-size:30px}.profile-main-card>p,.profile-side-card>p{color:var(--muted);font-size:15px;line-height:1.6}.profile-theme-kicker{display:block;margin-top:34px;padding-top:28px;border-top:1px solid #e0e1e6}.profile-themes{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.profile-themes span{padding:8px 11px;border:1px solid #d6d3df;border-radius:999px;background:var(--page);color:#514b5a;font-size:11px;font-weight:600}.profile-meaning{display:flex;align-items:flex-start;gap:11px;margin-top:28px;padding:15px;border-left:3px solid var(--purple);background:var(--purple-wash)}.profile-meaning svg{flex:0 0 auto}.profile-meaning p{margin:0;color:#554c67;font-size:11px;line-height:1.5}.profile-side-card .source-link-button{width:100%;margin-top:12px}.profile-side-card dl{margin:28px 0 0}.profile-side-card dl>div{padding:14px 0;border-top:1px solid #e0e1e6}.profile-side-card dt{color:#777982;font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.profile-side-card dd{margin:4px 0 0;font-size:13px;font-weight:600}.candidate-profile-poll{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;margin-top:18px;padding:25px 28px;border:1px solid #e6bfd0;border-radius:15px;background:var(--pink-wash)}.candidate-profile-poll span{color:var(--pink);font-size:9px;font-weight:700;letter-spacing:.06em}.candidate-profile-poll h2{margin:6px 0 0;font-family:TT Norms Pro,sans-serif;font-size:23px}.candidate-profile-poll p{margin:5px 0 0;color:#725b65;font-size:11px}.profile-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin-top:35px;padding-top:24px;border-top:1px solid #dcdde6}.profile-pagination>a{display:flex;align-items:center;gap:9px;color:var(--purple-dark);font-size:12px;font-weight:700}.profile-pagination>a:nth-child(2){justify-self:center}.profile-pagination>a:last-child{justify-self:end;text-align:right}.profile-pagination span{display:grid}.profile-pagination small{color:#83858d;font-size:8px}.poll-hero-panel{padding:32px;border:1px solid #dcdde6;border-radius:18px;background:#fff}.poll-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid #e0e1e6}.poll-panel-heading>strong{padding:8px 10px;border:1px solid #e0a9c0;border-radius:7px;background:var(--pink-wash);color:var(--pink);font-size:10px}.standalone-poll-chart{display:grid;gap:15px;padding:20px 0 10px}.poll-scale-note{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.02em}.poll-scale-note strong{color:var(--ink);font-variant-numeric:tabular-nums}.poll-undecided-cluster{display:grid;gap:11px;padding:15px;border:1px solid rgb(252 23 122 / 24%);border-radius:14px;background:var(--pink-wash);box-shadow:0 12px 28px #fc177a14}.poll-undecided-label{display:grid;gap:3px;min-width:0}.poll-undecided-label>strong{color:var(--ink);font-size:13px;line-height:1.15}.poll-undecided-label>small{color:var(--muted);font-size:10px;font-weight:650;line-height:1.35}.standalone-poll-row.is-undecided .candidate-poll-line{height:13px;background:#fc177a24}.standalone-poll-row.is-undecided .candidate-poll-line>span{background:var(--pink)}.standalone-poll-row.is-undecided>strong{color:var(--pink);font-size:21px;font-weight:800}.poll-impact-note{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin:0;padding-top:10px;border-top:1px solid rgb(252 23 122 / 17%);color:var(--muted);font-size:11px;line-height:1.45}.poll-impact-note strong{color:var(--pink);font-size:11.5px;white-space:nowrap}.standalone-poll-row{display:grid;grid-template-columns:160px minmax(120px,1fr) 55px;align-items:center;gap:15px}.standalone-poll-row:not(.is-undecided){padding-inline:16px}.standalone-poll-row>a{font-size:13px;font-weight:600}.standalone-poll-row>strong{color:var(--purple-dark);font-size:13px;font-variant-numeric:tabular-nums;line-height:1.2;text-align:right;white-space:nowrap}.poll-method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:28px;padding-top:22px;border-top:1px solid #e0e1e6}.poll-method-grid>div{display:grid;min-height:100px;align-content:center;padding:15px;border-radius:10px;background:var(--page)}.poll-method-grid strong{color:var(--purple-dark);font-family:TT Norms Pro,sans-serif;font-size:23px}.poll-method-grid span{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.35}.poll-hero-panel>.source-link-button{margin-top:20px}.poll-reading-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.poll-reading-grid article{padding:24px;border:1px solid #dcdde6;border-radius:14px;background:#fff}.poll-reading-grid svg{color:var(--purple)}.poll-reading-grid h2{margin:22px 0 9px;font-family:TT Norms Pro,sans-serif;font-size:21px}.poll-reading-grid p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.voting-step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.voting-step-grid article{position:relative;min-height:300px;padding:24px;border:1px solid #dcdde6;border-radius:15px;background:#fff}.voting-step-grid article>span{position:absolute;top:20px;right:20px;color:#d8d0ec;font-family:TT Norms Pro,sans-serif;font-size:42px}.voting-step-grid svg{color:var(--purple)}.voting-step-grid h2{margin:55px 0 10px;font-family:TT Norms Pro,sans-serif;font-size:22px;line-height:1.05}.voting-step-grid p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.id-rule{display:flex;align-items:flex-start;gap:13px;margin-top:23px;padding:17px;border-radius:10px;background:var(--blue-wash);color:#2e6289}.id-rule svg{flex:0 0 auto}.id-rule strong{font-size:12px;line-height:1.5}.voting-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:25px}.voting-actions>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:92px;padding:18px;border:1px solid #dcdde6;border-radius:13px;background:#fff}.voting-actions>a>svg:first-child{color:var(--purple)}.voting-actions span{display:grid;gap:3px;color:var(--muted);font-size:10px}.voting-actions strong{color:var(--ink);font-size:12px}.timeline-list{position:relative;max-width:900px;margin:0 auto}.timeline-list:before{content:"";position:absolute;top:92px;bottom:50px;left:126px;width:2px;background:#d5d0e3}.timeline-now{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:18px 22px;border:1px solid #a9d7bb;border-radius:13px;background:var(--green-wash)}.timeline-now svg{color:var(--green)}.timeline-now span{display:grid;gap:2px;color:#5d6a62;font-size:12px}.timeline-now strong{color:#368f5b;font-size:10px}.timeline-list article{position:relative;display:grid;grid-template-columns:110px 1fr;gap:34px;padding:18px 0}.timeline-list article:before{content:"";position:absolute;top:42px;left:120px;width:14px;height:14px;border:3px solid white;border-radius:99px;background:var(--purple);box-shadow:0 0 0 2px var(--purple)}.timeline-list time{align-self:center;color:var(--purple-dark);font-family:TT Norms Pro,sans-serif;font-size:18px;text-align:right}.timeline-list article>div{padding:22px 25px;border:1px solid #dcdde6;border-radius:13px;background:#fff}.timeline-list article>div>span{color:var(--purple);font-size:9px;font-weight:700;letter-spacing:.06em}.timeline-list h2{margin:6px 0 7px;font-family:TT Norms Pro,sans-serif;font-size:21px}.timeline-list p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.source-level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.source-level{position:relative;min-height:330px;padding:27px;border:1px solid #dcdde6;border-radius:16px;background:#fff}.source-level>span{position:absolute;top:20px;right:22px;color:#ded8eb;font-family:TT Norms Pro,sans-serif;font-size:41px}.source-level>svg{color:var(--purple)}.source-level-official>svg{color:var(--green)}.source-level-third>svg{color:var(--pink)}.source-level h2{margin:58px 0 10px;font-family:TT Norms Pro,sans-serif;font-size:25px}.source-level p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.source-level a{position:absolute;left:27px;right:27px;bottom:25px;display:inline-flex;align-items:center;gap:6px;color:var(--purple-dark);font-size:12px;font-weight:700}.source-register{margin-top:40px;padding:30px;border:1px solid #dcdde6;border-radius:17px;background:#fff}.source-register>header{margin-bottom:21px}.source-register-row{display:grid;grid-template-columns:100px 1fr;gap:16px;padding:18px 0;border-top:1px solid #e0e1e6}.status-pill{align-self:start;width:max-content;padding:6px 8px;border-radius:6px;font-size:9px;font-weight:700}.status-pending{background:var(--purple-wash);color:var(--purple)}.status-live{background:var(--green-wash);color:#3f9863}.status-review{background:var(--pink-wash);color:var(--pink)}.source-register-row strong{font-size:14px}.source-register-row p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.not-found-page{padding-top:100px}.about-modal p+p{margin-top:12px}@media(max-width:1040px){.guide-hero{grid-template-columns:1fr .86fr}.guide-hero-copy{padding:45px 38px}.snapshot-grid,.learning-path-grid,.voting-step-grid,.candidate-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.guide-home,.guide-page{width:100%;padding-inline:16px}.guide-home{padding-top:16px}.guide-page{padding-top:28px}.guide-hero{display:flex;flex-direction:column-reverse;min-height:0}.guide-hero-image{min-height:335px}.guide-hero-copy{padding:31px 24px 35px}.guide-hero h1{font-size:45px}.guide-hero-copy>p,.page-intro>p{font-size:16px}.snapshot-grid,.learning-path-grid,.route-card-grid,.candidate-office-routes,.office-grid,.two-column-section,.poll-reading-grid,.voting-step-grid,.voting-actions,.source-level-grid,.profile-content-grid,.poll-method-grid{grid-template-columns:1fr}.snapshot-grid article{min-height:145px}.learning-step{min-height:245px}.novice-explainer{grid-template-columns:1fr}.novice-explainer-image img{min-height:320px;max-height:360px}.novice-explainer-copy{padding:28px 23px}.novice-explainer-copy dl>div,.glossary-panel dl>div{grid-template-columns:1fr;gap:6px}.page-intro h1{font-size:44px}.office-card{min-height:320px}.official-source-panel,.page-next-card,.candidate-profile-poll{grid-template-columns:auto 1fr}.official-source-panel>a,.page-next-card .guide-button,.candidate-profile-poll .guide-button{grid-column:1 / -1;width:100%}.candidate-results-section{padding:20px 16px}.candidate-page-tools,.candidate-page-grid,.profile-hero{grid-template-columns:1fr}.profile-hero-main,.profile-status-card,.profile-main-card,.profile-side-card{padding:24px}.profile-hero-main h1{font-size:46px}.profile-pagination{grid-template-columns:1fr 1fr}.profile-pagination>a:nth-child(2){grid-column:1 / -1;grid-row:2}.standalone-poll-row{grid-template-columns:100px minmax(80px,1fr) 45px;gap:8px}.poll-impact-note{align-items:flex-start;flex-direction:column;gap:4px}.poll-method-grid{grid-template-columns:1fr 1fr}.timeline-list:before{left:18px}.timeline-list article{grid-template-columns:1fr;gap:8px;padding-left:42px}.timeline-list article:before{top:32px;left:12px}.timeline-list time{text-align:left}.source-register{padding:23px}}@media(max-width:420px){.guide-hero-image{min-height:285px}.guide-hero h1,.page-intro h1{font-size:39px}.guide-hero-actions,.guide-hero-actions .guide-button{width:100%}.guide-button{min-height:48px}.guide-hero-image-note{right:14px;bottom:14px;min-width:145px}.snapshot-grid,.learning-path-grid,.poll-method-grid{grid-template-columns:1fr}.current-snapshot,.learning-path,.home-route-cards,.novice-explainer{margin-top:42px}.route-card{min-height:88px}.results-heading,.poll-panel-heading{align-items:flex-start;flex-direction:column}.poll-hero-panel{padding:22px 17px}.standalone-poll-row{grid-template-columns:88px minmax(60px,1fr) 42px}.poll-undecided-cluster{padding:13px 11px}.standalone-poll-row:not(.is-undecided){padding-inline:12px}.standalone-poll-row.is-undecided>strong{font-size:17px}.poll-impact-note strong{white-space:normal}.standalone-poll-row>a,.standalone-poll-row>strong{font-size:11px}.profile-pagination>a{font-size:10px}.poll-hero-panel>.source-link-button{width:100%;padding:10px 12px;line-height:1.35;text-align:center;white-space:normal}.poll-hero-panel>.source-link-button svg{flex:0 0 auto}.source-register-row{grid-template-columns:1fr;gap:8px}}.multi-page-app .brand-link img{width:250px;height:auto;object-fit:contain}.multi-page-app .about-modal>img,.multi-page-app .footer-about>img{width:220px;height:auto;object-fit:contain}.multi-page-app .about-modal>.brand-logo{font-size:36px}.dashboard-home{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:32px 0 92px}.multi-page-app .page-intro{max-width:1080px}.multi-page-app .page-intro h1{font-size:clamp(43px,4.7vw,62px);line-height:1.1;letter-spacing:-.025em}.dashboard-intro{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:36px;align-items:end;padding:34px 0 28px}.dashboard-kicker,.dashboard-section-heading span,.race-progress-panel>header span,.latest-update-panel>header span,.election-status-card .status-card-top>span{display:block;color:var(--purple);font-size:11px;font-weight:700;letter-spacing:.08em}.dashboard-intro h1{max-width:760px;margin:14px 0 16px;font-size:clamp(44px,5vw,68px);line-height:1.08;letter-spacing:-.045em}.dashboard-intro>div:first-child>p{max-width:720px;margin:0;color:var(--muted);font-size:17px;line-height:1.7}.dashboard-update-card{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start;padding:18px;border:1px solid #d9dce5;border-radius:12px;background:#fff}.dashboard-update-card .live-dot{width:9px;height:9px;margin-top:6px;border-radius:999px;background:var(--green);box-shadow:0 0 0 5px #52b77a21}.dashboard-update-card strong{font-size:13px}.dashboard-update-card p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.dashboard-primary-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.75fr);gap:16px}.countdown-card,.election-status-card,.race-progress-panel,.latest-update-panel,.dashboard-source-strip{border:1px solid #d9dce5;border-radius:16px;background:#fff}.countdown-card{padding:28px 30px 22px;background:var(--purple-dark);color:#fff}.countdown-card header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.countdown-card header span{color:#d7cbf4;font-size:12px;font-weight:600}.countdown-card h2{margin:5px 0 0;font-size:23px}.countdown-numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:26px 0 22px}.countdown-numbers div{display:grid;gap:2px;justify-items:center;padding:16px 8px 13px;border:1px solid rgb(255 255 255 / 18%);border-radius:11px;background:#ffffff14}.countdown-numbers strong{font-size:clamp(31px,3.4vw,48px);line-height:1}.countdown-numbers span{color:#d7cbf4;font-size:11px}.countdown-card footer{display:flex;align-items:center;gap:8px;color:#d7cbf4;font-size:11px}.countdown-finished{margin:26px 0;padding:28px;border-radius:12px;background:#ffffff1a;font-size:19px;font-weight:700}.election-status-card{display:flex;flex-direction:column;padding:27px}.status-card-top>strong{display:block;margin:10px 0 8px;color:var(--purple-dark);font-size:25px}.status-card-top p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.next-milestone{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;margin:22px 0 18px;padding:15px;border-radius:11px;background:var(--purple-wash);color:var(--purple-dark)}.next-milestone span{display:block;margin-bottom:3px;font-size:10px}.next-milestone strong{font-size:14px}.election-status-card>a,.dashboard-section-heading>a{display:inline-flex;align-items:center;gap:5px;color:var(--purple-dark);font-size:12px;font-weight:700}.election-status-card>a{margin-top:auto}.dashboard-metrics,.dashboard-content-grid,.dashboard-quick-start,.dashboard-source-strip{margin-top:46px}.dashboard-section-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:18px}.dashboard-section-heading h2,.race-progress-panel h2,.latest-update-panel h2{margin:5px 0 0;font-size:28px;letter-spacing:-.025em}.dashboard-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dashboard-metric-grid article{min-height:182px;padding:22px;border:1px solid #d9dce5;border-radius:14px;background:#fff}.dashboard-metric-grid article:first-child{background:var(--green-wash)}.dashboard-metric-grid .metric-pending{background:var(--purple-wash)}.dashboard-metric-grid .metric-poll{background:var(--pink-wash)}.dashboard-metric-grid strong{display:block;margin-bottom:9px;color:var(--purple-dark);font-size:30px}.dashboard-metric-grid span{display:block;font-size:13px;font-weight:700}.dashboard-metric-grid p{margin:9px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.dashboard-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.race-progress-panel,.latest-update-panel{padding:28px}.race-progress-list{display:grid;gap:0;margin-top:23px}.race-progress-list>div{position:relative;display:grid;grid-template-columns:30px 1fr;gap:13px;min-height:68px}.race-progress-list>div:not(:last-child):after{content:"";position:absolute;left:14px;top:30px;bottom:0;width:1px;background:#dddfe6}.race-progress-list>div>span{position:relative;z-index:1;display:grid;place-items:center;width:29px;height:29px;border:1px solid #d7d8df;border-radius:999px;background:#fff;color:var(--muted);font-size:11px;font-weight:700}.race-progress-list .is-done>span{border-color:var(--green);background:var(--green);color:#fff}.race-progress-list .is-next>span{border-color:var(--purple);color:var(--purple);box-shadow:0 0 0 5px #743fe41a}.race-progress-list strong{display:block;margin-bottom:4px;font-size:14px}.race-progress-list p{margin:0;color:var(--muted);font-size:11px}.update-feed{display:grid;gap:0;margin:20px 0 22px}.update-feed>div{display:grid;grid-template-columns:78px 1fr;gap:15px;padding:15px 0;border-bottom:1px solid #e1e2e7}.update-feed time{color:var(--purple);font-size:11px;font-weight:700}.update-feed p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.update-feed p strong{display:block;margin-bottom:3px;color:var(--ink);font-size:13px}.quick-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.quick-action-grid>a{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;min-height:116px;padding:19px;border:1px solid #d9dce5;border-radius:13px;background:#fff;transition:.15s ease}.quick-action-grid>a:hover{border-color:#b8a5e3;transform:translateY(-2px);box-shadow:0 8px 20px #2d185a14}.quick-action-grid>a>svg:first-child{color:var(--purple)}.quick-action-grid span{display:grid;gap:5px}.quick-action-grid strong{font-size:14px}.quick-action-grid small{color:var(--muted);font-size:10px;line-height:1.45}.dashboard-source-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:23px 26px;background:var(--purple-wash)}.dashboard-source-strip>svg{color:var(--purple)}.dashboard-source-strip strong{font-size:14px}.dashboard-source-strip p{margin:5px 0 0;color:var(--muted);font-size:11px}@media(max-width:980px){.dashboard-intro,.dashboard-primary-grid{grid-template-columns:1fr}.dashboard-update-card{max-width:520px}.dashboard-metric-grid,.quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.multi-page-app .brand-link img{width:142px;height:auto}.multi-page-app .brand-link .brand-logo{font-size:25px}.dashboard-home{width:min(100% - 32px,640px);padding-top:12px}.dashboard-intro{gap:24px;padding-top:24px}.dashboard-intro h1{font-size:42px;letter-spacing:-.035em}.dashboard-intro>div:first-child>p{font-size:15px}.dashboard-content-grid{grid-template-columns:1fr}.dashboard-source-strip{grid-template-columns:auto 1fr}.dashboard-source-strip .guide-button{grid-column:1 / -1;width:100%}}@media(max-width:540px){.dashboard-intro h1{font-size:34px}.dashboard-primary-grid,.dashboard-metric-grid,.quick-action-grid{grid-template-columns:1fr}.countdown-card,.election-status-card,.race-progress-panel,.latest-update-panel{padding:22px 18px}.countdown-numbers{gap:6px}.countdown-numbers div{padding-inline:4px}.countdown-numbers strong{font-size:29px}.dashboard-section-heading{align-items:flex-start;flex-direction:column}.dashboard-section-heading h2,.race-progress-panel h2,.latest-update-panel h2{font-size:24px}.update-feed>div{grid-template-columns:66px 1fr}}::selection{background:var(--pink);color:var(--paper)}.multi-page-app{background:var(--paper);color:var(--ink)}.skip-link:focus,.header-search input:focus,.candidate-tools input:focus,.candidate-tools select:focus{border-color:var(--pink);outline-color:#fc177a29;box-shadow:0 0 0 4px #fc177a1a}.site-header{box-shadow:0 8px 28px #021b570d}.start-button{border-color:var(--blue);background:var(--paper);color:var(--blue)}.start-button:hover{background:var(--blue-wash)}.multi-page-app .nav-link,.multi-page-app .nav-chevron,.multi-page-app .header-actions{color:var(--ink)}.multi-page-app .nav-link:hover,.nav-dropdown-panel a:hover,.footer-links a:hover{color:var(--blue)}.nav-dropdown-panel a:hover{background:var(--blue-wash)}.multi-page-app .nav-link.is-current{color:var(--blue)}.multi-page-app .nav-link.is-current:after{height:3px;background:var(--pink)}.brand-link:focus-visible,.tip-button:focus-visible,.nav-link:focus-visible,.nav-chevron:focus-visible,.mobile-menu a:focus-visible,.guide-button:focus-visible,.route-card:focus-visible,.candidate-card a:focus-visible,.profile-navigation a:focus-visible,.source-link-button:focus-visible{outline-color:var(--pink)}.mobile-menu{background:var(--paper);color:var(--ink);border-top:5px solid var(--pink)}.mobile-menu-kicker,.guide-kicker,.section-heading>span,.snapshot-heading>span,.novice-explainer-copy>span,.page-intro>span,.results-heading>div>span,.poll-panel-heading>div>span,.source-register>header>span,.dashboard-kicker,.dashboard-section-heading span,.race-progress-panel>header span,.latest-update-panel>header span,.election-status-card .status-card-top>span,.panel-kicker{color:var(--blue)}.guide-button,.modal-primary{border-color:var(--blue);background:var(--blue);color:var(--paper)}.guide-button:hover,.modal-primary:hover{box-shadow:0 8px 22px #0336ad33}.guide-button-secondary,.source-link-button,.official-source-panel>a{border-color:var(--blue);background:var(--paper);color:var(--blue)}.guide-button-secondary:hover,.source-link-button:hover,.official-source-panel>a:hover{background:var(--blue-wash)}.guide-hero,.snapshot-grid article,.learning-step,.novice-explainer,.route-card,.office-card,.content-panel,.candidate-results-section,.page-next-card,.profile-hero-main,.profile-status-card,.profile-main-card,.profile-side-card,.poll-hero-panel,.poll-reading-grid article,.voting-step-grid article,.voting-actions>a,.timeline-list article>div,.source-level,.source-register,.dashboard-update-card,.countdown-card,.election-status-card,.race-progress-panel,.latest-update-panel,.dashboard-source-strip,.dashboard-metric-grid article,.quick-action-grid>a,.candidate-card,.candidate-poll-panel,.official-source-panel{border-color:var(--line)}.route-card:hover,.quick-action-grid>a:hover,.candidate-card:hover{border-color:var(--pink);box-shadow:0 9px 24px #021b5714}.status-disclosure,.candidate-disclosure,.profile-meaning,.dashboard-source-strip,.next-milestone,.poll-method-grid>div,.profile-status-card,.candidate-card,.candidate-poll-panel,.official-source-panel,.timeline-now,.snapshot-grid article:first-child,.dashboard-metric-grid article:first-child{background:var(--blue-wash);color:var(--ink)}.status-disclosure,.candidate-disclosure,.profile-meaning{border-left-color:var(--blue)}.candidate-affiliation,.profile-meta span,.candidate-tabs button span,.status-live{background:var(--blue-wash);color:var(--blue)}.candidate-status,.status-steps>div.is-current,.source-note svg,.official-source-panel>svg,.timeline-now svg,.timeline-now strong,.source-level-official>svg,.status-live{color:var(--blue)}.candidate-priorities span,.profile-themes span{border-color:var(--line);background:var(--paper);color:var(--ink)}.candidate-tabs button{border-color:var(--line);color:var(--ink)}.candidate-tabs button.is-active{border-color:var(--blue);background:var(--blue);color:var(--paper)}.candidate-tabs button.is-active span{background:#ffffff2e;color:var(--paper)}.candidate-poll-track,.candidate-poll-line{background:#0336ad21}.candidate-poll-track>span,.candidate-poll-line>span{background:var(--blue)}.candidate-poll-mini strong,.candidate-poll-panel .undecided-stat,.standalone-poll-chart .undecided-stat,.metric-poll strong,.poll-panel-heading>strong,.candidate-profile-poll span{color:var(--pink)}.candidate-profile-poll,.metric-pending,.metric-poll,.status-pending,.status-review,.poll-panel-heading>strong,.candidate-poll-heading>strong,.snapshot-grid article:last-child{border-color:#fc177a38;background:var(--pink-wash)}.status-pending,.status-review,.candidate-poll-heading>strong{color:var(--ink)}.poll-panel-heading>strong,.candidate-profile-poll span,.standalone-poll-chart .undecided-stat span{color:var(--ink)}.countdown-card{position:relative;border-color:var(--blue);border-top:5px solid var(--pink);background:var(--blue);color:var(--paper);box-shadow:0 16px 40px #0336ad2b}.countdown-card header span,.countdown-numbers span,.countdown-card footer{color:#ffffffc7}.countdown-numbers div{border-color:#ffffff3d;background:#ffffff1a}.countdown-numbers strong{color:var(--paper)}.dashboard-update-card{border-left:4px solid var(--pink);background:var(--paper)}.dashboard-update-card .live-dot{background:var(--pink);box-shadow:0 0 0 5px #fc177a21}.dashboard-metric-grid strong,.status-card-top>strong,.poll-method-grid strong,.snapshot-grid strong,.office-card>strong{color:var(--blue)}.dashboard-metric-grid .metric-pending strong,.dashboard-metric-grid .metric-poll strong{color:var(--pink)}.race-progress-list .is-done>span{border-color:var(--blue);background:var(--blue);color:var(--paper)}.race-progress-list .is-next>span{border-color:var(--pink);color:var(--ink);box-shadow:0 0 0 5px #fc177a1a}.update-feed time,.timeline-list article>div>span{color:var(--blue)}.timeline-list:before{background:#0336ad2e}.timeline-list article:before{background:var(--pink);box-shadow:0 0 0 2px var(--pink)}.site-footer{padding-top:58px;border-top:6px solid var(--pink);background:var(--ink);color:var(--paper)}.site-footer .footer-about p,.site-footer .footer-links a,.site-footer .footer-bottom{color:#ffffffc2}.site-footer .footer-about .footer-standards,.site-footer .footer-links h2{color:var(--paper)}.site-footer .footer-links a:hover{color:var(--pink)}.site-footer .footer-bottom{border-top-color:#ffffff2e}.site-footer .footer-about>img{filter:none}.candidate-card.candidate-directory-card{min-height:0;padding:0;overflow:hidden;background:var(--paper)}.candidate-profile-page .profile-hero{grid-template-columns:minmax(240px,290px) minmax(0,1fr) 300px}@media(max-width:1060px){.candidate-profile-page .profile-hero{grid-template-columns:minmax(230px,280px) minmax(0,1fr)}.candidate-profile-page .profile-status-card{grid-column:1 / -1}}@media(max-width:700px){.candidate-profile-page .profile-hero{grid-template-columns:1fr}.candidate-profile-page .profile-status-card{grid-column:auto}}.dashboard-home{width:100%;margin:0;padding:0 0 92px}.multi-page-app .nav-link.is-current,.multi-page-app .nav-link.is-current:hover,.nav-link-row.is-current,.nav-link-row.is-current .nav-link,.nav-link-row.is-current .nav-link:hover,.nav-link-row.is-current .nav-chevron{color:var(--paper)}.multi-page-app .nav-link.is-current,.nav-link-row.is-current{background:var(--pink)}.nav-link-row.is-current .nav-link.is-current{background:transparent}.profile-meta .incumbent-profile-badge{border-color:var(--pink);background:var(--pink);color:var(--paper)}@media(max-width:820px){.dashboard-home{width:100%;padding-top:0}}.election-dashboard-hero{min-height:0;padding:28px 24px 30px;background-color:var(--blue);background-image:none}.election-dashboard-hero:before{display:none}.dashboard-live-strip{border-color:var(--paper);background:var(--paper);box-shadow:0 10px 30px #021b573d;-webkit-backdrop-filter:none;backdrop-filter:none}.dashboard-hero-grid{gap:30px;margin-top:22px}.dashboard-glass-card{border-color:#ffffffeb;background:var(--paper);box-shadow:0 20px 54px #021b5747;-webkit-backdrop-filter:none;backdrop-filter:none}.election-dashboard-hero .countdown-card{grid-template-columns:minmax(280px,.78fr) 1px minmax(0,1.45fr);gap:34px;min-height:350px;padding:20px;border:2px solid rgb(255 255 255 / 92%);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Helvetica Neue,Arial,sans-serif;font-synthesis:none}.countdown-days-block{align-self:stretch;align-content:center;min-height:310px;padding:34px 28px 30px;border-radius:22px;background:var(--ink);text-align:center}.countdown-days-block strong{color:var(--pink);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,Arial,sans-serif;font-size:clamp(132px,12.4vw,192px);font-weight:700;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"kern" 1;font-optical-sizing:auto;letter-spacing:-.045em;line-height:.84;text-shadow:none}.countdown-days-block span{margin-top:24px;color:var(--pink);font-size:clamp(23px,1.9vw,28px);font-weight:650;letter-spacing:.08em;line-height:1.2}.countdown-days-block small{display:block;margin-top:8px;color:#ffffffb8;font-size:14px;font-weight:500;letter-spacing:.06em;line-height:1.4}.countdown-divider{margin:22px 0;background:#0336ad2e}.countdown-detail{padding:12px 16px 12px 0}.election-day-highlight{padding:24px 28px 26px;border:2px solid var(--pink);border-radius:18px;background:var(--pink-wash);box-shadow:0 9px 22px #fc177a1f}.election-day-highlight>span{display:flex;align-items:center;gap:10px;color:var(--pink);font-size:clamp(15px,1.25vw,18px);font-weight:650;letter-spacing:.07em;line-height:1.35}.election-day-highlight h2{display:flex;align-items:baseline;flex-wrap:nowrap;gap:.035em;margin:14px 0 8px;color:var(--blue);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Helvetica Neue,Arial,sans-serif;font-size:clamp(40px,3.55vw,54px);font-weight:650;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"kern" 1;font-optical-sizing:auto;letter-spacing:-.035em;line-height:1.08;white-space:nowrap}.election-day-highlight .date-number{letter-spacing:-.045em}.election-day-highlight .date-unit{margin:0 .04em 0 .015em;font-size:.7em;font-weight:600;letter-spacing:0}.election-day-highlight>p{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px;margin:0;color:var(--ink);font-size:clamp(16px,1.35vw,19px);font-weight:500;letter-spacing:.01em;line-height:1.5}.election-day-highlight>p i,.election-day-highlight>p b{color:#021b576b;font-style:normal;font-weight:500}.election-day-highlight>p time{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1;font-weight:600}.election-dashboard-hero .countdown-numbers{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.election-dashboard-hero .countdown-numbers div{gap:14px;min-width:0;min-height:132px;padding:18px 16px 16px;border-top:3px solid var(--blue);border-radius:14px;background:var(--blue-wash)}.election-dashboard-hero .countdown-numbers span{color:var(--ink);font-size:clamp(13px,1vw,15px);font-weight:600;letter-spacing:.06em;line-height:1.3}.election-dashboard-hero .countdown-numbers strong{color:var(--blue);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,Arial,sans-serif;font-size:clamp(52px,4.8vw,68px);font-weight:650;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"kern" 1;font-optical-sizing:auto;letter-spacing:-.04em;line-height:.92}.election-dashboard-hero .countdown-numbers div:last-child{border-top-color:var(--pink);background:var(--pink-wash)}.election-dashboard-hero .countdown-numbers div:last-child strong{color:var(--pink)}.dashboard-status-tile{min-height:156px;border:2px solid rgb(255 255 255 / 94%);background:var(--paper)}.dashboard-status-tile strong{color:var(--ink);font-size:21px}.dashboard-status-tile small{color:#4b5a7d;font-size:13px}.dashboard-hero-actions-row .guide-button{min-height:54px;border-color:var(--pink);background:var(--pink);color:var(--paper);box-shadow:0 12px 26px #021b5740}.dashboard-hero-actions-row .guide-button:hover{border-color:var(--paper);background:var(--paper);color:var(--blue)}.dashboard-hero-actions-row>a:not(.guide-button){color:var(--paper);font-size:14px}.dashboard-milestones{margin-top:24px;padding:22px 24px 20px;border:2px solid rgb(255 255 255 / 94%);background:var(--paper)}.milestone-line{top:51px;height:4px}.dashboard-milestones>a{gap:8px}.dashboard-milestones>a>span{width:52px;height:52px;margin-bottom:5px;border-width:2px}.dashboard-milestones strong{color:var(--ink);font-size:clamp(15px,1.18vw,17px);line-height:1.35}.dashboard-milestones small{color:var(--pink);font-size:clamp(17px,1.3vw,20px);font-weight:800;line-height:1.25}@media(max-width:1040px){.dashboard-hero-grid{gap:22px}.election-dashboard-hero .countdown-card{grid-template-columns:minmax(235px,.65fr) 1px minmax(0,1.35fr);min-height:360px}.countdown-days-block{min-height:320px}.countdown-days-block strong{font-size:clamp(140px,19vw,190px)}.dashboard-status-tile{min-height:142px}.dashboard-milestones{margin-top:28px}}@media(max-width:820px){.election-dashboard-hero{padding:28px 16px 36px}.election-dashboard-hero .countdown-card{grid-template-columns:1fr;padding:14px}.countdown-days-block{min-height:260px}.countdown-days-block strong{font-size:170px}.countdown-detail{padding:4px;text-align:left}.election-day-highlight>span{justify-content:center}.election-day-highlight{text-align:center}.election-day-highlight h2,.election-day-highlight>p{justify-content:center}.dashboard-milestones{padding:20px 22px}.milestone-line{top:48px;left:48px}.dashboard-milestones>a{grid-template-columns:56px minmax(0,1fr);min-height:88px}.dashboard-milestones>a>span{grid-row:1 / 3}.dashboard-milestones strong{align-self:end;font-size:16px}.dashboard-milestones small{align-self:start;font-size:18px}}@media(max-width:540px){.election-dashboard-hero .countdown-card{gap:18px;border-radius:20px}.countdown-days-block{min-height:224px;padding:24px 16px}.countdown-days-block strong{font-size:132px}.countdown-days-block span{font-size:22px}.election-day-highlight{padding:17px 12px}.election-day-highlight h2{font-size:34px}.election-day-highlight>p{font-size:16px}.election-dashboard-hero .countdown-numbers{gap:8px}.election-dashboard-hero .countdown-numbers div{gap:10px;min-height:104px;padding:14px 8px 12px}.election-dashboard-hero .countdown-numbers span{font-size:12px}.election-dashboard-hero .countdown-numbers strong{font-size:40px}.dashboard-milestones strong{font-size:16px}.dashboard-milestones small{font-size:17px}}.election-dashboard-hero{background:linear-gradient(135deg,#0336ad,#063dbb 48%,#052d91)}.election-dashboard-hero:before,.election-dashboard-hero:after{content:"";position:absolute;z-index:0;pointer-events:none;will-change:transform,opacity}.election-dashboard-hero:before{display:block;top:-38%;right:-38%;bottom:-38%;left:-38%;background:radial-gradient(circle at 19% 31%,rgb(255 255 255 / 38%) 0 8%,transparent 27%),radial-gradient(circle at 78% 24%,rgb(252 23 122 / 44%) 0 7%,transparent 29%),radial-gradient(circle at 61% 80%,rgb(96 211 255 / 40%) 0 8%,transparent 31%);opacity:.88;transform:translate3d(-4%,-2%,0) scale(1.04);animation:dashboard-aurora-drift 18s cubic-bezier(.45,.05,.22,.98) infinite alternate}.election-dashboard-hero:after{top:-22%;right:-22%;bottom:-22%;left:-22%;background:linear-gradient(112deg,transparent 24%,rgb(255 255 255 / 4%) 35%,rgb(255 255 255 / 25%) 48%,rgb(255 255 255 / 5%) 60%,transparent 74%);opacity:.72;transform:translate3d(-24%,0,0) rotate(-3deg);animation:dashboard-light-sweep 14s cubic-bezier(.45,0,.2,1) infinite alternate}.dashboard-hero-inner{position:relative;z-index:1}.dashboard-live-strip,.dashboard-glass-card,.election-dashboard-hero .countdown-card,.dashboard-status-tile,.dashboard-milestones{border-color:#ffffffad;background:linear-gradient(135deg,#fffc,#ffffff9e);box-shadow:0 24px 64px #021b573d,inset 0 1px #ffffffeb;-webkit-backdrop-filter:blur(26px) saturate(145%);backdrop-filter:blur(26px) saturate(145%)}.dashboard-live-strip{background:linear-gradient(135deg,#ffffffc7,#fff9);box-shadow:0 12px 34px #021b5733,inset 0 1px #ffffffeb}.election-day-highlight{border-color:#fc177ad1;background:linear-gradient(135deg,#ffeff6d1,#ffffff7a);box-shadow:0 12px 30px #fc177a1a,inset 0 1px #ffffffd1;-webkit-backdrop-filter:blur(14px) saturate(130%);backdrop-filter:blur(14px) saturate(130%)}.election-dashboard-hero .countdown-numbers div{background:#edf1f9b8;box-shadow:inset 0 1px #ffffffb8;-webkit-backdrop-filter:blur(12px) saturate(125%);backdrop-filter:blur(12px) saturate(125%)}.election-dashboard-hero .countdown-numbers div:last-child{background:#ffeff6b8}.dashboard-status-icon,.dashboard-milestones>a>span{background:#ffffffa3;box-shadow:inset 0 1px #ffffffd6;-webkit-backdrop-filter:blur(12px) saturate(130%);backdrop-filter:blur(12px) saturate(130%)}@keyframes dashboard-aurora-drift{0%{opacity:.72;transform:translate3d(-5%,-3%,0) scale(1.04)}48%{opacity:.92;transform:translate3d(2%,1%,0) scale(1.1)}to{opacity:.78;transform:translate3d(6%,-1%,0) scale(1.06)}}@keyframes dashboard-light-sweep{0%{opacity:.42;transform:translate3d(-24%,0,0) rotate(-3deg)}to{opacity:.78;transform:translate3d(24%,2%,0) rotate(3deg)}}@media(max-width:820px){.election-dashboard-hero:before{top:-22%;right:-80%;bottom:-22%;left:-80%}.election-dashboard-hero:after{top:-12%;right:-70%;bottom:-12%;left:-70%}.dashboard-live-strip,.dashboard-glass-card,.election-dashboard-hero .countdown-card,.dashboard-status-tile,.dashboard-milestones{-webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%)}}@media(prefers-reduced-motion:reduce){.election-dashboard-hero:before,.election-dashboard-hero:after{animation:none!important}.election-dashboard-hero:before{opacity:.72;transform:none}.election-dashboard-hero:after{opacity:.28;transform:none}}.countdown-days-block .countdown-primary-number{-webkit-text-stroke:.45px rgb(116 0 49 / 26%);text-shadow:0 -1px 0 rgb(255 154 201 / 58%),0 2px 0 #c8075c,0 4px 0 #85003c,0 11px 18px rgb(2 27 87 / 46%)}.election-day-highlight .date-number,.election-day-highlight>p time,.election-dashboard-hero .countdown-numbers strong{-webkit-text-stroke:.35px rgb(2 27 87 / 22%);text-shadow:0 -1px 0 rgb(117 159 241 / 62%),0 2px 0 #062f99,0 4px 0 #021b57,0 9px 15px rgb(2 27 87 / 28%)}.election-dashboard-hero .countdown-numbers div:last-child strong{-webkit-text-stroke:.35px rgb(116 0 49 / 22%);text-shadow:0 -1px 0 rgb(255 154 201 / 54%),0 2px 0 #c8075c,0 4px 0 #85003c,0 9px 15px rgb(133 0 55 / 26%)}.election-day-highlight>p time{text-shadow:0 -1px 0 rgb(117 159 241 / 54%),0 2px 0 #062f99,0 5px 8px rgb(2 27 87 / 24%)}@supports ((-webkit-background-clip: text) or (background-clip: text)){.countdown-days-block .countdown-primary-number,.election-dashboard-hero .countdown-numbers div:last-child strong{background:linear-gradient(180deg,#ff4297,#fc177a 28%,#df0b6a 68%,#a9004c);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.election-day-highlight .date-number,.election-day-highlight>p time,.election-dashboard-hero .countdown-numbers strong{background:linear-gradient(180deg,#265ccd,#0336ad 34%,#022b8e 69%,#021b57);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.election-dashboard-hero .countdown-numbers div:last-child strong{background:linear-gradient(180deg,#ff4297,#fc177a 28%,#df0b6a 68%,#a9004c);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}}@media(max-width:540px){.countdown-days-block .countdown-primary-number{text-shadow:0 -1px 0 rgb(255 154 201 / 54%),0 2px 0 #c8075c,0 3px 0 #85003c,0 8px 13px rgb(2 27 87 / 42%)}.election-day-highlight .date-number,.election-dashboard-hero .countdown-numbers strong{text-shadow:0 -1px 0 rgb(117 159 241 / 58%),0 2px 0 #062f99,0 3px 0 #021b57,0 7px 11px rgb(2 27 87 / 26%)}}.countdown-days-block .material-number-pink,.election-dashboard-hero .countdown-numbers div:last-child .material-number-pink{background-image:linear-gradient(180deg,#ff5fa8,#fc177a 33%,#df0b6a 67%,#a40049);text-shadow:-1px -1px 0 rgb(255 183 216 / 34%),0 10px 17px rgb(2 27 87 / 32%)}.election-day-highlight .material-number-blue,.election-dashboard-hero .countdown-numbers .material-number-blue{background-image:linear-gradient(180deg,#3970df,#0b49c7 30%,#0336ad 57%,#021b57);text-shadow:-1px -1px 0 rgb(154 187 255 / 32%),0 8px 14px rgb(2 27 87 / 25%)}.election-day-highlight>p .material-number-blue{text-shadow:-1px -1px 0 rgb(154 187 255 / 26%),0 5px 8px rgb(2 27 87 / 20%)}@supports ((-webkit-background-clip: text) or (background-clip: text)){.countdown-days-block .material-number-pink,.election-day-highlight .material-number-blue,.election-dashboard-hero .countdown-numbers .material-number{-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}}.countdown-days-block .material-number-pink,.election-dashboard-hero .countdown-numbers div:last-child .material-number-pink{background-image:linear-gradient(180deg,#ff6bad,#ff2c87 20%,#fc177a 52%,#df0b6a 79%,#ad004f);text-shadow:-1px -1px 0 rgb(255 183 216 / 34%),0 2px 0 #c8075c,0 4px 0 #85003c,0 10px 17px rgb(2 27 87 / 32%)}.material-number:before{content:none}.election-day-highlight .material-number-blue,.election-dashboard-hero .countdown-numbers .material-number-blue{text-shadow:-1px -1px 0 rgb(154 187 255 / 32%),0 2px 0 #062f99,0 4px 0 #021b57,0 8px 14px rgb(2 27 87 / 25%)}.election-day-highlight>p .material-number-blue{background-image:linear-gradient(112deg,transparent 22%,rgb(255 255 255 / 8%) 34%,rgb(255 255 255 / 62%) 43%,rgb(255 255 255 / 12%) 51%,transparent 61%),linear-gradient(180deg,#3970df,#0b49c7 34%,#0336ad 62%,#021b57);background-position:135% 0,0 0;background-size:230% 100%,100% 100%;text-shadow:-1px -1px 0 rgb(154 187 255 / 26%),0 1px 0 #062f99,0 3px 6px rgb(2 27 87 / 20%);animation:numeral-time-sheen 14s cubic-bezier(.45,0,.2,1) infinite alternate}@media(prefers-reduced-motion:reduce){.election-day-highlight>p .material-number{background-position:52% 0,0 0;animation:none!important}}.material-number,.countdown-days-block .countdown-primary-number,.election-day-highlight .date-number,.election-day-highlight>p time,.election-dashboard-hero .countdown-numbers strong,.election-dashboard-hero .countdown-numbers div:last-child strong{-webkit-text-stroke:0!important;text-shadow:none!important;background-size:100% 100%!important;animation-name:none}.material-number:before,.material-number:after,.election-day-highlight>p .material-number:before,.election-day-highlight>p .material-number:after{content:none!important;display:none!important;animation:none!important}.material-number-blue,.election-day-highlight .material-number-blue,.election-dashboard-hero .countdown-numbers .material-number-blue{background-image:linear-gradient(180deg,#3469d8,#0b49c7 36%,#0336ad,#022775)!important;filter:drop-shadow(0 .055em .075em rgb(2 27 87 / 24%))}.material-number-pink,.countdown-days-block .material-number-pink,.election-dashboard-hero .countdown-numbers div:last-child .material-number-pink{background-image:linear-gradient(180deg,#ff58a2,#fc177a 42%,#e30b6b 72%,#bd0054)!important;filter:drop-shadow(0 .055em .075em rgb(116 0 49 / 24%))}@supports ((-webkit-background-clip: text) or (background-clip: text)){.material-number-blue,.material-number-pink{-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}}@media(prefers-reduced-motion:reduce){.material-number{animation:none!important}}.material-number-blue{--material-brush: repeating-linear-gradient( 0deg, rgb(255 255 255 / 12%) 0 1px, rgb(2 27 87 / 8%) 1px 2px, transparent 2px 4px );--material-face: linear-gradient( 180deg, #d8e5ff 0%, #82a5ec 8%, #3568cf 23%, #052d93 45%, #2e68d8 57%, #0336ad 77%, #011844 100% );--material-depth: #021b57;--material-shadow: rgb(2 27 87 / 34%)}.material-number-pink{--material-brush: repeating-linear-gradient( 0deg, rgb(255 255 255 / 13%) 0 1px, rgb(116 0 49 / 8%) 1px 2px, transparent 2px 4px );--material-face: linear-gradient( 180deg, #ffd5e8 0%, #ff82bb 8%, #fb3e92 23%, #b80053 45%, #ff4f9f 57%, #df0b6a 77%, #790036 100% );--material-depth: #980044;--material-shadow: rgb(116 0 49 / 34%)}.material-number,.election-day-highlight .material-number-blue,.election-dashboard-hero .countdown-numbers .material-number,.election-dashboard-hero .countdown-numbers div:last-child .material-number,.countdown-days-block .material-number-pink{background-image:linear-gradient(112deg,transparent 20%,transparent 38%,rgb(255 255 255 / 8%) 43%,rgb(255 255 255 / 78%) 49%,rgb(255 255 255 / 18%) 54%,transparent 62%,transparent 100%),var(--material-brush),var(--material-face)!important;background-position:100% 0,0 0,0 0;background-repeat:no-repeat;background-size:245% 100%,100% 100%,100% 100%!important;-webkit-text-stroke:.008em rgb(255 255 255 / 32%)!important;paint-order:stroke fill;text-shadow:0 .032em 0 var(--material-depth),0 .085em .12em var(--material-shadow)!important;filter:none!important;animation:material-face-sweep 8s cubic-bezier(.45,0,.2,1) infinite!important;will-change:background-position}.election-dashboard-hero .countdown-numbers strong>.countdown-tick{display:inline-block;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;-webkit-text-fill-color:transparent}@keyframes material-face-sweep{0%,18%{background-position:100% 0,0 0,0 0}68%,to{background-position:0% 0,0 0,0 0}}@media(prefers-reduced-motion:reduce){.material-number,.election-day-highlight .material-number-blue,.election-dashboard-hero .countdown-numbers .material-number,.election-dashboard-hero .countdown-numbers div:last-child .material-number,.countdown-days-block .material-number-pink{background-position:52% 0,0 0,0 0;animation:none!important;will-change:auto}}.dashboard-home{background:#f7f3ec}.election-dashboard-hero{background-color:#f7f3ec;background-image:linear-gradient(180deg,#fbf8f3,#f7f3ec 58%,#f7f3ec)}.election-dashboard-hero:before{top:-34%;right:-34%;bottom:-34%;left:-34%;background:radial-gradient(circle at 18% 28%,rgb(255 255 255 / 92%) 0 9%,transparent 28%),radial-gradient(circle at 80% 22%,rgb(252 23 122 / 8%) 0 7%,transparent 28%),radial-gradient(circle at 62% 82%,rgb(3 54 173 / 8%) 0 8%,transparent 30%);opacity:.72}.election-dashboard-hero:after{background:linear-gradient(112deg,transparent 25%,rgb(255 255 255 / 5%) 36%,rgb(255 255 255 / 54%) 49%,rgb(255 242 225 / 16%) 61%,transparent 75%);opacity:.58}.dashboard-live-strip,.dashboard-glass-card,.election-dashboard-hero .countdown-card,.dashboard-status-tile,.dashboard-milestones{border-color:#0336ad1f;background:linear-gradient(135deg,#ffffffdb,#ffffffa8);box-shadow:0 22px 54px #021b571f,inset 0 1px #fffffff5}.dashboard-live-strip{background:linear-gradient(135deg,#ffffffeb,#ffffffb8);box-shadow:0 10px 28px #021b571a,inset 0 1px #fffffff5}.dashboard-hero-actions-row>a:not(.guide-button){color:var(--blue)}.material-number-pink{--material-brush: repeating-linear-gradient( 0deg, rgb(255 255 255 / 28%) 0 1px, rgb(151 0 64 / 3%) 1px 2px, transparent 2px 4px );--material-face: linear-gradient( 180deg, #fffafd 0%, #ffe6f1 3%, #ffb3d2 9%, #ff75b4 18%, #ff3c94 34%, #ff217f 54%, #fc177a 72%, #ea0b6c 88%, #bd0053 100% );--material-depth: #d50b63;--material-shadow: rgb(116 0 49 / 22%)}.countdown-days-block .material-number-pink,.election-dashboard-hero .countdown-numbers div:last-child .material-number-pink{color:transparent!important;-webkit-text-stroke-color:rgb(255 232 243 / 68%)!important;filter:saturate(1.12) brightness(1.22)!important}.election-dashboard-hero .countdown-numbers div:last-child .material-number-pink>.countdown-tick{color:transparent!important;background-image:linear-gradient(112deg,transparent 20%,transparent 38%,rgb(255 255 255 / 8%) 43%,rgb(255 255 255 / 78%) 49%,rgb(255 255 255 / 18%) 54%,transparent 62%,transparent 100%),var(--material-brush),var(--material-face)!important;background-position:100% 0,0 0,0 0;background-repeat:no-repeat;background-size:245% 100%,100% 100%,100% 100%!important;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:.008em rgb(255 232 243 / 68%);paint-order:stroke fill;text-shadow:0 .032em 0 var(--material-depth),0 .085em .12em var(--material-shadow);animation:countdown-tick .42s cubic-bezier(.2,.75,.25,1) both,material-face-sweep 8s cubic-bezier(.45,0,.2,1) infinite!important;will-change:transform,opacity,background-position}.election-dashboard-hero .countdown-days-block{background:#0336ad}.election-dashboard-hero .countdown-divider{background:#0336ad38}.election-dashboard-hero .material-number-blue{--material-brush: repeating-linear-gradient( 0deg, rgb(255 255 255 / 18%) 0 1px, rgb(3 54 173 / 8%) 1px 2px, transparent 2px 4px );--material-face: linear-gradient( 180deg, #eef3ff 0%, #b7caf3 7%, #5c84dc 20%, #0336ad 43%, #2d62ca 57%, #0a43bb 74%, #0336ad 100% );--material-depth: #0336ad;--material-shadow: rgb(3 54 173 / 28%);color:transparent!important;-webkit-text-stroke-color:rgb(211 225 255 / 48%)!important}.election-dashboard-hero .election-day-highlight h2,.election-dashboard-hero .election-day-highlight>p,.election-dashboard-hero .countdown-numbers span{color:#0336ad}.election-dashboard-hero .election-day-highlight>p i,.election-dashboard-hero .election-day-highlight>p b{color:#0336ad75}.election-dashboard-hero .countdown-days-block .countdown-primary-number{--material-brush: repeating-linear-gradient( 135deg, rgb(255 255 255 / 20%) 0 1px, rgb(255 255 255 / 0%) 1px 4px );--material-face: linear-gradient( 135deg, rgb(255 250 252 / 98%) 0%, rgb(255 233 243 / 94%) 14%, rgb(255 214 230 / 88%) 31%, rgb(248 190 216 / 82%) 48%, rgb(255 224 237 / 92%) 66%, rgb(244 181 210 / 86%) 83%, rgb(255 231 241 / 95%) 100% );--material-depth: rgb(246 183 215 / 78%);--material-shadow: rgb(1 30 103 / 30%);-webkit-text-stroke:.012em rgb(238 242 250 / 78%)!important;text-shadow:-.012em -.018em 0 rgb(255 255 255 / 78%),0 .032em 0 var(--material-depth),-.035em .07em .095em rgb(125 255 236 / 18%),.04em .075em .11em rgb(255 154 210 / 22%),0 .095em .15em var(--material-shadow)!important;filter:saturate(.96) brightness(1.05)!important}.election-dashboard-hero .material-number-blue{--material-brush: linear-gradient( 180deg, rgb(255 255 255 / 16%) 0%, rgb(255 255 255 / 4%) 34%, rgb(255 255 255 / 10%) 66%, rgb(255 255 255 / 0%) 100% )}.election-dashboard-hero .material-number-pink{--material-brush: linear-gradient( 145deg, rgb(255 255 255 / 22%) 0%, rgb(255 255 255 / 5%) 38%, rgb(255 255 255 / 12%) 68%, rgb(255 255 255 / 0%) 100% )}.election-dashboard-hero .material-number,.election-dashboard-hero .election-day-highlight .material-number-blue,.election-dashboard-hero .countdown-numbers .material-number,.election-dashboard-hero .countdown-days-block .material-number-pink,.election-dashboard-hero .countdown-numbers .countdown-tick{-webkit-text-stroke:0!important;paint-order:normal;text-shadow:0 .075em .14em var(--material-shadow)!important}.election-dashboard-hero .countdown-days-block .countdown-primary-number{font-family:ui-rounded,SF Pro Rounded,Arial Rounded MT Bold,sans-serif;font-weight:800;letter-spacing:-.055em;--material-brush: linear-gradient( 145deg, rgb(255 255 255 / 24%) 0%, rgb(255 255 255 / 5%) 42%, rgb(255 255 255 / 14%) 70%, rgb(255 255 255 / 0%) 100% );--material-face: linear-gradient( 135deg, rgb(255 240 247 / 98%) 0%, rgb(255 204 222 / 96%) 15%, rgb(255 157 195 / 93%) 32%, rgb(255 104 164 / 91%) 50%, rgb(252 60 143 / 89%) 68%, rgb(252 23 122 / 86%) 82%, rgb(255 132 181 / 94%) 100% );--material-shadow: rgb(1 30 103 / 28%);text-shadow:-.025em -.018em .045em rgb(255 255 255 / 54%),.035em .055em .095em rgb(255 130 184 / 22%),0 .095em .16em var(--material-shadow)!important;filter:saturate(.98) brightness(1.03)!important}.election-dashboard-hero .countdown-days-block .countdown-primary-number{--material-brush: linear-gradient( 145deg, rgb(255 255 255 / 22%) 0%, rgb(255 255 255 / 5%) 38%, rgb(255 255 255 / 12%) 68%, rgb(255 255 255 / 0%) 100% );--material-face: linear-gradient( 180deg, #fffafd 0%, #ffe6f1 3%, #ffb3d2 9%, #ff75b4 18%, #ff3c94 34%, #ff217f 54%, #fc177a 72%, #ea0b6c 88%, #bd0053 100% );--material-depth: #d50b63;--material-shadow: rgb(116 0 49 / 22%);text-shadow:0 .075em .14em var(--material-shadow)!important;filter:saturate(1.12) brightness(1.22)!important}.election-dashboard-hero .countdown-numbers div{position:relative;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center}.election-dashboard-hero .countdown-numbers div>span:first-child{position:absolute;top:18px;left:16px}.election-dashboard-hero .countdown-numbers div>strong{top:-2.5px;width:auto;justify-self:center;align-self:center}.election-dashboard-hero .election-day-highlight>p time.material-number{background-image:var(--material-brush),var(--material-face)!important;background-position:0 0,0 0!important;background-size:100% 100%,100% 100%!important;animation:none!important;will-change:auto}@media(max-width:820px){.election-dashboard-hero .countdown-numbers div>span:first-child{top:14px;left:8px}}.election-dashboard-hero .countdown-days-block .countdown-primary-number{--material-brush: linear-gradient( 180deg, rgb(255 255 255 / 38%) 0%, rgb(255 210 231 / 22%) 1.8%, rgb(255 255 255 / 7%) 4%, rgb(255 255 255 / 0%) 9%, rgb(255 255 255 / 0%) 76%, rgb(174 0 72 / 10%) 88%, rgb(102 0 41 / 32%) 100% );--material-face: radial-gradient( ellipse at 42% 34%, #ff3d97 0%, #ff2486 20%, #fc177a 48%, #e80969 72%, #c40054 88%, #8d003b 100% );--material-depth: #d70760;--material-shadow: rgb(103 0 45 / 34%);background-image:linear-gradient(112deg,transparent 45%,rgb(255 255 255 / 0%) 47%,rgb(255 255 255 / 8%) 48%,rgb(255 255 255 / 30%) 49%,rgb(255 255 255 / 7%) 50%,transparent 52%),var(--material-brush),var(--material-face)!important;-webkit-text-stroke:0!important;paint-order:normal;text-shadow:0 -1px 1.5px rgb(255 223 238 / 46%),0 .026em 0 var(--material-depth),0 .064em .07em var(--material-shadow)!important;filter:saturate(1.35) brightness(1.1) contrast(1.04)!important}.election-dashboard-hero .countdown-days-block{justify-items:center}.election-dashboard-hero .countdown-days-block .countdown-primary-number{display:inline-block;justify-self:center;transform:translate(-.035em);transform-origin:center}@media(max-width:540px){.header-main{position:relative}.multi-page-app .brand-link{position:absolute;left:50%;z-index:2;transform:translate(-50%)}.multi-page-app .brand-link .brand-logo{font-size:18px}.footer-about>.brand-logo{font-size:26px}.header-search,.user-button{display:none}}@media(max-width:360px){.multi-page-app .brand-link .brand-logo{font-size:15px}.footer-about>.brand-logo{font-size:24px}.language-selector select{width:34px}}
