:root {
  --bg:#f7f4ee;
  --panel:#ffffff;
  --soft:#e7f0e8;
  --text:#243127;
  --muted:#647064;
  --accent:#5b7f63;
  --accent2:#d8c48b;
  --line:#e1ded4;
  --white:#ffffff;
}
* { box-sizing:border-box; }
body { margin:0; font-family:Arial, Helvetica, sans-serif; background:var(--bg); color:var(--text); line-height:1.6; }
a { color:inherit; }
.wrap { width:min(1120px, calc(100% - 32px)); margin:0 auto; }
.site-header { background:rgba(255,255,255,.92); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:10; backdrop-filter:blur(8px); }
.navrow { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:13px 0; }
.brand img { display:block; width:210px; max-width:48vw; height:auto; }
.menu { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.menu a { text-decoration:none; padding:9px 12px; border-radius:999px; color:var(--muted); font-size:14px; }
.menu a.active, .menu a:hover { background:var(--soft); color:var(--text); }
.hero { padding:58px 0 34px; }
.hero-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:34px; align-items:center; }
.eyebrow { display:inline-flex; padding:6px 12px; background:var(--soft); border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:13px; }
h1 { font-size:clamp(34px, 6vw, 64px); line-height:1.03; margin:18px 0; letter-spacing:-1.4px; }
h2 { font-size:clamp(25px, 3vw, 38px); line-height:1.18; margin:0 0 12px; letter-spacing:-.5px; }
h3 { margin:0 0 8px; font-size:20px; }
.lead { font-size:19px; color:var(--muted); max-width:720px; }
.hero img, .feature-image img { width:100%; height:auto; border-radius:28px; box-shadow:0 24px 60px rgba(32,40,54,.13); border:1px solid var(--line); }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.btn { display:inline-flex; text-decoration:none; padding:12px 18px; border-radius:14px; background:var(--accent); color:#fff; font-weight:700; }
.btn.alt { background:var(--white); color:var(--text); border:1px solid var(--line); }
.section { padding:38px 0; }
.panel { background:var(--panel); border:1px solid var(--line); border-radius:28px; padding:28px; box-shadow:0 16px 38px rgba(30,42,62,.07); }
.grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.grid2 { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; align-items:start; }
.card { background:#fff; border:1px solid var(--line); border-radius:22px; padding:22px; }
.card p, .panel p { color:var(--muted); }
.steps { counter-reset:item; display:grid; gap:14px; }
.step { position:relative; padding:18px 18px 18px 58px; background:#fff; border-radius:20px; border:1px solid var(--line); }
.step:before { counter-increment:item; content:counter(item); position:absolute; left:18px; top:18px; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; background:var(--accent2); font-weight:700; }
.breadcrumb { font-size:14px; color:var(--muted); padding-top:24px; }
.breadcrumb a { text-decoration:none; }
.faq details { background:#fff; border:1px solid var(--line); border-radius:18px; padding:16px 18px; margin:10px 0; }
.faq summary { cursor:pointer; font-weight:700; }
.site-footer { margin-top:44px; background:#fff; border-top:1px solid var(--line); padding:34px 0 18px; }
.footer-grid { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:24px; }
.footer-grid p { color:var(--muted); margin:7px 0; }
.footer-grid a { color:var(--muted); text-decoration:none; }
.legal-line { display:flex; justify-content:space-between; gap:14px; color:var(--muted); font-size:13px; border-top:1px solid var(--line); margin-top:22px; padding-top:16px; }
.small { font-size:14px; }
@media (max-width:820px) {
  .navrow, .legal-line { flex-direction:column; align-items:flex-start; }
  .menu { justify-content:flex-start; }
  .hero-grid, .grid2, .grid3, .footer-grid { grid-template-columns:1fr; }
  .hero { padding-top:36px; }
  .panel { padding:22px; }
}