:root{--blue:#17658a;--blue-dark:#0e4059;--orange:#f89a1c;--ink:#14212a;--muted:#60717d;--cream:#f7f5ef;--white:#fff;--border:#dfe7ea;--radius:22px;--shadow:0 18px 50px rgba(14,64,89,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.65;background:#fff}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:'Manrope',sans-serif;line-height:1.12;margin:0 0 1rem}h1{font-size:clamp(2.8rem,6vw,6.2rem);letter-spacing:-.055em}h2{font-size:clamp(2rem,4vw,3.8rem);letter-spacing:-.04em}h3{font-size:1.2rem}p{margin:0 0 1rem;color:var(--muted)}.container{width:min(1180px,calc(100% - 40px));margin:auto}.section{padding:100px 0}.section-soft{background:var(--cream)}.eyebrow{display:inline-block;color:var(--blue);text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:.75rem;margin-bottom:18px}.eyebrow.light{color:#ffd18d}.lead{font-size:1.22rem;color:#344955}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;border:0;border-radius:999px;background:var(--orange);color:#19232a;font-weight:800;cursor:pointer;transition:.25s}.button:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(248,154,28,.28)}.button-small{padding:10px 18px}.button-ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.5)}.button-light{background:#fff;color:var(--blue-dark)}.text-link{font-weight:800;color:var(--blue)}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:20px;top:20px;background:#fff;padding:10px;z-index:999}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:.2s}.site-header.scrolled{border-color:var(--border);box-shadow:0 8px 30px rgba(20,33,42,.06)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:84px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:56px;height:56px;object-fit:cover;border-radius:50%}.brand span{line-height:1.05}.brand strong,.brand small{display:block}.brand strong{font-family:'Manrope';font-size:.95rem}.brand small{text-transform:uppercase;letter-spacing:.14em;font-size:.65rem;margin-top:4px}.site-nav{display:flex;align-items:center;gap:24px;font-weight:700;font-size:.94rem}.site-nav>a:not(.button){padding:29px 0;border-bottom:3px solid transparent}.site-nav>a.active{color:var(--blue);border-color:var(--orange)}.menu-toggle{display:none;background:none;border:0}.hero{position:relative;min-height:760px;display:flex;align-items:flex-end;color:#fff}.hero-media,.hero-overlay{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-overlay{background:linear-gradient(90deg,rgba(7,35,50,.9) 0%,rgba(7,35,50,.62) 48%,rgba(7,35,50,.18) 100%)}.hero-content{position:relative;z-index:2;padding-bottom:90px;max-width:1120px}.hero h1{max-width:1000px}.hero p{color:rgba(255,255,255,.85);font-size:1.18rem;max-width:750px}.hero-actions{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.intro-grid h2,.content-grid h2{max-width:520px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px}.section-heading.narrow>div{max-width:760px}.cards{display:grid;gap:24px}.cards-2{grid-template-columns:repeat(2,1fr)}.cards-3{grid-template-columns:repeat(3,1fr)}.cards-4{grid-template-columns:repeat(4,1fr)}.program-card,.theme-card,.feature-card,.impact-steps article{background:#fff;padding:34px;border-radius:var(--radius);box-shadow:var(--shadow)}.program-card .icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#fff2dd;color:#bd6900;font-weight:800;margin-bottom:48px}.photo-story{background:var(--blue-dark);padding:0}.story-grid{display:grid;grid-template-columns:1.1fr .9fr;min-height:620px}.story-image img{width:100%;height:100%;object-fit:cover}.story-copy{padding:80px;display:flex;flex-direction:column;justify-content:center;color:#fff}.story-copy p{color:rgba(255,255,255,.76)}.story-copy .button{align-self:flex-start;margin-top:15px}.callout{padding:50px;border:1px solid var(--border);border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:35px}.callout h2{max-width:780px;margin:0}.page-hero{height:570px;position:relative;display:flex;align-items:flex-end;color:#fff;padding-bottom:70px}.page-hero img,.page-hero-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.page-hero-overlay{background:linear-gradient(90deg,rgba(5,35,50,.9),rgba(5,35,50,.34))}.page-hero .container{position:relative;z-index:2}.page-hero h1{max-width:900px;font-size:clamp(2.6rem,5vw,5.2rem)}.objective-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border)}.objective-list article{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:32px 20px;border-bottom:1px solid var(--border)}.objective-list b{color:var(--orange);font-size:1.4rem}.values-section{background:var(--blue-dark);color:#fff}.values-section h2{margin-bottom:40px}.values-grid article{border-top:1px solid rgba(255,255,255,.25);padding-top:25px}.values-grid p{color:rgba(255,255,255,.7)}.program-list article{display:grid;grid-template-columns:90px 1fr;gap:30px;padding:38px 0;border-top:1px solid var(--border)}.program-list article>span{font-size:1.5rem;font-weight:800;color:var(--orange)}.program-list article h2{font-size:2rem}.program-list article p{max-width:740px}.thematic-grid{display:grid;grid-template-columns:.55fr 1.45fr;gap:60px}.theme-card h3{font-size:1.5rem;color:var(--blue)}.gallery-section{padding:0 0 100px}.masonry{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.masonry figure{margin:0;position:relative;overflow:hidden;border-radius:18px;height:420px}.masonry figure.wide{grid-column:span 2;height:570px}.masonry img{width:100%;height:100%;object-fit:cover;transition:.5s}.masonry figure:hover img{transform:scale(1.025)}.masonry figcaption{position:absolute;left:20px;bottom:20px;background:rgba(255,255,255,.92);padding:9px 14px;border-radius:999px;font-weight:700}.impact-steps b{font-size:2rem;color:var(--orange)}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.team-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.team-card img{width:100%;height:380px;object-fit:cover;object-position:center top}.team-card>div{padding:28px}.team-card h2{font-size:1.6rem}.role{color:var(--blue);font-weight:800}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.contact-details{margin-top:35px;border-top:1px solid var(--border)}.contact-details div{padding:18px 0;border-bottom:1px solid var(--border)}.contact-details small,.contact-details a,.contact-details span{display:block}.contact-details small{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.7rem}.contact-details a,.contact-details span{font-weight:700;margin-top:4px}.form-card{background:var(--cream);padding:38px;border-radius:var(--radius)}form label{display:block;font-weight:700;margin-bottom:18px}input,textarea{width:100%;border:1px solid #cfdadc;border-radius:12px;padding:13px 14px;background:#fff;font:inherit;margin-top:7px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}form small{color:#b42318}.hp{position:absolute;left:-9999px}.alert{padding:14px;border-radius:10px;margin-bottom:18px}.alert.success{background:#e7f7ef;color:#1e6b43}.alert.error{background:#fdecec;color:#a12620}.donate-section{background:var(--blue-dark);color:#fff}.donate-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}.donate-grid p{color:rgba(255,255,255,.75)}.donate-card{background:#fff;color:var(--ink);padding:40px;border-radius:var(--radius)}.donate-card span{display:block;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--blue)}.donate-card strong{font-family:'Manrope';font-size:clamp(2.4rem,5vw,4.2rem);display:block;color:var(--orange)}.donate-card p{color:var(--ink)}.donate-card small{color:var(--muted)}.site-footer{background:#0b2c3b;color:#fff;padding:75px 0 24px}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr 1fr 1fr;gap:50px}.brand-footer{margin-bottom:20px}.site-footer h2{font-size:1rem;margin-bottom:18px}.site-footer p,.site-footer span{color:rgba(255,255,255,.65)}.site-footer a:not(.brand){display:block;color:rgba(255,255,255,.78);margin:7px 0}.socials a{font-weight:700}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);padding-top:22px;margin-top:55px;font-size:.83rem}@media(max-width:900px){.menu-toggle{display:grid;gap:5px}.menu-toggle span{width:26px;height:2px;background:var(--ink)}.site-nav{display:none;position:absolute;top:84px;left:0;right:0;background:#fff;padding:20px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:4px}.site-nav.open{display:flex}.site-nav>a:not(.button){padding:12px;border:0}.split,.story-grid,.thematic-grid,.contact-grid,.donate-grid{grid-template-columns:1fr;gap:45px}.story-copy{padding:60px 30px}.cards-3,.cards-4,.team-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.hero{min-height:690px}.hero-content{padding-bottom:65px}.page-hero{height:520px}.section{padding:75px 0}}@media(max-width:620px){.container{width:min(100% - 28px,1180px)}.brand img{width:48px;height:48px}.brand strong{font-size:.82rem}.nav-wrap{min-height:74px}.site-nav{top:74px}.hero{min-height:720px}.hero-overlay{background:linear-gradient(0deg,rgba(7,35,50,.94),rgba(7,35,50,.38))}.hero-content{padding-bottom:45px}.section{padding:62px 0}.section-heading,.callout,.footer-bottom{align-items:flex-start;flex-direction:column}.cards-2,.cards-3,.cards-4,.team-grid,.objective-list,.masonry,.form-row{grid-template-columns:1fr}.objective-list{display:block}.masonry figure,.masonry figure.wide{grid-column:auto;height:360px}.story-grid{width:100%}.story-image{height:380px}.story-copy{padding:55px 22px}.program-list article{grid-template-columns:45px 1fr;gap:15px}.team-card img{height:420px}.page-hero{height:500px;padding-bottom:45px}.contact-grid{gap:50px}.form-card{padding:24px}.donate-card{padding:28px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:flex}.site-footer{padding-top:60px}}

/* ===================== WVF — Enhanced motion & style layer ===================== */
:root{
  --blue-glow:rgba(23,101,138,.35);
  --orange-glow:rgba(248,154,28,.4);
  --grad-brand:linear-gradient(120deg,#0e4059 0%,#17658a 45%,#1a7a9e 70%,#f89a1c 130%);
  --grad-mesh:radial-gradient(circle at 15% 20%,rgba(248,154,28,.35),transparent 40%),radial-gradient(circle at 85% 15%,rgba(23,101,138,.55),transparent 45%),radial-gradient(circle at 50% 100%,rgba(14,64,89,.9),transparent 60%);
  --ease-out:cubic-bezier(.16,1,.3,1);
}

/* Scroll progress bar */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0%;background:linear-gradient(90deg,var(--orange),var(--blue));z-index:999;transition:width .12s linear}

/* Letter & word spacing refinements */
.eyebrow{letter-spacing:.22em;word-spacing:.02em}
.site-nav>a:not(.button){letter-spacing:.01em;position:relative}
.site-nav>a:not(.button)::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:3px;background:var(--orange);transition:right .3s var(--ease-out)}
.site-nav>a:not(.button):hover::after{right:0}
.button{letter-spacing:.02em}
.hero p,.lead{letter-spacing:.005em}
h1,h2{word-spacing:.01em}

/* Gradient overlays — richer, layered, brand-tinted */
.hero-overlay{background:linear-gradient(100deg,rgba(6,32,46,.94) 0%,rgba(9,44,63,.78) 32%,rgba(15,66,92,.42) 62%,rgba(248,154,28,.14) 100%),radial-gradient(circle at 82% 18%,rgba(248,154,28,.28),transparent 55%);background-blend-mode:normal}
.page-hero-overlay{background:linear-gradient(100deg,rgba(5,30,44,.92) 0%,rgba(8,45,65,.6) 45%,rgba(15,66,92,.22) 80%),radial-gradient(circle at 90% 10%,rgba(248,154,28,.22),transparent 50%)}
.photo-story{position:relative;overflow:hidden}
.photo-story::before{content:'';position:absolute;inset:0;background:var(--grad-mesh);opacity:.55;pointer-events:none;z-index:1}
.values-section{position:relative;overflow:hidden}
.values-section::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 10% 10%,rgba(248,154,28,.16),transparent 45%),radial-gradient(circle at 95% 90%,rgba(255,255,255,.08),transparent 40%);pointer-events:none}
.donate-section{position:relative;overflow:hidden}
.donate-section::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(248,154,28,.22),transparent 45%),radial-gradient(circle at 5% 90%,rgba(255,255,255,.06),transparent 40%);pointer-events:none}

/* Hero media Ken-Burns zoom */
.hero-media{overflow:hidden}
.hero-media img{transform:scale(1.08);animation:kenburns 16s ease-in-out infinite alternate}
@keyframes kenburns{0%{transform:scale(1.08) translate(0,0)}100%{transform:scale(1.16) translate(-1.5%,-1%)}}

/* Floating decorative blobs */
.blob-field{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.blob{position:absolute;border-radius:50%;filter:blur(50px);opacity:.55;animation:floatY 9s ease-in-out infinite}
.blob-a{width:260px;height:260px;background:var(--orange-glow);top:-60px;right:8%;animation-duration:11s}
.blob-b{width:220px;height:220px;background:var(--blue-glow);bottom:-40px;left:6%;animation-duration:13s;animation-delay:-3s}
.blob-c{width:160px;height:160px;background:rgba(255,255,255,.18);top:40%;left:40%;animation-duration:9s;animation-delay:-1.5s}
@keyframes floatY{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(14px,-22px) scale(1.06)}}

/* Reveal-on-scroll system */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.reveal.is-visible{opacity:1;transform:none}
.reveal-scale{opacity:0;transform:scale(.94);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.reveal-scale.is-visible{opacity:1;transform:none}
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.reveal-left.is-visible{opacity:1;transform:none}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.reveal-right.is-visible{opacity:1;transform:none}
.stagger>*{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.stagger.is-visible>*{opacity:1;transform:none}
.stagger.is-visible>*:nth-child(1){transition-delay:.05s}
.stagger.is-visible>*:nth-child(2){transition-delay:.16s}
.stagger.is-visible>*:nth-child(3){transition-delay:.27s}
.stagger.is-visible>*:nth-child(4){transition-delay:.38s}

/* Hero entrance choreography (above the fold, plays on load not scroll) */
.hero-content .eyebrow{opacity:0;animation:fadeUp .8s var(--ease-out) .15s forwards}
.hero-content h1{opacity:0;animation:fadeUp .9s var(--ease-out) .32s forwards}
.hero-content p{opacity:0;animation:fadeUp .9s var(--ease-out) .5s forwards}
.hero-content .hero-actions{opacity:0;animation:fadeUp .9s var(--ease-out) .68s forwards}
@keyframes fadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}

/* Program cards — lift, glow border, icon motion */
.program-card{position:relative;transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out);isolation:isolate;overflow:hidden}
.program-card::before{content:'';position:absolute;inset:0;border-radius:var(--radius);padding:1px;background:linear-gradient(135deg,var(--orange),var(--blue));opacity:0;transition:opacity .4s;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.program-card:hover{transform:translateY(-10px);box-shadow:0 26px 60px rgba(14,64,89,.18)}
.program-card:hover::before{opacity:1}
.program-card .icon{transition:transform .45s var(--ease-out),background .3s}
.program-card:hover .icon{transform:rotate(-8deg) scale(1.08);background:var(--orange);color:#fff}

/* Buttons — magnetic glow */
.button{position:relative;overflow:hidden;letter-spacing:.02em}
.button::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.55),transparent 55%);opacity:0;transition:opacity .35s}
.button:hover::after{opacity:1}
.button-ghost:hover{background:rgba(255,255,255,.2);border-color:#fff}

/* Story image subtle parallax + floating badge */
.story-image{position:relative;overflow:hidden}
.story-image img{transition:transform .6s var(--ease-out);will-change:transform}
.photo-story:hover .story-image img{transform:scale(1.04)}
.story-badge{position:absolute;left:24px;bottom:24px;background:rgba(255,255,255,.95);backdrop-filter:blur(6px);padding:12px 18px;border-radius:16px;box-shadow:var(--shadow);font-weight:800;font-size:.82rem;color:var(--blue-dark);display:flex;align-items:center;gap:10px;z-index:2;animation:floatY 6s ease-in-out infinite}
.story-badge span{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--orange);animation:pulse 1.8s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}}

/* Callout gradient panel */
.callout{position:relative;overflow:hidden;background:linear-gradient(120deg,#fbfaf6,#f3f6f4)}
.callout::before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 40%,rgba(248,154,28,.08) 60%,transparent 80%);background-size:220% 220%;animation:gradientShift 8s ease-in-out infinite}
@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}

/* Masonry gallery reveal */
.masonry figure{transition:transform .5s var(--ease-out)}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
}

@media(max-width:900px){
  .blob{filter:blur(34px)}
  .blob-a{width:170px;height:170px}
  .blob-b{width:150px;height:150px}
  .blob-c{display:none}
}
