:root{--soil:#43301f;--clay:#7a5233;--sod:#3f7a2e;--sod2:#5fa046;--cream:#f6efe1;--sun:#e9b949}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Work Sans",system-ui,sans-serif;background:var(--cream);color:var(--soil);line-height:1.6;font-size:16.5px}
a{color:inherit}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
h1,h2,h3,.badge,.card-phone{font-family:"Zilla Slab",Georgia,serif}
.hdr{background:var(--soil);color:var(--cream)}
.hdr-in{display:flex;justify-content:space-between;align-items:center;padding:12px 20px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:13px;line-height:1.1;text-transform:uppercase;letter-spacing:.08em}
.badge{background:var(--sod2);color:#fff;font-size:22px;padding:4px 10px;border-radius:6px;letter-spacing:0}
.hdr-call{text-decoration:none;font-weight:700;color:var(--sun)}
.hero{padding:40px 0 56px;background:linear-gradient(180deg,var(--cream),#efe2c8)}
.hero-in{display:grid;gap:32px}
.loc{font-weight:700;color:var(--sod);text-transform:uppercase;letter-spacing:.1em;font-size:13px}
h1{font-size:clamp(38px,8.5vw,64px);line-height:1.04;margin:8px 0 16px}
.lede{font-size:18px;max-width:30em}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 14px}
.btn{display:inline-block;padding:14px 22px;border-radius:999px;font-weight:700;text-decoration:none}
.btn.primary{background:var(--sod);color:#fff}
.btn.secondary{border:2px solid var(--soil)}
.btn.full{display:block;text-align:center;margin-top:16px}
.rate{font-weight:700;color:var(--clay)}
.strata{width:100%;border-radius:18px;box-shadow:0 18px 40px rgba(67,48,31,.25)}
.svc{padding:60px 0;background:var(--soil);color:var(--cream)}
h2{font-size:clamp(30px,6vw,44px);line-height:1.1;margin-bottom:26px}
h2 span{display:block;font-family:"Work Sans",sans-serif;font-size:15px;color:var(--clay);font-weight:700;margin-top:6px}
.svc-grid{display:grid;gap:14px}
.svc-grid article{border:1px solid rgba(246,239,225,.2);border-top:6px solid var(--sod2);border-radius:10px;padding:20px;background:rgba(255,255,255,.04)}
.svc-grid h3{font-size:22px;color:var(--sun);margin-bottom:4px}
.rev{padding:60px 0}
.rev-grid{display:grid;gap:18px}
.rev figure{background:#fff;border-radius:14px;padding:22px;box-shadow:0 4px 0 var(--sod2)}
.rev blockquote{font-size:16.5px}
.rev figcaption{margin-top:12px;font-weight:700;color:var(--sod)}
.rev figcaption::after{content:" ★★★★★";color:var(--sun)}
.area{padding:56px 0 80px;background:#efe2c8}
.area-in{display:grid;gap:28px}
.towns{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.towns li{background:var(--sod);color:#fff;padding:8px 16px;border-radius:999px;font-weight:700}
.card{background:#fff;border-radius:16px;padding:26px;border:2px solid var(--soil)}
.card-h{text-transform:uppercase;letter-spacing:.1em;font-size:13px;font-weight:700;color:var(--clay)}
.card-phone{display:block;font-size:38px;font-weight:700;text-decoration:none;margin:4px 0}
.card-mail{word-break:break-all;color:var(--sod);font-weight:500}
.foot{background:var(--soil);color:var(--cream);text-align:center;padding:24px 0 84px;font-size:14px}
.foot small{display:block;font-size:12px;opacity:.7;margin-top:4px}
.mob-bar{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;z-index:9}
.mob-bar a{padding:16px;text-align:center;font-weight:700;text-decoration:none;color:#fff;background:var(--sod)}
.mob-bar a+a{background:var(--clay)}
@media(min-width:840px){
  .hero-in{grid-template-columns:1.1fr .9fr;align-items:center}
  .svc-grid{grid-template-columns:repeat(4,1fr)}
  .rev-grid{grid-template-columns:1fr 1fr}
  .area-in{grid-template-columns:1fr 1fr;align-items:center}
  .mob-bar{display:none}
  .foot{padding-bottom:24px}
}
