:root{--navy:#1F3A5F;--brass:#B8862B;--brass-d:#8A6420;--paper:#F7F3EA;--ink:#23262B;--slate:#5B6472;--rule:#DDD5C4;--green:#2E6B4F;--serif:"Source Serif 4",Georgia,serif;--display:"Playfair Display",Georgia,serif;--ui:Inter,system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.6 var(--serif)}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy)}
.wrap{max-width:1100px;margin:0 auto;padding:0 24px}.narrow{max-width:720px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
.site-header{border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:5}
.nav{display:flex;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px;gap:16px}
.logo img{width:220px}
nav{display:flex;gap:20px;align-items:center;font:500 15px var(--ui)}nav a{text-decoration:none}
h1,h2,h3{font-family:var(--display);color:var(--navy);line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(2.1rem,5vw,3.6rem);max-width:18ch}h2{font-size:clamp(1.7rem,3.5vw,2.4rem)}h3{font-size:1.25rem}
.eyebrow{font:600 13px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--brass-d);margin:0 0 12px}
.hero{padding:72px 0 56px;border-bottom:1px solid var(--rule)}
.lede{font-size:1.2rem;max-width:62ch;color:var(--ink)}
.cta-row{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:28px 0}
.btn{display:inline-block;background:var(--navy);color:#fff;font:600 16px var(--ui);padding:14px 22px;border-radius:4px;border:2px solid var(--navy);text-decoration:none;cursor:pointer}
.btn:hover{background:#152a46}.btn-sm{padding:8px 14px;font-size:14px;color:#fff}
.btn-ghost{background:transparent;color:var(--navy)}.btn-ghost:hover{background:var(--navy);color:#fff}
.link{font:600 16px var(--ui)}
.proof{list-style:none;padding:0;margin:0;display:flex;gap:28px;flex-wrap:wrap;font:500 14px var(--ui);color:var(--slate)}
.proof li::before{content:"✓ ";color:var(--green);font-weight:700}
.section{padding:72px 0}.alt{background:#EFE8D8;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.steps li{border-top:3px solid var(--brass);padding-top:16px}
.note{color:var(--slate);font-size:.95rem;max-width:70ch}
.flyers{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:32px 0}
.flyer{margin:0;background:#fff;padding:12px;border:1px solid var(--rule);box-shadow:0 6px 20px rgba(31,58,95,.08)}
.flyer figcaption{font:15px/1.4 var(--ui);margin-top:10px;color:var(--slate)}.flyer strong{display:block;color:var(--navy)}
.vote{background:#fff;border:1px solid var(--rule);padding:28px;border-radius:6px;text-align:center}
.vote-opts{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin:16px 0 20px;font:500 16px var(--ui)}
.vote-opts label{border:1px solid var(--rule);padding:10px 18px;border-radius:4px;cursor:pointer}
.vote-opts label:has(input:checked){border-color:var(--navy);background:#E7EDF5}
.status{font:500 15px var(--ui);color:var(--green);min-height:1.4em;margin:12px 0 0}.status.err{color:#9B2C2C}
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,380px));gap:28px;margin-top:28px}
.plan{background:#fff;border:1px solid var(--rule);padding:28px;border-radius:6px}.plan.featured{border:2px solid var(--navy)}
.price{font:700 2.6rem var(--display);color:var(--navy);margin:0}.price span{font:500 1rem var(--ui);color:var(--slate)}
.plan ul{padding-left:20px;margin:16px 0 24px}
.waitlist label{font:600 15px var(--ui);display:block;margin-bottom:6px}
.waitlist .row{display:flex;gap:12px;flex-wrap:wrap}
.waitlist input[type=email]{flex:1;min-width:220px;font:17px var(--ui);padding:13px 14px;border:1px solid #A9A08C;border-radius:4px}
.hp{position:absolute;left:-9999px}
details{border-bottom:1px solid var(--rule);padding:16px 0}summary{font:600 1.1rem var(--serif);color:var(--navy);cursor:pointer}
.site-footer{background:var(--navy);color:#E9E4D8;padding:40px 0}
.foot-logo{filter:brightness(0) invert(1);opacity:.9;margin-bottom:8px}.small{font-size:.85rem;opacity:.8}
@media (max-width:820px){nav a:not(.btn){display:none}.steps,.flyers,.plans{grid-template-columns:1fr}.flyers{max-width:420px;margin-left:auto;margin-right:auto}.hero{padding:48px 0 40px}.section{padding:52px 0}.logo img{width:170px}}
