:root{
  --bg: #ffffff;
  --text: #12301a;
  --muted: #355c40;
  --brand-900:#0f3a22;
  --brand-700:#2f7a3e;
  --brand-500:#39a34c;
  --brand-300:#79c65f;
  --earth-700:#5b2d0b;
  --earth-500:#7a3d13;
  --card:#f5fbf6;
  --border:#d9eedf;
  --shadow: 0 18px 40px rgba(15,58,34,.12);
  --radius: 18px;
  --max: 1120px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  background: var(--bg);
  color: var(--text);
  line-height: 1.55;
}

a{color:var(--brand-700); text-decoration: none}
a:hover{text-decoration: underline}

.container{max-width:var(--max); margin: 0 auto; padding: 0 20px}

.skip-link{
  position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{left:20px; top:20px; width:auto; height:auto; padding:10px 14px; background:#fff; border:2px solid var(--brand-700); border-radius:10px; z-index:9999}

header{
  position: sticky; top:0; z-index:50;
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(217,238,223,.8);
}

.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding: 14px 0;
  gap: 18px;
}
.brand{
  display:flex; align-items:center; gap:12px; min-width: 220px;
}
.brand img{
  width:44px; height:44px; border-radius: 999px; object-fit: cover;
  border: 2px solid rgba(47,122,62,.18);
  background:#fff;
}
.brand .name{
  display:flex; flex-direction: column; line-height: 1.1;
}
.brand .name strong{font-size: 18px; letter-spacing:.2px}
.brand .name span{font-size: 12px; color: var(--muted)}
.navlinks{
  display:flex; gap: 18px; align-items:center; flex-wrap:wrap;
}
.navlinks a{
  font-weight: 600;
  font-size: 14px;          /* ↓ smaller text */
  color: var(--brand-900);
  padding: 8px 8px;         /* ↓ tighter spacing */
  border-radius: 10px;
  white-space: nowrap;     /* 🔑 prevents wrapping */
}
.navlinks a[aria-current="page"]{background: rgba(121,198,95,.18)}
.navlinks a:hover{background: rgba(121,198,95,.14); text-decoration:none}
.navcta{
  display:flex; align-items:center; gap:10px;
}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap: 10px;
  padding: 11px 14px;
  border-radius: 14px;
  border: 1px solid rgba(217,238,223,.9);
  background: #fff;
  color: var(--brand-900);
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(15,58,34,.08);
}
.btn:hover{transform: translateY(-1px); text-decoration:none}
.btn.primary{
  background: linear-gradient(135deg, var(--brand-700), var(--brand-500));
  color:#fff;
  border-color: transparent;
}
.btn.ghost{
  background: transparent;
  box-shadow:none;
}

.menu-btn{
  display:none;
  padding:10px 12px;
  border-radius: 14px;
  border:1px solid rgba(217,238,223,.9);
  background:#fff;
  font-weight: 800;
}

.hero{
  padding: 54px 0 24px;
  background:
    radial-gradient(1100px 500px at 10% 0%, rgba(121,198,95,.22), transparent 60%),
    radial-gradient(900px 500px at 90% 10%, rgba(91,45,11,.13), transparent 60%);
}
.hero-grid{
  display:grid;
  grid-template-columns: 1fr 300px;
  gap: 28px;
  align-items: center;
}
.kicker{
  display:inline-flex; align-items:center; gap:10px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(121,198,95,.18);
  border: 1px solid rgba(121,198,95,.28);
  color: var(--brand-900);
  font-weight: 800;
  font-size: 13px;
  letter-spacing:.2px;
}
h1{
  margin: 14px 0 10px;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.05;
  letter-spacing: -0.6px;
}
.lede{
  font-size: 18px;
  color: var(--muted);
  margin: 0 0 18px;
  max-width: 60ch;
}
.hero-actions{display:flex; gap: 12px; flex-wrap:wrap; margin-top: 14px}
.hero-card{
  background: rgba(245,251,246,.9);
  border:1px solid rgba(217,238,223,.95);
  border-radius: var(--radius);
  padding: 18px;
  box-shadow: var(--shadow);
}
.hero-card img{
  width: 100%;
  border-radius: 16px;
  border: 1px solid rgba(217,238,223,.9);
  background: #fff;
}
.badges{
  display:flex; gap: 10px; flex-wrap:wrap; margin-top: 12px;
}
.badge{
  font-size: 12px;
  font-weight: 800;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(217,238,223,.95);
  background: #fff;
  color: var(--brand-900);
}

.section{padding: 42px 0}
.section h2{
  font-size: 28px;
  margin: 0 0 10px;
}
.section p{color: var(--muted); margin: 0 0 14px; max-width: 78ch}

.grid-3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.card{
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 18px;
  box-shadow: 0 10px 28px rgba(15,58,34,.08);
}
.card h3{margin:0 0 6px; font-size: 18px}
.card p{margin:0; color: var(--muted)}
.card .mini{
  margin-top: 10px;
  font-size: 13px;
  color: var(--muted);
}

.split{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items: start;
}

.quote{
  border-left: 4px solid rgba(91,45,11,.55);
  padding: 10px 14px;
  background: rgba(91,45,11,.06);
  border-radius: 14px;
  color: var(--brand-900);
}
.quote .by{margin-top:6px; font-weight: 800; color: var(--earth-700)}

.list{
  margin: 12px 0 0;
  padding-left: 18px;
  color: var(--muted);
}
.list li{margin: 8px 0}

.footer{
  padding: 34px 0;
  border-top: 1px solid rgba(217,238,223,.9);
  background: rgba(245,251,246,.65);
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 18px;
  align-items:start;
}
.small{font-size: 12px; color: var(--muted)}
.footer a{font-weight: 800}

.form{
  display:grid;
  gap: 12px;
  margin-top: 10px;
}
.field{
  display:grid;
  gap: 6px;
}
label{font-weight: 800; font-size: 13px}
input, textarea{
  width:100%;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(217,238,223,.95);
  outline: none;
  font: inherit;
  background: #fff;
}
textarea{min-height: 120px; resize: vertical}
input:focus, textarea:focus{border-color: rgba(47,122,62,.55); box-shadow: 0 0 0 4px rgba(121,198,95,.18)}

hr.sep{
  border:0; height:1px; background: rgba(217,238,223,.95);
  margin: 18px 0;
}

@media (max-width: 920px){
  .hero-grid{grid-template-columns: 1fr; }
  .grid-3{grid-template-columns: 1fr;}
  .split{grid-template-columns: 1fr;}
  .navlinks, .navcta{display:none}
  .menu-btn{display:inline-flex}
  .nav.open .navlinks, .nav.open .navcta{
    display:flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
  .nav.open{flex-wrap: wrap}
  .nav.open .navlinks a{padding: 12px 12px}
}
