:root{
  --bg:#f4efe6;
  --surface:#fbf8f2;
  --surface-alt:#f0eadf;
  --text:#1f1b17;
  --muted:#605a53;
  --line:#d8cebe;
  --accent:#a8c93c;
  --accent-dark:#5c7a2f;
  --button:#6f9440;
  --button-hover:#5f8135;
  --max:1200px;
  --radius:26px;
  --shadow:0 14px 34px rgba(0,0,0,.05);
}
*,
*::before,
*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.58;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--accent-dark);outline-offset:3px}
.skip-link{
  position:absolute;left:-9999px;top:1rem;
  background:#000;color:#fff;padding:.75rem 1rem;z-index:999
}
.skip-link:focus{left:1rem}
.top-note{
  background:#121212;color:#fff;text-align:center;
  font-size:.92rem;padding:.7rem 1rem
}
.container{width:min(var(--max), calc(100% - 2rem));margin:0 auto}

.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(244,239,230,.95);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line)
}
.header-wrap{
  min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:1rem
}

.site-nav ul{display:flex;flex-wrap:wrap;gap:1.35rem;list-style:none;margin:0;padding:0}
.site-nav a{font-weight:700;color:#6b655e}
.site-nav a[aria-current="page"]{
  color:var(--text);
  text-decoration:underline;
  text-underline-offset:.25rem
}

.hero{padding:2.2rem 0 4rem}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:1.4rem;align-items:stretch}
.hero-card,
.page-card,
.panel,
.link-card,
.person-card,
.form-card,
.video-card,
.form-layout-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.hero-card{padding:2rem 2.1rem}
.hero-media{
  overflow:hidden;position:relative;min-height:520px
}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-overlay{
  position:absolute;left:0;right:0;bottom:0;
  padding:1.2rem 1.3rem;color:#fff;
  background:linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0))
}
.page-hero{padding:2rem 0 1.1rem}
.page-card{padding:1.8rem 2rem}

.eyebrow{
  display:inline-block;
  margin:0 0 .9rem;
  color:var(--accent-dark);
  font-size:1.08rem;
  font-weight:700;
  letter-spacing:0;
  line-height:1.55;
}
.hero-title,
.page-title,
.section-title{
  font-family:Georgia, "Times New Roman", serif;
  line-height:1.05;
  margin:.15rem 0 1rem;
  font-weight:700
}
.hero-title{font-size:clamp(2.8rem, 7vw, 5.2rem)}
.page-title{font-size:clamp(2.35rem, 5.8vw, 4.5rem)}
.section-title{font-size:clamp(1.7rem, 4vw, 2.7rem)}
.lead,
.copy-large{
  font-size:1.08rem;
  color:var(--muted);
  max-width:66ch
}
.accent-copy{color:var(--accent-dark);font-weight:700}
.section{padding:2.1rem 0}
.grid-2,.grid-3,.grid-4,.split-main,.people-grid,.contact-grid,.donate-form-clean,.detail-row,.footer-grid{
  display:grid;gap:1.25rem
}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.split-main{grid-template-columns:1.08fr .92fr}
.people-grid{grid-template-columns:repeat(2,1fr)}

.contact-grid{grid-template-columns:1fr 1fr}
.donate-form-clean{grid-template-columns:1fr 1fr}
.detail-row{grid-template-columns:repeat(4,minmax(0,1fr))}
.footer-grid{grid-template-columns:1.4fr 1fr 1fr}

.panel,.link-card,.form-card,.form-layout-card{padding:1.45rem}
.link-card h3,.panel h3,.person-card h3,.form-card h3{font-family:Georgia, "Times New Roman", serif;font-size:1.25rem;margin:.1rem 0 .55rem}
.panel p,.link-card p,.form-card p,.person-card p{color:var(--muted)}

.btn-row,.mini-actions{
  display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.1rem
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:0 1.2rem;border-radius:999px;
  border:1px solid transparent;font-weight:700
}
.btn-primary{background:var(--button);color:#fff}
.btn-primary:hover{background:var(--button-hover);text-decoration:none}
.btn-secondary{background:transparent;border-color:var(--line)}
.btn-secondary:hover{text-decoration:none;background:#f6f2e9}

.image-frame,
.video-card{
  overflow:hidden
}
.image-frame{
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  background:var(--surface)
}
.image-frame img{width:100%;height:100%;object-fit:cover}
.video-card{padding:0}
.video-preview{position:relative;aspect-ratio:16/9;background:#111}
.video-preview img{width:100%;height:100%;object-fit:cover}
.video-play{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center
}
.video-play span{
  width:86px;height:86px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.55);color:#fff;font-size:2rem
}
.video-caption{padding:1rem 1.2rem 1.2rem}

.people-grid .person-card{overflow:hidden}

.person-body{padding:1rem 1.1rem 1.2rem}
.person-role{margin:0 0 .45rem;color:var(--muted)}
.person-copy{margin:0;color:var(--muted);font-size:.98rem}

.contact-list,.notice-list,.option-group{
  list-style:none;margin:0;padding:0
}
.contact-list,
.notice-list,
.option-group{display:grid;gap:.8rem}
.contact-list li,
.notice-list li{
  padding:1rem 1.05rem;
  background:var(--surface-alt);
  border:1px solid var(--line);
  border-radius:16px
}

.form-grid{display:grid;gap:.9rem}
label{display:block;font-weight:700;margin-bottom:.35rem}
input,textarea,select{
  width:100%;padding:.95rem 1rem;border-radius:12px;border:1px solid #bdb4a5;
  background:#fff;font:inherit
}
textarea{resize:vertical;min-height:110px}
.inline-link{text-decoration:underline;text-underline-offset:.15rem}

.donate-info-box{padding:1.5rem}
.donate-form-card{
  border-radius:24px;padding:1.5rem;border:1px solid #b3aa9c;
  box-shadow:var(--shadow)
}
.donate-form-card.monthly{background:#ece9e3}
.donate-form-card.oneoff{background:#eef5df}
.donate-form-card h2{
  font-size:clamp(1.9rem,4vw,2.9rem);
  margin-bottom:.7rem;
  font-family:Georgia, "Times New Roman", serif
}
.donate-section-label{
  font-size:1.05rem;font-weight:800;
  color:var(--text);margin:1.35rem 0 .65rem
}
.option-group.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.option-group.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.option-item{
  display:flex;align-items:center;gap:.6rem;
  padding:.9rem 1rem;
  background:rgba(255,255,255,.55);
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px
}
.option-item input{width:18px;height:18px;margin:0}
.detail-fields{display:grid;gap:.85rem}
.pay-row{display:flex;justify-content:flex-end;margin-top:1.35rem}
.pay-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:56px;padding:0 1.45rem;border-radius:12px;
  background:#2f2f2f;color:#fff;border:1px solid #555;font-weight:700
}
.form-note{margin-top:1.4rem;color:#333;font-size:1.05rem}
.donate-note-title{
  color:var(--accent-dark);
  font-size:clamp(2rem,4vw,3rem);
  margin-top:1.7rem;
  font-family:Georgia, "Times New Roman", serif
}
.dashed-rule{border-top:2px dashed #9dbc74;margin:2rem 0}

.footer{
  border-top:1px solid var(--line);
  padding:2.6rem 0 3.2rem;
  margin-top:2rem
}
.footer h2{
  margin:0 0 .8rem;
  font-size:1.15rem;
  font-family:Georgia, "Times New Roman", serif
}
.footer ul{list-style:none;margin:0;padding:0}
.footer li{margin:.4rem 0}
.footer p{color:var(--muted)}

@media (max-width:980px){
  .hero-grid,.grid-4,.grid-3,.grid-2,.split-main,.people-grid,.people-grid.four,.contact-grid,.donate-form-clean,.detail-row,.option-group.columns-3,.option-group.columns-2,.footer-grid{
    grid-template-columns:1fr;
  }
  .hero-media{min-height:340px}
  .header-wrap{flex-direction:column;align-items:flex-start;padding:.8rem 0}
}
@media (max-width:620px){
  .site-nav ul{gap:.85rem}
  .btn,.pay-btn{width:100%}
}

.brand{
  display:inline-flex;
  align-items:center;
  gap:.8rem;
}
.brand-logo{
  width:124px;
  height:auto;
  object-fit:contain;
  background:transparent;
  border:none;
  border-radius:0;
  box-shadow:none;
  display:block;
  flex:0 0 auto;
}
.brand-text{
  display:inline-block;
  font-family:Georgia, "Times New Roman", serif;
  font-size:1.62rem;
  font-weight:700;
  line-height:1;
  color:var(--text);
}
.footer-brand{
  display:flex;
  align-items:center;
  gap:.9rem;
  margin-bottom:.8rem;
}
.footer-logo{
  width:108px;
  height:auto;
  object-fit:contain;
  background:transparent;
  border:none;
  border-radius:0;
  box-shadow:none;
  display:block;
  flex:0 0 auto;
}
@media (max-width:620px){
  .brand{
    gap:.65rem;
  }
  .brand-logo{
    width:102px;
  }
  .brand-text{
    font-size:1.38rem;
  }
  .footer-logo{
    width:88px;
  }
}

.person-media{
  aspect-ratio:4/3;
  overflow:hidden;
  background:var(--surface-alt);
}
.person-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.about-top-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:1.25rem;
  align-items:stretch;
}
.about-top-grid .panel,
.about-top-grid .video-card{
  height:100%;
}
.about-top-grid .video-card{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.about-top-grid .video-preview{
  height:100%;
  min-height:340px;
}
.people-grid.four{
  grid-template-columns:repeat(5,1fr);
}
@media (max-width:1100px){
  .people-grid.four{
    grid-template-columns:repeat(3,1fr);
  }
}
@media (max-width:980px){
  .about-top-grid{
    grid-template-columns:1fr;
  }
  .about-top-grid .video-preview{
    min-height:260px;
  }
  .people-grid.four{
    grid-template-columns:repeat(2,1fr);
  }
}
@media (max-width:620px){
  .people-grid.four{
    grid-template-columns:1fr;
  }
}

@media (max-width:980px){
  }

.donate-intro-highlight{
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(1.2rem,2.1vw,1.8rem);
  line-height:1.35;
  color:var(--text);
  margin:0;
  max-width:none;
  width:100%;
}
.donate-intro-highlight strong{
  color:var(--accent-dark);
  display:block;
  font-size:clamp(1.6rem,3vw,2.4rem);
  line-height:1.15;
  margin-bottom:.55rem;
}
.donate-intro-highlight .donate-subtext{
  display:block;
  font-family:Arial, Helvetica, sans-serif;
  font-size:1.08rem;
  line-height:1.55;
  color:var(--muted);
  font-weight:400;
}
.donate-intro-note .section-title{
  font-size:clamp(1.6rem,3vw,2.3rem);
  margin-bottom:.8rem;
}
.donate-intro-note p{
  margin:.7rem 0 0;
  max-width:none;
}
.fundraise-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:1.25rem;
}
.fundraise-idea-list{
  margin:1rem 0 0 1.1rem;
  color:var(--muted);
}
.fundraise-idea-list li{
  margin:.28rem 0;
}
.fundraise-code-list{
  margin:.8rem 0 0 1.15rem;
}
.fundraise-code-list li{
  margin:.45rem 0;
}
.about-video-wrap{
  max-width:760px;
}
.people-grid.four .person-media{
  aspect-ratio:1/1;
}

.projects-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  overflow:hidden;
  border-radius:32px;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  background:var(--surface);
}
.project-panel{
  padding:2rem 2rem 2.15rem;
  min-height:250px;
}
.project-panel + .project-panel{
  border-left:1px solid var(--line);
}

@media (max-width:980px){
  .projects-strip{
    grid-template-columns:1fr;
  }
  .project-panel + .project-panel{
    border-left:none;
    border-top:1px solid var(--line);
  }
  .project-panel p{
  margin:0;
  color:var(--muted);
  max-width:none;
  width:100%;
  line-height:1.55;
}
}

.project-panel h3{
  margin:.1rem 0 .9rem;
  font-family:Georgia, "Times New Roman", serif;
  font-size:2rem;
  line-height:1.1;
  color:var(--accent-dark);
}
.project-panel p{
  margin:0;
  color:var(--muted);
  max-width:none;
  width:100%;
  line-height:1.55;
}

.panel .eyebrow,
.page-card .eyebrow,
.hero-card .eyebrow{
  color:var(--accent-dark);
}

.person-body h3{
  color:var(--accent-dark);
}

.contact-list strong{
  color:var(--accent-dark);
}

.video-caption,
.video-caption strong{
  color:var(--accent-dark);
}

.sponsor-options{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1.25rem;
  margin-top:1.2rem;
}
.sponsor-card{
  border:1px solid var(--line);
  border-radius:24px;
  background:var(--surface);
  padding:1.4rem;
  box-shadow:var(--shadow);
}
.sponsor-card h3{
  color:var(--accent-dark);
  margin:.2rem 0 .75rem;
}
.sponsor-cost{
  font-family:Georgia, "Times New Roman", serif;
  font-size:2rem;
  color:var(--text);
  margin:1rem 0;
}
@media (max-width:820px){
  .sponsor-options{
    grid-template-columns:1fr;
  }
}

.sponsor-green-title{
  color:var(--accent-dark);
}

.green-heading,
.green-bullet-list,
.green-bullet-list li,
.green-bullet-list li::marker{
  color:var(--accent-dark);
}

.projects-strip{
  align-items:stretch;
}
.project-panel{
  padding:1.55rem 1.8rem 1.65rem;
  min-height:auto;
}
.project-panel p{
  max-width:none;
}

.inline-learn-more{
  display:inline-flex;
  align-items:center;
  margin-top:.55rem;
  color:var(--accent-dark);
  font-weight:700;
  text-decoration:none;
  border-bottom:2px solid currentColor;
  line-height:1.35;
}
.inline-learn-more:hover,
.inline-learn-more:focus{
  color:var(--text);
}
.inline-learn-more::after{
  content:"→";
  margin-left:.45rem;
}

.hero-grid{
  grid-template-columns:1.1fr .9fr;
}
.hero .hero-card:not(.hero-media) .hero-title{
  font-size:clamp(2.65rem,6.5vw,4.9rem);
  line-height:1.02;
}
.hero .hero-card:not(.hero-media) .btn-row .btn{
  font-size:1.12rem;
  min-height:56px;
  padding:0 1.65rem;
}

.hero .hero-card:not(.hero-media) .hero-title{
  margin-bottom:1.35rem;
}
.contact-list {
  margin-top: 1.6rem;
}
.contact-grid .form-card .section-title {
  color: var(--accent-dark);
}