
:root{--navy:#021A3D;--navy2:#0b2d63;--gold:#E8B04A;--gold2:#f6d48a;--cream:#FFF8EE;--ink:#1d2433;--coral:#E8705A;--teal:#2BA59B}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:Poppins,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block}h1,h2,h3{font-family:'Playfair Display',serif;line-height:1.15}a{color:inherit;text-decoration:none}
.wrap{max-width:1200px;margin:auto;padding:0 24px}
/* header: sticky, solid, never overlays content */
header.top{position:sticky;top:0;z-index:50;background:rgba(2,26,61,.97);backdrop-filter:blur(8px);box-shadow:0 2px 18px rgba(0,0,0,.18)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;flex-shrink:0}.brand img{height:46px;width:auto}.brand span{font-family:'Playfair Display';font-size:15px;line-height:1.1;max-width:150px}
.menu{display:flex;gap:4px;list-style:none;align-items:center}.menu a{color:#e6ecf7;font-weight:500;font-size:14.5px;padding:8px 11px;border-radius:20px;transition:.2s}
.menu a:hover,.menu a.on{background:rgba(232,176,74,.18);color:var(--gold)}
.hdr-cta{display:flex;gap:8px;flex-shrink:0}
.burger{display:none;background:none;border:0;color:#fff;font-size:28px;cursor:pointer;width:44px;height:44px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:40px;font-weight:600;font-size:15px;transition:transform .2s,box-shadow .2s,background .2s;cursor:pointer;border:0;white-space:nowrap}
.btn:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.gold{background:var(--gold);color:var(--navy)}.gold:hover{background:var(--gold2)}
.ghost{border:2px solid rgba(255,255,255,.85);color:#fff}.ghost:hover{background:#fff;color:var(--navy)}
.navyb{background:var(--navy);color:#fff}.coral{background:var(--coral);color:#fff}.teal{background:var(--teal);color:#fff}
.sm{padding:9px 18px;font-size:14px}
/* hero */
.hero{position:relative;min-height:calc(100vh - 72px);max-height:820px;display:flex;align-items:center;color:#fff;overflow:hidden}
.hero video,.hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kb 22s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.08)}}
.hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(2,26,61,.93),rgba(2,26,61,.6) 55%,rgba(2,26,61,.15))}
.hero .wrap{position:relative;z-index:2;padding-top:60px;padding-bottom:60px;width:100%}
.eyebrow{color:var(--gold);letter-spacing:3px;font-weight:600;font-size:13px;text-transform:uppercase}
.hero h1{font-size:clamp(38px,5.4vw,66px);max-width:680px;margin:14px 0 18px}.hero p{max-width:560px;font-size:clamp(16px,1.6vw,19px);opacity:.93;margin-bottom:30px}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.since{display:inline-block;background:rgba(232,176,74,.18);border:1px solid rgba(232,176,74,.5);color:var(--gold2);padding:6px 14px;border-radius:30px;font-size:13px;margin-bottom:6px}
/* quick actions */
.quick{margin-top:-46px;position:relative;z-index:5}.quick .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.qa{background:#fff;border-radius:20px;padding:22px;box-shadow:0 14px 34px rgba(2,26,61,.14);display:flex;gap:14px;align-items:center;transition:.25s}
.qa:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(2,26,61,.2)}.qa .i{font-size:30px;width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.qa b{display:block;color:var(--navy);font-size:16px}.qa small{color:#667;font-size:13px;line-height:1.3;display:block}
section{padding:90px 0}.head{text-align:center;max-width:740px;margin:0 auto 46px}.head h2{font-size:clamp(30px,3.6vw,44px);color:var(--navy);margin:8px 0}
/* counter */
.counter .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.stat{background:linear-gradient(160deg,var(--navy),var(--navy2));color:#fff;border-radius:22px;padding:30px 20px;text-align:center}
.stat b{display:block;font-family:'Playfair Display';font-size:clamp(38px,4vw,52px);color:var(--gold)}
/* program image cards */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.pcard{position:relative;border-radius:24px;overflow:hidden;min-height:340px;display:flex;align-items:flex-end;color:#fff;box-shadow:0 14px 34px rgba(2,26,61,.16)}
.pcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.pcard:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,26,61,.05) 20%,rgba(2,26,61,.88) 72%)}
.pcard:hover img{transform:scale(1.08)}.pcard .t{position:relative;z-index:2;padding:24px}
.pcard .ic{width:46px;height:46px;border-radius:14px;background:var(--gold);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:10px}
.pcard h3{font-size:24px;margin-bottom:6px}.pcard p{font-size:14.5px;opacity:.95}.pcard .more{display:inline-block;margin-top:10px;color:var(--gold2);font-weight:600;font-size:14px}
.badge{position:absolute;top:16px;left:16px;z-index:2;background:rgba(255,255,255,.92);color:var(--navy);font-size:12px;font-weight:600;padding:4px 12px;border-radius:20px}
/* feature */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.feature img{width:100%;border-radius:26px;box-shadow:0 20px 50px rgba(2,26,61,.2);aspect-ratio:4/3;object-fit:cover}
.feature p{margin-bottom:12px}.feature h2{font-size:clamp(30px,3.4vw,42px);color:var(--navy);margin:8px 0 16px}.ticks{list-style:none;margin:18px 0 26px}.ticks li{margin:8px 0;padding-left:26px;position:relative}.ticks li:before{content:"★";position:absolute;left:0;color:var(--gold)}
.dark{background:var(--navy);color:#fff}.dark .head h2{color:#fff}
.ideas{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.idea{background:var(--navy2);border-radius:20px;padding:28px;transition:.25s;border:1px solid rgba(255,255,255,.08)}.idea:hover{transform:translateY(-6px);border-color:var(--gold)}
.idea .e{font-size:34px}.idea h3{color:var(--gold);font-size:21px;margin:8px 0}
/* quotes */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.q{background:#fff;border-radius:22px;padding:28px;position:relative;box-shadow:0 10px 30px rgba(2,26,61,.08)}
.q:before{content:"“";font-family:'Playfair Display';font-size:80px;color:var(--gold);position:absolute;top:-10px;left:18px;line-height:1}.q p{margin-top:30px;font-style:italic}.q cite{display:block;margin-top:14px;font-style:normal;color:#8a7a58;font-size:13px}
.ph{display:inline-block;background:#fff1cf;color:#8a5a00;font-size:11px;font-weight:600;padding:3px 10px;border-radius:12px;margin-bottom:10px}
/* gallery */
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:220px;gap:14px}.gallery figure{overflow:hidden;border-radius:18px;position:relative}
.gallery figure:first-child{grid-row:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery figure:hover img{transform:scale(1.07)}
.gallery figcaption{position:absolute;left:12px;bottom:12px;background:rgba(2,26,61,.8);color:#fff;font-size:13px;padding:4px 12px;border-radius:14px}
.band{position:relative;color:#fff;text-align:center;padding:120px 0;overflow:hidden}.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.band:before{content:"";position:absolute;inset:0;background:rgba(2,26,61,.62);z-index:1}.band .wrap{position:relative;z-index:2}.band h2{font-size:clamp(30px,4vw,48px);max-width:820px;margin:0 auto 18px}
.club{display:grid;grid-template-columns:1.4fr 1fr;gap:30px;align-items:center;background:linear-gradient(135deg,var(--gold),var(--gold2));border-radius:30px;padding:46px}
.club h2{font-size:clamp(28px,3vw,40px);color:var(--navy)}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border-radius:22px;padding:30px;box-shadow:0 10px 30px rgba(2,26,61,.08);transition:.25s}.card:hover{transform:translateY(-6px)}
.card .ic{font-size:34px}.card h3{color:var(--navy);font-size:23px;margin:10px 0}
.partners{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.partners span{background:#fff;border:1px dashed #c9b88f;border-radius:14px;padding:16px 24px;color:#7a6a48;font-weight:500}
/* sub pages */
.sub{position:relative;color:#fff;padding:110px 0 90px;overflow:hidden;background:var(--navy)}.sub img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}
.sub .wrap{position:relative}.sub h1{font-size:clamp(36px,5vw,58px);max-width:820px;margin:12px 0}.sub p{max-width:680px;font-size:18px;opacity:.92}
.prose{max-width:780px;margin:auto;font-size:17.5px}.prose p{margin:0 0 18px}.prose h2{color:var(--navy);font-size:34px;margin:30px 0 14px}
.portrait{border-radius:26px;overflow:hidden;box-shadow:0 20px 50px rgba(2,26,61,.2);aspect-ratio:4/5}.portrait img{width:100%;height:100%;object-fit:cover;object-position:top}
.soon{background:#fff4d6;border-left:5px solid var(--gold);padding:16px 20px;border-radius:12px;color:#6b5418;margin:20px 0}
.langs{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.langs span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);padding:8px 16px;border-radius:30px}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.member{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 10px 30px rgba(2,26,61,.1);transition:.25s}.member:hover{transform:translateY(-6px)}
.member .pic{aspect-ratio:1/1;overflow:hidden;background:#efe4cc;display:flex;align-items:center;justify-content:center;color:#8a7a58;font-weight:600}.member .pic img{width:100%;height:100%;object-fit:cover;object-position:top}
.member .b{padding:22px}.member h3{color:var(--navy);font-size:22px}.member small{color:#8a5a00;font-weight:600}
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.val{background:#fff;border-radius:20px;padding:24px;text-align:center;border-top:4px solid var(--gold)}.val .e{font-size:32px}.val h3{color:var(--navy);font-size:20px;margin:6px 0}
.mv{display:grid;grid-template-columns:1fr 1fr;gap:22px}.mv .card{border-left:6px solid var(--gold)}
.tl{position:relative;max-width:820px;margin:auto;padding-left:34px}.tl:before{content:"";position:absolute;left:10px;top:6px;bottom:6px;width:3px;background:var(--gold);border-radius:3px}
.tl .it{position:relative;margin-bottom:28px;background:#fff;border-radius:18px;padding:20px 22px;box-shadow:0 8px 24px rgba(2,26,61,.08)}.tl .it:before{content:"";position:absolute;left:-31px;top:24px;width:15px;height:15px;border-radius:50%;background:var(--navy);border:3px solid var(--gold)}
.tl b{color:var(--gold);font-family:'Playfair Display';font-size:22px;display:block}.tl h3{color:var(--navy);font-size:20px}
.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.tier{background:#fff;border-radius:22px;padding:26px;text-align:center;box-shadow:0 10px 30px rgba(2,26,61,.08);transition:.25s}.tier:hover{transform:translateY(-6px)}.tier .p{font-family:'Playfair Display';font-size:34px;color:var(--navy)}.tier.hot{background:var(--navy);color:#fff}.tier.hot .p,.tier.hot h3{color:var(--gold)}.tier h3{color:var(--navy)}
.gifts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gift{border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 10px 26px rgba(2,26,61,.1);transition:.25s}.gift:hover{transform:translateY(-6px)}.gift img{aspect-ratio:4/3;object-fit:cover;width:100%}.gift div{padding:16px;text-align:center}.gift b{display:block;color:var(--navy);font-size:18px}
.note{font-size:12.5px;opacity:.75}
/* footer */
footer{background:#01112a;color:#cfd6e4;padding:60px 0 30px;font-size:14px}.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
footer img{height:70px;width:auto;margin-bottom:12px}footer h4{color:var(--gold);font-size:15px;margin-bottom:10px}footer ul{list-style:none}footer li{margin:6px 0}footer a:hover{color:var(--gold)}
.fbot{border-top:1px solid rgba(255,255,255,.1);margin-top:36px;padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12.5px;opacity:.75}
/* mobile donate bar: in flow reserved space via body padding */
.mbar{display:none}
/* reveal */
.rv{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s ease}.rv.in{opacity:1;transform:none}
@media (max-width:1100px){.pgrid{grid-template-columns:repeat(2,1fr)}.menu{display:none}.burger{display:block}.hdr-cta .hide-m{display:none}
 .menu.open{display:flex;position:absolute;top:72px;left:0;right:0;flex-direction:column;background:var(--navy);padding:14px 20px 22px;gap:2px;box-shadow:0 12px 24px rgba(0,0,0,.25)}.menu.open a{display:block;font-size:17px;padding:12px 14px}}
@media (max-width:900px){.quick .wrap,.counter .wrap,.values,.tiers,.gifts{grid-template-columns:1fr 1fr}.pgrid,.ideas,.quotes,.cards3,.team{grid-template-columns:1fr 1fr}.feature,.club,.mv{grid-template-columns:1fr}.fgrid{grid-template-columns:1fr 1fr}
 .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.gallery figure:first-child{grid-column:span 2;grid-row:span 1}}
@media (max-width:600px){section{padding:60px 0}.brand span{display:none}.hdr-cta .btn{padding:9px 16px}.hero{min-height:600px}
 .quick{margin-top:24px}.quick .wrap,.pgrid,.ideas,.quotes,.cards3,.team{grid-template-columns:1fr}.qa{padding:16px}.club{padding:30px 22px}.fgrid{grid-template-columns:1fr}
 .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(2,26,61,.97);box-shadow:0 -4px 16px rgba(0,0,0,.2)}.mbar .btn{flex:1;justify-content:center;padding:12px}
}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.hero .bg{animation:none}}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s}.stp{background:#fff;border-radius:20px;padding:24px;position:relative;box-shadow:0 8px 24px rgba(2,26,61,.08)}
.stp:before{counter-increment:s;content:counter(s);display:flex;width:40px;height:40px;border-radius:50%;background:var(--gold);color:var(--navy);font-weight:700;align-items:center;justify-content:center;margin-bottom:10px}.stp h3{color:var(--navy);font-size:19px;margin-bottom:6px}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}.fact{background:var(--navy);color:#fff;border-radius:20px;padding:24px}.fact b{font-family:'Playfair Display';font-size:34px;color:var(--gold);display:block;line-height:1.1;margin-bottom:6px}.fact a{color:var(--gold2);font-size:12.5px;text-decoration:underline;display:block;margin-top:10px}
.form{background:#fff;border-radius:24px;padding:32px;box-shadow:0 10px 30px rgba(2,26,61,.1);max-width:720px;margin:auto}.form label{display:block;font-weight:600;color:var(--navy);margin:14px 0 6px;font-size:14px}.form input,.form select,.form textarea{width:100%;padding:13px 14px;border:1px solid #d9cfb9;border-radius:12px;font:inherit;background:#fffdf8}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span{border:1px solid #d9cfb9;border-radius:20px;padding:7px 14px;font-size:14px;background:#fffdf8}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}.facts{grid-template-columns:1fr}}@media(max-width:600px){.steps{grid-template-columns:1fr}.form{padding:22px}}
