
:root{
  --green-950:#0b2419;
  --green-900:#123b2a;
  --green-800:#1d573c;
  --green-700:#2e7549;
  --green-500:#6da83b;
  --green-300:#b9d88f;
  --cream:#f7f5ed;
  --sand:#eee9dc;
  --white:#ffffff;
  --ink:#17231d;
  --muted:#66736b;
  --line:#dfe5dc;
  --shadow:0 18px 50px rgba(16,45,31,.10);
  --radius:22px;
  --container:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.7;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit}
.container{width:min(calc(100% - 40px),var(--container));margin:auto}
.section{padding:100px 0}
.center{text-align:center}
.section-heading{max-width:780px;margin-bottom:48px}
.section-heading.center{margin-left:auto;margin-right:auto}
.section-label{
  display:inline-block;
  color:var(--green-700);
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:12px;
}
h1,h2,h3{line-height:1.15;margin:0 0 18px}
h1{font-size:clamp(2.8rem,6vw,5.8rem);letter-spacing:-.055em}
h2{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.04em}
h3{font-size:1.35rem}
p{margin:0 0 18px;color:var(--muted)}
.lead{font-size:1.15rem}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:0 22px;border-radius:999px;
  font-weight:800;transition:.25s ease;border:1px solid transparent;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--green-700);color:#fff}
.btn-primary:hover{background:var(--green-900)}
.btn-outline{border-color:rgba(255,255,255,.6);color:#fff;background:transparent}
.btn-outline:hover{background:#fff;color:var(--green-900)}
.btn-light{background:#fff;color:var(--green-900)}
.text-link{font-weight:800;color:var(--green-700)}
.text-link:hover{color:var(--green-900)}
.section-button{text-align:center;margin-top:42px}

/* Header */
.site-header{
  position:fixed;z-index:50;top:0;left:0;right:0;
  background:rgba(255,255,255,.92);backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(223,229,220,.8);
  transition:.25s ease;
}
.site-header.scrolled{box-shadow:0 10px 30px rgba(0,0,0,.06)}
.nav-container{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo img{width:215px;height:auto}
#navbar{display:flex;align-items:center;gap:26px}
#navbar a{font-size:.93rem;font-weight:700;color:#304039}
#navbar a:hover,#navbar a.active{color:var(--green-700)}
.nav-button{background:var(--green-700)!important;color:#fff!important;padding:10px 18px;border-radius:999px}
.menu-toggle{display:none;border:0;background:none;font-size:1.8rem;cursor:pointer}

/* Hero */
.hero{
  min-height:820px;padding-top:82px;display:flex;align-items:center;
  position:relative;background:
    linear-gradient(90deg,rgba(8,31,21,.88),rgba(8,31,21,.52) 55%,rgba(8,31,21,.18)),
    url("images/gallery/farm.jpg") center/cover no-repeat;
}
.hero-content{position:relative;z-index:2;color:#fff;max-width:860px;padding:110px 0}
.hero-label{color:#d9efb9}
.hero h1{max-width:900px}
.hero-text{font-size:1.2rem;max-width:680px;color:rgba(255,255,255,.88)}
.hero-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}

/* About */
.about-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:80px;align-items:center}
.about-image{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.about-image img{aspect-ratio:4/3;object-fit:cover}
.about-highlights{display:grid;gap:16px}
.highlight-card{padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--cream)}
.highlight-number{display:block;font-size:2.2rem;font-weight:900;color:var(--green-700)}
.highlight-text{display:block;font-weight:700}

/* Purpose */
.purpose-section{background:var(--cream)}
.purpose-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.purpose-card{padding:42px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 35px rgba(16,45,31,.05)}
.purpose-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#e4f0d5;color:var(--green-700);font-weight:900;margin-bottom:24px}

/* Approach */
.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.approach-card{padding:42px;border-radius:var(--radius);border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.approach-card.ca{background:linear-gradient(135deg,#f1f8e8,#fff)}
.approach-card.vsla{background:linear-gradient(135deg,#eef6f2,#fff)}
.card-number{font-size:3rem;font-weight:900;color:var(--green-300);line-height:1;margin-bottom:20px}
.check-list{list-style:none;padding:0;margin:24px 0 0}
.check-list li{padding:8px 0 8px 28px;position:relative;color:#415048}
.check-list li:before{content:"✓";position:absolute;left:0;color:var(--green-700);font-weight:900}
.approach-note{margin-top:28px;padding:22px 26px;border-left:4px solid var(--green-500);background:var(--cream);border-radius:0 14px 14px 0}

/* Activities */
.activities-section{background:var(--cream)}
.activity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.activity-card{padding:32px;background:#fff;border:1px solid var(--line);border-radius:20px}
.activity-number{font-size:.8rem;font-weight:900;color:var(--green-700);letter-spacing:.1em}
.activity-card p{font-size:.95rem}

/* ================= IMPACT ================= */

.impact {
    padding: 100px 0;
    background: #214d35;
    color: white;
}


.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 50px;
}


.stat {
    text-align: center;
    padding: 25px;
    border-right: 1px solid rgba(255,255,255,0.15);
}


.stat strong {
    display: block;
    font-family: var(--font-heading);
    font-size: 48px;
    color: #b8d879;
}


.stat span {
    color: #d8e2db;
    font-size: 14px;
}


.impact-note {
    margin: 50px auto 0;
    max-width: 500px;
    text-align: center;
    padding: 25px;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 8px;
}


.impact-note strong {
    display: block;
    color: #b8d879;
    font-size: 28px;
}


.impact-note span {
    color: #d8e2db;
}


/* ================= HINGA ================= */

.hinga {
    padding: 100px 0;
    background: var(--cream);
}


.hinga-grid {
    display: grid;
    grid-template-columns: 1.3fr 0.7fr;
    gap: 80px;
    align-items: center;
}


.hinga-content p {
    color: var(--gray);
    max-width: 700px;
    margin-top: 20px;
}


.mini-stats {
    display: flex;
    gap: 40px;
    margin-top: 35px;
}


.mini-stats strong {
    display: block;
    font-size: 28px;
    color: var(--green);
}


.mini-stats span {
    display: block;
    font-size: 12px;
    color: var(--gray);
}


.hinga-highlight {
    background: var(--green-dark);
    color: white;
    padding: 45px;
    border-radius: 12px;
}


.quote-mark {
    font-family: Georgia, serif;
    font-size: 70px;
    color: #9fc66c;
    line-height: 0.6;
}


.hinga-highlight p {
    font-family: var(--font-heading);
    font-size: 24px;
    line-height: 1.4;
    margin: 25px 0;
}


.hinga-highlight span {
    font-size: 12px;
    color: #b8c9be;
}


/* Hinga */
.hinga-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.hinga-box{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hinga-stat{padding:25px;border-radius:18px;background:var(--cream);border:1px solid var(--line)}
.hinga-stat strong{display:block;font-size:2rem;color:var(--green-700)}
.hinga-stat span{font-size:.9rem;color:var(--muted)}

/* Scale */
.scale-section{background:var(--cream)}
.scale-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.scale-card{background:#fff;padding:34px;border-radius:20px;border:1px solid var(--line)}
.scale-icon{font-size:2rem;display:block;margin-bottom:15px}

/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gallery-item{position:relative;border-radius:20px;overflow:hidden;background:#ddd;cursor:pointer}
.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:.4s ease}
.gallery-item:hover img{transform:scale(1.04)}
.gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:22px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.78))}
.gallery-caption h3{font-size:1.1rem;margin:0}
.gallery-caption span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;opacity:.8}

/* News */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.news-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(16,45,31,.06)}
.news-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.news-content{padding:28px}
.news-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.news-category{font-size:.7rem;font-weight:900;letter-spacing:.12em;color:var(--green-700);text-transform:uppercase}
.news-date{font-size:.8rem;color:var(--muted)}
.news-card h3{font-size:1.25rem}
.news-card p{font-size:.94rem}

/* Article */
.article-list{display:grid;gap:50px}
.article{padding:44px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 12px 40px rgba(16,45,31,.06)}
.article-cover{width:100%;max-height:480px;object-fit:cover;border-radius:18px;margin-bottom:30px}
.article h2{font-size:clamp(2rem,4vw,3.2rem)}
.article h3{margin-top:28px}
.article ul{color:var(--muted);padding-left:22px}
.article li{margin:7px 0}

/* Page hero */
.page-hero{padding:170px 0 90px;background:var(--green-900);color:#fff}
.page-hero p{color:rgba(255,255,255,.78);max-width:720px;font-size:1.1rem}
.page-hero .section-label{color:#cce5a9}

/* Team/values */
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.value-card{padding:25px;border:1px solid var(--line);border-radius:18px;background:var(--cream);font-weight:800}

/* Social */
.social-section{background:var(--cream)}
.x-feed{max-width:720px;margin:auto;background:#fff;padding:18px;border-radius:18px;box-shadow:var(--shadow)}

/* CTA */
.cta{background:linear-gradient(120deg,var(--green-900),var(--green-700));color:#fff}
.cta p{color:rgba(255,255,255,.8);max-width:760px;margin:0 auto 28px}
.cta .section-label{color:#d8ecbb}

/* Contact */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:30px}
.contact-card{padding:30px;border:1px solid var(--line);border-radius:20px;background:var(--cream)}
.contact-icon{font-size:1.8rem;display:block;margin-bottom:15px}
.map-wrapper{border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
.map-button{text-align:center;margin-top:22px}

/* Footer */
.site-footer{background:#091b13;color:#fff;padding-top:70px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:45px;padding-bottom:55px}
.footer-brand img{width:220px;filter:brightness(1.08)}
.footer-brand p{color:rgba(255,255,255,.62);max-width:430px}
.footer-column{display:grid;align-content:start;gap:10px}
.footer-column h3{font-size:1rem;color:#dcebc9}
.footer-column a{color:rgba(255,255,255,.68)}
.footer-column a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0}
.footer-bottom .container{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer-bottom p{margin:0;font-size:.85rem;color:rgba(255,255,255,.5)}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:100;display:none;align-items:center;justify-content:center;padding:25px}
.lightbox.open{display:flex}
.lightbox img{max-height:88vh;max-width:92vw;border-radius:12px}
.lightbox button{position:absolute;top:18px;right:22px;border:0;background:none;color:#fff;font-size:2.5rem;cursor:pointer}

/* Responsive */
@media(max-width:1050px){
  #navbar{gap:15px}
  .activity-grid{grid-template-columns:repeat(2,1fr)}
  .values-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .menu-toggle{display:block}
  #navbar{
    display:none;position:absolute;top:82px;left:0;right:0;
    background:#fff;padding:20px;flex-direction:column;align-items:stretch;
    box-shadow:0 15px 35px rgba(0,0,0,.08)
  }
  #navbar.active{display:flex}
  .nav-button{text-align:center}
  .about-grid,.purpose-grid,.approach-grid,.hinga-grid{grid-template-columns:1fr}
  .impact-grid{grid-template-columns:repeat(2,1fr)}
  .impact-secondary{grid-template-columns:repeat(2,1fr)}
  .scale-grid,.news-grid,.contact-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .container{width:min(calc(100% - 28px),var(--container))}
  .section{padding:75px 0}
  .hero{min-height:720px}
  .hero-content{padding:80px 0}
  .logo img{width:175px}
  .activity-grid,.impact-grid,.impact-secondary,.gallery-grid,.values-grid{grid-template-columns:1fr}
  .hinga-box{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom .container{display:block}
}
