:root{--green:#173e2d;--dark:#0e2b20;--gold:#e7c26b;--cream:#f8f4ea;--ink:#23362d;--muted:#5e6b63}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:160px}body{margin:0;color:var(--ink);font:17px/1.65 Arial,sans-serif;background:#fff}a{color:inherit}button,input,textarea,select{font:inherit}a,button,input,select,textarea{outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,serif;line-height:1.12;font-weight:400}h1{font-size:clamp(2.7rem,4.6vw,4.8rem);letter-spacing:-.045em;margin-bottom:25px}h2{font-size:clamp(2.1rem,3.6vw,3.6rem);letter-spacing:-.03em;margin-bottom:24px}h3{font-size:1.55rem}p{margin-bottom:22px}.topline{background:var(--green);color:var(--cream);text-align:center;font-size:.75rem;letter-spacing:.16em;padding:9px 20px}header{position:sticky;top:0;z-index:10;background:#fff;display:flex;align-items:center;gap:30px;padding:10px 5%;border-bottom:1px solid #dce3dd}.brand{width:132px;height:132px;display:block;flex-shrink:0}.brand img{display:block;width:100%;height:100%;object-fit:contain}nav{display:flex;gap:25px;margin-left:auto}nav a{text-decoration:none;font-size:.9rem}.headercall{background:var(--green);color:white;padding:11px 18px;text-decoration:none;border-radius:4px;font-weight:bold;font-size:.9rem}.menu{display:none}.hero{display:grid;grid-template-columns:1.1fr 1fr;background:var(--cream);min-height:610px}.hero-copy{padding:78px 9% 65px 11%}.eyebrow{font-size:.75rem;font-weight:bold;letter-spacing:.15em;color:#64755e;margin-bottom:22px}.hero em{color:var(--green);font-style:normal}.lead{max-width:540px;color:var(--muted);font-size:1.1rem}.actions{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;justify-content:center;align-items:center;padding:14px 24px;border-radius:4px;text-decoration:none;font-weight:bold;border:1px solid transparent;cursor:pointer;font-size:1rem}.gold{background:var(--gold);color:var(--dark)}.green{background:var(--green);color:white}.outline{border-color:var(--green);color:var(--green)}.btn:hover{filter:brightness(.95)}.hero-note{font-size:.86rem;margin-top:24px}.hero-photo{margin:0;position:relative;display:flex;align-items:center;background:var(--cream);min-width:0}.hero-photo figcaption,.feature-photo figcaption{position:absolute;bottom:12px;right:12px;background:#fff;padding:3px 8px;border-radius:3px;font-size:.75rem;color:var(--ink)}.promise{display:flex;justify-content:space-around;gap:15px;background:var(--green);color:var(--cream);padding:24px 5%;font-family:Georgia;font-size:1.2rem}.section{padding:90px 7%;max-width:1500px;margin:auto}.section-head{display:flex;justify-content:space-between;gap:55px;align-items:end;margin-bottom:35px}.section-head>p{max-width:370px;color:var(--muted)}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #d3ded5;border-left:1px solid #d3ded5}.service{padding:30px 25px;border-right:1px solid #d3ded5;border-bottom:1px solid #d3ded5;display:flex;flex-direction:column}.number{font-size:.75rem;color:#7d8b80;margin-bottom:28px;letter-spacing:.12em}.service p{color:var(--muted);font-size:.95rem}.service a{font-size:.87rem;font-weight:bold;margin-top:auto;text-underline-offset:5px}.service:hover{background:var(--cream)}.estate-feature{display:grid;grid-template-columns:1fr 1fr;background:var(--cream)}.estate-feature>div:last-child{padding:70px 12%}.feature-photo{margin:0;position:relative;display:flex;align-items:center;background:var(--cream);min-width:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:40px}.steps b{color:#7f6c37;font-size:.8rem;letter-spacing:.1em;display:block;margin-bottom:20px}.steps p{color:var(--muted)}.pricing{display:grid;grid-template-columns:1fr 1fr;gap:90px;background:var(--green);color:var(--cream);max-width:none}.pricing .eyebrow{color:var(--gold)}.price-panel{background:#ffffff09;padding:35px;border:1px solid #ffffff35;border-radius:5px}.price-panel>div{display:flex;justify-content:space-between;padding:14px 0;gap:15px;border-bottom:1px solid #ffffff25}.price-panel strong{font-size:1.4rem;color:var(--gold)}.price-panel>p:last-child{font-size:.85rem;margin:22px 0 0;color:#d0dbd3}.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.partner-grid article{border-top:3px solid var(--gold);padding-top:25px}.partner-grid p{color:var(--muted)}.text-link{display:inline-block;font-weight:bold;text-underline-offset:6px;margin-top:15px}.areas{text-align:center;background:var(--cream);padding:70px 7%}.cities{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-bottom:24px}.cities a{border:1px solid #cdd6ce;padding:10px 18px;border-radius:3px;text-decoration:none;font-weight:bold}.faq{max-width:1050px}details{border-bottom:1px solid #d3ded5;padding:20px 0}summary{font-size:1.1rem;cursor:pointer;font-weight:bold}details p{padding:18px 0 0;color:var(--muted);margin:0}.quote{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:var(--cream);max-width:none}.big-phone{font-size:clamp(1.7rem,3vw,2.5rem);font-family:Georgia;text-decoration:none}.quote form{display:grid;gap:10px}.quote label{font-size:.9rem;font-weight:bold}.quote input,.quote select,.quote textarea{width:100%;padding:13px;border:1px solid #b8c6bb;border-radius:3px;background:white;color:var(--ink);margin-bottom:7px}.quote textarea{resize:vertical}.form-note,#fallback{font-size:.85rem;color:var(--muted);margin:5px 0}footer{text-align:center;background:var(--dark);color:var(--cream);padding:45px 20px}footer strong{font:2rem Georgia;letter-spacing:.08em}footer p{margin:10px 0}footer small{font-size:.75rem;color:#b9c8bd}.mobile-contact{display:none}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:15px;z-index:99;background:white;padding:15px}@media(max-width:1050px){nav{gap:15px}.headercall{display:none}.services{grid-template-columns:repeat(2,1fr)}.hero-copy{padding:55px 8%}.pricing{gap:40px}}@media(max-width:900px){html{scroll-padding-top:125px}.topline{font-size:.65rem;letter-spacing:.08em}header{padding:5px 6%;justify-content:space-between}.brand{width:110px;height:110px}.brand img{width:100%;height:100%;transform:none}.menu{display:block;background:white;border:1px solid #b9c8bd;padding:8px 14px;border-radius:3px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:20px 7%;box-shadow:0 8px 12px #0001}nav.open{display:flex;flex-direction:column;gap:16px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 7%}.hero-photo{min-height:0}.promise{flex-direction:column;text-align:center;gap:7px;padding:22px}.section{padding:55px 7%}.section-head{display:block}.services{grid-template-columns:1fr}.service{padding:25px}.number{margin-bottom:15px}.estate-feature,.pricing,.quote{grid-template-columns:1fr}.feature-photo{min-height:0}.estate-feature>div:last-child{padding:45px 7%}.steps,.partner-grid{grid-template-columns:1fr;gap:20px}.steps{margin-top:25px}.price-panel{padding:24px}.areas{padding:50px 7%}.quote{gap:30px}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:12;box-shadow:0 -2px 12px #0002}.mobile-contact a{width:50%;text-align:center;text-decoration:none;padding:14px;background:var(--green);color:white;font-weight:bold}.mobile-contact a:last-child{background:var(--gold);color:var(--dark)}footer{padding-bottom:100px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.footer-logo{display:block;width:180px;height:180px;object-fit:contain;margin:0 auto 20px;background:white}footer strong{display:block;font-family:Arial,sans-serif;font-weight:700;font-size:1.35rem;letter-spacing:.04em}.footer-tagline{color:var(--gold);font-weight:bold}

[hidden]{display:none!important}
img{max-width:100%;height:auto}
.hero-photo img,.feature-photo img{display:block;width:100%;height:auto;object-fit:contain}
.hero>*,.estate-feature>*,.quote>*,.pricing>*{min-width:0}
.cities a:hover,.cities a:focus-visible{background:var(--green);color:var(--cream)}
.cities a[aria-current="page"]{background:var(--green);color:var(--cream)}
.reuse{max-width:none;background:var(--cream)}
.reuse p{max-width:70ch;margin-bottom:0}
.town-hero{background:var(--cream);max-width:none}
.town-hero h1{max-width:22ch;font-size:clamp(2.2rem,4.6vw,4.2rem)}
.town-hero .lead{max-width:68ch}
.breadcrumb{font-size:.85rem;margin-bottom:28px}
.location-note,.service-note{font-size:.9rem;color:var(--muted)}
.town-guide{max-width:1050px}
.town-guide li{padding-left:8px;margin-bottom:16px}
#preparedRequest{border-top:1px solid #b8c6bb;margin-top:15px;padding-top:20px}
#preparedRequest .actions{gap:10px;align-items:center}
#preparedRequest .text-link{margin-top:0}
#requestText{margin-top:8px}
@media(max-width:900px){.hero-photo figcaption,.feature-photo figcaption{bottom:10px;right:10px}.town-hero h1{font-size:clamp(2.2rem,7vw,3.2rem)}}
@media(max-width:380px){.btn{padding:12px 18px}.big-phone{font-size:1.6rem}.topline{letter-spacing:0}.quote a[href^="mailto:"]{overflow-wrap:anywhere}.actions{gap:10px}}

.price-panel>div{flex-wrap:wrap}
button:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:900px){.mobile-contact a{padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}}
