
:root{
  --bg:#fffdf9;
  --ink:#1b1b1b;
  --muted:#6b6b6b;
  --brand:#6f8f72;
  --brand-2:#caa27a;
  --card:#ffffff;
  --shadow: 0 10px 25px rgba(0,0,0,0.06);
  --radius: 18px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
a{color:var(--brand);text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1100px,90%);margin-inline:auto}
/* Header */
header{position:sticky;top:0;background:rgba(255,253,249,.8);backdrop-filter:saturate(180%) blur(10px);z-index:10;border-bottom:1px solid #eee}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0}
.brand{display:flex;gap:.75rem;align-items:center}
.brand .logo{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand-2));box-shadow:var(--shadow);overflow:hidden}
.brand .logo img{width:100%;height:100%;object-fit:cover}
.brand h1{font-family:'Playfair Display',serif;font-size:1.1rem;letter-spacing:.3px;margin:0}
nav ul{display:flex;gap:1.1rem;list-style:none;margin:0;padding:0}
nav a{font-weight:600}
.cta{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-radius:999px;background:var(--brand);color:#fff;font-weight:700}
.cta.outline{background:transparent;color:var(--brand);border:2px solid var(--brand)}
/* Hero */
.hero{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;padding:4rem 0}
.hero::before{content:"";position:absolute;inset:-30% -10% auto auto;background:radial-gradient(800px 400px at 80% 0%,rgba(111,143,114,.15),transparent);z-index:-1}
.badge{display:inline-block;padding:.35rem .7rem;border-radius:999px;background:#f0f7f1;color:#2f5534;font-weight:700;font-size:.8rem;border:1px solid #e1efe3}
.hero h2{font-family:'Playfair Display',serif;margin:.7rem 0 1rem;line-height:1.1;font-size:clamp(2rem,5vw,3.2rem)}
.lead{color:var(--muted);font-size:1.05rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.3rem}
.card-hero{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--card)}
.card-hero img{height:360px;object-fit:cover}
.pill{display:inline-block;background:#fff;border:1px dashed #d6e2d8;color:#2f5534;border-radius:999px;padding:.4rem .7rem;font-size:.85rem}
/* Feature grid */
.section{padding:3.5rem 0}
.section h3{font-family:'Playfair Display',serif;font-size:2rem;margin:.2rem 0 1rem}
.kicker{text-transform:uppercase;color:var(--brand);font-weight:800;letter-spacing:.1em;font-size:.8rem}
.grid{display:grid;gap:1.3rem}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
.tile{background:var(--card);border:1px solid #eee;border-radius:var(--radius);padding:1.2rem;box-shadow:var(--shadow)}
.tile h4{margin:.2rem 0 .5rem}
.tile p{color:var(--muted);margin:0}
.chip{display:inline-block;padding:.25rem .55rem;border-radius:999px;background:#f6efe6;color:#7a5433;font-weight:700;font-size:.75rem}
/* Reasons */
.reasons{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.reason{display:flex;gap:1rem;align-items:flex-start}
.icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand-2));display:grid;place-items:center;color:white;font-weight:900;box-shadow:var(--shadow)}
/* Testimonials */
.quotes{display:grid;gap:1rem}
.quote{background:var(--card);border:1px solid #eee;border-radius:var(--radius);padding:1.2rem;box-shadow:var(--shadow)}
.quote p{margin:.2rem 0;color:#3d3d3d}
.quote .name{font-weight:800;color:#2b2b2b}
/* Newsletter */
.newsletter{background:linear-gradient(180deg,#f7faf7,transparent);border:1px solid #e7efe8;border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}
.newsletter form{display:flex;gap:.7rem;flex-wrap:wrap}
.newsletter input{flex:1;min-width:220px;border:1px solid #d9e5db;border-radius:999px;padding:.7rem .9rem;font-size:1rem}
/* Footer */
footer{border-top:1px solid #eee;padding:2rem 0;margin-top:2rem;color:var(--muted)}
/* Responsive */
@media (max-width: 900px){
  .hero{grid-template-columns:1fr;}
  .grid.cols-3{grid-template-columns:1fr 1fr}
  .reasons{grid-template-columns:1fr}
}
@media (max-width: 640px){
  nav ul{display:none}
  .grid.cols-3{grid-template-columns:1fr}
}
