:root{--ink:#15231f;--forest:#17372f;--green:#285848;--mint:#dfece5;--cream:#f7f3e8;--paper:#fffdf8;--gold:#e5b54b;--red:#c94a3d;--line:rgba(21,35,31,.14);--serif:"Newsreader",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit}img{display:block;max-width:100%}.skip{position:fixed;top:8px;left:8px;z-index:99;background:white;padding:.65rem 1rem;transform:translateY(-150%)}.skip:focus{transform:none}.site-header{height:82px;padding:0 clamp(1.25rem,4vw,4.5rem);display:flex;align-items:center;justify-content:space-between;background:rgba(255,253,248,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;line-height:1}.brand strong{display:block;letter-spacing:.13em;font-size:1.05rem}.brand small{display:block;margin-top:.35rem;text-transform:uppercase;letter-spacing:.22em;font-size:.57rem}.brand-mark{position:relative;width:34px;height:38px;display:block}.brand-mark i,.brand-mark b,.brand-mark em{position:absolute;display:block;border:3px solid var(--green);border-radius:100% 0 100% 0;transform:rotate(-32deg)}.brand-mark i{width:18px;height:26px;left:2px;top:7px}.brand-mark b{width:14px;height:21px;right:1px;top:1px;transform:scaleX(-1) rotate(-32deg)}.brand-mark em{border-width:0 0 0 3px;border-radius:0;width:3px;height:35px;left:17px;top:4px;transform:rotate(3deg)}.site-header nav{display:flex;align-items:center;gap:clamp(1rem,2.3vw,2.25rem)}.site-header nav a{text-decoration:none;font-size:.91rem;font-weight:600}.site-header nav a:not(.nav-cta):hover,.site-header nav a.active{color:var(--red)}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--gold);color:var(--ink);border:0;border-radius:2px;padding:.8rem 1.1rem;text-decoration:none;font-weight:700;transition:.2s}.nav-cta:hover,.button:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(21,35,31,.13)}.button.dark{background:var(--forest);color:white}.button.ghost{background:transparent;border:1px solid currentColor}.menu-toggle{display:none;background:none;border:0;width:44px;height:44px}.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:6px auto}
.hero{min-height:calc(92vh - 82px);display:grid;align-items:center;position:relative;color:white;background:linear-gradient(90deg,rgba(13,28,23,.94) 0%,rgba(13,28,23,.68) 44%,rgba(13,28,23,.08) 75%),url("/assets/buluzi-outreach.jpg") center 55%/cover}.hero-inner{width:min(1200px,calc(100% - 2.5rem));margin:auto;padding:6rem 0}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:700;color:var(--gold);margin:0 0 1.2rem}.hero h1,.page-hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(3.2rem,7vw,6.8rem);line-height:.93;letter-spacing:-.035em;max-width:900px;margin:0}.hero .lead{font-size:clamp(1.05rem,1.7vw,1.35rem);max-width:580px;margin:1.7rem 0 2.25rem;color:rgba(255,255,255,.86)}.actions{display:flex;gap:.8rem;flex-wrap:wrap}.page-hero{background:var(--forest);color:white;padding:clamp(5rem,10vw,9rem) max(1.25rem,calc((100vw - 1200px)/2));position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:420px;height:420px;right:-100px;bottom:-280px;border:80px solid var(--red);border-radius:50%;opacity:.35}.page-hero h1{font-size:clamp(3rem,6vw,5.8rem);max-width:920px}.page-hero p{max-width:640px;font-size:1.15rem;color:rgba(255,255,255,.78);margin:1.4rem 0 0}
.section{padding:clamp(4.5rem,9vw,8rem) max(1.25rem,calc((100vw - 1200px)/2))}.section.tint{background:var(--cream)}.section.forest{background:var(--forest);color:white}.section-head{display:grid;grid-template-columns:.75fr 1.25fr;gap:4rem;margin-bottom:3.4rem}.section-head h2,.split h2,.cta-band h2{font-family:var(--serif);font-size:clamp(2.45rem,4.5vw,4.5rem);line-height:1.02;letter-spacing:-.03em;margin:0}.section-head p{font-size:1.08rem;margin:.25rem 0 0;color:#52605b}.forest .section-head p{color:rgba(255,255,255,.72)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.card{background:white;border:1px solid var(--line);padding:2rem;min-height:300px;display:flex;flex-direction:column}.card .number{font-family:var(--serif);font-size:4.5rem;line-height:1;color:var(--red)}.card h3{font-family:var(--serif);font-size:1.8rem;line-height:1.08;margin:1.2rem 0 .6rem}.card p{margin:0;color:#5e6965}.card a{margin-top:auto;padding-top:1.5rem;font-weight:700;text-decoration:none}.card a:after,.text-link:after{content:"  →";color:var(--red)}.card.green{background:var(--green);color:white;border:0}.card.green p{color:rgba(255,255,255,.74)}.path-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--mint);font-weight:700;color:var(--green)}.green .path-icon{background:rgba(255,255,255,.14);color:var(--gold)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,7rem);align-items:center}.split p{color:#55625d}.quote{font-family:var(--serif);font-size:clamp(1.8rem,3vw,3rem);line-height:1.2;border-left:4px solid var(--gold);padding-left:1.5rem}.detail{border-top:1px solid var(--line)}.detail details{border-bottom:1px solid var(--line);padding:1.2rem 0}.detail summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between}.detail summary:after{content:"+";color:var(--red);font-size:1.4rem}.detail details[open] summary:after{content:"−"}.detail details p{max-width:760px}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.15);margin-top:3rem}.metric{padding:2rem;background:var(--forest)}.metric b{display:block;font-family:var(--serif);font-size:3.5rem;color:var(--gold);line-height:1}.metric span{font-size:.88rem;color:rgba(255,255,255,.7)}.story-grid,.resource-grid,.leaders{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.story,.resource,.leader{border:1px solid var(--line);background:white;padding:1.7rem}.story .tag,.resource .tag{font-size:.73rem;text-transform:uppercase;letter-spacing:.12em;color:var(--red);font-weight:700}.story h3,.resource h3{font-family:var(--serif);font-size:1.65rem;line-height:1.1;margin:.7rem 0}.story p,.resource p{color:#5c6964}.story.featured{grid-column:span 2;background:var(--mint);padding:2.5rem}.story.placeholder{border-style:dashed}.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 2rem}.filter{border:1px solid var(--line);background:white;border-radius:999px;padding:.55rem .9rem;font:600 .84rem var(--sans);cursor:pointer}.filter.active{background:var(--forest);color:white}.leader h3{margin:.3rem 0}.leader p{font-size:.88rem;margin:0;color:#65716c}.map-list{columns:2;column-gap:3rem}.map-list h3{break-after:avoid}.map-list ul{break-inside:avoid}.org-flow{display:flex;align-items:center;gap:1rem;background:var(--cream);padding:2rem;margin-top:2rem}.org-node{padding:1rem;background:white;border:1px solid var(--line);font-weight:700}.org-arrow{color:var(--red);font-size:1.8rem}
.cta-band{padding:clamp(4rem,8vw,7rem) max(1.25rem,calc((100vw - 1200px)/2));background:var(--gold);display:flex;align-items:center;justify-content:space-between;gap:3rem}.cta-band h2{max-width:700px}.cta-band .button{background:var(--forest);color:white;white-space:nowrap}.note{padding:1.2rem 1.4rem;background:var(--mint);border-left:4px solid var(--green)}footer{background:#0c201a;color:white;padding:4rem max(1.25rem,calc((100vw - 1200px)/2)) 1.5rem}.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3rem;align-items:start}.brand-light .brand-mark i,.brand-light .brand-mark b,.brand-light .brand-mark em{border-color:var(--gold)}.footer-main p{margin:0;color:rgba(255,255,255,.65)}.footer-main nav{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.footer-main nav a{text-decoration:none}.footer-base{border-top:1px solid rgba(255,255,255,.14);margin-top:3rem;padding-top:1.25rem;display:flex;justify-content:space-between;color:rgba(255,255,255,.55);font-size:.82rem}
.reveal{opacity:0;transform:translateY(16px);transition:.6s}.reveal.seen{opacity:1;transform:none}
@media(max-width:820px){.site-header{height:70px}.menu-toggle{display:block}.site-header nav{position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:1.5rem;display:none;align-items:stretch;flex-direction:column;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.site-header .nav-cta{align-self:flex-start}.hero{min-height:760px;background:linear-gradient(180deg,rgba(13,28,23,.72),rgba(13,28,23,.84)),url("/assets/buluzi-outreach.jpg") 55% center/cover}.section-head,.split{grid-template-columns:1fr;gap:1.7rem}.cards,.story-grid,.resource-grid,.leaders{grid-template-columns:1fr}.story.featured{grid-column:auto}.metrics{grid-template-columns:1fr}.photo-panel{min-height:420px}.cta-band{align-items:flex-start;flex-direction:column}.footer-main{grid-template-columns:1fr}.page-hero{padding-top:5rem}.map-list{columns:1}.org-flow{align-items:stretch;flex-direction:column}.org-arrow{transform:rotate(90deg);align-self:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Real WHEAMS field photography */
.field-photo,.wide-field-photo{margin:0;background:var(--forest);overflow:hidden;position:relative}
.field-photo img,.wide-field-photo img{width:100%;height:100%;object-fit:cover;object-position:center;filter:contrast(1.04) saturate(.96)}
.field-photo{aspect-ratio:4/3}.field-photo figcaption,.wide-field-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.5rem 1.2rem 1rem;background:linear-gradient(transparent,rgba(12,32,26,.82));color:white;font-size:.88rem;font-weight:700;letter-spacing:.025em}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:3rem}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.field-grid.three .field-photo{aspect-ratio:4/3}
.wide-field-photo{height:clamp(300px,44vw,490px);margin-top:3rem}.wide-field-photo img{object-position:center 53%}
.project-stat{min-height:360px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:var(--forest);color:white;padding:clamp(2rem,5vw,4rem)}.project-stat b{font-family:var(--serif);font-size:clamp(5rem,10vw,9rem);font-weight:500;line-height:1;color:var(--gold)}.project-stat span{font-size:1.15rem;max-width:18rem}
@media(max-width:820px){.field-grid,.field-grid.three{grid-template-columns:1fr}.field-photo{aspect-ratio:4/3}.wide-field-photo{height:380px}.hero{background-position:center,58% center}}
