.candidate-article,.candidate-content{width:min(1120px,calc(100% - 5rem));margin-inline:auto}.candidate-intro{max-width:760px;padding:5rem 0 3rem}.candidate-intro h1,.candidate-profile-heading h1{margin-top:1rem;font-family:var(--font-display),Georgia,serif;font-size:clamp(4rem,8vw,7.5rem);font-weight:450;letter-spacing:-.085em;line-height:.8}.candidate-intro h1 em{color:var(--orange);font-weight:350}.candidate-intro p{max-width:35rem;margin-top:1.5rem;color:#535751;font-size:.95rem;line-height:1.5}.candidate-roster{border-top:4px solid var(--ink)}.candidate-roster-heading,.candidate-roster-row{display:grid;grid-template-columns:minmax(15rem,1.2fr) minmax(10rem,.8fr) minmax(17rem,1fr);grid-gap:1rem;gap:1rem;align-items:center}.candidate-roster-heading{padding:.75rem 0;color:var(--muted);font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.candidate-roster-row{min-height:6.3rem;border-top:1px solid var(--rule);color:inherit;text-decoration:none}.candidate-impact-row:hover strong,.candidate-roster-row:hover .candidate-roster-name strong{color:var(--orange-dark)}.candidate-roster-name{display:flex;align-items:center;gap:.75rem}.candidate-party-line i,.candidate-roster-name i{flex:none;width:.65rem;height:.65rem;border-radius:50%}.candidate-roster-name strong{font-family:var(--font-display),Georgia,serif;font-size:1.75rem;font-weight:450;letter-spacing:-.045em;transition:color .16s ease}.candidate-party{color:#5d625d;font-size:.78rem}.candidate-latest{display:grid;grid-template-columns:auto 1fr;grid-gap:.25rem .8rem;gap:.25rem .8rem;align-items:baseline}.candidate-latest>strong{font-family:var(--font-display),Georgia,serif;font-size:1.5rem;font-weight:450}.candidate-latest>span{color:var(--muted);font-size:.62rem}.candidate-latest>i{grid-column:1/-1;height:3px;background:#d9d2c6}.candidate-latest>i b{display:block;height:100%}.candidate-up{color:#26785c!important}.candidate-down{color:#b74f3a!important}.candidate-data-note{margin-top:1.5rem;color:var(--muted);font-size:.65rem;line-height:1.5}.candidate-article{padding-bottom:5rem}.candidate-profile-heading{display:grid;grid-template-columns:1fr auto;grid-gap:0 2rem;gap:0 2rem;align-items:end;padding:2rem 0 2.5rem;border-bottom:4px solid var(--ink)}.candidate-party-line{display:flex;align-items:center;gap:.5rem;color:var(--orange-dark);font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.candidate-profile-heading h1{grid-column:1}.candidate-profile-stats{grid-column:2;grid-row:1/span 2;display:flex;gap:2rem;padding-bottom:.3rem}.candidate-profile-stats span{display:grid;grid-gap:.5rem;gap:.5rem}.candidate-profile-stats small{color:var(--muted);font-size:.54rem;font-weight:800;letter-spacing:.09em}.candidate-profile-stats strong{font-family:var(--font-display),Georgia,serif;font-size:2rem;font-weight:450;letter-spacing:-.05em;white-space:nowrap}.candidate-chart-section,.candidate-impacts{padding-top:2rem}.candidate-section-heading{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding-bottom:.7rem;border-bottom:1px solid var(--rule)}.candidate-section-heading h2{font-family:var(--font-display),Georgia,serif;font-size:2rem;font-weight:450;letter-spacing:-.05em}.candidate-event-key,.candidate-section-heading>span{color:var(--muted);font-size:.62rem}.candidate-chart-wrap{margin-top:1rem}.candidate-chart-wrap.is-compact .plot-axis-label,.candidate-chart-wrap.is-compact .plot-month-label{font-size:10px}.candidate-chart-wrap .plot-grid-line{stroke:#d1cabc;stroke-width:1}.candidate-chart-wrap .plot-axis-label,.candidate-chart-wrap .plot-month-label{fill:#747973;font-family:var(--font-body),sans-serif;font-size:11px;font-weight:650;letter-spacing:.05em}.candidate-chart-wrap .plot-event-guide{stroke:var(--orange);stroke-width:1;stroke-dasharray:3 5;opacity:.5}.candidate-chart-wrap .poll-observation{stroke:var(--paper);stroke-width:1.5}.candidate-event-key{padding-top:.2rem}.candidate-impact-columns{display:grid;grid-template-columns:1fr 1fr;grid-gap:3rem;gap:3rem;margin-top:1.4rem}.candidate-impact-columns h3{padding-bottom:.6rem;border-bottom:2px solid var(--ink);font-family:var(--font-display),Georgia,serif;font-size:1.55rem;font-weight:450}.candidate-impact-row{display:grid;grid-template-columns:4rem 1fr auto;grid-gap:.8rem;gap:.8rem;align-items:center;padding:.85rem 0;border-bottom:1px solid var(--rule);color:inherit;text-decoration:none}.candidate-impact-row>time{color:var(--muted);font-size:.58rem;font-weight:750}.candidate-impact-row>span{display:grid;grid-gap:.25rem;gap:.25rem}.candidate-impact-row small{color:var(--orange-dark);font-size:.52rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.candidate-impact-row strong{font-size:1.12rem;letter-spacing:-.025em}.candidate-impact-row strong,.candidate-impact-row>b{font-family:var(--font-display),Georgia,serif;font-weight:450}.candidate-impact-row>b{font-size:1.35rem;white-space:nowrap}.candidate-impact-row>b small{font-family:var(--font-body),sans-serif}.candidate-impact-empty{padding:1rem 0;color:var(--muted);font-size:.75rem}@media(max-width:900px){.candidate-article,.candidate-content{width:min(100% - 2rem,760px)}.candidate-profile-heading{grid-template-columns:1fr;gap:1.2rem}.candidate-profile-stats{grid-column:1;grid-row:auto}.candidate-roster-heading,.candidate-roster-row{grid-template-columns:minmax(11rem,1.2fr) minmax(6rem,.6fr) minmax(12rem,1fr)}}@media(max-width:640px){.candidate-article,.candidate-content{width:min(100% - 1.5rem,520px)}.candidate-intro{padding-top:3.8rem}.candidate-intro h1,.candidate-profile-heading h1{font-size:clamp(3.5rem,15vw,5.5rem)}.candidate-profile-stats{gap:1.1rem}.candidate-profile-stats strong{font-size:1.6rem}.candidate-section-heading{align-items:flex-start;flex-direction:column;gap:.3rem}.candidate-impact-columns{grid-template-columns:1fr;gap:2rem}.candidate-roster-heading{display:none}.candidate-roster-row{grid-template-columns:minmax(0,1fr);gap:.35rem;padding:1rem 0}.candidate-roster-name strong{font-size:1.55rem}}