
:root{ --brand:#7b9e46; --brand-dark:#5a7332; --ink:#2a2a2a; }
*{ box-sizing: border-box; }
body{ font-family: 'DM Sans', system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif; color: var(--ink); }
h1,h2,h3,h4,h5,h6{ font-family: 'Merriweather', Georgia, serif; }
.topbar{ background: var(--brand-dark); }
.navbar .navbar-brand .brand-icon{ font-size:1.25rem; color: var(--brand); margin-right:.35rem; }
.btn-brand{ background: var(--brand); color:#fff; border:0; border-radius:.65rem; padding:.6rem 1rem; }
.btn-brand:hover{ background: var(--brand-dark); color:#fff; }
.hero{
  background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.55)), url('/assets/images/hero.jpg') center/cover no-repeat;
  color:#fff;
}
.hero .card{ background: rgba(255,255,255,.12); backdrop-filter: blur(4px); }
.section-title{ border-left: 6px solid var(--brand); padding-left:.75rem; }
.feature{ border-radius:1rem; border:1px solid #eee; padding:1.25rem; transition:.2s transform, .2s box-shadow; background:#fff; }
.feature:hover{ transform: translateY(-4px); box-shadow: 0 8px 28px rgba(0,0,0,.08); }
.badge-soft{ background: #e8f1d8; color: var(--brand-dark); }
.footer{ background: var(--brand-dark); color:#f5f5f5; }
.footer a{ color:#f5f5f5; }
.gallery-img{ width:100%; height:230px; object-fit:cover; border-radius:.75rem; }
.faq .accordion-button:not(.collapsed){ background:#f6f9f2; color: var(--ink); }
.sticky-cta{ position: sticky; top: 74px; }
.smallnote{ font-size:.925rem; color:#6b6b6b; }
