.candidate-main{max-width:960px;margin:auto;padding:32px 24px}.candidate-page{font-size:calc(16px * var(--text-scale))}.candidate-page .site-header{background:#fff;border-bottom:1px solid #c7d2df;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px max(24px,50vw - 456px);display:flex}.candidate-page .independent-label{color:#34485f;font-size:calc(14px * var(--text-scale))}.candidate-page .text-button{min-height:44px}.candidate-page .candidate-banner{background:#eaf0f7;border:1px solid #c7d2df;border-radius:12px;align-items:center;gap:24px;margin:20px 0;padding:28px;display:flex}.candidate-banner h1{font-size:calc(32px * var(--text-scale));margin:8px 0;line-height:1.4}.candidate-banner p{margin:0}.candidate-page .profile-card{overflow-wrap:anywhere;background:#fff;border:1px solid #c7d2df;border-radius:12px;margin:20px 0;padding:24px}.profile-card h2{font-size:calc(24px * var(--text-scale));margin:0 0 16px;line-height:1.5}.profile-card p{line-height:1.8}.profile-facts{margin:0;padding:0;list-style:none}.profile-facts li+li{border-top:1px solid #c7d2df;margin-top:16px;padding-top:16px}.profile-source{color:#34485f;flex-direction:column;gap:6px;margin-top:12px;display:flex}.profile-source a{color:#153b76;align-items:center;gap:8px;min-height:44px;text-decoration:underline;display:inline-flex}.profile-source small{font-size:calc(14px * var(--text-scale));line-height:1.8}.profile-tools{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.profile-tools select{min-width:100px;min-height:44px;font:inherit;border:1px solid #c7d2df;border-radius:8px;padding:8px}.profile-timeline summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:700}.profile-timeline ol{padding-inline-start:24px}.profile-timeline li{padding:12px 0}.profile-timeline span{color:#34485f;display:block}.candidate-footer{text-align:center;color:#34485f;border-top:1px solid #c7d2df;padding:24px}.candidate-page :is(a,select,summary,[tabindex]):focus-visible{outline-offset:4px;outline:3px solid #10233f}.candidate-page.a11y-contrast :is(.profile-card,.candidate-banner,.site-header,.profile-tools select){color:#000;background:#fff;border-color:#000}.candidate-page.a11y-contrast :is(.profile-source,.profile-timeline,.independent-label,.profile-source a){color:#000}.candidate-page.a11y-gray .candidate-banner{filter:grayscale()}@media (max-width:640px){.candidate-main{padding:24px 16px}.candidate-page .candidate-banner{gap:14px;padding:20px}.candidate-banner h1{font-size:calc(28px * var(--text-scale))}.candidate-page .profile-card{padding:20px}}
