:root { --forest:#123f36; --deep:#092e29; --cream:#f5f1e6; --ink:#17332e; --coral:#f27b5d; --lime:#d8e99a; --blue:#a8d8e6; --white:#fffdf7; --font-sans:"Raleway",Arial,sans-serif; --font-serif:"Philosopher",Georgia,serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:var(--font-sans); }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.site-header { height:88px; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(18,63,54,.14); position:relative; z-index:20; }
.brand { display:flex; gap:11px; align-items:center; letter-spacing:.04em; }.brand-mark { width:46px; height:46px; object-fit:contain; flex:none; }.brand > span:last-child { display:flex; flex-direction:column; line-height:1; }.brand strong { color:var(--deep); font-family:var(--font-serif); font-size:17px; }.brand small { font-size:8px; letter-spacing:.32em; margin-top:5px; }
.desktop-nav { display:flex; gap:clamp(16px,2vw,32px); font-size:13px; }.desktop-nav a { padding:12px 0; }.desktop-nav a:hover { color:#e05f42; }
.header-actions { display:flex; align-items:center; gap:10px; }.mobile-menu-toggle { display:none; width:42px; height:42px; border:1px solid rgba(18,63,54,.25); background:transparent; color:var(--forest); font-size:20px; cursor:pointer; }.mobile-nav { display:none; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:35px; padding:17px 22px; color:white; background:var(--forest); border:1px solid var(--forest); border-radius:2px; font-weight:650; font-size:14px; transition:.2s ease; }.button:hover { background:var(--deep); transform:translateY(-2px); }.button span { font-size:17px; }.button-small { padding:13px 18px; gap:18px; }
.hero { min-height:720px; padding:0 0 0 7vw; display:grid; grid-template-columns:.86fr 1.14fr; align-items:stretch; gap:4vw; overflow:hidden; }.hero-copy { align-self:center; padding:74px 0 82px; position:relative; z-index:2; }.eyebrow,.section-label { text-transform:uppercase; letter-spacing:.18em; font-weight:700; font-size:11px; margin:0 0 24px; }.eyebrow { display:flex; align-items:center; gap:12px; }.eyebrow span { width:28px; height:2px; background:var(--coral); }
h1,h2,h3,p { margin-top:0; } h1 { font-family:var(--font-serif); font-size:clamp(57px,6.2vw,93px); font-weight:520; letter-spacing:-.055em; line-height:.96; margin-bottom:28px; } h1 em,.donation-section h2 em { color:#e86145; font-weight:450; }.editable-lines { white-space:pre-line; }.hero-intro { max-width:570px; font-size:17px; line-height:1.7; color:#50645f; }.hero-actions { display:flex; align-items:center; gap:30px; margin-top:34px; }.text-link,.arrow-link { font-weight:650; font-size:14px; border-bottom:1px solid rgba(18,63,54,.35); padding:8px 0; }.text-link span,.arrow-link span { margin-left:13px; }
.hero-visual { position:relative; min-height:720px; overflow:hidden; }.hero-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }.hero-photo-shade { position:absolute; inset:0; background:linear-gradient(90deg, var(--cream) 0%, rgba(245,241,230,.76) 8%, transparent 42%),linear-gradient(0deg, rgba(9,46,41,.72), transparent 42%); }.hero-photo-caption { position:absolute; left:44px; bottom:38px; color:white; display:flex; flex-direction:column; text-shadow:0 2px 20px rgba(9,46,41,.38); }.hero-photo-caption span { text-transform:uppercase; letter-spacing:.18em; font-size:9px; font-weight:750; color:var(--lime); }.hero-photo-caption strong { font-family:var(--font-serif); font-size:28px; font-weight:540; margin:7px 0 4px; }.hero-photo-caption small { font-size:10px; letter-spacing:.08em; }
.hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }.hero-video-controls { position:absolute; z-index:3; top:28px; right:28px; display:flex; gap:9px; }.hero-video-control { width:46px; height:46px; border:1px solid rgba(255,255,255,.75); border-radius:50%; background:rgba(9,46,41,.48); backdrop-filter:blur(8px); color:white; display:grid; place-items:center; cursor:pointer; font-size:14px; transition:.2s ease; box-shadow:0 5px 18px rgba(9,46,41,.16); }.hero-video-control:hover { background:rgba(9,46,41,.78); transform:scale(1.04); }.hero-video-control:focus-visible { outline:3px solid var(--lime); outline-offset:3px; }.hero-video-control span { line-height:1; }.hero-video-control[data-video-sound-toggle] { font-family:"Apple Color Emoji","Segoe UI Emoji",sans-serif; font-size:17px; }
.trust-strip { background:var(--white); border-top:1px solid rgba(18,63,54,.12); border-bottom:1px solid rgba(18,63,54,.12); padding:24px 7vw; display:flex; align-items:center; justify-content:space-between; font-size:12px; }.trust-strip p { margin:0; font-weight:650; }.trust-strip div { display:flex; gap:34px; color:#60716d; }
.section { padding:110px 7vw; }.section-label { color:#e05f42; }.section-label.light { color:var(--lime); }.section-heading-grid { display:grid; grid-template-columns:1.35fr .65fr; gap:10vw; align-items:end; }.section h2,.impact-section h2,.donation-section h2 { font-family:var(--font-serif); font-size:clamp(42px,4.6vw,68px); font-weight:500; letter-spacing:-.045em; line-height:1.05; margin-bottom:0; }.section-heading-grid > div p { color:#60716d; line-height:1.75; font-size:15px; }.arrow-link { display:inline-flex; margin-top:14px; }
.founder-section { background:var(--white); padding:0; display:grid; grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr); min-height:760px; }.founder-photo { min-height:760px; position:relative; overflow:hidden; }.founder-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; }.founder-photo:after { content:""; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,rgba(9,46,41,.72)); }.founder-photo-label { position:absolute; z-index:1; left:7vw; bottom:48px; color:white; display:flex; flex-direction:column; }.founder-photo-label span,.founder-role,.vision-mission-grid span { text-transform:uppercase; letter-spacing:.18em; font-size:9px; font-weight:800; }.founder-photo-label span { color:var(--lime); }.founder-photo-label strong { font-family:var(--font-serif); font-size:32px; font-weight:520; margin-top:7px; }.founder-copy { padding:94px 7vw 90px 6vw; align-self:center; }.founder-copy h2 { font-family:var(--font-serif); font-size:clamp(45px,4.7vw,69px); font-weight:500; letter-spacing:-.045em; line-height:1.02; margin-bottom:18px; }.founder-role { color:#74847f; margin-bottom:32px; }.founder-copy > p:not(.section-label):not(.founder-role) { color:#60716d; font-size:14px; line-height:1.72; max-width:690px; }.founder-copy .founder-lead { color:var(--ink)!important; font-family:var(--font-serif); font-size:21px!important; line-height:1.5!important; }.founder-copy blockquote { color:#df5d41; font-family:var(--font-serif); font-size:28px; font-style:italic; margin:30px 0; padding-left:22px; border-left:3px solid var(--coral); }.vision-mission-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:30px; }.vision-mission-grid article { background:var(--cream); padding:22px; border-top:3px solid var(--forest); }.vision-mission-grid article:last-child { border-top-color:var(--coral); }.vision-mission-grid span { color:#d9593d; }.vision-mission-grid p { font-size:12px; line-height:1.6; margin:12px 0 0; color:#526760; }.founder-principle { border-top:1px solid rgba(18,63,54,.18); margin-top:24px; padding-top:20px; display:grid; grid-template-columns:145px 1fr; gap:16px; align-items:start; }.founder-principle b { font-family:var(--font-serif); font-size:18px; }.founder-principle span { color:#6a7b76; font-size:12px; line-height:1.55; }
.supporters-section { background:#e9eee8; }.supporters-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:10vw; align-items:end; margin-bottom:52px; }.supporters-heading > p { color:#5f716c; font-size:14px; line-height:1.75; max-width:520px; margin-bottom:5px; }.supporters-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }.supporter-card { min-height:270px; padding:19px 20px 20px; background:var(--white); border-top:3px solid transparent; display:flex; flex-direction:column; position:relative; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }.supporter-card:hover { transform:translateY(-4px); border-color:var(--coral); box-shadow:0 14px 35px rgba(18,63,54,.08); }.supporter-number { color:#8a9994; font-size:9px; font-weight:800; letter-spacing:.16em; }.supporter-logo { min-height:152px; flex:1; display:grid; place-items:center; padding:7px 12px; }.supporter-logo img { width:100%; max-width:205px; height:145px; object-fit:contain; }.supporter-meta { min-height:50px; padding-top:15px; border-top:1px solid rgba(18,63,54,.14); display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }.supporter-meta strong { font-family:var(--font-serif); font-size:14px; line-height:1.25; font-weight:600; }.supporter-meta small { flex:none; color:#87958f; font-size:7px; font-weight:800; letter-spacing:.14em; line-height:1.45; text-transform:uppercase; text-align:right; }.supporter-website { color:#d9593d; font-size:9px; font-weight:800; margin-top:10px; text-transform:uppercase; letter-spacing:.1em; }.supporters-note { margin:30px 0 0; color:#667873; font-family:var(--font-serif); font-size:18px; font-style:italic; text-align:center; }
.programs-section { color:var(--cream); background:var(--forest); }.section-topline { display:flex; justify-content:space-between; align-items:end; margin-bottom:52px; }.section-topline > p { max-width:360px; color:#bad0ca; line-height:1.65; }.program-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.program-card { min-height:410px; padding:30px; color:var(--forest); display:flex; flex-direction:column; position:relative; overflow:hidden; }.program-card.coral { background:var(--coral); }.program-card.lime { background:var(--lime); }.program-card.blue { background:var(--blue); }.program-number { font-size:11px; letter-spacing:.14em; font-weight:700; }.program-icon { font-size:64px; margin:38px 0 auto; opacity:.86; }.program-card h3 { font-family:var(--font-serif); font-size:33px; font-weight:550; margin-bottom:14px; }.program-card p { font-size:13px; line-height:1.6; max-width:310px; }.program-card a { display:flex; justify-content:space-between; border-top:1px solid rgba(18,63,54,.3); padding-top:17px; margin-top:13px; font-weight:700; font-size:12px; }
.section-title-row { display:flex; align-items:end; justify-content:space-between; margin-bottom:50px; }.outline-button { padding:15px 19px; border:1px solid rgba(18,63,54,.5); font-size:13px; font-weight:650; }.outline-button span { margin-left:24px; }.activity-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }.activity-art { height:315px; padding:28px; position:relative; overflow:hidden; color:var(--forest); display:flex; flex-direction:column; justify-content:center; }.activity-art:before,.activity-art:after { content:""; position:absolute; border-radius:50%; opacity:.75; }.activity-art:before { width:270px; height:270px; right:-50px; top:-60px; border:1px solid currentColor; }.activity-art:after { width:180px; height:180px; left:-40px; bottom:-70px; background:rgba(255,255,255,.24); }.activity-one { background:#d9a995; }.activity-two { background:#b9d5a6; }.activity-three { background:#9bcbd7; }.activity-art span { font-size:10px; letter-spacing:.25em; z-index:1; }.activity-art b { font-family:var(--font-serif); font-size:46px; font-weight:500; z-index:1; line-height:1; margin-top:10px; }.activity-art i { position:absolute; right:32px; bottom:24px; font-size:40px; font-style:normal; }.activity-meta { display:flex; justify-content:space-between; margin:18px 0 13px; color:#6d7d79; font-size:10px; text-transform:uppercase; letter-spacing:.12em; }.activity-meta span { color:#d9593d; font-weight:700; }.activity-card h3 { font-family:var(--font-serif); font-size:25px; font-weight:530; line-height:1.2; min-height:60px; }.activity-card > a { font-size:12px; font-weight:700; border-bottom:1px solid rgba(18,63,54,.3); padding-bottom:7px; }.activity-card > a span { float:right; }
.impact-section { background:var(--deep); color:var(--cream); padding:105px 9vw; display:grid; grid-template-columns:1fr 420px; gap:11vw; align-items:center; }.impact-copy > p:not(.section-label) { color:#a9c0ba; line-height:1.7; max-width:540px; margin:28px 0; }.button-cream { background:var(--cream); color:var(--deep); border-color:var(--cream); }.button-cream:hover { background:white; color:var(--deep); }.report-card { background:var(--cream); color:var(--deep); height:495px; transform:rotate(3deg); padding:30px; box-shadow:22px 22px 0 rgba(242,123,93,.9); }.report-head { display:flex; justify-content:space-between; text-transform:uppercase; font-size:9px; letter-spacing:.13em; }.report-graphic { height:190px; display:flex; align-items:end; gap:9px; border-bottom:1px solid #9bada8; margin:40px 0 28px; padding:0 15px; }.report-graphic div { flex:1; background:var(--forest); }.report-graphic div:nth-child(1){height:31%}.report-graphic div:nth-child(2){height:55%;background:var(--coral)}.report-graphic div:nth-child(3){height:44%}.report-graphic div:nth-child(4){height:78%;background:#a8d8e6}.report-graphic div:nth-child(5){height:96%;background:#d3e88b}.report-lines { display:grid; gap:10px; }.report-lines span { height:6px; background:#c7d0ca; display:block; }.report-lines span:nth-child(2){width:74%}.report-lines span:nth-child(3){width:46%}.report-footer { border-top:1px solid #9bada8; margin-top:36px; padding-top:22px; display:flex; justify-content:space-between; align-items:end; }.report-footer strong { font-family:var(--font-serif); font-size:23px; line-height:1.1; }.report-footer i { font-size:30px; font-style:normal; }
.donation-section { padding:105px 8vw; background:var(--coral); display:grid; grid-template-columns:1fr 390px; gap:10vw; align-items:center; }.donation-panel { background:var(--cream); padding:30px; }.donation-panel > p { font-family:var(--font-serif); font-size:21px; line-height:1.35; }.amounts { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin:24px 0 12px; }.amounts button { background:transparent; border:1px solid rgba(18,63,54,.3); padding:13px 4px; cursor:pointer; font-weight:650; font-size:12px; }.amounts button:hover { background:var(--lime); }.button-wide { width:100%; }.donation-panel small { display:block; text-align:center; margin-top:13px; color:#72817d; font-size:9px; }
footer { padding:72px 7vw 25px; background:var(--forest); color:var(--cream); }.footer-top { display:grid; grid-template-columns:1.1fr 1fr .7fr 1.1fr; gap:35px; padding-bottom:70px; }.brand-footer .brand-mark { filter:brightness(0) invert(1); opacity:.95; }.brand-footer strong { color:var(--cream); }.footer-top > p { font-family:var(--font-serif); font-size:21px; line-height:1.4; color:#c9d7d3; }.footer-links,.footer-contact { display:flex; flex-direction:column; gap:13px; font-size:12px; }.footer-contact span { color:#8eaaa3; text-transform:uppercase; letter-spacing:.14em; font-size:9px; margin-bottom:4px; }.footer-contact small { color:#a9bfba; font-size:10px; line-height:1.55; max-width:240px; }.footer-bottom { border-top:1px solid rgba(245,241,230,.2); padding-top:22px; display:flex; justify-content:space-between; color:#91aaa4; font-size:10px; }
@media (max-width:900px) { .desktop-nav{display:none}.hero{grid-template-columns:1fr;padding-top:60px}.hero-visual{height:470px}.section-heading-grid,.supporters-heading,.impact-section,.donation-section{grid-template-columns:1fr}.section-heading-grid,.supporters-heading{gap:35px}.supporters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.program-grid,.activity-grid{grid-template-columns:1fr}.program-card{min-height:350px}.activity-art{height:380px}.impact-section{gap:70px}.report-card{max-width:420px;margin:auto;width:100%}.footer-top{grid-template-columns:1fr 1fr}.section-topline{align-items:start;gap:30px}.trust-strip{align-items:flex-start;gap:15px}.trust-strip div{flex-wrap:wrap;gap:12px 24px} }
@media (max-width:900px) { .mobile-menu-toggle{display:grid;place-items:center}.mobile-nav{position:absolute;left:0;right:0;top:100%;padding:18px 7vw 26px;background:var(--cream);border-top:1px solid rgba(18,63,54,.12);box-shadow:0 18px 35px rgba(9,46,41,.12);grid-template-columns:repeat(2,1fr);gap:4px}.mobile-nav:not([hidden]){display:grid}.mobile-nav a{padding:12px 8px;font-size:14px;font-weight:650} }
@media (max-width:600px) { .site-header{height:74px;padding:0 20px}.brand-mark{width:38px;height:38px}.brand strong{font-size:15px}.button-small{font-size:0;gap:0;width:42px;height:42px;padding:0}.button-small span{font-size:20px}.hero{padding:52px 22px 65px;min-height:auto}.hero h1{font-size:53px}.hero-intro{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:10px}.hero-visual{height:420px;margin-top:18px}.hero-visual:before{width:290px;height:360px}.orbit-one{width:375px;height:375px}.orbit-two{width:420px}.card-main{width:260px;height:282px;left:7%;top:12%}.hero-logo-card img{padding:14px}.card-note{right:-5%;width:150px;height:130px;padding:19px}.card-note p{font-size:21px}.impact-chip{left:-4%;width:156px;height:78px}.trust-strip{padding:22px;flex-direction:column}.trust-strip div{flex-direction:column}.section{padding:80px 22px}.section h2,.impact-section h2,.donation-section h2{font-size:43px}.section-topline,.section-title-row{display:block}.section-topline>p{margin-top:27px}.supporters-grid{gap:8px}.supporter-card{min-height:218px;padding:13px}.supporter-logo{min-height:116px;padding:3px}.supporter-logo img{height:112px}.supporter-meta{min-height:62px;display:block}.supporter-meta strong{display:block;font-size:12px}.supporter-meta small{display:block;text-align:left;margin-top:7px}.supporters-note{font-size:16px;line-height:1.5}.outline-button{display:inline-flex;margin-top:27px}.activity-art{height:300px}.impact-section,.donation-section{padding:80px 22px}.report-card{height:450px;padding:24px}.report-graphic{height:160px}.footer-top{grid-template-columns:1fr}.footer-bottom{gap:15px;flex-wrap:wrap} }

.activity-art.has-photo { background-size:cover; background-position:center; color:white; }.activity-art.has-photo:before,.activity-art.has-photo:after { display:none; }
@media (max-width:900px) { .hero{padding:60px 7vw 0}.hero-copy{padding:0 0 50px}.hero-visual{height:auto;min-height:520px} }
@media (max-width:600px) { .hero{padding:52px 22px 65px}.hero-copy{padding:0}.hero-visual{height:auto;min-height:390px}.hero-photo-shade{background:linear-gradient(0deg,rgba(9,46,41,.76),transparent 58%)}.hero-photo-caption{left:22px;bottom:22px}.hero-photo-caption strong{font-size:24px} }
@media (max-width:900px) { .founder-section{grid-template-columns:1fr}.founder-photo{min-height:620px}.founder-copy{padding:80px 7vw}.vision-mission-grid{grid-template-columns:1fr 1fr} }
@media (max-width:600px) { .founder-photo{min-height:510px}.founder-photo-label{left:22px;bottom:26px}.founder-copy{padding:72px 22px}.founder-copy h2{font-size:44px}.founder-copy .founder-lead{font-size:19px!important}.vision-mission-grid{grid-template-columns:1fr}.founder-principle{grid-template-columns:1fr;gap:7px} }
.page-hero { padding:92px 7vw 100px; display:grid; grid-template-columns:.34fr 1fr; gap:7vw; align-items:start; }.page-hero > div { max-width:970px; }.page-hero h1 { font-size:clamp(58px,7vw,105px); margin-bottom:30px; }.page-hero > div > p { max-width:690px; font-size:17px; line-height:1.75; color:#5e716c; }.page-hero-forest { background:var(--forest); color:var(--cream); }.page-hero-forest .section-label { color:var(--lime); }.page-hero-forest > div > p { color:#b8cbc5; }.page-hero-coral { background:var(--coral); }.page-hero-coral .section-label { color:var(--forest); }.home-intro { background:var(--white); }.home-activities { background:var(--cream); }.activity-card > .activity-photo-link { display:block; border:0; padding:0; }.home-blog-feature { display:grid; grid-template-columns:1.1fr .9fr; min-height:620px; background:var(--deep); color:var(--cream); }.home-blog-image { min-height:620px; }.home-blog-image img { width:100%; height:100%; object-fit:cover; }.home-blog-copy { padding:90px 8vw 80px 6vw; align-self:center; }.home-blog-copy time { display:block; color:#9eb7b0; font-size:10px; letter-spacing:.13em; margin-bottom:17px; }.home-blog-copy h2 { font-family:var(--font-serif); font-size:clamp(40px,4.4vw,65px); font-weight:520; line-height:1.06; letter-spacing:-.04em; }.home-blog-copy > p:not(.section-label) { color:#b7c9c4; line-height:1.75; margin:25px 0; }.home-support-strip { padding:75px 7vw; background:#e9eee8; display:grid; grid-template-columns:.65fr 1.35fr; gap:7vw; align-items:center; }.home-support-strip h2 { font-family:var(--font-serif); font-size:35px; font-weight:540; line-height:1.1; }.home-support-logos { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }.home-support-logos img { width:100%; height:130px; object-fit:contain; background:var(--white); padding:15px; }.compact-donation { padding-top:85px; padding-bottom:85px; }.page-cta { background:var(--deep); color:var(--cream); padding:95px 12vw; text-align:center; }.page-cta h2 { font-family:var(--font-serif); font-size:clamp(42px,5vw,70px); font-weight:520; max-width:900px; margin:0 auto 35px; line-height:1.08; }.values-section { background:#e9eee8; }.value-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.value-grid article { min-height:310px; background:var(--white); padding:30px; border-top:4px solid var(--forest); }.value-grid article:nth-child(2) { border-top-color:var(--coral); }.value-grid article:nth-child(3) { border-top-color:#77b2c1; }.value-grid span,.transparency-grid article > span { color:#d9593d; font-size:9px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }.value-grid h3 { font-family:var(--font-serif); font-size:30px; font-weight:540; line-height:1.15; margin-top:75px; }.value-grid p { color:#63736f; font-size:13px; line-height:1.7; }.programs-page-section { background:var(--forest); padding-top:25px; }.activity-page-grid { display:grid; gap:30px; }.activity-page-card { display:grid; grid-template-columns:1.15fr .85fr; min-height:480px; background:var(--white); }.activity-page-card:nth-child(even) .activity-page-photo { order:2; }.activity-page-photo { min-height:480px; overflow:hidden; }.activity-page-photo img { width:100%; height:100%; object-fit:cover; }.activity-page-copy { align-self:center; padding:55px 6vw; }.activity-page-copy h2 { font-family:var(--font-serif); font-size:clamp(34px,4vw,56px); font-weight:520; line-height:1.08; }.activity-page-copy > p { color:#63736f; line-height:1.75; }.activity-page-copy > a { display:inline-flex; margin-top:15px; border-bottom:1px solid rgba(18,63,54,.3); padding-bottom:7px; font-weight:700; font-size:12px; }.supporters-page-section { background:#e9eee8; padding-top:30px; }.transparency-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(18,63,54,.15); padding:0; margin:100px 7vw; }.transparency-grid article { background:var(--cream); padding:45px; min-height:330px; }.transparency-grid h2 { font-family:var(--font-serif); font-size:31px; font-weight:540; margin-top:85px; }.transparency-grid p { color:#647570; font-size:13px; line-height:1.75; }.blog-list-section { background:#e9eee8; }.blog-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }.blog-card { background:var(--white); }.blog-card-image { display:block; height:380px; overflow:hidden; }.blog-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }.blog-card:hover img { transform:scale(1.025); }.blog-card-copy { padding:30px; }.blog-card-copy > div { display:flex; justify-content:space-between; color:#788984; font-size:9px; text-transform:uppercase; letter-spacing:.12em; }.blog-card-copy h2 { font-family:var(--font-serif); font-size:32px; font-weight:540; line-height:1.16; margin:22px 0 15px; }.blog-card-copy > p { color:#63736f; font-size:13px; line-height:1.7; }.blog-detail { padding:90px 12vw 120px; }.blog-detail > header { max-width:980px; margin:0 auto 55px; text-align:center; }.blog-detail header time { color:#7b8b86; font-size:10px; letter-spacing:.14em; }.blog-detail h1 { font-size:clamp(54px,6vw,88px); margin-top:22px; }.blog-detail header > p:last-child { max-width:720px; margin:0 auto; color:#60716d; font-size:17px; line-height:1.7; }.blog-detail-image { height:min(68vw,720px); max-width:1240px; margin:0 auto 65px; }.blog-detail-image img { width:100%; height:100%; object-fit:cover; }.blog-detail-body { max-width:760px; margin:0 auto 55px; }.blog-detail-body p { font-family:var(--font-serif); font-size:20px; line-height:1.8; color:#405650; }
@media (max-width:900px) { .page-hero{grid-template-columns:1fr;gap:20px}.page-hero h1{font-size:64px}.home-blog-feature,.home-support-strip,.activity-page-card{grid-template-columns:1fr}.home-blog-image{min-height:500px}.home-support-logos{grid-template-columns:repeat(2,1fr)}.value-grid,.transparency-grid{grid-template-columns:1fr}.activity-page-card:nth-child(even) .activity-page-photo{order:0}.blog-grid{grid-template-columns:1fr}.transparency-grid{margin:70px 7vw}.blog-detail{padding-left:7vw;padding-right:7vw} }
@media (max-width:600px) { .page-hero{padding:70px 22px}.page-hero h1{font-size:50px}.page-hero>div>p{font-size:15px}.home-blog-image{min-height:360px}.home-blog-copy{padding:65px 22px}.home-support-strip{padding:65px 22px}.home-support-logos img{height:100px}.value-grid article{min-height:260px}.value-grid h3{margin-top:45px}.activity-page-photo{min-height:320px}.activity-page-copy{padding:38px 22px}.blog-card-image{height:260px}.blog-card-copy{padding:22px}.blog-card-copy h2{font-size:27px}.blog-detail{padding:65px 22px 90px}.blog-detail h1{font-size:47px}.blog-detail-image{height:330px;margin-bottom:45px}.blog-detail-body p{font-size:18px}.transparency-grid{margin:55px 22px}.transparency-grid article{min-height:280px;padding:30px}.transparency-grid h2{margin-top:55px} }

.admin-auth-page { min-height:100vh; display:grid; place-items:center; padding:30px; background:var(--deep); }
.admin-auth-card { width:min(100%,460px); background:var(--cream); padding:44px; box-shadow:22px 22px 0 rgba(242,123,93,.8); }
.admin-auth-card > img { width:190px; height:90px; object-fit:contain; object-position:left center; margin-bottom:28px; }
.admin-auth-card h1 { font-size:48px; margin-bottom:13px; }.admin-auth-card > p:not(.section-label) { color:#647570; line-height:1.6; }
.admin-auth-card form { display:grid; gap:16px; margin:28px 0 22px; }.admin-auth-card label { display:grid; gap:7px; font-size:11px; font-weight:750; }.admin-auth-card input { width:100%; padding:13px; border:1px solid #bdc9c4; background:white; font:inherit; }.auth-home { font-size:12px; color:#62746f; }
.form-message { padding:12px 14px; margin:18px 0; font-size:12px; line-height:1.5; }.form-message.error,.admin-notice.error { background:#f6d3ca; color:#813a2c; }.form-message.success,.admin-notice.success { background:#dce9b8; color:#315541; }
.admin-logout { border:0; padding:3px 0; background:transparent; color:#99b2ab; font-size:10px; cursor:pointer; }.row-actions a,.row-actions button { border:1px solid #d8dedb; background:white; padding:7px 9px; cursor:pointer; font-size:9px; color:var(--ink); }.row-actions form { margin:0; }.admin-notice { padding:13px 16px; margin:-15px 0 22px; font-size:12px; }
@media (max-width:600px) { .admin-auth-card{padding:30px 24px;box-shadow:10px 10px 0 rgba(242,123,93,.8)}.admin-auth-card h1{font-size:39px} }
.admin-shell { min-height:100vh; display:grid; grid-template-columns:238px 1fr; background:#f4f5f1; color:#17332e; }.admin-sidebar { background:var(--forest); color:#e9eee8; padding:30px 20px 24px; display:flex; flex-direction:column; position:sticky; top:0; height:100vh; }.admin-sidebar .brand { padding:0 10px 26px; border-bottom:1px solid rgba(255,255,255,.13); }.admin-sidebar nav { display:flex; flex-direction:column; gap:5px; margin-top:28px; }.admin-sidebar nav button,.admin-sidebar nav a { background:transparent; color:#b8cbc5; border:0; border-radius:6px; padding:13px 14px; text-align:left; cursor:pointer; font-size:13px; display:flex; align-items:center; gap:13px; }.admin-sidebar nav button span,.admin-sidebar nav a span { width:18px; text-align:center; font-size:16px; }.admin-sidebar nav button:hover,.admin-sidebar nav a:hover,.admin-sidebar nav .active { background:rgba(255,255,255,.1); color:white; }.admin-user { margin-top:auto; padding:18px 8px 0; border-top:1px solid rgba(255,255,255,.13); display:flex; gap:10px; align-items:center; }.admin-user i { width:35px; height:35px; display:grid; place-items:center; background:var(--coral); border-radius:50%; font-style:normal; font-weight:750; }.admin-user div { display:flex; flex-direction:column; }.admin-user b { font-size:12px; }.admin-user small { color:#99b2ab; font-size:10px; margin-top:3px; }
.admin-main { padding:34px clamp(25px,4vw,62px) 60px; min-width:0; }.admin-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:34px; }.admin-header p,.admin-section-head p,.content-form-card > p { text-transform:uppercase; letter-spacing:.15em; font-weight:750; font-size:9px; color:#7a8b87; margin-bottom:8px; }.admin-header h1 { font-family:var(--font-serif); font-size:34px; font-weight:560; margin:0; letter-spacing:-.025em; }.admin-header a { border:1px solid #c9d1ce; padding:12px 16px; background:white; font-size:12px; font-weight:700; }.admin-header a span { margin-left:12px; }.admin-notice { padding:13px 16px; background:#dfeab7; display:flex; justify-content:space-between; margin:-15px 0 22px; font-size:12px; }.admin-notice button { border:0; background:transparent; cursor:pointer; font-size:16px; }
.admin-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:26px; }.admin-stats article { background:white; border:1px solid #e0e5e2; padding:22px; display:grid; grid-template-columns:1fr auto; align-items:start; }.admin-stats span { color:#7a8b87; font-size:10px; text-transform:uppercase; letter-spacing:.12em; font-weight:700; }.admin-stats strong { grid-row:1 / 3; grid-column:2; font-family:var(--font-serif); font-size:42px; font-weight:550; color:var(--forest); }.admin-stats small { margin-top:24px; color:#9aa7a3; font-size:10px; }
.admin-workspace { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(320px,.7fr); gap:18px; align-items:start; }.content-list,.content-form-card { background:white; border:1px solid #e0e5e2; }.admin-section-head { min-height:82px; padding:20px 22px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #e5e9e6; }.admin-section-head h2,.content-form-card h2 { font-family:var(--font-serif); font-size:23px; margin:0; font-weight:560; }.admin-tabs { display:flex; background:#f0f2ef; padding:3px; border-radius:4px; }.admin-tabs button { border:0; background:transparent; padding:8px 12px; font-size:10px; cursor:pointer; color:#6c7d78; }.admin-tabs button.active { background:white; box-shadow:0 1px 5px rgba(18,63,54,.1); color:var(--forest); font-weight:750; }.content-table { padding:4px 20px; }.content-row { padding:17px 0; border-bottom:1px solid #edf0ee; display:grid; grid-template-columns:58px minmax(0,1fr) auto; gap:14px; align-items:center; }.content-row:last-child { border-bottom:0; }.content-thumb { width:58px; height:58px; background:#dce8b3; display:grid; place-items:center; overflow:hidden; }.content-thumb img { width:100%; height:100%; object-fit:cover; }.content-thumb span { font-size:22px; }.content-details { min-width:0; }.content-details h3 { font-size:13px; margin:5px 0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.content-details p { color:#85938f; font-size:10px; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.status { font-size:8px; text-transform:uppercase; letter-spacing:.1em; font-weight:800; color:#8a9894; }.status.published { color:#3c7a55; }.row-actions { display:flex; gap:5px; }.row-actions button { border:1px solid #d8dedb; background:white; padding:7px 9px; cursor:pointer; font-size:9px; }.row-actions button:hover { background:#edf2ef; }.row-actions button.danger { color:#b45443; }.row-actions button:disabled { opacity:.5; cursor:wait; }.empty-state { min-height:220px; display:grid; place-content:center; text-align:center; gap:7px; color:#8c9995; }.empty-state b { color:var(--forest); font-family:var(--font-serif); font-size:22px; }.empty-state span { font-size:11px; }
.content-thumb.logo-thumb { background:#fffdf7; border:1px solid #edf0ee; }.content-thumb.logo-thumb img { object-fit:contain; padding:4px; }.content-form-card { padding:24px; }.content-form-card form { display:flex; flex-direction:column; gap:15px; margin-top:22px; }.content-form-card label,.settings-workspace label { display:flex; flex-direction:column; gap:7px; font-size:10px; font-weight:750; color:#526760; }.content-form-card input,.content-form-card select,.content-form-card textarea,.settings-workspace input,.settings-workspace textarea { border:1px solid #d7dedb; background:#fafbf9; padding:11px 12px; font:inherit; font-size:11px; color:var(--forest); outline:none; width:100%; }.content-form-card input:focus,.content-form-card select:focus,.content-form-card textarea:focus,.settings-workspace input:focus,.settings-workspace textarea:focus { border-color:#77a092; box-shadow:0 0 0 2px rgba(119,160,146,.12); }.content-form-card textarea,.settings-workspace textarea { resize:vertical; }.form-pair { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.admin-save { background:var(--coral); border:0; padding:13px 15px; display:flex; justify-content:space-between; color:#17332e; font-weight:800; font-size:11px; cursor:pointer; }.admin-save:hover { filter:brightness(.96); }.admin-save:disabled { opacity:.6; cursor:wait; }.admin-cancel { border:0; background:transparent; color:#7b8985; padding:8px; cursor:pointer; font-size:10px; }
.settings-workspace { display:grid; gap:16px; }.settings-intro { background:var(--forest); color:white; padding:25px 27px; display:flex; align-items:center; justify-content:space-between; gap:30px; }.settings-intro p { color:var(--lime); text-transform:uppercase; letter-spacing:.15em; font-size:9px; font-weight:800; margin-bottom:7px; }.settings-intro h2 { font-family:var(--font-serif); font-size:26px; font-weight:550; margin:0; }.settings-save { min-width:210px; flex:none; }.settings-card { background:white; border:1px solid #e0e5e2; display:grid; grid-template-columns:235px minmax(0,1fr); }.settings-card-title { padding:25px; border-right:1px solid #e5e9e6; display:flex; gap:15px; align-items:flex-start; }.settings-card-title > span { color:var(--coral); font-size:10px; font-weight:850; letter-spacing:.12em; }.settings-card-title h3 { font-family:var(--font-serif); font-size:20px; font-weight:560; margin:0 0 8px; }.settings-card-title p { color:#899792; font-size:10px; line-height:1.55; margin:0; }.settings-fields { padding:25px; display:grid; gap:14px; }.nav-settings { grid-template-columns:1fr 1fr; }.settings-save-bottom { justify-self:end; min-width:240px; }
@media (max-width:1050px) { .admin-workspace{grid-template-columns:1fr}.content-form-card{order:-1}.admin-stats{grid-template-columns:1fr 1fr 1fr}.settings-card{grid-template-columns:1fr}.settings-card-title{border-right:0;border-bottom:1px solid #e5e9e6}.nav-settings{grid-template-columns:1fr} }
@media (max-width:720px) { .admin-shell{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto;padding:17px 18px}.admin-sidebar .brand{border:0;padding:0}.admin-sidebar nav{margin:15px 0 0;display:grid;grid-template-columns:repeat(2,1fr)}.admin-sidebar nav button{justify-content:center}.admin-sidebar nav a{display:none}.admin-user{display:none}.admin-main{padding:25px 15px 45px}.admin-header h1{font-size:28px}.admin-header a{display:none}.admin-stats{grid-template-columns:1fr}.content-row{grid-template-columns:48px minmax(0,1fr)}.content-thumb{width:48px;height:48px}.row-actions{grid-column:2;flex-wrap:wrap}.admin-section-head{align-items:flex-start;gap:14px;flex-direction:column}.admin-tabs{width:100%;overflow:auto}.form-pair{grid-template-columns:1fr}.settings-intro{align-items:flex-start;flex-direction:column}.settings-save{width:100%}.settings-fields,.settings-card-title{padding:20px}.settings-save-bottom{width:100%} }

/* Grouped Activity page */
.page-hero-activity { padding:68px 7vw 76px; }
.page-hero-activity h1 { max-width:900px; font-size:clamp(46px,5.2vw,78px); line-height:1; margin-bottom:24px; }
.page-hero-activity > div > p { max-width:640px; font-size:16px; line-height:1.7; }
.activities-page-section { background:#e9eee8; padding-top:38px; }
.activity-group-jump { display:grid; grid-template-columns:repeat(3,1fr); margin-bottom:82px; border:1px solid rgba(18,63,54,.15); }
.activity-group-jump a { min-height:142px; padding:23px 26px; background:var(--white); display:flex; flex-direction:column; border-right:1px solid rgba(18,63,54,.15); transition:background .25s ease,color .25s ease; }
.activity-group-jump a:last-child { border-right:0; }
.activity-group-jump a:hover { background:var(--forest); color:var(--cream); }
.activity-group-jump span { color:var(--coral); font-size:11px; font-weight:800; letter-spacing:.16em; }
.activity-group-jump strong { font-family:var(--font-serif); font-size:clamp(24px,2.1vw,32px); font-weight:540; line-height:1.12; margin:auto 0 11px; overflow-wrap:anywhere; }
.activity-group-jump small { color:#6a7b76; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.activity-group-jump a:hover small { color:#b8cbc5; }
.activity-category-section { scroll-margin-top:115px; }
.activity-category-section + .activity-category-section { margin-top:94px; padding-top:78px; border-top:1px solid rgba(18,63,54,.18); }
.activity-category-header { display:grid; grid-template-columns:52px minmax(0,1fr) auto; gap:24px; align-items:start; margin-bottom:34px; }
.activity-category-number { font-family:var(--font-serif); font-size:39px; color:var(--coral); line-height:1; }
.activity-category-header .section-label { margin-bottom:10px; }
.activity-category-header h2 { font-family:var(--font-serif); font-size:clamp(35px,3.8vw,52px); font-weight:520; line-height:1.04; letter-spacing:-.03em; margin:0 0 14px; overflow-wrap:anywhere; }
.activity-category-header div > p:last-child { max-width:650px; color:#63736f; font-size:15px; line-height:1.7; }
.activity-category-header > strong { align-self:end; margin-bottom:7px; padding:8px 12px; border:1px solid rgba(18,63,54,.25); font-size:10px; text-transform:uppercase; letter-spacing:.1em; white-space:nowrap; }
.activity-page-card { grid-template-columns:1.08fr .92fr; min-height:400px; }
.activity-page-photo { min-height:400px; }
.activity-page-copy { padding:42px clamp(28px,4.2vw,64px); }
.activity-page-copy h3 { font-family:var(--font-serif); font-size:clamp(29px,2.8vw,42px); font-weight:520; line-height:1.12; letter-spacing:-.025em; overflow-wrap:anywhere; }
.activity-page-copy > p { font-size:15px; line-height:1.7; }

@media (max-width:900px) {
  .page-hero-activity { padding:58px 7vw 64px; gap:15px; }
  .page-hero-activity h1 { font-size:clamp(43px,7vw,58px); }
  .activity-group-jump { grid-template-columns:1fr; margin-bottom:68px; }
  .activity-group-jump a { min-height:108px; border-right:0; border-bottom:1px solid rgba(18,63,54,.15); }
  .activity-group-jump a:last-child { border-bottom:0; }
  .activity-category-header { grid-template-columns:44px 1fr; gap:16px; }
  .activity-category-header > strong { grid-column:2; justify-self:start; }
  .activity-category-number { font-size:34px; }
  .activity-page-card { grid-template-columns:1fr; min-height:0; }
  .activity-page-photo { min-height:0; aspect-ratio:16 / 10; }
}

@media (max-width:600px) {
  .page-hero-activity { padding:44px 22px 50px; gap:10px; }
  .page-hero-activity .section-label { margin-bottom:8px; }
  .page-hero-activity h1 { font-size:36px; line-height:1.05; letter-spacing:-.035em; margin-bottom:17px; }
  .page-hero-activity > div > p { font-size:15px; line-height:1.65; }
  .activities-page-section { padding-top:22px; }
  .activity-group-jump { margin-bottom:56px; }
  .activity-group-jump a { min-height:94px; padding:17px 19px; }
  .activity-group-jump strong { font-size:23px; margin:12px 0 7px; }
  .activity-category-section + .activity-category-section { margin-top:64px; padding-top:58px; }
  .activity-category-header { grid-template-columns:36px minmax(0,1fr); gap:12px; margin-bottom:25px; }
  .activity-category-header > strong { grid-column:2; }
  .activity-category-number { font-size:29px; }
  .activity-category-header h2 { font-size:32px; line-height:1.08; margin-bottom:11px; }
  .activity-category-header div > p:last-child { font-size:14px; line-height:1.65; }
  .activity-page-photo { aspect-ratio:4 / 3; }
  .activity-page-copy { padding:27px 20px 30px; }
  .activity-page-copy h3 { font-size:29px; line-height:1.14; }
  .activity-page-copy > p { font-size:14px; line-height:1.68; }
  .activity-page-copy > a { margin-top:10px; }
}

/* Dashboard typography controls */
.settings-workspace select { width:100%; border:1px solid #d7dedb; background:#fafbf9; padding:11px 12px; color:var(--forest); font:inherit; font-size:11px; outline:none; }
.settings-workspace select:focus { border-color:#77a092; box-shadow:0 0 0 2px rgba(119,160,146,.12); }
.setting-number { display:grid; grid-template-columns:minmax(0,1fr) 42px; align-items:center; }
.setting-number input { border-right:0; }
.setting-number small { height:100%; display:grid; place-items:center; border:1px solid #d7dedb; background:#eef1ed; color:#7d8c87; font-size:10px; text-transform:uppercase; }

/* Public typography system — values are supplied by validated dashboard settings */
.site-body { font-family:var(--font-sans); font-size:var(--type-body); font-weight:var(--type-body-weight); }
.site-body h1,.site-body h2,.site-body h3,.site-body .brand strong { font-family:var(--font-serif); font-weight:var(--type-heading-weight); }
.site-body h1 { font-size:clamp(38px,5.5vw,var(--type-page-title)); }
.site-body h2 { font-size:clamp(30px,4.2vw,var(--type-section-title)); }
.site-body h3 { font-size:var(--type-card-title); }
.site-body .hero h1 { font-size:clamp(48px,6.2vw,var(--type-hero)); }
.site-body .page-hero-activity h1 { font-size:clamp(38px,5.2vw,var(--type-page-title)); }
.site-body main p:not(.section-label),.site-body footer p { font-size:var(--type-body); }
.site-body .desktop-nav,.site-body .mobile-nav,.site-body .footer-links { font-size:var(--type-nav); }
.site-body .button,.site-body .text-link,.site-body .arrow-link,.site-body .outline-button { font-size:var(--type-button); }
.site-body .eyebrow,.site-body .section-label,.site-body .activity-meta,.site-body .value-grid span,.site-body .transparency-grid article > span,.site-body .supporter-number,.site-body .supporter-meta small,.site-body .blog-card-copy > div,.site-body .blog-detail header time { font-size:var(--type-label); }

@media (max-width:600px) {
  .site-body { font-size:var(--type-mobile-body); }
  .site-body h1,.site-body .page-hero h1,.site-body .page-hero-activity h1,.site-body .blog-detail h1 { font-size:var(--type-mobile-page-title); }
  .site-body h2,.site-body .section h2,.site-body .impact-section h2,.site-body .donation-section h2,.site-body .activity-category-header h2,.site-body .founder-copy h2,.site-body .page-cta h2 { font-size:var(--type-mobile-section-title); }
  .site-body h3,.site-body .activity-page-copy h3,.site-body .activity-card h3,.site-body .program-card h3,.site-body .blog-card-copy h2,.site-body .value-grid h3,.site-body .transparency-grid h2 { font-size:var(--type-mobile-card-title); }
  .site-body .hero h1 { font-size:var(--type-mobile-hero); }
  .site-body main p:not(.section-label),.site-body footer p { font-size:var(--type-mobile-body); }
  .site-body .desktop-nav,.site-body .mobile-nav,.site-body .footer-links { font-size:var(--type-mobile-nav); }
  .site-body .button,.site-body .text-link,.site-body .arrow-link,.site-body .outline-button { font-size:var(--type-mobile-button); }
  .site-body .button-small { font-size:0; }
  .site-body .eyebrow,.site-body .section-label,.site-body .activity-meta,.site-body .value-grid span,.site-body .transparency-grid article > span,.site-body .supporter-number,.site-body .supporter-meta small,.site-body .blog-card-copy > div,.site-body .blog-detail header time { font-size:var(--type-mobile-label); }
}
