:root{--e-purple:#8c76ff;--e-cyan:#58d5ff;--e-yellow:#ffe500;--e-blue:#4d8fff;--e-red:#ff4c67;--e-night:#080817;--e-panel:#14132d}
.election-page{background:var(--e-night);color:#f6f3ff}
.election-topline{background:linear-gradient(90deg,var(--e-blue),var(--e-purple),var(--e-red))}
.election-header{background:linear-gradient(180deg,rgba(8,8,23,.94),rgba(8,8,23,.7));border-color:rgba(140,118,255,.35);backdrop-filter:blur(12px)}
.election-header .brand strong{color:var(--e-yellow)}
.election-header nav a:not(.nav-cta)::after{background:var(--e-purple)}
.election-header .election-cta{background:var(--e-purple);border-color:var(--e-purple)}
.election-hero{position:relative;isolation:isolate;min-height:100svh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(310px,.55fr);align-items:end;gap:clamp(2rem,5vw,6rem);padding:clamp(10rem,19vh,14rem) var(--pad) clamp(4rem,8vh,6rem);overflow:hidden;background:radial-gradient(circle at 76% 26%,rgba(77,143,255,.17),transparent 28%),radial-gradient(circle at 25% 72%,rgba(255,76,103,.13),transparent 30%),var(--e-night)}
.election-hero::before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,#080817 0%,rgba(8,8,23,.9) 45%,rgba(8,8,23,.25) 100%),linear-gradient(0deg,#080817 0%,transparent 50%),url('/assets/election-live-odds-board-2026.png') 84% 48%/auto 82% no-repeat;opacity:.62;filter:saturate(.78)}
.election-hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(115deg,transparent 0 64%,rgba(140,118,255,.28) 64.2% 64.5%,transparent 64.7%)}
.election-hero-copy{max-width:1000px}.election-page .eyebrow{color:#c9c4ea}.election-live{width:10px;height:10px;background:var(--e-cyan);box-shadow:0 0 0 7px rgba(88,213,255,.14);animation:ePulse 1.8s infinite}@keyframes ePulse{50%{box-shadow:0 0 0 13px rgba(88,213,255,0)}}
.election-page h1{font-size:clamp(4rem,9vw,9.5rem)}.election-page h1 span{color:var(--e-yellow);text-shadow:0 0 54px rgba(255,229,0,.16)}
.election-page .hero-deck{max-width:760px;color:#e7e3fa}.election-button{background:var(--e-purple);border-color:var(--e-purple);color:#fff}.election-button:hover,.election-button:focus-visible{background:var(--e-yellow);border-color:var(--e-yellow);color:#080817}.neutral-note{margin:1.15rem 0 0;color:#aaa5ca;font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.election-date-card{border:1px solid rgba(140,118,255,.52);background:rgba(9,8,29,.92);box-shadow:0 34px 90px rgba(0,0,0,.5);backdrop-filter:blur(16px)}.date-card-label{display:flex;justify-content:space-between;padding:.9rem 1rem;border-bottom:1px solid rgba(140,118,255,.28);font-size:.62rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.date-card-label span{color:var(--e-cyan)}.date-card-label b{color:var(--e-yellow)}.date-card-main{padding:2rem 1.4rem 2.2rem}.date-card-main span,.date-card-main small{display:block;color:#9f9abc;font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.date-card-main strong{display:block;margin:.2rem 0 .65rem;font-family:var(--display);font-size:clamp(4rem,7vw,7rem);line-height:.86;letter-spacing:-.06em;text-transform:uppercase}.election-countdown{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(140,118,255,.28)}.election-countdown div{padding:.9rem .5rem;text-align:center;border-right:1px solid rgba(140,118,255,.28)}.election-countdown div:last-child{border:0}.election-countdown strong{display:block;color:var(--e-yellow);font-family:var(--display);font-size:1.8rem;line-height:1}.election-countdown span{color:#8d88aa;font-size:.55rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.election-proof{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid rgba(140,118,255,.28);background:#0e0d24}.election-proof div{min-height:150px;padding:1.5rem var(--pad);border-right:1px solid rgba(140,118,255,.25)}.election-proof div:last-child{border:0}.election-proof strong{display:block;color:var(--e-cyan);font-family:var(--display);font-size:clamp(2.3rem,4vw,4rem);line-height:1;text-transform:uppercase}.election-proof div:nth-child(2) strong{color:var(--e-yellow)}.election-proof span{display:block;margin-top:.6rem;color:#aaa5c5;font-size:.62rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.board-story{padding:clamp(4.5rem,8vw,8rem) var(--pad);background:#f1eee7;color:#121116}.board-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.65fr);gap:2rem;align-items:end;margin-bottom:2.2rem}.board-heading .section-kicker{grid-column:1/-1;margin-bottom:-.8rem;color:#6651db}.board-heading h2,.election-experience h2,.night-flow h2,.watch-options h2,.election-reserve h2,.related-guides h2{margin:0;font-family:var(--display);font-size:clamp(3rem,7vw,7.2rem);line-height:.86;letter-spacing:-.065em;text-transform:uppercase}.board-heading h2 span{color:#6651db}.board-heading>p:last-child{margin:0;color:#57545e;font-weight:620}.board-frame{margin:0;border:10px solid #0b0a1b;box-shadow:0 30px 70px rgba(19,16,43,.24);background:#0b0a1b}.board-frame img{width:100%;height:auto}.board-frame figcaption{display:flex;justify-content:space-between;gap:2rem;padding:.85rem 1rem;color:#bdb8d5;font-size:.6rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.board-frame figcaption span{color:var(--e-cyan)}.board-frame figcaption small{font:inherit;text-align:right}
.election-ticker{overflow:hidden;border-block:1px solid #a28fff;background:var(--e-purple);white-space:nowrap}.election-ticker>div{display:flex;width:max-content;animation:eMarquee 29s linear infinite}.election-ticker span{padding:1rem 1.3rem;font-family:var(--display);font-size:clamp(1rem,2vw,1.55rem);text-transform:uppercase}.election-ticker i{margin-left:1.3rem;color:var(--e-yellow);font-style:normal}@keyframes eMarquee{to{transform:translateX(-50%)}}
.election-experience{padding:clamp(5rem,9vw,9rem) var(--pad);background:radial-gradient(circle at 85% 15%,rgba(77,143,255,.14),transparent 31%),#080817}.experience-lead{max-width:1050px;margin-bottom:3rem}.election-experience .section-kicker,.night-flow .section-kicker,.watch-options .section-kicker,.election-reserve .section-kicker,.related-guides .section-kicker{color:var(--e-cyan)}.experience-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(140,118,255,.3);border-left:1px solid rgba(140,118,255,.3)}.experience-grid article{min-height:320px;padding:1.5rem;border-right:1px solid rgba(140,118,255,.3);border-bottom:1px solid rgba(140,118,255,.3)}.experience-grid article>span{color:var(--e-yellow);font-family:var(--display);font-size:1rem}.experience-grid h3{margin:3.5rem 0 1rem;font-family:var(--display);font-size:clamp(1.6rem,2.8vw,2.7rem);line-height:.92;text-transform:uppercase}.experience-grid p{margin:0;color:#aba7c8;font-weight:560}
.night-flow{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.78fr);gap:clamp(3rem,7vw,8rem);padding:clamp(5rem,9vw,9rem) var(--pad);background:var(--e-yellow);color:#090817}.night-flow-copy>p:not(.section-kicker){max-width:650px;margin:1.5rem 0;color:#312f2a;font-weight:620}.night-flow .section-kicker{color:#3f3983}.election-link{border-color:#6651db}.flow-list{margin:0;padding:0;list-style:none;border-top:4px solid #090817}.flow-list li{padding:1.25rem 0;border-bottom:1px solid rgba(9,8,23,.28)}.flow-list span{display:block;margin-bottom:.35rem;color:#625d36;font-size:.62rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.flow-list strong{font-family:var(--display);font-size:clamp(1.15rem,2vw,1.8rem);line-height:1.05;text-transform:uppercase}
.watch-options{padding:clamp(5rem,8vw,8rem) var(--pad);background:#efecf4;color:#11101a}.watch-options-heading{margin-bottom:2.5rem}.watch-options .section-kicker{color:#6651db}.option-cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:4px solid #11101a}.option-cards article{min-height:330px;padding:1.7rem;border-right:1px solid #bbb5ca}.option-cards article:last-child{border:0}.option-cards p{color:#6651db;font-size:.62rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.option-cards h3{margin:4rem 0 1rem;font-family:var(--display);font-size:clamp(2rem,3.7vw,3.8rem);line-height:.88;text-transform:uppercase}.option-cards span{color:#5b5764;font-weight:600}
.election-location{display:grid;grid-template-columns:repeat(3,1fr);background:#121029;border-block:1px solid rgba(140,118,255,.3)}.election-location div{padding:2rem var(--pad);border-right:1px solid rgba(140,118,255,.28)}.election-location div:last-child{border:0}.election-location strong{display:block;color:var(--e-cyan);font-family:var(--display);font-size:clamp(1.35rem,2.5vw,2.5rem);text-transform:uppercase}.election-location span{display:block;margin-top:.35rem;color:#9f9aba;font-size:.62rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.election-reserve{padding:clamp(5.5rem,10vw,10rem) var(--pad);background:linear-gradient(120deg,rgba(140,118,255,.93),rgba(74,74,200,.96)),url('/assets/election-live-odds-board-2026.png') center/cover;color:#fff}.election-reserve .section-kicker{color:var(--e-yellow)}.election-reserve p:not(.section-kicker){max-width:640px;margin:1.5rem 0 2rem;font-size:clamp(1rem,1.5vw,1.25rem);font-weight:600}.election-button.light{background:var(--e-yellow);border-color:var(--e-yellow);color:#090817}.election-button.light:hover{background:#fff;border-color:#fff}
.related-guides{padding:clamp(4rem,7vw,7rem) var(--pad);background:#090817}.related-guides h2{margin-bottom:2.2rem}.related-guides>div{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(140,118,255,.3)}.related-guides a{padding:1.6rem 0;border-bottom:1px solid rgba(140,118,255,.3)}.related-guides a:first-child{padding-right:2rem;border-right:1px solid rgba(140,118,255,.3)}.related-guides a:last-child{padding-left:2rem}.related-guides span{display:block;color:#9994ba;font-size:.6rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.related-guides strong{display:block;margin-top:.45rem;color:var(--e-cyan);font-family:var(--display);font-size:clamp(1.5rem,3vw,2.8rem);text-transform:uppercase}
.election-faq{background:#0d0c21}.election-faq .section-kicker{color:var(--e-cyan)}.election-faq summary::after{color:var(--e-yellow)}.election-faq details p a{color:var(--e-cyan);text-decoration:underline}.election-page footer{border-color:rgba(140,118,255,.28)}.election-page footer .brand strong{color:var(--e-yellow)}.election-mobile{background:var(--e-purple)}
@media(max-width:1000px){.election-hero{grid-template-columns:1fr}.election-date-card{width:min(100%,560px)}.experience-grid{grid-template-columns:1fr 1fr}.option-cards{grid-template-columns:1fr}.option-cards article{min-height:240px;border-right:0;border-bottom:1px solid #bbb5ca}.option-cards h3{margin-top:2rem}.election-location{grid-template-columns:1fr}.election-location div{border-right:0;border-bottom:1px solid rgba(140,118,255,.28)}}
@media(max-width:760px){.election-header nav{background:#080817}.election-hero{padding-top:10rem}.election-hero::before{background:linear-gradient(0deg,#080817 0%,rgba(8,8,23,.75) 72%,rgba(8,8,23,.3)),url('/assets/election-live-odds-board-2026.png') 66% 20%/auto 42% no-repeat}.election-page h1{font-size:clamp(3.7rem,18vw,6.4rem)}.election-proof{grid-template-columns:1fr 1fr}.election-proof div:nth-child(2){border-right:0}.board-heading{grid-template-columns:1fr}.board-frame{margin-inline:calc(var(--pad) * -1);border-left:0;border-right:0}.board-frame figcaption{display:block}.board-frame figcaption small{display:block;margin-top:.5rem;text-align:left}.experience-grid{grid-template-columns:1fr}.experience-grid article{min-height:250px}.night-flow{grid-template-columns:1fr}.related-guides>div{grid-template-columns:1fr}.related-guides a:first-child,.related-guides a:last-child{padding-inline:0;border-right:0}.election-ticker>div{animation-duration:20s}}
@media(max-width:430px){.election-proof{grid-template-columns:1fr}.election-proof div{border-right:0}.election-page .hero-actions .button{width:100%}.date-card-main strong{font-size:4.5rem}}
@media(prefers-reduced-motion:reduce){.election-live,.election-ticker>div{animation:none}}
