
*{box-sizing:border-box;margin:0;padding:0}
:root{--forest:#1d3327;--forest-deep:#101f17;--brass:#b3872f;--brass-light:#d3ab4e;--cream:#faf6ec;--cream-2:#f1e9d6;--ink:#2a322c;--muted:#6b7263;--line:#ddd0b4;--card:#fffdf7}
body{font-family:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);line-height:1.7;background:var(--cream);font-size:17px;-webkit-font-smoothing:antialiased}
h1,h2,h3,.serif{font-family:"Playfair Display",Georgia,"Times New Roman",serif;font-weight:600;line-height:1.25}
a{color:#2c5c43}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.eyebrow{font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--brass);font-weight:700;margin-bottom:14px}
.rule-double{border:0;border-top:4px double var(--brass);margin:26px auto;max-width:220px}
.topbar{background:var(--forest-deep);color:#e9e2cf;padding:9px 0;font-size:14px;letter-spacing:.04em}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.topbar .locale{font-style:italic;font-family:"Playfair Display",Georgia,serif}
.topbar a.call{color:var(--brass-light);font-weight:700;text-decoration:none;border:1px solid var(--brass);padding:7px 18px;border-radius:3px;white-space:nowrap;letter-spacing:.06em;font-size:13px;text-transform:uppercase}
.topbar a.call:hover{background:var(--brass);color:var(--forest-deep)}
.brand{font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:23px;letter-spacing:.02em}
.brand span{color:var(--brass)}
header.site{background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(179,135,47,.35)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;gap:12px;flex-wrap:wrap}
nav.main a{margin:0 11px;text-decoration:none;color:var(--ink);font-weight:600;font-size:15px;letter-spacing:.02em}
nav.main a:hover{color:var(--brass)}
.btn{display:inline-block;background:var(--brass);color:var(--forest-deep);font-weight:700;padding:15px 32px;border-radius:3px;text-decoration:none;font-size:17px;letter-spacing:.05em;text-transform:uppercase;border:1px solid #8a6420;cursor:pointer;box-shadow:0 2px 8px rgba(16,31,23,.25)}
.btn:hover{background:var(--brass-light)}
.btn.forest{background:var(--forest);color:var(--cream);border-color:var(--forest-deep)}
.btn.forest:hover{background:#274434}
.hero{background:var(--forest);color:#f4efe1;padding:72px 0}
.hero.has-img{background-size:cover;background-position:center;position:relative}
.hero.has-img::before{content:"";position:absolute;inset:0;background:rgba(16,31,23,.8)}
.hero.has-img .wrap{position:relative}
.hero h1{font-size:clamp(32px,5vw,50px);margin-bottom:6px;color:#fdfaf1;font-weight:600}
.hero p.lead{font-size:19px;max-width:660px;opacity:.94;margin:14px 0 28px;font-weight:400}
.hero .cta-row{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.hero .ghost{font-size:16px;font-weight:600;color:#f4efe1;text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--brass-light)}
section{padding:52px 0}
section.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
h2{font-size:clamp(26px,3.5vw,34px);margin-bottom:14px;color:var(--forest)}
h3{font-size:21px;margin:24px 0 8px;color:var(--forest)}
p{margin-bottom:14px}
ul.tight{margin:0 0 16px 22px}
ul.tight li{margin-bottom:8px}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.fig{background:#fff;border:1px solid var(--line);padding:10px;box-shadow:0 6px 22px rgba(16,31,23,.12)}
.fig img{display:block;width:100%;height:auto}
.fig figcaption{font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:14.5px;color:var(--muted);padding:10px 4px 2px;text-align:center}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:22px}
.card{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--brass);border-radius:2px;padding:26px 24px;box-shadow:0 3px 12px rgba(16,31,23,.06)}
.card h3{margin-top:0;font-size:21px}
.card p{color:var(--muted);font-size:15.5px}
.card a.more{font-weight:700;text-decoration:none;color:var(--brass)}
.card a.more:hover{color:#8a6420}
.cta-band{background:var(--forest);color:#f4efe1;border-radius:3px;padding:44px 32px;text-align:center;margin:24px 0;position:relative;border:1px solid var(--brass)}
.cta-band::after{content:"";position:absolute;inset:7px;border:1px solid rgba(211,171,78,.55);border-radius:2px;pointer-events:none}
.cta-band h2{color:#fdfaf1}
.cta-band p{opacity:.92;max-width:620px;margin:0 auto 24px}
.town-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:18px}
.town-grid a{background:var(--card);border:1px solid var(--line);border-radius:2px;padding:14px;text-align:center;font-weight:600;text-decoration:none;color:var(--forest);font-family:"Playfair Display",Georgia,serif;font-size:17px}
.town-grid a:hover{border-color:var(--brass);color:#8a6420;box-shadow:0 2px 8px rgba(16,31,23,.08)}
.faq{background:var(--card);border:1px solid var(--line);border-radius:2px;padding:30px;margin-top:10px}
.faq h3{font-size:19px}
footer{background:var(--forest-deep);color:#cfc7ae;padding:44px 0 30px;font-size:14.5px;margin-top:40px;border-top:4px double var(--brass)}
footer a{color:#f4efe1}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px}
footer h4{color:var(--brass-light);margin-bottom:12px;font-size:15px;letter-spacing:.14em;text-transform:uppercase;font-family:"Source Sans 3",sans-serif;font-weight:700}
footer ul{list-style:none}
footer ul li{margin-bottom:7px}
footer .photo-credit{font-size:12.5px;opacity:.55;font-style:italic;margin-top:6px}
.sticky-cta{display:none}
form.quote{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--brass);border-radius:2px;padding:34px;max-width:660px;box-shadow:0 6px 24px rgba(16,31,23,.1)}
form.quote label{display:block;font-weight:700;margin:18px 0 6px;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--forest)}
form.quote input,form.quote select,form.quote textarea{width:100%;padding:13px;border:1px solid #c9bfa4;border-radius:2px;font-size:16px;font-family:inherit;background:#fff;color:var(--ink)}
form.quote input:focus,form.quote select:focus,form.quote textarea:focus{outline:2px solid var(--brass-light);border-color:var(--brass)}
form.quote textarea{min-height:110px}
.free-note{font-size:14px;color:var(--muted);font-style:italic;margin:4px 0 0;text-align:center}
.breadcrumb{font-size:14px;color:var(--muted);margin-bottom:16px;letter-spacing:.03em}
.breadcrumb a{color:var(--muted)}
.calc{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--brass);border-radius:2px;padding:34px;max-width:780px;box-shadow:0 6px 24px rgba(16,31,23,.1)}
.calc-step{margin-bottom:28px}
.calc-step h3{margin:0 0 14px}
.opt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.opt{border:1px solid #c9bfa4;border-radius:2px;padding:18px 12px;text-align:center;cursor:pointer;font-weight:600;color:var(--forest);background:#fff;transition:border-color .15s,background .15s,box-shadow .15s}
.opt:hover{border-color:var(--brass);box-shadow:0 2px 8px rgba(179,135,47,.25)}
.opt.sel{border-color:var(--brass);border-width:2px;background:#fbf4e2;box-shadow:inset 0 0 0 1px var(--brass)}
.opt small{display:block;font-weight:400;color:var(--muted);font-size:13px;margin-top:4px}
.calc-result{display:none;border:1px solid var(--brass);background:#fbf4e2;border-radius:2px;padding:30px;margin-top:8px;position:relative}
.calc-result::before{content:"";position:absolute;top:6px;left:6px;right:6px;bottom:6px;border:1px solid rgba(179,135,47,.4);pointer-events:none}
.calc-result.show{display:block}
.calc-result .range{font-family:"Playfair Display",Georgia,serif;font-size:clamp(32px,5vw,46px);font-weight:700;color:var(--forest);margin:8px 0}
.calc-result ul{margin:10px 0 10px 20px;color:var(--muted);font-size:15px}
.calc-note{font-size:13.5px;color:var(--muted);margin-top:12px}
.how3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:20px}
.how3 .card{text-align:left}
.how3 .n{display:inline-block;background:var(--forest);color:var(--brass-light);width:36px;height:36px;border-radius:50%;text-align:center;line-height:36px;font-weight:700;margin-bottom:12px;font-family:"Playfair Display",Georgia,serif;border:1px solid var(--brass)}
.success{display:none;background:#eef5ec;border:1px solid #4a7a5c;border-radius:2px;padding:22px;margin-bottom:20px}
.success.show{display:block}
@media(max-width:700px){
.split{grid-template-columns:1fr}
.sticky-cta{display:block;position:fixed;bottom:0;left:0;right:0;background:var(--brass);text-align:center;padding:14px;font-weight:800;font-size:18px;z-index:100;border-top:2px solid #8a6420}
.sticky-cta a{color:var(--forest-deep);text-decoration:none;display:block;letter-spacing:.04em}
body{padding-bottom:64px}
nav.main{width:100%}
}
