:root{
  --bg:#faf8f4; --surface:#ffffff; --ink:#0b2545; --text:#1b2233; --muted:#5a6578; --line:#e3e6ec;
  --teal:#0369a1; --teal-soft:#e8f3fb; --btn:#0b2545; --on-btn:#ffffff; --gold-text:#99773a;
  --navy:#0b2545; --navy-2:#13325c; --on-navy:#ffffff; --on-navy-muted:#c3cede; --gold:#d4a94f; --gold-light:#f0d99b;
  --foot:#0b2545; --foot-ink:#cbd5e1;
  --heart:#b42318; --heart-soft:#f8ecea; --sun:#d4a94f; --sun-soft:#f5eddc;
  --mint:#dce8e2; --lilac:#eef1f6;
  --on-teal:#ffffff;
  --f-display:"Source Serif 4", Georgia, "Times New Roman", serif;
  --f-body:"Inter", -apple-system, "Segoe UI", Roboto, sans-serif;
  --f-tamil:"Noto Serif Tamil", "Latha", serif;
  --r:12px; --maxw:1160px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#07172b; --surface:#0e2039; --ink:#eef2f8; --text:#dbe3ee; --muted:#a3b2c6; --line:#1f3657;
  --teal:#7cc3ee; --teal-soft:#10294a; --btn:#d4a94f; --on-btn:#0b2545; --gold-text:#e2bd6a;
  --navy:#0a1d36; --navy-2:#11294a; --on-navy:#ffffff; --on-navy-muted:#b4c2d6; --gold:#d4a94f; --gold-light:#f0d99b;
  --foot:#041021; --foot-ink:#b4c2d6;
  --heart:#ec6f63; --heart-soft:#33191a; --sun:#e2bd6a; --sun-soft:#2b2516; --mint:#163029; --lilac:#132a46;
  --on-teal:#0b2545; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#07172b; --surface:#0e2039; --ink:#eef2f8; --text:#dbe3ee; --muted:#a3b2c6; --line:#1f3657;
  --teal:#7cc3ee; --teal-soft:#10294a; --btn:#d4a94f; --on-btn:#0b2545; --gold-text:#e2bd6a;
  --navy:#0a1d36; --navy-2:#11294a; --on-navy:#ffffff; --on-navy-muted:#b4c2d6; --gold:#d4a94f; --gold-light:#f0d99b;
  --foot:#041021; --foot-ink:#b4c2d6;
  --heart:#ec6f63; --heart-soft:#33191a; --sun:#e2bd6a; --sun-soft:#2b2516; --mint:#163029; --lilac:#132a46;
  --on-teal:#0b2545; color-scheme:dark}

*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--f-body);font-size:16.5px;line-height:1.65;}
h1,h2,h3,h4{color:var(--ink)}
h1,h2,h3,h4{font-family:var(--f-display);line-height:1.15;margin:0;text-wrap:balance;letter-spacing:-.015em;font-weight:600}
h1{font-size:clamp(2.1rem,4.6vw,3.3rem);font-weight:600}
h2{font-size:clamp(1.6rem,3.2vw,2.3rem);font-weight:600}
h3{font-size:1.22rem;font-weight:600}
p{margin:0}
a{color:var(--teal)}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.ta{font-family:var(--f-tamil);font-weight:500}
.eyebrow{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--gold-text)}
.lede{font-size:1.15rem;color:var(--muted);max-width:60ch}
.page-title{font-size:clamp(2rem,4.4vw,3rem)}
.tbc{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--sun-soft);color:var(--ink);border:1px dashed var(--sun);border-radius:4px;padding:0 5px;margin-left:6px;vertical-align:middle;line-height:1.6}
.btn{display:inline-flex;align-items:center;gap:8px;font:600 .97rem var(--f-body);border-radius:10px;padding:12px 22px;border:2px solid transparent;cursor:pointer;text-decoration:none;transition:transform .15s, background .15s}
.btn:hover{transform:translateY(-1px)}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.btn-primary{background:var(--btn);color:var(--on-btn)}
.btn-heart{background:var(--heart);color:var(--on-btn)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-sm{padding:8px 16px;font-size:.92rem}
.ctas{display:flex;flex-wrap:wrap;gap:12px}

/* Header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-width:0}
.brand svg{flex:none}
.brand b{font-family:var(--f-display);font-weight:600;font-size:1.12rem;color:var(--ink);line-height:1.1;display:block}
.brand small{display:block;font-size:.72rem;color:var(--muted);letter-spacing:.04em}
nav.main{display:flex;align-items:center;gap:4px}
nav.main a{color:var(--text);text-decoration:none;font-weight:600;padding:8px 12px;border-radius:8px;font-size:.94rem}
nav.main a[aria-current="page"]{background:var(--teal-soft);color:var(--teal)}
nav.main a.btn-heart{color:var(--on-btn);margin-left:6px}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:10px;padding:8px 10px;color:var(--ink);cursor:pointer}
@media (max-width:860px){
  .menu-btn{display:block}
  nav.main{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;background:var(--surface);border-bottom:1px solid var(--line);padding:10px max(16px,env(safe-area-inset-right,0px)) 16px max(16px,env(safe-area-inset-left,0px));display:none}
  nav.main.open{display:flex}
  nav.main a{padding:12px 14px}
  nav.main a.btn-heart{margin:6px 0 0;justify-content:center}
}

main{min-height:60vh;animation:fade .35s ease}
@keyframes fade{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}
.band{padding-block:clamp(40px,7vw,80px)}
.band.alt{background:var(--surface);border-block:1px solid var(--line)}
.stack{display:grid;gap:14px}
.head{display:grid;gap:10px;margin-bottom:28px}

.hero-band{background:radial-gradient(1200px 500px at 85% -10%, var(--navy-2), transparent 60%),linear-gradient(160deg,var(--navy) 0%,#081b33 100%);color:var(--on-navy)}
.hero-band h1{color:var(--on-navy)}
.hero-band .eyebrow{color:var(--gold-light)}
.hero-band .ta{color:var(--gold-light)!important}
.hero-band .lede{color:var(--on-navy-muted)}
.hero-band .btn-primary{background:var(--gold);color:#0b2545}
.hero-band .btn-ghost{color:var(--on-navy);border-color:rgba(255,255,255,.35)}
.hero-band .feature{color:var(--text);border-color:transparent;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.pill-gold{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(212,169,79,.5);border-radius:999px;padding:6px 14px}
.hero{padding-block:clamp(36px,6vw,72px)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,56px);align-items:center}
.hero-grid>*{min-width:0}
.hero .ta{font-size:1.05rem;color:var(--teal);font-weight:500;margin-top:6px;display:block}
.hero .lede{margin-top:18px}
.hero .ctas{margin-top:26px}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}}

/* Featured camp */
.feature{background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 18px 40px -24px rgba(11,37,69,.35)}
.feature-top{background:var(--navy);color:var(--on-navy);border-bottom:3px solid var(--gold);padding:14px 22px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.feature-top .eyebrow{color:var(--gold-light)}
.count{font-family:var(--f-display);font-weight:600;font-size:1.05rem}
.feature-body{padding:22px;display:grid;gap:14px}
.meta{display:grid;gap:8px;font-size:.98rem}
.meta div{display:flex;gap:10px;align-items:flex-start}
.meta svg{flex:none;margin-top:4px;color:var(--teal)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:.8rem;font-weight:600;padding:3px 10px;border-radius:6px;background:var(--teal-soft);color:var(--teal)}
.seats{font-size:.9rem;color:var(--muted)}
.seatbar{height:6px;border-radius:9px;background:var(--line);overflow:hidden;margin-top:4px}
.seatbar i{display:block;height:100%;background:var(--gold);border-radius:9px}
.feature-foot{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* Pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pillar{padding:24px;border-radius:var(--r);background:var(--bg);border:1px solid var(--line);display:grid;gap:10px;align-content:start}
.pillar .ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal)}
.pillar:nth-child(2) .ic{background:var(--mint)}.pillar:nth-child(3) .ic{background:var(--lilac)}
.pillar p{color:var(--muted)}
@media (max-width:760px){.pillars{grid-template-columns:1fr}}

/* Donate teaser */
.teaser{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,48px);align-items:center}
.teaser>*{min-width:0}
@media (max-width:640px){.teaser{grid-template-columns:1fr;justify-items:center;text-align:center}.teaser .ctas{justify-content:center}}

/* Camps */
.tabs{display:flex;gap:6px;margin-bottom:22px;flex-wrap:wrap}
.tab{font:600 .92rem var(--f-body);padding:9px 18px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;text-decoration:none;display:inline-block}
.tab[aria-selected="true"]{background:var(--btn);color:var(--on-btn);border-color:var(--btn)}
.camp-list{display:grid;gap:16px}
.ticket{display:grid;grid-template-columns:110px 1fr auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.ticket>*{min-width:0}
.stub{background:var(--sun-soft);border-right:2px dashed var(--line);display:grid;place-content:center;text-align:center;padding:16px 8px;font-family:var(--f-display)}
.stub .d{font-size:2.4rem;font-weight:600;color:var(--ink);line-height:1}
.stub .m{font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.82rem}
.stub .w{font-size:.78rem;color:var(--muted);font-family:var(--f-body)}
.ticket .info{padding:18px 20px;display:grid;gap:10px}
.ticket .act{padding:18px 20px;display:flex;flex-direction:column;justify-content:center;gap:8px;align-items:stretch;min-width:170px}
.ticket.past .stub{background:var(--bg)}
.ticket.past{opacity:.9}
.result{font-size:.95rem;color:var(--muted)}
.result b{color:var(--ink)}
@media (max-width:700px){.ticket{grid-template-columns:84px 1fr}.ticket .act{grid-column:1/-1;border-top:1px solid var(--line);flex-direction:row;flex-wrap:wrap;min-width:0}.stub .d{font-size:1.9rem}}
.empty{padding:28px;border:1px dashed var(--line);border-radius:var(--r);color:var(--muted);text-align:center}
.howto{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:s;padding:0;margin:0}
.howto li{list-style:none;padding:20px;border-radius:var(--r);background:var(--bg);border:1px solid var(--line);counter-increment:s}
.howto li::before{content:counter(s);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--navy);color:var(--gold-light);font-weight:600;margin-bottom:10px;font-family:var(--f-display)}
.howto p{color:var(--muted)}
@media (max-width:760px){.howto{grid-template-columns:1fr}}

/* About */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px)}
.about-grid>*{min-width:0}
@media (max-width:760px){.about-grid{grid-template-columns:1fr}}
.prose{display:grid;gap:14px;max-width:62ch}
.objectives{display:grid;gap:12px;margin:0;padding:0}
.objectives li{list-style:none;display:grid;grid-template-columns:28px 1fr;gap:10px}
.objectives li svg{color:var(--teal);margin-top:4px}
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.person{padding:18px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);display:flex;gap:12px;align-items:center}
.avatar{width:48px;height:48px;border-radius:50%;background:var(--navy);color:var(--gold-light);display:grid;place-items:center;font-family:var(--f-display);font-weight:600;flex:none}
.person small{display:block;color:var(--muted)}

/* Gallery */
.filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.tile{padding:0;margin:0;text-align:left;cursor:pointer;background:var(--surface);border-radius:var(--r);overflow:hidden;border:1px solid var(--line);color:var(--ink);font:inherit}
.tile[hidden]{display:none}
.tile .ph{aspect-ratio:4/3;max-width:100%;display:grid;place-items:center;color:var(--teal)}
.tile .ph svg{opacity:.55}
.tile .cap{padding:12px 14px;display:grid;gap:2px}
.tile .cap small{color:var(--muted)}
.tile img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.cat-Camps{background:var(--teal-soft)}.cat-Awareness{background:var(--sun-soft)}.cat-Education{background:var(--lilac)}

/* Contact + Donate */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,48px)}
.contact-grid>*{min-width:0}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr}}
.cinfo{display:grid;gap:18px;align-content:start}
.cinfo .row{display:grid;grid-template-columns:40px 1fr;gap:12px}
.cinfo .row .ic{width:40px;height:40px;border-radius:10px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center}
.cinfo .row small{display:block;color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.copyable{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.copy{font:700 .78rem var(--f-body);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:3px 10px;cursor:pointer}
form.card,.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:clamp(18px,3vw,28px);display:grid;gap:14px}
.field{display:grid;gap:5px}
.field label{font-weight:700;font-size:.92rem}
.field input,.field select,.field textarea{font:inherit;font-size:1rem;padding:11px 13px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink);width:100%}
.field textarea{min-height:110px;resize:vertical}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:520px){.two{grid-template-columns:1fr}}
.err{color:var(--heart);font-size:.88rem}
.ok{background:var(--teal-soft);border-radius:14px;padding:18px;display:grid;gap:10px}
.narrow{max-width:640px}

.donate{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:20px;padding:clamp(22px,4vw,48px);display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(24px,4vw,56px);align-items:start}
.donate>*{min-width:0}
@media (max-width:860px){.donate{grid-template-columns:1fr}}
.heartwrap{display:grid;justify-items:center;gap:12px;text-align:center}
.heart{width:min(320px,100%);height:auto;overflow:visible;transform-origin:50% 50%}
.heart .wave{animation:wave 3.2s linear infinite}
.heart .wave2{animation:wave 5s linear infinite reverse;opacity:.45}
@keyframes wave{from{transform:translateX(0)}to{transform:translateX(-200px)}}
.heart.beat{animation:beat .9s ease 2}
@keyframes beat{0%,100%{transform:scale(1)}30%{transform:scale(1.06)}60%{transform:scale(.98)}}
.raised{font-family:var(--f-display);font-weight:600;color:var(--ink);font-size:clamp(1.8rem,4vw,2.4rem);font-variant-numeric:tabular-nums}
.raised small{display:block;font:400 1rem var(--f-body);color:var(--muted)}
.amounts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.amt{font:inherit;text-align:left;cursor:pointer;padding:14px;border-radius:14px;border:2px solid var(--line);background:var(--surface);color:var(--ink);display:grid;gap:2px}
.amt b{font-family:var(--f-display);font-size:1.3rem}
.amt span{font-size:.88rem;color:var(--muted);line-height:1.35}
.amt[aria-pressed="true"]{border-color:var(--navy);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 35%,transparent)}
.paybox{background:var(--bg);border-radius:16px;padding:18px;border:1px solid var(--line);display:grid;gap:10px}
.paybox dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:.95rem}
.paybox dt{color:var(--muted)}
.paybox dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums;word-break:break-word}
.note{font-size:.88rem;color:var(--muted)}

/* Footer */
footer{background:var(--foot);color:var(--foot-ink);padding-block:44px 28px}
footer a{color:var(--foot-ink)}
footer h4{color:var(--gold-light);font-family:var(--f-display)}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}
.foot>*{min-width:0}
.foot h4{font-size:1rem;margin-bottom:10px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.foot p,.foot li{opacity:.85;font-size:.95rem}
.legal{border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:16px;font-size:.85rem;opacity:.75;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
@media (max-width:760px){.foot{grid-template-columns:1fr}}

/* Lightbox */
dialog{border:none;border-radius:20px;padding:0;max-width:min(560px,calc(100vw - 32px));width:100%;background:var(--surface);color:var(--ink);box-shadow:0 30px 80px -20px rgba(0,0,0,.45)}
dialog::backdrop{background:rgba(7,23,43,.6)}
.dlg-head{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}
.dlg-body{padding:20px 22px;max-height:75vh;overflow:auto;display:grid;gap:10px}
.x{background:none;border:none;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--muted)}
.lb-ph{aspect-ratio:4/3;max-width:100%;display:grid;place-items:center;color:var(--teal);border-radius:12px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ===== Premium hero ===== */
.hero-band{position:relative;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(900px 520px at 88% -8%, rgba(212,169,79,.20), transparent 62%),
    radial-gradient(800px 600px at -8% 110%, rgba(56,132,214,.22), transparent 60%),
    linear-gradient(160deg,#0d2c52 0%,#091d38 55%,#06142a 100%)}
.hero-band::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.55;
  background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 75% 85% at 70% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 75% 85% at 70% 40%,#000 20%,transparent 75%)}
.hero-band::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold) 50%,transparent);opacity:.7}
.hero{padding-block:clamp(48px,8vw,104px)}
.hero-band h1{font-size:clamp(2.3rem,5vw,3.7rem);line-height:1.08;letter-spacing:-.02em}
.gold-text{font-style:italic;font-weight:600;background:linear-gradient(100deg,#f6e3a8 0%,#d4a94f 50%,#f0d99b 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.hero-band .pill-gold{background:rgba(212,169,79,.1);backdrop-filter:blur(6px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 rgba(212,169,79,.6);animation:ping 2s ease-out infinite;display:inline-block;margin-right:8px;vertical-align:middle}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(212,169,79,.55)}80%,100%{box-shadow:0 0 0 9px rgba(212,169,79,0)}}
.btn-lg{padding:15px 28px;font-size:1.02rem;border-radius:12px}
.hero-band .btn-primary{background:linear-gradient(135deg,#f0d99b,#d4a94f 55%,#c19238);color:#0b2545;box-shadow:0 10px 30px -10px rgba(212,169,79,.7),inset 0 1px 0 rgba(255,255,255,.5)}
.hero-band .btn-primary:hover{box-shadow:0 16px 36px -10px rgba(212,169,79,.85),inset 0 1px 0 rgba(255,255,255,.5)}
.hero-band .btn-ghost{background:rgba(255,255,255,.06);backdrop-filter:blur(6px)}
.hero-band .btn-ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.55)}

.stats{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:clamp(18px,3vw,40px);margin:36px 0 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.14)}
.stats div{display:grid;gap:2px}
.stats dt{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--on-navy-muted);order:2}
.stats dd{margin:0;font-family:var(--f-display);font-weight:600;font-size:clamp(1.6rem,3vw,2.1rem);line-height:1;color:var(--gold-light);font-variant-numeric:tabular-nums}
@media (max-width:520px){.stats{grid-template-columns:repeat(3,1fr);gap:12px}.stats dt{font-size:.66rem}}

/* Frosted feature card */
.hero-band .feature{position:relative;background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,.04));backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);
  border:1px solid rgba(255,255,255,.16);color:var(--on-navy);box-shadow:0 40px 80px -30px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.18)}
.hero-band .feature::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(140deg,rgba(240,217,155,.8),rgba(255,255,255,0) 35%,rgba(255,255,255,0) 65%,rgba(212,169,79,.5));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.hero-band .feature-top{background:rgba(6,20,42,.55);border-bottom:1px solid rgba(212,169,79,.55)}
.hero-band .feature h3{color:var(--on-navy)}
.hero-band .feature .meta svg{color:var(--gold-light)}
.hero-band .feature .count{background:rgba(212,169,79,.16);color:var(--gold-light);border:1px solid rgba(212,169,79,.45);border-radius:999px;padding:3px 14px;font-size:.92rem}
.hero-band .feature .chip{background:rgba(255,255,255,.1);color:#e7eefb;border:1px solid rgba(255,255,255,.12)}
.hero-band .feature .seats{color:var(--on-navy-muted)}
.hero-band .feature .seatbar{background:rgba(255,255,255,.14)}
.hero-band .feature .seatbar i{background:linear-gradient(90deg,#d4a94f,#f0d99b);box-shadow:0 0 12px rgba(212,169,79,.7)}
.hero-band .feature a:not(.btn){color:var(--gold-light);text-underline-offset:4px}
.hero-band .feature .tbc{background:rgba(212,169,79,.15);color:var(--gold-light)}
.hero-band .feature{animation:float 7s ease-in-out 1.2s infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* Entrance */
.rise{opacity:0;transform:translateY(18px);animation:rise .8s cubic-bezier(.2,.7,.2,1) forwards}
.hero-grid>div>.rise:nth-child(2){animation-delay:.08s}.hero-grid>div>.rise:nth-child(3){animation-delay:.16s}
.hero-grid>div>.rise:nth-child(4){animation-delay:.24s}.hero-grid>div>.rise:nth-child(5){animation-delay:.32s}
.hero-grid>div>.rise:nth-child(6){animation-delay:.42s}.rise-late{animation-delay:.3s}
@keyframes rise{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.rise{opacity:1;transform:none}}

/* ===== Premium "what the trust does" ===== */
.what{position:relative;overflow:hidden;isolation:isolate;background:
  radial-gradient(700px 360px at 8% 0%, color-mix(in srgb,var(--gold) 12%,transparent), transparent 70%),
  radial-gradient(800px 420px at 100% 100%, color-mix(in srgb,var(--teal) 14%,transparent), transparent 70%),
  var(--surface)}
.what-head{display:flex;justify-content:space-between;align-items:end;gap:24px 48px;flex-wrap:wrap;margin-bottom:44px}
.what-head .lede{max-width:44ch;font-size:1.04rem}
.eyebrow .rule{display:inline-block;width:28px;height:2px;background:var(--gold);vertical-align:middle;margin-right:10px;border-radius:2px}
.what .gold-text{background:linear-gradient(100deg,var(--gold-text),var(--gold) 60%,var(--gold-light));-webkit-background-clip:text;background-clip:text}
.pillars{gap:22px}
.pillar{--mx:50%;--my:0%;position:relative;overflow:hidden;padding:30px 28px 26px;border-radius:22px;gap:14px;display:flex;flex-direction:column;
  background:linear-gradient(165deg,color-mix(in srgb,var(--surface) 70%,var(--bg)),var(--bg));
  border:1px solid var(--line);box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 24px 40px -32px rgba(0,0,0,.5);
  transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .35s}
.pillar::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(360px circle at var(--mx) var(--my),color-mix(in srgb,var(--gold) 20%,transparent),transparent 65%)}
.pillar::after{content:"";position:absolute;left:28px;right:28px;top:0;height:2px;border-radius:0 0 4px 4px;
  background:linear-gradient(90deg,var(--gold),transparent);transform:scaleX(.25);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.pillar:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--gold) 55%,var(--line));box-shadow:0 34px 50px -30px rgba(0,0,0,.65),0 0 0 1px color-mix(in srgb,var(--gold) 18%,transparent)}
.pillar:hover::before{opacity:1}.pillar:hover::after{transform:scaleX(1)}
.pillar>*{position:relative}
.pillar .num{position:absolute;top:18px;right:24px;font-family:var(--f-display);font-weight:600;font-size:3.6rem;line-height:1;letter-spacing:-.04em;
  color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--gold) 45%,transparent);opacity:.7;transition:opacity .35s,transform .35s}
.pillar:hover .num{opacity:1;transform:translateY(-3px)}
.pillar .ic{width:58px;height:58px;border-radius:16px;color:#0b2545;
  background:linear-gradient(145deg,var(--gold-light),var(--gold) 70%,#b88a2c)!important;
  box-shadow:0 12px 24px -10px color-mix(in srgb,var(--gold) 80%,transparent),inset 0 1px 0 rgba(255,255,255,.55);transition:transform .35s}
.pillar:hover .ic{transform:rotate(-6deg) scale(1.06)}
.pillar h3{font-size:1.35rem;margin-top:6px}
.pillar p{font-size:.97rem;line-height:1.7}
.tags{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.tags li{font-size:.76rem;font-weight:600;padding:3px 11px;border-radius:999px;color:var(--text);
  background:color-mix(in srgb,var(--text) 7%,transparent);border:1px solid var(--line)}
.more{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;
  font-weight:600;font-size:.93rem;text-decoration:none;color:var(--gold-text)}
.more span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid currentColor;transition:transform .3s,background .3s,color .3s}
.pillar:hover .more span{transform:translateX(4px);background:var(--gold);border-color:var(--gold);color:#0b2545}

/* Scroll reveal */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1) var(--d,0s),transform .8s cubic-bezier(.2,.7,.2,1) var(--d,0s)}
.js .reveal.in{opacity:1;transform:none}
.js .pillar.reveal.in:hover{transform:translateY(-6px);transition-delay:0s}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none}}

/* ===== Premium donate teaser ===== */
.give{padding-block:clamp(48px,8vw,96px)}
.give-card{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,5vw,72px);align-items:center;
  padding:clamp(28px,5vw,64px);border-radius:28px;color:var(--on-navy);
  background:
    radial-gradient(600px 420px at 12% 50%, rgba(236,111,99,.28), transparent 65%),
    radial-gradient(700px 400px at 100% 0%, rgba(212,169,79,.16), transparent 60%),
    linear-gradient(150deg,#0e2848 0%,#091d38 55%,#06142a 100%);
  border:1px solid rgba(255,255,255,.1);box-shadow:0 40px 80px -40px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.1)}
.give-card::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.13) 1px,transparent 1.2px);background-size:22px 22px;
  -webkit-mask-image:radial-gradient(ellipse 70% 90% at 80% 20%,#000,transparent 75%);mask-image:radial-gradient(ellipse 70% 90% at 80% 20%,#000,transparent 75%)}
.give-card h2{color:var(--on-navy);font-size:clamp(1.7rem,3.6vw,2.6rem);line-height:1.1;margin-top:8px}
.give-card .lede{color:var(--on-navy-muted);margin-top:14px}
.give-card .eyebrow{color:#f6a79f}
.heart-dot{background:#ec6f63;margin-right:8px;animation-name:ping-heart}
@keyframes ping-heart{0%{box-shadow:0 0 0 0 rgba(236,111,99,.6)}80%,100%{box-shadow:0 0 0 10px rgba(236,111,99,0)}}

.give-heart{position:relative;display:grid;place-items:center;width:min(300px,70vw);aspect-ratio:1;margin-inline:auto}
.give-heart .halo{position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle,rgba(236,111,99,.45),transparent 68%);filter:blur(14px);animation:halo 3.6s ease-in-out infinite}
@keyframes halo{0%,100%{transform:scale(.92);opacity:.7}50%{transform:scale(1.08);opacity:1}}
.give-heart .orbit{position:absolute;inset:0;border-radius:50%;border:1px dashed rgba(255,255,255,.2);animation:spin 28s linear infinite}
.give-heart .orbit::after{content:"";position:absolute;inset:11%;border-radius:50%;border:1px solid rgba(240,217,155,.18)}
.give-heart .orbit i{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--gold-light);box-shadow:0 0 14px 2px rgba(240,217,155,.8)}
.give-heart .orbit i:nth-child(1){top:-4px;left:50%}
.give-heart .orbit i:nth-child(2){bottom:14%;left:6%;width:6px;height:6px;background:#f6a79f;box-shadow:0 0 12px 2px rgba(236,111,99,.8)}
.give-heart .orbit i:nth-child(3){top:30%;right:-3px;width:6px;height:6px}
@keyframes spin{to{transform:rotate(360deg)}}
.give-heart .heart-host{position:relative;z-index:1;filter:drop-shadow(0 18px 30px rgba(236,111,99,.35))}
.give-heart .heart{animation:heartbeat 3.2s ease-in-out infinite}
@keyframes heartbeat{0%,100%{transform:scale(1)}8%{transform:scale(1.045)}16%{transform:scale(1)}24%{transform:scale(1.03)}32%{transform:scale(1)}}
.give-heart .heart path[fill="var(--surface)"]{fill:rgba(255,255,255,.07)}
.give-heart .heart .pct{fill:#fff;stroke:rgba(6,20,42,.7)}

.give-progress{margin-top:24px;max-width:520px}
.bar{height:10px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.4)}
.bar i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#ec6f63,#f6a79f 60%,#f0d99b);box-shadow:0 0 16px rgba(236,111,99,.7);transition:width 1.8s cubic-bezier(.2,.8,.2,1) .3s}
.give-card.in .bar i{width:var(--p)}
.bar-meta{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:.9rem;color:var(--on-navy-muted)}
.bar-meta b{color:#fff;font-family:var(--f-display);font-size:1.15rem;font-weight:600}

.give-stats{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:clamp(16px,3vw,44px);margin:26px 0 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}
.give-stats div{display:grid;gap:2px}
.give-stats dd{margin:0;font-family:var(--f-display);font-weight:600;font-size:clamp(1.3rem,2.6vw,1.8rem);line-height:1.1;color:var(--gold-light);font-variant-numeric:tabular-nums;order:1}
.give-stats dt{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--on-navy-muted);order:2}
.give-card .ctas{margin-top:28px}
.give-card .btn-ghost{color:var(--on-navy);border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.06)}
.give-card .btn-ghost:hover{background:rgba(255,255,255,.13)}
.btn-heart-glow{background:linear-gradient(135deg,#f58b80,#ec6f63 50%,#d9534a);color:#2a0b08;box-shadow:0 12px 30px -10px rgba(236,111,99,.8),inset 0 1px 0 rgba(255,255,255,.4)}
.btn-heart-glow:hover{box-shadow:0 18px 38px -10px rgba(236,111,99,.95),inset 0 1px 0 rgba(255,255,255,.4)}
.give-note{margin-top:14px;font-size:.84rem;color:var(--on-navy-muted)}
@media (max-width:760px){
  .give-card{grid-template-columns:1fr;text-align:center}
  .give-progress{margin-inline:auto}.give-stats{justify-content:center;grid-template-columns:repeat(3,1fr)}
  .give-card .ctas{justify-content:center}
}

/* ===== Premium footer ===== */
footer.site-foot{position:relative;overflow:hidden;isolation:isolate;padding-block:0 26px;color:var(--foot-ink);
  background:
    radial-gradient(700px 320px at 0% 0%, rgba(212,169,79,.12), transparent 65%),
    radial-gradient(700px 360px at 100% 100%, rgba(56,132,214,.14), transparent 65%),
    linear-gradient(180deg,#071a33,#040d1c)}
footer.site-foot::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold) 30%,var(--gold-light) 50%,var(--gold) 70%,transparent)}
footer.site-foot::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.35;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:56px 56px;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 40%,transparent);mask-image:linear-gradient(180deg,transparent,#000 40%,transparent)}
.foot-cta{display:flex;justify-content:space-between;align-items:center;gap:24px 40px;flex-wrap:wrap;margin-top:-1px;padding:clamp(28px,4vw,44px) 0;border-bottom:1px solid rgba(255,255,255,.1)}
.foot-cta .eyebrow{color:var(--gold-light)}
.foot-cta h3{color:#fff;font-size:clamp(1.3rem,2.6vw,1.9rem);max-width:30ch;margin-top:6px;line-height:1.2}
.foot-cta .btn-ghost{color:#fff;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.05)}
.foot-cta .btn-ghost:hover{background:rgba(255,255,255,.12)}
footer.site-foot .foot{grid-template-columns:1.5fr .8fr 1.2fr;gap:clamp(28px,5vw,64px);padding-block:clamp(32px,4vw,52px)}
footer.site-foot .foot h4{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;font-family:var(--f-body);font-weight:700;color:var(--gold-light);margin-bottom:18px;display:flex;align-items:center;gap:10px}
footer.site-foot .foot h4::after{content:"";height:1px;flex:1;max-width:48px;background:linear-gradient(90deg,var(--gold),transparent)}
.foot-brand{display:grid;gap:14px;align-content:start}
.foot-brand .brand b{color:#fff;font-size:1.25rem}
.foot-brand .brand small{color:var(--foot-ink)}
.foot-brand .ta{color:var(--gold-light);font-size:.98rem;opacity:1}
.foot-brand p{opacity:.8;max-width:46ch}
.wa-btn{justify-self:start;display:inline-flex;align-items:center;gap:8px;margin-top:4px;padding:9px 18px;border-radius:999px;font-weight:600;font-size:.9rem;text-decoration:none;color:#eafff3;
  background:rgba(37,211,102,.14);border:1px solid rgba(37,211,102,.45);transition:background .25s,transform .25s}
.wa-btn:hover{background:rgba(37,211,102,.26);transform:translateY(-2px)}
.foot-links{gap:2px!important}
.foot-links a{display:inline-flex;align-items:center;gap:0;padding:6px 0;text-decoration:none;color:var(--foot-ink);font-size:.97rem;position:relative;transition:color .25s,gap .25s}
.foot-links a::before{content:"";width:0;height:1px;background:var(--gold);transition:width .25s}
.foot-links a:hover{color:#fff;gap:10px}.foot-links a:hover::before{width:16px}
.foot-contact{gap:14px!important}
.foot-contact li{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;opacity:1!important}
.foot-contact .fi{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:var(--gold-light);background:rgba(212,169,79,.1);border:1px solid rgba(212,169,79,.28)}
.foot-contact a{text-decoration:none;color:var(--foot-ink);word-break:break-word}.foot-contact a:hover{color:#fff}
.foot-contact li>span:last-child,.foot-contact li>a{padding-top:5px;font-size:.95rem;line-height:1.5}
footer.site-foot .legal{align-items:center;opacity:1;color:#8da0b8;border-top:1px solid rgba(255,255,255,.1);margin-top:0}
.to-top{text-decoration:none;color:var(--gold-light)!important;font-weight:600;display:inline-flex;align-items:center;gap:8px}
.to-top span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid rgba(212,169,79,.5);transition:transform .25s,background .25s,color .25s}
.to-top:hover span{transform:translateY(-3px);background:var(--gold);color:#0b2545}
@media (max-width:860px){footer.site-foot .foot{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}
@media (max-width:560px){footer.site-foot .foot{grid-template-columns:1fr}}
html{scroll-behavior:smooth}

/* ===== "What the trust does": light blue gradient (same in light and dark mode) ===== */
.what{
  --surface:#ffffff; --bg:#f3f9ff; --ink:#0b2545; --text:#1b2a41; --muted:#4a5c78; --line:#c9ddf0;
  --teal:#0369a1; --gold-text:#8a6a2c;
  color:var(--text);
  background:
    radial-gradient(700px 380px at 6% 0%, rgba(255,255,255,.85), transparent 70%),
    radial-gradient(800px 420px at 100% 100%, rgba(120,175,235,.35), transparent 70%),
    linear-gradient(160deg,#eef6ff 0%,#d9eafb 45%,#bcd8f4 100%);
  border-block:1px solid #c3daef}
.what .lede{color:var(--muted)}
.what .pillar{
  background:linear-gradient(165deg,rgba(255,255,255,.96),rgba(240,247,255,.9));
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 1px 0 #fff inset,0 20px 40px -26px rgba(11,37,69,.35),0 0 0 1px rgba(147,189,230,.45)}
.what .pillar::before{background:radial-gradient(360px circle at var(--mx) var(--my),rgba(212,169,79,.22),transparent 65%)}
.what .pillar:hover{border-color:#fff;box-shadow:0 1px 0 #fff inset,0 34px 50px -28px rgba(11,37,69,.45),0 0 0 1px rgba(212,169,79,.6)}
.what .pillar .num{-webkit-text-stroke:1px rgba(176,134,48,.55);opacity:.85}
.what .tags li{background:#eaf3fc;border:1px solid #cfe1f3;color:#1b3556}
.what .more{border-top:1px solid #d6e5f4;color:#8a6a2c}
.what .more span{border-color:#b88a2c}
.what .pillar:hover .more span{color:#0b2545}


/* ===== Donate teaser: light blue section, dark blue card ===== */
.give{
  background:
    radial-gradient(700px 380px at 94% 0%, rgba(255,255,255,.85), transparent 70%),
    radial-gradient(800px 420px at 0% 100%, rgba(120,175,235,.35), transparent 70%),
    linear-gradient(160deg,#eef6ff 0%,#d9eafb 45%,#bcd8f4 100%);
  border-block:1px solid #c3daef}
.give-card{
  background:
    radial-gradient(520px 380px at 14% 50%, rgba(236,111,99,.16), transparent 65%),
    radial-gradient(700px 400px at 100% 0%, rgba(90,150,225,.28), transparent 60%),
    linear-gradient(145deg,#12376a 0%,#0b2650 45%,#06183a 100%);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 40px 70px -34px rgba(8,30,66,.65),0 0 0 1px rgba(255,255,255,.35),inset 0 1px 0 rgba(255,255,255,.16)}


/* ===== Premium About intro ===== */
.about-hero{position:relative;overflow:hidden;isolation:isolate;color:var(--on-navy);padding-block:clamp(56px,9vw,112px);
  background:
    radial-gradient(900px 520px at 8% -10%, rgba(212,169,79,.18), transparent 62%),
    radial-gradient(800px 600px at 100% 100%, rgba(56,132,214,.26), transparent 62%),
    linear-gradient(160deg,#0d2c52 0%,#091d38 55%,#06142a 100%)}
.about-hero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 80% 90% at 30% 40%,#000 15%,transparent 75%);mask-image:radial-gradient(ellipse 80% 90% at 30% 40%,#000 15%,transparent 75%)}
.about-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 50%,transparent);opacity:.7}
.about-hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(32px,6vw,88px);align-items:center}
.about-hero-grid>*{min-width:0}
@media (max-width:860px){.about-hero-grid{grid-template-columns:1fr}}
.ah-left{display:grid;gap:22px;align-content:center}
.about-hero .eyebrow{color:var(--gold-light)}
.about-hero h1{color:#fff;font-size:clamp(2.2rem,4.8vw,3.6rem);line-height:1.08;letter-spacing:-.02em}
.about-hero .ta{color:var(--gold-light);font-size:1.05rem}
.ah-badges{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.ah-badges li{display:inline-flex;align-items:center;gap:8px;font-size:.86rem;font-weight:600;padding:7px 14px;border-radius:999px;color:#eaf1fb;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(6px)}
.ah-badges svg{color:var(--gold-light)}

.story{position:relative;display:grid;gap:18px;padding:clamp(24px,3.4vw,40px);border-radius:24px;color:#dbe6f5;
  background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,.04));backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);
  border:1px solid rgba(255,255,255,.16);box-shadow:0 40px 80px -34px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.18)}
.story::before{content:"";position:absolute;left:clamp(24px,3.4vw,40px);right:60%;top:0;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,var(--gold),var(--gold-light))}
.story p{line-height:1.75}
.story .dropcap::first-letter{float:left;font-family:var(--f-display);font-weight:600;font-size:3.6rem;line-height:.85;padding:6px 12px 0 0;color:var(--gold-light)}
.pull{margin:2px 0;padding:6px 0 6px 20px;border-left:3px solid var(--gold);font-family:var(--f-display);font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.4;font-style:italic;color:#fff}
.story .tbc{background:rgba(212,169,79,.15);color:var(--gold-light);font-style:normal;font-family:var(--f-body)}

.ah-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 0}
.ah-facts div{display:grid;gap:4px;padding:16px 18px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);transition:transform .3s,border-color .3s,background .3s}
.ah-facts div:hover{transform:translateY(-4px);border-color:rgba(212,169,79,.6);background:rgba(212,169,79,.08)}
.ah-facts dd{margin:0;font-family:var(--f-display);font-weight:600;font-size:clamp(1.5rem,3vw,2rem);line-height:1;color:var(--gold-light);order:1}
.ah-facts dt{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#aebfd6;order:2;line-height:1.4}
@media (max-width:520px){.ah-facts{grid-template-columns:1fr}}

/* ===== Premium objectives (light) ===== */
.goals{
  --surface:#ffffff; --bg:#f3f9ff; --ink:#0b2545; --text:#1b2a41; --muted:#4a5c78; --line:#c9ddf0; --teal:#0369a1; --gold-text:#8a6a2c;
  position:relative;overflow:hidden;isolation:isolate;color:var(--text);
  background:
    radial-gradient(640px 360px at 0% 0%, rgba(212,169,79,.14), transparent 70%),
    radial-gradient(760px 420px at 100% 100%, rgba(120,175,235,.28), transparent 70%),
    linear-gradient(180deg,#fbfdff 0%,#eef6ff 100%);
  border-block:1px solid #d6e5f4}
.goals .lede{color:var(--muted);font-size:1.05rem}
.goals .gold-text{background:linear-gradient(100deg,var(--gold-text),var(--gold) 60%,var(--gold-light));-webkit-background-clip:text;background-clip:text}
.goals-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,6vw,88px);align-items:start}
.goals-grid>*{min-width:0}
@media (max-width:860px){.goals-grid{grid-template-columns:1fr}}
.goals-intro{display:grid;gap:16px;position:sticky;top:110px}
@media (max-width:860px){.goals-intro{position:static}}
.goals-intro h2{font-size:clamp(1.9rem,3.8vw,2.8rem);line-height:1.1}
.goals-count{display:inline-flex;align-items:center;gap:14px;margin-top:6px;padding:14px 20px;border-radius:18px;justify-self:start;
  background:linear-gradient(145deg,#12376a,#06183a);color:#fff;box-shadow:0 20px 36px -22px rgba(8,30,66,.7),inset 0 1px 0 rgba(255,255,255,.16)}
.goals-count b{font-family:var(--f-display);font-size:2.4rem;line-height:1;color:var(--gold-light)}
.goals-count span{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#c3d3ea}
.more-link{justify-self:start;display:inline-flex;align-items:center;gap:10px;font-weight:600;color:var(--gold-text);text-decoration:none}
.more-link span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid currentColor;transition:transform .3s,background .3s,color .3s}
.more-link:hover span{transform:translateX(4px);background:var(--gold);border-color:var(--gold);color:#0b2545}

.goal-list{list-style:none;margin:0;padding:0;display:grid;gap:16px;position:relative}
.goal-list::before{content:"";position:absolute;left:29px;top:30px;bottom:30px;width:2px;background:linear-gradient(180deg,var(--gold),rgba(212,169,79,.15));border-radius:2px}
.goal{--mx:50%;--my:50%;position:relative;overflow:hidden;display:grid;grid-template-columns:60px 1fr auto;gap:18px;align-items:center;padding:20px 24px 20px 0;border-radius:20px;
  background:linear-gradient(165deg,rgba(255,255,255,.97),rgba(240,247,255,.9));
  box-shadow:0 1px 0 #fff inset,0 18px 36px -26px rgba(11,37,69,.4),0 0 0 1px rgba(147,189,230,.45);
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.goal::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(320px circle at var(--mx) var(--my),rgba(212,169,79,.2),transparent 65%)}
.goal>*{position:relative}
.goal:hover{transform:translateX(8px);box-shadow:0 1px 0 #fff inset,0 28px 44px -26px rgba(11,37,69,.5),0 0 0 1px rgba(212,169,79,.65)}
.goal:hover::before{opacity:1}
.goal-no{justify-self:center;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-display);font-weight:600;font-size:1.15rem;color:#0b2545;
  background:linear-gradient(145deg,var(--gold-light),var(--gold) 70%,#b88a2c);box-shadow:0 0 0 6px #eef6ff,0 10px 20px -8px rgba(176,134,48,.8),inset 0 1px 0 rgba(255,255,255,.55);transition:transform .35s}
.goal:hover .goal-no{transform:scale(1.1) rotate(-6deg)}
.goal h3{font-size:1.15rem;color:var(--ink)}
.goal p{margin-top:4px;color:var(--muted);font-size:.97rem;line-height:1.65}
.goal-tick{color:#b88a2c;opacity:.35;transition:opacity .3s,transform .3s}
.goal:hover .goal-tick{opacity:1;transform:scale(1.15)}
@media (max-width:520px){.goal{grid-template-columns:52px 1fr;padding-right:16px}.goal-tick{display:none}.goal-list::before{left:25px}.goal-no{width:38px;height:38px}}

/* ===== Premium trustees (light) ===== */
.team{
  --surface:#ffffff; --bg:#f3f9ff; --ink:#0b2545; --text:#1b2a41; --muted:#4a5c78; --line:#c9ddf0; --teal:#0369a1; --gold-text:#8a6a2c;
  position:relative;overflow:hidden;isolation:isolate;color:var(--text);
  background:
    radial-gradient(700px 380px at 6% 0%, rgba(255,255,255,.9), transparent 70%),
    radial-gradient(800px 420px at 100% 100%, rgba(120,175,235,.32), transparent 70%),
    linear-gradient(160deg,#eef6ff 0%,#d9eafb 50%,#c4dcf4 100%)}
.team .lede{color:var(--muted);font-size:1.04rem;max-width:44ch}
.team .gold-text{background:linear-gradient(100deg,var(--gold-text),var(--gold) 60%,var(--gold-light));-webkit-background-clip:text;background-clip:text}
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px}
.member{--mx:50%;--my:0%;position:relative;overflow:hidden;text-align:center;padding:0 22px 26px;border-radius:24px;
  background:linear-gradient(170deg,rgba(255,255,255,.98),rgba(240,247,255,.92));
  box-shadow:0 1px 0 #fff inset,0 24px 44px -28px rgba(11,37,69,.45),0 0 0 1px rgba(147,189,230,.45);
  transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.member::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(320px circle at var(--mx) var(--my),rgba(212,169,79,.2),transparent 65%)}
.member>*{position:relative}
.member:hover{transform:translateY(-8px);box-shadow:0 1px 0 #fff inset,0 36px 56px -28px rgba(11,37,69,.55),0 0 0 1px rgba(212,169,79,.7)}
.member:hover::before{opacity:1}
.member-banner{height:96px;margin:0 -22px;position:relative;
  background:
    radial-gradient(160px 100px at 85% 0%, rgba(212,169,79,.35), transparent 70%),
    radial-gradient(rgba(255,255,255,.16) 1px,transparent 1.2px) 0 0/16px 16px,
    linear-gradient(135deg,#12376a,#06183a)}
.member-banner::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.member-avatar{width:96px;height:96px;margin:-48px auto 16px;border-radius:50%;padding:4px;
  background:conic-gradient(from 200deg,var(--gold-light),var(--gold),#b88a2c,var(--gold-light));
  box-shadow:0 0 0 5px #f3f9ff,0 16px 30px -12px rgba(11,37,69,.6);transition:transform .4s}
.member:hover .member-avatar{transform:scale(1.07) rotate(-4deg)}
.member-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.member-avatar span{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;font-family:var(--f-display);font-weight:600;font-size:2.3rem;color:var(--gold-light);
  background:radial-gradient(circle at 30% 25%,#1d4a85,#0a2247)}
.member h3{font-size:1.2rem;color:var(--ink)}
.member-role{margin-top:4px;color:var(--muted);font-size:.93rem}
.member-mark{display:inline-grid;place-items:center;width:32px;height:32px;margin-top:16px;border-radius:50%;color:#b88a2c;background:rgba(212,169,79,.14);border:1px solid rgba(212,169,79,.4);transition:transform .35s,background .35s,color .35s}
.member:hover .member-mark{background:var(--gold);color:#0b2545;transform:scale(1.12)}

/* ===== Premium gallery ===== */
.page-hero{position:relative;overflow:hidden;isolation:isolate;color:var(--on-navy);padding-block:clamp(48px,8vw,96px);
  background:
    radial-gradient(900px 520px at 8% -10%, rgba(212,169,79,.18), transparent 62%),
    radial-gradient(800px 600px at 100% 100%, rgba(56,132,214,.26), transparent 62%),
    linear-gradient(160deg,#0d2c52 0%,#091d38 55%,#06142a 100%)}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 80% 90% at 30% 40%,#000 15%,transparent 75%);mask-image:radial-gradient(ellipse 80% 90% at 30% 40%,#000 15%,transparent 75%)}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 50%,transparent);opacity:.7}
.page-hero-inner{display:flex;justify-content:space-between;align-items:end;gap:28px 48px;flex-wrap:wrap}
.ph-text{display:grid;gap:16px;max-width:720px}
.page-hero .eyebrow{color:var(--gold-light)}
.page-hero h1{color:#fff;font-size:clamp(2.1rem,4.6vw,3.4rem);line-height:1.08;letter-spacing:-.02em}
.page-hero .lede{color:var(--on-navy-muted)}
.page-hero-stats{display:flex;gap:clamp(20px,4vw,48px);margin:0;padding:18px 26px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px)}
.page-hero-stats div{display:grid;gap:2px}
.page-hero-stats dd{margin:0;font-family:var(--f-display);font-weight:600;font-size:2rem;line-height:1;color:var(--gold-light);order:1}
.page-hero-stats dt{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-navy-muted);order:2}

.gal-band{
  --surface:#ffffff; --bg:#f3f9ff; --ink:#0b2545; --text:#1b2a41; --muted:#4a5c78; --line:#c9ddf0; --gold-text:#8a6a2c;
  color:var(--text);
  background:
    radial-gradient(700px 380px at 0% 0%, rgba(255,255,255,.9), transparent 70%),
    radial-gradient(800px 420px at 100% 100%, rgba(120,175,235,.32), transparent 70%),
    linear-gradient(170deg,#eef6ff 0%,#d9eafb 55%,#c4dcf4 100%)}
.gal-band .filters{margin-bottom:28px;gap:8px}
.gal-band .tab{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:999px;background:rgba(255,255,255,.8);border:1px solid #c9ddf0;color:#0b2545;
  box-shadow:0 6px 14px -10px rgba(11,37,69,.4);transition:transform .25s,background .25s,box-shadow .25s}
.gal-band .tab:hover{transform:translateY(-2px);background:#fff}
.gal-band .tab em{font-style:normal;font-size:.74rem;font-weight:700;padding:1px 8px;border-radius:999px;background:#e3eefa;color:#35557f}
.gal-band .tab[aria-selected="true"]{background:linear-gradient(135deg,#12376a,#06183a);color:#fff;border-color:transparent;box-shadow:0 12px 22px -12px rgba(8,30,66,.8)}
.gal-band .tab[aria-selected="true"] em{background:var(--gold);color:#0b2545}

.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-auto-rows:230px;grid-auto-flow:dense;gap:18px}
.tile{position:relative;display:block;width:100%;height:100%;padding:0;overflow:hidden;border:none;border-radius:20px;cursor:pointer;background:#0b2545;
  box-shadow:0 20px 36px -24px rgba(11,37,69,.6),0 0 0 1px rgba(147,189,230,.5);
  transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
.tile.feat{grid-column:span 2;grid-row:span 2}
.tile:hover{transform:translateY(-6px);box-shadow:0 34px 50px -26px rgba(11,37,69,.7),0 0 0 2px rgba(212,169,79,.75)}
.tile img,.tile .ph{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.tile:hover img,.tile:hover .ph{transform:scale(1.07)}
.tile .ph{display:grid;place-items:center;align-content:center;gap:10px;color:rgba(255,255,255,.9)}
.tile .ph svg{opacity:.9;width:56px;height:56px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}
.tile.feat .ph svg{width:84px;height:84px}
.tile .ph::before{content:"";position:absolute;inset:0;opacity:.5;background-image:radial-gradient(rgba(255,255,255,.18) 1px,transparent 1.2px);background-size:18px 18px}
.soon{position:relative;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:rgba(255,255,255,.7)}
.ph.cat-Camps{background:radial-gradient(300px 200px at 80% 0%,rgba(212,169,79,.35),transparent 70%),linear-gradient(145deg,#1b5e9c,#0b2c57)}
.ph.cat-Awareness{background:radial-gradient(300px 200px at 20% 0%,rgba(255,255,255,.25),transparent 70%),linear-gradient(145deg,#c28a2a,#6c4510)}
.ph.cat-Education{background:radial-gradient(300px 200px at 80% 0%,rgba(212,169,79,.3),transparent 70%),linear-gradient(145deg,#3d4fa0,#161f4f)}
.over{position:absolute;left:0;right:0;bottom:0;display:grid;gap:3px;justify-items:start;text-align:left;padding:56px 18px 16px;color:#fff;
  background:linear-gradient(180deg,transparent,rgba(5,16,36,.82) 70%);transition:padding .35s}
.over b{font-family:var(--f-display);font-size:1.08rem;font-weight:600;line-height:1.25;color:#fff}
.over small{color:#c3d3ea;font-size:.82rem}
.tile.feat .over b{font-size:1.5rem}
.chipcat{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:999px;background:rgba(212,169,79,.95);color:#0b2545;margin-bottom:4px}
.zoom{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(8px);
  opacity:0;transform:scale(.8) translateY(-4px);transition:opacity .3s,transform .3s}
.tile:hover .zoom,.tile:focus-visible .zoom{opacity:1;transform:none}
@media (max-width:600px){.gallery{grid-template-columns:1fr;grid-auto-rows:240px}.tile.feat{grid-column:auto;grid-row:span 1}}

.gal-cta{margin-top:48px;display:flex;justify-content:space-between;align-items:center;gap:20px 32px;flex-wrap:wrap;padding:clamp(22px,3.4vw,34px) clamp(22px,3.4vw,40px);border-radius:22px;color:#fff;
  background:radial-gradient(420px 260px at 100% 0%,rgba(212,169,79,.28),transparent 65%),linear-gradient(145deg,#12376a,#06183a);box-shadow:0 30px 50px -30px rgba(8,30,66,.7),inset 0 1px 0 rgba(255,255,255,.16)}
.gal-cta h3{color:#fff;font-size:1.35rem}.gal-cta p{color:#c3d3ea;margin-top:4px}
.gal-cta .btn-primary{background:linear-gradient(135deg,#f0d99b,#d4a94f 55%,#c19238);color:#0b2545}
.gal-cta .btn-ghost{color:#fff;border-color:rgba(255,255,255,.3)}

/* Lightbox */
#lbDlg{max-width:min(880px,calc(100vw - 24px));background:linear-gradient(160deg,#0f2d57,#06152e);color:#fff;border:1px solid rgba(255,255,255,.14);box-shadow:0 40px 100px -20px rgba(0,0,0,.7)}
#lbDlg::backdrop{background:rgba(3,10,24,.78);backdrop-filter:blur(6px)}
#lbDlg .dlg-head{border-bottom:1px solid rgba(255,255,255,.12)}
#lbDlg h3{color:#fff}#lbDlg small{color:var(--gold-light)}
#lbDlg .x{color:#c3d3ea}
#lbDlg .dlg-body{padding:18px 22px;max-height:70vh}
#lbDlg .dlg-body img{width:100%;border-radius:14px;max-height:62vh;object-fit:contain;background:#020a18}
#lbDlg .lb-ph{border-radius:14px;color:#fff;max-height:62vh}
#lbDlg .lb-ph svg{width:96px;height:96px}
.lb-nav{display:flex;justify-content:space-between;align-items:center;padding:12px 22px 18px;border-top:1px solid rgba(255,255,255,.12)}
.lb-nav button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(212,169,79,.55);background:rgba(212,169,79,.1);color:var(--gold-light);font-size:1.2rem;cursor:pointer;transition:background .25s,color .25s,transform .25s}
.lb-nav button:hover{background:var(--gold);color:#0b2545;transform:scale(1.08)}
#lbCount{font-size:.85rem;letter-spacing:.14em;color:#aebfd6}

/* ===== Premium camps ===== */
.camps-band .tabs{margin-bottom:28px}
.camps-band .tab{text-decoration:none}
.camps-band .camp-list{gap:20px}
.camps-band .ticket{--mx:50%;--my:50%;position:relative;overflow:hidden;grid-template-columns:150px 1fr auto;border:none;border-radius:24px;
  background:linear-gradient(165deg,rgba(255,255,255,.98),rgba(240,247,255,.92));
  box-shadow:0 1px 0 #fff inset,0 24px 44px -28px rgba(11,37,69,.5),0 0 0 1px rgba(147,189,230,.5);
  transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.camps-band .ticket::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(380px circle at var(--mx) var(--my),rgba(212,169,79,.16),transparent 65%)}
.camps-band .ticket:hover{transform:translateY(-5px);box-shadow:0 1px 0 #fff inset,0 36px 56px -28px rgba(11,37,69,.6),0 0 0 2px rgba(212,169,79,.65)}
.camps-band .ticket:hover::after{opacity:1}
.camps-band .ticket.past{opacity:1}
.camps-band .stub{position:relative;border-right:none;gap:2px;padding:20px 12px;color:#fff;
  background:radial-gradient(160px 120px at 80% 0%,rgba(212,169,79,.3),transparent 70%),linear-gradient(160deg,#12376a,#06183a)}
.camps-band .stub::after{content:"";position:absolute;right:-1px;top:14px;bottom:14px;border-right:2px dashed rgba(255,255,255,.28)}
.camps-band .stub .m{color:var(--gold-light);letter-spacing:.2em;font-size:.8rem}
.camps-band .stub .d{color:#fff;font-size:3rem}
.camps-band .stub .w{color:#aebfd6;font-size:.78rem;letter-spacing:.06em}
.stub .when{margin-top:10px;font:700 .68rem var(--f-body);letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border-radius:999px;color:#0b2545;background:linear-gradient(135deg,#f0d99b,#d4a94f)}
.camps-band .ticket.past .stub{background:linear-gradient(160deg,#52627a,#2c394d)}
.camps-band .ticket.past .stub .m{color:#d3dded}
.camps-band .info{padding:22px 24px;gap:12px;color:var(--text)}
.info-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.camps-band .info h3{font-size:1.3rem;color:#0b2545}
.camps-band .info-top .tbc{margin-left:0}
.camps-band .meta{color:#1b2a41}
.camps-band .meta svg{color:#b88a2c}
.camps-band .chip{background:#e8f2fc;color:#1f4a7c;border:1px solid #d3e5f6}
.camps-band .result{color:#4a5c78;background:#eef5fc;border-left:3px solid var(--gold);padding:8px 12px;border-radius:0 10px 10px 0}
.camps-band .result b{color:#0b2545}
.badge{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 11px;border-radius:999px}
.badge-free{background:#e3f6ec;color:#17623a;border:1px solid #bfe6d0}
.badge-hot{background:#fdeadf;color:#a24312;border:1px solid #f5c9ad}
.badge-full{background:#eceff4;color:#4a5668;border:1px solid #d3d9e2}
.badge-done{background:#eceff4;color:#4a5668;border:1px solid #d3d9e2}
.camps-band .act{min-width:200px;padding:22px 26px;border-left:1px solid #dbe8f5;justify-content:center;gap:14px}
.camps-band .seats{color:#4a5c78;font-weight:500}
.camps-band .seatbar{height:8px;background:#dbe8f5}
.camps-band .seatbar i{background:linear-gradient(90deg,#d4a94f,#f0d99b);box-shadow:0 0 10px rgba(212,169,79,.6)}
.btn-gold{background:linear-gradient(135deg,#f0d99b,#d4a94f 55%,#c19238);color:#0b2545;box-shadow:0 10px 22px -10px rgba(176,134,48,.9),inset 0 1px 0 rgba(255,255,255,.55);justify-content:center}
.btn-gold:hover{box-shadow:0 16px 28px -10px rgba(176,134,48,1),inset 0 1px 0 rgba(255,255,255,.55)}
.btn-gold span{transition:transform .25s}.btn-gold:hover span{transform:translateX(4px)}
.camps-band .btn-ghost{color:#0b2545;border-color:#b9d2ea;background:rgba(255,255,255,.7)}
.camps-band .empty{background:rgba(255,255,255,.7);border-color:#b9d2ea;color:#4a5c78}
@media (max-width:700px){
  .camps-band .ticket{grid-template-columns:104px 1fr}
  .camps-band .stub .d{font-size:2.3rem}
  .camps-band .act{grid-column:1/-1;border-left:none;border-top:1px solid #dbe8f5;flex-direction:column;align-items:stretch}
  .camps-band .info{padding:18px}
}
@media (max-width:520px){.camps-band .ticket{grid-template-columns:1fr}.camps-band .stub{flex-direction:row;display:flex;gap:10px;align-items:baseline;justify-content:center;padding:14px}.camps-band .stub::after,.camps-band .stub::before{display:none}.camps-band .stub .d{font-size:1.8rem}}

/* How it works */
.howto-band{
  --surface:#ffffff; --ink:#0b2545; --text:#1b2a41; --muted:#4a5c78; --gold-text:#8a6a2c;
  color:var(--text);position:relative;overflow:hidden;
  background:radial-gradient(640px 360px at 100% 0%,rgba(212,169,79,.14),transparent 70%),linear-gradient(180deg,#fbfdff,#eef6ff);border-top:1px solid #d6e5f4}
.howto-band .lede{color:var(--muted);font-size:1.04rem;max-width:44ch}
.howto-band .gold-text{background:linear-gradient(100deg,var(--gold-text),var(--gold) 60%,var(--gold-light));-webkit-background-clip:text;background-clip:text}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative}
.steps::before{content:"";position:absolute;left:16%;right:16%;top:43px;height:2px;background:repeating-linear-gradient(90deg,var(--gold) 0 8px,transparent 8px 16px);opacity:.7}
.step{position:relative;padding:76px 26px 28px;border-radius:22px;text-align:center;background:linear-gradient(165deg,#fff,#f0f7ff);box-shadow:0 1px 0 #fff inset,0 22px 40px -28px rgba(11,37,69,.45),0 0 0 1px rgba(147,189,230,.5);transition:transform .35s,box-shadow .35s}
.step:hover{transform:translateY(-6px);box-shadow:0 1px 0 #fff inset,0 32px 50px -28px rgba(11,37,69,.55),0 0 0 2px rgba(212,169,79,.6)}
.step-no{position:absolute;left:50%;top:-6px;transform:translateX(-50%);width:66px;height:66px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-display);font-weight:600;font-size:1.7rem;color:#0b2545;
  background:linear-gradient(145deg,var(--gold-light),var(--gold) 70%,#b88a2c);box-shadow:0 0 0 7px #eef6ff,0 14px 26px -10px rgba(176,134,48,.8),inset 0 1px 0 rgba(255,255,255,.55)}
.step h3{color:#0b2545;font-size:1.25rem}.step p{margin-top:8px;color:var(--muted)}
.step-note{margin-top:30px;text-align:center;color:var(--muted)}
.step-note a{color:#8a6a2c;font-weight:600;text-underline-offset:4px}
@media (max-width:760px){.steps{grid-template-columns:1fr;gap:42px}.steps::before{display:none}}

/* ===== Premium contact ===== */
.contact-band .contact-grid{align-items:start;gap:clamp(24px,4vw,56px)}
.contact-band .cinfo{gap:16px}
.quick{position:relative;overflow:hidden;display:grid;gap:12px;padding:26px 26px 28px;border-radius:24px;color:#fff;
  background:radial-gradient(360px 240px at 100% 0%,rgba(212,169,79,.3),transparent 65%),linear-gradient(145deg,#12376a,#06183a);
  box-shadow:0 30px 50px -30px rgba(8,30,66,.75),inset 0 1px 0 rgba(255,255,255,.16)}
.quick .eyebrow{color:var(--gold-light)}
.quick h3{color:#fff;font-size:1.5rem;line-height:1.2}
.quick .ctas{margin-top:6px}
.quick .btn-ghost{color:#fff;border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.07)}
.quick .btn-ghost:hover{background:rgba(255,255,255,.15)}
.ccard{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:center;padding:18px 20px;border-radius:20px;
  background:linear-gradient(165deg,rgba(255,255,255,.98),rgba(240,247,255,.92));
  box-shadow:0 1px 0 #fff inset,0 18px 34px -26px rgba(11,37,69,.45),0 0 0 1px rgba(147,189,230,.5);
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.ccard:hover{transform:translateX(6px);box-shadow:0 1px 0 #fff inset,0 26px 40px -26px rgba(11,37,69,.55),0 0 0 2px rgba(212,169,79,.6)}
.ccard .ic{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;color:#0b2545;
  background:linear-gradient(145deg,var(--gold-light),var(--gold) 70%,#b88a2c);box-shadow:0 10px 20px -8px rgba(176,134,48,.8),inset 0 1px 0 rgba(255,255,255,.55);transition:transform .35s}
.ccard:hover .ic{transform:rotate(-6deg) scale(1.06)}
.ccard small{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#5b6d88;margin-bottom:2px}
.ccard>div:last-child{color:#0b2545;font-weight:500;min-width:0}
.ccard p{color:#1b2a41;line-height:1.5}
.ccard .copy{background:#eaf3fc;border-color:#cfe1f3;color:#1f4a7c}
.ccard .copy:hover{background:var(--gold);border-color:var(--gold);color:#0b2545}
.map-link{display:inline-block;margin-top:4px;font-weight:600;color:#8a6a2c;text-underline-offset:4px}

.cform{position:relative;overflow:hidden;padding:clamp(24px,3.4vw,40px);border-radius:26px;gap:18px;border:none;
  background:linear-gradient(170deg,#ffffff,#f4f9ff);
  box-shadow:0 1px 0 #fff inset,0 40px 70px -40px rgba(11,37,69,.6),0 0 0 1px rgba(147,189,230,.55)}
.cform::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--gold),var(--gold-light),var(--gold))}
.cform-head h3{font-size:1.6rem;color:#0b2545}
.cform-head p{margin-top:6px;color:#4a5c78;font-size:.95rem}
.cform .field label{color:#0b2545;font-size:.82rem;letter-spacing:.04em}
.cform .field input,.cform .field select,.cform .field textarea{background:#f3f8fe;border:1.5px solid #cfe0f1;color:#0b2545;border-radius:12px;padding:13px 15px;
  transition:border-color .2s,box-shadow .2s,background .2s}
.cform .field input:hover,.cform .field select:hover,.cform .field textarea:hover{border-color:#a9c6e4}
.cform .field input:focus,.cform .field select:focus,.cform .field textarea:focus{outline:none;background:#fff;border-color:var(--gold);box-shadow:0 0 0 4px rgba(212,169,79,.25)}
.cform .field textarea{min-height:140px}
.cform .err{color:#b42318}
.cform .btn-lg{justify-content:center;width:100%}
.cform .btn-gold span{transition:transform .25s}.cform .btn-gold:hover span{transform:translateX(5px)}
.cform-note{text-align:center;color:#5b6d88}
.sent{grid-template-columns:auto 1fr auto;align-items:center;background:linear-gradient(135deg,#e6f6ee,#f1faf5);border:1px solid #bfe6d0;color:#17452c}
.sent p{margin-top:2px;font-size:.92rem}
.sent-ic{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#fff;background:linear-gradient(145deg,#37b36f,#17803f)}
@media (max-width:600px){.sent{grid-template-columns:1fr;text-align:left}}


/* ===== Premium header ===== */
header.site{position:sticky;top:0;z-index:50;background:linear-gradient(180deg,rgba(9,29,56,.92),rgba(6,20,42,.88));
  backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border-bottom:1px solid rgba(255,255,255,.1);
  box-shadow:0 12px 30px -18px rgba(0,0,0,.6);transition:box-shadow .3s,background .3s}
header.site::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 50%,transparent);opacity:.55;pointer-events:none}
.topbar{max-height:40px;overflow:hidden;background:linear-gradient(90deg,#0b2a52,#08203f 60%,#0b2a52);border-bottom:1px solid rgba(255,255,255,.07);transition:max-height .35s,opacity .3s,border-color .3s}
.topbar-in{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:38px;font-size:.8rem;color:#c3d3ea}
.topbar a{color:#c3d3ea;text-decoration:none;display:inline-flex;align-items:center;gap:7px;transition:color .2s}
.topbar a:hover{color:#fff}
.topbar-camp{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-camp b{color:var(--gold-light);font-weight:600}
.topbar-camp .sep{opacity:.45;margin:0 2px}
.topbar-camp .go{margin-left:4px;color:var(--gold-light);transition:transform .25s}
.topbar-camp:hover .go{transform:translateX(4px)}
.topbar .live-dot{margin-right:2px}
.topbar-contact{display:flex;gap:20px;flex:none}
.topbar-contact svg{color:var(--gold-light)}
@media (max-width:700px){.hide-sm{display:none!important}.topbar-camp .sep:nth-of-type(2),.topbar-camp{font-size:.76rem}}
@media (max-width:480px){.topbar-contact{display:none}}
header.site.scrolled .topbar{max-height:0;opacity:0;border-color:transparent}
header.site.scrolled{box-shadow:0 18px 40px -16px rgba(0,0,0,.7);background:linear-gradient(180deg,rgba(7,23,45,.96),rgba(6,18,38,.94))}

header.site .hbar{min-height:76px;transition:min-height .3s}
header.site.scrolled .hbar{min-height:64px}
.brand{gap:13px}
.brand .logo{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex:none;
  background:linear-gradient(145deg,#f6e3a8,#d4a94f 60%,#b88a2c);box-shadow:0 10px 22px -8px rgba(212,169,79,.7),inset 0 1px 0 rgba(255,255,255,.6);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.brand:hover .logo{transform:rotate(-8deg) scale(1.06)}
header.site .brand b{color:#fff;font-size:1.2rem;letter-spacing:-.01em}
header.site .brand small{color:#9fb3cf;letter-spacing:.08em;text-transform:uppercase;font-size:.64rem;margin-top:3px}

header.site nav.main{gap:2px}
header.site nav.main a:not(.btn){position:relative;color:#d3e0f1;padding:10px 15px;border-radius:10px;font-weight:500;font-size:.95rem;letter-spacing:.01em;transition:color .25s,background .25s}
header.site nav.main a:not(.btn)::after{content:"";position:absolute;left:15px;right:15px;bottom:5px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--gold),var(--gold-light));transform:scaleX(0);transform-origin:center;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
header.site nav.main a:not(.btn):hover{color:#fff;background:rgba(255,255,255,.06)}
header.site nav.main a:not(.btn):hover::after{transform:scaleX(.6)}
header.site nav.main a[aria-current="page"]{color:var(--gold-light);background:rgba(212,169,79,.1);font-weight:600}
header.site nav.main a[aria-current="page"]::after{transform:scaleX(1)}
.nav-donate{margin-left:14px;padding:10px 20px!important;border-radius:999px!important;font-weight:700;letter-spacing:.01em}
.beat-heart{display:inline-block;animation:navbeat 1.8s ease-in-out infinite}
@keyframes navbeat{0%,100%{transform:scale(1)}15%{transform:scale(1.28)}30%{transform:scale(1)}45%{transform:scale(1.18)}}

.scroll-bar{position:absolute;left:0;bottom:-1px;height:2px;width:100%;transform:scaleX(var(--sp,0));transform-origin:left;background:linear-gradient(90deg,#ec6f63,var(--gold-light));z-index:2}

.menu-btn{width:46px;height:46px;border-radius:14px;padding:0;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);display:none;place-items:center;align-content:center;gap:5px;cursor:pointer}
.menu-btn span{display:block;width:20px;height:2px;border-radius:2px;background:#fff;transition:transform .3s,opacity .2s}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:860px){
  .menu-btn{display:grid}
  header.site nav.main{background:linear-gradient(180deg,#0a2243,#06152e);border-bottom:1px solid rgba(212,169,79,.4);box-shadow:0 30px 50px -20px rgba(0,0,0,.7);padding-block:14px 20px}
  header.site nav.main a:not(.btn){padding:14px 16px;font-size:1.02rem}
  header.site nav.main a:not(.btn)::after{left:16px;right:auto;width:28px;bottom:8px}
  .nav-donate{margin:10px 0 0!important;justify-content:center;padding:14px 20px!important}
}

/* ===== Header v2: floating segmented nav ===== */
.nav-pill{display:flex;align-items:center;gap:2px;padding:5px;border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 10px 24px -14px rgba(0,0,0,.6)}
header.site nav.main .nav-pill a:not(.btn){padding:9px 18px;border-radius:999px;font-size:.93rem}
header.site nav.main .nav-pill a:not(.btn)::after{display:none}
header.site nav.main .nav-pill a:not(.btn):hover{background:rgba(255,255,255,.1);color:#fff}
header.site nav.main .nav-pill a[aria-current="page"]{color:#0b2545;font-weight:700;
  background:linear-gradient(135deg,#f6e3a8,#d4a94f 60%,#c19238);box-shadow:0 8px 18px -8px rgba(212,169,79,.85),inset 0 1px 0 rgba(255,255,255,.6)}
header.site .nav-donate{margin-left:12px}
header.site nav.main{gap:0}
@media (max-width:860px){
  .nav-pill{flex-direction:column;align-items:stretch;gap:4px;padding:6px;border-radius:20px;background:rgba(255,255,255,.05)}
  header.site nav.main .nav-pill a:not(.btn){padding:14px 18px;border-radius:14px}
}

.tile .ph:not(.cat-Camps):not(.cat-Awareness):not(.cat-Education){background:radial-gradient(300px 200px at 80% 0%,rgba(212,169,79,.3),transparent 70%),linear-gradient(145deg,#2a6f8f,#0d3047)}

/* ===== Premium donate page ===== */
.donate-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,4vw,52px);align-items:start}
.donate-grid>*{min-width:0}
@media (max-width:900px){.donate-grid{grid-template-columns:1fr}}

.heart-card{position:sticky;top:112px;display:grid;justify-items:center;gap:6px;text-align:center;padding:clamp(24px,3vw,36px);border-radius:28px;color:#fff;
  background:radial-gradient(420px 320px at 50% 18%,rgba(236,111,99,.2),transparent 65%),radial-gradient(500px 300px at 100% 0%,rgba(90,150,225,.28),transparent 60%),linear-gradient(145deg,#12376a 0%,#0b2650 45%,#06183a 100%);
  border:1px solid rgba(255,255,255,.14);box-shadow:0 40px 70px -34px rgba(8,30,66,.7),0 0 0 1px rgba(255,255,255,.3),inset 0 1px 0 rgba(255,255,255,.16)}
@media (max-width:900px){.heart-card{position:static}}
.heart-card .eyebrow{color:#f6a79f}
.heart-card .give-heart{margin:10px auto 6px;width:min(270px,70vw)}
.raised-big{font-family:var(--f-display);font-weight:600;font-size:clamp(2.2rem,5vw,3rem);line-height:1;color:#fff;font-variant-numeric:tabular-nums;margin-top:6px}
.raised-sub{color:#c3d3ea;font-size:.95rem}
.hc-bar{width:100%;height:10px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden;margin-top:12px;box-shadow:inset 0 1px 2px rgba(0,0,0,.4)}
.hc-bar i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#ec6f63,#f6a79f 60%,#f0d99b);box-shadow:0 0 16px rgba(236,111,99,.7);transition:width 1.8s cubic-bezier(.2,.8,.2,1) .3s}
.heart-card.in .hc-bar i{width:var(--p)}
.hc-stats{display:flex;justify-content:center;gap:clamp(24px,4vw,44px);margin:16px 0 4px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);width:100%}
.hc-stats div{display:grid;gap:2px}
.hc-stats dd{margin:0;font:600 1.7rem/1 var(--f-display);color:var(--gold-light);order:1}
.hc-stats dt{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#aebfd6;order:2}
.hc-points{list-style:none;margin:12px 0 0;padding:16px 0 0;border-top:1px solid rgba(255,255,255,.14);display:grid;gap:10px;width:100%;text-align:left}
.hc-points li{display:grid;grid-template-columns:22px 1fr;gap:10px;font-size:.9rem;color:#d4e0f1;line-height:1.45}
.hc-points li span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:700;color:#0b2545;background:var(--gold-grad,linear-gradient(135deg,#f0d99b,#d4a94f))}

.give-steps{display:grid;gap:22px}
.gstep{padding:clamp(20px,3vw,32px);border-radius:24px;background:linear-gradient(170deg,#fff,#f4f9ff);
  box-shadow:0 1px 0 #fff inset,0 30px 54px -36px rgba(11,37,69,.55),0 0 0 1px rgba(147,189,230,.5)}
.gstep>header{display:flex;gap:16px;align-items:center;margin-bottom:20px}
.gno{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font:600 1.2rem var(--f-display);color:#0b2545;
  background:linear-gradient(145deg,var(--gold-light),var(--gold) 70%,#b88a2c);box-shadow:0 10px 18px -8px rgba(176,134,48,.8),inset 0 1px 0 rgba(255,255,255,.55)}
.gstep h2{font-size:1.3rem;color:#0b2545;line-height:1.2}
.gstep>header p{color:#4a5c78;font-size:.93rem;margin-top:2px}
.gstep>header p b{color:#8a6a2c;font-family:var(--f-display);font-size:1.05rem}

.donate-band .amounts{gap:12px}
.donate-band .amt{position:relative;padding:18px 18px 16px;border-radius:18px;border:1.5px solid #cfe0f1;background:#f3f8fe;color:#0b2545;gap:4px;
  transition:transform .25s,border-color .25s,background .25s,box-shadow .25s}
.donate-band .amt:hover{transform:translateY(-3px);border-color:#a9c6e4;background:#fff}
.donate-band .amt b{font-size:1.5rem;color:#0b2545}
.donate-band .amt span{color:#4a5c78}
.donate-band .amt[aria-pressed="true"]{background:linear-gradient(160deg,#fffaf0,#fff3d2);border-color:var(--gold);box-shadow:0 0 0 4px rgba(212,169,79,.25),0 16px 28px -18px rgba(176,134,48,.8)}
.donate-band .amt[aria-pressed="true"]::after{content:"✓";position:absolute;top:12px;right:12px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:700;color:#0b2545;background:linear-gradient(135deg,#f0d99b,#d4a94f)}

.donate-band .paybox{background:linear-gradient(160deg,#0f2d57,#06183a);border:none;border-radius:20px;padding:22px;color:#e6eef9;gap:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
.donate-band .paybox dl{gap:10px 18px;font-size:.95rem}
.donate-band .paybox dt{color:#9fb3cf;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;align-self:center}
.donate-band .paybox dd{color:#fff}
.donate-band .paybox .copy{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:#fff}
.donate-band .paybox .copy:hover{background:var(--gold);border-color:var(--gold);color:#0b2545}
.donate-band .paybox .btn-lg{justify-content:center;width:100%}
.donate-band .paybox .btn-gold span{transition:transform .25s}.donate-band .paybox .btn-gold:hover span{transform:translateX(5px)}
.donate-band .paybox .note{color:#aebfd6;text-align:center}

.pledge-form{display:grid;gap:16px}
.pledge-form .field label{color:#0b2545;font-size:.82rem;letter-spacing:.04em}
.pledge-form .field input{background:#f3f8fe;border:1.5px solid #cfe0f1;color:#0b2545;border-radius:12px;padding:13px 15px;transition:border-color .2s,box-shadow .2s,background .2s}
.pledge-form .field input:hover{border-color:#a9c6e4}
.pledge-form .field input:focus{outline:none;background:#fff;border-color:var(--gold);box-shadow:0 0 0 4px rgba(212,169,79,.25)}
.pledge-form .err{color:#b42318}
.pledge-form .btn-lg{justify-content:center;width:100%}
.donate-band .btn-heart-glow{color:#2a0b08}


/* ===== Header v3: no layout shift on scroll ===== */
/* The top strip is 39px tall. A sticky offset of -39px lets it scroll away while the main bar stays pinned,
   so the header never changes height and the page cannot jitter. */
header.site{top:-39px}
.topbar{height:39px;max-height:none;box-sizing:border-box;overflow:hidden;transition:none}
.topbar-in{height:38px;min-height:0}
header.site.scrolled .topbar{max-height:none;opacity:1;border-color:rgba(255,255,255,.07)}
header.site .hbar,header.site.scrolled .hbar{min-height:78px;transition:none}
header.site{transition:box-shadow .3s,background-color .3s}
header.site.scrolled{box-shadow:0 20px 44px -18px rgba(0,0,0,.75)}

/* Brand polish */
.brand .logo{position:relative;overflow:hidden}
.brand .logo::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.65) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s}
.brand:hover .logo::after{transform:translateX(120%)}
header.site .brand b{background:linear-gradient(100deg,#fff 40%,var(--gold-light));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* Cursor-following highlight inside the nav pill */
.nav-pill{position:relative;isolation:isolate}
.nav-glow{position:absolute;top:5px;bottom:5px;left:0;width:0;border-radius:999px;z-index:-1;pointer-events:none;opacity:0;
  background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.08));box-shadow:inset 0 1px 0 rgba(255,255,255,.2);
  transition:left .38s cubic-bezier(.2,.8,.2,1),width .38s cubic-bezier(.2,.8,.2,1),opacity .25s}
header.site nav.main .nav-pill a:not(.btn):hover{background:transparent}
header.site nav.main .nav-pill a:not(.btn){position:relative;z-index:1}

/* Donate button shimmer */
.nav-donate{position:relative;overflow:hidden;isolation:isolate}
.nav-donate::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .7s;pointer-events:none}
.nav-donate:hover::after{left:130%}

/* Top strip: soft shimmer on the camp link */
.topbar-camp b{background:linear-gradient(90deg,var(--gold-light),#fff 50%,var(--gold-light));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shine 6s linear infinite}
@keyframes shine{to{background-position:-200% 0}}

@media (max-width:860px){.nav-glow{display:none}header.site .hbar,header.site.scrolled .hbar{min-height:70px}}
