:root{--navy:#17365D;--blue:#1E90FF;--ice:#BFEFFF;--chrome:linear-gradient(135deg,#fff,#cfe8ff 40%,#8fb8de 60%,#fff)}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:#0b1d33;color:#fff;padding-bottom:72px}
.hero{text-align:center;padding:40px 18px 48px;background:radial-gradient(circle at 50% 0,#2a5d94,var(--navy) 60%,#0b1d33);border-bottom:4px solid var(--blue);position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;opacity:.12;background:repeating-linear-gradient(115deg,transparent 0 38px,#fff 39px 40px),repeating-linear-gradient(35deg,transparent 0 57px,#fff 58px 59px);pointer-events:none}
.logo{width:120px;height:120px;border-radius:50%;box-shadow:0 0 30px #1e90ff88}
.kicker{letter-spacing:.2em;text-transform:uppercase;color:var(--ice);font-size:.8rem}
h1{font-size:clamp(2rem,8vw,4rem);line-height:1.02;margin:.2em 0;font-weight:900;text-transform:uppercase}
h1 span{background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{max-width:640px;margin:0 auto 12px;font-size:1.1rem;color:#e6f4ff}.tag{font-weight:800;color:var(--ice)}
.btn{display:inline-block;background:var(--blue);color:#fff;border:0;border-radius:999px;padding:14px 26px;font-weight:800;font-size:1rem;text-decoration:none;cursor:pointer;box-shadow:0 0 0 3px #bfefff55,0 8px 24px #1e90ff66}
.btn:hover{background:#3aa2ff}
main{max-width:1000px;margin:auto;padding:24px 14px}h2{text-align:center;font-size:1.8rem;margin:.4em 0}.hint{text-align:center;color:var(--ice)}
#usmap{width:100%;height:auto;filter:drop-shadow(0 0 12px #1e90ff55)}
#usmap path{fill:#24496f;stroke:#bfefff;stroke-width:.8;cursor:pointer;transition:fill .25s}
#usmap path:hover,#usmap path:focus{fill:#3a78b5;outline:none}
#usmap path.voted{fill:#7fd4ff}#usmap path.active{fill:#e8fbff;filter:drop-shadow(0 0 6px #fff)}
.panel{background:var(--navy);border:2px solid var(--blue);border-radius:16px;padding:16px;margin:14px auto;max-width:520px;text-align:center}
.leader{max-width:520px;margin:10px auto;color:var(--ice)}
.formwrap{background:linear-gradient(#17365D,#102844);border-radius:20px;padding:22px;border:1px solid #bfefff44;max-width:620px;margin:30px auto}
form{display:grid;gap:12px}label{display:grid;gap:4px;font-weight:600}
input,select,textarea{font:inherit;padding:12px;border-radius:10px;border:1px solid #bfefff77;background:#0b1d33;color:#fff}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:500}.check input{width:22px;height:22px}
.hidden{display:none}.thanks{text-align:center}
.sticky{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);z-index:9;white-space:nowrap}
footer{text-align:center;padding:24px;color:var(--ice);border-top:1px solid #bfefff33}footer a{color:#fff;font-weight:800}.credit{font-size:.7rem;opacity:.6}

.share{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:18px 0 6px}
.share a,.share button{appearance:none;background:#0b1d33;color:#fff;border:1px solid #bfefff88;border-radius:999px;padding:10px 16px;font:inherit;font-weight:700;font-size:.9rem;text-decoration:none;cursor:pointer}
.share a:hover,.share button:hover{border-color:#fff;background:#17365D}
.share .label{width:100%;text-align:center;font-weight:800;color:var(--ice);letter-spacing:.04em;font-size:.85rem;margin-bottom:2px}
.sticky{display:none}
@media (max-width:720px){.sticky.is-on{display:inline-block}}

.hero-art{display:block;width:min(920px,100%);height:auto;margin:18px auto 16px;border-radius:18px;border:2px solid #bfefff55;box-shadow:0 12px 40px #0008,0 0 0 1px #1e90ff44}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
