:root{
  --bg:#f3efe6; --surface:#ebe1cb; --card:#fbf9f4; --ink:#2d3e34; --muted:#56655b;
  --plum:#2d3e34; --on-plum:#f3efe6; --leaf:#4d7058; --coral:#c5805f; --sun:#e0b66a; --line:#d9cfba;
  --logo-bg:transparent; --logo-pad:0;
  box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#1b2820; --surface:#24362b; --card:#202f26; --ink:#f3efe6; --muted:#bccabf;
  --plum:#e0b66a; --on-plum:#1b2820; --leaf:#9cc0a5; --coral:#d9946f; --sun:#e0b66a; --line:#38493e;
  --logo-bg:#f3efe6; --logo-pad:1rem;}}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 "Nunito Sans",system-ui,sans-serif}
h1,h2,h3{font-family:"Bricolage Grotesque","Trebuchet MS",sans-serif;line-height:1.1;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.3rem,6.5vw,4.2rem);font-weight:800}
h2{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800}
h3{font-size:1.3rem;font-weight:600}
p{margin:0 0 1em;max-width:62ch}
a{color:inherit}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px;border-radius:6px}
.wrap{max-width:1080px;margin:0 auto;padding:0 1.25rem}
header .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:1.1rem;padding-bottom:1.1rem;gap:1rem;flex-wrap:wrap}
.logo{display:block;line-height:0}
.logo img{height:56px;width:auto;border-radius:14px}
nav{display:flex;gap:1.25rem;flex-wrap:wrap;align-items:center}
nav a{text-decoration:none;font-weight:700}
nav a:hover,nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:3px;text-decoration-color:var(--coral)}
.btn{display:inline-block;background:var(--plum);color:var(--on-plum);font:700 1.05rem "Nunito Sans",sans-serif;padding:.85rem 1.6rem;border-radius:999px;border:0;cursor:pointer;text-decoration:none}
nav .btn{padding:.55rem 1.2rem}
nav .btn:hover{text-decoration:none}
.btn:hover{filter:brightness(1.1)}
.btn.alt{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.hero,.pagehead{background:var(--surface);border-radius:0 0 48px 48px;padding:3rem 0 4rem}
.pagehead{padding:3rem 0}
.pagehead h1{font-size:clamp(2.1rem,5.5vw,3.4rem);margin-bottom:.4em}
.pagehead p{font-size:1.2rem;margin:0}
.hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:2.5rem;align-items:center}
.hero p.lead{font-size:1.25rem}
.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem}
.art{justify-self:center;width:100%;max-width:380px}
.art img{display:block;width:100%;height:auto;border-radius:36px;background:var(--logo-bg);padding:var(--logo-pad)}
section{padding:4rem 0}
.mission{display:grid;grid-template-columns:.8fr 1.2fr;gap:2.5rem;align-items:start}
.mission p{font-size:1.15rem}
.programs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.programs article{background:var(--card);border:2px solid var(--line);padding:1.5rem;border-radius:24px}
.programs article:nth-child(2){border-radius:24px 24px 24px 80px}
.programs article:nth-child(3){border-radius:80px 24px 24px 24px}
.programs h3{color:var(--leaf)}
.programs p{margin:0 0 1em}
.programs .btn{margin-top:.5rem}
.give{background:var(--plum);color:var(--on-plum);border-radius:48px;padding:3.5rem 1.5rem;text-align:center}
.give p{margin-left:auto;margin-right:auto;font-size:1.15rem}
.give .btn{background:var(--on-plum);color:var(--plum)}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
.contact a:not(.btn){font-weight:700}
.two{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.box{background:var(--card);border:2px solid var(--line);border-radius:24px;padding:1.5rem}
.box p{margin:0}
.program-overview{text-align:left}
.program-overview p{max-width:none}
.curr{list-style:none;margin:0;padding:0;display:grid;gap:1rem;counter-reset:s}
.curr li{counter-increment:s;background:var(--card);border:2px solid var(--line);border-radius:24px;padding:1.25rem 1.25rem 1.25rem 4.4rem;position:relative}
.curr li::before{content:counter(s);position:absolute;left:1.1rem;top:1.15rem;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--plum);color:var(--on-plum);font:800 1.1rem "Bricolage Grotesque",sans-serif;display:grid;place-items:center}
.curr h3{margin-bottom:.3em;color:var(--leaf)}
.curr p{margin:0}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.person{background:var(--card);border:2px solid var(--line);border-radius:24px;padding:1.25rem;display:flex;gap:1rem;align-items:center}
.avatar{flex:none;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font:800 1.4rem "Bricolage Grotesque",sans-serif;color:#2d3e34}
.person h3{font-size:1.15rem;margin:0 0 .15em}
.person p{margin:0;color:var(--muted);font-size:.98rem;line-height:1.35}
.a0{background:#c5805f}.a1{background:#e0b66a}.a2{background:#8fb29a}
footer{padding:2.5rem 0 3rem;color:var(--muted);border-top:2px solid var(--line);margin-top:2rem}
footer .wrap{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
footer a{font-weight:700}
@media (max-width:760px){
  .hero .wrap,.mission,.contact,.two{grid-template-columns:1fr}
  .programs,.team{grid-template-columns:1fr}
  .hero,.pagehead{border-radius:0 0 32px 32px}
}
.form{display:grid;gap:.35rem;background:var(--card);border:2px solid var(--line);border-radius:24px;padding:1.5rem}
.form label{font-weight:700;margin-top:.6rem}
.form input,.form select,.form textarea{font:inherit;color:var(--ink);background:var(--bg);border:2px solid var(--line);border-radius:14px;padding:.7rem .9rem;width:100%}
.form .btn{margin-top:1rem;justify-self:start}
.skip-link{position:absolute;left:1rem;top:1rem;transform:translateY(-200%);z-index:10;background:var(--card);padding:.7rem 1rem;border:2px solid var(--ink);border-radius:12px;font-weight:700}
.skip-link:focus{transform:translateY(0)}
.wrap>*{min-width:0}
footer a{overflow-wrap:anywhere}
.form-note{font-size:.9rem;color:var(--muted);margin:1rem 0 0}
textarea{resize:vertical;min-height:8rem}
nav a{min-height:44px;display:inline-flex;align-items:center}
.btn{transition:transform .18s ease,filter .18s ease}
.btn:active{transform:translateY(2px)}
@media(min-width:761px) and (max-width:1000px){.team{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){nav{gap:.35rem 1rem}header .wrap{gap:.5rem}.person{padding:1rem}.give{border-radius:28px}section{padding:2.5rem 0}}
@media(prefers-reduced-motion:reduce){.btn{transition:none}}

/* Hide the platform's injected public branding badge on every page. */
iframe#nl-badge-frame{display:none!important}
