/* Shared Elections navigation. Content styling stays in each page's stylesheet. */
:root{--site-header-offset:136px}
html{scroll-padding-top:var(--site-header-offset)}
.site-header{position:sticky;top:0;z-index:60;display:block;height:auto;min-height:0;padding:0 5vw;background:#11181cf5;border-bottom:1px solid #34434b;backdrop-filter:blur(12px)}
.site-header-inner{max-width:1224px;margin:auto}
.site-header-top{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px}
.site-header .brand{display:flex;align-items:center;flex-shrink:0;gap:12px;color:#eef1ed}
.site-header .brand small{color:#d9ba7b}
.site-header-actions{display:flex;align-items:center;gap:20px}
.site-header .site-home,.site-header .parent{display:flex;align-items:center;justify-content:center;min-height:44px;color:#c2ced3;font-size:13px}
.site-header .site-home{padding:0 16px;border:1px solid #40515a;border-radius:7px;color:#eef1ed}
.site-header .site-home:hover{background:#243239;border-color:#d9ba7b}
.site-header .site-nav{display:flex;width:100%;justify-content:flex-start;flex-wrap:wrap;gap:4px 12px;padding:0 0 10px;margin:0}
.site-header .site-nav a{display:flex!important;align-items:center;min-height:44px;padding:10px 13px;border-radius:7px;color:#c2ced3;font-size:13px;line-height:1.35;white-space:nowrap}
.site-header .site-nav a:hover{background:#243239;color:#fff}
.site-header .site-nav a[aria-current=page]{background:#d9ba7b;color:#182126;font-weight:700}
.site-header .site-menu-toggle{display:none;align-items:center;gap:10px;min-height:44px;padding:0 13px;border:1px solid #40515a;border-radius:7px;background:#172126;color:#eef1ed;font-weight:600}
.site-header a:focus-visible,.site-header button:focus-visible,.site-back:focus-visible,.site-footer a:focus-visible{outline:2px solid #eaca89;outline-offset:3px}
.site-return{max-width:1160px;margin:auto;padding:17px 5vw 0;font-size:13px}
.candidate-directory-page .site-return{max-width:1240px}
.site-back{display:inline-flex;align-items:center;min-height:36px;color:#d9ba7b;font-weight:600}
.site-back:hover{text-decoration:underline}
.site-skip{position:fixed;left:20px;top:-100px;z-index:100;padding:14px 20px;border-radius:6px;background:#d9ba7b;color:#11181c;font-weight:700}
.site-skip:focus{top:12px}
.site-footer{display:block;max-width:1360px;margin:0 auto;padding:25px 5vw 35px;border-top:1px solid #34434b;color:#c2ced3;font-size:13px}
.site-footer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}
.site-footer nav{display:flex;flex-wrap:wrap;gap:4px 20px;margin:0 0 18px}
.site-footer nav a,.site-footer-top>a{display:inline-flex;align-items:center;min-height:40px;font-size:13px;color:#c2ced3}
.site-footer nav a:hover,.site-footer-top>a:hover{color:#d9ba7b;text-decoration:underline}
.site-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;color:#9babb2;font-size:12px}
.site-link-note{color:#9babb2;font-size:13px}
.debt-hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:32px 0}
.debt-hub-grid .panel{margin:0;display:flex;flex-direction:column;align-items:flex-start}
.debt-hub-grid .download{margin-top:auto;display:inline-flex;align-items:center;min-height:44px}
@media(max-width:800px){
 .site-header{padding:0 6vw}
 .site-header-top{min-height:76px;gap:12px}
 .site-header-actions{gap:9px}
 .site-header .parent{display:none}
 .site-header .site-nav{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding-bottom:14px}
 .site-header .site-nav a{font-size:13px;min-height:44px;padding:10px 12px}
 .site-header.nav-ready .site-menu-toggle{display:flex}
 .site-header.nav-ready:not(.menu-open) .site-nav{display:none}
 .site-return{padding:10px 6vw 0}
 .site-footer{padding:20px 6vw 30px}
 .debt-hub-grid{grid-template-columns:1fr}
}
@media(max-width:420px){
 .site-header .brand{gap:8px;font-size:12px;letter-spacing:1px}
 .site-header .brand small{font-size:9px;letter-spacing:2.3px}
 .site-header .brandmark{width:29px;height:32px;font-size:20px}
 .site-header .site-home{padding:0 10px;font-size:12px}
 .site-header .site-menu-toggle{padding:0 10px;font-size:12px;gap:7px}
}
@media(max-width:350px){.site-header .brandmark{display:none}.site-header-top{gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.site-header,.site-return,.site-skip,.site-footer{display:none}}
