/* ============================================================
   HopeSpring Community Development — "Roots & Sunshine" v2
   Multi-page · lighter, fresher green · new seedling emblem
   ============================================================ */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/Fraunces-normal-500.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/Fraunces-normal-600.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/Fraunces-normal-700.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/Fraunces-italic-500.woff2) format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/Outfit-normal-300.woff2) format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/Outfit-normal-400.woff2) format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/Outfit-normal-500.woff2) format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/Outfit-normal-600.woff2) format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/Outfit-normal-700.woff2) format('woff2')}

:root{
  /* lighter, fresher green family (v2) */
  --g950:#155F49;
  --g900:#1A6E55;
  --g800:#228065;
  --g700:#2F9072;
  --leaf:#63AF8F;
  --mint:#E7F2EB;
  /* sunshine family (unchanged) */
  --amber:#F2A70C;
  --amber-2:#FFC244;
  --amber-deep:#C98A00;
  --cream:#FAF6EB;
  --sand:#F1EAD9;
  --ink:#16332B;
  --mut:#5D7168;
  --line:rgba(22,51,43,.13);
  --cream-line:rgba(250,246,235,.16);
  --shadow-lg:0 30px 60px -18px rgba(13,64,49,.26);
  --shadow-md:0 16px 40px -14px rgba(13,64,49,.2);
  --r-lg:26px;
  --r-md:18px;
  --font-d:"Fraunces","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --font-b:"Outfit",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-b);background:var(--cream);color:var(--ink);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
::selection{background:var(--amber);color:var(--g950)}
section{scroll-margin-top:96px}
.container{width:min(1180px,92%);margin-inline:auto}

/* ---------- shared type ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--g800)}
.eyebrow .dot{width:22px;height:22px;border-radius:50%;background:var(--g900);display:inline-flex;align-items:center;justify-content:center;flex:none}
.eyebrow .dot svg{width:12px;height:12px;stroke:var(--amber-2)}
.eyebrow.on-dark{color:var(--amber-2)}
.eyebrow.on-dark .dot{background:rgba(242,167,12,.16)}
h1,h2,h3{font-family:var(--font-d);font-weight:600;line-height:1.08;letter-spacing:-.015em}
.h2{font-size:clamp(2.05rem,3.6vw,3.05rem);margin:16px 0 18px}
.h2 em,.h1 em{font-style:italic;font-weight:500;color:var(--amber-deep)}
.on-dark .h2 em,.hero .h1 em,.cta-band em{color:var(--amber-2)}
.lead{color:var(--mut);max-width:56ch}
.on-dark .lead{color:rgba(250,246,235,.78)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-b);font-weight:600;font-size:15.5px;letter-spacing:.01em;padding:16px 30px;border-radius:999px;border:1.5px solid transparent;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease;white-space:nowrap}
.btn svg{width:17px;height:17px;transition:transform .25s ease}
.btn:hover svg{transform:translateX(3px)}
.btn-amber{background:var(--amber);color:var(--g950)}
.btn-amber:hover{background:var(--amber-2);transform:translateY(-2px);box-shadow:0 14px 28px -10px rgba(242,167,12,.55)}
.btn-ghost{border-color:rgba(250,246,235,.38);color:var(--cream)}
.btn-ghost:hover{background:var(--cream);color:var(--g950);transform:translateY(-2px)}
.btn-ink{background:var(--g950);color:var(--cream)}
.btn-ink:hover{transform:translateY(-2px);box-shadow:0 14px 28px -10px rgba(13,64,49,.5)}
.btn-outline-ink{border-color:rgba(22,51,43,.4);color:var(--ink)}
.btn-outline-ink:hover{background:var(--g950);color:var(--cream);transform:translateY(-2px)}
.link-more{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--g800);border-bottom:1.5px solid var(--amber);padding-bottom:3px;transition:gap .25s ease,color .2s}
.link-more:hover{gap:13px;color:var(--g950)}
.link-more svg{width:16px;height:16px}

/* ---------- topbar ---------- */
.topbar{background:var(--g950);color:rgba(250,246,235,.85);font-size:13.5px}
.topbar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 0}
.topbar .left{display:flex;gap:26px;flex-wrap:wrap}
.topbar a{display:inline-flex;align-items:center;gap:8px;transition:color .2s}
.topbar a:hover{color:var(--amber-2)}
.topbar svg{width:14px;height:14px;stroke:var(--amber)}
.socials{display:flex;gap:6px}
.socials a{width:29px;height:29px;border-radius:50%;border:1px solid var(--cream-line);display:inline-flex;align-items:center;justify-content:center;transition:all .25s}
.socials a:hover{background:var(--amber);border-color:var(--amber)}
.socials a:hover svg{stroke:var(--g950)}
.socials svg{width:13.5px;height:13.5px;stroke:rgba(250,246,235,.85);transition:stroke .2s}

/* ---------- header ---------- */
.header{position:sticky;top:0;z-index:60;background:var(--cream);transition:box-shadow .3s ease}
.header.scrolled{box-shadow:0 10px 30px -12px rgba(13,64,49,.18)}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:46px;width:46px}
.brand .lockup{line-height:1.05}
.brand .lockup b{display:block;font-family:var(--font-d);font-weight:600;font-size:22px;color:var(--g950);letter-spacing:-.01em}
.brand .lockup span{display:block;font-size:9.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--amber-deep);margin-top:3px}
.nav{display:flex;align-items:center;gap:30px}
.nav a{font-weight:500;font-size:15.5px;color:var(--ink);position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;border-radius:2px;background:var(--amber);transition:width .3s ease}
.nav a:hover::after,.nav a.active::after{width:100%}
.nav a.active{font-weight:600}
.header .btn{padding:13px 26px;font-size:15px}
.burger{display:none;background:none;border:1.5px solid var(--line);border-radius:12px;width:46px;height:46px;cursor:pointer;align-items:center;justify-content:center}
.burger svg{width:22px;height:22px;stroke:var(--ink)}
.mobile-menu{display:none;background:var(--cream);border-top:1px solid var(--line);padding:18px 0 26px}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:13px 6px;font-weight:500;font-size:17px;border-bottom:1px dashed var(--line)}
.mobile-menu a.active{font-weight:700;color:var(--g900)}
.mobile-menu .btn{margin-top:18px;width:100%;justify-content:center}

/* ---------- page hero (subpages) ---------- */
.page-hero{position:relative;background:var(--g950);color:var(--cream);overflow:hidden}
.page-hero::before{content:"";position:absolute;top:-200px;right:-140px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(242,167,12,.16),transparent 65%)}
.page-hero::after{content:"";position:absolute;bottom:-240px;left:-180px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(99,175,143,.3),transparent 65%)}
.page-hero .leafmark{position:absolute;right:-60px;top:40px;width:420px;opacity:.08;pointer-events:none}
.page-hero-in{position:relative;z-index:2;padding:70px 0 120px;max-width:760px}
.crumb{display:inline-flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:rgba(250,246,235,.6);margin-bottom:20px}
.crumb a:hover{color:var(--amber-2)}
.crumb svg{width:12px;height:12px;stroke:var(--amber)}
.page-hero .h1{font-size:clamp(2.3rem,4.4vw,3.6rem);margin-bottom:18px}
.page-hero .lead{font-size:17.5px}
.wave{display:block;width:100%;margin-top:-1px;background:var(--g950)}
.wave svg{display:block;width:100%;height:74px}

/* ---------- home hero ---------- */
.hero{position:relative;background:var(--g950);color:var(--cream);overflow:hidden}
.hero::before{content:"";position:absolute;top:-220px;right:-160px;width:640px;height:640px;border-radius:50%;background:radial-gradient(circle,rgba(242,167,12,.16),transparent 65%)}
.hero::after{content:"";position:absolute;bottom:-260px;left:-200px;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(99,175,143,.3),transparent 65%)}
.hero-leafmark{position:absolute;right:-70px;top:70px;width:520px;opacity:.08;pointer-events:none}
.hero-in{position:relative;z-index:2;display:grid;grid-template-columns:1.06fr .94fr;gap:56px;align-items:center;padding:88px 0 150px}
.hero .eyebrow{margin-bottom:26px}
.h1{font-size:clamp(2.55rem,5vw,4.15rem);margin-bottom:24px}
.hero .lead{font-size:18px;margin-bottom:36px}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap}
.hero-facts{display:flex;gap:34px;flex-wrap:wrap;margin-top:52px;padding-top:30px;border-top:1px solid var(--cream-line)}
.hero-facts .fact{display:flex;flex-direction:column;gap:2px}
.hero-facts b{font-family:var(--font-d);font-weight:600;font-size:26px;color:var(--amber-2);line-height:1.2}
.hero-facts span{font-size:13.5px;color:rgba(250,246,235,.65);letter-spacing:.04em}
.hero-visual{position:relative}
.arch{border-radius:999px 999px 28px 28px;overflow:hidden;box-shadow:var(--shadow-lg)}
.arch img{width:100%;height:100%;object-fit:cover}
.hero-arch{position:relative;width:min(460px,100%);aspect-ratio:4/4.9;margin-left:auto;outline:1px solid rgba(250,246,235,.22);outline-offset:16px;border-radius:999px 999px 28px 28px}
.hero-arch::before{content:"";position:absolute;z-index:-1;inset:auto -46px -40px auto;width:230px;height:230px;background:var(--amber);border-radius:64% 36% 55% 45%/55% 48% 52% 45%;transform:rotate(14deg)}
.hero-badge{position:absolute;left:-64px;top:40%;width:136px;height:136px;border-radius:50%;box-shadow:var(--shadow-md);animation:floaty 6s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.float-card{position:absolute;left:-90px;bottom:56px;z-index:3;display:flex;align-items:center;gap:14px;background:var(--cream);color:var(--ink);padding:16px 22px;border-radius:18px;box-shadow:var(--shadow-md);max-width:290px}
.float-card .ic{width:46px;height:46px;flex:none;border-radius:50%;background:var(--g900);display:flex;align-items:center;justify-content:center}
.float-card .ic svg{width:22px;height:22px;stroke:var(--amber-2)}
.float-card b{display:block;font-size:15px;line-height:1.35}
.float-card span{font-size:13px;color:var(--mut);line-height:1.45;display:block}
.float-tag{position:absolute;top:26px;right:-14px;z-index:3;background:var(--amber);color:var(--g950);font-weight:600;font-size:13.5px;padding:10px 18px;border-radius:999px;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:8px}
.float-tag svg{width:15px;height:15px;stroke:var(--g950)}

/* ---------- marquee tape ---------- */
.tape-wrap{overflow:hidden;padding:34px 0 10px;position:relative}
.tape{background:var(--amber);color:var(--g950);transform:rotate(-1.3deg);width:104vw;margin-left:-2vw;overflow:hidden;box-shadow:0 16px 34px -16px rgba(201,138,0,.55)}
.tape-track{display:flex;gap:0;width:max-content;animation:tape 34s linear infinite}
.tape-track:hover{animation-play-state:paused}
.tape-item{display:flex;align-items:center;gap:26px;padding:15px 13px 15px 26px;font-family:var(--font-d);font-style:italic;font-weight:500;font-size:20px;white-space:nowrap}
.tape-item svg{width:16px;height:16px;stroke:var(--g950);opacity:.75}
@keyframes tape{to{transform:translateX(-50%)}}

/* ---------- about / split sections ---------- */
.about{padding:104px 0 96px}
.about-grid{display:grid;grid-template-columns:.96fr 1.04fr;gap:74px;align-items:center}
.about-visual{position:relative;padding-bottom:70px}
.about-arch{width:min(430px,86%);aspect-ratio:4/4.7;position:relative}
.about-arch::before{content:"";position:absolute;z-index:-1;left:-38px;top:-30px;width:170px;height:170px;border-radius:52% 48% 44% 56%/58% 44% 56% 42%;background:var(--mint);outline:1.5px dashed rgba(47,144,114,.4);outline-offset:10px}
.about-small{position:absolute;right:0;bottom:0;width:min(240px,54%);aspect-ratio:1/1.12;border-radius:20px;overflow:hidden;border:8px solid var(--cream);box-shadow:var(--shadow-md)}
.about-small img{width:100%;height:100%;object-fit:cover}
.about-badge{position:absolute;left:-20px;bottom:24px;width:112px;height:112px;border-radius:50%;background:var(--g900);color:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2px;box-shadow:var(--shadow-md);transform:rotate(-6deg)}
.about-badge b{font-family:var(--font-d);font-size:30px;color:var(--amber-2);line-height:1}
.about-badge span{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(250,246,235,.75)}
.about-copy .h2{margin-bottom:20px}
.about-copy p{color:var(--mut);margin-bottom:16px}
.about-copy p b{color:var(--ink);font-weight:600}
.tabs{display:flex;gap:8px;margin:30px 0 20px;flex-wrap:wrap}
.tab{font-family:var(--font-b);font-weight:600;font-size:14.5px;color:var(--g800);background:var(--mint);border:1.5px solid transparent;border-radius:999px;padding:11px 22px;cursor:pointer;transition:all .25s ease}
.tab:hover{border-color:var(--g700)}
.tab.active{background:var(--g900);color:var(--cream)}
.tab-panel{display:none;border-left:3px solid var(--amber);padding:6px 0 6px 22px;color:var(--mut)}
.tab-panel.active{display:block;animation:fadeUp .45s ease}
.tab-panel b{color:var(--ink)}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- values (about page) ---------- */
.values{background:var(--sand);padding:90px 0}
.val-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:50px}
.val-card{background:var(--cream);border:1px solid var(--line);border-radius:var(--r-md);padding:30px 26px;transition:transform .3s ease,box-shadow .3s ease}
.val-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.val-card .ic{width:52px;height:52px;border-radius:50%;background:var(--mint);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.val-card .ic svg{width:24px;height:24px;stroke:var(--g800)}
.val-card h3{font-size:19px;margin-bottom:8px}
.val-card p{font-size:14.5px;color:var(--mut)}

/* ---------- programmes ---------- */
.programs{background:var(--sand);padding:100px 0 110px;position:relative;overflow:hidden}
.programs-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:54px;flex-wrap:wrap}
.programs-head .lead{max-width:44ch}
.prog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.prog-card{position:relative;background:var(--cream);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);transition:transform .35s ease,box-shadow .35s ease;display:flex;flex-direction:column}
.prog-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}
.prog-media{position:relative;aspect-ratio:16/10.5;overflow:hidden}
.prog-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.prog-card:hover .prog-media img{transform:scale(1.06)}
.prog-num{position:absolute;top:6px;right:16px;font-family:var(--font-d);font-weight:700;font-size:58px;color:rgba(250,246,235,.9);text-shadow:0 2px 18px rgba(13,64,49,.45);line-height:1}
.prog-icon{position:absolute;left:22px;bottom:-26px;width:54px;height:54px;border-radius:50%;background:var(--g900);display:flex;align-items:center;justify-content:center;border:3px solid var(--cream);box-shadow:var(--shadow-md)}
.prog-icon svg{width:24px;height:24px;stroke:var(--amber-2)}
.prog-body{padding:40px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.prog-body h3{font-size:21.5px;line-height:1.25}
.prog-body p{font-size:15px;color:var(--mut);flex:1}
.prog-card .link-more{font-size:14.5px;margin-top:6px}
.prog-foot{grid-column:1/-1;display:flex;justify-content:center;margin-top:26px}
/* detailed programme rows (programmes page) */
.area{scroll-margin-top:96px;display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;padding:74px 0;border-bottom:1px solid var(--line)}
.area:last-child{border-bottom:none}
.area.rev .area-media{order:2}
.area-media{position:relative}
.area-media .arch{width:min(480px,100%);aspect-ratio:4/3.4;border-radius:24px;position:relative}
.area-media .arch::before{content:"";position:absolute;z-index:-1;inset:auto -30px -30px auto;width:150px;height:150px;border-radius:56% 44% 52% 48%/48% 56% 44% 52%;background:var(--mint);outline:1.5px dashed rgba(47,144,114,.4);outline-offset:9px}
.area-media .arch img{border-radius:24px}
.area-num{font-family:var(--font-d);font-style:italic;font-weight:500;font-size:15px;color:var(--amber-deep);letter-spacing:.1em;text-transform:uppercase}
.area-copy h3{font-size:clamp(1.6rem,2.4vw,2.15rem);margin:10px 0 16px}
.area-copy p{color:var(--mut);margin-bottom:14px}
.area-points{margin:18px 0 6px;display:grid;grid-template-columns:1fr 1fr;gap:9px 22px}
.area-points li{display:flex;gap:9px;align-items:flex-start;font-size:14.5px;color:var(--ink)}
.area-points svg{width:16px;height:16px;stroke:var(--g700);flex:none;margin-top:4px}
.area-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.area-tags span{font-size:12.5px;font-weight:600;background:var(--mint);color:var(--g800);border-radius:999px;padding:7px 14px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.chips a{font-size:14px;font-weight:600;background:var(--cream);border:1.5px solid var(--line);border-radius:999px;padding:10px 20px;transition:all .25s}
.chips a:hover{background:var(--g900);color:var(--cream);border-color:var(--g900)}

/* ---------- why us ---------- */
.why{background:var(--g900);color:var(--cream);padding:110px 0;position:relative;overflow:hidden}
.why::before{content:"";position:absolute;top:-180px;right:-140px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(242,167,12,.13),transparent 62%)}
.why-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.why-list{margin-top:36px;display:flex;flex-direction:column}
.why-item{display:grid;grid-template-columns:58px 1fr;gap:18px;align-items:baseline;padding:19px 0;border-bottom:1px solid var(--cream-line)}
.why-item:first-child{border-top:1px solid var(--cream-line)}
.why-item .n{font-family:var(--font-d);font-style:italic;font-weight:500;font-size:26px;color:var(--amber-2)}
.why-item b{display:block;font-size:17.5px;font-weight:600;margin-bottom:3px}
.why-item span{font-size:14.5px;color:rgba(250,246,235,.66);line-height:1.55}
.why-visual{position:relative;padding:0 0 64px}
.why-arch{width:min(430px,100%);aspect-ratio:4/4.4;margin-left:auto;position:relative}
.why-arch::before{content:"";position:absolute;z-index:-1;right:-34px;top:-34px;width:150px;height:150px;border-radius:50%;background:var(--amber);opacity:.92}
.quote-card{position:absolute;left:0;bottom:0;max-width:340px;background:var(--cream);color:var(--ink);border-radius:var(--r-md);padding:24px 26px;box-shadow:var(--shadow-lg)}
.quote-card .qm{font-family:var(--font-d);font-size:52px;line-height:.6;color:var(--amber);display:block;margin-bottom:12px}
.quote-card p{font-family:var(--font-d);font-style:italic;font-size:17.5px;line-height:1.5;margin-bottom:10px}
.quote-card span{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}

/* ---------- facts ribbon ---------- */
.facts{padding:84px 0}
.facts-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.fact-cell{text-align:center;padding:10px 34px;position:relative}
.fact-cell + .fact-cell::before{content:"";position:absolute;left:0;top:12%;height:76%;width:1px;background:var(--line)}
.fact-cell .big{font-family:var(--font-d);font-weight:600;font-size:clamp(2.1rem,3.4vw,2.9rem);color:var(--g900);line-height:1.15}
.fact-cell .big em{font-style:italic;color:var(--amber-deep)}
.fact-cell p{color:var(--mut);font-size:15px;margin-top:8px;max-width:30ch;margin-inline:auto}

/* ---------- team ---------- */
.team{padding:40px 0 110px}
.team-head{text-align:center;max-width:640px;margin:0 auto 56px}
.team-head .eyebrow{justify-content:center}
.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:22px}
.member{position:relative;text-align:center}
.member-photo{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/4.7;transition:transform .4s ease}
.member-photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 55%,rgba(13,64,49,.5));opacity:0;transition:opacity .4s ease}
.member:hover .member-photo{transform:translateY(-8px)}
.member:hover .member-photo::before{opacity:1}
.member-photo img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.member-ring{position:absolute;inset:0;border-radius:20px;z-index:-1;background:var(--mint);transform:rotate(-4deg);transition:transform .4s ease,background .3s}
.member:nth-child(even) .member-ring{transform:rotate(4deg)}
.member:hover .member-ring{transform:rotate(0deg);background:var(--amber)}
.member b{display:block;font-size:16.5px;font-weight:600;margin-top:16px}
.member span{font-size:13.5px;color:var(--mut)}

/* ---------- CTA band ---------- */
.cta{padding:0 0 110px}
.cta-band{position:relative;overflow:hidden;background:linear-gradient(118deg,var(--amber) 0%,var(--amber-2) 58%,#F6D57E 100%);color:var(--g950);border-radius:38px;padding:74px 60px;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.cta-band::before{content:"";position:absolute;right:-70px;top:-90px;width:300px;height:300px;border-radius:50%;border:44px solid rgba(250,246,235,.28)}
.cta-band::after{content:"";position:absolute;left:-40px;bottom:-110px;width:260px;height:260px;border-radius:50%;border:36px solid rgba(13,64,49,.1)}
.cta-band h2{position:relative;font-size:clamp(2rem,3.8vw,3.1rem);max-width:15ch}
.cta-band h2 em{font-style:italic;font-weight:500;color:var(--g900)}
.cta-band p{position:relative;max-width:44ch;font-size:16.5px;color:rgba(10,53,42,.8);margin-top:12px}
.cta-actions{position:relative;display:flex;gap:14px;flex-wrap:wrap}

/* ---------- contact page ---------- */
.contact-wrap{padding:90px 0 100px}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}
.c-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:40px}
.c-card{display:flex;gap:16px;background:var(--cream);border:1px solid var(--line);border-radius:var(--r-md);padding:22px 24px;transition:transform .3s,box-shadow .3s}
.c-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.c-card .ic{width:48px;height:48px;flex:none;border-radius:50%;background:var(--g900);display:flex;align-items:center;justify-content:center}
.c-card .ic svg{width:21px;height:21px;stroke:var(--amber-2)}
.c-card b{display:block;font-size:16px;margin-bottom:2px}
.c-card span{font-size:14.5px;color:var(--mut)}
.c-card a:hover{color:var(--g800)}
.form-card{background:var(--cream);border:1px solid var(--line);border-radius:var(--r-lg);padding:40px;box-shadow:var(--shadow-md)}
.form-card h3{font-size:24px;margin-bottom:6px}
.form-card>p{font-size:14.5px;color:var(--mut);margin-bottom:26px}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.f-group{margin-bottom:18px}
.f-group label{display:block;font-size:13.5px;font-weight:600;letter-spacing:.04em;margin-bottom:7px;color:var(--g900)}
.f-group input,.f-group select,.f-group textarea{width:100%;font-family:var(--font-b);font-size:15.5px;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:14px 16px;transition:border-color .25s,box-shadow .25s}
.f-group textarea{min-height:140px;resize:vertical}
.f-group input:focus,.f-group select:focus,.f-group textarea:focus{outline:none;border-color:var(--g700);box-shadow:0 0 0 4px rgba(47,144,114,.14)}
.form-note{font-size:13px;color:var(--mut);margin-top:14px}
.map-note{margin-top:60px;background:var(--mint);border-radius:var(--r-md);padding:26px 30px;display:flex;gap:16px;align-items:center}
.map-note svg{width:26px;height:26px;stroke:var(--g800);flex:none}
.map-note p{font-size:15px;color:var(--g900)}

/* ---------- donate page ---------- */
.donate-wrap{padding:90px 0 100px}
.d-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px}
.d-card{background:var(--cream);border:1px solid var(--line);border-radius:var(--r-lg);padding:36px 30px;position:relative;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}
.d-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.d-card .ic{width:56px;height:56px;border-radius:50%;background:var(--g900);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.d-card .ic svg{width:26px;height:26px;stroke:var(--amber-2)}
.d-card h3{font-size:21px;margin-bottom:10px}
.d-card p{font-size:14.5px;color:var(--mut);flex:1}
.d-card .detail{margin:18px 0;padding:16px 18px;background:var(--mint);border-radius:14px;font-size:14.5px}
.d-card .detail b{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--g800);margin-bottom:5px}
.d-card .detail code{font-family:var(--font-b);font-weight:600;color:var(--ink);word-break:break-all}
.d-tag{position:absolute;top:22px;right:22px;background:var(--amber);color:var(--g950);font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:7px 13px;border-radius:999px}
.gateway{margin-top:70px;background:var(--sand);border:2px dashed rgba(47,144,114,.45);border-radius:var(--r-lg);padding:44px 40px;text-align:center}
.gateway .ic{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:var(--g900);display:flex;align-items:center;justify-content:center}
.gateway .ic svg{width:30px;height:30px;stroke:var(--amber-2)}
.gateway h3{font-size:23px;margin-bottom:8px}
.gateway p{font-size:15px;color:var(--mut);max-width:52ch;margin:0 auto}
.impact{background:var(--g900);color:var(--cream);padding:90px 0}
.impact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:46px}
.impact-card{background:rgba(250,246,235,.06);border:1px solid var(--cream-line);border-radius:var(--r-md);padding:30px 28px}
.impact-card b{font-family:var(--font-d);font-size:30px;color:var(--amber-2);display:block;margin-bottom:8px}
.impact-card span{font-size:14.5px;color:rgba(250,246,235,.75)}

/* ---------- footer ---------- */
.footer{background:var(--g950);color:rgba(250,246,235,.8)}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:44px;padding:74px 0 54px}
.f-brand .brand{margin-bottom:20px}
.f-brand .brand .lockup b{color:var(--cream)}
.f-brand p{font-size:14.5px;line-height:1.7;color:rgba(250,246,235,.62);max-width:34ch}
.f-col h4{font-family:var(--font-d);font-weight:600;font-size:18px;color:var(--cream);margin-bottom:20px;position:relative;padding-bottom:12px}
.f-col h4::after{content:"";position:absolute;left:0;bottom:0;width:34px;height:2.5px;border-radius:2px;background:var(--amber)}
.f-col ul{display:flex;flex-direction:column;gap:11px}
.f-col ul a{font-size:14.5px;transition:color .2s,padding-left .25s;display:inline-flex;align-items:center;gap:8px}
.f-col ul a::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--amber);opacity:0;transition:opacity .2s}
.f-col ul a:hover{color:var(--amber-2);padding-left:4px}
.f-col ul a:hover::before{opacity:1}
.f-contact li{display:flex;gap:12px;align-items:flex-start;font-size:14.5px}
.f-contact svg{width:16px;height:16px;stroke:var(--amber);flex:none;margin-top:4px}
.footer .socials{margin-top:22px}
.footer .socials a{border-color:rgba(250,246,235,.22)}
.footer-bottom{border-top:1px solid var(--cream-line);padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:13.5px;color:rgba(250,246,235,.55)}
.footer-bottom em{font-style:italic;font-family:var(--font-d);color:var(--amber-2)}

/* ---------- misc ---------- */
.to-top{position:fixed;right:26px;bottom:26px;z-index:70;width:50px;height:50px;border-radius:50%;background:var(--g900);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transform:translateY(14px);transition:all .35s ease}
.to-top.show{opacity:1;pointer-events:auto;transform:none}
.to-top:hover{background:var(--amber)}
.to-top:hover svg{stroke:var(--g950)}
.to-top svg{width:19px;height:19px;stroke:var(--cream)}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}.d5{transition-delay:.4s}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:6px}

/* ---------- responsive ---------- */
@media(max-width:1060px){
  .prog-grid{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:repeat(3,1fr);gap:26px 20px}
  .footer-top{grid-template-columns:1fr 1fr}
  .val-grid{grid-template-columns:repeat(2,1fr)}
  .d-grid{grid-template-columns:1fr}
  .area{grid-template-columns:1fr;gap:40px;padding:56px 0}
  .area.rev .area-media{order:0}
  .contact-grid{grid-template-columns:1fr;gap:44px}
  .impact-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .nav,.header .btn-amber{display:none}
  .burger{display:flex}
  .hero-in{grid-template-columns:1fr;padding:64px 0 130px;gap:64px}
  .hero-arch{margin:0 auto}
  .hero-copy{text-align:center}
  .hero .eyebrow{justify-content:center}
  .hero-cta,.hero-facts{justify-content:center}
  .float-card{left:-8px;bottom:30px}
  .hero-badge{left:-14px;width:100px;height:100px;top:36%}
  .about-grid,.why-grid{grid-template-columns:1fr;gap:60px}
  .about-visual{margin-inline:auto;max-width:460px}
  .why-visual{max-width:460px;margin-inline:auto;width:100%}
  .facts-grid{grid-template-columns:1fr;gap:34px}
  .fact-cell + .fact-cell::before{display:none}
}
@media(max-width:620px){
  .prog-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .cta-band{padding:56px 30px;border-radius:28px}
  .topbar .left a span{display:none}
  .footer-top{grid-template-columns:1fr;gap:36px}
  .quote-card{position:static;margin-top:20px;max-width:none}
  .why-visual{padding-bottom:0}
  .why-arch::before{width:110px;height:110px;right:-14px;top:-20px}
  .f-row{grid-template-columns:1fr}
  .c-cards-grid{grid-template-columns:1fr}
  .form-card{padding:28px 22px}
  .area-points{grid-template-columns:1fr}
  .val-grid{grid-template-columns:1fr}
}
@media(max-width:420px){
  .team-grid{grid-template-columns:1fr;max-width:300px;margin-inline:auto}
  .float-tag{display:none}
  .brand .lockup span{display:none}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .tape-track{animation:none}
  .reveal{opacity:1;transform:none}
}

/* ---------- client updates (Sept 2026) ---------- */
.chips span{font-size:14px;font-weight:600;background:var(--cream);border:1.5px solid var(--line);border-radius:999px;padding:10px 20px}
.wa-float{position:fixed;right:22px;bottom:22px;z-index:60;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(0,0,0,.25);transition:transform .25s}
.wa-float:hover{transform:translateY(-4px) scale(1.06)}
.wa-float svg{width:28px;height:28px;fill:#fff}
.map-box{border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-md)}
.map-box iframe{display:block;width:100%;height:320px;border:0}
.flagship{margin-top:26px;background:var(--mint);border:1.5px dashed var(--g700);border-radius:var(--r-md);padding:22px 24px}
.flagship-tag{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cream);background:var(--g800);border-radius:999px;padding:6px 14px;margin-bottom:10px}
.flagship h4{font-family:var(--font-d);font-size:20px;margin-bottom:6px;color:var(--g900)}
.flagship p{font-size:14.5px;color:var(--ink)}
.dsg-quote{margin-top:34px;background:var(--g900);color:var(--cream);border-radius:var(--r-md);padding:30px 34px;box-shadow:var(--shadow-lg)}
.dsg-quote .qm{font-family:var(--font-d);font-size:52px;line-height:.6;color:var(--amber);display:block;margin-bottom:12px}
.dsg-quote p{font-family:var(--font-d);font-style:italic;font-size:20px;line-height:1.5}
.dsg-quote span{display:block;margin-top:12px;font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.dsg-two{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:10px}
.dsg-invite{margin-top:46px;background:var(--cream);border:1px solid var(--line);border-radius:var(--r-lg);padding:34px 36px;box-shadow:var(--shadow-md)}
.dsg-invite h3{font-family:var(--font-d);font-size:24px;margin-bottom:8px}
.dsg-invite p{color:var(--mut);font-size:15px;margin-bottom:20px}
.dsg-invite-row{display:flex;gap:14px;flex-wrap:wrap}
@media(max-width:900px){.dsg-two{grid-template-columns:1fr}}
