:root {
    --green-950: #033d30;
    --green-900: #054b39;
    --green-800: #075b43;
    --green-700: #0d7657;
    --green-600: #138b67;
    --mint-100: #eaf6ef;
    --mint-200: #d9ede1;
    --mint-300: #c7e2d0;
    --sage: #8bc4a8;
    --gold: #e8b65a;
    --ink: #14251f;
    --muted: #5f7069;
    --line: #dce8e1;
    --paper: #ffffff;
    --warm: #fbfaf6;
    --danger: #9b3e32;
    --radius-sm: 10px;
    --radius: 18px;
    --radius-lg: 30px;
    --shadow-sm: 0 8px 28px rgba(3, 61, 48, .08);
    --shadow: 0 20px 60px rgba(3, 61, 48, .13);
    --container: 1380px;
    --header-height: 92px;
    --serif: "DM Serif Display", Georgia, serif;
    --sans: "Manrope", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background: var(--paper);
    font-family: var(--sans);
    font-size: 16px;
    line-height: 1.72;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
body.nav-open { overflow: hidden; }
img, video { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
::selection { background: var(--mint-300); color: var(--green-950); }

.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.narrow { max-width: 900px; margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 20px; top: -100px; z-index: 9999; padding: 12px 18px; background: var(--green-950); color: #fff; border-radius: 8px; transition: top .2s; }
.skip-link:focus { top: 20px; }

h1, h2, h3, h4 { margin: 0 0 .6em; line-height: 1.12; color: var(--green-950); }
h1, h2 { font-family: var(--serif); font-weight: 400; letter-spacing: -.025em; }
h1 { font-size: clamp(3rem, 6vw, 6.7rem); }
h2 { font-size: clamp(2.25rem, 4vw, 4.6rem); }
h3 { font-size: 1.23rem; line-height: 1.34; }
p { margin: 0 0 1.25em; color: var(--muted); }
ul, ol { margin-top: 0; }

.eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 15px; color: var(--green-700); font-size: .78rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 30px; height: 2px; background: currentColor; }
.eyebrow--light { color: #dff5e9; }
.section { padding: clamp(74px, 8vw, 132px) 0; position: relative; }
.section--soft { background: var(--mint-100); }
.section--dark { background: var(--green-950); color: #fff; }
.section-heading { max-width: 720px; margin-bottom: 42px; }
.section-heading h2 { margin-bottom: 18px; }
.section-heading p { font-size: 1.08rem; max-width: 680px; }
.section-heading--center { margin-inline: auto; text-align: center; }
.section-heading--center .eyebrow { justify-content: center; }
.section-heading--center p { margin-inline: auto; }
.section-action { display: flex; justify-content: center; margin-top: 42px; }

.btn { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 1px solid transparent; padding: 13px 24px; border-radius: 999px; font-size: .86rem; font-weight: 800; letter-spacing: .025em; transition: transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease, color .25s ease; }
.btn:hover { transform: translateY(-2px); }
.btn--primary { color: #fff; background: var(--green-700); box-shadow: 0 12px 25px rgba(13,118,87,.20); }
.btn--primary:hover { background: var(--green-900); box-shadow: 0 16px 35px rgba(3,61,48,.26); }
.btn--outline { color: var(--green-800); border-color: var(--green-700); background: transparent; }
.btn--outline:hover { color: #fff; background: var(--green-800); }
.btn--light { color: var(--green-950); background: #fff; }
.btn--light:hover { background: var(--mint-100); }
.btn--outline-light { color: #fff; border-color: rgba(255,255,255,.65); background: rgba(255,255,255,.06); backdrop-filter: blur(10px); }
.btn--outline-light:hover { color: var(--green-950); background: #fff; border-color: #fff; }
.btn--small { min-height: 42px; padding: 10px 18px; }
.btn__icon { width: 17px; height: 17px; }
.button-row { display: flex; flex-wrap: wrap; gap: 13px; align-items: center; }
.text-link { display: inline-flex; align-items: center; gap: 9px; color: var(--green-700); font-weight: 800; }
.text-link:hover { color: var(--green-950); }
.text-link__icon { width: 18px; height: 18px; transition: transform .2s; }
.text-link:hover .text-link__icon { transform: translateX(4px); }

.topbar { background: var(--green-950); color: #dceee7; font-size: .75rem; }
.topbar__inner { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.topbar p { margin: 0; color: inherit; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.topbar__links { display: flex; gap: 24px; }
.topbar a { transition: color .2s; }
.topbar a:hover { color: #fff; }

.site-header { position: sticky; z-index: 1000; top: 0; height: var(--header-height); background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(7,91,67,.1); backdrop-filter: blur(16px); transition: box-shadow .25s, height .25s; }
.site-header.is-scrolled { box-shadow: 0 12px 40px rgba(3,61,48,.09); }
.site-header__inner { height: 100%; display: flex; align-items: center; gap: 26px; }
.brand { width: 178px; height: 78px; display: flex; align-items: center; overflow: hidden; flex: 0 0 auto; }
.brand img { width: 100%; height: 100%; object-fit: contain; }
.primary-nav { margin-left: auto; }
.primary-nav > ul { display: flex; align-items: center; gap: 3px; margin: 0; padding: 0; list-style: none; }
.primary-nav li { position: relative; }
.primary-nav > ul > li > a, .nav-dropdown-toggle { height: 48px; display: inline-flex; align-items: center; gap: 5px; padding: 0 13px; border: 0; background: transparent; color: #294139; font-size: .82rem; font-weight: 750; border-radius: 999px; white-space: nowrap; }
.primary-nav > ul > li > a:hover, .nav-dropdown-toggle:hover, .primary-nav .is-active { color: var(--green-800); background: var(--mint-100); }
.nav-chevron { width: 13px; height: 13px; transform: rotate(90deg); transition: transform .2s; }
.has-dropdown:hover .nav-chevron, .has-dropdown.is-open .nav-chevron { transform: rotate(-90deg); }
.nav-dropdown { position: absolute; z-index: 30; left: 0; top: calc(100% + 12px); width: 325px; padding: 12px; opacity: 0; visibility: hidden; transform: translateY(10px); background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); transition: opacity .2s, visibility .2s, transform .2s; }
.has-dropdown:hover > .nav-dropdown, .has-dropdown:focus-within > .nav-dropdown, .has-dropdown.is-open > .nav-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.nav-dropdown a { display: block; padding: 13px 15px; border-radius: 11px; }
.nav-dropdown a:hover { background: var(--mint-100); }
.nav-dropdown strong { display: block; color: var(--green-950); font-size: .86rem; }
.nav-dropdown span { display: block; margin-top: 3px; color: var(--muted); font-size: .72rem; }
.nav-dropdown--mega { left: 50%; width: 650px; display: grid; grid-template-columns: 1fr 1fr; transform: translate(-50%, 10px); }
.has-dropdown:hover > .nav-dropdown--mega, .has-dropdown:focus-within > .nav-dropdown--mega, .has-dropdown.is-open > .nav-dropdown--mega { transform: translate(-50%, 0); }
.header-donate { flex: 0 0 auto; min-height: 46px; padding: 10px 21px; }
.nav-toggle { display: none; width: 45px; height: 45px; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--green-900); }
.nav-toggle svg { width: 22px; height: 22px; }
.nav-toggle__close { display: none; }
.nav-open .nav-toggle__open { display: none; }
.nav-open .nav-toggle__close { display: block; }

.hero-slider { position: relative; min-height: min(790px, calc(100vh - 130px)); background: var(--green-950); overflow: hidden; }
.hero-slider__track { min-height: inherit; position: relative; }
.hero-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transform: scale(1.02); transition: opacity .8s ease, visibility .8s ease, transform 1.2s ease; }
.hero-slide.is-active { opacity: 1; visibility: visible; transform: scale(1); }
.hero-slide > img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.hero-slide__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2,40,30,.93) 0%, rgba(2,48,35,.70) 47%, rgba(2,48,35,.23) 78%, rgba(2,48,35,.18) 100%), linear-gradient(0deg, rgba(3,61,48,.35), transparent 45%); }
.hero-slide__content { min-height: inherit; position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding-top: 68px; padding-bottom: 112px; }
.hero-slide h1, .hero-slide h2 { max-width: 860px; margin-bottom: 26px; color: #fff; font-size: clamp(3.4rem, 6.5vw, 7.4rem); }
.hero-slide p { max-width: 720px; margin-bottom: 34px; color: rgba(255,255,255,.86); font-size: clamp(1.05rem, 1.5vw, 1.28rem); }
.hero-slider__controls { position: absolute; z-index: 5; left: 50%; bottom: 38px; transform: translateX(-50%); display: flex; align-items: center; gap: 18px; }
.hero-slider__controls button { width: 45px; height: 45px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; color: #fff; background: rgba(255,255,255,.08); backdrop-filter: blur(10px); transition: background .2s; }
.hero-slider__controls button:hover { background: #fff; color: var(--green-950); }
.hero-slider__controls button:first-child svg { transform: rotate(180deg); }
.hero-slider__controls svg { width: 19px; height: 19px; }
.hero-slider__dots { display: flex; align-items: center; gap: 7px; }
.hero-slider__dots button { width: 9px; height: 9px; padding: 0; border: 0; background: rgba(255,255,255,.45); }
.hero-slider__dots button.is-active { width: 27px; border-radius: 99px; background: #fff; }
.trust-strip { background: var(--green-800); color: #fff; }
.trust-strip__inner { min-height: 76px; display: flex; align-items: center; gap: 16px; }
.trust-strip svg { width: 25px; height: 25px; flex: 0 0 auto; }
.trust-strip p { margin: 0; color: rgba(255,255,255,.89); font-size: .91rem; }
.trust-strip a { margin-left: auto; display: inline-flex; align-items: center; gap: 7px; font-size: .8rem; font-weight: 800; white-space: nowrap; }

.inner-hero { min-height: 570px; position: relative; display: flex; align-items: flex-end; overflow: hidden; background: var(--green-950); }
.inner-hero__media, .inner-hero__overlay { position: absolute; inset: 0; }
.inner-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.inner-hero__overlay { background: linear-gradient(90deg, rgba(3,61,48,.94) 0%, rgba(3,61,48,.76) 52%, rgba(3,61,48,.32) 100%), linear-gradient(0deg, rgba(0,0,0,.25), transparent 55%); }
.inner-hero__content { position: relative; z-index: 1; padding-top: 110px; padding-bottom: 90px; }
.inner-hero h1 { max-width: 980px; margin-bottom: 20px; color: #fff; font-size: clamp(3.2rem, 5.5vw, 6.3rem); }
.inner-hero p { max-width: 800px; margin-bottom: 30px; color: rgba(255,255,255,.86); font-size: 1.12rem; }

.intro-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(340px, .7fr); gap: clamp(40px, 7vw, 110px); align-items: center; }
.mission-card { position: relative; padding: 44px; background: var(--green-950); color: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow); overflow: hidden; }
.mission-card::after { content: ""; position: absolute; width: 230px; height: 230px; right: -90px; bottom: -110px; background: var(--green-700); border-radius: 50%; opacity: .5; }
.mission-card__mark { width: 55px; height: 55px; display: grid; place-items: center; margin-bottom: 44px; border-radius: 50%; color: var(--green-950); background: var(--mint-300); }
.mission-card__mark svg { width: 25px; }
.mission-card p { position: relative; z-index: 1; margin: 0; color: #fff; font-family: var(--serif); font-size: clamp(1.55rem, 2.4vw, 2.35rem); line-height: 1.3; }

.program-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.program-card { min-height: 300px; display: flex; flex-direction: column; justify-content: space-between; gap: 42px; padding: 34px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); transition: transform .28s, box-shadow .28s, border-color .28s; }
.program-card:hover { transform: translateY(-8px); border-color: var(--sage); box-shadow: var(--shadow); }
.program-card__icon { width: 58px; height: 58px; display: grid; place-items: center; color: #fff; background: var(--green-700); border-radius: 50%; }
.program-card__icon svg { width: 26px; height: 26px; }
.program-card h3 { font-size: 1.3rem; }
.program-card p { font-size: .91rem; }

.vision-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.vision-card { min-height: 490px; border-radius: var(--radius-lg); overflow: hidden; }
.vision-card--dark { display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(38px, 6vw, 72px); background: var(--green-950); }
.vision-card--dark h2, .vision-card--dark p { color: #fff; }
.vision-card--dark p { color: rgba(255,255,255,.76); font-size: 1.05rem; }
.vision-card--image { position: relative; }
.vision-card--image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(3,61,48,.8), transparent 60%); }
.vision-card--image img { width: 100%; height: 100%; object-fit: cover; }
.vision-card--image > div { position: absolute; z-index: 1; left: 48px; right: 48px; bottom: 42px; }
.vision-card--image h3 { color: #fff; font-family: var(--serif); font-size: 2.7rem; font-weight: 400; }

.media-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 7vw, 100px); align-items: center; }
.numbered-process { list-style: none; padding: 0; margin: 0; }
.numbered-process li { display: grid; grid-template-columns: 56px 1fr; gap: 18px; padding: 18px 0; border-top: 1px solid var(--line); }
.numbered-process li:last-child { border-bottom: 1px solid var(--line); }
.numbered-process li > span { color: var(--green-700); font-weight: 800; }
.numbered-process strong { display: block; margin-bottom: 3px; color: var(--green-950); }
.numbered-process p { margin: 0; font-size: .9rem; }
.video-card { overflow: hidden; background: var(--green-950); border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.video-card video { width: 100%; aspect-ratio: 16/10; object-fit: cover; background: #031c15; }
.video-card__caption { display: flex; align-items: center; gap: 15px; padding: 20px 24px; }
.video-card__caption > span { width: 43px; height: 43px; display: grid; place-items: center; flex: 0 0 auto; color: var(--green-950); background: var(--mint-300); border-radius: 50%; }
.video-card__caption svg { width: 22px; }
.video-card__caption p { margin: 0; color: rgba(255,255,255,.72); font-size: .8rem; }
.video-card__caption strong { color: #fff; }

.support-banner { min-height: 315px; display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: clamp(38px, 6vw, 70px); background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.support-banner > div:first-child { max-width: 750px; }
.support-banner h2 { font-size: clamp(2.2rem, 4vw, 4rem); }
.latest-grid { display: grid; grid-template-columns: .8fr 1fr 1fr; gap: 25px; align-items: start; }
.editorial-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: transform .25s, box-shadow .25s; }
.editorial-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-sm); }
.editorial-card img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.editorial-card > div { padding: 25px; }
.editorial-card span { color: var(--green-700); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.editorial-card h3 { margin-top: 10px; }
.editorial-card p { margin-bottom: 0; font-size: .86rem; }

.split-layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(42px, 7vw, 110px); align-items: center; }
.split-layout--reverse .split-layout__media { order: 2; }
.split-layout__media { min-height: 520px; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-sm); }
.split-layout__media img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; }
.split-layout__content .button-row { margin-top: 30px; }
.check-list { list-style: none; padding: 0; margin: 0; }
.check-list li { display: flex; gap: 13px; align-items: flex-start; padding: 9px 0; color: #334a41; }
.check-list svg { width: 20px; height: 20px; flex: 0 0 auto; margin-top: 3px; color: var(--green-700); }
.split-copy { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(42px, 7vw, 105px); align-items: start; }
.split-copy > div > p { font-size: 1.03rem; }
.quote-card { padding: clamp(36px, 5vw, 62px); color: #fff; background: var(--green-950); border-radius: var(--radius-lg); }
.quote-card > svg { width: 38px; height: 38px; color: var(--mint-300); }
.quote-card blockquote { margin: 32px 0; font-family: var(--serif); font-size: clamp(1.7rem, 3vw, 3rem); line-height: 1.3; }
.quote-card span { color: var(--mint-300); font-size: .75rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }

.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.feature-card { padding: 34px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); }
.feature-card__icon { width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 25px; color: var(--green-700); background: var(--mint-100); border-radius: 50%; }
.feature-card__icon svg { width: 24px; height: 24px; }
.feature-card p { margin: 0; font-size: .9rem; }
.legal-grid { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); }
.legal-grid > div { min-height: 125px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.legal-grid > div:nth-child(3n) { border-right: 0; }
.legal-grid > div:nth-last-child(-n+3) { border-bottom: 0; }
.legal-grid span { display: block; margin-bottom: 9px; color: var(--green-700); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.legal-grid strong { color: var(--green-950); line-height: 1.45; }

.story-layout { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(45px, 8vw, 120px); align-items: center; }
.prose h2 { margin-bottom: 25px; }
.prose p { font-size: 1.05rem; }
.story-image { min-height: 560px; border-radius: var(--radius-lg); overflow: hidden; }
.story-image img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; }
.vision-mission { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
.vision-mission article { min-height: 390px; padding: clamp(40px, 6vw, 80px); }
.vision-mission article:first-child { border-right: 1px solid rgba(255,255,255,.16); }
.vision-mission h2, .vision-mission p { color: #fff; }
.vision-mission p { color: rgba(255,255,255,.72); }

.governance-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.governance-grid article { min-height: 260px; padding: 35px; background: var(--warm); border: 1px solid #eeeae0; border-radius: var(--radius); }
.governance-grid article > span { display: block; margin-bottom: 36px; color: var(--green-700); font-family: var(--serif); font-size: 2.1rem; }
.governance-grid p { margin: 0; font-size: .9rem; }
.leadership-section { overflow: hidden; }
.team-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.team-card { position: relative; min-width: 0; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 14px 36px rgba(1, 63, 49, .08); transition: transform .25s ease, box-shadow .25s ease; }
.team-card:hover { transform: translateY(-6px); box-shadow: 0 22px 48px rgba(1, 63, 49, .14); }
.team-card__photo { position: relative; aspect-ratio: 4 / 4.65; overflow: hidden; background: var(--mint-100); }
.team-card__photo::after { content: ""; position: absolute; inset: auto 0 0; height: 42%; background: linear-gradient(180deg, transparent, rgba(0, 56, 44, .72)); pointer-events: none; }
.team-card__photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center top; transition: transform .4s ease; }
.team-card:hover .team-card__photo img { transform: scale(1.035); }
.team-card__photo-note { position: absolute; z-index: 1; left: 16px; bottom: 14px; padding: 7px 10px; color: #fff; background: rgba(0, 60, 47, .78); border: 1px solid rgba(255,255,255,.28); border-radius: 10px; backdrop-filter: blur(7px); font-size: .62rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.team-card__content { padding: 23px 21px 25px; }
.team-card__role { display: block; margin-bottom: 9px; color: var(--green-700); font-size: .68rem; font-weight: 800; letter-spacing: .07em; line-height: 1.35; text-transform: uppercase; }
.team-card h3 { margin: 0 0 12px; font-size: 1.08rem; line-height: 1.28; }
.team-card p { margin: 0; color: var(--muted); font-size: .79rem; line-height: 1.7; }

.notice { display: flex; align-items: flex-start; gap: 17px; padding: 24px; background: var(--mint-100); border: 1px solid var(--mint-300); border-radius: var(--radius-sm); }
.notice--warning { background: #fff7e7; border-color: #f1d89f; }
.notice__icon { width: 25px; height: 25px; flex: 0 0 auto; margin-top: 2px; color: var(--green-700); }
.notice--warning .notice__icon { color: #9a6710; }
.notice strong { display: block; margin-bottom: 4px; color: var(--green-950); }
.notice p { margin: 0; font-size: .88rem; }
.donation-types { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.donation-types article { padding: 28px; background: #fff; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.donation-types article:nth-child(2n) { border-right: 0; }
.donation-types article:nth-last-child(-n+2) { border-bottom: 0; }
.donation-types p { margin: 0; font-size: .86rem; }
.simple-steps { margin: 0; padding-left: 0; list-style: none; counter-reset: steps; }
.simple-steps li { position: relative; counter-increment: steps; min-height: 65px; padding: 15px 0 15px 62px; border-bottom: 1px solid var(--line); color: #334a41; }
.simple-steps li::before { content: counter(steps); position: absolute; left: 0; top: 10px; width: 42px; height: 42px; display: grid; place-items: center; color: #fff; background: var(--green-700); border-radius: 50%; font-weight: 800; }
.metric-list { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.metric-list > div { display: grid; grid-template-columns: 125px 1fr; gap: 20px; padding: 20px 24px; background: #fff; border-bottom: 1px solid var(--line); }
.metric-list > div:last-child { border-bottom: 0; }
.metric-list strong { color: var(--green-800); }
.metric-list span { color: var(--muted); font-size: .88rem; }

.form-container { max-width: 1100px; }
.form-shell { padding: clamp(30px, 5vw, 60px); background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.form-shell__heading { max-width: 720px; margin-bottom: 34px; }
.form-shell__heading h2 { font-size: clamp(2.3rem, 4vw, 3.8rem); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.field { display: flex; flex-direction: column; gap: 7px; }
.field--full { grid-column: 1 / -1; }
.field label { color: var(--green-950); font-size: .8rem; font-weight: 800; }
.field label span { color: var(--danger); }
.field label small { color: var(--muted); font-weight: 500; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid #cadbd2; border-radius: 10px; background: #fff; padding: 13px 15px; color: var(--ink); transition: border-color .2s, box-shadow .2s; }
.field input, .field select { min-height: 50px; }
.field textarea { resize: vertical; min-height: 135px; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--green-700); box-shadow: 0 0 0 4px rgba(13,118,87,.11); }
.field input[type="file"] { padding: 10px; background: var(--mint-100); }
.consent { display: flex; gap: 12px; align-items: flex-start; margin: 25px 0; color: var(--muted); font-size: .8rem; }
.consent input { width: 18px; height: 18px; margin-top: 4px; accent-color: var(--green-700); }
.consent a { color: var(--green-700); font-weight: 800; text-decoration: underline; }
.hp-field { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-status { display: none; margin: 0 0 18px; padding: 14px 16px; border-radius: 10px; font-size: .86rem; }
.form-status.is-visible { display: block; }
.form-status.is-success { color: #075b43; background: var(--mint-100); border: 1px solid var(--mint-300); }
.form-status.is-error { color: #7f2e26; background: #fff0ee; border: 1px solid #efc4bf; }
.btn--submit[disabled] { opacity: .65; cursor: wait; transform: none; }

.donation-panel { display: grid; grid-template-columns: 1.2fr .8fr; overflow: hidden; background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.donation-panel > div:first-child { padding: clamp(38px, 6vw, 70px); }
.payment-placeholder { margin-top: 30px; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.payment-placeholder div { display: grid; grid-template-columns: 150px 1fr; gap: 20px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.payment-placeholder div:last-child { border-bottom: 0; }
.payment-placeholder strong { color: var(--green-800); }
.payment-placeholder span { color: var(--muted); }
.donation-panel__note { display: flex; flex-direction: column; justify-content: center; padding: clamp(38px, 6vw, 65px); color: #fff; background: var(--green-950); }
.donation-panel__note > svg { width: 50px; height: 50px; margin-bottom: 25px; color: var(--mint-300); }
.donation-panel__note h3, .donation-panel__note p { color: #fff; }
.donation-panel__note p { color: rgba(255,255,255,.72); }

.filter-pills { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-bottom: 50px; }
.filter-pills button { min-height: 42px; padding: 8px 17px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--muted); font-size: .78rem; font-weight: 700; }
.filter-pills button.is-active { color: #fff; background: var(--green-700); border-color: var(--green-700); }
.empty-state { max-width: 840px; margin: 0 auto; padding: clamp(50px, 8vw, 100px); text-align: center; background: var(--mint-100); border-radius: var(--radius-lg); }
.empty-state > svg { width: 60px; height: 60px; margin: 0 auto 26px; color: var(--green-700); }
.empty-state h2 { font-size: clamp(2.2rem, 4vw, 3.9rem); }
.empty-state .button-row { justify-content: center; }
.resource-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.resource-card { min-height: 280px; padding: 30px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); }
.resource-card > span { width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 30px; color: var(--green-700); background: var(--mint-100); border-radius: 50%; }
.resource-card svg { width: 24px; }
.resource-card p { font-size: .86rem; }
.resource-card small { color: #8a7754; font-size: .71rem; font-weight: 700; }

.faq-layout { display: grid; grid-template-columns: .65fr 1.35fr; gap: clamp(50px, 8vw, 120px); align-items: start; }
.accordion { border-top: 1px solid var(--line); }
.accordion__item { border-bottom: 1px solid var(--line); }
.accordion__item h2 { margin: 0; font-family: var(--sans); font-size: 1rem; }
.accordion__item button { width: 100%; display: flex; justify-content: space-between; gap: 20px; padding: 24px 0; border: 0; color: var(--green-950); background: transparent; text-align: left; font-weight: 800; }
.accordion__plus { width: 24px; height: 24px; position: relative; flex: 0 0 auto; }
.accordion__plus::before, .accordion__plus::after { content: ""; position: absolute; left: 50%; top: 50%; width: 15px; height: 2px; background: var(--green-700); transform: translate(-50%,-50%); }
.accordion__plus::after { transform: translate(-50%,-50%) rotate(90deg); transition: transform .2s; }
.accordion__item button[aria-expanded="true"] .accordion__plus::after { transform: translate(-50%,-50%) rotate(0); }
.accordion__panel { padding: 0 45px 24px 0; }
.accordion__panel p { margin: 0; }

.contact-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(45px, 7vw, 95px); align-items: start; }
.contact-details { position: sticky; top: 130px; }
.contact-detail-card { display: flex; gap: 17px; padding: 20px 0; border-top: 1px solid var(--line); }
.contact-detail-card > svg { width: 23px; height: 23px; flex: 0 0 auto; color: var(--green-700); }
.contact-detail-card strong { color: var(--green-950); }
.contact-detail-card p { margin: 3px 0 0; font-size: .88rem; }
.contact-details .notice { margin-top: 28px; }
.policy-layout { display: grid; grid-template-columns: 260px 1fr; gap: clamp(45px, 8vw, 110px); align-items: start; }
.policy-nav { position: sticky; top: 130px; display: flex; flex-direction: column; padding: 25px; background: var(--mint-100); border-radius: var(--radius); }
.policy-nav strong { margin-bottom: 12px; color: var(--green-950); }
.policy-nav a { padding: 9px 0; color: var(--muted); font-size: .83rem; border-bottom: 1px solid rgba(13,118,87,.12); }
.policy-nav a:hover { color: var(--green-700); }
.policy-content { max-width: 850px; }
.policy-content .notice { margin-bottom: 40px; }
.policy-content h2 { margin-top: 45px; font-size: 2.15rem; scroll-margin-top: 130px; }
.policy-content p { font-size: 1rem; }

.footer-cta { padding: 75px 0; background: var(--green-700); color: #fff; }
.footer-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 45px; }
.footer-cta h2 { margin-bottom: 10px; color: #fff; font-size: clamp(2.5rem, 4.7vw, 5rem); }
.footer-cta p { margin: 0; color: rgba(255,255,255,.76); }
.footer-cta__inner > div:first-child { max-width: 800px; }
.site-footer { padding-top: 80px; color: rgba(255,255,255,.72); background: var(--green-950); }
.site-footer__grid { display: grid; grid-template-columns: 1.5fr .7fr 1fr 1.1fr; gap: 55px; padding-bottom: 70px; }
.footer-brand > a { width: 210px; height: 135px; display: block; margin-bottom: 20px; overflow: hidden; }
.footer-brand img { width: 100%; height: 100%; object-fit: contain; object-position: left center; filter: brightness(0) invert(1); opacity: .95; }
.footer-brand p { max-width: 420px; color: rgba(255,255,255,.68); font-size: .88rem; }
.footer-badge { display: inline-flex; align-items: center; gap: 9px; padding: 9px 13px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; font-size: .7rem; }
.footer-badge svg { width: 16px; }
.site-footer h3 { color: #fff; font-size: .9rem; }
.footer-links, .contact-list { list-style: none; padding: 0; margin: 0; }
.footer-links li { margin-bottom: 9px; }
.footer-links a { font-size: .82rem; transition: color .2s; }
.footer-links a:hover { color: #fff; }
.contact-list li { display: flex; gap: 12px; margin-bottom: 18px; font-size: .8rem; }
.contact-list svg { width: 19px; height: 19px; flex: 0 0 auto; color: var(--mint-300); }
.footer-social { margin: 20px 0 20px; }
.footer-social__label { display: block; margin-bottom: 3px; color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.footer-social__username { display: block; margin-bottom: 12px; color: var(--mint-300); font-size: .76rem; font-weight: 700; overflow-wrap: anywhere; }
.footer-social__icons { display: flex; flex-wrap: wrap; gap: 10px; }
.footer-social__link { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.3); border-radius: 10px; color: #fff; box-shadow: 0 10px 24px rgba(0,0,0,.2); transition: transform .2s ease, box-shadow .2s ease, filter .2s ease; }
.footer-social__link:hover, .footer-social__link:focus-visible { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(0,0,0,.28); filter: brightness(1.08); outline: 2px solid var(--mint-300); outline-offset: 3px; }
.footer-social__link--facebook { background: #1877f2; border-color: #1877f2; }
.footer-social__link--instagram { background: radial-gradient(circle at 30% 107%, #fdf497 0 5%, #fd5949 42%, #d6249f 62%, #285aeb 90%); border-color: rgba(255,255,255,.38); }
.footer-social__link--youtube { background: #ff0000; border-color: #ff0000; }
.footer-social__link--x { background: #0f1419; border-color: rgba(255,255,255,.35); }
.social-icon { width: 22px; height: 22px; display: block; }
.footer-social__link--youtube .social-icon__cutout { fill: #ff0000; }
.site-footer .text-link { color: var(--mint-300); font-size: .8rem; }
.site-footer__bottom { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 30px; border-top: 1px solid rgba(255,255,255,.12); }
.site-footer__bottom p { margin: 0; color: rgba(255,255,255,.55); font-size: .72rem; }
.site-footer__bottom > div { display: flex; flex-wrap: wrap; gap: 18px; }
.site-footer__bottom a { font-size: .7rem; }
.site-footer__bottom a:hover { color: #fff; }
.cookie-banner { position: fixed; z-index: 1500; left: 24px; right: 24px; bottom: 24px; max-width: 780px; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 20px 22px; background: #fff; border: 1px solid var(--line); border-radius: 15px; box-shadow: var(--shadow); }
.cookie-banner[hidden] { display: none; }
.cookie-banner strong { color: var(--green-950); }
.cookie-banner p { margin: 2px 0 0; font-size: .76rem; }
.back-to-top { position: fixed; z-index: 900; right: 22px; bottom: 22px; width: 48px; height: 48px; display: grid; place-items: center; opacity: 0; visibility: hidden; transform: translateY(12px); color: #fff; background: var(--green-700); border: 0; border-radius: 50%; box-shadow: var(--shadow-sm); transition: opacity .25s, visibility .25s, transform .25s; }
.back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.back-to-top svg { width: 19px; height: 19px; transform: rotate(-90deg); }
.not-found { min-height: 70vh; display: grid; place-items: center; padding: 100px 0; text-align: center; background: var(--mint-100); }
.not-found span { color: var(--green-700); font-family: var(--serif); font-size: 7rem; line-height: 1; }
.not-found h1 { font-size: clamp(3rem, 6vw, 6rem); }
.not-found .button-row { justify-content: center; }

@media (max-width: 1200px) {
    :root { --header-height: 80px; }
    .container { width: min(calc(100% - 36px), var(--container)); }
    .brand { width: 150px; height: 67px; }
    .primary-nav > ul > li > a, .nav-dropdown-toggle { padding-inline: 9px; font-size: .76rem; }
    .header-donate { padding-inline: 17px; }
    .program-grid, .feature-grid, .governance-grid { grid-template-columns: repeat(2, 1fr); }
    .team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .team-card__photo { aspect-ratio: 4 / 4.4; }
    .resource-grid { grid-template-columns: repeat(3, 1fr); }
    .site-footer__grid { grid-template-columns: 1.3fr .7fr 1fr; }
    .site-footer__grid > div:last-child { grid-column: 1 / -1; }
}

@media (max-width: 1020px) {
    .topbar__links { display: none; }
    .topbar__inner { justify-content: center; }
    .site-header__inner { justify-content: space-between; }
    .nav-toggle { display: inline-flex; margin-left: auto; }
    .header-donate { display: none; }
    .primary-nav { position: absolute; top: 100%; left: 0; right: 0; height: calc(100vh - var(--header-height)); margin: 0; padding: 18px; opacity: 0; visibility: hidden; transform: translateY(-12px); overflow-y: auto; background: #fff; border-top: 1px solid var(--line); box-shadow: 0 24px 40px rgba(3,61,48,.08); transition: opacity .25s, visibility .25s, transform .25s; }
    .nav-open .primary-nav { opacity: 1; visibility: visible; transform: translateY(0); }
    .primary-nav > ul { display: block; max-width: 760px; margin-inline: auto; }
    .primary-nav > ul > li { border-bottom: 1px solid var(--line); }
    .primary-nav > ul > li > a, .nav-dropdown-toggle { width: 100%; height: auto; min-height: 58px; justify-content: space-between; padding: 13px 6px; border-radius: 0; font-size: .95rem; }
    .primary-nav > ul > li > a:hover, .nav-dropdown-toggle:hover, .primary-nav .is-active { background: transparent; }
    .nav-dropdown, .nav-dropdown--mega { position: static; width: 100%; display: none; opacity: 1; visibility: visible; transform: none !important; padding: 0 0 15px 12px; border: 0; box-shadow: none; }
    .has-dropdown.is-open > .nav-dropdown { display: grid; }
    .nav-dropdown--mega { grid-template-columns: 1fr 1fr; }
    .nav-dropdown a { padding: 10px 12px; }
    .intro-grid, .media-grid, .story-layout, .contact-layout { grid-template-columns: 1fr; }
    .mission-card { max-width: 650px; }
    .latest-grid { grid-template-columns: 1fr 1fr; }
    .latest-grid > div:first-child { grid-column: 1 / -1; }
    .support-banner, .footer-cta__inner { align-items: flex-start; flex-direction: column; }
    .contact-details { position: static; }
    .donation-panel { grid-template-columns: 1fr; }
    .faq-layout { grid-template-columns: 1fr; }
    .policy-layout { grid-template-columns: 1fr; }
    .policy-nav { position: static; display: none; }
}

@media (max-width: 760px) {
    body { font-size: 15px; }
    .container { width: min(calc(100% - 28px), var(--container)); }
    .topbar p { font-size: .66rem; text-align: center; }
    .brand { width: 136px; }
    .hero-slider { min-height: 720px; }
    .hero-slide__shade { background: linear-gradient(90deg, rgba(2,40,30,.92), rgba(2,48,35,.67)), linear-gradient(0deg, rgba(3,61,48,.5), transparent); }
    .hero-slide__content { padding-top: 60px; padding-bottom: 110px; }
    .hero-slide h1, .hero-slide h2 { font-size: clamp(3.1rem, 15vw, 5rem); }
    .hero-slide p { font-size: 1rem; }
    .hero-slider__controls { bottom: 26px; }
    .trust-strip__inner { min-height: 92px; align-items: flex-start; padding-block: 19px; }
    .trust-strip a { display: none; }
    .inner-hero { min-height: 520px; }
    .inner-hero__content { padding-top: 75px; padding-bottom: 60px; }
    .inner-hero h1 { font-size: clamp(3rem, 14vw, 4.7rem); }
    .inner-hero p { font-size: 1rem; }
    .section { padding: 72px 0; }
    .program-grid, .feature-grid, .governance-grid, .resource-grid, .team-grid, .vision-grid, .split-layout, .split-copy, .vision-mission, .legal-grid { grid-template-columns: 1fr; }
    .team-grid { max-width: 560px; margin-inline: auto; gap: 24px; }
    .team-card__photo { aspect-ratio: 16 / 12; }
    .team-card__content { padding: 24px; }
    .team-card h3 { font-size: 1.25rem; }
    .program-card { min-height: 260px; }
    .vision-card { min-height: 430px; }
    .vision-mission article:first-child { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
    .split-layout--reverse .split-layout__media { order: 0; }
    .split-layout__media, .story-image { min-height: 380px; }
    .legal-grid > div, .legal-grid > div:nth-child(3n), .legal-grid > div:nth-last-child(-n+3) { border-right: 0; border-bottom: 1px solid var(--line); }
    .legal-grid > div:last-child { border-bottom: 0; }
    .latest-grid { grid-template-columns: 1fr; }
    .latest-grid > div:first-child { grid-column: auto; }
    .support-banner { padding: 32px; }
    .donation-types { grid-template-columns: 1fr; }
    .donation-types article, .donation-types article:nth-child(2n), .donation-types article:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--line); }
    .donation-types article:last-child { border-bottom: 0; }
    .form-shell { padding: 28px 20px; border-radius: 20px; }
    .form-grid { grid-template-columns: 1fr; }
    .field--full { grid-column: auto; }
    .payment-placeholder div { grid-template-columns: 1fr; gap: 5px; }
    .metric-list > div { grid-template-columns: 1fr; gap: 5px; }
    .site-footer__grid { grid-template-columns: 1fr 1fr; gap: 40px 25px; }
    .footer-brand { grid-column: 1 / -1; }
    .site-footer__grid > div:last-child { grid-column: 1 / -1; }
    .site-footer__bottom { align-items: flex-start; flex-direction: column; padding-block: 24px; }
    .cookie-banner { left: 12px; right: 12px; bottom: 12px; align-items: stretch; flex-direction: column; gap: 12px; }
    .cookie-banner .btn { width: 100%; }
    .nav-dropdown--mega { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .button-row { align-items: stretch; flex-direction: column; width: 100%; }
    .button-row .btn { width: 100%; }
    .hero-slide__content .button-row { max-width: 320px; }
    .hero-slider__controls > button { width: 40px; height: 40px; }
    .mission-card { padding: 30px; }
    .vision-card--image > div { left: 28px; right: 28px; bottom: 28px; }
    .site-footer__grid { grid-template-columns: 1fr; }
    .footer-brand, .site-footer__grid > div:last-child { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Deployment and page-completion refinements */
.section--intro {
    background:
        radial-gradient(circle at 92% 15%, rgba(199, 226, 208, .48), transparent 31%),
        linear-gradient(180deg, #ffffff 0%, #fbfdfc 100%);
}
.section--media { background: var(--warm); }
.media-grid__content { min-width: 0; }
.primary-nav { position: relative; }
.nav-mega { position: static; }
.empty-state--calendar > svg {
    width: 74px;
    height: 74px;
    padding: 18px;
    color: #fff;
    background: var(--green-700);
    border-radius: 24px;
}

/* Prevent oversized headings from breaking smaller laptop screens. */
@media (min-width: 761px) and (max-height: 760px) {
    .hero-slider { min-height: 650px; }
    .hero-slide h1,
    .hero-slide h2 { font-size: clamp(3rem, 5.2vw, 5.6rem); }
    .hero-slide__content { padding-top: 45px; padding-bottom: 95px; }
}

/* ================================================================
   V3 HEADER — centered official logo and balanced navigation
   ================================================================ */
.topbar {
    background: #101b17;
}

.site-header__inner {
    position: relative;
}

.brand {
    position: absolute;
    z-index: 8;
    left: 50%;
    top: -24px;
    width: 188px;
    height: 132px;
    padding: 13px 18px 19px;
    transform: translateX(-50%);
    justify-content: center;
    background: #fff;
    border: 1px solid rgba(7, 91, 67, .10);
    border-top: 0;
    border-radius: 0 0 30px 30px;
    box-shadow: 0 18px 42px rgba(3, 61, 48, .16);
    overflow: visible;
}

.brand::after {
    content: "";
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: -7px;
    height: 15px;
    z-index: -1;
    border-radius: 0 0 24px 24px;
    background: var(--mint-300);
    transform: skewY(-3deg);
    transform-origin: left center;
}

.brand img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.primary-nav {
    width: 100%;
    margin-left: 0;
}

.primary-nav > ul {
    width: 100%;
}

.nav-logo-space {
    flex: 0 0 205px;
    pointer-events: none;
}

.nav-donate-item {
    margin-left: 5px;
}

.primary-nav > ul > li > .nav-donate {
    min-width: 104px;
    justify-content: center;
    padding-inline: 22px;
    color: #fff;
    background: var(--green-700);
    border-radius: 999px;
    box-shadow: 0 10px 24px rgba(7, 91, 67, .18);
}

.primary-nav > ul > li > .nav-donate:hover,
.primary-nav > ul > li > .nav-donate.is-active {
    color: #fff;
    background: var(--green-900);
}

/* Clear, helpful form guidance on every public form. */
.field input::placeholder,
.field textarea::placeholder {
    color: #82918b;
    opacity: 1;
}

.field input,
.field textarea,
.field select {
    width: 100%;
}

/* Keep people-focused photography well framed across screen sizes. */
.hero-slide img,
.inner-hero__media img,
.split-layout__media img,
.editorial-card img,
.vision-card--image img {
    object-position: center center;
}

@media (min-width: 1021px) {
    :root { --header-height: 104px; }
    .site-header__inner { min-height: 104px; }
    .primary-nav > ul { justify-content: center; }
}

@media (min-width: 1021px) and (max-width: 1280px) {
    .brand {
        width: 166px;
        height: 120px;
        padding-inline: 14px;
    }
    .nav-logo-space { flex-basis: 177px; }
    .primary-nav > ul > li > a,
    .nav-dropdown-toggle {
        padding-inline: 8px;
        font-size: .74rem;
    }
    .primary-nav > ul > li > .nav-donate {
        min-width: 88px;
        padding-inline: 16px;
    }
}

@media (max-width: 1020px) {
    :root { --header-height: 84px; }
    .site-header__inner {
        min-height: 84px;
        justify-content: flex-end;
    }
    .brand {
        top: -15px;
        width: 140px;
        height: 106px;
        padding: 10px 13px 15px;
        border-radius: 0 0 23px 23px;
    }
    .brand::after {
        left: 12px;
        right: 12px;
        bottom: -5px;
        height: 11px;
    }
    .nav-toggle {
        position: relative;
        z-index: 10;
        margin-left: auto;
    }
    .primary-nav {
        position: absolute;
        padding-top: 28px;
    }
    .nav-logo-space {
        display: none;
    }
    .nav-donate-item {
        margin: 17px 0 8px;
        border-bottom: 0 !important;
    }
    .primary-nav > ul > li > .nav-donate {
        width: 100%;
        min-height: 52px;
        justify-content: center;
        padding: 12px 20px;
        color: #fff;
        background: var(--green-700);
        border-radius: 12px;
    }
    .inner-hero__content {
        padding-top: 135px;
    }
}

@media (max-width: 760px) {
    .topbar {
        min-height: 32px;
    }
    .topbar__inner p {
        font-size: .64rem;
        letter-spacing: .04em;
    }
    .brand {
        width: 126px;
        height: 96px;
    }
    .hero-slide__content {
        padding-top: 128px;
    }
    .inner-hero {
        min-height: 520px;
    }
    .inner-hero__content {
        padding-top: 128px;
        padding-bottom: 64px;
    }
    .inner-hero h1 {
        font-size: clamp(2.65rem, 12vw, 4.35rem);
    }
    .form-shell {
        padding-inline: 20px;
    }
    .form-grid {
        grid-template-columns: 1fr;
    }
    .button-row .btn,
    .section-action .btn {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 420px) {
    .container {
        width: min(calc(100% - 24px), var(--container));
    }
    .brand {
        width: 116px;
        height: 90px;
        padding-inline: 10px;
    }
    .nav-toggle {
        width: 42px;
        height: 42px;
    }
    .hero-slider__controls {
        bottom: 18px;
    }
}

/* ================================================================
   V4 POLISH — centred floating logo, Black community photography,
   and stricter tablet/mobile containment.
   ================================================================ */
html,
body {
    max-width: 100%;
    overflow-x: clip;
}

.site-header {
    overflow: visible;
}

.brand {
    top: -28px;
    width: 205px;
    height: 150px;
    padding: 17px 20px 25px;
    background: var(--green-700);
    border: 0;
    border-radius: 0 0 34px 34px;
    box-shadow: 0 20px 48px rgba(3, 61, 48, .26);
}

.brand::after {
    left: 15px;
    right: 15px;
    bottom: -8px;
    height: 17px;
    background: var(--mint-300);
    border-radius: 0 0 26px 26px;
    transform: skewY(-4deg);
}

.brand img {
    filter: brightness(0) invert(1);
    opacity: .98;
}

.nav-logo-space {
    flex-basis: 228px;
}

.hero-slide,
.inner-hero,
.split-layout__media,
.vision-card--image,
.editorial-card {
    isolation: isolate;
}

.hero-slide img,
.inner-hero__media img,
.split-layout__media img,
.vision-card--image img,
.editorial-card img {
    object-position: center 38%;
}

/* Taller portrait volunteer image needs a slightly higher crop. */
img[src*="volunteers.webp"] {
    object-position: center 28%;
}

/* Inputs stay readable and never spill outside their cards. */
.form-shell,
.form-grid,
.field,
.field input,
.field select,
.field textarea,
.field input[type="file"] {
    min-width: 0;
    max-width: 100%;
}

.field input[type="file"] {
    padding: 12px;
    overflow: hidden;
}

.table-wrap,
.policy-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media (min-width: 1021px) and (max-width: 1280px) {
    .brand {
        top: -23px;
        width: 176px;
        height: 132px;
        padding: 14px 16px 21px;
    }

    .nav-logo-space {
        flex-basis: 194px;
    }
}

@media (max-width: 1020px) {
    .brand {
        top: -18px;
        width: 148px;
        height: 112px;
        padding: 12px 14px 18px;
        border-radius: 0 0 25px 25px;
    }

    .brand::after {
        bottom: -6px;
        height: 12px;
    }

    .primary-nav {
        overscroll-behavior: contain;
    }
}

@media (max-width: 760px) {
    .site-header__inner {
        padding-inline: 2px;
    }

    .brand {
        top: -16px;
        width: 132px;
        height: 102px;
        padding: 11px 12px 17px;
    }

    .hero-slide,
    .inner-hero {
        min-height: 600px;
    }

    .hero-slide__content,
    .inner-hero__content {
        width: min(100%, 680px);
    }

    .hero-slide h1,
    .hero-slide h2,
    .inner-hero h1 {
        overflow-wrap: anywhere;
    }

    .topbar__inner {
        min-height: 34px;
        padding-block: 5px;
    }

    .topbar p {
        line-height: 1.35;
    }
}

@media (max-width: 480px) {
    .brand {
        width: 120px;
        height: 94px;
        padding: 10px 11px 16px;
    }

    .hero-slide,
    .inner-hero {
        min-height: 570px;
    }

    .hero-slide__content,
    .inner-hero__content {
        padding-inline: 0;
    }

    .hero-slide p,
    .inner-hero p {
        font-size: .98rem;
    }

    .form-shell {
        padding: 26px 16px;
        border-radius: 20px;
    }

    .field input,
    .field select,
    .field textarea {
        font-size: 16px;
    }
}

/* V4.1 header alignment: keep the floating logo truly centred and prevent
   navigation labels from sitting underneath it. */
@media (min-width: 1281px) {
    .brand {
        top: -38px;
        width: 190px;
        height: 150px;
        padding: 17px 18px 25px;
    }

    .nav-logo-space {
        flex-basis: 210px;
    }

    .primary-nav > ul > li > a,
    .nav-dropdown-toggle {
        padding-inline: 9px;
        font-size: .76rem;
    }

    .primary-nav > ul > li > .nav-donate {
        min-width: 94px;
        padding-inline: 18px;
    }
}

@media (min-width: 1021px) and (max-width: 1280px) {
    .brand {
        top: -38px;
    }
}

@media (max-width: 1020px) {
    .topbar {
        min-height: 24px;
    }

    .topbar__inner {
        min-height: 24px;
    }

    .topbar__inner p {
        display: none;
    }

    .brand {
        top: -24px;
    }
}

/* Split desktop navigation into equal left and right zones so the logo card
   remains mathematically centred regardless of label widths. */
.primary-nav__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 210px minmax(0, 1fr);
    align-items: center;
    width: 100%;
}

.primary-nav__group {
    display: flex;
    align-items: center;
    gap: 3px;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.primary-nav__group--left {
    justify-content: flex-end;
}

.primary-nav__group--right {
    justify-content: flex-start;
}

.primary-nav__group > li > a,
.primary-nav__group > li > .nav-dropdown-toggle {
    height: 48px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0 9px;
    border: 0;
    background: transparent;
    color: #294139;
    font-size: .76rem;
    font-weight: 750;
    border-radius: 999px;
    white-space: nowrap;
}

.primary-nav__group > li > a:hover,
.primary-nav__group > li > .nav-dropdown-toggle:hover,
.primary-nav__group .is-active {
    color: var(--green-800);
    background: var(--mint-100);
}

.primary-nav__group > li > .nav-donate {
    min-width: 94px;
    justify-content: center;
    padding-inline: 18px;
    color: #fff;
    background: var(--green-700);
    border-radius: 999px;
    box-shadow: 0 10px 24px rgba(7, 91, 67, .18);
}

.primary-nav__group > li > .nav-donate:hover,
.primary-nav__group > li > .nav-donate.is-active {
    color: #fff;
    background: var(--green-900);
}

@media (min-width: 1021px) and (max-width: 1280px) {
    .primary-nav__layout {
        grid-template-columns: minmax(0, 1fr) 194px minmax(0, 1fr);
    }

    .primary-nav__group > li > a,
    .primary-nav__group > li > .nav-dropdown-toggle {
        padding-inline: 7px;
        font-size: .72rem;
    }

    .primary-nav__group > li > .nav-donate {
        min-width: 84px;
        padding-inline: 14px;
    }
}

@media (max-width: 1020px) {
    .primary-nav__layout {
        display: block;
        max-width: 760px;
        margin-inline: auto;
    }

    .primary-nav__group {
        display: block;
        width: 100%;
    }

    .primary-nav__group > li {
        border-bottom: 1px solid var(--line);
    }

    .primary-nav__group > li > a,
    .primary-nav__group > li > .nav-dropdown-toggle {
        width: 100%;
        min-height: 58px;
        height: auto;
        justify-content: space-between;
        padding: 13px 6px;
        border-radius: 0;
        font-size: .95rem;
    }

    .primary-nav__group > li > a:hover,
    .primary-nav__group > li > .nav-dropdown-toggle:hover,
    .primary-nav__group .is-active {
        background: transparent;
    }

    .primary-nav__group > li > .nav-donate {
        width: 100%;
        min-height: 52px;
        justify-content: center;
        padding: 12px 20px;
        color: #fff;
        background: var(--green-700);
        border-radius: 12px;
    }
}

/* ===================================================================
   V5 RESPONSIVE HEADER, HERO AND HOME INTRO REFINEMENT
   =================================================================== */
:root {
    --button-radius: 10px;
}

/* Consistent 10px corners for all visible action controls. */
.btn,
.nav-toggle,
.primary-nav__group > li > .nav-donate,
.hero-slider__controls > button,
.filter-pills button,
.cookie-banner button,
.back-to-top,
.form-shell button[type="submit"] {
    border-radius: var(--button-radius) !important;
}

/* Desktop header: wide menu zones, calm centred logo, stronger readability. */
.site-header {
    height: 96px;
    overflow: visible;
}

.site-header .container {
    width: min(calc(100% - 56px), 1540px);
}

.site-header__inner {
    min-height: 96px;
    padding-inline: 0;
}

.brand {
    top: -28px;
    width: 176px;
    height: 132px;
    padding: 11px 14px 17px;
    background: #fff;
    border: 1px solid rgba(7, 91, 67, .13);
    border-top: 0;
    border-radius: 0 0 20px 20px;
    box-shadow: 0 18px 44px rgba(3, 61, 48, .17);
    transition: top .25s ease, width .25s ease, height .25s ease, padding .25s ease, border-radius .25s ease, box-shadow .25s ease;
}

.brand::after {
    left: 12px;
    right: 12px;
    bottom: -5px;
    height: 9px;
    background: var(--mint-300);
    border-radius: 0 0 12px 12px;
    transform: none;
}

.brand img {
    filter: none;
    opacity: 1;
    object-fit: contain;
}

.site-header.is-scrolled .brand {
    top: 7px;
    width: 136px;
    height: 82px;
    padding: 6px 10px 9px;
    border: 1px solid rgba(7, 91, 67, .12);
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(3, 61, 48, .13);
}

.site-header.is-scrolled .brand::after {
    display: none;
}

.primary-nav__layout {
    grid-template-columns: minmax(0, 1fr) 196px minmax(0, 1fr);
    gap: 22px;
}

.primary-nav__group {
    gap: 8px;
}

.primary-nav__group--left {
    justify-content: flex-start;
}

.primary-nav__group--right {
    justify-content: flex-end;
}

.primary-nav__group > li > a,
.primary-nav__group > li > .nav-dropdown-toggle {
    min-height: 50px;
    padding-inline: 13px;
    border-radius: 10px;
    font-size: .86rem;
    font-weight: 800;
}

.primary-nav__group > li > .nav-donate {
    min-width: 102px;
    padding-inline: 20px;
}

/* Hero content and controls stay visually separate and spacious. */
.hero-slider {
    min-height: min(780px, calc(100vh - 128px));
}

.hero-slide__content {
    padding-top: 72px;
    padding-bottom: 178px;
}

.hero-slide h1,
.hero-slide h2 {
    max-width: 800px;
    font-size: clamp(3.4rem, 5.7vw, 6.8rem);
    line-height: 1.03;
}

.hero-slide p {
    max-width: 710px;
    margin-bottom: 38px;
}

.hero-slide__content .button-row {
    gap: clamp(18px, 2vw, 26px);
    align-items: stretch;
}

.hero-slider__controls {
    left: 50%;
    bottom: 38px;
    width: min(calc(100% - 56px), 1540px);
    justify-content: flex-start;
    gap: 15px;
    transform: translateX(-50%);
}

.hero-slider__controls > button {
    width: 50px;
    height: 50px;
}

.hero-slider__dots {
    gap: 9px;
    padding-inline: 3px;
}

.hero-slider__dots button {
    border-radius: 10px;
}

/* Home introduction: real photography plus a layered mission statement. */
.section--intro {
    overflow: hidden;
}

.intro-showcase {
    display: grid;
    grid-template-columns: minmax(0, .88fr) minmax(560px, 1.12fr);
    gap: clamp(55px, 7vw, 120px);
    align-items: center;
}

.intro-showcase__copy {
    max-width: 670px;
    padding-block: 22px;
}

.intro-showcase__copy .section-heading {
    margin-bottom: 28px;
}

.intro-showcase__copy .section-heading h2 {
    font-size: clamp(3rem, 4.4vw, 5.25rem);
}

.intro-showcase__points {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    margin: 0 0 32px;
    color: var(--green-800);
    font-size: .88rem;
    font-weight: 800;
}

.intro-showcase__points span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.intro-showcase__points svg {
    width: 18px;
    height: 18px;
}

.intro-showcase__visual {
    position: relative;
    min-height: 690px;
    padding: 0 0 92px 92px;
}

.intro-photo {
    height: 610px;
    margin: 0;
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    box-shadow: 0 22px 60px rgba(3, 61, 48, .16);
}

.intro-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 52%, rgba(3, 61, 48, .58) 100%);
    pointer-events: none;
}

.intro-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 53% center;
}

.intro-photo figcaption {
    position: absolute;
    z-index: 2;
    left: 28px;
    right: 28px;
    bottom: 24px;
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    color: #fff;
    font-size: .86rem;
    font-weight: 800;
}

.intro-photo figcaption span {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    color: var(--green-950);
    background: var(--mint-300);
    border-radius: 10px;
}

.intro-photo figcaption svg {
    width: 20px;
    height: 20px;
}

.mission-card--overlay {
    position: absolute;
    z-index: 3;
    left: 0;
    bottom: 0;
    width: min(490px, 77%);
    min-height: 390px;
    padding: 38px 40px 42px;
    border-radius: 20px;
    box-shadow: 0 24px 65px rgba(3, 61, 48, .24);
}

.mission-card--overlay .mission-card__mark {
    width: 50px;
    height: 50px;
    margin-bottom: 30px;
    border-radius: 10px;
}

.mission-card--overlay .eyebrow {
    color: var(--mint-300);
}

.mission-card--overlay p {
    font-size: clamp(1.45rem, 2vw, 2.1rem);
}

/* Large tablet/laptop containment. */
@media (min-width: 1021px) and (max-width: 1280px) {
    .site-header .container {
        width: min(calc(100% - 32px), 1220px);
    }

    .brand {
        top: -24px;
        width: 158px;
        height: 120px;
    }

    .primary-nav__layout {
        grid-template-columns: minmax(0, 1fr) 172px minmax(0, 1fr);
        gap: 8px;
    }

    .primary-nav__group {
        gap: 2px;
    }

    .primary-nav__group > li > a,
    .primary-nav__group > li > .nav-dropdown-toggle {
        padding-inline: 8px;
        font-size: .77rem;
    }

    .intro-showcase {
        grid-template-columns: minmax(0, .9fr) minmax(480px, 1.1fr);
        gap: 48px;
    }

    .intro-showcase__visual {
        min-height: 625px;
        padding-left: 62px;
    }

    .intro-photo {
        height: 555px;
    }
}

/* Mobile/tablet header: logo moves to the left and sits lower in the bar. */
@media (max-width: 1020px) {
    .topbar {
        display: none;
    }

    :root {
        --header-height: 86px;
    }

    .site-header,
    .site-header__inner {
        height: 86px;
        min-height: 86px;
    }

    .site-header .container {
        width: min(calc(100% - 30px), var(--container));
    }

    .site-header__inner {
        justify-content: flex-end;
    }

    .brand,
    .site-header.is-scrolled .brand {
        left: 0;
        top: 10px;
        width: 130px;
        height: 70px;
        padding: 4px 7px 6px;
        transform: none;
        border: 1px solid rgba(7, 91, 67, .12);
        border-radius: 10px;
        box-shadow: 0 8px 24px rgba(3, 61, 48, .10);
    }

    .brand::after,
    .site-header.is-scrolled .brand::after {
        display: none;
    }

    .nav-toggle {
        width: 46px;
        height: 46px;
        margin-left: auto;
    }

    .primary-nav {
        top: 100%;
        height: calc(100dvh - 86px);
        padding: 14px 18px 28px;
    }

    .primary-nav__layout {
        max-width: none;
    }

    .primary-nav__group > li > a,
    .primary-nav__group > li > .nav-dropdown-toggle {
        min-height: 56px;
        padding: 12px 4px;
        font-size: .98rem;
    }

    .intro-showcase {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .intro-showcase__copy {
        max-width: 760px;
    }

    .intro-showcase__visual {
        width: min(100%, 760px);
        min-height: auto;
        padding: 0;
    }

    .intro-photo {
        height: 520px;
    }

    .mission-card--overlay {
        position: relative;
        left: auto;
        bottom: auto;
        width: calc(100% - 54px);
        min-height: 0;
        margin: -70px auto 0;
    }
}

@media (max-width: 760px) {
    .site-header .container {
        width: min(calc(100% - 24px), var(--container));
    }

    .brand,
    .site-header.is-scrolled .brand {
        top: 12px;
        width: 122px;
        height: 66px;
        padding: 4px 6px 5px;
    }

    .hero-slider {
        min-height: 690px;
    }

    .hero-slide__shade {
        background: linear-gradient(90deg, rgba(2, 40, 30, .94) 0%, rgba(2, 48, 35, .78) 72%, rgba(2, 48, 35, .55) 100%), linear-gradient(0deg, rgba(3, 61, 48, .5), transparent 48%);
    }

    .hero-slide__content {
        justify-content: flex-start;
        padding-top: 70px;
        padding-bottom: 145px;
    }

    .hero-slide h1,
    .hero-slide h2 {
        max-width: 100%;
        margin-bottom: 20px;
        font-size: clamp(2.75rem, 11.5vw, 3.75rem);
        line-height: 1.04;
        overflow-wrap: normal;
        word-break: normal;
    }

    .hero-slide p {
        max-width: 100%;
        margin-bottom: 28px;
        font-size: 1rem;
        line-height: 1.68;
    }

    .hero-slide__content .button-row {
        width: 100%;
        max-width: 100%;
        gap: 12px;
    }

    .hero-slide__content .btn {
        width: 100%;
        min-height: 54px;
        padding: 12px 16px;
    }

    .hero-slider__controls {
        bottom: 24px;
        width: min(calc(100% - 24px), 680px);
        gap: 12px;
    }

    .hero-slider__controls > button {
        width: 46px;
        height: 46px;
        flex: 0 0 46px;
    }

    .hero-slider__dots {
        flex: 0 0 auto;
    }

    .intro-showcase__copy .section-heading h2 {
        font-size: clamp(2.7rem, 12vw, 4rem);
    }

    .intro-showcase__points {
        display: grid;
        gap: 10px;
    }

    .intro-photo {
        height: 430px;
        border-radius: 18px;
    }

    .intro-photo figcaption {
        left: 18px;
        right: 18px;
        bottom: 16px;
        font-size: .78rem;
    }

    .mission-card--overlay {
        width: calc(100% - 28px);
        margin-top: -42px;
        padding: 30px 26px 32px;
        border-radius: 16px;
    }

    .mission-card--overlay .mission-card__mark {
        margin-bottom: 22px;
    }

    .mission-card--overlay p {
        font-size: clamp(1.38rem, 6vw, 1.75rem);
    }
}

@media (max-width: 480px) {
    .brand,
    .site-header.is-scrolled .brand {
        width: 112px;
        height: 62px;
    }

    .hero-slider {
        min-height: 720px;
    }

    .hero-slide__content {
        padding-top: 58px;
        padding-bottom: 148px;
    }

    .hero-slide h1,
    .hero-slide h2 {
        font-size: clamp(2.5rem, 11.7vw, 3.25rem);
    }

    .hero-slider__controls {
        gap: 9px;
    }

    .hero-slider__controls > button {
        width: 43px;
        height: 43px;
        flex-basis: 43px;
    }

    .hero-slider__dots {
        gap: 6px;
    }

    .intro-photo {
        height: 370px;
    }
}

/* ===================================================================
   V6 FINAL HEADER, MOBILE HERO, MEDIA AND INTRO REFINEMENT
   =================================================================== */
:root {
    --container: 1440px;
    --header-height: 94px;
}

/* Every visible action uses the requested 10px radius. */
.btn,
.nav-toggle,
.primary-nav__group > li > a,
.primary-nav__group > li > .nav-dropdown-toggle,
.primary-nav__group > li > .nav-donate,
.hero-slider__arrow,
.back-to-top,
.cookie-banner button,
.form-shell button[type="submit"] {
    border-radius: 10px !important;
}

/* Top utility bar */
.topbar__inner {
    width: min(calc(100% - 48px), var(--container));
}

.topbar__links {
    align-items: center;
    gap: 20px;
}

.topbar__links a {
    white-space: nowrap;
}

/* Desktop header: navigation follows the exact main page container line. */
.site-header {
    height: var(--header-height);
    overflow: visible;
}

.site-header .container {
    width: min(calc(100% - 48px), var(--container));
}

.site-header__inner {
    min-height: var(--header-height);
    height: var(--header-height);
    padding-inline: 0;
}

.primary-nav {
    width: 100%;
    margin: 0;
}

.primary-nav__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 174px minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    width: 100%;
}

.primary-nav__group {
    gap: 8px;
}

.primary-nav__group--left {
    justify-content: flex-start;
}

.primary-nav__group--right {
    justify-content: flex-end;
}

.primary-nav__group > li > a,
.primary-nav__group > li > .nav-dropdown-toggle {
    min-height: 50px;
    padding-inline: 13px;
    font-size: .9rem;
    font-weight: 800;
}

.primary-nav__group > li > .nav-donate {
    min-width: 100px;
    padding-inline: 20px;
}

/* Centred logo fits inside the bar and no longer hangs heavily over the hero. */
.brand {
    left: 50%;
    top: -18px;
    width: 152px;
    height: 112px;
    padding: 8px 11px 12px;
    transform: translateX(-50%);
    background: #fff;
    border: 1px solid rgba(7, 91, 67, .13);
    border-top: 0;
    border-radius: 0 0 18px 18px;
    box-shadow: 0 14px 36px rgba(3, 61, 48, .15);
    overflow: hidden;
}

.brand::after {
    display: none;
}

.brand img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: none;
    opacity: 1;
}

.site-header.is-scrolled .brand {
    top: 8px;
    width: 122px;
    height: 78px;
    padding: 5px 8px 7px;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(3, 61, 48, .12);
}

/* Hero: clean controls only, positioned on opposite sides. */
.hero-slider {
    min-height: min(748px, calc(100vh - 126px));
}

.hero-slide__content {
    justify-content: center;
    padding-top: 58px;
    padding-bottom: 76px;
}

.hero-slide h1,
.hero-slide h2 {
    max-width: 820px;
    margin-bottom: 24px;
    font-size: clamp(3.5rem, 5.45vw, 6.6rem);
    line-height: 1.02;
}

.hero-slide p {
    max-width: 700px;
    margin-bottom: 34px;
    font-size: clamp(1.04rem, 1.25vw, 1.24rem);
    line-height: 1.7;
}

.hero-slide__content .button-row {
    gap: 18px;
}

.hero-slider__controls,
.hero-slider__dots,
[data-slider-toggle] {
    display: none !important;
}

.hero-slider__arrow {
    position: absolute;
    z-index: 8;
    top: 50%;
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    transform: translateY(-50%);
    border: 1px solid rgba(255, 255, 255, .5);
    color: #fff;
    background: rgba(3, 61, 48, .34);
    box-shadow: 0 12px 32px rgba(0, 0, 0, .16);
    backdrop-filter: blur(10px);
    transition: background .2s ease, color .2s ease, transform .2s ease;
}

.hero-slider__arrow:hover {
    color: var(--green-950);
    background: #fff;
}

.hero-slider__arrow svg {
    width: 21px;
    height: 21px;
}

.hero-slider__arrow--prev {
    left: clamp(16px, 2.2vw, 44px);
}

.hero-slider__arrow--prev svg {
    transform: rotate(180deg);
}

.hero-slider__arrow--next {
    right: clamp(16px, 2.2vw, 44px);
}

.hero-slide:nth-child(1) > img {
    object-position: center 44%;
}

.hero-slide:nth-child(2) > img {
    object-position: center 42%;
}

.hero-slide:nth-child(3) > img {
    object-position: center 44%;
}

/* Intro: a smaller mission card keeps the portrait visible. */
.intro-showcase {
    grid-template-columns: minmax(0, .92fr) minmax(540px, 1.08fr);
    gap: clamp(55px, 6vw, 105px);
}

.intro-showcase__copy .section-heading h2 {
    font-size: clamp(3rem, 4.1vw, 5rem);
}

.intro-showcase__visual {
    min-height: 630px;
    padding: 0 0 55px 72px;
}

.intro-photo {
    width: 78%;
    height: 575px;
    margin-left: auto;
    border-radius: 22px;
}

.intro-photo img {
    object-position: center 18%;
}

.mission-card--overlay {
    left: 0;
    bottom: 12px;
    width: min(380px, 58%);
    min-height: 0;
    padding: 30px 32px 34px;
    border-radius: 18px;
}

.mission-card--overlay .mission-card__mark {
    width: 46px;
    height: 46px;
    margin-bottom: 22px;
}

.mission-card--overlay p {
    font-size: clamp(1.32rem, 1.55vw, 1.68rem);
    line-height: 1.35;
}

/* Additional Black and African community photography. */
.section--gallery {
    background:
        radial-gradient(circle at 8% 10%, rgba(199, 226, 208, .42), transparent 28%),
        #fff;
}

.community-gallery {
    display: grid;
    grid-template-columns: 1.25fr .75fr 1fr;
    grid-auto-rows: 265px;
    gap: 18px;
}

.community-gallery__item {
    position: relative;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border-radius: 18px;
    background: var(--green-950);
    box-shadow: var(--shadow-sm);
}

.community-gallery__item--wide {
    grid-row: span 2;
}

.community-gallery__item--portrait {
    grid-row: span 2;
}

.community-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.community-gallery__item--wide img {
    object-position: center center;
}

.community-gallery__item--portrait img {
    object-position: center 18%;
}

.community-gallery__item:hover img {
    transform: scale(1.035);
}

.community-gallery__item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 48%, rgba(2, 40, 30, .82) 100%);
}

.community-gallery__item figcaption {
    position: absolute;
    z-index: 2;
    left: 22px;
    right: 22px;
    bottom: 20px;
    color: #fff;
}

.community-gallery__item figcaption strong,
.community-gallery__item figcaption span {
    display: block;
}

.community-gallery__item figcaption strong {
    font-size: 1rem;
}

.community-gallery__item figcaption span {
    margin-top: 3px;
    color: rgba(255, 255, 255, .76);
    font-size: .78rem;
}

/* Two-video media block. */
.media-intro {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(480px, 1.2fr);
    gap: clamp(42px, 6vw, 92px);
    align-items: start;
    margin-bottom: 52px;
}

.media-intro .section-heading {
    margin-bottom: 0;
}

.numbered-process--compact {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.numbered-process--compact li {
    margin: 0;
}

.video-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.video-feature {
    overflow: hidden;
    border-radius: 20px;
    background: var(--green-950);
    box-shadow: var(--shadow);
}

.video-feature video {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    background: #061f18;
}

.video-feature__body {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 22px 22px;
}

.video-feature__body > span {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: grid;
    place-items: center;
    color: var(--green-950);
    background: var(--mint-300);
    border-radius: 10px;
}

.video-feature__body svg {
    width: 19px;
    height: 19px;
}

.video-feature__body strong {
    display: block;
    color: #fff;
}

.video-feature__body p {
    margin: 3px 0 0;
    color: rgba(255, 255, 255, .68);
    font-size: .84rem;
}

@media (min-width: 1021px) and (max-width: 1280px) {
    .site-header .container,
    .topbar__inner {
        width: min(calc(100% - 32px), var(--container));
    }

    .primary-nav__layout {
        grid-template-columns: minmax(0, 1fr) 156px minmax(0, 1fr);
        gap: 9px;
    }

    .primary-nav__group {
        gap: 2px;
    }

    .primary-nav__group > li > a,
    .primary-nav__group > li > .nav-dropdown-toggle {
        padding-inline: 8px;
        font-size: .79rem;
    }

    .brand {
        width: 138px;
        height: 104px;
        top: -14px;
    }

    .site-header.is-scrolled .brand {
        width: 116px;
        height: 76px;
    }

    .intro-showcase {
        grid-template-columns: minmax(0, .92fr) minmax(490px, 1.08fr);
        gap: 48px;
    }

    .intro-showcase__visual {
        padding-left: 54px;
    }

    .mission-card--overlay {
        width: min(350px, 61%);
    }
}

/* Tablet and mobile: clean left-aligned logo and compact hero. */
@media (max-width: 1020px) {
    :root {
        --header-height: 84px;
    }

    .topbar {
        display: none;
    }

    .site-header,
    .site-header__inner {
        height: var(--header-height);
        min-height: var(--header-height);
    }

    .site-header .container {
        width: min(calc(100% - 30px), var(--container));
    }

    .site-header__inner {
        justify-content: flex-end;
    }

    .brand,
    .site-header.is-scrolled .brand {
        left: 0;
        top: 10px;
        width: 122px;
        height: 66px;
        padding: 3px 6px 5px;
        transform: none;
        border: 1px solid rgba(7, 91, 67, .12);
        border-radius: 10px;
        box-shadow: 0 8px 22px rgba(3, 61, 48, .10);
    }

    .nav-toggle {
        width: 46px;
        height: 46px;
        margin-left: auto;
    }

    .primary-nav {
        top: 100%;
        height: calc(100dvh - var(--header-height));
        padding: 16px 18px 30px;
    }

    .primary-nav__layout {
        display: block;
        max-width: none;
    }

    .primary-nav__group {
        display: block;
    }

    .primary-nav__group > li > a,
    .primary-nav__group > li > .nav-dropdown-toggle {
        width: 100%;
        min-height: 56px;
        height: auto;
        justify-content: space-between;
        padding: 12px 5px;
        border-radius: 0 !important;
        font-size: 1rem;
    }

    .primary-nav__group > li > .nav-donate {
        justify-content: center;
        margin-top: 12px;
        border-radius: 10px !important;
    }

    .intro-showcase,
    .media-intro {
        grid-template-columns: 1fr;
    }

    .intro-showcase__visual {
        width: min(100%, 760px);
        min-height: auto;
        padding: 0;
    }

    .intro-photo {
        width: 76%;
        height: 500px;
        margin-left: auto;
    }

    .mission-card--overlay {
        width: min(390px, 58%);
        left: 0;
        bottom: 22px;
    }

    .community-gallery {
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: 260px;
    }

    .community-gallery__item--wide,
    .community-gallery__item--portrait {
        grid-row: span 1;
    }

    .community-gallery__item--wide {
        grid-column: span 2;
    }

    .video-gallery {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .container,
    .site-header .container {
        width: min(calc(100% - 32px), var(--container));
    }

    .brand,
    .site-header.is-scrolled .brand {
        top: 11px;
        width: 116px;
        height: 64px;
    }

    .hero-slider {
        min-height: 680px;
    }

    .hero-slide__shade {
        background:
            linear-gradient(90deg, rgba(2, 36, 27, .94) 0%, rgba(3, 61, 48, .80) 70%, rgba(3, 61, 48, .63) 100%),
            linear-gradient(0deg, rgba(2, 36, 27, .55), transparent 58%);
    }

    .hero-slide__content {
        justify-content: center;
        padding-top: 44px;
        padding-bottom: 112px;
    }

    .hero-slide .eyebrow {
        margin-bottom: 13px;
        font-size: .68rem;
        letter-spacing: .11em;
    }

    .hero-slide .eyebrow::before {
        width: 22px;
    }

    .hero-slide h1,
    .hero-slide h2 {
        max-width: 100%;
        margin-bottom: 19px;
        font-size: clamp(2.45rem, 10.7vw, 3.55rem);
        line-height: 1.02;
        overflow-wrap: normal;
        word-break: normal;
    }

    .hero-slide p {
        max-width: 100%;
        margin-bottom: 26px;
        font-size: .97rem;
        line-height: 1.62;
    }

    .hero-slide__content .button-row {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .hero-slide__content .btn {
        width: 100%;
        min-height: 50px;
        padding: 11px 15px;
    }

    .hero-slider__arrow {
        top: auto;
        bottom: 22px;
        width: 44px;
        height: 44px;
        transform: none;
    }

    .hero-slider__arrow--prev {
        left: 16px;
    }

    .hero-slider__arrow--next {
        right: 16px;
    }

    .hero-slide:nth-child(1) > img {
        object-position: 60% center;
    }

    .hero-slide:nth-child(2) > img {
        object-position: 54% center;
    }

    .hero-slide:nth-child(3) > img {
        object-position: 58% center;
    }

    .trust-strip__inner {
        align-items: flex-start;
    }

    .intro-showcase {
        gap: 40px;
    }

    .intro-showcase__copy .section-heading h2 {
        font-size: clamp(2.65rem, 11vw, 3.8rem);
    }

    .intro-showcase__visual {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .intro-photo {
        width: 100%;
        height: 420px;
        margin: 0;
        border-radius: 18px;
    }

    .intro-photo img {
        object-position: center 15%;
    }

    .mission-card--overlay {
        position: relative;
        left: auto;
        bottom: auto;
        width: 100%;
        margin: 0;
        padding: 28px 24px 30px;
        border-radius: 16px;
    }

    .mission-card--overlay p {
        font-size: clamp(1.35rem, 5.8vw, 1.72rem);
    }

    .community-gallery {
        grid-template-columns: 1fr;
        grid-auto-rows: 290px;
    }

    .community-gallery__item--wide {
        grid-column: auto;
    }

    .community-gallery__item--portrait {
        min-height: 370px;
    }

    .media-intro {
        gap: 34px;
        margin-bottom: 38px;
    }

    .numbered-process--compact {
        grid-template-columns: 1fr;
    }

    .video-gallery {
        gap: 18px;
    }

    .video-feature {
        border-radius: 16px;
    }

    .video-feature__body {
        padding: 17px 18px 19px;
    }
}

@media (max-width: 430px) {
    .container,
    .site-header .container {
        width: min(calc(100% - 26px), var(--container));
    }

    .brand,
    .site-header.is-scrolled .brand {
        top: 12px;
        width: 108px;
        height: 61px;
    }

    .nav-toggle {
        width: 43px;
        height: 43px;
    }

    .hero-slider {
        min-height: 660px;
    }

    .hero-slide__content {
        padding-top: 36px;
        padding-bottom: 104px;
    }

    .hero-slide h1,
    .hero-slide h2 {
        font-size: clamp(2.32rem, 10.8vw, 3rem);
    }

    .hero-slide p {
        font-size: .93rem;
    }

    .intro-photo {
        height: 370px;
    }
}

/* ===================================================================
   V6.1 FINAL VISUAL CHECK REFINEMENTS
   =================================================================== */
/* Keep the complete official square logo visible inside every header card. */
.brand picture {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    overflow: hidden;
}

.brand picture img,
.brand img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}

/* Reveal more of the supporting photograph while keeping the mission readable. */
.mission-card--overlay {
    width: min(350px, 52%);
    padding: 26px 28px 29px;
}

.mission-card--overlay .mission-card__mark {
    width: 42px;
    height: 42px;
    margin-bottom: 18px;
}

.mission-card--overlay p {
    font-size: clamp(1.14rem, 1.28vw, 1.38rem);
    line-height: 1.34;
}

@media (min-width: 1021px) and (max-width: 1280px) {
    .mission-card--overlay {
        width: min(330px, 54%);
        padding: 24px 26px 27px;
    }
}

@media (max-width: 1020px) {
    :root {
        --header-height: 90px;
    }

    .site-header,
    .site-header__inner {
        height: var(--header-height);
        min-height: var(--header-height);
    }

    .brand,
    .site-header.is-scrolled .brand {
        top: 6px;
        width: 132px;
        height: 78px;
        padding: 4px 7px;
    }

    .primary-nav {
        height: calc(100dvh - var(--header-height));
    }

    /* On tablet, keep the controls at opposite lower corners, away from copy/buttons. */
    .hero-slider__arrow {
        top: auto;
        bottom: 24px;
        transform: none;
    }
}

/* At compact tablet sizes, stop overlapping the mission text over the portrait. */
@media (max-width: 900px) {
    .intro-showcase__visual {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .intro-photo {
        width: 100%;
        height: 500px;
        margin: 0;
    }

    .mission-card--overlay {
        position: relative;
        left: auto;
        bottom: auto;
        width: 100%;
        margin: 0;
        padding: 28px 26px 30px;
    }

    .mission-card--overlay p {
        font-size: clamp(1.32rem, 3.5vw, 1.6rem);
    }
}

@media (max-width: 760px) {
    .brand,
    .site-header.is-scrolled .brand {
        top: 7px;
        width: 126px;
        height: 76px;
        padding: 4px 6px;
    }

    .hero-slider__arrow {
        bottom: 18px;
    }

    /* A compact first-visit privacy notice no longer dominates the mobile hero. */
    .cookie-banner {
        left: 9px;
        right: 9px;
        bottom: 9px;
        gap: 8px;
        padding: 14px 16px;
        border-radius: 12px;
    }

    .cookie-banner strong {
        font-size: .9rem;
    }

    .cookie-banner p {
        font-size: .69rem;
        line-height: 1.45;
    }

    .cookie-banner .btn {
        min-height: 42px;
        padding-block: 9px;
    }
}

@media (max-width: 430px) {
    .brand,
    .site-header.is-scrolled .brand {
        width: 122px;
        height: 74px;
    }
}

/* The picture element keeps the intrinsic square aspect ratio; absolute fitting
   ensures the complete logo scales inside the wider header card. */
.brand picture {
    position: relative;
}

.brand picture img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
}

@media (max-width: 760px) {
    /* Keep the two clean slider arrows visible on the left and right even
       while the first-visit privacy notice is present. */
    .hero-slider__arrow {
        top: 78%;
        bottom: auto;
        transform: translateY(-50%);
    }
}

@media (max-width: 430px) {
    .brand,
    .site-header.is-scrolled .brand {
        top: 4px;
        width: 126px;
        height: 82px;
    }
}

/* ===================================================================
   V7 FINAL HEADER, HERO, NAVIGATION AND FIRST-HOME-SECTION REFINEMENT
   =================================================================== */
:root {
    --header-height: 100px;
}

/* Keep the site shell aligned to the same visual page line. */
.topbar__inner,
.site-header .container {
    width: min(calc(100% - 48px), 1440px);
}

.site-header,
.site-header__inner {
    height: var(--header-height);
    min-height: var(--header-height);
}

.site-header__inner {
    position: relative;
    padding-inline: 0;
}

.primary-nav {
    width: 100%;
    margin: 0;
}

.primary-nav__layout {
    grid-template-columns: minmax(0, 1fr) 214px minmax(0, 1fr);
    gap: 24px;
}

.primary-nav__group {
    gap: 7px;
}

.primary-nav__group--left {
    justify-content: flex-start;
}

.primary-nav__group--right {
    justify-content: flex-end;
}

.primary-nav__group > li > a,
.primary-nav__group > li > .nav-dropdown-toggle {
    min-height: 52px;
    padding-inline: 14px;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -.015em;
}

/* Larger, clearer official logo card matching the marked reference area. */
.brand,
.site-header.is-scrolled .brand {
    left: 50%;
    transform: translateX(-50%);
}

.brand {
    top: -18px;
    width: 194px;
    height: 150px;
    padding: 4px 8px 9px;
    background: #fff;
    border: 1px solid rgba(7, 91, 67, .13);
    border-top: 0;
    border-radius: 0 0 18px 18px;
    box-shadow: 0 18px 42px rgba(3, 61, 48, .17);
    overflow: hidden;
}

.brand picture,
.brand picture img,
.brand img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}

.brand picture img {
    position: static;
    inset: auto;
}

.site-header.is-scrolled .brand {
    top: 5px;
    width: 154px;
    height: 90px;
    padding: 3px 7px 6px;
    border: 1px solid rgba(7, 91, 67, .12);
    border-radius: 10px;
    box-shadow: 0 9px 28px rgba(3, 61, 48, .13);
}

/* Contact and donation calls to action. */
.nav-menu-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
}

.primary-nav__group > li > .nav-contact {
    gap: 8px;
    color: var(--green-800);
    border: 1.5px dashed rgba(7, 91, 67, .72);
    background: #fff;
}

.primary-nav__group > li > .nav-contact:hover,
.primary-nav__group > li > .nav-contact.is-active {
    color: #fff;
    border-color: var(--green-800);
    background: var(--green-800);
}

.primary-nav__group > li > .nav-donate {
    min-width: 118px;
    gap: 8px;
    padding-inline: 20px;
}

/* A tighter hero eliminates the oversized empty lower area. */
.hero-slider {
    min-height: clamp(610px, 66vh, 660px);
}

.hero-slider__track,
.hero-slide,
.hero-slide__content {
    min-height: inherit;
}

.hero-slide__content {
    justify-content: center;
    padding-top: 64px;
    padding-bottom: 58px;
}

.hero-slide h1,
.hero-slide h2 {
    max-width: 820px;
    margin-bottom: 22px;
    font-size: clamp(3.45rem, 5.35vw, 6.35rem);
}

.hero-slide p {
    max-width: 710px;
    margin-bottom: 31px;
}

.hero-slide__content .button-row {
    gap: 16px;
}

.hero-slider__arrow {
    top: 50%;
}

/* Keep the refreshed first section photographic, balanced and readable. */
.section--intro {
    padding-block: clamp(78px, 8vw, 122px);
}

.intro-showcase {
    grid-template-columns: minmax(0, .92fr) minmax(520px, 1.08fr);
    gap: clamp(52px, 6vw, 96px);
}

.intro-showcase__visual {
    min-height: 610px;
    padding: 0 0 44px 64px;
}

.intro-photo {
    width: 82%;
    height: 560px;
}

.mission-card--overlay {
    width: min(340px, 50%);
    bottom: 0;
    padding: 26px 28px 29px;
}

.mission-card--overlay p {
    font-size: clamp(1.15rem, 1.28vw, 1.38rem);
}

@media (min-width: 1021px) and (max-width: 1320px) {
    .topbar__inner,
    .site-header .container {
        width: min(calc(100% - 30px), 1260px);
    }

    .primary-nav__layout {
        grid-template-columns: minmax(0, 1fr) 184px minmax(0, 1fr);
        gap: 10px;
    }

    .primary-nav__group {
        gap: 2px;
    }

    .primary-nav__group > li > a,
    .primary-nav__group > li > .nav-dropdown-toggle {
        padding-inline: 8px;
        font-size: .84rem;
    }

    .primary-nav__group > li > .nav-contact {
        padding-inline: 10px;
    }

    .primary-nav__group > li > .nav-donate {
        min-width: 96px;
        padding-inline: 13px;
    }

    .brand {
        width: 172px;
        height: 137px;
        top: -15px;
    }

    .site-header.is-scrolled .brand {
        width: 142px;
        height: 88px;
    }

    .intro-showcase {
        grid-template-columns: minmax(0, .94fr) minmax(470px, 1.06fr);
        gap: 44px;
    }
}

/* Tablet and phone: left logo, clear navigation and compact hero. */
@media (max-width: 1020px) {
    :root {
        --header-height: 92px;
    }

    .topbar {
        display: none;
    }

    .site-header .container {
        width: min(calc(100% - 30px), 940px);
    }

    .site-header__inner {
        justify-content: flex-end;
    }

    .brand,
    .site-header.is-scrolled .brand {
        left: 0;
        top: 5px;
        width: 142px;
        height: 82px;
        padding: 3px 6px 5px;
        transform: none;
        border: 1px solid rgba(7, 91, 67, .12);
        border-radius: 10px;
        box-shadow: 0 8px 24px rgba(3, 61, 48, .11);
    }

    .nav-toggle {
        width: 46px;
        height: 46px;
        margin-left: auto;
    }

    .primary-nav {
        top: 100%;
        height: calc(100dvh - var(--header-height));
    }

    .primary-nav__layout {
        display: block;
    }

    .primary-nav__group > li > a,
    .primary-nav__group > li > .nav-dropdown-toggle {
        width: 100%;
        min-height: 58px;
        justify-content: space-between;
        padding: 13px 8px;
        font-size: 1rem;
        border-radius: 0 !important;
    }

    .primary-nav__group > li > .nav-contact {
        justify-content: flex-start;
        gap: 10px;
        margin-block: 10px 4px;
        padding-inline: 14px;
        border-radius: 10px !important;
    }

    .primary-nav__group > li > .nav-donate {
        justify-content: center;
        margin-top: 8px;
        border-radius: 10px !important;
    }

    .hero-slider {
        min-height: 620px;
    }

    .hero-slide__content {
        padding-top: 48px;
        padding-bottom: 82px;
    }

    .hero-slide h1,
    .hero-slide h2 {
        font-size: clamp(2.8rem, 8vw, 4.4rem);
    }

    .intro-showcase {
        grid-template-columns: 1fr;
    }

    .intro-showcase__visual {
        min-height: auto;
        padding: 0;
    }
}

@media (max-width: 760px) {
    .container,
    .site-header .container {
        width: min(calc(100% - 28px), var(--container));
    }

    .brand,
    .site-header.is-scrolled .brand {
        top: 6px;
        width: 136px;
        height: 80px;
    }

    .hero-slider {
        min-height: 600px;
    }

    .hero-slide__content {
        justify-content: center;
        padding-top: 42px;
        padding-bottom: 76px;
    }

    .hero-slide h1,
    .hero-slide h2 {
        margin-bottom: 18px;
        font-size: clamp(2.42rem, 10.6vw, 3.45rem);
        line-height: 1.02;
    }

    .hero-slide p {
        margin-bottom: 24px;
        font-size: .96rem;
        line-height: 1.6;
    }

    .hero-slide__content .button-row {
        gap: 10px;
    }

    .hero-slider__arrow {
        top: auto;
        bottom: 15px;
        width: 43px;
        height: 43px;
        transform: none;
    }

    .intro-photo {
        width: 100%;
        height: 410px;
    }

    .mission-card--overlay {
        width: 100%;
    }
}

@media (max-width: 430px) {
    :root {
        --header-height: 88px;
    }

    .brand,
    .site-header.is-scrolled .brand {
        top: 5px;
        width: 128px;
        height: 78px;
    }

    .hero-slider {
        min-height: 590px;
    }

    .hero-slide__content {
        padding-top: 34px;
        padding-bottom: 72px;
    }

    .hero-slide h1,
    .hero-slide h2 {
        font-size: clamp(2.25rem, 10.7vw, 2.95rem);
    }
}

/* V7.1 logo fitting correction: constrain the whole official mark inside the card. */
.brand {
    width: 190px;
    height: 160px;
}

.brand picture {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.brand picture img,
.brand img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    object-position: center;
}

@media (min-width: 1021px) and (max-width: 1320px) {
    .brand {
        width: 168px;
        height: 145px;
    }
}

@media (max-width: 1020px) {
    .brand,
    .site-header.is-scrolled .brand {
        width: 126px;
        height: 108px;
        top: 4px;
    }
}

@media (max-width: 430px) {
    .brand,
    .site-header.is-scrolled .brand {
        width: 120px;
        height: 104px;
        top: 3px;
    }
}

/* ===================================================================
   V8 NAVIGATION, HOME COMMUNITY STORIES & FUNDRAISING VISUAL POLISH
   =================================================================== */

/* Small utility icons in the top information bar. */
.topbar__links a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.topbar__icon {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    opacity: .84;
}

/* Every main navigation item now has a clear supporting icon. */
.nav-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.nav-item-icon {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    color: var(--green-700);
    transition: color .2s ease;
}

.primary-nav__group > li > a:hover .nav-item-icon,
.primary-nav__group > li > a.is-active .nav-item-icon,
.primary-nav__group > li > .nav-dropdown-toggle:hover .nav-item-icon,
.primary-nav__group > li > .nav-dropdown-toggle.is-active .nav-item-icon {
    color: currentColor;
}

/* Dropdown entries use icons without sacrificing text hierarchy. */
.nav-dropdown a {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 11px;
    align-items: start;
}

.nav-dropdown__icon {
    width: 32px;
    height: 32px;
    padding: 7px;
    color: var(--green-700);
    background: var(--mint-100);
    border-radius: 9px;
}

.nav-dropdown__copy,
.nav-dropdown__copy strong,
.nav-dropdown__copy > span {
    min-width: 0;
}

.nav-dropdown .nav-dropdown__copy {
    display: block;
    margin: 0;
}

.nav-dropdown .nav-dropdown__copy > span {
    display: block;
    margin-top: 3px;
}

/* Open left-side dropdowns toward the right edge of the viewport. */
@media (min-width: 1021px) {
    .primary-nav__group--left .has-dropdown > .nav-dropdown {
        left: 0;
        right: auto;
    }

    .primary-nav__group--left .nav-mega > .nav-dropdown--mega {
        left: 0 !important;
        right: auto !important;
        width: min(650px, calc(100vw - 42px));
        transform: translateY(10px) !important;
    }

    .primary-nav__group--left .nav-mega:hover > .nav-dropdown--mega,
    .primary-nav__group--left .nav-mega:focus-within > .nav-dropdown--mega,
    .primary-nav__group--left .nav-mega.is-open > .nav-dropdown--mega {
        transform: translateY(0) !important;
    }

    .primary-nav__group--right .has-dropdown > .nav-dropdown {
        left: auto;
        right: 0;
    }
}

/* Use the transparent official mark when the header becomes sticky. */
.brand__mark--sticky {
    display: none !important;
}

.site-header.is-scrolled .brand {
    padding: 0 !important;
    background: transparent !important;
    border-color: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.site-header.is-scrolled .brand__mark--default {
    display: none !important;
}

.site-header.is-scrolled .brand__mark--sticky {
    display: block !important;
}

.site-header.is-scrolled .brand__mark--sticky img {
    filter: drop-shadow(0 5px 10px rgba(3, 61, 48, .13));
}

/* Home page: a new, image-led section before the final news section. */
.section--community-stories {
    background:
        radial-gradient(circle at 5% 5%, rgba(199, 226, 208, .48), transparent 30%),
        linear-gradient(180deg, #fff 0%, #f8fcfa 100%);
}

.section--community-stories .section-heading {
    max-width: 850px;
    margin-bottom: 46px;
}

.community-stories__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(250px, .72fr) minmax(300px, .95fr);
    grid-template-rows: repeat(2, minmax(220px, 1fr));
    gap: 18px;
    min-height: 540px;
}

.community-stories__stack {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 18px;
    min-width: 0;
}

.community-story {
    position: relative;
    display: block;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    color: #fff;
    background: var(--green-950);
    border-radius: 18px;
    box-shadow: 0 18px 44px rgba(3, 61, 48, .12);
    isolation: isolate;
}

.community-story--feature,
.community-story--portrait {
    grid-row: 1 / 3;
}

.community-story img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.community-story--feature img {
    object-position: center;
}

.community-story--portrait img {
    object-position: center 18%;
}

.community-story:hover img,
.community-story:focus-visible img {
    transform: scale(1.04);
}

.community-story__shade {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(2, 40, 30, .03) 20%, rgba(2, 40, 30, .9) 100%);
}

.community-story__content {
    position: absolute;
    z-index: 2;
    left: 24px;
    right: 24px;
    bottom: 22px;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    column-gap: 13px;
    align-items: center;
}

.community-story__icon {
    grid-row: 1 / 3;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    color: var(--green-950);
    background: var(--mint-300);
    border-radius: 10px;
}

.community-story__icon svg {
    width: 20px;
    height: 20px;
}

.community-story__content strong,
.community-story__content small {
    display: block;
}

.community-story__content strong {
    color: #fff;
    font-size: 1rem;
}

.community-story__content small {
    margin-top: 3px;
    color: rgba(255, 255, 255, .76);
    font-size: .76rem;
    line-height: 1.45;
}

/* Fundraising page: fill the previously empty right-hand area with imagery. */
.split-copy--fundraise {
    grid-template-columns: minmax(0, .92fr) minmax(440px, 1.08fr);
    align-items: stretch;
}

.fundraise-side {
    display: flex;
    flex-direction: column;
    gap: 22px;
    min-width: 0;
}

.fundraise-visual {
    position: relative;
    flex: 1;
    min-height: 520px;
    margin: 0;
    overflow: hidden;
    background: var(--green-950);
    border-radius: 18px;
    box-shadow: 0 20px 50px rgba(3, 61, 48, .14);
    isolation: isolate;
}

.fundraise-visual img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    object-position: center;
}

.fundraise-visual__shade {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(3, 45, 34, .05) 25%, rgba(3, 45, 34, .94) 100%),
        linear-gradient(90deg, rgba(3, 45, 34, .2), transparent 60%);
}

.fundraise-visual figcaption {
    position: absolute;
    z-index: 2;
    left: 30px;
    right: 30px;
    bottom: 30px;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.fundraise-visual__icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    color: var(--green-950);
    background: var(--mint-300);
    border-radius: 10px;
}

.fundraise-visual__icon svg {
    width: 24px;
    height: 24px;
}

.fundraise-visual h2 {
    max-width: 500px;
    margin: 9px 0 10px;
    color: #fff;
    font-size: clamp(2rem, 3.2vw, 3.35rem);
}

.fundraise-visual p {
    max-width: 570px;
    margin: 0;
    color: rgba(255, 255, 255, .78);
    font-size: .9rem;
}

@media (min-width: 1021px) and (max-width: 1240px) {
    .nav-label {
        gap: 6px;
    }

    .nav-item-icon {
        width: 15px;
        height: 15px;
        flex-basis: 15px;
    }

    .primary-nav__group > li > a,
    .primary-nav__group > li > .nav-dropdown-toggle {
        padding-inline: 7px;
        font-size: .82rem;
    }

    .community-stories__grid {
        grid-template-columns: minmax(0, 1.1fr) minmax(220px, .72fr) minmax(270px, .95fr);
    }
}

@media (max-width: 1020px) {
    .nav-label {
        gap: 10px;
    }

    .nav-item-icon {
        width: 19px;
        height: 19px;
        flex-basis: 19px;
    }

    .primary-nav__group > li > a,
    .primary-nav__group > li > .nav-dropdown-toggle {
        align-items: center;
    }

    .nav-dropdown a {
        grid-template-columns: 32px minmax(0, 1fr);
        padding: 11px 10px;
    }

    .nav-dropdown__icon {
        width: 30px;
        height: 30px;
        padding: 6px;
    }

    .site-header.is-scrolled .brand {
        top: 3px;
        width: 122px;
        height: 86px;
    }

    .community-stories__grid {
        grid-template-columns: 1.1fr .9fr;
        grid-template-rows: 360px 260px;
        min-height: 0;
    }

    .community-story--feature {
        grid-column: 1;
        grid-row: 1;
    }

    .community-story--portrait {
        grid-column: 2;
        grid-row: 1;
    }

    .community-stories__stack {
        grid-column: 1 / -1;
        grid-row: 2;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr;
    }

    .split-copy--fundraise {
        grid-template-columns: 1fr;
    }

    .fundraise-visual {
        min-height: 480px;
    }
}

@media (max-width: 680px) {
    .community-stories__grid {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: none;
        gap: 14px;
    }

    .community-story,
    .community-story--feature,
    .community-story--portrait {
        grid-column: auto;
        grid-row: auto;
        min-height: 310px;
    }

    .community-story--portrait {
        min-height: 390px;
    }

    .community-stories__stack {
        grid-column: auto;
        grid-row: auto;
        grid-template-columns: 1fr;
        grid-template-rows: none;
        gap: 14px;
    }

    .community-stories__stack .community-story {
        min-height: 270px;
    }

    .community-story__content {
        left: 18px;
        right: 18px;
        bottom: 18px;
    }

    .fundraise-visual {
        min-height: 430px;
    }

    .fundraise-visual figcaption {
        left: 20px;
        right: 20px;
        bottom: 22px;
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 13px;
    }

    .fundraise-visual__icon {
        width: 44px;
        height: 44px;
    }

    .fundraise-visual h2 {
        font-size: 2.05rem;
    }
}


/* ===================================================================
   V9 COMPACT COMMUNITY GALLERY, MOBILE STICKY LOGO & DONATION POLISH
   =================================================================== */

/* Keep the home-page photography section visually rich without letting the
   portrait cards dominate the full viewport height on desktop. */
@media (min-width: 1021px) {
    .community-stories__grid {
        height: 470px;
        min-height: 0;
        grid-template-rows: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 681px) and (max-width: 1020px) {
    .community-stories__grid {
        grid-template-rows: 300px 210px;
        min-height: 0;
    }
}

@media (max-width: 680px) {
    .community-story,
    .community-story--feature {
        min-height: 250px;
    }

    .community-story--portrait {
        min-height: 300px;
    }

    .community-stories__stack .community-story {
        min-height: 220px;
    }
}

/* Desktop keeps the clean transparent sticky mark introduced in V8.
   Tablet and mobile retain the earlier white logo card for clarity. */
@media (max-width: 1020px) {
    .site-header.is-scrolled .brand {
        padding: 3px 6px 5px !important;
        background: #fff !important;
        border: 1px solid rgba(7, 91, 67, .12) !important;
        border-radius: 10px !important;
        box-shadow: 0 8px 24px rgba(3, 61, 48, .11) !important;
        overflow: hidden !important;
    }

    .site-header.is-scrolled .brand__mark--default {
        display: block !important;
    }

    .site-header.is-scrolled .brand__mark--sticky {
        display: none !important;
    }
}

.donation-panel__actions {
    margin-top: 24px;
}

/* ===================================================================
   V10 HOME COMMUNITY STORIES: FULL-HEIGHT RIGHT IMAGE COLUMN
   =================================================================== */
/* On desktop, the two right-side image cards must occupy the complete
   gallery height, matching the feature and portrait cards beside them. */
@media (min-width: 1021px) {
    .community-stories__stack {
        grid-row: 1 / 3;
        height: 100%;
        align-self: stretch;
    }

    .community-stories__stack .community-story {
        height: 100%;
        min-height: 0;
    }
}

/* ===================================================================
   V11 GALLERY, MOBILE STICKY HEADER, COMPACT MENU & CONTACT MAP
   =================================================================== */

/* The right-hand image stack must fill the full height of the home gallery. */
@media (min-width: 1021px) {
    .community-stories__grid {
        align-items: stretch;
    }

    .community-stories__stack {
        grid-row: 1 / -1;
        height: 100%;
        min-height: 0;
        align-self: stretch;
        grid-template-rows: repeat(2, minmax(0, 1fr));
    }

    .community-stories__stack .community-story {
        height: 100%;
        min-height: 0;
    }
}

/* Keep the mobile/tablet logo exactly the same size before and after scroll. */
@media (max-width: 1020px) {
    .site-header {
        position: sticky !important;
        top: 0;
        z-index: 1000;
        transform: translateZ(0);
    }

    .brand,
    .site-header.is-scrolled .brand {
        top: 4px !important;
        width: 126px !important;
        height: 108px !important;
        padding: 3px 6px 5px !important;
        background: #fff !important;
        border: 1px solid rgba(7, 91, 67, .12) !important;
        border-radius: 10px !important;
        box-shadow: 0 8px 24px rgba(3, 61, 48, .11) !important;
        overflow: hidden !important;
    }

    .site-header.is-scrolled .brand__mark--default {
        display: block !important;
    }

    .site-header.is-scrolled .brand__mark--sticky {
        display: none !important;
    }

    /* The toggle stays visible above the open menu at every scroll position. */
    .nav-toggle {
        position: relative;
        z-index: 1004;
        flex: 0 0 46px;
    }

    /* Let the menu use only the height its links require, while remaining
       scrollable on short screens. This removes the large blank area below
       the Donate button. */
    .primary-nav {
        height: auto !important;
        max-height: calc(100dvh - var(--header-height));
        padding: 12px 18px 14px !important;
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .primary-nav__layout,
    .primary-nav__group {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .primary-nav__group--right > li:last-child,
    .nav-donate-item {
        margin-bottom: 0 !important;
        border-bottom: 0 !important;
    }

    .primary-nav__group > li > .nav-donate {
        margin-bottom: 0 !important;
    }
}

@media (max-width: 430px) {
    .brand,
    .site-header.is-scrolled .brand {
        top: 3px !important;
        width: 120px !important;
        height: 104px !important;
    }

    .primary-nav {
        padding-inline: 14px !important;
        padding-bottom: 12px !important;
    }
}

/* Contact page map. */
.contact-map-section {
    overflow: hidden;
}

.contact-map-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 30px;
}

.contact-map-heading > div {
    max-width: 760px;
}

.contact-map-heading h2 {
    margin: 12px 0 12px;
    color: var(--green-950);
    font-family: var(--font-display);
    font-size: clamp(2.35rem, 4.4vw, 4.5rem);
    line-height: 1.02;
}

.contact-map-heading p {
    margin: 0;
    color: var(--muted);
    line-height: 1.75;
}

.contact-map-card {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    background: var(--green-950);
    border: 1px solid rgba(7, 91, 67, .13);
    border-radius: 20px;
    box-shadow: 0 24px 60px rgba(3, 61, 48, .14);
}

.contact-map-card iframe {
    display: block;
    width: 100%;
    height: 520px;
    border: 0;
    filter: saturate(.92) contrast(1.02);
}

.contact-map-card__address {
    position: absolute;
    z-index: 2;
    left: 24px;
    bottom: 24px;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    width: min(430px, calc(100% - 48px));
    padding: 18px 20px;
    color: #fff;
    background: rgba(3, 61, 48, .94);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 14px;
    box-shadow: 0 16px 36px rgba(2, 40, 30, .24);
    backdrop-filter: blur(12px);
}

.contact-map-card__icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    color: var(--green-950);
    background: var(--mint-300);
    border-radius: 10px;
}

.contact-map-card__icon svg {
    width: 23px;
    height: 23px;
}

.contact-map-card__address strong,
.contact-map-card__address p {
    display: block;
    margin: 0;
}

.contact-map-card__address strong {
    font-size: 1rem;
}

.contact-map-card__address p {
    margin-top: 4px;
    color: rgba(255, 255, 255, .76);
    font-size: .82rem;
    line-height: 1.55;
}

@media (max-width: 760px) {
    .contact-map-heading {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 22px;
    }

    .contact-map-heading .btn {
        width: 100%;
    }

    .contact-map-card,
    .contact-map-card iframe {
        height: 430px;
        min-height: 430px;
    }

    .contact-map-card__address {
        left: 14px;
        right: 14px;
        bottom: 14px;
        width: auto;
        grid-template-columns: 42px minmax(0, 1fr);
        padding: 14px;
    }

    .contact-map-card__icon {
        width: 42px;
        height: 42px;
    }
}

/* Fixed mobile menu positioning prevents the open panel from jumping above
   the viewport when body scrolling is locked. */
@media (max-width: 1020px) {
    .primary-nav {
        position: fixed !important;
        z-index: 999;
        top: var(--header-height) !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        margin: 0 !important;
    }
}

@media (max-width: 1020px) {
    /* Avoid the browser moving the sticky header off-screen when the menu is
       opened after the page has already been scrolled. */
    body.nav-open {
        overflow: visible !important;
    }
}

/* ===================================================================
   V12 APPROVED HEALTH RESOURCE LIBRARY
   =================================================================== */
.resource-card {
    min-height: 320px;
    display: flex;
    flex-direction: column;
    padding: 30px;
    color: inherit;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(3, 61, 48, .035);
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.resource-card:hover {
    transform: translateY(-6px);
    border-color: rgba(13, 118, 87, .35);
    box-shadow: 0 22px 48px rgba(3, 61, 48, .12);
}

.resource-card > .resource-card__icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    margin-bottom: 25px;
    color: var(--green-700);
    background: var(--mint-100);
    border-radius: 12px;
}

.resource-card__icon svg {
    width: 25px;
    height: 25px;
}

.resource-card__body {
    flex: 1;
}

.resource-card__status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 13px;
    color: var(--green-700);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.resource-card__status svg {
    width: 15px;
    height: 15px;
}

.resource-card h3 {
    margin-bottom: 12px;
    font-size: 1.18rem;
}

.resource-card p {
    margin-bottom: 20px;
    font-size: .88rem;
    line-height: 1.7;
}

.resource-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
}

.resource-card__footer small {
    color: var(--muted);
    font-size: .72rem;
    font-weight: 700;
}

.resource-card__footer > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--green-700);
    font-size: .76rem;
    font-weight: 800;
}

.resource-card__footer svg {
    width: 16px;
    height: 16px;
    transition: transform .2s ease;
}

.resource-card:hover .resource-card__footer svg {
    transform: translateX(4px);
}

.article-section {
    background:
        radial-gradient(circle at 95% 5%, rgba(199, 226, 208, .35), transparent 27%),
        #fff;
}

.article-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: clamp(48px, 7vw, 96px);
    align-items: start;
}

.article-main {
    min-width: 0;
    max-width: 880px;
}

.article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--line);
}

.article-meta span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--muted);
    font-size: .78rem;
}

.article-meta span:first-child {
    color: var(--green-700);
}

.article-meta svg {
    width: 17px;
    height: 17px;
}

.article-lead {
    margin-bottom: 36px;
    color: var(--green-950);
    font-family: var(--serif);
    font-size: clamp(1.45rem, 2.2vw, 2rem);
    line-height: 1.45;
}

.article-keypoints {
    margin-bottom: 48px;
    padding: clamp(26px, 4vw, 38px);
    background: var(--mint-100);
    border: 1px solid rgba(13, 118, 87, .14);
    border-radius: 18px;
}

.article-keypoints h2 {
    margin-bottom: 22px;
    font-size: clamp(2rem, 3vw, 3rem);
}

.article-keypoints .check-list {
    margin-bottom: 0;
}

.article-body h2 {
    margin-top: 52px;
    margin-bottom: 18px;
    font-size: clamp(2rem, 3.2vw, 3.25rem);
}

.article-body h2:first-child {
    margin-top: 0;
}

.article-body h3 {
    margin-top: 28px;
    margin-bottom: 12px;
    font-size: 1.25rem;
}

.article-body p,
.article-body li {
    color: #445b52;
    font-size: 1.01rem;
    line-height: 1.9;
}

.article-body p {
    margin-bottom: 20px;
}

.article-body ul {
    margin: 12px 0 28px;
    padding-left: 1.35rem;
}

.article-body li {
    margin-bottom: 10px;
    padding-left: 4px;
}

.article-main > .notice {
    margin-top: 48px;
}

.article-review-note {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    margin-top: 34px;
    padding: 22px;
    background: var(--warm);
    border: 1px solid #eeeae0;
    border-radius: 14px;
}

.article-review-note > svg {
    width: 48px;
    height: 48px;
    padding: 12px;
    color: var(--green-700);
    background: var(--mint-100);
    border-radius: 11px;
}

.article-review-note strong {
    color: var(--green-950);
}

.article-review-note p {
    margin: 4px 0 0;
    font-size: .82rem;
}

.article-sidebar {
    position: sticky;
    top: calc(var(--header-height) + 28px);
    display: grid;
    gap: 20px;
}

.article-sidebar__image {
    min-height: 300px;
    overflow: hidden;
    border-radius: 18px;
    box-shadow: var(--shadow-sm);
}

.article-sidebar__image img {
    width: 100%;
    height: 100%;
    min-height: 300px;
    object-fit: cover;
}

.article-sidebar__card {
    padding: 25px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(3, 61, 48, .045);
}

.article-sidebar__card h3 {
    margin-bottom: 12px;
}

.article-sidebar__card p {
    font-size: .82rem;
    line-height: 1.7;
}

.article-sidebar__card .text-link {
    font-size: .8rem;
}

.article-related {
    list-style: none;
    margin: 0;
    padding: 0;
}

.article-related li + li {
    border-top: 1px solid var(--line);
}

.article-related a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 0;
    color: var(--green-950);
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.45;
}

.article-related a:hover {
    color: var(--green-700);
}

.article-related svg {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
}

@media (max-width: 1020px) {
    .article-layout {
        grid-template-columns: 1fr;
    }

    .article-main {
        max-width: none;
    }

    .article-sidebar {
        position: static;
        grid-template-columns: 1fr 1fr;
    }

    .article-sidebar__image {
        grid-row: span 2;
    }
}

@media (max-width: 760px) {
    .resource-card {
        min-height: 0;
        padding: 24px;
    }

    .article-meta {
        align-items: flex-start;
        flex-direction: column;
        gap: 11px;
    }

    .article-lead {
        font-size: 1.45rem;
    }

    .article-keypoints {
        padding: 24px 20px;
    }

    .article-body h2 {
        margin-top: 42px;
    }

    .article-body p,
    .article-body li {
        font-size: .97rem;
        line-height: 1.82;
    }

    .article-sidebar {
        grid-template-columns: 1fr;
    }

    .article-sidebar__image {
        grid-row: auto;
        min-height: 280px;
    }

    .article-sidebar__image img {
        min-height: 280px;
    }
}

/* Leadership and education additions */
.section--leadership-education {
    background:
        radial-gradient(circle at 12% 12%, rgba(199, 226, 208, .48), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #f5fbf7 100%);
}
.leadership-education-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px;
}
.leadership-education-card {
    position: relative;
    min-height: 500px;
    overflow: hidden;
    border-radius: 24px;
    box-shadow: var(--shadow-sm);
    isolation: isolate;
}
.leadership-education-card > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.leadership-education-card:hover > img { transform: scale(1.04); }
.leadership-education-card__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(2, 38, 29, .12) 10%, rgba(2, 43, 32, .92) 100%);
}
.leadership-education-card__content {
    position: absolute;
    z-index: 1;
    inset: auto 0 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(28px, 4vw, 48px);
    color: #fff;
}
.leadership-education-card__icon,
.education-path-card__icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    margin-bottom: 18px;
    color: var(--green-900);
    background: rgba(230, 247, 237, .96);
    border-radius: 14px;
}
.leadership-education-card__icon svg,
.education-path-card__icon svg { width: 24px; height: 24px; }
.leadership-education-card__content > strong {
    max-width: 560px;
    margin-bottom: 13px;
    color: #fff;
    font-family: var(--serif);
    font-size: clamp(2rem, 3.3vw, 3.5rem);
    font-weight: 400;
    line-height: 1.06;
}
.leadership-education-card__content > small {
    max-width: 560px;
    color: rgba(255,255,255,.82);
    font-size: .92rem;
    line-height: 1.7;
}
.leadership-education-card__link,
.education-path-card__link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 24px;
    color: #fff;
    font-size: .84rem;
    font-weight: 800;
}
.leadership-education-card__link svg,
.education-path-card__link svg { width: 18px; height: 18px; }

.leadership-principles {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: clamp(44px, 7vw, 96px);
    align-items: start;
}
.leadership-principles__intro { position: sticky; top: 132px; }
.leadership-principles__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.leadership-principles__grid article {
    min-height: 240px;
    padding: 30px;
    background: var(--mint-100);
    border: 1px solid var(--line);
    border-radius: 18px;
}
.leadership-principles__grid article > svg {
    width: 35px;
    height: 35px;
    margin-bottom: 24px;
    color: var(--green-700);
}
.leadership-principles__grid h3 { margin-bottom: 11px; }
.leadership-principles__grid p { margin: 0; font-size: .9rem; }

.education-path-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}
.education-path-card {
    position: relative;
    min-height: 490px;
    overflow: hidden;
    border-radius: 22px;
    box-shadow: var(--shadow-sm);
    isolation: isolate;
}
.education-path-card > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}
.education-path-card:hover > img { transform: scale(1.045); }
.education-path-card__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(1,35,27,.08), rgba(1,43,32,.94));
}
.education-path-card__content {
    position: absolute;
    z-index: 1;
    inset: auto 0 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 30px;
    color: #fff;
}
.education-path-card__content > strong {
    margin-bottom: 12px;
    color: #fff;
    font-size: 1.35rem;
    line-height: 1.25;
}
.education-path-card__content > small {
    color: rgba(255,255,255,.82);
    line-height: 1.65;
}

.education-method-grid {
    display: grid;
    grid-template-columns: .92fr 1.08fr;
    gap: clamp(45px, 7vw, 90px);
    align-items: center;
}
.education-method-grid__image {
    position: relative;
    min-height: 610px;
    margin: 0;
    overflow: hidden;
    border-radius: 24px;
    box-shadow: var(--shadow);
}
.education-method-grid__image > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.education-method-grid__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 48%, rgba(2,43,32,.86));
}
.education-method-grid__image figcaption {
    position: absolute;
    z-index: 1;
    left: 28px;
    right: 28px;
    bottom: 28px;
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 20px;
    color: #fff;
    background: rgba(4,73,55,.78);
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 16px;
    backdrop-filter: blur(10px);
}
.education-method-grid__image figcaption > svg { width: 28px; height: 28px; flex: 0 0 auto; }
.education-method-grid__image figcaption strong { display: block; margin-bottom: 4px; color: #fff; }

.education-resource-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}
.education-resource-grid a {
    min-height: 126px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 14px;
    align-items: center;
    padding: 22px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(3,61,48,.05);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.education-resource-grid a:hover {
    transform: translateY(-4px);
    border-color: var(--mint-300);
    box-shadow: var(--shadow-sm);
}
.education-resource-grid a > span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    color: var(--green-700);
    background: var(--mint-100);
    border-radius: 12px;
}
.education-resource-grid a > span svg { width: 21px; height: 21px; }
.education-resource-grid a > strong { color: var(--green-950); font-size: .9rem; line-height: 1.45; }
.education-resource-grid a > svg { width: 18px; height: 18px; color: var(--green-700); }

@media (max-width: 1100px) {
    .education-path-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .education-path-card:last-child { grid-column: 1 / -1; min-height: 390px; }
    .education-resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .leadership-education-grid,
    .leadership-principles,
    .education-method-grid { grid-template-columns: 1fr; }
    .leadership-principles__intro { position: static; }
    .leadership-education-card { min-height: 440px; }
    .education-method-grid__image { min-height: 500px; }
}

@media (max-width: 680px) {
    .leadership-principles__grid,
    .education-path-grid,
    .education-resource-grid { grid-template-columns: 1fr; }
    .education-path-card:last-child { grid-column: auto; min-height: 420px; }
    .leadership-education-card,
    .education-path-card { min-height: 420px; }
    .leadership-education-card__content,
    .education-path-card__content { padding: 24px; }
    .leadership-principles__grid article { min-height: 0; }
    .education-method-grid__image { min-height: 430px; }
    .education-method-grid__image figcaption { left: 18px; right: 18px; bottom: 18px; padding: 16px; }
}

/* ===================================================================
   V17 LEADERSHIP & EDUCATION FULL PAGE
   =================================================================== */
.callout-card {
    position: relative;
    overflow: hidden;
    padding: clamp(34px, 5vw, 62px);
    border-radius: 24px;
    box-shadow: var(--shadow-sm);
}
.callout-card--green {
    color: #fff;
    background:
        radial-gradient(circle at 100% 100%, rgba(27, 107, 83, .74), transparent 42%),
        var(--green-950);
}
.callout-card--green > svg {
    width: 52px;
    height: 52px;
    margin-bottom: 24px;
    padding: 13px;
    color: var(--green-950);
    background: var(--mint-300);
    border-radius: 14px;
}
.callout-card--green h2,
.callout-card--green p { color: #fff; }
.callout-card--green h2 {
    max-width: 720px;
    margin-bottom: 18px;
    font-size: clamp(2rem, 4vw, 3.35rem);
}
.callout-card--green p {
    max-width: 760px;
    color: rgba(255,255,255,.82);
}
.callout-card--green .button-row { margin-top: 30px; }

@media (max-width: 680px) {
    .callout-card { padding: 28px 22px; }
    .callout-card--green .button-row { align-items: stretch; }
    .callout-card--green .btn { width: 100%; justify-content: center; }
}

/* ===================================================================
   V18 CORE PHP CMS: DATABASE-CONTROLLED PAGES, POSTS AND EVENTS
   =================================================================== */
.page-hero--cms { position: relative; min-height: clamp(460px, 62vw, 690px); overflow: hidden; display: flex; align-items: end; }
.page-hero--cms > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.page-hero--cms .page-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2,54,42,.92) 0%, rgba(2,54,42,.68) 55%, rgba(2,54,42,.28) 100%); }
.page-hero--cms .page-hero__content { position: relative; z-index: 1; padding-top: 120px; padding-bottom: clamp(65px,9vw,120px); color:#fff; }
.page-hero--cms h1 { max-width: 950px; color:#fff; font-size: clamp(3rem,7vw,7rem); line-height:.98; }
.page-hero--cms p { max-width: 760px; color:rgba(255,255,255,.84); font-size:clamp(1rem,1.8vw,1.25rem); }
.cms-page-content { background:#fff; }
.cms-richtext { color:#31463e; font-size:1.02rem; line-height:1.8; }
.cms-richtext > *:first-child { margin-top:0; }
.cms-richtext h2,.cms-richtext h3,.cms-richtext h4 { color:var(--green-950); margin-top:1.8em; }
.cms-richtext h2 { font-size:clamp(2rem,4vw,3.6rem); }
.cms-richtext h3 { font-size:clamp(1.45rem,2.3vw,2.15rem); }
.cms-richtext img { max-width:100%; height:auto; border-radius:16px; box-shadow:var(--shadow-sm); }
.cms-richtext figure { margin:42px 0; }
.cms-richtext figcaption { margin-top:10px; color:#63736d; font-size:.83rem; }
.cms-richtext blockquote { margin:35px 0; padding:28px 34px; border-left:5px solid var(--green-700); background:var(--mint-100); color:var(--green-950); font-family:var(--serif); font-size:1.45rem; border-radius:0 14px 14px 0; }
.cms-richtext table { width:100%; border-collapse:collapse; margin:30px 0; }
.cms-richtext th,.cms-richtext td { padding:13px 14px; border:1px solid var(--line); text-align:left; }
.cms-richtext th { color:var(--green-950); background:var(--mint-100); }
.cms-richtext a { color:var(--green-700); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }

.post-hero { position:relative; min-height:clamp(520px,64vw,760px); display:flex; align-items:end; overflow:hidden; }
.post-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.post-hero__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(2,49,38,.94),rgba(2,49,38,.66) 55%,rgba(2,49,38,.24)); }
.post-hero__content { position:relative; z-index:1; padding-top:120px; padding-bottom:clamp(70px,9vw,120px); color:white; }
.post-hero h1 { color:white; max-width:1050px; font-size:clamp(3rem,7vw,7.2rem); line-height:.98; }
.post-hero p { max-width:780px; color:rgba(255,255,255,.82); font-size:clamp(1rem,2vw,1.25rem); }
.post-meta { display:flex; flex-wrap:wrap; gap:20px; margin-top:28px; color:#d7f1e7; font-size:.84rem; font-weight:700; }
.post-meta span { display:flex; align-items:center; gap:8px; }
.post-meta svg { width:18px; height:18px; }
.post-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,360px); gap:clamp(35px,6vw,85px); align-items:start; }
.post-content { min-width:0; }
.post-sidebar { display:grid; gap:20px; position:sticky; top:150px; }
.post-sidebar__card { padding:28px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:var(--shadow-sm); }
.post-sidebar__card:first-child { color:#fff; background:var(--green-950); }
.post-sidebar__card:first-child h2,.post-sidebar__card:first-child p { color:#fff; }
.post-sidebar__card h2 { font-size:2.1rem; }
.post-sidebar__card h3 { margin-top:0; }
.post-sidebar__card p { font-size:.9rem; }
.event-summary { margin:0 0 35px; padding:26px 30px; background:var(--mint-100); border:1px solid var(--line); border-radius:15px; }
.event-summary h2 { margin:0 0 14px; font-size:2rem; }
.event-summary p { margin:7px 0; }

.post-filter { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:34px; }
.post-filter button { padding:10px 14px; border:1px solid var(--line); border-radius:10px; color:var(--green-950); background:#fff; font-weight:800; }
.post-filter button.is-active,.post-filter button:hover { color:#fff; background:var(--green-700); border-color:var(--green-700); }
.post-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.post-card { overflow:hidden; border:1px solid var(--line); border-radius:17px; background:#fff; box-shadow:0 12px 38px rgba(2,57,43,.06); transition:transform .25s,box-shadow .25s; }
.post-card:hover { transform:translateY(-6px); box-shadow:0 22px 50px rgba(2,57,43,.12); }
.post-card__image { display:block; height:250px; overflow:hidden; }
.post-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.post-card:hover .post-card__image img { transform:scale(1.04); }
.post-card__body { padding:25px; }
.post-card h2 { margin:9px 0 12px; font-size:1.65rem; }
.post-card h2 a { color:inherit; }
.post-card p { font-size:.88rem; }
.post-card__meta { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:20px; padding-top:17px; border-top:1px solid var(--line); font-size:.75rem; color:#697970; }
.post-card__meta .text-link { font-size:.76rem; }

.event-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.event-card { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr); overflow:hidden; min-height:380px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow-sm); }
.event-card__image { position:relative; min-height:100%; overflow:hidden; }
.event-card__image img { width:100%; height:100%; object-fit:cover; }
.event-card__image>span { position:absolute; left:18px; top:18px; padding:9px 12px; border-radius:9px; color:#fff; background:var(--green-700); font-weight:800; text-transform:uppercase; }
.event-card__body { padding:30px; }
.event-card h2 { margin:9px 0 12px; font-size:2rem; }
.event-card h2 a { color:inherit; }
.event-card p { font-size:.9rem; }
.event-card ul { list-style:none; padding:0; margin:20px 0; }
.event-card li { display:flex; gap:10px; align-items:flex-start; padding:6px 0; color:#44584f; font-size:.82rem; }
.event-card li svg { width:18px; height:18px; flex:0 0 auto; color:var(--green-700); }

@media(max-width:1020px){
  .post-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .post-layout{grid-template-columns:1fr}.post-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .event-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .page-hero--cms,.post-hero{min-height:590px}
  .page-hero--cms .page-hero__shade,.post-hero__shade{background:linear-gradient(0deg,rgba(2,49,38,.96),rgba(2,49,38,.5))}
  .page-hero--cms h1,.post-hero h1{font-size:clamp(2.7rem,14vw,4.7rem)}
  .post-card-grid{grid-template-columns:1fr}
  .post-sidebar{grid-template-columns:1fr}
  .event-card{grid-template-columns:1fr}.event-card__image{min-height:280px}
  .cms-richtext{font-size:.96rem}.cms-richtext blockquote{padding:22px;font-size:1.2rem}
}

/* CMS visual page builder */
.cms-builder-section{position:relative;overflow:hidden}.cms-builder-section--soft{background:#eef8f3}.cms-builder-section--cream{background:#fbf7ee}.cms-builder-section--dark{background:#064b3c;color:#fff}.cms-builder-section--purple{background:#f3eff8}.cms-builder-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:clamp(32px,6vw,86px);align-items:center}.cms-builder-copy{max-width:780px}.cms-builder-copy--center{margin-inline:auto;text-align:center}.cms-builder-copy h2{font-size:clamp(36px,5vw,68px);line-height:1.02;margin:14px 0 22px}.cms-builder-media img,.cms-builder-secondary img{display:block;width:100%;height:clamp(330px,48vw,620px);object-fit:cover;border-radius:22px}.cms-builder-secondary{margin-top:36px}.cms-builder-section--dark .eyebrow,.cms-builder-section--dark .cms-richtext{color:#e8f6f1}@media(max-width:800px){.cms-builder-grid{grid-template-columns:1fr}.cms-builder-section--image-right .cms-builder-media{order:-1}.cms-builder-media img{height:360px}}
.partner-public-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;margin-top:36px}.partner-public-card{padding:28px;border:1px solid #d8e8e1;border-radius:16px;background:#fff;box-shadow:0 16px 42px rgba(6,70,55,.08)}.partner-public-card img{width:100%;height:100px;object-fit:contain;margin-bottom:20px}.partner-public-card h3{margin:0 0 8px}.partner-public-card span{color:#08765b;font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.partner-public-card p{margin:16px 0;color:#52635d}
.public-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}.public-gallery-card{overflow:hidden;background:#fff;border:1px solid #dbe9e3;border-radius:18px;box-shadow:0 18px 52px rgba(5,66,51,.09)}.public-gallery-card__media{aspect-ratio:4/3;background:#063e32}.public-gallery-card__media img,.public-gallery-card__media video,.public-gallery-card__media iframe{display:block;width:100%;height:100%;object-fit:cover;border:0}.public-gallery-card__content{padding:22px}.public-gallery-card__content span{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#08775d}.public-gallery-card__content h3{margin:8px 0}.public-gallery-card__content p{margin:0;color:#5a6b65}.empty-public{max-width:680px;margin:40px auto 0;text-align:center;padding:50px;background:#fff;border-radius:18px;border:1px solid #dbe9e3}@media(max-width:980px){.public-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.public-gallery-grid{grid-template-columns:1fr}}

.cms-live-empty{display:none!important}

/* V22 gallery, pagination and image lightbox */
.gallery-filter-wrap{display:grid;gap:14px;margin:34px 0 18px}.gallery-filter,.gallery-type-filter{display:flex;gap:9px;flex-wrap:wrap;justify-content:center}.filter-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border:1px solid #cfe3db;border-radius:10px;background:#fff;color:#064c3b;font-weight:800;text-decoration:none;transition:.2s}.filter-btn:hover,.filter-btn.active{background:#08775d;color:#fff;border-color:#08775d;transform:translateY(-1px)}.filter-btn--type{background:#edf7f3}.listing-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0;color:#60716b;font-size:.9rem}.listing-toolbar p{margin:0}.listing-toolbar span{font-weight:800;color:#08775d}
.public-gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:24px}.public-gallery-card{min-width:0;overflow:hidden;background:#fff;border:1px solid #dbe9e3;border-radius:14px;box-shadow:0 14px 36px rgba(5,66,51,.08)}.public-gallery-card__media{position:relative;aspect-ratio:1/1;background:#063e32;overflow:hidden}.public-gallery-card__media img,.public-gallery-card__media video,.public-gallery-card__media iframe{display:block;width:100%;height:100%;object-fit:cover;border:0}.gallery-lightbox-trigger{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:#063e32;cursor:zoom-in;overflow:hidden}.gallery-lightbox-trigger img{transition:transform .35s ease}.gallery-lightbox-trigger:hover img{transform:scale(1.055)}.gallery-zoom{position:absolute;right:10px;bottom:10px;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.9);color:#064c3b;font-size:1.3rem;font-weight:500;box-shadow:0 8px 20px rgba(0,0,0,.16)}.public-gallery-card__content{padding:14px}.public-gallery-card__content span{font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#08775d}.public-gallery-card__content h3{font-size:.95rem;line-height:1.3;margin:5px 0}.public-gallery-card__content p{font-size:.8rem;line-height:1.5;margin:0;color:#5a6b65}
.pagination{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:36px}.pagination__control,.pagination__page{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:9px 13px;border:1px solid #cfe3db;border-radius:10px;background:#fff;color:#064c3b;font-weight:800;text-decoration:none;transition:.2s}.pagination__control:hover,.pagination__page:hover{border-color:#08775d;color:#08775d;transform:translateY(-1px)}.pagination__page.is-current{background:#08775d;border-color:#08775d;color:#fff;box-shadow:0 8px 20px rgba(8,119,93,.2)}.pagination__control.is-disabled{opacity:.45;cursor:not-allowed;background:#f2f6f4}.pagination__ellipsis{min-width:24px;text-align:center;color:#687b74;font-weight:800}
.lightbox{position:fixed;inset:0;z-index:5000;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(0,27,22,.92);backdrop-filter:blur(8px)}.lightbox.is-open{display:flex}.lightbox figure{width:min(1100px,calc(100vw - 120px));height:min(84vh,820px);margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:center;justify-items:center}.lightbox figure img{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:10px;box-shadow:0 28px 80px rgba(0,0,0,.42)}.lightbox figcaption{width:100%;padding:14px 16px 0;text-align:center;color:#fff;font-weight:750}.lightbox__close,.lightbox__nav{position:absolute;border:1px solid rgba(255,255,255,.35);background:rgba(4,68,52,.78);color:#fff;display:grid;place-items:center;cursor:pointer;transition:.2s}.lightbox__close:hover,.lightbox__nav:hover{background:#08775d;border-color:#fff}.lightbox__close{top:20px;right:20px;width:48px;height:48px;border-radius:10px;font-size:1.9rem}.lightbox__nav{top:50%;width:52px;height:58px;border-radius:10px;transform:translateY(-50%);font-size:2rem}.lightbox__prev{left:22px}.lightbox__next{right:22px}.lightbox-open{overflow:hidden}.lightbox-auto{cursor:zoom-in}
@media(max-width:1200px){.public-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.public-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.listing-toolbar{align-items:flex-start;flex-direction:column;gap:4px}}
@media(max-width:620px){.public-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.public-gallery-card__content{padding:11px}.public-gallery-card__content h3{font-size:.84rem}.public-gallery-card__content p{display:none}.gallery-filter,.gallery-type-filter{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;scrollbar-width:thin}.filter-btn{flex:0 0 auto;min-height:40px;padding:8px 12px;font-size:.78rem}.pagination{gap:6px;margin-top:28px}.pagination__control,.pagination__page{min-width:40px;min-height:40px;padding:8px 10px;font-size:.78rem}.lightbox{padding:12px}.lightbox figure{width:calc(100vw - 24px);height:78vh}.lightbox__close{top:12px;right:12px}.lightbox__nav{top:auto;bottom:18px;width:48px;height:48px}.lightbox__prev{left:18px}.lightbox__next{right:18px}}

/* V28 sponsorship, cultural programmes, impact and event planning */
.nav-dropdown__subitem{margin-left:18px;padding-left:14px!important;border-left:2px solid var(--mint-200,#dcefe7)}
.nav-dropdown--programs{width:min(720px,calc(100vw - 32px))}
.about-jump-nav,.event-category-nav{position:relative;z-index:4;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 8px 24px rgba(5,66,51,.05)}
.about-jump-nav__inner,.event-category-nav__inner{display:flex;align-items:stretch;justify-content:center;gap:0;overflow-x:auto;scrollbar-width:thin}
.about-jump-nav a,.event-category-nav a{display:flex;flex-direction:column;justify-content:center;min-height:76px;padding:14px 24px;color:var(--green-950);font-weight:850;text-decoration:none;border-right:1px solid var(--line);white-space:nowrap}
.about-jump-nav a:first-child,.event-category-nav a:first-child{border-left:1px solid var(--line)}
.about-jump-nav a:hover,.event-category-nav a:hover{background:var(--mint-100);color:var(--green-700)}
.about-jump-nav small{display:block;margin-top:3px;color:var(--muted);font-size:.7rem;font-weight:650}
.about-governance-grid{margin-top:34px}.about-legal-grid{margin-top:34px}
.sponsorship-opportunity-grid,.sponsorship-level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:38px}
.sponsorship-opportunity-card,.sponsorship-level-card,.notice-card{padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}
.sponsorship-opportunity-card{display:flex;flex-direction:column;align-items:flex-start}.sponsorship-opportunity-card h3,.sponsorship-level-card h3{margin:15px 0 10px;font-size:1.65rem}.sponsorship-opportunity-card p{flex:1}.sponsorship-contribution{display:block;margin:3px 0 18px;color:var(--green-700);font-size:.82rem}
.sponsorship-level-card{display:flex;flex-direction:column}.sponsorship-level-card ul{list-style:none;padding:0;margin:18px 0 24px;display:grid;gap:9px;flex:1}.sponsorship-level-card li{display:flex;align-items:flex-start;gap:8px;color:#4e6058;font-size:.84rem}.sponsorship-level-card li svg{width:17px;height:17px;flex:0 0 auto;color:var(--green-700)}
.section-note{max-width:900px;margin:28px auto 0;text-align:center;color:var(--muted);font-size:.82rem}.notice-card+.notice-card{margin-top:16px}.notice-card h3{margin-top:0}.safeguarding-callout{padding:32px;border:1px solid rgba(255,255,255,.18);border-radius:20px;background:rgba(255,255,255,.08)}.safeguarding-callout>svg{width:40px;height:40px}.safeguarding-callout h3{color:#fff;font-size:1.8rem}.safeguarding-callout p{color:#e7f5f0}.split-copy--light,.split-copy--light h2,.split-copy--light p,.split-copy--light li{color:#fff}.split-copy--light .check-list svg{color:#c3eedc}
.event-category-nav__inner{justify-content:flex-start}.event-category-nav a{min-height:58px;padding-block:10px;flex-direction:row;align-items:center}.event-card__badges{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.event-card__badges .eyebrow{margin:0}.event-stage{display:inline-flex;align-items:center;width:max-content;padding:6px 9px;border-radius:999px;font-size:.69rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em;background:#e7f3ee;color:#075f49}.event-stage--interest{background:#f2efe5;color:#7d6316}.event-stage--planning{background:#e8f1f7;color:#285d79}.event-stage--registration_open{background:#e4f6ec;color:#08704e}.event-card__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.event-card__actions .text-link{width:100%;margin-top:3px}.event-summary__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;align-items:center}.event-summary__actions .text-link{width:100%}
.impact-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}.impact-stat-grid article{padding:26px;text-align:center;border:1px solid var(--line);border-radius:16px;background:var(--mint-100)}.impact-stat-grid strong{display:block;color:var(--green-800);font-size:2.6rem;font-family:var(--font-display,serif)}.impact-stat-grid span{color:var(--muted);font-size:.82rem;font-weight:750}.partner-public-card__logo{height:100px;margin-bottom:18px;display:flex;align-items:center}.partner-public-card__logo img{margin:0;max-height:100px}
.culture-connect-section{background:linear-gradient(180deg,#fff,#f7fbf9)}
@media(max-width:1050px){.sponsorship-opportunity-grid,.sponsorship-level-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.nav-dropdown__subitem{margin-left:10px}.about-jump-nav__inner,.event-category-nav__inner{justify-content:flex-start}.about-jump-nav a{min-height:66px;padding:12px 16px}.event-category-nav a{padding-inline:15px}.sponsorship-opportunity-grid,.sponsorship-level-grid,.impact-stat-grid{grid-template-columns:1fr}.sponsorship-opportunity-card,.sponsorship-level-card{padding:23px}.event-card__actions .btn{width:100%}}

/* ===== V29 visual upgrades: homepage, programs and impact ===== */
.home-pathways {
    position: relative;
    z-index: 2;
    margin: 0;
    padding: clamp(56px, 5vw, 76px) 0 clamp(64px, 6vw, 92px);
    background: linear-gradient(180deg, #ffffff 0%, #f7fbf9 100%);
}
.home-pathways__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(18px, 2vw, 26px);
    align-items: stretch;
}
.home-pathway-card {
    position: relative;
    min-height: 290px;
    overflow: hidden;
    border-radius: 24px;
    box-shadow: 0 24px 54px rgba(3,61,48,.16);
    isolation: isolate;
}
.home-pathway-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s ease;
}
.home-pathway-card__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(3,61,48,.08) 10%, rgba(3,61,48,.90) 100%);
}
.home-pathway-card__content {
    position: absolute;
    inset: auto 0 0;
    z-index: 2;
    padding: 28px;
    color: #fff;
}
.home-pathway-card__content strong,
.home-pathway-card__content small,
.home-pathway-card__content > span:last-child { display: block; }
.home-pathway-card__content strong { margin-bottom: 8px; font-family: var(--serif); font-size: clamp(1.65rem, 2.3vw, 2.35rem); font-weight: 400; line-height: 1.08; }
.home-pathway-card__content small { max-width: 390px; color: rgba(255,255,255,.84); font-size: .87rem; line-height: 1.55; }
.home-pathway-card__content > span:last-child { margin-top: 17px; font-size: .79rem; font-weight: 800; }
.home-pathway-card__content > span:last-child svg { width: 16px; vertical-align: middle; margin-left: 6px; }
.home-pathway-card:hover img { transform: scale(1.055); }
.home-pathway-card:hover .home-pathway-card__content > span:last-child svg { transform: translateX(4px); }

.programs-intro-grid,
.impact-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: clamp(42px, 7vw, 100px);
    align-items: center;
}
.programs-principles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 14px;
}
.programs-principles > span {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 2px 12px;
    align-items: center;
    padding: 18px;
    background: var(--mint-100);
    border: 1px solid var(--line);
    border-radius: 16px;
}
.programs-principles svg { grid-row: 1 / span 2; width: 27px; color: var(--green-700); }
.programs-principles strong { color: var(--green-950); font-size: .9rem; }
.programs-principles small { color: var(--muted); font-size: .76rem; line-height: 1.45; }
.programs-intro-grid__photos {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    grid-template-rows: repeat(2, 230px);
    gap: 15px;
}
.program-photo {
    position: relative;
    margin: 0;
    overflow: hidden;
    border-radius: 22px;
    box-shadow: var(--shadow-sm);
}
.program-photo--large { grid-row: 1 / span 2; }
.program-photo img { width: 100%; height: 100%; object-fit: cover; }
.program-photo figcaption {
    position: absolute;
    left: 16px;
    bottom: 16px;
    padding: 8px 12px;
    color: #fff;
    background: rgba(3,61,48,.82);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    backdrop-filter: blur(10px);
    font-size: .74rem;
    font-weight: 800;
}
.program-spotlight-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 18px;
}
.program-spotlight-card,
.impact-explore-card {
    position: relative;
    min-height: 430px;
    overflow: hidden;
    border-radius: 24px;
    box-shadow: var(--shadow-sm);
    isolation: isolate;
}
.program-spotlight-card img,
.impact-explore-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition: transform .5s ease; }
.program-spotlight-card__shade,
.impact-explore-card__shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(3,61,48,.06),rgba(3,61,48,.92)); }
.program-spotlight-card__content,
.impact-explore-card__content { position:absolute; z-index:2; inset:auto 0 0; padding:26px; color:#fff; }
.program-spotlight-card__content strong,
.program-spotlight-card__content small,
.program-spotlight-card__content > span:last-child,
.impact-explore-card__content strong,
.impact-explore-card__content small,
.impact-explore-card__content > span:last-child { display:block; }
.program-spotlight-card__content strong,
.impact-explore-card__content strong { margin-bottom:9px; font-family:var(--serif); font-size:2rem; font-weight:400; line-height:1.08; }
.program-spotlight-card__content small,
.impact-explore-card__content small { color:rgba(255,255,255,.84); line-height:1.55; }
.program-spotlight-card__content > span:last-child,
.impact-explore-card__content > span:last-child { margin-top:18px; font-size:.78rem; font-weight:800; }
.program-spotlight-card__content > span:last-child svg,
.impact-explore-card__content > span:last-child svg { width:16px; margin-left:5px; vertical-align:middle; }
.program-spotlight-card:hover img,
.impact-explore-card:hover img { transform:scale(1.055); }
.numbered-process--compact li { min-height: 88px; }
.program-action-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 18px;
}
.program-action-grid article {
    padding: 30px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
    box-shadow: 0 12px 34px rgba(3,61,48,.06);
}
.program-action-grid article > span { width:52px; height:52px; display:grid; place-items:center; margin-bottom:20px; color:var(--green-800); background:var(--mint-100); border-radius:15px; }
.program-action-grid article > span svg { width:25px; }

.impact-photo-collage {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    grid-template-rows: repeat(2, 220px);
    gap: 15px;
}
.impact-photo-collage figure { position:relative; margin:0; overflow:hidden; border-radius:22px; box-shadow:var(--shadow-sm); }
.impact-photo-collage__main { grid-row:1 / span 2; }
.impact-photo-collage img { width:100%; height:100%; object-fit:cover; }
.impact-photo-collage figcaption { position:absolute; left:15px; right:15px; bottom:15px; width:max-content; max-width:calc(100% - 30px); padding:8px 12px; color:#fff; background:rgba(3,61,48,.84); border-radius:999px; font-size:.72rem; font-weight:800; }
.impact-explore-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.impact-explore-card { min-height:390px; }
.impact-explore-card__icon { width:48px; height:48px; display:grid !important; place-items:center; margin-bottom:17px; color:#fff; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.25); border-radius:14px; backdrop-filter:blur(8px); }
.impact-explore-card__icon svg { width:24px; }
.impact-process-list { list-style:none; margin:0; padding:0; }
.impact-process-list li { display:grid; grid-template-columns:58px 1fr; gap:16px; padding:18px 0; border-bottom:1px solid rgba(255,255,255,.14); }
.impact-process-list li > span { width:48px; height:48px; display:grid; place-items:center; color:var(--green-950); background:#fff; border-radius:50%; font-size:.75rem; font-weight:900; }
.impact-process-list strong { color:#fff; }
.impact-process-list p { margin:4px 0 0; color:rgba(255,255,255,.72); }
.impact-process-photo { position:relative; min-height:520px; margin:0; overflow:hidden; border-radius:26px; }
.impact-process-photo > img { width:100%; height:100%; min-height:520px; object-fit:cover; }
.impact-process-photo figcaption { position:absolute; left:22px; right:22px; bottom:22px; display:flex; gap:13px; align-items:flex-start; padding:19px; color:#fff; background:rgba(3,61,48,.88); border:1px solid rgba(255,255,255,.2); border-radius:17px; backdrop-filter:blur(10px); }
.impact-process-photo figcaption svg { width:26px; flex:0 0 26px; }
.impact-process-photo figcaption strong { color:#fff; }

.impact-framework-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.impact-stat-grid--featured { gap:22px; margin-top:48px; }
.impact-stat-grid--featured article {
    position:relative;
    overflow:hidden;
    min-height:230px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:34px 24px;
    border:1px solid rgba(13,118,87,.15);
    border-radius:24px;
    background:linear-gradient(145deg,#f8fffb 0%,var(--mint-100) 100%);
    box-shadow:0 16px 44px rgba(3,61,48,.08);
    transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.impact-stat-grid--featured article::before { content:""; position:absolute; inset:0 auto 0 0; width:5px; background:linear-gradient(180deg,var(--green-600),var(--gold)); }
.impact-stat-grid--featured article:hover { transform:translateY(-5px); box-shadow:0 24px 55px rgba(3,61,48,.13); border-color:rgba(13,118,87,.32); }
.impact-stat-grid__icon { width:54px; height:54px; display:grid; place-items:center; margin-bottom:12px; color:#fff !important; background:var(--green-800); border-radius:16px; box-shadow:0 10px 20px rgba(3,61,48,.17); }
.impact-stat-grid__icon svg { width:26px; }
.impact-stat-grid--featured strong { margin:2px 0 3px; font-size:clamp(3.1rem,5vw,4.7rem); line-height:1; font-variant-numeric:tabular-nums; }
.impact-stat-grid--featured span:not(.impact-stat-grid__icon) { color:var(--green-950); font-size:.83rem; letter-spacing:.02em; }
.impact-stat-grid--featured small { max-width:250px; margin-top:9px; color:var(--muted); font-size:.72rem; line-height:1.5; }
.impact-stat-grid--featured article.is-counting { animation:impactCardPulse .8s ease both; }
@keyframes impactCardPulse { 0%{transform:translateY(8px);opacity:.75} 60%{transform:translateY(-4px);opacity:1} 100%{transform:translateY(0);opacity:1} }

.impact-evidence-photo { min-height:560px; }
.impact-journey-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:17px; }
.impact-journey-grid article { position:relative; overflow:hidden; min-height:410px; border:1px solid rgba(255,255,255,.15); border-radius:22px; background:rgba(255,255,255,.06); }
.impact-journey-grid article > span { position:absolute; z-index:2; top:16px; left:16px; width:44px; height:44px; display:grid; place-items:center; color:var(--green-950); background:#fff; border-radius:50%; font-weight:900; font-size:.72rem; }
.impact-journey-grid img { width:100%; height:225px; object-fit:cover; }
.impact-journey-grid article div { padding:24px; }
.impact-journey-grid h3 { color:#fff; }
.impact-journey-grid p { margin:0; color:rgba(255,255,255,.7); }
.impact-reporting-principle { align-items:center; }

@media (max-width: 1100px) {
    .impact-explore-grid,
    .impact-journey-grid,
    .impact-framework-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .home-pathways__grid,
    .program-spotlight-grid,
    .program-action-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .home-pathway-card:last-child,
    .program-action-grid article:last-child { grid-column:1 / -1; }
}
@media (max-width: 850px) {
    .home-pathways { margin-top:0; padding:48px 0 68px; }
    .programs-intro-grid,
    .impact-intro-grid { grid-template-columns:1fr; }
    .programs-intro-grid__photos,
    .impact-photo-collage { grid-template-rows:repeat(2,190px); }
}
@media (max-width: 700px) {
    .home-pathways { margin-top:0; padding:36px 0 54px; }
    .home-pathways__grid,
    .program-spotlight-grid,
    .program-action-grid,
    .impact-explore-grid,
    .impact-journey-grid,
    .impact-framework-grid { grid-template-columns:1fr; }
    .home-pathway-card:last-child,
    .program-action-grid article:last-child { grid-column:auto; }
    .home-pathway-card { min-height:260px; }
    .programs-principles { grid-template-columns:1fr; }
    .programs-intro-grid__photos,
    .impact-photo-collage { grid-template-columns:1fr 1fr; grid-template-rows:260px 150px; }
    .program-photo--large,
    .impact-photo-collage__main { grid-column:1 / -1; grid-row:auto; }
    .program-spotlight-card,
    .impact-explore-card { min-height:360px; }
    .impact-process-photo,
    .impact-process-photo > img { min-height:390px; }
    .impact-stat-grid--featured article { min-height:205px; }
}
@media (prefers-reduced-motion: reduce) {
    .home-pathway-card img,
    .program-spotlight-card img,
    .impact-explore-card img,
    .impact-stat-grid--featured article { transition:none; animation:none !important; }
}
.impact-journey-section .section-heading h2,
.impact-journey-section .section-heading p { color:#fff; }
.impact-journey-section .section-heading .eyebrow { color:#c8efde; }
.impact-process-section .eyebrow { color:#c8efde; }

/* ==========================================================
   V31 CONTENT + VISUAL UPGRADE
   Stories of Hope, Community Heroes, Programs, About, Home CTA
   ========================================================== */

/* Stories of Hope */
.stories-intro-layout { align-items:center; }
.stories-intro-media { position:relative; overflow:hidden; border-radius:32px; min-height:520px; box-shadow:var(--shadow); }
.stories-intro-media img { width:100%; height:100%; min-height:520px; object-fit:cover; }
.stories-photo-note { position:absolute; left:24px; right:24px; bottom:24px; display:flex; align-items:center; gap:14px; padding:18px 20px; color:#fff; background:rgba(3,61,48,.9); border:1px solid rgba(255,255,255,.16); border-radius:18px; backdrop-filter:blur(10px); }
.stories-photo-note svg { width:28px; height:28px; flex:0 0 auto; }
.hope-feature-story { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); overflow:hidden; margin:0 0 40px; background:#fff; border:1px solid var(--line); border-radius:32px; box-shadow:var(--shadow-sm); }
.hope-feature-story__image { position:relative; min-height:470px; overflow:hidden; }
.hope-feature-story__image img { width:100%; height:100%; min-height:470px; object-fit:cover; transition:transform .5s ease; }
.hope-feature-story:hover .hope-feature-story__image img { transform:scale(1.035); }
.hope-feature-story__badge { position:absolute; top:22px; left:22px; display:inline-flex; align-items:center; gap:8px; padding:10px 14px; color:#fff; background:rgba(3,61,48,.9); border-radius:999px; font-size:.78rem; font-weight:800; }
.hope-feature-story__badge svg { width:16px; height:16px; }
.hope-feature-story__copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(34px,5vw,68px); }
.hope-feature-story__copy h2 { font-size:clamp(2.4rem,4vw,4.8rem); }
.hope-feature-story__copy p { font-size:1.04rem; }
.hope-story-date { display:flex; align-items:center; gap:8px; margin:0 0 24px; color:var(--green-700); font-weight:700; font-size:.86rem; }
.hope-story-date svg { width:17px; height:17px; }
.hope-story-grid { margin-top:0; }
.hope-story-card { height:100%; }
.hope-cta-panel { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); overflow:hidden; padding:0; background:#fff; border:1px solid var(--line); border-radius:32px; box-shadow:var(--shadow-sm); }
.hope-cta-panel__media img { width:100%; height:100%; min-height:430px; object-fit:cover; }
.hope-cta-panel__copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(36px,5vw,72px); }
.hope-cta-panel__copy h2 { font-size:clamp(2.3rem,3.8vw,4.4rem); }

/* Community Heroes */
.heroes-opening__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(42px,6vw,90px); align-items:center; }
.heroes-opening__copy > p { font-size:1.04rem; }
.hero-mini-stat-row { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:30px; }
.hero-mini-stat-row div { padding:20px; background:var(--mint-100); border:1px solid var(--line); border-radius:18px; }
.hero-mini-stat-row strong { display:block; color:var(--green-950); font-family:var(--serif); font-size:1.65rem; line-height:1; }
.hero-mini-stat-row span { display:block; margin-top:8px; color:var(--muted); font-size:.8rem; }
.heroes-opening__mosaic { display:grid; grid-template-columns:1.2fr .8fr; grid-template-rows:250px 250px; gap:14px; }
.heroes-mosaic { overflow:hidden; margin:0; border-radius:24px; box-shadow:var(--shadow-sm); }
.heroes-mosaic--large { grid-row:1 / 3; }
.heroes-mosaic img { width:100%; height:100%; object-fit:cover; }
.heroes-journey-photo { position:relative; overflow:hidden; border-radius:30px; }
.heroes-journey-photo img { width:100%; min-height:610px; height:100%; object-fit:cover; }
.heroes-journey-photo span { position:absolute; left:22px; right:22px; bottom:22px; padding:18px 20px; color:#fff; background:rgba(3,61,48,.9); border-radius:16px; font-weight:700; }
.heroes-quote-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(44px,7vw,100px); align-items:center; }
.heroes-quote-grid h2 { color:#fff; font-size:clamp(2.6rem,4vw,5rem); }
.heroes-quote-points { display:grid; gap:14px; }
.heroes-quote-points article { display:grid; grid-template-columns:44px 1fr; column-gap:14px; padding:18px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.13); border-radius:18px; }
.heroes-quote-points svg { grid-row:1 / 3; width:28px; height:28px; color:#dff5e9; }
.heroes-quote-points strong { color:#fff; }
.heroes-quote-points span { color:rgba(255,255,255,.7); font-size:.9rem; }
.community-hero-paths__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.community-hero-paths__grid > a { position:relative; display:flex; min-height:230px; flex-direction:column; justify-content:flex-end; padding:26px; background:#fff; border:1px solid var(--line); border-radius:24px; box-shadow:var(--shadow-sm); transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.community-hero-paths__grid > a:hover { transform:translateY(-5px); border-color:var(--mint-300); box-shadow:var(--shadow); }
.community-hero-paths__grid > a > span:first-child { position:absolute; top:24px; left:24px; display:grid; place-items:center; width:52px; height:52px; color:#fff; background:var(--green-700); border-radius:15px; }
.community-hero-paths__grid > a > span:first-child svg { width:25px; height:25px; }
.community-hero-paths__grid strong { color:var(--green-950); font-size:1.35rem; }
.community-hero-paths__grid small { color:var(--muted); margin-top:8px; }
.community-hero-paths__grid > a > svg { position:absolute; right:24px; bottom:26px; width:20px; height:20px; color:var(--green-700); }

/* Program detail upgrades */
.program-story-split { align-items:center; }
.program-story-split .split-layout__media { overflow:hidden; min-height:540px; border-radius:30px; box-shadow:var(--shadow-sm); }
.program-story-split .split-layout__media img { width:100%; height:100%; min-height:540px; object-fit:cover; }
.program-process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.program-process-grid article { min-height:240px; padding:28px; color:#fff; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); border-radius:22px; }
.program-process-grid article > span { display:grid; place-items:center; width:48px; height:48px; margin-bottom:28px; color:var(--green-950); background:#fff; border-radius:50%; font-size:.8rem; font-weight:900; }
.program-process-grid h3 { color:#fff; }
.program-process-grid p { color:rgba(255,255,255,.7); margin:0; }
.program-process-grid--light article { color:var(--ink); background:#fff; border-color:var(--line); box-shadow:var(--shadow-sm); }
.program-process-grid--light article > span { color:#fff; background:var(--green-700); }
.program-process-grid--light h3 { color:var(--green-950); }
.program-process-grid--light p { color:var(--muted); }
.program-photo-band { display:grid; grid-template-columns:1.15fr .85fr 1fr; gap:16px; }
.program-photo-band img { width:100%; height:320px; object-fit:cover; border-radius:24px; box-shadow:var(--shadow-sm); }
.program-photo-band img:nth-child(2) { transform:translateY(28px); }
.program-photo-band--dark img { box-shadow:none; border:1px solid rgba(255,255,255,.16); }
.program-pill-list { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.program-pill-list span { padding:10px 15px; color:var(--green-800); background:var(--mint-100); border:1px solid var(--mint-300); border-radius:999px; font-weight:800; font-size:.82rem; }
.program-pill-list--light span { color:#fff; background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.18); }
.cultural-values-split { align-items:center; }
.cultural-values-split .section-heading h2,
.cultural-values-split .section-heading p { color:#fff; }
.cultural-values-split .section-heading p { color:rgba(255,255,255,.72); }
.cultural-values-split .section-heading .eyebrow { color:#dff5e9; }
.cultural-values-split .split-layout__media { overflow:hidden; min-height:480px; border-radius:28px; }
.cultural-values-split .split-layout__media img { width:100%; height:100%; min-height:480px; object-fit:cover; }
.program-photo-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.program-photo-feature-grid article { overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:24px; box-shadow:var(--shadow-sm); }
.program-photo-feature-grid img { width:100%; height:260px; object-fit:cover; }
.program-photo-feature-grid article div { padding:26px; }
.program-photo-feature-grid article h3 { font-size:1.45rem; }
.program-learning-band { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.program-learning-band > div { padding:30px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); border-radius:22px; }
.program-learning-band h3 { color:#fff; }
.program-learning-band p { color:rgba(255,255,255,.72); margin-bottom:0; }

/* About one-page consolidation */
.about-story-image { position:relative; overflow:hidden; }
.about-story-image > span { position:absolute; left:20px; right:20px; bottom:20px; padding:15px 18px; color:#fff; background:rgba(3,61,48,.9); border-radius:15px; font-weight:700; }
.about-accountability-visual { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); overflow:hidden; background:var(--mint-100); border:1px solid var(--line); border-radius:30px; }
.about-accountability-visual__image img { width:100%; height:100%; min-height:470px; object-fit:cover; }
.about-accountability-visual__copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(34px,5vw,72px); }
.about-accountability-visual__copy h2 { font-size:clamp(2.3rem,4vw,4.6rem); }

/* Home sponsorship CTA upgrade */
.home-sponsor-showcase-section { overflow:hidden; }
.home-sponsor-showcase { display:grid; grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr); overflow:hidden; min-height:610px; background:#fff; border:1px solid var(--line); border-radius:34px; box-shadow:0 28px 75px rgba(3,61,48,.12); }
.home-sponsor-showcase__copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(42px,6vw,86px); }
.home-sponsor-showcase__copy h2 { max-width:760px; font-size:clamp(2.8rem,4.8vw,5.6rem); }
.home-sponsor-showcase__copy > p { max-width:720px; font-size:1.02rem; }
.home-sponsor-showcase__options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:18px 0 30px; }
.home-sponsor-showcase__options span { display:flex; align-items:center; gap:10px; padding:13px 15px; color:var(--green-900); background:var(--mint-100); border:1px solid var(--mint-300); border-radius:14px; }
.home-sponsor-showcase__options svg { width:20px; height:20px; }
.home-sponsor-showcase__options b { font-size:.86rem; }
.home-sponsor-showcase__visual { position:relative; min-height:610px; overflow:hidden; }
.home-sponsor-showcase__visual > img { width:100%; height:100%; min-height:610px; object-fit:cover; }
.home-sponsor-showcase__shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(3,61,48,.03),rgba(3,61,48,.82)); }
.home-sponsor-showcase__card { position:absolute; left:28px; right:28px; bottom:30px; display:grid; grid-template-columns:58px 1fr; gap:16px; padding:24px; color:#fff; background:rgba(3,61,48,.84); border:1px solid rgba(255,255,255,.18); border-radius:22px; backdrop-filter:blur(12px); box-shadow:0 18px 50px rgba(0,0,0,.18); }
.home-sponsor-showcase__icon { display:grid; place-items:center; width:58px; height:58px; color:var(--green-950); background:#fff; border-radius:18px; }
.home-sponsor-showcase__icon svg { width:27px; height:27px; }
.home-sponsor-showcase__card strong { display:block; margin-bottom:6px; color:#fff; font-family:var(--serif); font-size:1.5rem; line-height:1.15; }
.home-sponsor-showcase__card small { display:block; color:rgba(255,255,255,.74); line-height:1.55; }
.home-sponsor-showcase__tag { position:absolute; top:24px; right:24px; display:flex; align-items:center; gap:8px; padding:10px 14px; color:var(--green-950); background:#fff; border-radius:999px; box-shadow:var(--shadow-sm); font-size:.78rem; font-weight:900; }
.home-sponsor-showcase__tag svg { width:16px; height:16px; }

@media (max-width: 1100px) {
    .hope-feature-story,
    .home-sponsor-showcase,
    .about-accountability-visual,
    .heroes-opening__grid,
    .heroes-quote-grid { grid-template-columns:1fr; }
    .hope-feature-story__image,
    .home-sponsor-showcase__visual { min-height:430px; }
    .hope-feature-story__image img,
    .home-sponsor-showcase__visual > img { min-height:430px; }
    .community-hero-paths__grid,
    .program-process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .program-photo-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .program-photo-feature-grid article:last-child { grid-column:1 / -1; }
}

@media (max-width: 760px) {
    .stories-intro-media,
    .stories-intro-media img,
    .heroes-journey-photo img,
    .program-story-split .split-layout__media,
    .program-story-split .split-layout__media img,
    .cultural-values-split .split-layout__media,
    .cultural-values-split .split-layout__media img { min-height:360px; }
    .hope-feature-story__image,
    .hope-feature-story__image img { min-height:320px; }
    .hope-feature-story__copy,
    .hope-cta-panel__copy { padding:30px; }
    .hope-cta-panel { grid-template-columns:1fr; }
    .hope-cta-panel__media img { min-height:300px; }
    .heroes-opening__mosaic { grid-template-columns:1fr 1fr; grid-template-rows:260px 170px; }
    .heroes-mosaic--large { grid-column:1 / -1; grid-row:auto; }
    .hero-mini-stat-row,
    .program-learning-band { grid-template-columns:1fr; }
    .community-hero-paths__grid,
    .program-process-grid,
    .program-photo-feature-grid { grid-template-columns:1fr; }
    .program-photo-feature-grid article:last-child { grid-column:auto; }
    .program-photo-band { grid-template-columns:1fr; }
    .program-photo-band img { height:250px; }
    .program-photo-band img:nth-child(2) { transform:none; }
    .home-sponsor-showcase__copy { padding:34px 28px 38px; }
    .home-sponsor-showcase__copy h2 { font-size:clamp(2.45rem,11vw,4.2rem); }
    .home-sponsor-showcase__options { grid-template-columns:1fr 1fr; }
    .home-sponsor-showcase__visual,
    .home-sponsor-showcase__visual > img { min-height:430px; }
    .home-sponsor-showcase__card { left:18px; right:18px; bottom:18px; grid-template-columns:48px 1fr; padding:18px; }
    .home-sponsor-showcase__icon { width:48px; height:48px; border-radius:14px; }
    .home-sponsor-showcase__tag { top:18px; right:18px; }
    .about-accountability-visual__image img { min-height:320px; }
}

@media (max-width: 520px) {
    .home-sponsor-showcase__options { grid-template-columns:1fr; }
    .home-sponsor-showcase__card { grid-template-columns:1fr; }
    .home-sponsor-showcase__icon { display:none; }
    .hero-mini-stat-row { grid-template-columns:1fr; }
    .heroes-opening__mosaic { grid-template-columns:1fr; grid-template-rows:auto; }
    .heroes-mosaic--large { grid-column:auto; }
    .heroes-mosaic { height:240px; }
}

@media (prefers-reduced-motion: reduce) {
    .hope-feature-story__image img,
    .community-hero-paths__grid > a { transition:none; }
}


/* ==========================================================
   V32 STORIES OF HOPE GRID + ABOUT RENDERING SAFEGUARDS
   ========================================================== */

/* Stories of Hope uses its own card system so it does not depend on
   generic news-card styles. Published stories use a balanced three-column
   desktop grid, then two and one column at smaller breakpoints. */
.hope-story-grid {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    align-items:stretch;
    width:100%;
}
.hope-story-card {
    display:flex;
    flex-direction:column;
    min-width:0;
    overflow:hidden;
    height:100%;
    background:#fff;
    border:1px solid var(--line);
    border-radius:22px;
    box-shadow:0 12px 34px rgba(3,61,48,.08);
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.hope-story-card:hover {
    transform:translateY(-6px);
    border-color:var(--mint-300);
    box-shadow:0 20px 48px rgba(3,61,48,.14);
}
.hope-story-card .news-card__image {
    display:block;
    position:relative;
    overflow:hidden;
    aspect-ratio:4 / 3;
    background:var(--mint-100);
}
.hope-story-card .news-card__image::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 58%,rgba(3,61,48,.18));
    pointer-events:none;
}
.hope-story-card .news-card__image img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s ease;
}
.hope-story-card:hover .news-card__image img { transform:scale(1.045); }
.hope-story-card .news-card__body {
    display:flex;
    flex:1;
    flex-direction:column;
    padding:20px 18px 19px;
}
.hope-story-card .eyebrow {
    margin-bottom:10px;
    font-size:.68rem;
    letter-spacing:.13em;
}
.hope-story-card h2 {
    margin:0 0 10px;
    color:var(--green-950);
    font-family:var(--serif);
    font-size:clamp(1.2rem,1.45vw,1.55rem);
    line-height:1.12;
}
.hope-story-card h2 a {
    color:inherit;
    text-decoration:none;
}
.hope-story-card h2 a:hover { color:var(--green-700); }
.hope-story-card p {
    display:-webkit-box;
    overflow:hidden;
    margin:0 0 18px;
    color:var(--muted);
    font-size:.84rem;
    line-height:1.62;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:4;
}
.hope-story-card .text-link {
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-top:auto;
    color:var(--green-700);
    font-size:.82rem;
    font-weight:850;
    text-decoration:none;
}
.hope-story-card .text-link svg { width:16px;height:16px; }

/* Make the consolidated About page sections visibly distinct and easy to scan. */
#story-values,#governance,#leadership-team { scroll-margin-top:132px; }
#story-values { position:relative; }
#governance { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
#leadership-team { background:#fff; }

@media (max-width:1280px) {
    .hope-story-grid { gap:16px; }
}
@media (max-width:820px) {
    .hope-story-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
    .hope-story-card .news-card__body { padding:18px 16px; }
}
@media (max-width:540px) {
    .hope-story-grid { grid-template-columns:1fr; }
    .hope-story-card .news-card__image { aspect-ratio:16 / 10; }
    .hope-story-card h2 { font-size:1.45rem; }
}
@media (prefers-reduced-motion:reduce) {
    .hope-story-card,.hope-story-card .news-card__image img { transition:none; }
}


/* ==========================================================
   V33 PROGRAMS MEGA-MENU COLUMN GROUPING
   ========================================================== */
.nav-dropdown--programs {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:10px 18px;
    align-items:start;
}
.nav-program-column {
    display:grid;
    align-content:start;
    gap:2px;
    min-width:0;
}
.nav-program-column--cultural {
    padding-right:14px;
    border-right:1px solid var(--line);
}
.nav-program-column--standalone {
    padding-left:2px;
}
.nav-program-parent {
    background:var(--mint-100);
}
.nav-program-parent:hover {
    background:var(--mint-200) !important;
}
.nav-program-column .nav-dropdown__subitem {
    margin-left:14px;
}

@media (max-width:1020px) {
    .nav-dropdown--programs {
        grid-template-columns:1fr 1fr;
        gap:4px 12px;
    }
    .nav-program-column--cultural {
        padding-right:10px;
    }
}
@media (max-width:700px) {
    .nav-dropdown--programs {
        grid-template-columns:1fr;
        gap:8px;
    }
    .nav-program-column--cultural {
        padding-right:0;
        padding-bottom:8px;
        border-right:0;
        border-bottom:1px solid var(--line);
    }
    .nav-program-column--standalone {
        padding-left:0;
    }
}

/* ==========================================================
   V34 HOMEPAGE POLISH + COMPACT SPONSORSHIP SHOWCASE
   ========================================================== */

/* A calmer page rhythm keeps the homepage rich without feeling overlong. */
.home-intro-section,
.home-programs-section,
.home-culture-section,
.home-vision-section,
.home-process-section,
.home-sponsor-showcase-section,
.home-community-section,
.home-leadership-section,
.home-latest-section {
    padding-top: clamp(64px, 6.5vw, 96px);
    padding-bottom: clamp(64px, 6.5vw, 96px);
}

/* Hero: still editorial, but a little tighter and easier to scan. */
.hero-slider {
    min-height: clamp(570px, 64vh, 640px);
}
.hero-slide__content {
    padding-top: 52px;
    padding-bottom: 52px;
}
.hero-slide h1,
.hero-slide h2 {
    max-width: 780px;
    margin-bottom: 20px;
    font-size: clamp(3.15rem, 5vw, 5.75rem);
    font-weight: 400;
    line-height: 1.01;
}
.hero-slide p {
    max-width: 680px;
    margin-bottom: 28px;
    font-size: clamp(1rem, 1.15vw, 1.16rem);
    line-height: 1.65;
}
.hero-slide__content .button-row {
    gap: 12px;
}
.hero-slide__content .btn {
    min-height: 50px;
    padding-inline: 22px;
}

/* Governance strip feels connected to the hero instead of becoming another tall band. */
.trust-strip__inner {
    min-height: 66px;
}
.trust-strip p {
    font-size: .86rem;
}

/* Three immediate pathways: compact, elevated and clearly separated from the hero. */
.home-pathways {
    margin-top: 0;
    padding: 54px 0 66px;
    background:
        radial-gradient(circle at 88% 10%, rgba(199,226,208,.28), transparent 28%),
        #fff;
}
.home-pathways__grid {
    gap: 16px;
}
.home-pathway-card {
    min-height: 300px;
    border: 1px solid rgba(7,91,67,.08);
    border-radius: 26px;
    box-shadow: 0 18px 44px rgba(3,61,48,.10);
}
.home-pathway-card__content {
    padding: 28px;
}
.home-pathway-card__content strong {
    font-size: clamp(1.55rem, 2vw, 2.05rem);
}

/* Who we are: reduce the oversized portrait treatment and improve proportion. */
.home-intro-section {
    background:
        radial-gradient(circle at 90% 8%, rgba(199,226,208,.36), transparent 30%),
        linear-gradient(180deg,#fbfdfc 0%,#fff 100%);
}
.home-intro-section .intro-showcase {
    grid-template-columns: minmax(0,.95fr) minmax(500px,1.05fr);
    gap: clamp(48px,5vw,82px);
}
.home-intro-section .intro-showcase__copy .section-heading h2 {
    font-size: clamp(2.55rem,3.55vw,4.35rem);
}
.home-intro-section .intro-showcase__visual {
    min-height: 555px;
    padding: 0 0 48px 62px;
}
.home-intro-section .intro-photo {
    width: 82%;
    height: 505px;
    border-radius: 26px;
}
.home-intro-section .mission-card--overlay {
    width: min(350px,58%);
    padding: 25px 27px 28px;
    border-radius: 20px;
}
.home-intro-section .mission-card--overlay p {
    font-size: clamp(1.14rem,1.35vw,1.42rem);
}

/* Programs: a balanced 3 + 2 composition avoids the awkward unfinished final row. */
.home-programs-section {
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 12%, rgba(255,255,255,.9), transparent 24%),
        linear-gradient(180deg,var(--mint-100) 0%,#f6fbf8 100%);
}
.home-programs-section .section-heading {
    margin-bottom: 34px;
}
.home-programs-section .section-heading h2 {
    font-size: clamp(2.45rem,3.55vw,4.2rem);
}
.home-programs-section .program-grid {
    grid-template-columns: repeat(6,minmax(0,1fr));
    gap: 16px;
}
.home-programs-section .program-card {
    grid-column: span 2;
    min-height: 250px;
    gap: 28px;
    padding: 28px;
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    box-shadow: 0 12px 34px rgba(3,61,48,.06);
}
.home-programs-section .program-card:nth-child(4),
.home-programs-section .program-card:nth-child(5) {
    grid-column: span 3;
}
.home-programs-section .program-card::after {
    content:"";
    position:absolute;
    width:120px;
    height:120px;
    right:-54px;
    top:-54px;
    border-radius:50%;
    background:var(--mint-100);
    opacity:.8;
    transition:transform .3s ease;
}
.home-programs-section .program-card:hover::after {
    transform:scale(1.18);
}
.home-programs-section .program-card__icon {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    box-shadow: 0 10px 24px rgba(3,61,48,.14);
}
.home-programs-section .section-action {
    margin-top: 32px;
}

/* Cultural exchange becomes a single editorial panel rather than another loose split section. */
.home-culture-section {
    background:#fff;
}
.home-culture-section .split-layout {
    grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
    gap:0;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:30px;
    background:#f7fbf9;
    box-shadow:0 22px 60px rgba(3,61,48,.08);
}
.home-culture-section .split-layout__media {
    min-height: 500px;
    border-radius:0;
    box-shadow:none;
}
.home-culture-section .split-layout__content {
    padding:clamp(38px,5vw,68px);
}
.home-culture-section .section-heading {
    margin-bottom:26px;
}
.home-culture-section .section-heading h2 {
    font-size:clamp(2.35rem,3.4vw,4rem);
}
.home-culture-section .split-layout__content .button-row {
    margin-top:24px;
}

/* Vision: stronger visual contrast at a much more useful height. */
.home-vision-section {
    background:linear-gradient(180deg,#fff 0%,#fbfcfb 100%);
}
.home-vision-section .vision-grid {
    gap:16px;
}
.home-vision-section .vision-card {
    min-height: 405px;
    border-radius: 26px;
    box-shadow:0 18px 50px rgba(3,61,48,.08);
}
.home-vision-section .vision-card--dark {
    position:relative;
    padding:clamp(36px,5vw,62px);
    background:
        radial-gradient(circle at 88% 12%, rgba(19,139,103,.28), transparent 28%),
        var(--green-950);
}
.home-vision-section .vision-card--dark::before {
    content:"";
    position:absolute;
    left:clamp(36px,5vw,62px);
    top:34px;
    width:54px;
    height:3px;
    border-radius:99px;
    background:var(--gold);
}
.home-vision-section .vision-card--dark h2 {
    font-size:clamp(2.25rem,3.2vw,3.75rem);
}
.home-vision-section .vision-card--image > div {
    left:36px;
    right:36px;
    bottom:32px;
}
.home-vision-section .vision-card--image h3 {
    font-size:2.25rem;
}

/* How we work: content card + media card give the section a deliberate composition. */
.home-process-section {
    background:
        radial-gradient(circle at 6% 90%, rgba(232,182,90,.09), transparent 24%),
        var(--warm);
}
.home-process-section .media-grid {
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    gap:clamp(28px,4vw,58px);
}
.home-process-section .media-grid__content {
    padding:clamp(32px,4vw,48px);
    background:#fff;
    border:1px solid var(--line);
    border-radius:26px;
    box-shadow:0 16px 46px rgba(3,61,48,.07);
}
.home-process-section .section-heading {
    margin-bottom:24px;
}
.home-process-section .section-heading h2 {
    font-size:clamp(2.35rem,3.2vw,3.85rem);
}
.home-process-section .numbered-process li {
    padding:14px 0;
}
.home-process-section .video-card {
    border-radius:28px;
    box-shadow:0 24px 62px rgba(3,61,48,.16);
}

/* Sponsorship CTA: shorter, lighter typography, all desktop controls on one line. */
.home-sponsor-showcase-section {
    overflow:hidden;
    background:
        radial-gradient(circle at 86% 14%, rgba(199,226,208,.6), transparent 26%),
        linear-gradient(180deg,#edf8f2 0%,#e7f4ed 100%);
}
.home-sponsor-showcase {
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
    min-height:0;
    border-radius:28px;
    box-shadow:0 22px 58px rgba(3,61,48,.10);
}
.home-sponsor-showcase__copy {
    justify-content:center;
    padding:clamp(38px,4.25vw,58px);
}
.home-sponsor-showcase__copy .eyebrow {
    margin-bottom:12px;
    font-size:.72rem;
}
.home-sponsor-showcase__copy h2 {
    max-width:680px;
    margin-bottom:16px;
    font-size:clamp(2.25rem,3.25vw,3.85rem);
    font-weight:400;
    line-height:1.06;
    letter-spacing:-.02em;
}
.home-sponsor-showcase__copy > p {
    max-width:680px;
    margin-bottom:0;
    font-size:.94rem;
    line-height:1.65;
}
.home-sponsor-showcase__options {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin:18px 0 22px;
}
.home-sponsor-showcase__options span {
    justify-content:center;
    gap:7px;
    min-width:0;
    padding:10px 9px;
    border-radius:12px;
    white-space:nowrap;
}
.home-sponsor-showcase__options svg {
    width:17px;
    height:17px;
    flex:0 0 17px;
}
.home-sponsor-showcase__options b {
    overflow:hidden;
    font-size:.75rem;
    text-overflow:ellipsis;
}
.home-sponsor-showcase__actions {
    flex-wrap:nowrap;
    gap:10px;
    width:100%;
}
.home-sponsor-showcase__actions .btn {
    min-height:48px;
    padding:11px 16px;
    font-size:.76rem;
    white-space:nowrap;
}
.home-sponsor-showcase__visual,
.home-sponsor-showcase__visual > img {
    min-height:465px;
}
.home-sponsor-showcase__visual > img {
    height:100%;
    object-fit:cover;
}
.home-sponsor-showcase__card {
    left:22px;
    right:22px;
    bottom:22px;
    grid-template-columns:48px 1fr;
    gap:13px;
    padding:18px;
    border-radius:18px;
}
.home-sponsor-showcase__icon {
    width:48px;
    height:48px;
    border-radius:14px;
}
.home-sponsor-showcase__icon svg {
    width:23px;
    height:23px;
}
.home-sponsor-showcase__card strong {
    margin-bottom:4px;
    font-size:1.24rem;
    font-weight:400;
}
.home-sponsor-showcase__card small {
    font-size:.76rem;
    line-height:1.45;
}
.home-sponsor-showcase__card .eyebrow {
    margin-bottom:7px;
    font-size:.64rem;
}
.home-sponsor-showcase__tag {
    top:18px;
    right:18px;
    padding:8px 11px;
    font-size:.7rem;
}

/* Community cards: a soft frame and tighter editorial hierarchy. */
.home-community-section {
    background:#fff;
}
.home-community-section .section-heading {
    margin-bottom:34px;
}
.home-community-section .section-heading h2,
.home-leadership-section .section-heading h2,
.home-latest-section .section-heading h2 {
    font-size:clamp(2.4rem,3.45vw,4.05rem);
}
.home-community-section .community-stories__grid {
    gap:16px;
}
.home-community-section .community-story {
    border-radius:24px;
    box-shadow:0 16px 42px rgba(3,61,48,.09);
}

/* Leadership / education gets a gentle tinted stage so it does not visually merge with the story grid. */
.home-leadership-section {
    background:
        radial-gradient(circle at 92% 14%, rgba(199,226,208,.42), transparent 28%),
        #f7fbf9;
}
.home-leadership-section .leadership-education-grid {
    gap:18px;
}
.home-leadership-section .leadership-education-card {
    min-height:430px;
    border-radius:26px;
    box-shadow:0 18px 48px rgba(3,61,48,.10);
}

/* News / learning: make the text column a real visual anchor. */
.home-latest-section {
    background:#fff;
}
.home-latest-section .latest-grid {
    grid-template-columns:.86fr 1fr 1fr;
    gap:18px;
    align-items:stretch;
}
.home-latest-section .latest-grid > div:first-child {
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:clamp(30px,3.5vw,46px);
    color:#fff;
    background:
        radial-gradient(circle at 100% 0, rgba(19,139,103,.28), transparent 32%),
        var(--green-950);
    border-radius:24px;
}
.home-latest-section .latest-grid > div:first-child .section-heading {
    margin-bottom:18px;
}
.home-latest-section .latest-grid > div:first-child .eyebrow,
.home-latest-section .latest-grid > div:first-child h2,
.home-latest-section .latest-grid > div:first-child p,
.home-latest-section .latest-grid > div:first-child .text-link {
    color:#fff;
}
.home-latest-section .latest-grid > div:first-child p {
    color:rgba(255,255,255,.72);
}
.home-latest-section .editorial-card {
    height:100%;
    border-radius:24px;
    box-shadow:0 14px 38px rgba(3,61,48,.07);
}
.home-latest-section .editorial-card img {
    aspect-ratio:16 / 9;
}

@media (max-width: 1180px) {
    .home-intro-section .intro-showcase {
        grid-template-columns:minmax(0,.9fr) minmax(450px,1.1fr);
        gap:40px;
    }
    .home-sponsor-showcase__options {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .home-sponsor-showcase__actions {
        flex-wrap:wrap;
    }
}

@media (max-width: 1100px) {
    .home-programs-section .program-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .home-programs-section .program-card,
    .home-programs-section .program-card:nth-child(4),
    .home-programs-section .program-card:nth-child(5) {
        grid-column:auto;
    }
    .home-programs-section .program-card:last-child {
        grid-column:1 / -1;
    }
    .home-intro-section .intro-showcase,
    .home-culture-section .split-layout,
    .home-process-section .media-grid,
    .home-latest-section .latest-grid {
        grid-template-columns:1fr;
    }
    .home-intro-section .intro-showcase__copy {
        max-width:760px;
    }
    .home-intro-section .intro-showcase__visual {
        max-width:760px;
        width:100%;
    }
    .home-culture-section .split-layout__media {
        min-height:410px;
    }
    .home-sponsor-showcase__options {
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
    .home-sponsor-showcase__actions {
        flex-wrap:nowrap;
    }
    .home-latest-section .latest-grid > div:first-child {
        min-height:300px;
    }
}

@media (max-width: 760px) {
    .home-intro-section,
    .home-programs-section,
    .home-culture-section,
    .home-vision-section,
    .home-process-section,
    .home-sponsor-showcase-section,
    .home-community-section,
    .home-leadership-section,
    .home-latest-section {
        padding-top:54px;
        padding-bottom:54px;
    }
    .hero-slider {
        min-height:560px;
    }
    .hero-slide h1,
    .hero-slide h2 {
        font-size:clamp(2.75rem,11vw,4.25rem);
    }
    .home-pathways {
        padding:40px 0 52px;
    }
    .home-intro-section .intro-showcase__visual {
        min-height:480px;
        padding:0 0 44px 32px;
    }
    .home-intro-section .intro-photo {
        width:88%;
        height:430px;
    }
    .home-intro-section .mission-card--overlay {
        width:min(330px,72%);
    }
    .home-programs-section .program-grid {
        grid-template-columns:1fr;
    }
    .home-programs-section .program-card:last-child {
        grid-column:auto;
    }
    .home-culture-section .split-layout {
        border-radius:24px;
    }
    .home-culture-section .split-layout__media {
        min-height:340px;
    }
    .home-culture-section .split-layout__content {
        padding:32px 26px 36px;
    }
    .home-vision-section .vision-card {
        min-height:360px;
    }
    .home-process-section .media-grid__content {
        padding:30px 25px;
    }
    .home-sponsor-showcase {
        border-radius:24px;
    }
    .home-sponsor-showcase__copy {
        padding:32px 26px 34px;
    }
    .home-sponsor-showcase__copy h2 {
        font-size:clamp(2.2rem,9.5vw,3.4rem);
    }
    .home-sponsor-showcase__options {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .home-sponsor-showcase__actions {
        flex-wrap:wrap;
    }
    .home-sponsor-showcase__actions .btn {
        flex:1 1 220px;
    }
    .home-sponsor-showcase__visual,
    .home-sponsor-showcase__visual > img {
        min-height:390px;
    }
    .home-leadership-section .leadership-education-card {
        min-height:380px;
    }
}

@media (max-width: 520px) {
    .home-intro-section .intro-showcase__visual {
        min-height:425px;
        padding-left:0;
    }
    .home-intro-section .intro-photo {
        width:100%;
        height:390px;
    }
    .home-intro-section .mission-card--overlay {
        left:14px;
        right:14px;
        width:auto;
        bottom:10px;
    }
    .home-sponsor-showcase__options {
        grid-template-columns:1fr 1fr;
    }
    .home-sponsor-showcase__actions {
        flex-direction:column;
        align-items:stretch;
    }
    .home-sponsor-showcase__actions .btn {
        width:100%;
        flex:0 0 auto;
    }
    .home-sponsor-showcase__card {
        grid-template-columns:1fr;
    }
    .home-sponsor-showcase__icon {
        display:none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-programs-section .program-card::after {
        transition:none;
    }
}


/* ==========================================================
   V35 HOME LATEST + CULTURE IMAGE FIT
   ========================================================== */
.home-latest-section .latest-grid > div:first-child .section-heading h2 {
    max-width: 350px;
    font-size: clamp(2.15rem, 2.7vw, 3.15rem);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -.018em;
}
.home-latest-section .latest-grid > div:first-child .section-heading p {
    max-width: 360px;
}
.home-culture-section .split-layout__media {
    position: relative;
    align-self: stretch;
    overflow: hidden;
}
.home-culture-section .split-layout__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    display: block;
    object-fit: cover;
    object-position: center center;
}
@media (max-width: 1100px) {
    .home-culture-section .split-layout__media {
        height: 430px;
        min-height: 430px;
    }
}
@media (max-width: 760px) {
    .home-latest-section .latest-grid > div:first-child .section-heading h2 {
        max-width: 500px;
        font-size: clamp(2.1rem, 9vw, 3rem);
    }
    .home-culture-section .split-layout__media {
        height: 350px;
        min-height: 350px;
    }
}

/* V36 Events listing search, filters and compact result controls */
.event-listing-intro{margin-bottom:32px}
.event-filter-panel{display:grid;grid-template-columns:minmax(280px,1.6fr) minmax(190px,.8fr) minmax(190px,.8fr) auto;gap:14px;align-items:end;margin-top:28px;padding:22px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 16px 40px rgba(5,66,51,.06)}
.event-filter-panel label{display:block;margin:0 0 8px;color:var(--green-950);font-size:.78rem;font-weight:850;letter-spacing:.02em}
.event-filter-panel__search,.event-filter-panel__field{min-width:0}
.event-search-box{position:relative;display:flex;align-items:center}
.event-search-box svg{position:absolute;left:15px;width:18px;height:18px;color:var(--green-700);pointer-events:none}
.event-search-box input,.event-filter-panel select{width:100%;min-height:48px;border:1px solid #cfe3db;border-radius:12px;background:#fafffd;color:var(--green-950);font:inherit;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
.event-search-box input{padding:11px 15px 11px 45px}
.event-filter-panel select{padding:11px 38px 11px 13px}
.event-search-box input:focus,.event-filter-panel select:focus{border-color:var(--green-600);background:#fff;box-shadow:0 0 0 4px rgba(8,119,93,.1)}
.event-filter-panel__actions{display:flex;align-items:center;gap:9px;white-space:nowrap}
.event-filter-panel__actions .btn{min-height:48px}
.event-listing-toolbar{margin:0 0 22px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.event-stage-guide + .event-listing-section{padding-top:72px}
@media(max-width:1100px){.event-filter-panel{grid-template-columns:1fr 1fr}.event-filter-panel__search{grid-column:1/-1}.event-filter-panel__actions{justify-content:flex-start}}
@media(max-width:700px){.event-filter-panel{grid-template-columns:1fr;padding:17px;border-radius:18px}.event-filter-panel__search{grid-column:auto}.event-filter-panel__actions{flex-direction:column;align-items:stretch}.event-filter-panel__actions .btn{width:100%}.event-listing-intro{margin-bottom:24px}}


/* V38 — AJAX Events search/filter controls */
.event-filter-panel__actions{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:48px;white-space:normal}
.event-filter-panel__actions [hidden]{display:none!important}
.event-results-region{position:relative;min-height:160px;transition:opacity .18s ease,filter .18s ease}
.event-results-region.is-loading{opacity:.52;filter:saturate(.82);pointer-events:none}
.event-results-region.is-loading::after{content:"";position:absolute;top:34px;left:50%;z-index:4;width:34px;height:34px;margin-left:-17px;border:3px solid rgba(8,119,93,.18);border-top-color:var(--green-700);border-radius:50%;animation:eventAjaxSpin .7s linear infinite;box-shadow:0 4px 18px rgba(5,66,51,.10)}
@keyframes eventAjaxSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.event-results-region,.event-results-region.is-loading::after{transition:none;animation-duration:1.4s}}
@media(max-width:1100px){.event-filter-panel__actions{justify-content:flex-start}}
@media(max-width:700px){.event-filter-panel__actions{flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:wrap}.event-filter-panel__actions .btn{width:auto}}
