:root{--royal:#1d4ed8;--royal-deep:#0b1f4d;--navy:#071431;--silver:#c0c0c0;--silver-lt:#e9ecf1;--ink:#111827;--muted:#5b6474;--gold:#c9a227}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:"Inter",system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.65}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;line-height:1.15}
.eyebrow{font-family:"Oswald",sans-serif;letter-spacing:.25em;text-transform:uppercase;font-size:.8rem;color:var(--royal)}
a{color:inherit}.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.ph{background:#fff6d6;border:1px dashed #c9a227;color:#6b5400;padding:0 .35em;border-radius:3px;font-size:.92em}
header{position:sticky;top:0;z-index:50;background:rgba(7,20,49,.96);backdrop-filter:blur(8px);border-bottom:1px solid rgba(192,192,192,.25)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;font-family:"Oswald";letter-spacing:.12em;text-transform:uppercase;font-size:.95rem}
.brand img{height:48px;background:#fff;border-radius:50%;padding:3px}
.nav ul{display:flex;gap:26px;list-style:none;align-items:center}
.nav ul a{color:var(--silver-lt);text-decoration:none;font-family:"Oswald";letter-spacing:.14em;text-transform:uppercase;font-size:.82rem}
.nav ul a:hover{color:#fff}
.btn{display:inline-block;padding:.85em 1.8em;border-radius:2px;font-family:"Oswald";letter-spacing:.16em;text-transform:uppercase;font-size:.85rem;text-decoration:none;border:1px solid transparent;cursor:pointer}
.btn-primary{background:var(--royal);color:#fff}.btn-primary:hover{background:#2563eb}
.btn-ghost{border-color:var(--silver);color:#fff}.btn-ghost:hover{background:rgba(255,255,255,.08)}
.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:1.6rem}
.hero{position:relative;color:#fff;background:radial-gradient(ellipse at 70% 30%,#1d4ed8 0,#0b1f4d 45%,#071431 100%);overflow:hidden}
.hero:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 2px,transparent 2px 14px)}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center;min-height:640px;padding-top:60px;padding-bottom:60px}
.hero h1{font-size:clamp(2.6rem,6vw,4.6rem);margin:.3em 0}.hero h1 em{color:var(--silver);font-style:italic}
.hero p{color:#cfd6e4;max-width:34em;font-size:1.1rem}.hero .eyebrow{color:var(--silver)}
.hero .ctas{display:flex;gap:14px;margin-top:2rem;flex-wrap:wrap}
.crest{justify-self:center;background:#fff;padding:22px;border-radius:6px;box-shadow:0 30px 60px rgba(0,0,0,.45);max-width:320px}
.crest img{width:100%;display:block}
section{padding:96px 0}.sec-head{text-align:center;max-width:720px;margin:0 auto 56px}
.sec-head h2{font-size:clamp(2rem,4vw,2.9rem);margin:.3em 0}.sec-head p{color:var(--muted)}
.rule{width:60px;height:2px;background:var(--royal);margin:18px auto 0}
.alt{background:var(--silver-lt)}.dark{background:var(--navy);color:#fff}.dark .sec-head p{color:#b9c2d3}.dark .eyebrow{color:var(--silver)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.pillar{padding:36px;background:#fff;border-top:3px solid var(--royal);box-shadow:0 10px 30px rgba(11,31,77,.07)}
.pillar h3{margin-bottom:.5em}.pillar p{color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;margin-top:56px;border-top:1px solid #d5dae3;padding-top:40px}
.stats b{display:block;font-family:"Playfair Display";font-size:2.4rem;color:var(--royal-deep)}.stats span{color:var(--muted);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase}
table{width:100%;border-collapse:collapse;background:#fff;box-shadow:0 10px 30px rgba(11,31,77,.07)}
th{background:var(--royal-deep);color:#fff;font-family:"Oswald";letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;text-align:left;padding:14px 18px}
td{padding:14px 18px;border-bottom:1px solid #e5e7eb}.tag{font-size:.72rem;padding:2px 8px;border-radius:20px;background:var(--silver-lt);font-family:"Oswald";letter-spacing:.1em}
.notice{text-align:center;margin-top:18px;color:var(--muted);font-size:.9rem}
.person{background:#fff;text-align:center;padding:28px 18px;box-shadow:0 10px 30px rgba(11,31,77,.07)}
.avatar{width:96px;height:96px;border-radius:50%;margin:0 auto 14px;background:linear-gradient(135deg,var(--royal-deep),var(--royal));display:grid;place-items:center;color:var(--silver);font-family:"Playfair Display";font-size:1.6rem}
.person small{color:var(--muted);display:block;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem}
.news article{background:#fff;color:var(--ink);overflow:hidden}
.news .thumb{height:180px;background:linear-gradient(135deg,#0b1f4d,#1d4ed8);display:grid;place-items:center;color:var(--silver);font-family:"Oswald";letter-spacing:.2em;font-size:.8rem}
.news .body{padding:24px}.news time{font-size:.78rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}
.tier{padding:36px 28px;text-align:center;background:#fff;border:1px solid #dfe3ea;position:relative}
.tier h3{font-size:1.6rem}.tier .price{font-family:"Oswald";font-size:1.4rem;color:var(--royal);margin:.4em 0 1em}
.tier ul{list-style:none;color:var(--muted);font-size:.95rem}.tier li{padding:6px 0;border-bottom:1px solid #f0f2f5}
.tier.gold{border-top:4px solid var(--gold)}.tier.silver{border-top:4px solid var(--silver)}.tier.bronze{border-top:4px solid #a86b3c}
.logos{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:48px}
.logo-ph{aspect-ratio:3/2;border:1px dashed #b7bfcc;display:grid;place-items:center;color:#8b94a5;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;background:#fff}
.donate{background:linear-gradient(160deg,#071431,#0b1f4d 60%,#1d4ed8);color:#fff}
.donate .sec-head p{color:#c9d2e3}.donate .eyebrow{color:var(--silver)}
.dtier{border:1px solid rgba(192,192,192,.35);padding:30px;text-align:center;background:rgba(255,255,255,.04)}
.dtier b{font-family:"Playfair Display";font-size:2.4rem;display:block}.dtier p{color:#c9d2e3;font-size:.92rem}
.give-box{margin:48px auto 0;max-width:640px;text-align:center;background:#fff;color:var(--ink);padding:40px;border-radius:4px}
.give-box input[type=image]{max-width:220px}
.small{font-size:.85rem;color:var(--muted);margin-top:14px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px}
form label{display:block;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin:14px 0 6px;color:var(--muted)}
input,textarea,select{width:100%;padding:12px 14px;border:1px solid #cdd3dd;font:inherit;border-radius:2px}
form .btn{margin-top:18px}.hidden{display:none}
footer{background:#050e24;color:#9aa5bb;padding:56px 0 28px;font-size:.9rem}
.foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.foot h4{color:#fff;font-family:"Oswald";letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px;font-size:.85rem}
.foot a{text-decoration:none;display:block;padding:3px 0}.foot a:hover{color:#fff}
.social{display:flex;gap:10px}.social a{width:38px;height:38px;border:1px solid #2b3958;border-radius:50%;display:grid!important;place-items:center;padding:0}
.legal{border-top:1px solid #1b2742;margin-top:40px;padding-top:20px;text-align:center;font-size:.8rem}
@media(max-width:900px){.nav ul{display:none;position:absolute;top:72px;left:0;right:0;flex-direction:column;background:var(--navy);padding:24px}.nav ul.open{display:flex}.menu-toggle{display:block}
.hero .wrap{grid-template-columns:1fr;text-align:center;min-height:auto}.hero .ctas{justify-content:center}.crest{max-width:220px;grid-row:1}
.grid3,.grid4,.split,.foot{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr);gap:24px}.logos{grid-template-columns:repeat(3,1fr)}
section{padding:68px 0}table{font-size:.85rem}th,td{padding:10px}}
.amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}
.amt{padding:16px 8px;border:1px solid #cdd3dd;background:#fff;font-family:"Oswald";font-size:1.2rem;cursor:pointer;color:var(--royal-deep)}
.amt.on{background:var(--royal-deep);color:#fff;border-color:var(--royal-deep)}
.badges{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.badge{border:1px solid #cdd3dd;border-radius:6px;padding:6px 12px;font-size:.8rem;font-weight:600;background:#fff;color:#111}
.badge.ap{background:#000;color:#fff;border-color:#000}
.fallback{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:10px}
.fallback a{font-size:.8rem;padding:.6em 1em;border:1px solid var(--royal);color:var(--royal);text-decoration:none}
#donate-error{color:#b91c1c;font-size:.9rem;margin-top:10px}
@media(max-width:900px){.amounts{grid-template-columns:repeat(2,1fr)}}
/* --- Official marks --- */
.brand img{height:46px;background:none;border-radius:0;padding:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}
.brand span{line-height:1.1}
.crest{background:none;box-shadow:none;padding:0;max-width:480px;text-align:center}
.crest>img{filter:drop-shadow(0 25px 40px rgba(0,0,0,.5))}
.lockup{display:inline-flex;align-items:center;gap:16px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(192,192,192,.35)}
.lockup img{height:64px;width:auto}.lockup b{display:block;font-family:"Oswald";letter-spacing:.3em;color:#fff;font-size:1.05rem;text-align:left}.lockup b+b{color:var(--silver)}
.sec-head .mark{height:46px;width:auto;display:block;margin:0 auto 10px}
.dark .sec-head .mark,.donate .sec-head .mark{filter:brightness(0) invert(.85)}
.wm{position:relative;overflow:hidden}.wm>.wrap{position:relative;z-index:1}
.wm:before{content:"";position:absolute;right:-6%;top:50%;transform:translateY(-50%);width:640px;height:640px;background:url(assets/cfhs-falcon-head.png) center/contain no-repeat;opacity:.06;pointer-events:none}
.wm-left:before{right:auto;left:-6%;transform:translateY(-50%) scaleX(-1)}
.wm-dark:before{opacity:.08}
.foot-brand{display:flex;align-items:center;gap:14px}.foot-brand img{height:64px}.foot-brand .mono{height:52px;opacity:.9}
@media(max-width:900px){.crest{max-width:300px}.lockup img{height:48px}.wm:before{width:380px;height:380px}}
.gov-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.gov-card{background:#fff;padding:34px;border-top:3px solid var(--royal);box-shadow:0 10px 30px rgba(11,31,77,.07)}
.gov-wide{grid-column:1/-1}.gov-card h3{margin-bottom:.6em;font-size:1.5rem}
.gov-card h4{font-family:"Oswald";letter-spacing:.14em;text-transform:uppercase;font-size:.85rem;color:var(--royal-deep);margin:22px 0 8px}
.gov-card p{color:#374151;margin-bottom:.8em}.src{font-size:.8rem;color:var(--muted)!important;font-style:italic}
.gov-card dl{display:grid;grid-template-columns:120px 1fr;gap:10px 16px}.gov-card dt{font-family:"Oswald";letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;color:var(--muted);padding-top:3px}
.board,.plain{list-style:none}.board li{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eef0f4}.board span{color:var(--muted);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}
.plain li{padding:8px 0;border-bottom:1px solid #eef0f4;color:#374151}
.doc{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border:1px solid #dfe3ea;margin-bottom:10px;text-decoration:none;font-weight:600;color:var(--royal-deep)}
.doc:hover{border-color:var(--royal);background:#f5f8ff}.doc small{font-weight:400;color:var(--muted)}
@media(max-width:900px){.gov-grid{grid-template-columns:1fr}.gov-card dl{grid-template-columns:1fr}}
