:root {color-scheme:light;--navy:#112d46;--teal:#007d79;--muted:#52677d;--border:#dce7ec;--mint:#eaf7f5;--white:#fff;}
* {box-sizing:border-box;}
body {margin:0;background:#fbfcfd;color:var(--navy);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.5;}
a {color:inherit;}
.skip-link {position:absolute;top:8px;left:12px;transform:translateY(-160%);z-index:10;background:var(--navy);color:white;padding:12px 18px;border-radius:6px;}
.skip-link:focus {transform:translateY(0);}
.site-header {background:var(--white);border-bottom:1px solid var(--border);}
.header-inner {max-width:1250px;margin:auto;padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand {display:block;flex-shrink:0;}
.brand img {width:260px;height:auto;display:block;}
.header-caption {color:var(--muted);font-size:14px;}
.home {max-width:1250px;margin:auto;padding:38px 28px 32px;}
.welcome {text-align:center;margin-bottom:32px;}
h1 {margin:0 0 7px;font-size:clamp(30px,4vw,48px);line-height:1.2;font-weight:760;letter-spacing:-1.1px;}
.welcome p {margin:0;color:var(--muted);font-size:clamp(17px,2vw,22px);}
.access-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;align-items:stretch;}
.access-card {display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;border:1px solid var(--border);border-radius:14px;padding:29px 25px 22px;background:white;box-shadow:0 5px 18px rgba(17,45,70,.035);transition:transform .18s,box-shadow .18s,border-color .18s;}
.access-card--voter {border-color:#269d97;}
.access-card--admin {background:var(--mint);border-color:#d4eeea;}
.access-card:hover {transform:translateY(-4px);border-color:var(--teal);box-shadow:0 10px 25px rgba(17,45,70,.10);}
.access-card:focus-visible,.brand:focus-visible {outline:3px solid var(--navy);outline-offset:5px;}
.access-card h2 {margin:0;font-size:clamp(24px,2.5vw,32px);line-height:1.2;font-weight:750;}
.illustration {width:100%;height:255px;margin:18px 0 10px;display:flex;align-items:center;justify-content:center;}
.illustration img {display:block;width:100%;height:100%;object-fit:contain;}
.card-description {max-width:460px;margin:0 0 23px;font-size:clamp(17px,1.7vw,20px);color:var(--muted);min-height:3em;}
.card-action {display:flex;align-items:center;justify-content:center;gap:17px;min-height:60px;width:min(100%,400px);padding:13px 18px;margin-top:auto;border-radius:9px;background:var(--teal);color:white;font-weight:700;font-size:18px;}
.card-action span {font-size:26px;line-height:1;}
.access-card--admin .card-action {background:var(--navy);}
.card-note {display:block;margin-top:12px;color:var(--muted);font-size:13px;}
.site-footer {max-width:1194px;margin:0 auto;border-top:1px solid var(--border);padding:17px 20px 23px;text-align:center;color:var(--muted);font-size:14px;}
.site-footer p {margin:0;}
@media(min-width:1400px){.illustration{height:290px;}}
@media(max-width:760px){.header-inner{padding:15px 20px;}.brand img{width:220px;}.header-caption{display:none;}.home{padding:28px 18px 25px;}.welcome{margin-bottom:25px;}h1{letter-spacing:-.6px;}.access-grid{grid-template-columns:1fr;gap:20px;}.access-card{padding:25px 20px 20px;}.illustration{height:230px;margin-top:12px;}.card-description{min-height:0;}.site-footer{margin:0 18px;}}
@media(prefers-reduced-motion:reduce){.access-card{transition:none;}.access-card:hover{transform:none;}}
@media print{.site-header,.site-footer{background:white;}.access-grid{grid-template-columns:1fr 1fr;}.access-card{box-shadow:none;break-inside:avoid;}.card-action{color:var(--navy);background:white;border:1px solid var(--border);}.access-card--admin .card-action{background:white;}}
