/* Voting guide — the same quiet surfaces and rounded controls as the calendar. */
.portal[data-mode=vote][data-overview=false]{max-width:1320px;padding-top:40px;color:#242522}
.portal[data-mode=vote][data-overview=false] .portal-heading{display:block;margin-bottom:28px}
.portal[data-mode=vote][data-overview=false] .portal-intro{padding:0;border:0}
.portal[data-mode=vote][data-overview=false] .portal-intro h2{font-size:clamp(34px,4vw,48px);font-weight:350;letter-spacing:-.045em;line-height:1.12;margin:0 0 12px}
.portal[data-mode=vote] .portal-intro .eyebrow,.portal[data-mode=vote] .portal-tabs{display:none}
.portal[data-mode=vote][data-wide=true] .portal-layout{padding-top:0;max-width:none}
.portal[data-mode=vote] .portal-panel{padding-top:0}
.voting-guide{font-family:inherit}
.voting-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:28px}
.voting-choice{display:flex;align-items:center;gap:14px;position:relative;min-width:0;min-height:108px;padding:20px;text-align:left;background:#f5f5f7;border:2px solid transparent;border-radius:22px;color:#242522;transition:background 160ms,border-color 160ms,transform 120ms}
.voting-choice[aria-pressed=true]{background:#fff;border-color:#242522;box-shadow:0 3px 12px #24252208}
.voting-choice-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:#e9e9ed}
.voting-choice svg{width:23px;height:23px}
.voting-choice strong{display:block;font-size:15px;line-height:1.3;font-weight:450}
.voting-choice small{display:block;font-size:12px;line-height:1.5;color:#66666e;margin-top:5px}
.voting-choice-check{display:none;flex-shrink:0;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#242522;color:white;margin-left:auto}
.voting-choice-check svg{width:14px;height:14px}
.voting-choice[aria-pressed=true] .voting-choice-check{display:flex}
.voting-hero{display:grid;grid-template-columns:1.4fr 1fr .75fr;align-items:center;gap:18px;padding:40px;background:#f5f5f7;border-radius:30px;overflow:hidden}
.voting-eyebrow{display:block;font-size:12px;font-weight:450;color:#6a6a72;letter-spacing:.06em;margin-bottom:20px}
.voting-hero h3{font-size:clamp(32px,3.7vw,48px);font-weight:450;line-height:1.06;letter-spacing:-.045em;margin:0 0 18px;text-wrap:balance}
.voting-hero-copy>p{font-size:15px;line-height:1.65;max-width:39ch;color:#66666e;margin:0 0 24px}
.voting-art{display:block;width:100%;max-width:340px;height:auto;margin:auto}
.voting-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:13px;color:#45454d;text-decoration:none}
.voting-link:hover{text-decoration:underline;text-underline-offset:4px}
.voting-link.voting-primary{border-radius:999px;background:#242522;color:#fff;padding:13px 22px;font-size:14px;font-weight:500;text-decoration:none;transition:background 160ms,transform 120ms}
.voting-date{padding:22px 0 22px 26px;border-left:1px solid #ddddE3;display:flex;flex-direction:column;gap:12px;color:#52525b}
.voting-date>span{font-size:12px;line-height:1.5;max-width:18ch}
.voting-date time{display:flex;flex-direction:column;gap:8px}
.voting-date time strong{font-size:clamp(64px,7vw,98px);line-height:.95;font-weight:500;letter-spacing:-.075em;color:#242522;font-variant-numeric:tabular-nums}
.voting-date time span{font-size:23px;letter-spacing:-.03em}
.voting-date small{font-size:11px;line-height:1.5;color:#6a6a72}
.voting-date b{font-size:15px;font-weight:500}
.voting-abroad-types{display:grid;gap:24px;padding-left:20px;border-left:1px solid #dddde3}
.voting-abroad-types strong{display:block;font-size:25px;font-weight:350;letter-spacing:-.04em;margin-bottom:7px}
.voting-abroad-types span{font-size:13px;line-height:1.5;color:#66666e}
.voting-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:38px 0 18px}
.voting-section-title h4{font-size:26px;font-weight:350;letter-spacing:-.035em;margin:0}
.voting-section-title>span{font-size:11px;color:#6a6a72}
.voting-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:0;align-items:start}
.voting-steps>li{border-radius:24px;background:#f5f5f7;padding:24px;min-width:0}
.voting-step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}
.voting-step-icon{display:grid;place-items:center;width:42px;height:42px;background:white;border-radius:13px}
.voting-step-icon svg{width:24px;height:24px}
.voting-step-number{font-size:13px;font-weight:500;color:#777780;font-variant-numeric:tabular-nums}
.voting-steps h5{font-size:24px;font-weight:350;letter-spacing:-.035em;margin:0 0 10px}
.voting-steps p{font-size:14px;line-height:1.65;color:#65656e;margin:0}
.voting-steps p.voting-step-when{font-size:13px;color:#484850;min-height:40px}
.voting-steps details{border-top:1px solid #dedee4;margin-top:18px}
.voting-steps summary{display:flex;align-items:center;justify-content:space-between;gap:8px;list-style:none;cursor:pointer;min-height:48px;font-size:12px;font-weight:500}
.voting-steps summary::-webkit-details-marker{display:none}
.voting-steps summary>span{font-size:20px;font-weight:300;transition:transform 160ms}
.voting-steps details[open] summary>span{transform:rotate(45deg)}
.voting-steps details p{padding-bottom:6px}
.voting-reminder{display:flex;align-items:flex-start;gap:14px;margin-top:24px;padding:22px 24px;border:1px solid #e5e5eb;border-radius:20px}
.voting-reminder>span{display:grid;place-items:center;border:1.5px solid #777780;border-radius:50%;font-family:Georgia,serif;font-style:italic;width:20px;height:20px;flex-shrink:0;color:#66666e}
.voting-reminder strong{display:block;font-size:13px;font-weight:450;margin-bottom:5px}
.voting-reminder p{font-size:13px;line-height:1.6;color:#65656e;margin:0}
.voting-sources{display:flex;flex-wrap:wrap;gap:8px 30px;margin-top:12px}
.voting-guide :is(button,a,summary):focus-visible{outline:3px solid #476fa5;outline-offset:4px}
.voting-choice:active,.voting-primary:active{transform:scale(.98)}
@media(hover:hover){.voting-choice:hover{background:#ededf1}.voting-primary:hover{background:#424248}}
@media(max-width:1000px){.voting-hero{padding:30px;grid-template-columns:1.3fr 1fr .7fr}.voting-choice{padding:16px;gap:10px}.voting-choice-icon{flex-basis:34px;height:34px}.voting-choice-check{position:absolute;right:10px;top:10px;width:16px;height:16px}.voting-date{padding-left:20px}.voting-steps>li{padding:20px}}
@media(max-width:760px){
 .portal[data-mode=vote][data-overview=false]{padding-top:28px}
 .portal[data-mode=vote][data-overview=false] .portal-heading{margin-bottom:24px}
 .voting-choices{grid-template-columns:1fr;gap:8px;margin-bottom:20px}
 .voting-choice{min-height:74px;padding:14px 16px;border-radius:18px;gap:14px}
 .voting-choice-icon{flex-basis:40px;height:40px}
 .voting-choice strong{font-size:14px}.voting-choice small{margin-top:3px}
 .voting-choice-check{position:static;width:20px;height:20px}
 .voting-hero{grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:16px;padding:26px 24px;border-radius:24px}
 .voting-hero-copy{grid-column:1/-1}.voting-hero h3{font-size:36px;max-width:14ch}
 .voting-eyebrow{margin-bottom:16px}.voting-hero-copy>p{font-size:14px;margin-bottom:20px}
 .voting-hero-art{grid-column:1;grid-row:2}.voting-art{max-width:210px}
 .voting-date{grid-column:2;grid-row:2;padding:12px 0 12px 16px;gap:8px}
 .voting-date time strong{font-size:68px}.voting-date time span{font-size:20px}
 .voting-abroad-types{padding-left:14px;gap:16px}.voting-abroad-types strong{font-size:23px}
 .voting-section-title{margin-top:30px;display:block}.voting-section-title h4{font-size:25px}.voting-section-title>span{display:block;margin-top:8px}
 .voting-steps{grid-template-columns:1fr;gap:12px}.voting-steps>li{padding:22px;border-radius:22px;position:relative;padding-left:80px}
 .voting-step-top{margin:0}.voting-step-icon{position:absolute;left:20px;top:20px}.voting-step-number{position:absolute;left:33px;top:74px;font-size:11px}
 .voting-steps h5{font-size:23px;margin-bottom:8px}.voting-steps p.voting-step-when{min-height:0}
 .voting-steps details{margin-top:12px}.voting-reminder{padding:20px;margin-top:20px}
}
@media(prefers-reduced-motion:reduce){.voting-guide *{transition:none!important}.voting-choice:active,.voting-primary:active{transform:none}}
@media(prefers-contrast:more){.voting-choice,.voting-hero,.voting-steps>li,.voting-reminder{border:1px solid #666}.voting-choice[aria-pressed=true]{outline:2px solid #242522}}
