/* ============ IMAGE MANIFEST ============
   One place to swap every image. Replace the src strings only —
   nothing else in the file needs to change.
   Photos: use warm, real, candid shots (not stock-y) of sessions,
   the team, Enfield community spaces. Squares crop best for AWARDS/PARTNERS.
*/

:root{
  --ink:#16301F;        /* deep green — primary text / dark sections (was purple) */
  --ink-70: rgba(22,48,31,.7);
  --ink-50: rgba(22,48,31,.5);
  --cream:#FBF5EC;       /* warm ivory background */
  --panel:#F3E9DA;       /* slightly deeper cream for cards */
  --gold:#C6963A;        /* trust / awards / funder accent */
  --gold-dark:#9C7527;
  --rose:#DC316B;        /* brand primary — CTA / accent across the site */
  --rose-dark:#AD1F52;
  --rose-soft: rgba(220,49,107,.12);
  --sage:#2F7D4F;        /* brand secondary green accent */
  --sage-dark:#1F5936;
  --line: rgba(22,48,31,.12);
  --radius: 22px;
  --serif: 'Fraunces', serif;
  --sans: 'Inter', sans-serif;
  --shadow: 0 20px 50px -25px rgba(22,48,31,.35);
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--sans);
  background:var(--cream);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
button{font-family:inherit; cursor:pointer; border:none; background:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
@media(max-width:640px){.wrap{padding:0 20px;}}

h1,h2,h3{font-family:var(--serif); font-weight:600; letter-spacing:-.01em; line-height:1.08;}
.eyebrow{
  font-family:var(--sans); font-weight:600; font-size:.72rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--gold-dark);
  display:flex; align-items:center; gap:10px; margin-bottom:18px;
}
.eyebrow::before{content:''; width:26px; height:1.5px; background:var(--gold-dark); display:inline-block;}

.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 28px; border-radius:99px; font-weight:600; font-size:.95rem;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.btn-primary{background:var(--rose); color:#fff; box-shadow:0 12px 26px -12px rgba(220,49,107,.45);}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 16px 30px -12px rgba(220,49,107,.55);}
.btn-gold{background:var(--ink); color:var(--cream);}
.btn-gold:hover{transform:translateY(-2px); background:var(--gold-dark);}
.btn-ghost{background:transparent; border:1.5px solid var(--line); color:var(--ink);}
.hero-content .btn-ghost{border-color:rgba(251,245,236,.45); color:#fff;}
.hero-content .btn-ghost:hover{border-color:#fff; background:rgba(251,245,236,.1);}
.btn-ghost:hover{border-color:var(--ink);}

/* reveal on scroll */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .8s ease, transform .8s ease;}
.reveal.in{opacity:1; transform:none;}

/* ============ HEADER ============ */
header{
  position:sticky; top:0; z-index:100;
  background:rgba(251,245,236,.86); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex; align-items:center; justify-content:space-between; min-height:78px; gap:18px; padding:14px 0;}
.logo{font-family:var(--serif); font-weight:600; font-size:1.28rem; display:flex; align-items:center; flex-shrink:0;}
.logo span{color:var(--rose);}
.logo img{height:34px; width:auto; display:block;}
.nav-links{display:flex; align-items:center; gap:18px; font-size:.83rem; font-weight:500; flex-wrap:nowrap;}
.nav-links a{position:relative; padding:4px 0; opacity:.85; white-space:nowrap;}
.nav-links a:hover, .nav-links a.active{opacity:1;}
.nav-links a::after{content:'';position:absolute; left:0; bottom:-2px; width:0; height:1.5px; background:var(--rose); transition:width .25s;}
.nav-links a:hover::after, .nav-links a.active::after{width:100%;}
.nav-cta{display:flex; align-items:center; gap:12px; flex-shrink:0;}
.nav-phone{font-size:.82rem; font-weight:600; white-space:nowrap;}
.burger{display:none; width:38px; height:38px; border-radius:10px; border:1px solid var(--line); position:relative; flex-shrink:0;}
.burger span{position:absolute; left:8px; right:8px; height:2px; background:var(--ink); border-radius:2px; transition:transform .25s ease, opacity .25s ease;}
.burger span:nth-child(1){top:12px;}
.burger span:nth-child(2){top:18px;}
.burger span:nth-child(3){top:24px;}
.burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.mobile-menu{display:none; flex-direction:column; padding:6px 0 22px; border-top:1px solid var(--line);}
.mobile-menu.open{display:flex;}
.mobile-menu a{padding:14px 4px; font-size:.95rem; font-weight:500; border-bottom:1px solid var(--line);}
.mobile-menu a:last-child{border-bottom:none;}
@media(max-width:1180px){
  .nav-links{display:none;}
  .nav-phone{display:none;}
  .burger{display:flex; align-items:center; justify-content:center;}
}

/* ============ HERO ============ */
.hero{position:relative; padding:96px 0 60px; overflow:hidden;}
.hero-bg{
  position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(600px 400px at 85% -10%, rgba(198,150,58,.18), transparent 60%),
    radial-gradient(700px 500px at -10% 30%, rgba(220,49,107,.16), transparent 60%);
}
.hero-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:center;}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;}}
.hero h1{font-size:clamp(2.4rem, 4.4vw, 3.7rem); margin-bottom:22px;}
.hero h1 em{font-style:italic; color:var(--rose);}
.hero p.lead{font-size:1.13rem; line-height:1.65; color:var(--ink-70); max-width:52ch; margin-bottom:34px;}
.hero-ctas{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:44px;}

.hero-strip{
  display:flex; gap:0; flex-wrap:wrap; border-top:1px solid var(--line); padding-top:26px;
}
.hero-stat{flex:1; min-width:120px; padding-right:20px;}
.hero-stat .num{font-family:var(--serif); font-size:2rem; font-weight:600; color:var(--ink);}
.hero-stat .lbl{font-size:.78rem; color:var(--ink-50); margin-top:2px;}

/* hero visual: full-bleed crossfading photo slideshow — signature motif */
.hero{padding:0; min-height:88vh; display:flex; align-items:flex-end; overflow:hidden;}
.hero-bg{display:none;} /* replaced by slideshow slides */
.hero-slideshow{position:absolute; inset:0; z-index:0;}
.hero-slide{
  position:absolute; inset:0; opacity:0; transition:opacity 1.4s ease;
  background-size:cover; background-position:center;
}
.hero-slide.active{opacity:1;}
.hero-slide::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(20,12,28,.88) 0%, rgba(20,12,28,.55) 42%, rgba(20,12,28,.28) 68%, rgba(20,12,28,.15) 100%);
}
.hero-slide .slide-badge{
  position:absolute; top:36px; right:36px; width:100px; height:100px; border-radius:50%;
  background:#fff; display:flex; align-items:center; justify-content:center; text-align:center;
  font-family:var(--serif); font-weight:600; font-size:.72rem; color:var(--ink); padding:10px; box-shadow:var(--shadow); z-index:2;
}
@media(max-width:640px){.hero-slide .slide-badge{width:74px; height:74px; font-size:.6rem; top:20px; right:20px;}}
.hero-content{position:relative; z-index:2; color:var(--cream); padding:200px 0 54px; width:100%;}
@media(max-width:900px){.hero-content{padding-top:150px;}}
.hero-content h1{color:var(--cream);}
.hero-content p.lead{color:rgba(251,245,236,.82);}
.hero-content .eyebrow{color:var(--gold);}
.hero-content .eyebrow::before{background:var(--gold);}
.hero-strip{border-top-color:rgba(251,245,236,.22); margin-top:46px;}
.hero-strip .num{color:var(--cream);}
.hero-strip .lbl{color:rgba(251,245,236,.65);}

/* ============ MARQUEE (as seen strip) ============ */
.marquee-band{background:var(--ink); color:var(--cream); padding:16px 0; overflow:hidden;}
.marquee-track{display:flex; gap:52px; width:max-content; animation:scroll-left 32s linear infinite;}
.marquee-band:hover .marquee-track{animation-play-state:paused;}
.marquee-track span{font-size:.85rem; font-weight:600; letter-spacing:.03em; white-space:nowrap; opacity:.85;}
@keyframes scroll-left{from{transform:translateX(0);} to{transform:translateX(-50%);}}

/* ============ SECTION SHELL ============ */
section{padding:110px 0;}
@media(max-width:640px){section{padding:70px 0;}}
.section-head{max-width:640px; margin-bottom:56px;}
.section-head h2{font-size:clamp(1.9rem,3.2vw,2.6rem);}
.section-head p{color:var(--ink-70); margin-top:16px; font-size:1.05rem; line-height:1.6;}

/* ============ AUDIENCE TOGGLE (signature interactive element) ============ */
.audience{background:var(--ink); color:var(--cream); border-radius:32px; position:relative; overflow:hidden;}
.audience-inner{padding:70px 44px;}
@media(max-width:640px){.audience-inner{padding:44px 24px;}}
.toggle{
  display:inline-flex; background:rgba(251,245,236,.08); border:1px solid rgba(251,245,236,.18);
  border-radius:99px; padding:5px; margin-bottom:50px; position:relative;
}
.toggle button{
  position:relative; z-index:2; padding:13px 26px; border-radius:99px; font-weight:600; font-size:.92rem;
  color:rgba(251,245,236,.65); transition:color .3s ease; white-space:nowrap;
}
.toggle button.active{color:var(--ink);}
.toggle-thumb{
  position:absolute; top:5px; left:5px; height:calc(100% - 10px); border-radius:99px;
  background:var(--cream); transition:transform .38s cubic-bezier(.65,0,.35,1), width .38s cubic-bezier(.65,0,.35,1);
  z-index:1;
}
.audience-panels{display:grid; grid-template-columns:1fr 1fr; gap:50px;}
@media(max-width:840px){.audience-panels{grid-template-columns:1fr;}}
.audience-panel{display:none; animation:fade-in .5s ease;}
.audience-panel.active{display:block;}
@keyframes fade-in{from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:none;}}
.audience-panel h3{font-size:1.9rem; margin-bottom:18px; max-width:14ch;}
.audience-panel p.desc{color:rgba(251,245,236,.72); line-height:1.65; margin-bottom:28px; max-width:44ch;}
.audience-list{display:flex; flex-direction:column; gap:14px; margin-bottom:34px;}
.audience-list li{
  display:flex; gap:14px; align-items:flex-start; font-size:.95rem; color:rgba(251,245,236,.88); line-height:1.5;
}
.audience-list li .dot{width:7px; height:7px; border-radius:50%; margin-top:7px; flex-shrink:0;}
.panel-family .dot{background:var(--rose);}
.panel-funder .dot{background:var(--sage);}
.audience-side{
  position:relative; border-radius:20px; overflow:hidden; min-height:440px;
  border:1px solid rgba(251,245,236,.14);
}
.audience-photo{position:absolute; inset:0; opacity:0; transition:opacity .7s ease; background-size:cover; background-position:center;}
.audience-photo.active{opacity:1;}
.audience-photo::after{content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(20,12,28,.92) 0%, rgba(20,12,28,.35) 55%, rgba(20,12,28,.1) 100%);}
.audience-photo-caption{position:absolute; left:0; right:0; bottom:0; z-index:2; padding:30px;}
.audience-photo .kicker{font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; color:var(--gold); font-weight:600; margin-bottom:10px;}
.audience-photo-caption .fact{font-family:var(--serif); font-size:1.32rem; font-weight:600; color:var(--cream); line-height:1.3; margin-bottom:14px;}
.audience-photo-caption .fact-row{display:flex; gap:18px; flex-wrap:wrap; padding-top:14px; border-top:1px solid rgba(251,245,236,.18);}
.audience-photo-caption .fact-row span{font-size:.78rem; color:rgba(251,245,236,.72);}
.audience-photo-caption .fact-row b{color:var(--cream); font-weight:600;}

/* ============ IMPACT LEDGER (counters) ============ */
.ledger{background:var(--panel); border-radius:32px;}
.ledger-inner{padding:64px 40px; display:grid; grid-template-columns:repeat(4,1fr); gap:0;}
@media(max-width:840px){.ledger-inner{grid-template-columns:repeat(2,1fr); gap:40px 0;}}
.ledger-item{text-align:center; padding:0 20px; border-right:1px solid var(--line);}
.ledger-item:last-child{border-right:none;}
@media(max-width:840px){.ledger-item:nth-child(2n){border-right:none;} .ledger-item{border-right:1px solid var(--line);}}
.ledger-num{font-family:var(--serif); font-size:clamp(2.2rem,4vw,3rem); font-weight:600; color:var(--ink);}
.ledger-lbl{font-size:.85rem; color:var(--ink-70); margin-top:8px; line-height:1.4;}
.ledger-note{text-align:center; font-size:.78rem; color:var(--ink-50); margin-top:34px; font-style:italic;}

/* ============ METHODS ============ */
.methods-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
@media(max-width:900px){.methods-grid{grid-template-columns:1fr;}}
.method-card{
  background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);
  transition:transform .35s ease;
}
.method-card:hover{transform:translateY(-6px);}
.method-photo{aspect-ratio:16/9; position:relative; background-size:cover; background-position:center;}
.method-body{padding:30px;}
.method-body .num{font-family:var(--serif); font-size:.85rem; color:var(--gold-dark); font-weight:600; margin-bottom:10px;}
.method-body h3{font-size:1.3rem; margin-bottom:12px;}
.method-body p{font-size:.92rem; line-height:1.6; color:var(--ink-70);}

/* ============ WHO WE HELP / ADVOCACY BAND ============ */
.advocacy{
  background:linear-gradient(120deg, var(--rose), var(--rose-dark));
  color:#fff; border-radius:32px; position:relative; overflow:hidden;
}
.advocacy-inner{padding:70px 44px; display:grid; grid-template-columns:1.2fr .8fr; gap:40px; align-items:center;}
@media(max-width:840px){.advocacy-inner{grid-template-columns:1fr;}}
.advocacy h2{font-size:clamp(1.8rem,3vw,2.4rem); margin-bottom:18px;}
.advocacy p{opacity:.92; line-height:1.65; max-width:48ch; margin-bottom:26px;}
.advocacy-tags{display:flex; flex-wrap:wrap; gap:10px;}
.advocacy-tags span{background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.3); padding:9px 16px; border-radius:99px; font-size:.82rem; font-weight:600;}

/* ============ FUNDRAISER BAND ============ */
.fundraiser{background:#0F1A13; color:var(--cream); border-radius:32px; overflow:hidden;}
.fundraiser-inner{display:grid; grid-template-columns:1fr 1fr; align-items:stretch; min-height:420px;}
@media(max-width:840px){.fundraiser-inner{grid-template-columns:1fr;}}
.fundraiser-copy{padding:64px 52px; display:flex; flex-direction:column; justify-content:center;}
.fundraiser-copy .eyebrow{color:var(--rose);}
.fundraiser-copy .eyebrow::before{background:var(--rose);}
.fundraiser-copy h2{font-size:clamp(1.9rem,3.2vw,2.5rem); margin-bottom:16px; max-width:14ch;}
.fundraiser-copy p{color:rgba(251,245,236,.72); line-height:1.65; max-width:42ch; margin-bottom:30px;}
.fundraiser-media{position:relative; min-height:280px; background:linear-gradient(150deg,#1F5936,#0F1A13); background-size:cover; background-position:center; overflow:hidden;}
.fundraiser-media::after{content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.55), transparent 45%);}
.fundraiser-play{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:2;
  width:76px; height:76px; border-radius:50%; background:rgba(251,245,236,.95);
  display:flex; align-items:center; justify-content:center; box-shadow:0 20px 40px -18px rgba(0,0,0,.6);
  transition:transform .3s ease;
}
.fundraiser-play:hover{transform:translate(-50%,-50%) scale(1.08);}
.fundraiser-play::before{content:''; border-left:16px solid var(--ink); border-top:10px solid transparent; border-bottom:10px solid transparent; margin-left:5px;}
.fundraiser-scrub{position:absolute; left:24px; right:24px; bottom:22px; z-index:2;}
.fundraiser-scrub .bar{height:3px; background:rgba(251,245,236,.3); border-radius:2px; overflow:hidden;}
.fundraiser-scrub .bar span{display:block; height:100%; width:38%; background:var(--rose);}
.fundraiser-scrub .time{font-size:.72rem; color:rgba(251,245,236,.7); margin-top:8px;}

/* ============ AWARDS + PARTNERS ============ */
.awards-track{display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:6px; scrollbar-width:none;}
.awards-track::-webkit-scrollbar{display:none;}
.award-tile{
  scroll-snap-align:start; flex:0 0 min(270px,72vw); aspect-ratio:3/4; position:relative;
  border-radius:18px; overflow:hidden; background-size:cover; background-position:center; background-color:var(--panel);
  box-shadow:var(--shadow); transition:transform .3s ease;
}
.award-tile:hover{transform:translateY(-6px);}
.award-tile::after{content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.15) 55%, transparent 75%);}
.award-tile .icon{position:absolute; top:16px; right:16px; width:34px; height:34px; border-radius:50%; background:var(--gold); opacity:.9; z-index:2;}
.award-caption{position:absolute; left:0; right:0; bottom:0; z-index:2; padding:18px;}
.award-caption .name{display:block; font-family:var(--serif); font-weight:600; font-size:1.02rem; color:#fff; margin-bottom:4px;}
.award-caption .sub{display:block; font-size:.8rem; color:rgba(255,255,255,.78); line-height:1.4;}
.awards-controls{display:flex; gap:12px; margin-top:22px;}
.awards-controls button{
  width:44px; height:44px; border-radius:50%; border:1px solid var(--line); display:flex;
  align-items:center; justify-content:center; transition:background .25s, color .25s, border-color .25s;
}
.awards-controls button:hover{background:var(--ink); color:#fff; border-color:var(--ink);}

.partners-strip{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:30px; margin-top:50px; padding-top:40px; border-top:1px solid var(--line);}
.partners-strip .p-logo{
  height:44px; padding:0 22px; display:flex; align-items:center; font-family:var(--serif); font-weight:600;
  color:var(--ink-50); font-size:.95rem; border-left:1px solid var(--line);
}
.partners-strip .p-logo:first-child{border-left:none;}

/* ============ TESTIMONIALS ============ */
.testi-wrap{position:relative;}
.testi-track{display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:14px; scrollbar-width:none;}
.testi-track::-webkit-scrollbar{display:none;}
.testi-card{
  scroll-snap-align:start; flex:0 0 min(420px,84vw); background:#fff; border-radius:20px; padding:32px;
  border:1px solid var(--line); display:flex; flex-direction:column; justify-content:space-between; min-height:230px;
}
.testi-card .quote{font-family:var(--serif); font-size:1.08rem; line-height:1.55; color:var(--ink); font-style:italic;}
.testi-card .who{margin-top:22px; display:flex; align-items:center; gap:12px;}
.testi-avatar{width:38px; height:38px; border-radius:50%; background:var(--rose); flex-shrink:0;}
.testi-card .name{font-weight:600; font-size:.9rem;}
.testi-card .year{font-size:.78rem; color:var(--ink-50);}
.testi-controls{display:flex; gap:12px; margin-top:26px;}
.testi-controls button{
  width:44px; height:44px; border-radius:50%; border:1px solid var(--line); display:flex;
  align-items:center; justify-content:center; transition:background .25s;
}
.testi-controls button:hover{background:var(--ink); color:#fff; border-color:var(--ink);}

/* ============ FAQ ACCORDION ============ */
.faq-list{border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{
  width:100%; display:flex; justify-content:space-between; align-items:center; gap:20px;
  padding:26px 4px; text-align:left; font-family:var(--serif); font-size:1.12rem; font-weight:500;
}
.faq-q .plus{width:26px; height:26px; position:relative; flex-shrink:0;}
.faq-q .plus::before, .faq-q .plus::after{content:''; position:absolute; background:var(--ink); border-radius:2px; transition:transform .3s ease;}
.faq-q .plus::before{width:100%; height:2px; top:50%; left:0; transform:translateY(-50%);}
.faq-q .plus::after{width:2px; height:100%; left:50%; top:0; transform:translateX(-50%);}
.faq-item.open .plus::after{transform:translateX(-50%) rotate(90deg); opacity:0;}
.faq-a{max-height:0; overflow:hidden; transition:max-height .4s ease;}
.faq-a p{padding:0 4px 26px; color:var(--ink-70); line-height:1.65; max-width:70ch; font-size:.96rem;}

/* ============ FINAL CTA BAND ============ */
.cta-band{display:grid; grid-template-columns:1fr 1fr; gap:0; border-radius:32px; overflow:hidden;}
@media(max-width:840px){.cta-band{grid-template-columns:1fr;}}
.cta-half{padding:66px 44px;}
.cta-family{background:var(--rose); color:#fff;}
.cta-funder{background:var(--ink); color:var(--cream);}
.cta-half h3{font-size:1.7rem; margin-bottom:14px;}
.cta-half p{opacity:.85; line-height:1.6; margin-bottom:30px; max-width:38ch;}
.cta-half .btn-ghost{border-color:rgba(255,255,255,.4); color:#fff;}
.cta-half .btn-ghost:hover{border-color:#fff; background:rgba(255,255,255,.08);}

/* ============ FOOTER ============ */
footer{padding:70px 0 40px; border-top:1px solid var(--line);}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; margin-bottom:50px;}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;}}
.foot-grid h4{font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-50); margin-bottom:18px;}
.foot-grid ul{display:flex; flex-direction:column; gap:11px; font-size:.9rem;}
.foot-grid ul a:hover{color:var(--rose);}
.foot-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; padding-top:30px; border-top:1px solid var(--line); font-size:.82rem; color:var(--ink-50);}
.foot-bottom a{text-decoration:underline; text-underline-offset:2px;}
.foot-bottom a:hover{color:var(--rose);}
.foot-logo{height:34px; width:auto; margin-bottom:14px;}

/* ============ INNER PAGE HERO ============ */
.page-hero{background:linear-gradient(150deg,var(--ink),#0E1A12); color:var(--cream); position:relative; overflow:hidden; padding:0;}
.page-hero::after{
  content:''; position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(560px 380px at 88% 0%, rgba(198,150,58,.22), transparent 60%),
    radial-gradient(620px 420px at -6% 100%, rgba(220,49,107,.22), transparent 60%);
}
.page-hero-inner{position:relative; z-index:1; padding:156px 0 64px;}
@media(max-width:900px){.page-hero-inner{padding:130px 0 54px;}}
.breadcrumb{font-size:.78rem; color:rgba(251,245,236,.55); margin-bottom:20px;}
.breadcrumb a{opacity:.9;}
.breadcrumb a:hover{color:var(--gold);}
.page-hero h1{color:var(--cream); font-size:clamp(2.2rem,4.2vw,3.3rem); max-width:18ch; margin-bottom:20px;}
.page-hero p.lead{color:rgba(251,245,236,.8); max-width:60ch; font-size:1.08rem; line-height:1.65;}
.page-hero .eyebrow{color:var(--gold);}
.page-hero .eyebrow::before{background:var(--gold);}

/* ============ INFO GRID / CARDS (inner pages) ============ */
.info-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
@media(max-width:760px){.info-grid{grid-template-columns:1fr;}}
.info-grid.cols-3{grid-template-columns:repeat(3,1fr);}
@media(max-width:900px){.info-grid.cols-3{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.info-grid.cols-3{grid-template-columns:1fr;}}
.info-card{background:#fff; border-radius:var(--radius); padding:32px; box-shadow:var(--shadow);}
.info-card h3{font-size:1.18rem; margin-bottom:10px;}
.info-card p{font-size:.93rem; line-height:1.6; color:var(--ink-70);}
.info-card .tag{display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--gold-dark); margin-bottom:12px;}

/* tag pills — used for "areas of support" style lists */
.tag-pills{display:flex; flex-wrap:wrap; gap:10px;}
.tag-pills span{background:var(--panel); border:1px solid var(--line); padding:9px 18px; border-radius:99px; font-size:.85rem; font-weight:600; color:var(--ink);}

/* simple check-list, reuses audience-list visual language on light bg */
.check-list{display:flex; flex-direction:column; gap:14px;}
.check-list li{display:flex; gap:14px; align-items:flex-start; font-size:.95rem; color:var(--ink-70); line-height:1.55;}
.check-list li .dot{width:7px; height:7px; border-radius:50%; margin-top:8px; flex-shrink:0; background:var(--rose);}
.check-list.sage li .dot{background:var(--sage);}

/* documents list — Policies */
.doc-list{display:flex; flex-direction:column; gap:14px;}
.doc-item{display:flex; justify-content:space-between; align-items:center; gap:18px; padding:22px 26px; background:#fff; border-radius:16px; border:1px solid var(--line); flex-wrap:wrap;}
.doc-item .name{font-weight:600; font-family:var(--serif); font-size:1.05rem;}
.doc-item .meta{font-size:.78rem; color:var(--ink-50); margin-top:4px;}
.doc-item .status{font-size:.78rem; font-weight:600; color:var(--sage-dark); background:rgba(47,125,79,.1); padding:7px 14px; border-radius:99px; white-space:nowrap;}

/* split two-column block, image-free (colour block) version */
.split{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
@media(max-width:900px){.split{grid-template-columns:1fr;}}
.split-visual{border-radius:var(--radius); min-height:360px; background-size:cover; background-position:center; position:relative; box-shadow:var(--shadow);}
.split h2{font-size:clamp(1.8rem,3vw,2.4rem); margin-bottom:18px;}
.split p{color:var(--ink-70); line-height:1.65; margin-bottom:22px;}

/* partner / support directory cards */
.support-org{background:#fff; border-radius:18px; padding:26px; border:1px solid var(--line);}
.support-org h4{font-family:var(--serif); font-size:1.05rem; margin-bottom:8px;}
.support-org p{font-size:.88rem; color:var(--ink-70); line-height:1.55;}

/* stat pair used on awards/about */
.stat-pair{display:flex; gap:44px; flex-wrap:wrap; margin-top:36px;}
.stat-pair .num{font-family:var(--serif); font-size:2.4rem; font-weight:600; color:var(--cream);}
.stat-pair .lbl{font-size:.8rem; color:rgba(251,245,236,.65); margin-top:4px; max-width:20ch;}

/* donate cards */
.donate-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
@media(max-width:760px){.donate-grid{grid-template-columns:1fr;}}
.donate-card{background:#fff; border-radius:var(--radius); padding:38px; box-shadow:var(--shadow); text-align:left;}
.donate-card .tag{display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--gold-dark); margin-bottom:14px;}
.donate-card h3{font-size:1.4rem; margin-bottom:12px;}
.donate-card p{color:var(--ink-70); line-height:1.6; margin-bottom:26px; font-size:.94rem;}

/* generic mid-page CTA, reused across inner pages */
.mini-cta{background:var(--ink); color:var(--cream); border-radius:32px; padding:60px 44px; text-align:center;}
@media(max-width:640px){.mini-cta{padding:44px 26px;}}
.mini-cta h2{color:var(--cream); font-size:clamp(1.7rem,3vw,2.2rem); max-width:26ch; margin:0 auto 16px;}
.mini-cta p{color:rgba(251,245,236,.75); max-width:52ch; margin:0 auto 30px; line-height:1.6;}
.mini-cta .ctas{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}

/* ============ FUNDRAISER POPUP ============ */
.event-popup-overlay{
  position:fixed; inset:0; z-index:300; display:flex; align-items:center; justify-content:center;
  padding:24px; background:rgba(14,10,8,.72); backdrop-filter:blur(4px);
  opacity:0; pointer-events:none; transition:opacity .35s ease;
}
.event-popup-overlay.open{opacity:1; pointer-events:auto;}
.event-popup{
  position:relative; width:100%; max-width:380px; background:#fff; border-radius:26px; overflow:hidden;
  box-shadow:0 40px 90px -25px rgba(0,0,0,.55); transform:translateY(18px) scale(.97); transition:transform .35s ease;
  max-height:92vh; display:flex; flex-direction:column;
}
.event-popup-overlay.open .event-popup{transform:translateY(0) scale(1);}
.event-popup-close{
  position:absolute; top:14px; right:14px; z-index:2; width:36px; height:36px; border-radius:50%;
  background:rgba(14,10,8,.55); color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; line-height:1; backdrop-filter:blur(2px); transition:background .2s ease;
}
.event-popup-close:hover{background:rgba(14,10,8,.8);}
.event-popup-img{width:100%; display:block; overflow-y:auto;}
.event-popup-img img{width:100%; display:block;}
.event-popup-body{padding:22px 24px 26px; text-align:center;}
.event-popup-body .btn{width:100%; justify-content:center;}
.event-popup-foot{margin-top:12px; font-size:.78rem; color:var(--ink-50);}
.event-popup-foot a{text-decoration:underline;}
@media(max-width:480px){
  .event-popup{max-width:100%;}
  .event-popup-body{padding:18px 20px 22px;}
}
