/* Open white space, deep green, and photographs of the place and its people. */
:root{
  --ink:#202c27;--deep:#142c24;--paper:#faf9f6;--wash:#efeee8;
  --muted:#60665f;--line:#dcded5;--accent:#304a3d;--leaf:#59634b;
  --width:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Heebo',Arial,sans-serif;font-size:17px;line-height:1.8;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
/* Scale intrinsic image dimensions together on narrow screens. */
img{display:block;max-width:100%;height:auto}
figure{margin:0}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-weight:500;line-height:1.28;letter-spacing:normal;text-wrap:balance}
h1,h2{font-family:'Heebo',Arial,sans-serif;font-weight:500;font-synthesis:none}
p{text-wrap:pretty}
h1{font-size:clamp(2.75rem,4.6vw,4.25rem);margin-bottom:28px}
h2{font-size:clamp(2rem,2.8vw,2.75rem);margin-bottom:24px}
h3{font-size:1.5rem;font-weight:600;margin-bottom:16px}
p{margin-bottom:22px}
::selection{background:#dce0d1;color:var(--deep)}
:focus-visible{outline:3px solid #879779;outline-offset:5px}
.container{width:min(var(--width),calc(100% - 96px));margin-inline:auto}
.section{padding-block:96px}
.eyebrow{font-size:.875rem;font-weight:500;margin-bottom:23px;color:var(--leaf)}
.muted{color:var(--muted)}
.small{font-size:.875rem}
.lead{font-size:1.1875rem;line-height:1.8;max-width:62ch}
.skip-link{position:fixed;top:-90px;right:20px;z-index:100;background:var(--paper);color:var(--deep);padding:12px 20px;border-radius:25px}
.skip-link:focus{top:10px}

/* Quiet navigation, set directly over the opening landscape. */
.site-header{position:relative;z-index:30;background:var(--deep);color:#fff}
.page--home .site-header{position:absolute;top:0;inset-inline:0;background:transparent}
.header-inner{min-height:100px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 25px;padding-block:12px}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand img{width:130px;height:54px;object-fit:contain}
.desktop-nav{display:flex;align-items:center;gap:28px;margin-inline:auto;font-size:.875rem}
.desktop-nav a{padding-block:12px;border-bottom:1px solid transparent;white-space:nowrap}
.desktop-nav a:hover,.desktop-nav a[aria-current=page]{border-color:#d5d9cf}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;max-width:100%;padding:11px 22px;font-weight:500;font-size:.9375rem;line-height:1.6;border:1px solid transparent;border-radius:999px;transition:background .2s,color .2s}
.button-accent,.button-dark{background:var(--accent);color:#fff}
.button-accent:hover,.button-dark:hover{background:#20372c}
.button-outline{border-color:currentColor;background:transparent;color:inherit}
.button-outline:hover{background:#ffffff16}
.button-light{background:var(--paper);color:var(--deep)}
.button-light:hover{background:#e7e8de}
.header-donate{background:#ffffff15;border-color:#ffffff65;color:#fff;font-size:.875rem;min-height:43px}
.header-donate:hover{background:var(--paper);color:var(--deep)}
.arrow{font-size:1.3rem;font-weight:400;line-height:1}
.text-link{display:inline-flex;align-items:center;gap:28px;font-weight:500;font-size:.9375rem;padding:7px 0;border-bottom:1px solid currentColor;line-height:1.6}
.text-link:hover{color:var(--leaf)}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px}
.menu-toggle{display:none;border:1px solid #ffffff65;border-radius:24px;color:inherit;background:transparent;padding:9px 15px;font-size:.875rem;min-height:44px}
.mobile-nav{display:none}

/* The landscape is one uninterrupted frame. */
.north-hero{position:relative;isolation:isolate;background:var(--deep);color:#fff}
.north-landscape{position:absolute;inset:0;z-index:-2;overflow:hidden}
.north-landscape img{width:100%;height:100%;object-fit:cover;object-position:50% 68%;filter:saturate(.78) contrast(1.03)}
.north-landscape:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#14251db3 0%,#14251d0d 28%,#14251d9e 70%,#14251de6 100%)}
.north-hero-content{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:max(190px,calc(var(--header-height,100px) + 70px));padding-bottom:max(16px,env(safe-area-inset-bottom))}
.north-hero-body{display:grid;grid-template-columns:1.45fr 1fr;gap:10%;align-items:end;padding-block:68px 56px}
.north-hero h1{font-size:clamp(4rem,6.7vw,6.25rem);font-weight:400;line-height:1.04;letter-spacing:normal;text-wrap:initial;margin:0}
.north-hero h1 span{display:block}
.north-hero .eyebrow{font-size:.875rem;font-weight:400;color:#f0f5ed;margin-bottom:22px}
.north-hero-intro{max-width:340px;justify-self:end}
.north-hero-intro p{font-size:1.0625rem;line-height:1.85;text-wrap:pretty;margin-bottom:24px}
.north-hero .hero-actions{flex-direction:column;align-items:flex-start;gap:12px}
.north-hero .text-link{font-size:.9375rem;font-weight:400}
.north-hero .text-link:hover{color:#fff}

/* A restrained introduction and participation figures, on white. */
.north-manifesto{padding-block:76px 60px}
.manifesto-layout{display:grid;grid-template-columns:1fr 1.12fr;gap:9%;align-items:center}
.manifesto-title h2{font-size:clamp(2.15rem,3vw,2.9rem);margin-bottom:24px}
.manifesto-title>p:not(.eyebrow){font-size:1rem;color:var(--muted);max-width:440px;margin-bottom:18px}
.manifesto-title .text-link{margin-top:5px}
.manifesto-photo img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:center;border-radius:5px}
.manifesto-photo figcaption{font-size:.8125rem;color:var(--muted);padding-top:12px}
.stats{background:var(--paper);padding-block:35px 65px}
.stats .eyebrow{margin-bottom:20px}
.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:60px}
.stat{border-top:1px solid var(--line);padding-top:30px}
.stat strong{font-size:clamp(3.2rem,4.7vw,4.5rem);line-height:1.1;font-weight:400;letter-spacing:-.055em;display:block;direction:ltr;text-align:right;margin-bottom:17px}
.stat p{font-size:1rem;max-width:270px;margin:0;color:var(--muted)}

/* Three photographic entry points, with the introduction alongside. */
.action-gallery{padding-block:45px 85px}
.action-gallery-grid{display:grid;grid-template-columns:1.1fr repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.action-gallery-intro{padding-inline-end:18px;padding-block:10px}
.action-gallery-intro h2{font-size:2.1rem;margin-bottom:18px}
.action-gallery-intro p:not(.eyebrow){font-size:1rem;color:var(--muted)}
.action-gallery-intro .text-link{font-size:.875rem;gap:20px;margin-top:7px}
.action-photo-card{position:relative;min-width:0;display:flex;flex-direction:column;color:var(--ink);background:#fff}
.action-photo-card img{width:100%;height:auto;aspect-ratio:1.08;object-fit:cover;border-radius:5px}
.action-photo-card:hover h3{text-decoration:underline;text-underline-offset:5px}
.action-photo-card:focus-visible{outline-offset:5px}
.card-arrow{position:absolute;top:16px;left:16px;width:32px;height:32px;display:grid;place-items:center;background:var(--paper);color:var(--deep);border-radius:50%;font-size:1.2rem;line-height:1}
.action-photo-copy{padding:20px 0 0}
.action-photo-copy h3{font-size:1.25rem;line-height:1.35;margin-bottom:10px;font-weight:500;letter-spacing:normal}
.action-photo-copy p{font-size:1rem;line-height:1.65;margin:0;color:var(--muted)}
.action-photo-card:nth-child(2) img{object-position:65% center}
.action-photo-card:nth-child(3) img{object-position:53% center}
.action-photo-card:nth-child(4) img{object-position:45% center}

/* The donor story connects the purpose with three specific support routes. */
.donor-story{padding-block:80px;background:var(--deep);color:#fff}
.donor-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}
.donor-story .eyebrow{color:#d1d6c6}
.donor-story-copy h2{font-size:clamp(2.3rem,3.2vw,3.2rem);line-height:1.3;font-weight:500}
.donor-story-copy>p:not(.eyebrow){font-size:1rem;color:#e3e5dc;max-width:460px;margin-bottom:0}
.donor-routes-label{font-size:.9375rem;margin:0;color:#e3e5dc}
.donor-routes{margin-block:20px 32px}
.donor-routes a{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-block:23px;border-top:1px solid #ffffff40;font-size:.9375rem}
.donor-routes a:last-child{border-bottom:1px solid #ffffff40}
.donor-routes a span:first-child{font-weight:500}
.donor-routes a span:last-child{color:#d5d9cf;font-size:.875rem}
.donor-routes a:hover span:first-child{text-decoration:underline;text-underline-offset:5px}
.partners-strip{padding-block:45px 65px;text-align:center;border-top:1px solid var(--line)}
.partners-strip .small{margin-bottom:32px;color:var(--muted)}
.partner-logos{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:60px}
.partner-logos img{width:150px;height:72px;object-fit:contain;filter:brightness(0);opacity:.65}
.join-call{padding-block:52px;background:var(--wash)}
.join-call .eyebrow{margin-bottom:10px}
.closing-grid{display:flex;justify-content:space-between;align-items:center;gap:28px}
.closing-grid h2{font-size:clamp(2.3rem,3.4vw,3.4rem);font-weight:500;margin:0;line-height:1.3}
.closing-grid h2 span{color:var(--leaf)}
.closing-link{display:inline-flex;align-items:center;gap:16px;font-size:1.1rem}
.closing-arrow{display:inline-flex;line-height:1}
.closing-arrow svg{width:2rem;height:2rem}
.card-arrow svg{display:block;width:20px;height:20px}
.closing-link:hover{color:var(--leaf)}
.site-footer{background:var(--deep);color:#fff;padding-block:65px 25px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:60px}
.footer-brand img{width:150px;height:62px;object-fit:contain;margin-bottom:24px}
.footer-brand p{max-width:345px;color:#d5d9cf;font-size:1rem}
.footer-nav{display:flex;flex-direction:column;align-items:start;gap:10px;font-size:.875rem}
.footer-nav strong{font-weight:500;color:#fff;font-size:.9375rem;margin-bottom:12px}
.footer-nav a{color:#d5d9cf}
.footer-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;border-top:1px solid #ffffff2b;margin-top:45px;padding-top:23px;font-size:.8125rem;color:#c9cec2}

/* The interior pages use the same scale and generous white space. */
.page-hero{background:var(--wash);padding-block:55px 70px;border-bottom:1px solid var(--line)}
.page-hero h1{max-width:22ch;font-size:clamp(2.75rem,4.6vw,4.25rem);font-weight:500;line-height:1.24}
.page-hero .lead{margin-bottom:0;max-width:62ch;color:var(--muted)}
.breadcrumb{font-size:.875rem;margin-bottom:42px;display:flex;gap:12px;color:var(--muted)}
.breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.body-grid{display:grid;grid-template-columns:.7fr 1fr;gap:10%}
.body-grid h2{font-size:clamp(2.2rem,3.2vw,3rem)}
.prose p{max-width:62ch;text-wrap:pretty;font-size:1.0625rem;color:var(--muted)}
.prose h3{margin-top:35px}
.intro-grid{display:grid;grid-template-columns:.65fr 1.3fr;gap:8%}
.intro-grid .eyebrow{align-self:start;margin-top:10px}
.intro-grid .lead{max-width:850px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}
.section-head h2{margin-bottom:0}
.section-head p{max-width:420px;margin:0}
.value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:45px}
.value-item{border-top:1px solid var(--line);padding-top:25px}
.value-item h3{font-size:1.4rem}
.value-item p{font-size:1rem;color:var(--muted)}
.wide-photo{position:relative;height:420px}
.wide-photo img{width:100%;height:100%;object-fit:cover}
.wide-photo figcaption{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,#14251ddd);color:#fff;padding:65px 48px 24px;font-size:.875rem}
.program-next .container{max-width:940px}
.program-cta{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px 40px;margin-top:48px;padding-top:34px;border-top:1px solid #ffffff33}
.program-cta-compact{grid-template-columns:1fr;margin-top:36px;padding-top:26px}
.program-cta-label{color:#cfe0d5;font-size:.9375rem;line-height:1.6;margin-bottom:14px}
.policy-lead{max-width:660px}
.policy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:36px 44px;margin-top:44px}
.policy-grid h3{font-size:1.0625rem;font-weight:600;margin-bottom:10px}
.policy-grid p{color:var(--muted);font-size:.9375rem;line-height:1.75;margin-bottom:10px}
.policy-quote{margin:52px 0 0;padding:30px 0 0;border-top:1px solid var(--line)}
.policy-quote p{font-size:1.5rem;line-height:1.45;font-weight:400;margin-bottom:14px;max-width:640px}
.policy-quote cite{font-style:normal;font-size:.875rem;color:var(--muted)}
.program-next{background:var(--deep);color:#fff}
.program-next .eyebrow{color:#cfe0d5}
.program-next h2{color:#fff}
.program-lead{max-width:660px;color:#eef3ee;margin-bottom:8px}
.program-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:30px;margin:44px 0;padding:30px 0;border-top:1px solid #ffffff33;border-bottom:1px solid #ffffff33}
.program-figures .stat strong{display:block;font-size:3.25rem;font-weight:500;line-height:1;margin-bottom:12px;font-variant-numeric:tabular-nums}
.program-figures .stat p{color:#e3ebe4;font-size:.9375rem;line-height:1.6;max-width:230px;margin:0}
.program-body{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:start}
.program-body p{color:#e8efe9;line-height:1.85}
.program-status{margin-top:20px;font-weight:500;color:#fff}
.program-body .small{color:#cfe0d5;margin-bottom:16px}
.program-tracks{list-style:none;margin:0;padding:0}
.program-tracks li{padding:13px 0;border-bottom:1px solid #ffffff2e;font-size:1.0625rem}
.program-tracks li:last-child{border-bottom:0}
@media(max-width:900px){.program-body{grid-template-columns:1fr;gap:36px}}
.community-figure{margin-top:30px}
.community-figure img{width:100%;height:auto;border-radius:6px;display:block}
.community-figure .image-note{margin-top:12px}
.youth-scale{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px;margin:34px 0 56px;padding-bottom:34px;border-bottom:1px solid var(--line)}
.youth-scale .stat strong{display:block;font-size:3rem;font-weight:500;line-height:1.05;margin-bottom:10px;font-variant-numeric:tabular-nums}
.youth-scale .stat p{color:var(--muted);font-size:.9375rem;line-height:1.6;max-width:280px;margin:0}
.blue-section .stat strong{display:block;font-size:3.25rem;font-weight:500;line-height:1.05;margin-bottom:10px;font-variant-numeric:tabular-nums}
.blue-section .stat p{font-size:.9375rem;line-height:1.6;max-width:260px;margin:0}
.roster-intro{max-width:640px;margin-bottom:10px}
.roster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:0 56px;list-style:none;margin:0;padding:0}
.roster-card{padding:30px 0 32px;border-bottom:1px solid var(--line)}
.roster-card strong{display:block;font-size:1.1875rem;font-weight:600;line-height:1.3;margin-bottom:6px}
.roster-card .roster-role{display:block;font-size:.9375rem;font-weight:500;color:var(--leaf);margin-bottom:12px}
.roster-card p{color:var(--muted);font-size:.9375rem;line-height:1.7;margin:0}
.roster .utility-links{margin-top:40px}
.action-detail{scroll-margin-top:35px;padding-block:60px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:60px 1fr 1fr;gap:40px}
.action-detail .big-number{font-size:1.5rem;color:var(--leaf)}
.action-detail h2{font-size:2.5rem;max-width:360px}
.action-detail h3{font-size:1.2rem;margin-bottom:10px}
.action-detail .detail-body p{font-size:1.0625rem;color:var(--muted)}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.tag{background:var(--wash);padding:4px 11px;border-radius:4px;font-size:.875rem}
.young-hero{background:var(--wash)}
.young-hero h1 span{color:var(--leaf)}
.young-lead{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.young-lead img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:7px}
.youth-teams{margin-block:30px}
.youth-teams p{display:grid;grid-template-columns:120px 1fr;gap:20px;margin:0;padding-block:17px;border-top:1px solid var(--line);font-size:1rem}
.youth-teams p:last-child{border-bottom:1px solid var(--line)}
.youth-teams strong{font-weight:500}
.youth-teams span{color:var(--muted)}
.image-note{font-size:.8125rem;color:var(--muted);margin:18px 0 0}
.blue-section{background:var(--wash)}
.quote{font-size:clamp(2.2rem,4vw,3.8rem);font-weight:400;line-height:1.4;text-align:center;max-width:1000px;margin:0 auto}
.partner-intro{max-width:850px}
.partner-opportunity{display:grid;grid-template-columns:1fr 2fr;gap:55px;border-top:1px solid var(--line);padding-block:30px}
.partner-opportunity h3{font-size:1.4rem}
.partner-opportunity p{font-size:1.0625rem;max-width:680px;color:var(--muted)}
.support-hero{background:var(--deep);color:#fff;border:0;padding-top:40px}
.support-hero .breadcrumb,.support-hero .eyebrow{color:#d1d6c6}
.support-hero .lead{color:#e3e5dc}
.support-hero h1 span{color:#cbd1be}
.support-hero .hero-actions{margin-top:30px}
.support-hero .button-accent{background:var(--paper);color:var(--deep)}
.support-hero .button-accent:hover{background:#e7e8de}
.support-hero .text-link:hover{color:#e0e3d8}
.investment-list{margin-top:50px}
.investment{display:grid;grid-template-columns:50px 1fr 1.1fr;gap:40px;padding-block:38px;border-top:1px solid var(--line)}
.investment:target{background:var(--wash);outline:1px solid var(--line);outline-offset:12px}
.investment .number{font-size:1.25rem;color:var(--leaf)}
.investment h3{font-size:1.65rem;font-weight:500}
.investment .investment-desc{color:var(--muted);font-size:1.0625rem}
.investment ul{padding-inline-start:20px;margin-top:0}
.investment li{padding-bottom:9px}
.investment .text-link{font-size:.9375rem;color:var(--ink)}
.evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-block:35px}
.evidence-grid h3{font-size:1.5rem}
.contact-panel{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;background:var(--wash);padding:55px;border-radius:8px}
.contact-person{border-top:1px solid var(--line);padding-top:25px}
.contact-person h3{font-size:1.5rem;margin-bottom:10px}
.contact-person p{margin-bottom:14px}
.giving-portrait{display:flex;gap:17px;align-items:end;margin-bottom:25px}
.giving-portrait img{width:110px;height:135px;object-fit:cover;border-radius:5px}
.giving-portrait figcaption{font-size:.8125rem;color:var(--muted)}
.contact-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:20px}
.contact-links a{text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
.contact-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}
.contact-option{border-top:1px solid var(--line);padding-top:25px}
.contact-option h2{font-size:1.9rem}
.contact-option p{font-size:1.0625rem;color:var(--muted)}
.contact-option .button{margin-top:10px}
.utility-links{display:flex;flex-wrap:wrap;gap:25px;margin-top:28px}
.utility-links a{font-size:.9375rem;text-decoration:underline;text-underline-offset:5px}
.proof-section{background:var(--wash)}
.proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}
.proof-card{border-top:1px solid var(--line);padding-top:25px}
.proof-card .small{color:var(--muted);margin-bottom:20px}
.proof-card h3{font-size:1.4rem}
.proof-card p{font-size:1rem}
.proof-card .text-link{font-size:.9375rem}

@media(max-width:1100px){
  .container{width:calc(100% - 64px)}
  .header-inner{gap:20px}.desktop-nav{gap:20px;font-size:.875rem}
  .brand img{width:116px;height:48px}
  .north-hero-body{gap:45px}
  .action-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  .action-gallery-intro{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 40px;align-items:start;padding:0 0 22px}
  .action-gallery-intro .eyebrow,.action-gallery-intro h2{grid-column:1}
  .action-gallery-intro p:not(.eyebrow){grid-column:2;grid-row:1/3;margin-top:4px;max-width:400px}
  .action-gallery-intro .text-link{grid-column:2;justify-self:start;margin:0}
  .stat-grid{gap:40px}.donor-story-grid{gap:7%}
  .contact-panel{padding:38px;gap:40px}
  .footer-grid{gap:40px}
}
@media(max-width:900px){
  .desktop-nav{display:none}.header-inner{min-height:86px;gap:16px}
  .header-donate{margin-inline-start:auto}
  .menu-toggle{display:block}
  .mobile-nav{background:var(--deep);position:fixed;top:var(--menu-top,86px);bottom:0;inset-inline:0;padding:25px 32px;overflow:auto}
  .mobile-nav.open{display:flex;flex-direction:column;gap:8px}
  .mobile-nav a{font-size:1.4rem;padding:13px 0;border-bottom:1px solid #ffffff30}
  .north-hero-content{padding-top:max(150px,calc(var(--header-height,86px) + 45px))}
  .north-hero-body{display:block;padding-block:38px}
  .north-hero h1{font-size:4.8rem}
  .north-hero-intro{max-width:430px;margin-top:26px}
  .north-hero .hero-actions{flex-direction:row;align-items:center;gap:14px 24px}
  .north-hero-intro p{font-size:1.0625rem}
  .section{padding-block:75px}.north-manifesto{padding-bottom:55px}
  .manifesto-layout{gap:6%}
  .stat-grid{gap:25px}.stat strong{font-size:3.5rem}
  .action-gallery{padding-top:35px}
  .action-photo-copy{padding:20px 0 0}
  .donor-story-grid{gap:6%}
  .donor-story-copy h2{font-size:2.4rem}.donor-routes a{flex-wrap:wrap;gap:3px 15px}
  .partner-logos{gap:35px}.partner-logos img{width:130px}
  .closing-grid h2{font-size:2.8rem}
  .body-grid{gap:7%}.intro-grid{grid-template-columns:.5fr 1fr;gap:6%}
  .action-detail{grid-template-columns:35px 1fr;gap:25px}.action-detail .detail-body{grid-column:2}
  .young-lead{gap:35px}
  .investment{grid-template-columns:35px 1fr 1fr;gap:23px}
  .contact-options{gap:25px}.contact-option h2{font-size:1.65rem}
  .contact-option .button{font-size:.875rem;padding-inline:17px;gap:15px}
}
@media(max-width:650px){
  body{font-size:16px}
  .container{width:calc(100% - 40px)}
  .header-inner{min-height:80px;gap:9px}
  .brand img{width:105px;height:44px}
  .header-donate{padding:9px 13px;font-size:.875rem}
  .menu-toggle{padding:9px 13px;font-size:.875rem}
  .mobile-nav{top:var(--menu-top,80px);padding-inline:20px}
  .north-hero-content{padding-top:max(135px,calc(var(--header-height,80px) + 35px));padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .north-hero-body{display:block;padding-block:38px}
  .north-hero h1{font-size:clamp(2.9rem,12vw,4.8rem);line-height:1.08;letter-spacing:normal}
  .north-hero .eyebrow{font-size:.875rem;margin-bottom:20px}
  .north-hero-intro{margin-top:26px;max-width:350px}
  .north-hero-intro p{font-size:1rem;margin-bottom:18px}
  .north-landscape img{object-position:45% center}
  .section{padding-block:60px}
  h1{font-size:2.8rem}h2{font-size:2.25rem}h3{font-size:1.4rem}
  .eyebrow{margin-bottom:20px}
  .lead{font-size:1.125rem}
  .manifesto-layout{grid-template-columns:1fr;gap:30px}
  .manifesto-title h2{font-size:2.25rem}
  .north-manifesto{padding-bottom:35px}
  .stats{padding-block:20px 35px}
  .stat-grid{grid-template-columns:1fr;gap:0}
  .stat{padding-block:25px;display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center}
  .stat strong{font-size:3rem;margin:0}
  .stat p{font-size:.9375rem}
  .action-gallery{padding-top:30px;padding-bottom:60px}
  .action-gallery-grid{grid-template-columns:1fr;gap:20px}
  .action-gallery-intro{display:block;padding:0 0 12px}
  .action-gallery-intro h2{font-size:2.3rem}
  .action-gallery-intro .text-link{margin-top:5px}
  .action-photo-card img{aspect-ratio:1.5}
  .action-photo-copy{padding:20px 0 14px}
  .action-photo-copy h3{font-size:1.5rem}
  .action-photo-copy p{font-size:1rem;max-width:300px}
  .card-arrow{top:20px;left:20px;width:36px;height:36px}
  .donor-story-grid{grid-template-columns:1fr;gap:35px}
  .donor-story-copy h2{font-size:2.4rem}
  .donor-routes a{flex-wrap:nowrap;font-size:.875rem}
  .partners-strip{padding-block:35px 45px}
  .partner-logos{gap:25px 35px}.partner-logos img{width:115px;height:58px}
  .join-call{padding-block:55px}
  .closing-grid{align-items:start;flex-direction:column;gap:16px}
  .closing-grid h2{font-size:clamp(2.2rem,8vw,3rem)}
  .closing-link{font-size:1.1rem}
  .site-footer{padding-top:45px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px 23px}
  .footer-brand{grid-column:1/-1}.footer-brand img{width:136px;height:57px;margin-bottom:20px}
  .footer-brand p{margin:0}.footer-nav{font-size:.875rem}
  .footer-bottom{display:block;margin-top:30px}.footer-bottom span{display:block;margin-block:10px}
  .page-hero{padding-block:35px 50px}
  .page-hero h1{font-size:clamp(2.35rem,9vw,3.2rem)}
  .page-hero .lead{font-size:1.0625rem}.breadcrumb{margin-bottom:30px}
  .body-grid,.intro-grid{display:block}
  .body-grid h2{font-size:2.25rem;margin-bottom:28px}
  .intro-grid .eyebrow{margin-bottom:25px}.prose p{font-size:1rem}
  .section-head{display:block;margin-bottom:30px}.section-head p{margin-top:20px}
  .wide-photo{height:310px}.wide-photo figcaption{padding-inline:20px;font-size:.875rem}
  .action-detail{grid-template-columns:25px 1fr;gap:15px;padding-block:35px}
  .action-detail .big-number{font-size:1rem;padding-top:6px}
  .action-detail h2{font-size:2.1rem;margin-bottom:10px}
  .action-detail .detail-body p{font-size:1rem}
  .young-lead{display:flex;flex-direction:column;gap:30px}
  .youth-teams p{grid-template-columns:1fr;gap:5px}
  .quote{font-size:2.25rem;text-align:right}
  .partner-opportunity{display:block;padding-block:25px}
  .partner-opportunity h3{margin-bottom:15px}.partner-opportunity p{font-size:1rem;margin:0}
  .investment{grid-template-columns:25px 1fr;gap:16px;padding-block:30px}
  .investment h3{font-size:1.85rem}.investment .investment-desc{grid-column:2;font-size:1rem}
  .investment .number{font-size:1rem;padding-top:5px}
  .evidence-grid{grid-template-columns:1fr;gap:25px}
  .contact-panel{display:block;padding:30px 23px}.contact-panel h2{font-size:2.25rem}
  .contact-person{margin-top:30px}.contact-options{grid-template-columns:1fr;gap:35px}
  .contact-option h2{font-size:1.9rem}.contact-option .button{margin-top:0;font-size:.9375rem}
  .contact-links{font-size:1rem;gap:15px}
  .utility-links{gap:18px 23px}
  .proof-card .small{margin-bottom:15px}
}
@media(max-width:360px){
  .container{width:calc(100% - 32px)}
  .brand img{width:87px;height:37px}
  .header-donate,.menu-toggle{padding-inline:10px;font-size:.8125rem}
  .stat strong{font-size:2.6rem}.stat{gap:15px}
  .donor-routes a{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
}

/* Reference-led hero: one editorial column with an evidence row below. */
.north-landscape:after{background:linear-gradient(270deg,rgba(12,27,21,.66),rgba(12,27,21,.18) 70%),linear-gradient(180deg,rgba(12,27,21,.2),transparent 45%,rgba(12,27,21,.7))}
.north-hero-content{padding-top:max(150px,calc(var(--header-height,100px) + 35px));padding-bottom:max(28px,env(safe-area-inset-bottom))}
.north-hero-body{display:flex;flex:1;align-items:center;padding-block:40px 64px}
.north-hero-statement{max-width:690px}
.north-hero h1{font-family:'Heebo',Arial,sans-serif;font-size:clamp(3.5rem,5.6vw,5.25rem);font-weight:700;line-height:1.1;letter-spacing:normal}
.north-hero .eyebrow{margin-bottom:16px;font-weight:400}
.north-hero-intro{max-width:470px;margin-top:40px;margin-left:auto;margin-right:0}
.north-hero-intro p{font-size:1.125rem;line-height:1.65;margin-bottom:28px;text-align:right}
.north-hero .hero-actions{flex-direction:row;align-items:center;justify-content:flex-start;gap:16px}
.north-hero .button{border-radius:5px;padding:11px 20px;gap:18px}
.north-hero .button-outline{border-color:#ffffff9e}
.hero-evidence{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;align-items:end;text-align:center;border-top:1px solid #ffffff40;padding-top:23px}
.hero-evidence strong{display:block;direction:ltr;text-align:center;font-size:2rem;font-weight:500;line-height:1.2;margin-bottom:7px;font-variant-numeric:tabular-nums}
.hero-evidence span{font-size:.875rem;line-height:1.6;color:#f0f1e9}
@media(max-width:900px){
 .north-hero-content{padding-top:max(130px,calc(var(--header-height,86px) + 30px))}
 .north-hero-body{padding-block:30px 50px}
 .hero-evidence{gap:20px}
}
@media(max-width:650px){
 .north-hero-content{padding-top:max(118px,calc(var(--header-height,80px) + 25px));padding-bottom:max(20px,env(safe-area-inset-bottom))}
 .north-hero-body{padding-block:24px 40px}
 .north-hero h1{font-size:clamp(2.6rem,10.4vw,4rem);line-height:1.14}
 .north-hero .eyebrow{font-size:.8125rem;margin-bottom:20px}
 .north-hero-intro{margin-top:22px;max-width:390px}
 .north-hero-intro p{font-size:1rem;line-height:1.7;margin-bottom:22px}
 .north-hero .button{font-size:.875rem;padding:10px 14px;gap:12px}
 .hero-evidence{gap:18px 14px;padding-top:20px}
 .hero-evidence strong{font-size:clamp(1.35rem,5.8vw,1.9rem)}
 .hero-evidence span{font-size:.8125rem;display:block}
}
@media(max-width:650px){
 .footer-nav a{padding-block:9px}
 .contact-links a{padding-block:7px;display:inline-block}
 .utility-links a{padding-block:7px}
}
.media-empty{max-width:620px}
.media-empty h2{margin-bottom:14px}
.media-empty .hero-actions{margin-top:26px}
.program-list{display:grid;gap:0}
.program-item{padding:44px 0;border-top:1px solid var(--line);max-width:760px}
.program-item:first-child{border-top:0;padding-top:8px}
.program-meta{font-size:.875rem;font-weight:500;color:var(--leaf);margin-bottom:12px}
.program-item h2{font-size:clamp(1.7rem,2.6vw,2.3rem);margin-bottom:18px}
.program-item p{color:var(--muted);line-height:1.85;margin-bottom:14px}
.program-figure{display:flex;align-items:baseline;gap:16px;margin:0 0 20px;padding:18px 0;border-block:1px solid var(--line)}
.program-figure strong{font-size:2.6rem;font-weight:500;line-height:1;color:var(--deep);font-variant-numeric:tabular-nums}
.program-figure p{margin:0;max-width:330px;font-size:.9375rem;line-height:1.6}
.incubator-figures{border-block:1px solid var(--line);margin-top:0}
.incubator-figures .stat strong{color:var(--deep)}
.incubator-figures .stat p{color:var(--muted)}
.incubator-tracks li{border-bottom:1px solid var(--line);font-size:1rem;line-height:1.6;padding:12px 0}
.program-status-light{font-weight:500;color:var(--deep)}
