:root { --navy:#1E2761; --navy2:#2E3A78; --gold:#C9A227; --goldlight:#EFE0A6; --scarlet:#C8102E; --slate:#5B6472; --line:#DDE3EC; --ink:#1F2937; }
* { box-sizing:border-box; margin:0; }
body { font-family:"Segoe UI",system-ui,sans-serif; color:var(--ink); line-height:1.6; }
.stripe { position:fixed; left:0; top:0; bottom:0; width:8px; background:var(--scarlet); z-index:50; }
nav { background:var(--navy); display:flex; align-items:center; gap:1.4rem; padding:.7rem 1.5rem .7rem 2rem; position:sticky; top:0; z-index:40; }
nav .brand { display:flex; align-items:center; gap:10px; color:#fff; text-decoration:none; font-family:Georgia,serif; font-weight:bold; letter-spacing:.22em; font-size:1rem; }
nav a.link { color:var(--goldlight); text-decoration:none; font-size:.9rem; }
nav a.link:hover, nav a.link.active { color:#fff; border-bottom:2px solid var(--gold); }
nav .cta { margin-left:auto; background:var(--gold); color:var(--navy); font-weight:700; text-decoration:none; padding:.45rem 1rem; border-radius:8px; font-size:.9rem; }
header.hero { background:var(--navy); color:#fff; padding:4rem 1.5rem 3.5rem 2rem; }
.wrap { max-width:920px; margin:0 auto; padding-left:.5rem; }
h1 { font-family:Georgia,serif; font-size:2.5rem; line-height:1.15; max-width:680px; }
.hero .sub { color:var(--goldlight); font-size:1.12rem; margin-top:1.1rem; max-width:620px; }
.hero .tag { color:var(--gold); font-size:.95rem; font-style:italic; margin-top:1.4rem; }
.statrow { display:flex; gap:1rem; flex-wrap:wrap; margin-top:2rem; }
.stat { background:var(--navy2); border-left:4px solid var(--gold); padding:.7rem 1.1rem; border-radius:0 8px 8px 0; }
.stat b { display:block; font-family:Georgia,serif; font-size:1.6rem; color:#fff; }
.stat span { font-size:.78rem; color:var(--goldlight); }
main { padding:2.5rem 1.5rem 1rem 2rem; }
h2 { font-family:Georgia,serif; color:var(--navy); font-size:1.5rem; margin:2rem 0 .8rem; }
h3 { font-family:Georgia,serif; color:var(--navy); font-size:1.1rem; margin:1.4rem 0 .4rem; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; margin-top:1rem; }
.card { border:1px solid var(--line); border-left:4px solid var(--gold); border-radius:8px; padding:1rem 1.2rem; background:#fff; }
.card strong { color:var(--navy); display:block; margin-bottom:.3rem; }
.card p { font-size:.95rem; color:var(--slate); }
.btn { display:inline-block; background:var(--navy); color:#fff; text-decoration:none; padding:.7rem 1.4rem; border-radius:8px; font-weight:600; margin:1rem 1rem 0 0; }
.btn.ghost { background:#fff; color:var(--navy); border:2px solid var(--navy); }
.callout { background:#F4F7FC; border-radius:10px; padding:1.3rem 1.5rem; margin:2rem 0; border-left:4px solid var(--scarlet); }
.callout strong { color:var(--navy); }
table { border-collapse:collapse; width:100%; margin:1rem 0; font-size:.92rem; }
th,td { border:1px solid var(--line); padding:.5rem .7rem; text-align:left; vertical-align:top; }
th { background:#F4F7FC; color:var(--navy); }
.miss { background:#FDF6F6; }
.ok { color:#1a7f37; font-weight:700; }
ul.tight { padding-left:1.2rem; } ul.tight li { margin:.35rem 0; }
.pledge { border:2px solid var(--gold); border-radius:12px; padding:1.6rem 1.8rem; margin:1.5rem 0; background:#FFFDF5; }
.pledge ol { padding-left:1.3rem; } .pledge li { margin:.55rem 0; font-size:1.02rem; }
.pledge .sig { margin-top:1.2rem; font-family:Georgia,serif; font-style:italic; color:var(--navy); }
footer { background:var(--navy); color:var(--goldlight); padding:2rem 1.5rem 2rem 2rem; font-size:.88rem; margin-top:3rem; }
footer a { color:var(--gold); text-decoration:none; }
@media (max-width:640px){ h1{font-size:1.8rem} nav{flex-wrap:wrap} nav .cta{margin-left:0} }
