:root{
  --ink:#07100d;
  --green:#2fa24c;
  --paper:#f4f4ef;
  --white:#fff;
  --muted:#a7afa9;
  --line:rgba(7,16,13,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
.site-header{
  position:absolute;
  inset:0 0 auto 0;
  z-index:10;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:30px clamp(22px,5vw,76px);
}
.brand img{width:270px;display:block}
.header-link{
  color:white;
  font-size:.92rem;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.55);
  padding-bottom:5px;
}
.hero{
  min-height:100svh;
  background:var(--ink);
  color:white;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);
}
.hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:150px clamp(28px,6vw,100px) 90px;
  max-width:850px;
}
.eyebrow{
  margin:0 0 28px;
  color:#8cdf9c;
  font-size:.74rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:700;
}
.eyebrow.dark{color:#267d3d}
h1,h2,p{margin-top:0}
h1{
  margin-bottom:32px;
  font-size:clamp(3.4rem,6vw,7.5rem);
  line-height:.94;
  letter-spacing:-.065em;
  font-weight:650;
}
h1 span{color:#9be4a7}
.hero-intro{
  max-width:650px;
  margin-bottom:38px;
  color:#d2d8d4;
  font-size:clamp(1.05rem,1.5vw,1.35rem);
  line-height:1.6;
}
.button{
  width:max-content;
  text-decoration:none;
  border:1px solid #66c979;
  padding:15px 20px;
  transition:.25s ease;
}
.button:hover{background:var(--green);border-color:var(--green)}
.hero-visual{margin:0;min-height:100svh;overflow:hidden}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.statement{
  min-height:70svh;
  padding:110px clamp(28px,8vw,130px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-bottom:1px solid var(--line);
}
.statement p{
  margin:0;
  font-size:clamp(3rem,7vw,8.5rem);
  line-height:.94;
  letter-spacing:-.065em;
  font-weight:650;
}
.statement p:last-child{color:var(--green)}
.statement span{
  display:block;
  max-width:720px;
  margin-top:48px;
  color:#4f5953;
  font-size:clamp(1.05rem,1.6vw,1.35rem);
  line-height:1.55;
}
.foundation{
  padding:140px clamp(28px,8vw,130px);
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:clamp(50px,9vw,150px);
  border-bottom:1px solid var(--line);
}
.foundation h2,.partners h2{
  margin:0;
  font-size:clamp(2.5rem,5vw,5.8rem);
  line-height:1;
  letter-spacing:-.055em;
}
.foundation-copy>p{
  max-width:720px;
  font-size:clamp(1.35rem,2vw,2rem);
  line-height:1.45;
}
.attributes{
  list-style:none;
  margin:55px 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
}
.attributes li{
  padding:20px 10px 20px 0;
  border-bottom:1px solid var(--line);
  font-size:.9rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.programs{
  padding:150px clamp(28px,8vw,130px);
  background:#0a1511;
  color:white;
}
.programs h2{
  max-width:1100px;
  margin-bottom:40px;
  font-size:clamp(3rem,7vw,8rem);
  line-height:.95;
  letter-spacing:-.065em;
}
.programs>p:last-child{
  max-width:760px;
  color:#c4cec8;
  font-size:clamp(1.15rem,1.8vw,1.55rem);
  line-height:1.55;
}
.partners{
  padding:140px clamp(28px,8vw,130px);
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:clamp(50px,8vw,140px);
}
.partners>p:last-child{
  align-self:end;
  color:#3f4843;
  font-size:1.05rem;
  line-height:2;
}
.contact-section{
  padding:150px clamp(28px,8vw,130px);
  background:var(--green);
  color:#041009;
}
.contact-section .eyebrow{color:#092511}
.contact-section h2{
  max-width:1100px;
  margin-bottom:48px;
  font-size:clamp(3.2rem,7vw,8rem);
  line-height:.94;
  letter-spacing:-.065em;
}
.contact-email{
  display:inline-block;
  font-size:clamp(1.15rem,2.2vw,2.2rem);
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:8px;
}
footer{
  background:#06110d;
  color:#bdc8c1;
  padding:32px clamp(28px,5vw,76px);
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:.78rem;
}
footer a{color:white;text-decoration:none}
@media(max-width:900px){
  .hero{grid-template-columns:1fr}
  .hero-copy{min-height:68svh;padding-top:128px;padding-bottom:64px}
  .hero-visual{min-height:48svh}
  .foundation,.partners{grid-template-columns:1fr}
  .attributes{grid-template-columns:repeat(2,1fr)}
  footer{flex-direction:column}
}
@media(max-width:520px){
  .site-header{padding-top:22px}
  .brand img{width:208px}
  .header-link{font-size:.78rem}
  h1{font-size:3.25rem}
  .hero-copy{padding-left:22px;padding-right:22px}
  .statement{min-height:auto;padding-top:92px;padding-bottom:92px}
  .foundation,.programs,.partners,.contact-section{padding-left:22px;padding-right:22px;padding-top:96px;padding-bottom:96px}
  .programs h2{font-size:3.35rem}
  .partners h2{font-size:3.2rem}
  .contact-section h2{font-size:3.45rem}
}
@media(prefers-reduced-motion:no-preference){
  .hero-copy>*{opacity:0;transform:translateY(18px);animation:rise .7s ease forwards}
  .hero-copy>*:nth-child(2){animation-delay:.08s}
  .hero-copy>*:nth-child(3){animation-delay:.16s}
  .hero-copy>*:nth-child(4){animation-delay:.24s}
  @keyframes rise{to{opacity:1;transform:none}}
}