.wr-hero{margin:24px 0;padding:clamp(28px,5vw,70px);background:radial-gradient(ellipse at 92% 20%,#305469,#152f42 52%,#0b1a2a);border:1px solid #4d7186;border-radius:17px}.wr-hero h1{font:400 clamp(3.3rem,6.4vw,6.6rem)/1.08 Georgia,serif;letter-spacing:-.055em;margin:18px 0}.wr-hero h1 em{color:#ebc18a}.wr-hero p{font-size:clamp(14px,1.5vw,18px);line-height:1.65;color:#c1d1dc;max-width:880px}.wr-form{background:#0e2334;border-radius:12px;border:1px solid #648396;padding:19px 22px;max-width:1000px;margin:30px 0 15px}.wr-form label{color:#efcf9d;font:800 11px Manrope,sans-serif;letter-spacing:.09em}.wr-entry{display:flex;gap:10px;margin-top:10px}.wr-entry input{flex:1;min-width:0;color:#f1f5f6;background:#071724;border:1px solid #7b94a4;border-radius:9px;padding:14px 15px;font:600 14px 'DM Sans',system-ui}.wr-entry button{border:0;border-radius:9px;background:#e5bd81;color:#132334;padding:14px 20px;font-weight:850}.wr-entry button:disabled{opacity:.5;cursor:wait}.wr-privacy{font-size:11px!important;color:#acc2cb!important}.wr-quicklinks,.wr-bottom{display:flex;gap:16px;flex-wrap:wrap;margin-top:18px}.wr-quicklinks a,.wr-bottom a{color:#edd0a0;font-size:11px;font-weight:850;text-decoration:underline;text-underline-offset:3px}.wr-status{color:#ead3a8;margin:15px 3px;min-height:24px}.wr-panel{padding:clamp(18px,3vw,30px);margin:19px 0;border:1px solid #39576d;border-radius:15px;background:linear-gradient(145deg,#132a3c,#0b1b2a)}.wr-panel h2{font:400 clamp(28px,4vw,46px)/1.2 Georgia,serif;letter-spacing:-.025em;margin:12px 0}.wr-panel>p{color:#bbccd6;font-size:13px}.wr-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.wr-mini{font-size:10px;font-weight:800;color:#d8bd8e;letter-spacing:.07em}.wr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:22px 0}.wr-person-card{min-width:0;display:flex;flex-direction:column;padding:18px;border-radius:12px;border:1px solid #47677e;background:#0d2436;gap:9px}.wr-person-card small{font:800 10px Manrope,sans-serif;letter-spacing:.08em;color:#e4ca9d}.wr-person-card b{font:400 27px Georgia,serif;color:#f3e6d0;overflow-wrap:anywhere}.wr-person-card p{font-size:12px;color:#b7cdd8;margin:0;flex:1}.wr-person-card a{color:#e7c995;text-decoration:underline;font-size:11px;font-weight:800}.wr-district-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:25px 0}.wr-compare-card{min-width:0;padding:19px;border-radius:12px;border:1px solid #496a7c;background:#112c3f}.wr-compare-card small{display:block;color:#e9d0a2;font-size:10px;font-weight:800;margin-bottom:12px}.wr-compare-pair{display:grid;grid-template-columns:1fr 30px 1fr;gap:5px;align-items:center}.wr-compare-pair div{display:grid;gap:5px;padding:13px 8px;border:1px solid #456174;border-radius:8px;background:#0b1e2d}.wr-compare-pair span{font-size:10px;color:#9fb8c7}.wr-compare-pair b{font:400 27px Georgia,serif}.wr-compare-card p{color:#c6d5dc;font-size:11px;line-height:1.55}.wr-changed{color:#e7b885;font-weight:800}.wr-unchanged{color:#9bd5ba;font-weight:800}.wr-note{font-size:12px!important;color:#a8bcca!important}.wr-method{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:20px 0}.wr-method div{padding:20px;border-radius:10px;background:#0f2839;border:1px solid #395d73}.wr-method b{color:#e6c690}.wr-method p{font-size:12px;color:#aec6d4;line-height:1.65}#wr-races-link a{display:inline-block;border-radius:8px;background:#e4c38b;color:#0e2030;padding:11px 16px;font-weight:850;font-size:12px}#wr-checked{font-size:11px!important;color:#9bb8c7!important}@media(max-width:900px){.wr-grid,.wr-district-compare{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:630px){.wr-entry{flex-direction:column}.wr-entry button{width:100%}.wr-grid,.wr-district-compare,.wr-method{grid-template-columns:1fr}.wr-hero{padding:28px 20px}.wr-hero h1{font-size:3.3rem}.wr-panel{padding:16px}.wr-panel h2{font-size:31px}}/* Location-first district search: visitor opt-in; manual address remains available */
.wr-gps-option{max-width:1000px;margin:26px 0 18px;padding:18px;border:1px solid #ad9062;border-radius:13px;background:linear-gradient(125deg,rgba(52,68,62,.87),rgba(21,52,63,.9))}
.wr-gps-top{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:11px}
.wr-gps-kicker{font:850 10px/1.4 Manrope,system-ui;letter-spacing:.1em;color:#e9d3ae}
.wr-gps-chip{font:800 9px Manrope,system-ui;letter-spacing:.05em;padding:5px 9px;color:#c5e3d3;border:1px solid #61937e;border-radius:99px}
.wr-gps-button{width:100%;display:flex;align-items:center;gap:13px;min-height:75px;padding:14px 18px;background:linear-gradient(110deg,#edcb97,#dfad67);border:1px solid #f3d8af;border-radius:11px;color:#152a37;text-align:left;cursor:pointer;box-shadow:0 5px 23px #0003;transition:background .12s,transform .12s}
.wr-gps-button:hover{background:linear-gradient(110deg,#f3d8b0,#ebbc79);transform:translateY(-1px)}
.wr-gps-button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.wr-gps-button:disabled{opacity:.68;cursor:progress;transform:none}
.wr-gps-icon{flex:0 0 45px;width:45px;height:45px;display:grid;place-items:center;background:#1e3a43;color:#f6d2a4;border-radius:11px;font-size:30px}
.wr-gps-button-label{flex:1;display:grid;gap:4px;min-width:0}
.wr-gps-button-label strong{font:900 clamp(16px,2.7vw,22px)/1.25 Manrope,system-ui}
.wr-gps-button-label small{font:600 11px/1.4 'DM Sans',system-ui;color:#3b4d52}
.wr-gps-arrow{font-size:25px}
.wr-gps-feedback{font-size:11px!important;line-height:1.6!important;color:#cddcde!important;margin:11px 2px 0!important}
.wr-gps-feedback[data-state=error]{color:#ffd4ad!important}
.wr-gps-feedback[data-state=success]{color:#b2efd1!important}
.wr-method-divider{display:flex;align-items:center;gap:13px;max-width:1000px;margin:19px 0 -10px;color:#b5c5cd;font:850 10px Manrope,system-ui;letter-spacing:.075em}
.wr-method-divider:before,.wr-method-divider:after{content:'';height:1px;background:#4c6a7c;flex:1}
.wr-form{margin-top:24px}
.wr-location-note{font-size:12px!important;color:#e7cda3!important;line-height:1.7!important}
@media(max-width:630px){.wr-gps-option{padding:12px;margin:17px 0 12px}.wr-gps-button{padding:12px;min-height:69px;gap:9px}.wr-gps-icon{width:38px;height:38px;flex-basis:38px;font-size:26px}.wr-gps-button-label strong{font-size:16px}.wr-gps-button-label small{font-size:10px}.wr-gps-kicker{font-size:9px}.wr-method-divider{font-size:9px;margin:15px 0 -8px}}

/* Statewide U.S. senators are shown before address/GPS lookup, never conflated with candidates. */
.wr-senate-statewide{border-color:#ad986e;background:linear-gradient(120deg,#172f3b,#0d2230)}
.wr-senate-statewide .wr-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:14px 0 10px}
.wr-senate-statewide .wr-person-card{background:#10283a;min-height:140px}
.wr-senate-statewide .wr-person-card b{font-size:clamp(22px,3vw,31px)}
.wr-senate-election{display:flex;align-items:center;justify-content:space-between;gap:17px;flex-wrap:wrap;border:1px solid #647883;background:#142a37;border-radius:11px;padding:15px;margin-top:17px}
.wr-senate-election>div{flex:1 1 250px}
.wr-senate-election small{color:#e9c997;font:850 10px Manrope,system-ui;letter-spacing:.06em}
.wr-senate-election strong{display:block;color:#f0ebe3;font:400 21px Georgia,serif;margin:7px 0 6px}
.wr-senate-election p{color:#aebfca;font-size:11px;line-height:1.55;margin:0}
.wr-senate-election a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:11px 13px;border:1px solid #bd9b6c;border-radius:9px;font-weight:800;font-size:11px;color:#eacb99;text-decoration:none}
@media(max-width:630px){.wr-senate-statewide .wr-grid{grid-template-columns:1fr;gap:9px}.wr-senate-statewide .wr-person-card{min-height:0;padding:14px}.wr-senate-election{padding:12px}}
