:root{
  --navy:#050811;
  --navy-2:#0b1226;
  --navy-3:#121c3a;
  --ink:#e8ecf6;
  --ink-dim:#aeb8d4;
  --gold:#d4af52;
  --gold-soft:#e7cf8f;
  --crimson:#9e2b2b;
  --crimson-2:#b8413f;
  --sky:#3f6fb0;
  --parch:#f6f1e3;
  --parch-ink:#26211a;
  --line:rgba(212,175,82,.28);
  --maxw:1120px;
  --serif:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,'Times New Roman',serif;
  --sans:'Avenir Next','Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--navy);color:var(--ink);
  font-family:var(--sans);line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--gold-soft);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;margin:0 0 .5em}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-9999px}
.skip:focus{position:fixed;left:16px;top:16px;z-index:100;padding:10px 16px;background:var(--gold);color:#2a2206;border-radius:8px}

.bar{position:sticky;top:0;z-index:50;background:rgba(5,8,17,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar .wrap{display:flex;align-items:center;justify-content:space-between;height:66px;gap:clamp(16px,2.4vw,40px);position:relative}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);white-space:nowrap;flex:0 0 auto}
.brand:hover{text-decoration:none}
.brand-txt{display:flex;flex-direction:column;line-height:1.1}
.brand-name{font-family:var(--serif);font-size:1.18rem;font-weight:600}
.brand-slogan{font-family:var(--serif);font-style:italic;font-size:.64rem;color:var(--gold-soft);margin-top:2px}
.sigil{width:34px;height:34px;flex:0 0 34px}
.bar-nav{display:flex;flex-wrap:nowrap;align-items:center;gap:clamp(12px,1.4vw,20px);margin-left:auto}
.bar-nav a{color:var(--ink-dim);font-size:.88rem;white-space:nowrap}
.bar-nav a:hover,.bar-nav a[aria-current="page"]{color:var(--gold-soft);text-decoration:none}
.bar-cta{display:flex;align-items:center;gap:10px;flex:0 0 auto;margin-left:auto}
.menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--ink);font-size:1.15rem;line-height:1;border-radius:8px;padding:6px 11px;cursor:pointer}
@media (max-width:980px){
  .bar-nav{position:absolute;top:66px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;display:none;background:#050811;border-bottom:1px solid var(--line);padding:8px 24px 14px;max-height:calc(100vh - 66px);overflow-y:auto;margin-left:0;z-index:60;box-shadow:0 18px 40px rgba(0,0,0,.55)}
  .bar-nav.open{display:flex}
  .bar-nav a{padding:14px 2px;border-bottom:1px solid rgba(255,255,255,.06);font-size:1rem}
  .menu-toggle{display:inline-block}
}
@media (max-width:560px){
  .bar-cta .donate{display:none}
}

.notice{background:var(--navy-2);border-bottom:1px solid var(--line);padding:10px 0;font-size:.82rem;color:var(--ink-dim);text-align:center}
.notice strong{color:var(--gold-soft);font-weight:600}

.btn{display:inline-block;padding:13px 26px;border-radius:8px;font-weight:600;font-size:.96rem;letter-spacing:.02em;border:1px solid transparent;cursor:pointer;text-decoration:none}
.btn:hover{text-decoration:none}
.btn.primary{background:linear-gradient(180deg,var(--gold-soft),var(--gold));color:#2a2206;box-shadow:0 8px 26px rgba(212,175,82,.28)}
.btn.primary:hover{filter:brightness(1.05)}
.btn.ghost{border-color:var(--line);color:var(--ink);background:transparent}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold-soft)}
.btn.donate{background:linear-gradient(180deg,var(--crimson-2),var(--crimson));color:#fff;padding:9px 16px;font-weight:700;font-size:.82rem;border:1px solid rgba(255,255,255,.14);box-shadow:0 6px 18px rgba(158,43,43,.3)}
.btn.donate:hover{filter:brightness(1.09)}
.btn.oppose{background:linear-gradient(180deg,var(--crimson-2),var(--crimson));color:#fff;box-shadow:0 8px 26px rgba(158,43,43,.28)}
.btn.oppose:hover{filter:brightness(1.06)}
.btn.small{padding:8px 14px;font-size:.82rem}

.hero{position:relative;overflow:hidden;padding:88px 0 72px;text-align:center;background:radial-gradient(1200px 520px at 50% -8%, rgba(63,111,176,.28), transparent 60%),radial-gradient(900px 500px at 80% 120%, rgba(158,43,43,.20), transparent 60%),linear-gradient(180deg,#070b1a,#050811)}
.stars{position:absolute;inset:0;opacity:.45;pointer-events:none;background-image:radial-gradient(1.4px 1.4px at 20% 30%,#fff,transparent),radial-gradient(1.2px 1.2px at 70% 20%,#fff,transparent),radial-gradient(1px 1px at 40% 70%,#cfe,transparent),radial-gradient(1.6px 1.6px at 85% 60%,#fff,transparent),radial-gradient(1px 1px at 12% 80%,#fff,transparent),radial-gradient(1.3px 1.3px at 55% 48%,#fff,transparent);background-repeat:no-repeat}
.hero .wrap{position:relative;z-index:2}
.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;color:var(--gold);font-weight:700;margin:0 0 14px}
.motto-lat{font-family:var(--serif);font-style:italic;font-size:clamp(1.15rem,2.4vw,1.55rem);color:var(--gold);letter-spacing:.04em}
.motto-en{display:block;font-size:.85rem;color:var(--ink-dim);letter-spacing:.12em;text-transform:uppercase;margin-top:6px}
.hero h1{font-size:clamp(2.2rem,5.2vw,3.4rem);margin:22px 0 0}
.hero h1 .gild{color:var(--gold);display:block}
.hero h1 .no{color:var(--crimson-2)}
.slogan{font-family:var(--serif);font-size:clamp(1.15rem,2.4vw,1.55rem);color:var(--gold-soft);font-style:italic;margin:16px 0 0}
.lede{font-size:clamp(1.02rem,2vw,1.22rem);color:var(--ink-dim);max-width:720px;margin:18px auto 0}
.cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.rule{height:2px;width:140px;margin:40px auto 0;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:22px}
.chip{border:1px solid var(--line);color:var(--gold-soft);border-radius:999px;padding:7px 15px;font-size:.82rem;background:rgba(212,175,82,.05)}

section{padding:72px 0;border-top:1px solid rgba(255,255,255,.05)}
.section-head{max-width:760px;margin:0 auto 40px;text-align:center}
.section-head h2{font-size:clamp(1.6rem,3.2vw,2.15rem)}
.section-head p{color:var(--ink-dim);margin:10px 0 0;font-size:1.05rem}
.section-head strong{color:var(--ink)}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0 auto;max-width:960px}
.stat{background:linear-gradient(180deg,var(--navy-2),var(--navy));border:1px solid var(--line);border-radius:14px;padding:18px 16px;text-align:center}
.stat strong{display:block;font-family:var(--serif);font-size:1.45rem;color:var(--gold);font-weight:600;margin-bottom:4px}
.stat span{font-size:.78rem;color:var(--ink-dim)}

.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:960px;margin:0 auto}
@media (max-width:740px){.grid-2{grid-template-columns:1fr}}
.card{background:linear-gradient(180deg,var(--navy-2),var(--navy));border:1px solid var(--line);border-radius:14px;padding:26px 24px}
.card.feature{border-color:var(--gold);box-shadow:0 10px 34px rgba(212,175,82,.12)}
.ix{font-family:var(--serif);font-size:.78rem;color:var(--gold);letter-spacing:.18em;text-transform:uppercase;margin:0 0 10px}
.card h3{font-size:1.25rem;margin:0 0 12px}
.card p{margin:0 0 12px;color:var(--ink-dim)}
.card p:last-child{margin-bottom:0}
.card strong{color:var(--ink)}
.stance{color:var(--ink);font-size:1.05rem;border-left:2px solid var(--gold);padding-left:16px;margin:16px 0}

.parch-band{background:var(--parch);color:var(--parch-ink);border-top:1px solid #e7ddc4;border-bottom:1px solid #e7ddc4}
.parch-band .eyebrow{color:var(--crimson)}
.parch-band .section-head h2{color:var(--parch-ink)}
.parch-band .section-head p{color:#4d4639}
.parch-band .section-head strong{color:var(--parch-ink)}
.dcard{background:#fff;border:1px solid #e7ddc4;border-radius:14px;padding:28px 26px;box-shadow:0 10px 30px rgba(40,33,26,.06);max-width:820px;margin:0 auto}
.dcard h3{color:var(--parch-ink);font-size:1.3rem}
.dcard p{color:#3a342a;margin:0 0 14px}
.dcard .src{font-size:.85rem;color:#564e3f;font-style:italic;margin-top:18px}

.facts{max-width:820px;margin:0 auto}
.fact{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.07)}
@media (max-width:560px){.fact{grid-template-columns:1fr}}
.fact dt{font-family:var(--serif);color:var(--gold);font-size:.95rem;font-weight:600}
.fact dd{margin:0;color:var(--ink-dim)}
.fact strong{color:var(--ink)}
.ballotq{max-width:820px;margin:28px auto 0;padding:22px 24px;border:1px solid var(--line);border-radius:14px;background:var(--navy-2)}
.ballotq .ix{margin-bottom:12px}
.ballotq blockquote{margin:0;color:var(--ink);font-size:1.02rem;line-height:1.6;font-family:var(--serif)}
.ballotq .src{margin:14px 0 0;font-size:.82rem;color:var(--ink-dim);font-style:italic}

.faq{max-width:820px;margin:0 auto}
.faq details{border-bottom:1px solid rgba(255,255,255,.07);padding:4px 0}
.faq summary{cursor:pointer;font-family:var(--serif);font-size:1.12rem;padding:14px 0;color:var(--ink);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"＋";float:right;color:var(--gold);font-weight:400}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--ink-dim);margin:0 0 16px}

.sharebox{max-width:820px;margin:0 auto;background:var(--navy-2);border:1px solid var(--line);border-radius:14px;padding:22px 24px}
.sharebox pre{white-space:pre-wrap;color:var(--ink);font-family:var(--sans);font-size:.95rem;line-height:1.55;margin:0 0 14px}
.sharebox .cta{margin-top:0;justify-content:flex-start}

.close{text-align:center;padding:80px 0;background:radial-gradient(800px 400px at 50% 100%, rgba(158,43,43,.18), transparent 65%),var(--navy)}
.close h2{font-size:clamp(1.8rem,4vw,2.5rem)}

.page-hero{padding:56px 0 24px;text-align:center}
.prose{max-width:760px;margin:0 auto;color:var(--ink-dim)}
.prose p{margin:0 0 16px}
.prose strong{color:var(--ink)}
.prose h2{color:var(--ink);margin:32px 0 12px;font-size:1.5rem}

footer{background:#03060f;border-top:1px solid var(--line);padding:50px 0 40px;color:var(--ink-dim);font-size:.9rem}
footer .cols{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
footer h4{color:var(--ink);font-family:var(--sans);font-size:.8rem;text-transform:uppercase;letter-spacing:.16em;margin:0 0 12px}
footer a{color:var(--ink-dim)}
footer a:hover{color:var(--gold-soft)}
footer ul{list-style:none;padding:0;margin:0}
footer li{margin:6px 0}
.badge-bar{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.slogan-sm{font-family:var(--serif);font-style:italic;color:var(--gold-soft);margin:0 0 10px}
.disclaimer{margin-top:34px;padding-top:22px;border-top:1px solid rgba(255,255,255,.07);color:#7e88a6;font-size:.8rem;line-height:1.65;max-width:900px}
.disclaimer strong{color:#9aa3bd}

.err{min-height:60vh;display:flex;align-items:center;text-align:center;padding:80px 0}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .stars{display:none}
}

@media print{
  .bar,.notice,.cta,.menu-toggle,footer .cols{display:none !important}
  body{background:#fff;color:#111}
  .hero,.parch-band,.close,section{background:#fff;color:#111;border:none}
  h1,h2,h3,.motto-lat,.slogan{color:#111}
  .card,.stat,.dcard{box-shadow:none;border:1px solid #ccc}
}
