.election-page{--election-muted:#b5b8b6;font-size:1rem;line-height:1.65}.election-page a{text-underline-offset:.22em}.election-page a:focus-visible{outline:2px solid var(--lake);outline-offset:5px}.election-page summary:focus-visible{outline:2px solid var(--lake);outline-offset:5px}.election-table-scroll:focus-visible{outline:2px solid var(--lake);outline-offset:5px}.election-page p{margin:0 0 1.1rem}.election-page h1,.election-page h2,.election-page h3,.election-page h4{text-wrap:balance}.election-shell{width:min(1180px,100% - 48px);margin:auto}.election-header.site-header{gap:24px;margin:auto;padding:18px 0;position:relative;inset:auto;transform:none}.election-header nav{flex-wrap:wrap;gap:24px}.election-header nav a{font-size:.875rem}.election-header nav a[aria-current]{color:var(--lake);text-decoration:underline;text-decoration-thickness:2px}.election-intro{max-width:1040px;padding:52px 0 26px}.election-kicker{color:var(--lake);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;font-weight:750}.election-intro h1{letter-spacing:-.055em;margin:0 0 24px;font-size:clamp(3rem,6.5vw,5.8rem);line-height:1}.election-deck{max-width:840px;font-size:clamp(1.15rem,2.2vw,1.45rem);line-height:1.5}.election-dateline{color:var(--election-muted);flex-wrap:wrap;gap:10px 24px;margin:22px 0;font-size:.8rem;display:flex}.election-context{max-width:850px;color:var(--election-muted)}.election-jumps{z-index:20;border-top:1px solid var(--line);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#050505f5;flex-wrap:wrap;gap:12px 28px;padding:16px 0;position:sticky;top:0}.election-jumps a{color:var(--lake);font-size:.875rem}.election-section{padding:48px 0;scroll-margin-top:96px}.election-section-title{justify-content:space-between;align-items:end;gap:20px;margin:0 0 22px;display:flex}.election-section h2{letter-spacing:-.04em;margin:0 0 22px;font-size:clamp(2rem,4vw,3.5rem);line-height:1.07}.election-section-title h2{margin:0}.election-section-title>a{color:var(--lake);flex-shrink:0;font-size:.875rem}.election-muted{color:var(--election-muted)}.election-table-scroll{border:1px solid var(--line);margin:24px 0 16px;overflow-x:auto}.election-table{border-collapse:collapse;text-align:left;width:100%}.election-table caption{text-align:left}.election-table th,.election-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:15px 20px}.election-table thead th{background:#161a1b;font-size:.875rem;font-weight:650;line-height:1.35}.election-table tbody th{font-weight:500}.overview-table{min-width:640px}.overview-table th:first-child{width:40%}.overview-table td{width:20%}.overview-table tbody th a{text-decoration:none}.overview-table tbody th a:hover{color:var(--lake);text-decoration:underline}.overview-table tbody th a span{color:#748487}.overview-table th small{color:var(--lake);font-size:.75rem;font-weight:400;display:block}.election-office-row th{color:var(--lake);background:#20272a;padding-top:16px;padding-bottom:16px;font-size:.875rem;font-weight:700!important}.score-number{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:700;line-height:1.2}.score-denominator{color:var(--election-muted);margin-left:3px;font-size:.8rem;font-weight:400}.score-number abbr{color:var(--lake);margin-left:6px;font-size:.75rem;font-weight:600;text-decoration:none}.score-unknown,.election-source-note{color:var(--election-muted);font-size:.875rem}.candidate-profile{border-top:1px solid var(--line);padding:38px 0;scroll-margin-top:100px}.candidate-profile:first-of-type{margin-top:36px}.candidate-heading{justify-content:space-between;align-items:start;gap:16px;margin-bottom:28px;display:flex}.candidate-meta{color:var(--lake);font-size:.8rem;margin-bottom:8px!important}.candidate-heading h3{letter-spacing:-.035em;margin:0;font-size:clamp(2rem,3.5vw,3rem);line-height:1.12}.candidate-permalink{color:var(--election-muted);padding:0 10px;font-size:1.5rem;text-decoration:none}.candidate-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:52px;display:grid}.candidate-profile h4{margin:0 0 12px;font-size:.875rem;line-height:1.4}.candidate-background>h4{color:var(--election-muted)}.candidate-background p{color:#d3d6d3}.candidate-background a,.score-reasons a,.candidate-record a,.candidate-sources a{color:var(--lake)}.candidate-record{border-top:1px solid var(--line);margin-top:20px;padding:18px 0 0}.candidate-record p,.candidate-record a{font-size:.875rem}.candidate-scores{background:#112025;border:1px solid #37525a;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.candidate-score{flex-direction:column;justify-content:space-between;gap:20px;min-width:0;padding:20px 14px;display:flex}.candidate-score+.candidate-score{border-left:1px solid #37525a}.candidate-score .score-number{font-size:2.5rem}.score-label{font-size:.875rem;line-height:1.4}.candidate-score-note{border-left:2px solid var(--lake);color:#c7d7da;padding-left:12px;font-size:.8rem;margin:14px 0!important}.score-reasons{border-bottom:1px solid var(--line);margin:14px 0 24px;padding:0 0 14px}.election-page summary{cursor:pointer;color:var(--lake);padding:8px 0;font-size:.875rem}.score-reasons>div{padding-top:18px}.score-reasons h4 span{color:var(--election-muted);font-weight:400}.score-reasons p{font-size:.875rem}.jordan-take{border-left:3px solid var(--lake);background:#131617;padding:24px}.take-heading{justify-content:space-between;align-items:start;gap:14px;display:flex}.take-heading h4{font-size:1rem}.take-heading span{color:var(--election-muted);white-space:nowrap;font-size:.75rem}.jordan-take small{color:var(--election-muted);font-size:.75rem;line-height:1.5;display:block}.candidate-sources{margin-top:18px}.candidate-sources ul{margin:10px 0;padding-left:22px;font-size:.875rem}.candidate-sources li{margin-bottom:8px}.vote-section{border-top:2px solid var(--lake)}.vote-table{min-width:920px}.vote-table th:first-child{width:42%;min-width:340px}.vote-table thead th:not(:first-child),.vote-table td{text-align:center}.vote-table thead th a{text-decoration:none}.vote-table th small{color:var(--lake);margin-bottom:6px;font-size:.75rem;display:block}.vote-table th p{color:var(--election-muted);margin:8px 0 0;font-size:.875rem;font-weight:400;line-height:1.5}.vote-table tbody th a{text-decoration:none}.vote-table tbody th a:hover{text-decoration:underline}.vote-yes,.vote-no{color:#bce2d6;background:#162b28;border:1px solid #365954;padding:3px 11px;font-size:.875rem;font-weight:650;display:inline-block}.vote-no{color:#f1c6be;background:#321e1e;border-color:#72514d}.vote-context{grid-template-columns:1fr 1fr;gap:40px;margin-top:28px;display:grid}.vote-context h3,.methodology h3{margin:0 0 16px;font-size:1.25rem;line-height:1.3}.vote-context p{color:#d3d6d3}.methodology{border-top:1px solid var(--line)}.method-grid{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:0;margin:30px 0;display:grid}.method-grid>div{padding:24px}.method-grid>div+div{border-left:1px solid var(--line)}.method-grid span{color:var(--lake);margin-bottom:12px;font-size:.875rem;display:block}.method-grid p{color:var(--election-muted);margin:0}.score-bands{grid-template-columns:1fr 1fr;gap:0 32px;margin:30px 0;display:grid}.score-bands>div{border-top:1px solid var(--line);grid-template-columns:90px 1fr;gap:16px;padding:16px 0;display:grid}.score-bands dt{color:var(--lake);font-weight:700}.score-bands dd{margin:0}.election-disclosure{background:#142329;border:1px solid #37525a;margin-top:30px;padding:28px}.election-disclosure p:last-child{margin:0}.election-corrections{margin-top:40px}.election-footer{font-size:.875rem}.election-skip{z-index:50;background:var(--lake);color:#000;padding:16px;position:fixed;top:-100px;left:24px}.election-skip:focus{top:16px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:900px){.election-header.site-header{flex-direction:column;align-items:start;gap:16px}.candidate-layout{grid-template-columns:1fr;gap:28px}.candidate-scores{max-width:560px}.candidate-background{max-width:760px}.vote-context{gap:24px}}@media (max-width:680px){.election-shell{width:calc(100% - 28px)}.election-intro{padding-top:36px}.election-header nav{gap:10px 18px}.election-page nav a:first-child{display:inline}.election-jumps{gap:8px 18px;padding:12px 0}.election-section-title{display:block}.election-section-title>a{margin-top:12px;display:inline-block}.election-section{padding:36px 0;scroll-margin-top:110px}.candidate-profile{padding:32px 0;scroll-margin-top:110px}.candidate-scores{width:100%}.candidate-score{gap:16px;padding:16px 10px}.candidate-score .score-number{font-size:2rem}.score-number abbr{margin-left:3px}.jordan-take{padding:20px}.method-grid,.vote-context,.score-bands{grid-template-columns:1fr}.method-grid>div+div{border-left:0;border-top:1px solid var(--line)}.election-disclosure{padding:22px}.election-table th,.election-table td{padding:13px 16px}.election-dateline{flex-direction:column;gap:4px}}@media print{.election-page{color:#000;background:#fff}.election-jumps,.election-header,.election-footer,.candidate-permalink,.election-skip{display:none}.election-shell{width:100%}.election-page p,.election-page a,.election-page small,.election-page .score-unknown,.election-page .election-muted{color:#333}.candidate-profile{break-inside:avoid}.candidate-scores,.jordan-take{color:#000;background:#f0f4f4}}
