:root{
  --mn-green:#063f32;
  --mn-green-2:#0b5a46;
  --mn-gold:#b98924;
  --mn-ink:#10231d;
  --mn-muted:#5d6b65;
  --mn-soft:#f7f8f5;
  --mn-cream:#fbfaf5;
  --mn-line:#dde4df;
  --mn-shadow:0 12px 34px rgba(20,50,40,.08);
  --mn-radius:18px;
  --mn-container:1180px;
}
html{scroll-behavior:smooth}
body{font-family:Manrope,Inter,Arial,sans-serif!important;color:var(--mn-ink);background:#fff}
img{max-width:100%;height:auto}
main section{scroll-margin-top:100px}

/* site-wide typography */
h1,h2,h3,h4{letter-spacing:-.025em}
p{line-height:1.72}
.eyebrow,.kicker{letter-spacing:.22em!important;text-transform:uppercase;font-weight:800!important}

/* calm, professional section rhythm */
.section,.section-wrap,.content-section,.about-section,.mission-grid,.provide-section,.team-partners-section,.principles-section,.timeline-section{
  max-width:var(--mn-container);
  margin-left:auto!important;
  margin-right:auto!important;
}
.section,.content-section,.about-section{padding-top:84px!important;padding-bottom:84px!important}
.section-heading{max-width:760px}
.section-heading.centered{margin-left:auto;margin-right:auto;text-align:center}
.section-heading h2{font-size:clamp(30px,4vw,52px)!important;line-height:1.08!important;color:var(--mn-green)!important;margin:.3em 0 .35em!important}
.section-heading p{font-size:17px;color:var(--mn-muted);line-height:1.7}

/* buttons */
.btn,.primary,.nav-cta,.header-cta,.community-cta,.nav-donate{
  border-radius:8px!important;
  font-weight:800!important;
  box-shadow:none!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.btn:hover,.primary:hover,.nav-cta:hover,.header-cta:hover,.community-cta:hover,.nav-donate:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(10,63,50,.13)!important}
.btn-green,.btn.primary,.primary,.community-cta,.header-cta{background:var(--mn-green)!important;color:#fff!important}
.btn-gold{background:var(--mn-gold)!important;color:#fff!important}

/* headers: cleaner and more consistent without changing page-specific functionality */
.site-header,.topbar{
  background:rgba(255,255,255,.97)!important;
  border-bottom:1px solid rgba(9,63,50,.08)!important;
  box-shadow:0 4px 18px rgba(13,48,39,.045)!important;
}
.site-header a,.topbar a{font-weight:650}
.site-header nav a:hover,.topbar nav a:hover{color:var(--mn-green)!important}

/* cards */
.card,.mission-card,.team-card,.partner-card,.provide-grid article,.difference-grid article,.principles-grid article,.goals-grid article{
  border-radius:var(--mn-radius)!important;
  border:1px solid var(--mn-line)!important;
  box-shadow:none!important;
}
.card:hover,.mission-card:hover,.provide-grid article:hover,.difference-grid article:hover{box-shadow:var(--mn-shadow)!important}

/* forms */
input,select,textarea{border-radius:9px!important;border-color:#d7dfda!important}
input:focus,select:focus,textarea:focus{outline:none!important;border-color:#4e8b76!important;box-shadow:0 0 0 3px rgba(16,100,78,.10)!important}

/* footer */
footer{background:var(--mn-green)!important;color:#fff!important}
footer a{color:#fff!important;opacity:.9}
footer a:hover{opacity:1}

/* ABOUT — calm editorial treatment, preserving all existing copy */
body:has(.about-hero){background:#fff}
.about-subnav{display:none!important}
.about-hero{min-height:560px!important}
.about-hero .hero-copy{max-width:620px!important}
.about-hero .hero-copy h1{font-size:clamp(44px,5.7vw,74px)!important;line-height:1.02!important;max-width:720px!important}
.about-hero .hero-copy p{font-size:17px!important;line-height:1.65!important;max-width:610px}
.values-band{background:#fff!important;color:var(--mn-ink)!important;padding:88px 24px!important}
.values-band .section-heading.light h2,.values-band .section-heading.light p{color:var(--mn-green)!important}
.values-grid{max-width:var(--mn-container);margin:42px auto 0!important;gap:0!important;border-top:1px solid var(--mn-line);border-bottom:1px solid var(--mn-line)}
.values-grid article{background:transparent!important;border:0!important;border-right:1px solid var(--mn-line)!important;border-radius:0!important;padding:30px 24px!important;box-shadow:none!important}
.values-grid article:last-child{border-right:0!important}
.values-grid h3{color:var(--mn-green)!important}
.values-grid p{color:var(--mn-muted)!important}
.story-section{display:grid!important;grid-template-columns:1.1fr .9fr!important;gap:70px!important;align-items:center;padding:100px 24px!important}
.story-copy{max-width:650px}
.story-copy h2{font-size:clamp(32px,4vw,50px)!important;color:var(--mn-green)!important;line-height:1.08!important}
.story-copy p{font-size:17px;color:#43534d}
.story-visual img{border-radius:22px!important;box-shadow:var(--mn-shadow)!important}
.founder-section{background:var(--mn-cream)!important;padding:100px 24px!important}
.founder-inner{max-width:1000px!important;margin:auto!important;display:grid!important;grid-template-columns:300px 1fr!important;gap:80px!important;align-items:start}
.founder-heading{position:sticky;top:120px}
.founder-heading h2{font-size:clamp(34px,4.3vw,54px)!important;color:var(--mn-green)!important;line-height:1.02!important}
.founder-story{max-width:700px!important}
.founder-story p{font-size:17px!important;line-height:1.82!important;color:#374944!important}
.founder-emphasis{font-size:22px!important;color:var(--mn-green)!important;font-weight:750!important;border-left:3px solid var(--mn-gold);padding-left:24px;margin-top:34px!important}
.mission-grid{padding:100px 24px!important;display:grid!important;grid-template-columns:1.4fr .8fr .8fr!important;gap:24px!important}
.mission-card{padding:36px!important;background:#fff!important}
.mission-card.primary{background:var(--mn-green)!important;color:#fff!important}
.mission-card.primary h2,.mission-card.primary p,.mission-card.primary .eyebrow{color:#fff!important}
.difference-section{padding:96px 24px!important;background:#fff!important}
.difference-grid{max-width:var(--mn-container);margin:46px auto 0!important;grid-template-columns:repeat(3,1fr)!important;gap:22px!important}
.difference-grid article{padding:28px!important;background:#fff!important}
.provide-section{padding:96px 24px!important}
.provide-grid{grid-template-columns:repeat(3,1fr)!important;gap:22px!important}
.provide-grid article{padding:28px!important}
.team-partners-section{padding:100px 24px!important}
.team-grid{grid-template-columns:repeat(2,1fr)!important;gap:20px!important;max-width:920px;margin:42px auto 70px!important}
.team-card{padding:28px!important;background:#fff!important}
.partners-grid{gap:18px!important}
.partner-card{background:#fff!important}
.goals-section{padding:100px 24px!important;background:var(--mn-green)!important}
.goals-grid{max-width:var(--mn-container);margin:42px auto 0!important;grid-template-columns:repeat(3,1fr)!important;gap:18px!important}
.goals-grid article{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.15)!important;padding:28px!important;color:#fff!important}
.goals-grid h3,.goals-grid p{color:#fff!important}
.principles-section{padding:96px 24px!important}
.principles-grid{grid-template-columns:repeat(2,1fr)!important;max-width:940px;margin:42px auto 0!important;gap:20px!important}
.future-section{display:grid!important;grid-template-columns:1.05fr .95fr!important;align-items:stretch;background:#f7f8f5!important}
.future-copy{padding:90px clamp(34px,5vw,80px)!important}
.future-copy h2{font-size:clamp(34px,4vw,54px)!important;line-height:1.08!important;color:var(--mn-green)!important}
.timeline-section{padding:100px 24px!important}
.timeline{max-width:900px!important;margin:50px auto 0!important}
.timeline article{grid-template-columns:130px 1fr!important;padding:28px 0!important;border-bottom:1px solid var(--mn-line)!important}
.impact-bridge,.final-cta{padding:72px max(24px,calc((100vw - var(--mn-container))/2))!important}

/* Other public pages: consistent hero and content polish */
body:not(:has(.about-hero)) .hero h1,
.donate-hero h1{letter-spacing:-.035em!important}
.resources-page .hero,.events-page .hero{border-radius:0!important}

@media(max-width:900px){
  .section,.content-section,.about-section{padding-top:64px!important;padding-bottom:64px!important}
  .story-section,.founder-inner,.mission-grid,.future-section{grid-template-columns:1fr!important}
  .founder-heading{position:static!important}
  .founder-inner{gap:28px!important}
  .difference-grid,.provide-grid,.goals-grid{grid-template-columns:1fr 1fr!important}
  .values-grid{grid-template-columns:1fr 1fr!important}
  .values-grid article{border-right:0!important;border-bottom:1px solid var(--mn-line)!important}
  .team-grid,.principles-grid{grid-template-columns:1fr!important}
}
@media(max-width:620px){
  .difference-grid,.provide-grid,.goals-grid,.values-grid{grid-template-columns:1fr!important}
  .about-hero{min-height:520px!important}
  .about-hero .hero-copy h1{font-size:42px!important}
  .story-section,.founder-section,.team-partners-section,.timeline-section,.principles-section,.difference-section,.provide-section{padding-left:20px!important;padding-right:20px!important}
  .mission-grid{padding-left:20px!important;padding-right:20px!important}
}

/* 2026-09-12 — ABOUT HERO HOTFIX
   The previous site-wide refresh accidentally constrained .hero-copy to 620px
   while the original About hero still reserved 58% of the banner for its image.
   That combination collapsed the text into a very narrow column. */
body:has(.about-hero-banner) .about-hero-banner{
  min-height:620px!important;
  display:block!important;
  overflow:hidden!important;
}
body:has(.about-hero-banner) .about-hero-banner .hero-copy{
  position:relative!important;
  z-index:3!important;
  width:100%!important;
  max-width:1440px!important;
  min-height:620px!important;
  margin:0 auto!important;
  padding:86px 57% 78px 70px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
}
body:has(.about-hero-banner) .about-hero-banner .hero-copy h1{
  width:100%!important;
  max-width:620px!important;
  margin:0 0 18px!important;
  font-size:clamp(44px,4.6vw,64px)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
  color:var(--mn-green)!important;
  text-wrap:balance;
}
body:has(.about-hero-banner) .about-hero-banner .hero-copy .hero-lead,
body:has(.about-hero-banner) .about-hero-banner .hero-copy > p:not(.eyebrow){
  width:100%!important;
  max-width:600px!important;
  margin-left:0!important;
  margin-right:0!important;
  font-size:17px!important;
  line-height:1.68!important;
}
body:has(.about-hero-banner) .about-hero-banner .hero-actions{
  width:auto!important;
  max-width:none!important;
}
@media(max-width:1100px){
  body:has(.about-hero-banner) .about-hero-banner .hero-copy{
    padding:72px 48% 72px 42px!important;
  }
}
@media(max-width:820px){
  body:has(.about-hero-banner) .about-hero-banner{
    min-height:720px!important;
  }
  body:has(.about-hero-banner) .about-hero-banner .about-banner-fog{
    background:linear-gradient(180deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.97) 47%,rgba(255,255,255,.74) 68%,rgba(255,255,255,.08) 100%)!important;
  }
  body:has(.about-hero-banner) .about-hero-banner .about-banner-bg{
    object-position:65% center!important;
  }
  body:has(.about-hero-banner) .about-hero-banner .hero-copy{
    min-height:720px!important;
    padding:54px 24px 300px!important;
  }
  body:has(.about-hero-banner) .about-hero-banner .hero-copy h1{
    max-width:680px!important;
    font-size:clamp(40px,9vw,54px)!important;
  }
}
