
:root{--aqua:#66CFC1;--aqua-soft:#DDF5F1;--aqua-mist:#F2FBF9;--aqua-deep:#1C7A6F;--teal:#0E4D52;--teal-dark:#08373B;--gold:#FFC24C;--gold-deep:#F2A93A;--gold-soft:#FFF1C9;--linen:#FAF0E6;--cream:#FAF2E6;--paper:#fff;--ink:#14201E;--muted:#52625D;--line:#EADFCF;--cool:#D6ECE7;--display:"Fraunces",Georgia,serif;--sans:"Inter",system-ui,-apple-system,Segoe UI,sans-serif;--max:1180px;--r:24px;--shadow:0 28px 70px -46px rgba(8,55,59,.5);--ease:cubic-bezier(.22,.61,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--ink);background:#fff;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--gold);outline-offset:4px;border-radius:10px}.skip{position:absolute;left:1rem;top:-80px;z-index:200;background:#fff;color:var(--teal);padding:.8rem 1rem;border-radius:12px}.skip:focus{top:1rem}h1,h2,h3,h4{font-family:var(--display);line-height:1.04;letter-spacing:-.018em;color:var(--teal-dark);margin:0}h1{font-size:clamp(2.5rem,6vw,5.1rem)}h2{font-size:clamp(2rem,4.2vw,3.35rem)}h3{font-size:clamp(1.2rem,2vw,1.55rem)}p{margin:0}.wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(1.15rem,4vw,2.4rem)}.narrow{max-width:820px}.section{padding:clamp(4rem,8.8vw,7rem) 0}.tight{padding:clamp(2.8rem,6vw,4.5rem) 0}.eyebrow{display:inline-flex;gap:.6rem;align-items:center;font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;font-weight:850;color:var(--aqua-deep);margin-bottom:1rem}.eyebrow:before{content:"";width:28px;height:2px;background:currentColor;border-radius:2px}.lead{font-size:clamp(1.04rem,1.55vw,1.24rem);color:var(--muted);max-width:66ch}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:46px;padding:.86rem 1.35rem;border-radius:999px;font-weight:850;border:2px solid transparent;transition:transform .22s var(--ease),box-shadow .22s var(--ease),background .22s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-deep));color:var(--teal-dark);box-shadow:0 16px 32px -20px rgba(242,169,58,.7)}.btn-teal{background:var(--teal);color:#fff}.btn-ghost{background:rgba(255,255,255,.44);border-color:rgba(14,77,82,.35);color:var(--teal)}.textlink{font-weight:850;color:var(--aqua-deep);display:inline-flex;gap:.35rem;align-items:center}.textlink:hover{text-decoration:underline;text-underline-offset:5px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.pad{padding:1.35rem}.photo{border-radius:var(--r);overflow:hidden;background:var(--aqua-soft);border:1px solid rgba(14,77,82,.09);box-shadow:var(--shadow)}.photo img{width:100%;height:100%;object-fit:cover}.chip{display:inline-flex;border-radius:999px;background:var(--gold-soft);color:var(--teal-dark);font-size:.78rem;font-weight:850;padding:.36rem .72rem}.actions{display:flex;flex-wrap:wrap;gap:.75rem}.site-header{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(214,236,231,.85)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.72rem;font-family:var(--display);font-weight:750;color:var(--teal);font-size:1.18rem}.brand img{height:42px;width:auto}.navlinks{display:flex;align-items:center;gap:1.25rem;list-style:none;margin:0;padding:0}.navlinks a{font-weight:760;color:var(--teal);font-size:.95rem}.nav-cta{display:flex;align-items:center;gap:.62rem}.menu{display:none;background:transparent;border:0;width:46px;height:46px}.menu span{display:block;width:24px;height:2px;background:var(--teal);margin:5px auto;border-radius:3px}.mobile-panel{display:none}.hero{position:relative;overflow:hidden;background:radial-gradient(80% 80% at 5% 0%,rgba(255,194,76,.52),transparent 58%),radial-gradient(70% 80% at 92% 12%,rgba(255,255,255,.42),transparent 60%),linear-gradient(145deg,#87DFD3 0%,var(--aqua) 54%,#A9E3DA 100%);padding:clamp(2.6rem,6vw,5rem) 0 clamp(4.8rem,8vw,6.8rem)}.hero-grid,.page-hero-grid,.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}.hero h1 em{font-style:italic;color:#fff}.hero .lead{color:#123B3C;margin:1.25rem 0 1.6rem}.hero-photo{aspect-ratio:4/5;position:relative}.badge{position:absolute;left:-16px;bottom:26px;max-width:245px;background:#fff;border-radius:20px;padding:1rem 1.1rem;box-shadow:0 22px 48px -28px rgba(8,55,59,.5)}.trust-row{display:flex;flex-wrap:wrap;gap:.65rem 1.1rem;margin-top:1.3rem;padding-top:1.1rem;border-top:1px solid rgba(14,77,82,.18);color:#123B3C;font-weight:650;font-size:.9rem}.dot{width:7px;height:7px;background:var(--teal);border-radius:50%;display:inline-block;margin-right:.35rem}.page-hero{background:linear-gradient(180deg,var(--cream),#fff);padding:clamp(3.6rem,8vw,6rem) 0}.page-hero .photo{aspect-ratio:5/4}.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:-3.4rem;position:relative;z-index:25}.route-card{padding:1.35rem}.icon{width:50px;height:50px;border-radius:16px;background:var(--aqua-soft);display:grid;place-items:center;color:var(--teal);font-weight:900}.pillars,.project-grid,.stats,.steps,.video-grid,.team-grid,.benefit-grid,.article-grid,.faq-grid{display:grid;gap:1rem}.pillars{grid-template-columns:repeat(3,1fr);margin-top:2rem}.project-grid{grid-template-columns:repeat(3,1fr)}.project-grid.four{grid-template-columns:repeat(4,1fr)}.stats{grid-template-columns:repeat(4,1fr)}.steps{grid-template-columns:repeat(4,1fr);margin-top:2rem}.video-grid,.article-grid,.team-grid{grid-template-columns:repeat(3,1fr)}.benefit-grid{grid-template-columns:repeat(4,1fr)}.project-card,.person-card,.article-card{overflow:hidden}.project-card .photo,.article-card .photo{border-radius:var(--r) var(--r) 0 0;box-shadow:none;border:0;aspect-ratio:4/3}.person-card .photo{border-radius:var(--r) var(--r) 0 0;box-shadow:none;border:0;aspect-ratio:1/1}.body{padding:1.15rem}.body h3{margin:.5rem 0}.muted{color:var(--muted)}.stat{padding:1.3rem;border:1px solid var(--line);border-top:4px solid var(--aqua);border-radius:var(--r);background:#fff}.stat:nth-child(2n){border-top-color:var(--gold)}.stat b{font-family:var(--display);font-size:clamp(2rem,4vw,3.2rem);line-height:1;color:var(--teal);display:block}.bg-linen{background:var(--linen)}.bg-cream{background:var(--cream)}.bg-mist{background:var(--aqua-mist)}.bg-teal{background:linear-gradient(150deg,var(--teal),var(--teal-dark));color:#EAF8F5}.bg-teal h1,.bg-teal h2,.bg-teal h3{color:#fff}.bg-teal .lead,.bg-teal p{color:#D7EEE9}.quote{margin-top:1.3rem;padding:1.25rem 1.4rem;background:#fff;border-left:4px solid var(--gold-deep);border-radius:18px;font-family:var(--display);font-style:italic;color:var(--teal);font-size:1.15rem}.step .nr{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--aqua);color:var(--teal);font-family:var(--display);font-weight:850;margin-bottom:.8rem}.play{position:absolute;left:14px;bottom:14px;background:#fff;color:var(--teal);border-radius:999px;padding:.45rem .75rem;font-weight:850}.video-thumb{position:relative}.toggle{display:flex;background:var(--aqua-soft);border-radius:999px;padding:4px;gap:4px;width:max-content}.toggle button,.amounts button{border:0;cursor:pointer;font-family:var(--sans);font-weight:850}.toggle button{padding:.6rem 1rem;border-radius:999px;background:transparent;color:var(--teal)}.toggle button[aria-pressed=true]{background:var(--teal);color:#fff}.amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin:1rem 0}.amounts button{min-height:58px;border-radius:16px;background:#fff;border:2px solid var(--line);font-family:var(--display);font-size:1.35rem;color:var(--teal)}.amounts button[aria-pressed=true]{border-color:var(--gold-deep);box-shadow:0 0 0 3px rgba(242,169,58,.2)}.impact-line{background:var(--gold-soft);border-radius:16px;padding:.8rem 1rem;color:var(--teal);font-weight:760;margin-bottom:1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:grid;gap:.35rem}.field label{font-weight:800;color:var(--teal);font-size:.9rem}.field input,.field select,.field textarea{width:100%;min-height:48px;border:1px solid var(--cool);border-radius:14px;padding:.8rem .95rem;font:inherit;background:#fff}.field textarea{min-height:130px}.full{grid-column:1/-1}.doclinks{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.doclinks a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.52rem .84rem;font-weight:850;color:var(--teal)}.cta-band{background:radial-gradient(80% 100% at 88% 0%,rgba(255,194,76,.52),transparent 58%),linear-gradient(145deg,#78DACE,var(--aqua));text-align:center;color:var(--teal);padding:clamp(3.6rem,8vw,5.8rem) 0}.cta-band h2{max-width:760px;margin:0 auto 1rem}.footer{position:relative;overflow:hidden;background:var(--teal-dark);color:#B7DAD4;padding:3.6rem 0 1.6rem}.footer:after{content:"♡";position:absolute;right:-3rem;top:-5rem;font-family:var(--display);font-size:22rem;line-height:1;color:rgba(255,255,255,.035)}.footer-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.35fr;gap:2rem}.footer h3,.footer h4{color:#fff}.footer h4{font-family:var(--sans);text-transform:uppercase;letter-spacing:.13em;font-size:.82rem;margin:0 0 .8rem}.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.newsletter{display:flex;gap:.45rem;margin-top:.8rem}.newsletter input{min-width:0;flex:1;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);padding:.75rem 1rem;color:#fff}.newsletter button{border:0;border-radius:999px;background:var(--gold);color:var(--teal);font-weight:900;padding:.75rem 1rem}.subfooter{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.1);margin-top:2rem;padding-top:1.2rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.86rem;color:#8DB9B0}.mobile-sticky{display:none}.check-list{display:grid;gap:.8rem;margin-top:1.2rem}.check-list li{list-style:none;display:flex;gap:.75rem}.check-list li:before{content:"✓";flex:0 0 28px;height:28px;border-radius:50%;background:var(--gold-soft);color:var(--teal);display:grid;place-items:center;font-weight:900}.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.2rem 0 2rem}.filters button{border:1px solid var(--cool);background:#fff;color:var(--teal);border-radius:999px;padding:.55rem .9rem;font-weight:800;cursor:pointer}.filters button[aria-pressed=true]{background:var(--teal);color:#fff}.faq-grid{grid-template-columns:1fr 1fr}details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem}summary{font-weight:850;color:var(--teal);cursor:pointer}.role{font-weight:850;color:var(--aqua-deep);font-size:.92rem;margin:.15rem 0 .45rem}.section-head{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:2rem}.visually-hidden{position:absolute!important;width:1px;height:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap}@media(max-width:1040px){.navlinks,.nav-cta{display:none}.menu{display:block}.mobile-panel{display:block;position:fixed;z-index:120;inset:78px 0 auto 0;background:#fff;border-bottom:1px solid var(--cool);box-shadow:0 28px 50px -40px rgba(8,55,59,.7);padding:1rem;transform:translateY(-130%);transition:transform .25s var(--ease)}.mobile-panel.open{transform:translateY(0)}.mobile-panel .actions{display:grid;grid-template-columns:1fr 1fr;margin-bottom:1rem}.mobile-panel a{display:block;padding:.8rem 0;font-weight:850;color:var(--teal);border-top:1px solid var(--cool)}.hero-grid,.page-hero-grid,.split{grid-template-columns:1fr}.route-grid,.project-grid,.project-grid.four,.stats,.steps,.video-grid,.team-grid,.benefit-grid,.article-grid,.faq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr 1fr}.hero-photo{max-width:480px}.mobile-sticky{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.5rem;position:fixed;z-index:95;left:0;right:0;bottom:0;padding:.7rem max(.8rem,env(safe-area-inset-left)) calc(.7rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-top:1px solid var(--cool)}body{padding-bottom:74px}}@media(max-width:640px){html,body{width:100%;max-width:100%;overflow-x:hidden}.section{padding:3.35rem 0}.tight{padding:2.5rem 0}.wrap{width:100%;max-width:100%;padding-left:1.1rem;padding-right:1.1rem}.nav{height:72px}.brand{min-width:0;font-size:1.02rem}.brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand img{height:32px;flex:0 0 auto}.hero h1{font-size:clamp(2.05rem,11vw,2.45rem);overflow-wrap:anywhere}.hero .lead{font-size:1rem}.actions .btn,.cta-band .actions .btn{width:100%;white-space:normal}.route-grid,.pillars,.project-grid,.project-grid.four,.stats,.steps,.video-grid,.team-grid,.benefit-grid,.article-grid,.faq-grid,.form-grid,.footer-grid{grid-template-columns:minmax(0,1fr)}.section-head{display:block}.amounts{grid-template-columns:1fr}.newsletter{display:grid}.footer{padding-bottom:2.5rem}.mobile-sticky .btn{min-width:0;padding:.76rem .35rem;font-size:.84rem;white-space:normal}.badge{left:.8rem;right:.8rem;bottom:.8rem;max-width:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* mobile hardening after visual QA */
@media(max-width:640px){.hero,.page-hero{overflow:hidden}.hero-grid,.page-hero-grid,.split{min-width:0;max-width:100%}.hero-grid>*{min-width:0;max-width:100%}.hero h1{font-size:clamp(1.72rem,8.7vw,2.05rem)!important;line-height:1.08;max-width:100%;text-wrap:balance;overflow-wrap:anywhere}.hero .lead{font-size:.98rem;max-width:100%;overflow-wrap:break-word}.hero .actions{display:grid;grid-template-columns:1fr;width:100%;max-width:100%}.hero .actions .btn{width:100%;min-width:0;justify-content:center}.trust-row{font-size:.86rem}.hero-photo{max-width:100%;aspect-ratio:4/5}.route-grid{margin-top:-2rem}.page-hero h1{font-size:clamp(2rem,10vw,2.4rem);overflow-wrap:anywhere}.project-grid img{min-width:0}.section-head{gap:1rem}}
@media(max-width:420px){.brand span{max-width:190px}.hero h1{font-size:1.82rem!important}.btn{padding:.82rem 1rem}.hero{padding-top:2.2rem}.badge{position:static;margin:-3.2rem 1rem 1rem;max-width:none}}
