@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root { --ink:#18251e; --forest:#164c35; --leaf:#a8e65c; --sun:#f5b942; --cream:#f8f4e9; --paper:#fffdf7; --coral:#f46f4a; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:'DM Sans',Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.site-header { height:88px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; border-bottom:1px solid rgba(24,37,30,.12); background:rgba(255,253,247,.94); position:sticky; top:0; z-index:20; backdrop-filter:blur(16px); }
.brand { display:flex; align-items:center; gap:12px; font-family:'Manrope',sans-serif; }
.brand-mark { display:grid; place-items:center; width:43px; height:43px; border-radius:14px 14px 14px 3px; background:var(--leaf); color:var(--forest); font-weight:800; }
.brand strong,.brand small { display:block; line-height:1.05; text-transform:uppercase; letter-spacing:.05em; }
.brand strong { font-size:.92rem; }.brand small { margin-top:4px; font-size:.68rem; letter-spacing:.18em; }
.desktop-nav { display:flex; gap:2.2rem; font-size:.92rem; font-weight:600; }
.desktop-nav a:hover { color:var(--forest); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:54px; padding:0 24px; border-radius:100px; background:var(--forest); color:white; font-weight:700; transition:.2s ease; }
.button:hover { transform:translateY(-2px); background:#0c3c28; }
.button-small { min-height:46px; padding:0 20px; }
.hero { min-height:calc(100vh - 88px); display:grid; grid-template-columns:1.05fr .95fr; gap:5vw; padding:7vh 5vw 8vh; overflow:hidden; }
.hero-copy { align-self:center; max-width:760px; }
.eyebrow,.section-kicker { margin:0 0 22px; text-transform:uppercase; letter-spacing:.16em; font-size:.75rem; font-weight:800; color:var(--forest); }
h1,h2,h3 { font-family:'Manrope',sans-serif; margin:0; }
h1 { font-size:clamp(4rem,7.8vw,8rem); line-height:.9; letter-spacing:-.065em; }
h1 em { color:var(--coral); font-style:normal; }
.hero-intro { max-width:600px; margin:36px 0 32px; font-size:clamp(1.05rem,1.5vw,1.34rem); line-height:1.55; color:#526058; }
.hero-actions { display:flex; align-items:center; gap:28px; }.text-link { font-weight:700; border-bottom:1px solid; padding-bottom:4px; }
.hero-visual { align-self:stretch; position:relative; min-height:620px; border-radius:210px 210px 28px 28px; overflow:hidden; background:var(--sun); }
.hero-visual img { width:100%; height:100%; object-fit:cover; object-position:center 38%; }
.hero-note { position:absolute; left:22px; right:22px; bottom:22px; background:rgba(255,253,247,.94); padding:20px 24px; border-radius:18px; display:flex; justify-content:space-between; font-family:'Manrope'; }
.hero-note strong { color:var(--forest); }.hero-note span { color:#667269; }
.statement { padding:120px 5vw; background:var(--cream); }
.statement>h2,.work-heading h2,.involved h2,.contact h2 { max-width:1000px; font-size:clamp(2.8rem,5.4vw,6rem); line-height:1; letter-spacing:-.055em; }
.statement-grid { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:26px; margin-top:70px; }
.statement-lead { font-size:1.35rem; line-height:1.6; margin:0; padding-right:8vw; color:#4d5b52; }
.mission-card { background:var(--paper); border-radius:24px; padding:28px; display:flex; gap:22px; }
.mission-card .number { color:var(--coral); font-weight:800; }.mission-card h3 { font-size:1.3rem; }.mission-card p { color:#5c685f; line-height:1.6; margin-bottom:0; }
.work { padding:120px 5vw; }
.work-heading { display:grid; grid-template-columns:1.5fr .7fr; gap:8vw; align-items:end; }
.work-heading>p { margin:0; color:#5c685f; line-height:1.7; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin:70px 0; background:#d9dfd9; border:1px solid #d9dfd9; border-radius:24px; overflow:hidden; }
.steps article { background:var(--paper); padding:38px; }.steps span { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:var(--leaf); color:var(--forest); font-weight:800; }
.steps h3 { font-size:1.5rem; margin-top:42px; }.steps p { color:#5c685f; line-height:1.6; }
.feature-photo { margin:0; height:620px; position:relative; overflow:hidden; border-radius:28px; background:var(--sun); }
.feature-photo img { width:100%; height:100%; object-fit:cover; }.feature-photo figcaption { position:absolute; left:28px; bottom:28px; background:var(--paper); border-radius:100px; padding:14px 20px; font-weight:700; }
.proof { display:grid; grid-template-columns:1fr 1fr; min-height:720px; background:var(--forest); color:white; }
.proof-photo { padding:64px; display:flex; align-items:center; justify-content:center; background:#f69c1a; overflow:hidden; }
.proof-photo img { width:min(520px,100%); max-height:620px; object-fit:cover; object-position:top; border-radius:24px; transform:rotate(-2deg); box-shadow:0 30px 60px rgba(24,37,30,.24); }
.proof-copy { padding:9vw 7vw; align-self:center; }.proof-copy .section-kicker { color:var(--leaf); }.proof-copy h2 { font-size:clamp(2.8rem,4.8vw,5.6rem); line-height:1; letter-spacing:-.055em; }.proof-copy>p:not(.section-kicker) { color:#d6e0d9; line-height:1.75; font-size:1.05rem; }
.proof-copy ul { list-style:none; padding:0; margin:36px 0 0; }.proof-copy li { padding:18px 0; border-top:1px solid rgba(255,255,255,.2); font-weight:600; }.proof-copy li:before { content:'✓'; color:var(--leaf); margin-right:14px; }
.involved { padding:120px 5vw; background:var(--cream); }.involved-intro { display:flex; justify-content:space-between; align-items:end; }.involved h2 { max-width:850px; }
.involved-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:70px; }.involved-grid>a { min-height:280px; background:var(--paper); border-radius:24px; padding:30px; display:grid; grid-template-columns:auto 1fr auto; gap:20px; align-items:start; transition:.25s ease; }.involved-grid>a:hover { transform:translateY(-6px); box-shadow:0 18px 45px rgba(24,37,30,.1); }
.card-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:var(--leaf); color:var(--forest); font-weight:800; }.involved-grid h3 { margin-top:4px; font-size:1.4rem; }.involved-grid p { color:#5c685f; line-height:1.6; margin-top:74px; }
.donate { margin:0 2.5vw; min-height:620px; border-radius:34px; padding:8vw; background:var(--coral); color:white; display:grid; grid-template-columns:1.5fr .6fr; gap:8vw; align-items:end; }
.donate .section-kicker { color:#ffe1d7; }.donate h2 { font-size:clamp(3.4rem,6.5vw,7.2rem); line-height:.92; letter-spacing:-.06em; }.donate-copy>p:not(.section-kicker) { max-width:640px; line-height:1.7; font-size:1.08rem; }
.donate-actions { display:flex; align-items:center; gap:24px; margin-top:34px; }.button-light { background:var(--paper); color:var(--ink); }.phone-link { font-weight:700; border-bottom:1px solid rgba(255,255,255,.8); padding-bottom:4px; }.donate-aside { border-left:1px solid rgba(255,255,255,.35); padding-left:34px; }.donate-aside span,.donate-aside strong { display:block; }.donate-aside span { font-size:.8rem; text-transform:uppercase; letter-spacing:.13em; }.donate-aside strong { font-family:'Manrope'; font-size:1.5rem; margin-top:14px; }
.contact { padding:130px 5vw; display:grid; grid-template-columns:1fr 1fr; gap:8vw; }.contact-links a { display:block; padding:24px 0; border-top:1px solid #cfd6d0; }.contact-links span,.contact-links strong { display:block; }.contact-links span { text-transform:uppercase; letter-spacing:.14em; font-size:.7rem; color:#6c776f; }.contact-links strong { margin-top:8px; font-family:'Manrope'; font-size:clamp(1rem,2vw,1.35rem); overflow-wrap:anywhere; }.contact-links a:hover strong { color:var(--coral); }
footer { margin:0 5vw; padding:34px 0; border-top:1px solid #d7ddd8; display:flex; align-items:center; justify-content:space-between; font-size:.85rem; color:#606c64; }.footer-brand { color:var(--ink); }
@media (max-width:900px) { .desktop-nav{display:none}.hero{grid-template-columns:1fr;padding-top:70px}.hero-visual{min-height:540px}.statement-grid,.work-heading,.proof,.contact{grid-template-columns:1fr}.statement-grid{margin-top:48px}.statement-lead{padding-right:0}.steps,.involved-grid{grid-template-columns:1fr}.feature-photo{height:520px}.proof-photo{padding:48px 5vw}.involved-intro{display:block}.donate{grid-template-columns:1fr}.donate-aside{border-left:0;border-top:1px solid rgba(255,255,255,.35);padding:28px 0 0} }
@media (max-width:600px) { .site-header{height:74px;padding:0 20px}.site-header .button-small{min-height:42px;padding:0 16px}.site-header .button-small span{display:none}.brand strong{font-size:.8rem}.brand small{font-size:.58rem}.brand-mark{width:38px;height:38px}.hero{padding:60px 20px}.hero h1{font-size:3.7rem}.hero-intro{margin-top:26px}.hero-actions,.donate-actions{align-items:flex-start;flex-direction:column}.hero-visual{min-height:440px;border-radius:120px 120px 24px 24px}.hero-note{font-size:.82rem}.statement,.work,.involved,.contact{padding:84px 20px}.statement>h2,.work-heading h2,.involved h2,.contact h2{font-size:2.7rem}.mission-card{padding:24px 20px}.steps{margin:48px 0}.steps article{padding:28px}.steps h3{margin-top:24px}.feature-photo{height:400px}.proof-copy{padding:84px 20px}.proof-photo{padding:40px 20px}.involved-grid{margin-top:48px}.involved-grid>a{min-height:230px}.involved-grid p{margin-top:36px}.donate{margin:0 10px;padding:72px 24px;min-height:auto}.donate h2{font-size:3.3rem}.contact{gap:48px}footer{margin:0 20px;align-items:flex-start;gap:26px;flex-direction:column}.footer-brand{display:none} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.button,.involved-grid>a{transition:none} }
