*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:118px}
body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--paper);line-height:1.6}
body.page--menu-open{overflow:hidden}
h1,h2,h3,p,figure,blockquote{margin:0}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{color:inherit}
ul{margin:0;padding:0;list-style:none}
a,button{touch-action:manipulation}
:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
section[id],footer[id]{scroll-margin-top:118px}
.container{width:calc(100% - 144px);max-width:1296px;margin-inline:auto}
.skip-link{position:fixed;left:16px;top:-100px;z-index:100;padding:10px 20px;background:var(--ink);color:white}
.skip-link:focus{top:16px}
.site-header{position:sticky;top:0;z-index:50;background:var(--paper)}
.site-header__inner{width:calc(100% - 144px);max-width:1296px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:99px}
.site-header__brand{flex-shrink:0;font-weight:700;line-height:1}
.site-nav__list{display:flex;align-items:center;gap:32px}
.site-nav__link{display:block;white-space:nowrap;transition:color .2s}
.site-nav__link:hover{color:var(--accent)}
.site-header__cta{flex-shrink:0}
.menu-toggle{display:none;width:48px;height:48px;background:transparent;border:1px solid var(--accent);border-radius:6px;padding:11px;position:relative}
.menu-toggle__line{display:block;height:2px;background:var(--ink);margin:5px 0;transition:transform .2s,opacity .2s}
.menu-toggle[aria-expanded="true"] .menu-toggle__line:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-toggle__line:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] .menu-toggle__line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;background:var(--accent);color:white;padding:16px 28px;line-height:1.4;font-weight:600;transition:filter .2s,transform .2s;border-radius:var(--radius,6px);text-align:center}
.button:hover{filter:brightness(1.1);transform:translateY(-2px)}
.button:active{transform:translateY(0)}
.button--outline{background:transparent;border-color:var(--accent);color:var(--accent)}
.button:disabled{cursor:default;opacity:.65;transform:none}
.section-title{font-size:var(--title-size,40px);line-height:1.2;font-weight:700}
.vote-dialog{border:0;border-radius:16px;padding:40px;width:calc(100% - 32px);max-width:520px;background:var(--paper);color:var(--ink);box-shadow:0 20px 80px #0004}
.vote-dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}
.vote-dialog__close{position:absolute;right:12px;top:8px;width:44px;height:44px;background:transparent;border:0;font-size:32px;line-height:1}
.vote-dialog__title{font-size:28px;line-height:1.2;padding-right:30px}
.vote-dialog__nominee{font-size:22px;font-weight:600;margin-top:20px}
.vote-dialog__description{margin:16px 0;color:var(--muted)}
.vote-dialog__status{margin:16px 0}
.vote-dialog__confirm{width:100%}
.form-status{margin-top:12px;font-size:14px;line-height:1.5}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1199px){
 .container,.site-header__inner{width:calc(100% - 64px)}
 .site-nav__list{gap:18px}
 .site-header__inner{gap:20px}
}
@media(max-width:1023px){
 .menu-toggle{display:block;margin-left:auto;flex-shrink:0}
 .site-header__inner{min-height:80px}
 .site-nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:24px 32px;max-height:calc(100dvh - 80px);overflow:auto;border-top:1px solid #0001;box-shadow:0 20px 30px #0002;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s}
 .site-nav--open{visibility:visible;opacity:1;transform:translateY(0)}
 .site-nav__list{flex-direction:column;align-items:stretch;gap:0}
 .site-nav__link{padding:14px 0;font-size:18px}
 .site-header__cta{display:none}
}
@media(max-width:599px){
 .container,.site-header__inner{width:calc(100% - 40px)}
 .site-header__inner{min-height:76px}
 .section-title{font-size:30px}
 .vote-dialog{padding:32px 24px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
}
