@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";:root{font-family:DM Sans,sans-serif;color:#17201d;background:#f4f3ef;line-height:1.5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}.app{min-height:100vh}header{height:76px;border-bottom:1px solid #deded8;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;background:#f4f3ef}.brand{border:0;background:none;font-family:Space Grotesk;font-weight:700;letter-spacing:.12em;font-size:20px;cursor:pointer}.header-actions{display:flex;gap:12px;align-items:center}.text-btn,.account-btn,.back,.location-link,.close{border:0;background:none;cursor:pointer}.text-btn{display:flex;gap:7px;align-items:center}.count{font:12px DM Mono;background:#deded8;padding:1px 6px;border-radius:10px}.account-btn{border:1px solid #c8c9c2;border-radius:8px;padding:9px 13px;display:flex;gap:7px;align-items:center;background:#fff}.hero{max-width:850px;margin:0 auto;padding:11vh 24px}.eyebrow,.office{font:500 12px DM Mono;letter-spacing:.12em;text-transform:uppercase;color:#68716c}.hero h1{font:clamp(52px,8vw,88px);font-family:Space Grotesk;line-height:.98;letter-spacing:-.055em;margin:18px 0}.hero h1 em{font-style:normal;color:#26735a}.lead{font-size:19px;color:#5c645f;max-width:620px}.location-card{margin-top:42px;background:#fff;border:1px solid #deded8;border-radius:14px;padding:24px;box-shadow:0 8px 30px #18251b0b}.location-card label{display:block;font-weight:600;margin-bottom:10px}.input-row{display:flex;gap:10px}.input-wrap{display:flex;align-items:center;gap:9px;border:1px solid #c9ccc6;border-radius:9px;padding:0 13px;flex:1}.input-wrap input{border:0;outline:0;width:100%;height:48px}.primary{border:0;background:#17201d;color:#fff;border-radius:9px;padding:0 18px;height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;font-weight:600}.primary:disabled{opacity:.35;cursor:not-allowed}.location-link{margin-top:15px;color:#26735a;display:flex;gap:7px;align-items:center}.note,.data-note{display:flex;gap:8px;color:#707771;font-size:12px;margin-top:18px}.content{max-width:1000px;margin:auto;padding:45px 24px 80px}.back{display:flex;align-items:center;gap:4px;color:#5e6862;padding:0;margin-bottom:35px}.content-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.content h2{font:700 clamp(38px,5vw,58px) "Space Grotesk";letter-spacing:-.045em;margin:7px 0}.content-head p,.sub{color:#68716c;margin:0}.search{border:1px solid #d2d3ce;border-radius:8px;padding:10px 13px;color:#8a918d;display:flex;gap:8px}.candidate-list{display:grid;gap:10px}.candidate-card{display:grid;grid-template-columns:58px minmax(0,1fr) 78px 36px 24px;gap:20px;text-align:left;align-items:center;border:1px solid #deded8;background:#fff;border-radius:13px;padding:20px;cursor:pointer;transition:.15s}.candidate-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px #18251b0a}.avatar{width:58px;height:58px;border-radius:50%;background:#dce8df;color:#28624e;display:grid;place-items:center;font-family:Space Grotesk;font-weight:700}.avatar.large{width:82px;height:82px;font-size:22px}.candidate-info h3,.saved-card h3{font:600 22px Space Grotesk;margin:2px 0}.party{font-size:13px;color:#69716c}.candidate-info p{margin:9px 0 0;color:#59625d;font-size:14px}.save{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;color:#7b837e}.save.active,.save-big.active{color:#26735a}.arrow{color:#9aa19c}.detail-top{display:flex;align-items:center;gap:20px;border-bottom:1px solid #ddd;padding-bottom:30px}.detail-top h2{margin:5px 0;font-size:45px}.save-big{margin-left:auto;border:1px solid #c8cbc5;background:#fff;border-radius:8px;padding:11px 15px;display:flex;gap:8px;align-items:center;cursor:pointer}.summary-box{margin:32px 0;background:#e6eee9;border-radius:13px;padding:25px}.summary-box p{font-size:21px;max-width:760px;margin:8px 0 0}.section-title{font:600 25px Space Grotesk;margin:35px 0 14px}.issues{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.issue{background:#fff;border:1px solid #deded8;border-radius:11px;padding:20px}.issue h4{font:600 17px Space Grotesk;margin:0 0 8px}.issue p{color:#5e6761;font-size:14px;margin:0}.saved-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:30px}.saved-card{background:#fff;border:1px solid #deded8;border-radius:11px;padding:18px;display:flex;gap:14px;text-align:left;align-items:center;cursor:pointer}.empty{text-align:center;padding:70px 20px;color:#737b76}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#17201d66;display:grid;place-items:center;padding:20px}.modal{background:#fff;border-radius:16px;padding:32px;max-width:420px;width:100%;box-shadow:0 20px 60px #0003}.modal-icon{width:42px;height:42px;border-radius:10px;background:#e6eee9;display:grid;place-items:center;color:#26735a}.modal h2{font:600 29px Space Grotesk;margin:18px 0 8px}.modal p{color:#68716c}.modal input{width:100%;height:46px;border:1px solid #c9ccc6;border-radius:8px;padding:0 12px;margin:12px 0}.full{width:100%}.close{width:100%;margin-top:12px;padding:10px;color:#68716c}.selection-address-groups{display:flex;flex-direction:column;gap:24px;margin-top:22px}.selection-address-group{border:1px solid #deded8;border-radius:13px;background:#fafbf9;overflow:hidden}.selection-address-heading{padding:18px 20px;background:#f1f4f0;border-bottom:1px solid #deded8}.selection-address-group .selection-list{margin:0;border:0;border-radius:0;background:#fff}@media(max-width:700px){header{padding:0 20px}.header-actions{gap:6px}.text-btn{display:flex;font-size:12px;padding:7px 6px}.text-btn svg{width:15px;height:15px}.text-btn .count{display:none}.hero{padding-top:8vh}.input-row{flex-direction:column}.content-head{display:block}.search{margin-top:18px}.candidate-card{grid-template-columns:46px 1fr 34px}.candidate-card .arrow{display:none}.avatar{width:46px;height:46px}.issues,.saved-grid{grid-template-columns:1fr}.detail-top{flex-wrap:wrap}.save-big{margin-left:0}.detail-top h2{font-size:36px}}.contest-list{margin:0 0 28px;border:1px solid #deded8;background:#fff;border-radius:13px;padding:22px}.contest-list h3{font:600 25px Space Grotesk;margin:6px 0 8px}.contest-row{padding:14px 0;border-top:1px solid #ecece7;display:grid;grid-template-columns:1fr 1.3fr;gap:18px}.contest-row strong{display:block;margin-top:4px}.contest-candidates{display:flex;flex-wrap:wrap;gap:7px;align-content:start}.contest-candidates span{font-size:12px;background:#f0f3ef;border-radius:999px;padding:6px 9px;color:#4f5953}@media(max-width:700px){.contest-row{grid-template-columns:1fr;gap:8px}}.race-section{margin-top:30px}.race-heading{padding:0 2px 12px}.race-heading h3{font:600 28px Space Grotesk;margin:4px 0 0;letter-spacing:-.025em}.party-democrat{border-left:4px solid #2563eb}.party-republican{border-left:4px solid #dc2626}.party-democrat .avatar{background:#dbeafe;color:#1d4ed8}.party-republican .avatar{background:#fee2e2;color:#b91c1c}.party-democrat .party{color:#1d4ed8}.party-republican .party{color:#b91c1c}.race-heading{display:flex;justify-content:space-between;align-items:end}.race-choice{font:500 12px DM Mono;color:#68716c}.selection-action{min-width:72px;border:1px solid #d4d8d2;background:#f7f8f5;border-radius:8px;padding:7px 9px;color:#26735a;display:flex;align-items:center;justify-content:center;gap:5px;font-size:12px;cursor:pointer}.selection-action span{font-weight:600}.selection-summary{margin:22px 0;padding:15px 18px;background:#e6eee9;border-radius:10px;color:#53605a}.selection-summary strong{font-size:22px;color:#17201d}.selection-list{margin-top:22px;background:#fff;border:1px solid #deded8;border-radius:13px;overflow:hidden}.selection-row{padding:18px 20px;border-bottom:1px solid #ecece7;display:flex;align-items:center;justify-content:space-between;gap:20px}.selection-row:last-child{border-bottom:0}.selection-row strong{font:600 19px Space Grotesk}.selection-row-actions{display:flex;gap:8px}.secondary,.clear-choice{border:1px solid #c8cbc5;background:#fff;border-radius:8px;padding:8px 12px;cursor:pointer}.clear-choice{color:#68716c}.selection-note{display:flex;gap:8px;align-items:flex-start;color:#707771;font-size:12px;margin-top:18px}@media(max-width:700px){.selection-row{align-items:flex-start;flex-direction:column}.selection-row-actions{width:100%}.selection-row-actions button{flex:1}.race-heading{align-items:flex-start;gap:10px;flex-direction:column}.selection-action{min-width:66px}.candidate-card{grid-template-columns:46px 1fr 74px 34px}}.selection-address-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.selection-address-actions{display:flex;gap:8px;flex-wrap:wrap}.selection-address-meta{margin-top:7px;color:#68716c;font-size:13px}.selection-address-heading h3{margin:4px 0 0;font:600 20px Space Grotesk}@media(max-width:700px){.selection-address-header{align-items:flex-start;flex-direction:column}.selection-address-actions{width:100%}.selection-address-actions button{flex:1}}.share-modal{max-width:480px}.share-modal h2{margin-bottom:6px}.share-modal>p{margin-top:0;color:#68716c}.share-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.share-option{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #deded8;border-radius:12px;background:#fff;text-align:left;cursor:pointer;transition:transform .15s,border-color .15s,background .15s}.share-option:hover{transform:translateY(-1px);border-color:#aab5ad;background:#f7f9f6}.share-option-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#f0f3ef}.share-option-copy{display:flex;flex-direction:column;gap:3px}.share-option-copy strong{font-size:14px}.share-option-copy span{font-size:12px;color:#68716c}.share-button{display:inline-flex;align-items:center;gap:6px}@media(max-width:600px){.share-options{grid-template-columns:1fr}}:root{--pol-red:#c6283d;--pol-blue:#2457a6;--pol-navy:#17201d;--pol-light-blue:#eef3fb;--pol-light-red:#fbefef}header{background:#fff;border-bottom:1px solid #dfe3e8}.brand-mark,.home-btn{color:var(--pol-blue)}.count{background:#eef1f5;color:#374151}.eyebrow,.office{color:#667085}.primary{background:var(--pol-navy);border-top:3px solid var(--pol-red)}.location-card{border-top:3px solid var(--pol-blue)}.location-link{color:var(--pol-blue)}.candidate-card{border-color:#dfe3e8}.party-democrat .avatar{background:#e8effb;color:var(--pol-blue)}.selection-address-heading{background:linear-gradient(90deg,#f5f8fc,#fff)}.selection-summary{background:var(--pol-light-blue)}.share-option:hover{border-color:#aebedb;background:#f7f9fd}.modal-icon{background:var(--pol-light-blue);color:var(--pol-blue)}:root{--pol-red:#c93645;--pol-blue:#2558a7;--pol-navy:#151b19;--pol-offwhite:#fcfbf7;--pol-warm:#f5f3ed;--pol-pale-blue:#f1f5fc;--pol-pale-red:#fcf0f1}body{background:var(--pol-offwhite);color:#171a18}header{background:#fff;border-bottom:1px solid #ebe8df}.brand{color:var(--pol-navy)}.brand-mark{color:var(--pol-red)}.home-btn{color:var(--pol-blue)}.text-btn{color:#303633}.text-btn:hover{color:var(--pol-blue);background:var(--pol-pale-blue)}.hero h1 em{color:var(--pol-blue)}.hero .eyebrow{color:var(--pol-red)}.location-card{background:#fff;border:1px solid #e8e4da;border-top:3px solid var(--pol-red);box-shadow:0 8px 28px #1419160d}.input-wrap{background:var(--pol-offwhite);border-color:#dedbd2}.primary{background:var(--pol-navy);border-top:3px solid var(--pol-blue)}.primary:hover{background:#222b27}.note{background:var(--pol-warm);border-color:#e6e1d7}.data-note{background:var(--pol-pale-red);border-color:#f0d4d7}.back{color:var(--pol-blue)}.content-head{background:transparent}.candidate-card{background:#fff;border-color:#e5e2da;box-shadow:0 4px 16px #14191609}.candidate-card:hover{border-color:#cfd4da;box-shadow:0 7px 20px #1419160f}.party-democrat{border-left-color:var(--pol-blue)}.party-republican{border-left-color:var(--pol-red)}.party-democrat .avatar{background:#eaf0fb;color:var(--pol-blue)}.party-republican .avatar{background:#fbeaec;color:var(--pol-red)}.party-democrat .party{color:var(--pol-blue)}.party-republican .party{color:var(--pol-red)}.selection-address-group{background:#fff;border-color:#e6e2d9;box-shadow:0 4px 18px #14191609}.selection-address-heading{background:linear-gradient(90deg,#fffaf8,#f8f8fb);border-bottom-color:#e8e4dc}.selection-action{color:var(--pol-blue)}.share-option{background:#fff;border-color:#e4e1d9}.share-option:hover{border-color:#c6d2e8;background:#fafbfe}.modal-backdrop{background:#151b1959}.modal{background:#fff;border:1px solid #e7e3da}.modal-icon{background:var(--pol-pale-blue);color:var(--pol-blue)}body{background:#fffefa}.brand{color:#171a18!important}.brand-mark{color:var(--pol-red)!important}.brand:after{content:"";display:inline-block;width:8px;height:8px;margin-left:5px;border-radius:50%;background:var(--pol-blue);vertical-align:middle;box-shadow:-12px 0 0 var(--pol-red)}.app,.main,.page,.hero,.content{background:#fffefa}.brand,.brand-mark{color:#171a18!important}.brand:after{content:none!important;display:none!important}.hero{position:relative;max-width:920px;padding-top:12vh}.hero:before{content:"";position:absolute;left:24px;right:24px;top:7vh;height:5px;border-radius:999px;background:linear-gradient(90deg,var(--pol-red) 0 18%,#171a18 18% 82%,var(--pol-blue) 82%);opacity:.9}.hero h1{max-width:760px}.hero .lead{font-size:20px;line-height:1.6}.location-card{position:relative;overflow:hidden;box-shadow:0 14px 38px #14191614}.location-card:after{content:"";position:absolute;right:-55px;bottom:-70px;width:170px;height:170px;border-radius:50%;background:var(--pol-pale-blue);z-index:0}.location-card>*{position:relative;z-index:1}.primary{box-shadow:0 6px 14px #151b191f}.content{padding-top:52px}.content-head{padding-bottom:8px}.content-head h2{margin-top:10px}.race-section{position:relative}.race-heading{border-left:4px solid #171a18;padding:0 4px 14px 12px}.race-heading h3{font-size:30px}.candidate-list{gap:12px}.candidate-card{box-shadow:0 6px 18px #1419160b}.candidate-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px #14191617}.selection-address-group,.saved-card,.contest-list{box-shadow:0 7px 22px #1419160b}.selection-address-heading{padding:20px 22px}@media(max-width:700px){.hero{padding-top:9vh}.hero:before{top:5vh}.race-heading{padding-left:10px}}@media(max-width:420px){header{height:auto;min-height:68px;padding:10px 14px;align-items:center}.brand{font-size:17px;letter-spacing:.08em}.header-actions{gap:2px;flex:1;justify-content:flex-end}.text-btn{font-size:11px;gap:4px;padding:6px 4px;white-space:nowrap}.home-btn{display:flex}.text-btn .count{display:none}}.places-autocomplete{flex:1;min-width:0;display:flex;align-items:center}.places-autocomplete gmp-basic-place-autocomplete{display:block;width:100%;min-width:0;color-scheme:light}.location-card{overflow:visible;z-index:5}.input-row{position:relative;z-index:6}.input-wrap{position:relative;z-index:7;overflow:visible}.places-autocomplete{position:relative;z-index:8}.location-card:after{content:none!important;display:none!important}.save{flex-shrink:0;border:1px solid transparent;background:transparent;cursor:pointer;transition:color .15s,background .15s,border-color .15s}.save:hover{background:#f0f3ef;border-color:#d9ded9}.save.active{color:#26735a;background:#e6eee9;border-color:#c5d8cc}.save svg{display:block}@media(max-width:700px){.candidate-card{grid-template-columns:46px minmax(0,1fr) 72px 34px}.candidate-card .arrow{display:none}.candidate-card .selection-action{gap:3px;font-size:11px}.candidate-card .save{width:32px;height:32px}}.candidate-sources{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.source-panel{min-width:0}.source-link{display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid #dfe4df;border-radius:10px;background:#fbfcfa;color:#17201d;text-decoration:none}.source-link:hover,.social-link:hover{border-color:#9fb9aa;background:#f2f7f3}.source-link-label{display:block;font-size:13px;color:#68716c}.source-link-name{flex:1;min-width:0;font-weight:600}.source-link svg{flex-shrink:0;color:#26735a}.source-updated{font-size:12px;color:#737b76;margin-top:12px}.social-links{display:flex;flex-wrap:wrap;gap:8px}.social-link{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #dfe4df;border-radius:999px;background:#fff;color:#275f49;text-decoration:none;font-size:13px;font-weight:600}.social-link svg{color:#68716c}@media(max-width:700px){.candidate-sources{grid-template-columns:1fr}}.input-wrap{min-width:0}.places-suggestions{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:50;max-height:260px;overflow-y:auto;background:#fff;border:1px solid #dfe3e8;border-radius:10px;box-shadow:0 12px 28px #14191624;padding:5px}.places-suggestion{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px;border:0;border-radius:7px;background:#fff;text-align:left;color:#202722;cursor:pointer;font:inherit;font-size:14px}.places-suggestion:hover,.places-suggestion:focus{background:#f1f5fc;outline:none}.places-suggestion svg{flex-shrink:0;color:#68716c}.places-suggestion span{min-width:0}@media(max-width:700px){.places-suggestions{max-height:220px}.places-suggestion{min-height:46px}}@media(max-width:700px){.candidate-card .candidate-info p{display:none}}.candidate-positions-section{margin-top:24px}.candidate-positions-section>.section-title{margin:0 0 16px}.candidate-positions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.candidate-position-card{min-width:0;display:flex;flex-direction:column;gap:0}.candidate-position-card .candidate-position-title{font-family:Space Grotesk,sans-serif;font-size:18px;font-weight:700;line-height:1.3;margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid #e6e9e5;overflow-wrap:anywhere}.candidate-position-card .candidate-position-summary{line-height:1.6;overflow-wrap:anywhere}.candidate-position-footer{margin-top:auto;padding-top:18px}.candidate-position-meta{border-top:1px solid #e6e9e5;padding:12px 0;display:flex;flex-direction:column;gap:4px;font-size:12px;line-height:1.5;color:#737b76}.candidate-position-card .source-link{overflow-wrap:anywhere}@media(max-width:1000px){.candidate-positions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.candidate-positions-grid{grid-template-columns:1fr}}.positions-loading{display:flex;align-items:center;gap:18px;padding:24px;border:1px solid #dbe4e9;border-radius:16px;background:linear-gradient(115deg,#f4f8fc,#fff 58%,#fff5f5);margin-bottom:18px}.positions-loading-icon{display:grid;place-items:center;flex:none;width:56px;height:56px;border-radius:15px;background:#e9f0fb;color:#24549d}.positions-loading-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}.positions-loading-copy strong{font-size:16px;color:#1f2937}.positions-loading-copy span{font-size:13px;color:#626e7d;line-height:1.5}.positions-loading-track{height:4px;overflow:hidden;border-radius:999px;background:#e5eaf2;margin-top:6px}.positions-loading-progress{width:36%;height:100%;border-radius:999px;background:linear-gradient(90deg,#3267b0,#dc4852);animation:positions-progress 2.2s ease-in-out infinite alternate}@keyframes positions-progress{0%{transform:translate(-95%)}to{transform:translate(275%)}}@media(max-width:700px){.positions-loading{padding:18px;gap:12px}.positions-loading-icon{width:44px;height:44px}}@media(prefers-reduced-motion:reduce){.positions-loading-progress{animation:none;width:100%}.positions-loading-icon .spin{animation:none}}
