:root{--green:#2B4D35;--green-dark:#1F3826;--cream:#FDF9F0;--cream-2:#F1EAD8;--ink:#1d2a20;--line:#d9d0b8}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:18px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--green)}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
.narrow{max-width:720px}
.skip{position:absolute;left:-999px;top:0;background:var(--green);color:var(--cream);padding:.5rem 1rem;z-index:10}
.skip:focus{left:0}

.site-header{background:var(--cream);border-bottom:3px solid var(--green);position:sticky;top:0;z-index:5}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;padding-bottom:8px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--green)}
.brand img{width:64px;height:64px}
.brand-name{font-weight:800;font-size:1.05rem;line-height:1.15;letter-spacing:.02em;text-transform:uppercase}

.btn{display:inline-block;padding:.75rem 1.2rem;border-radius:6px;font-weight:700;text-decoration:none;text-align:center;line-height:1.2;border:2px solid var(--green)}
.btn-call{background:var(--green);color:var(--cream)}
.btn-call:hover,.btn-call:focus{background:var(--green-dark)}
.btn-alt{background:transparent;color:var(--green)}
.btn-alt:hover,.btn-alt:focus{background:var(--cream-2)}
a:focus-visible,.btn:focus-visible{outline:3px solid #b8892b;outline-offset:2px}

.hero{background:var(--green);color:var(--cream);padding:56px 0 60px}
.hero h1{margin:0 0 .6rem;font-size:2.5rem;line-height:1.1}
.lead{font-size:1.3rem;max-width:36rem;margin:0 0 1.6rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:0}
.hero .btn-call{background:var(--cream);color:var(--green);border-color:var(--cream)}
.hero .btn-call:hover,.hero .btn-call:focus{background:var(--cream-2)}
.hero .btn-alt{color:var(--cream);border-color:var(--cream)}
.hero .btn-alt:hover,.hero .btn-alt:focus{background:var(--green-dark)}

section{padding:52px 0}
section.alt{background:var(--cream-2)}
h2{margin:0 0 1rem;font-size:1.8rem;line-height:1.2;color:var(--green)}
h3{margin:2rem 0 .8rem;font-size:1.2rem;color:var(--green-dark)}
h2+h3{margin-top:0}

.services{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.services li{background:#fff;border:1px solid var(--line);border-left:6px solid var(--green);padding:16px 18px;border-radius:4px}
.services strong{display:block;color:var(--green);font-size:1.15rem}

.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
figure{margin:0}
figure a{display:block}
figure img{width:100%;border-radius:4px;background:var(--line)}
figure img.portrait{aspect-ratio:3/4}
figure img.wide{aspect-ratio:4/3}
figure img[src*="house-"]{aspect-ratio:1600/1061}
figcaption{font-size:.95rem;margin-top:.4rem;color:#3d4a3f}

.counties{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.counties li{background:var(--green);color:var(--cream);padding:.5rem 1rem;border-radius:999px;font-weight:600}
.counties li::after{content:" County"}

address{font-style:normal}
address p{margin:0 0 1rem}

.cta{background:var(--green);color:var(--cream);padding:40px 0;text-align:center}
.cta p{margin:0;font-size:1.4rem;font-weight:700;line-height:1.35}
.cta a{color:var(--cream)}

@media (max-width:700px){
  body{font-size:17px}
  .brand img{width:52px;height:52px}
  .brand-name{font-size:.85rem}
  .btn-call{padding:.7rem .9rem;font-size:.95rem}
  .hero{padding:40px 0 44px}
  .hero h1{font-size:2rem}
  .lead{font-size:1.15rem}
  .hero-actions .btn{flex:1 1 100%}
  section{padding:40px 0}
  .services{grid-template-columns:1fr}
  .g2,.g3{gap:10px}
  .g3{grid-template-columns:repeat(2,1fr)}
  .g3 figure:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 5px);justify-self:center}
  .g2:has(img[src*="house-"]){grid-template-columns:1fr}
  .cta p{font-size:1.2rem}
}
@media (max-width:360px){.brand-name{display:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
