:root{--bg:#f4f8f2;--dark:#1d3b24;--accent:#2f7a3b;--cta:#d9661f;--hi:#bfe3a7;--herobg:linear-gradient(135deg,#1f4a2a,#3d8a45)}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1d2a26;line-height:1.6;background:var(--bg);padding-bottom:64px}
a{color:var(--accent)}.topbar{background:var(--dark);color:#fff;font-size:.85rem;padding:.4rem 1rem;text-align:center}.topbar a{color:var(--hi);font-weight:700}
header{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border-bottom:1px solid #e3e8e6;position:sticky;top:0;z-index:5}
.logo{display:flex;align-items:center;gap:.5rem;font-weight:800;text-decoration:none;color:var(--dark);font-size:1.1rem}nav{display:none;gap:1rem}nav a{text-decoration:none;color:#334;font-weight:600}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:.6rem 1rem;border-radius:10px;text-decoration:none;font-weight:700;border:0;cursor:pointer;font-size:1rem}.btn.call{margin-left:auto;background:var(--cta)}.btn.big{font-size:1.15rem;padding:.9rem 1.3rem;background:var(--cta)}.btn.ghost{background:transparent;color:var(--dark);border:2px solid var(--dark)}
main{max-width:960px;margin:0 auto;padding:0 1rem}.hero{background:var(--herobg);color:#fff;margin:1rem -1rem;padding:2rem 1.25rem;border-radius:0}.hero h1{margin:.2rem 0 .5rem;font-size:1.9rem;line-height:1.2}.lead{font-size:1.05rem;opacity:.95}.cta{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.hero .btn.ghost{color:#fff;border-color:#fff}.disclose{font-size:.85rem;opacity:.85;margin:0}
.crumbs{font-size:.85rem;margin:.75rem 0 0;color:#667}article h2{color:var(--dark);margin-top:1.6rem}.cards{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:1rem 0}.card{background:#fff;border:1px solid #dfe6e3;border-radius:12px;padding:.8rem;text-decoration:none;color:var(--dark);display:flex;flex-direction:column}.card span{font-size:.85rem;color:var(--accent)}
.callout{background:#fff;border-left:5px solid var(--hi);padding:.8rem 1rem;border-radius:8px;margin:1rem 0}.faq details{background:#fff;border:1px solid #e1e7e4;border-radius:10px;padding:.7rem 1rem;margin:.5rem 0}.faq summary{font-weight:700;cursor:pointer}
.quote{background:#fff;border:2px solid var(--accent);border-radius:14px;padding:1.2rem;margin:2rem 0}.quote form{display:grid;gap:.7rem}.quote label{display:grid;font-weight:600;gap:.25rem}.quote input,.quote textarea{font:inherit;padding:.65rem;border:1px solid #c9d3cf;border-radius:8px}.small{font-size:.8rem;color:#667}
footer{background:var(--dark);color:#dfe;padding:1.5rem 1rem;margin-top:2rem}footer a{color:#fff}footer .cols{max-width:960px;margin:0 auto;display:grid;gap:1rem}footer ul{padding-left:1rem;margin:.3rem 0}footer h3{margin:.2rem 0;color:var(--hi)}footer .small{color:#bcd}
.sticky{position:fixed;bottom:0;left:0;right:0;background:var(--cta);color:#fff;text-align:center;padding:.9rem;font-weight:800;font-size:1.1rem;text-decoration:none;z-index:9}
@media(min-width:800px){nav{display:flex}.hero{margin:1.25rem 0;border-radius:16px;padding:2.5rem}.hero h1{font-size:2.5rem}.cards{grid-template-columns:repeat(3,1fr)}footer .cols{grid-template-columns:1fr 1fr 1.4fr}.sticky{display:none}body{padding-bottom:0}}
.hooks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:18px 0}
.hook{display:block;padding:14px 16px;border:1px solid #d6e4d2;border-left:5px solid #1f5130;border-radius:8px;background:#f6faf4;color:inherit;text-decoration:none}
.hook b{display:block;font-size:1.05em;margin-bottom:4px}.hook span{color:#1f5130;font-size:.95em}
.promise{background:#fffaf0;border:1px solid #ecdcb8;border-radius:10px;padding:6px 18px;margin:20px 0}
.hoods{background:#f4f6f8;border-radius:8px;padding:10px 14px}
.map{margin-top:16px}.map iframe{border-radius:8px;display:block}
.guide-meta{color:#666;font-size:.9em}

/* home v3 */
.hero-home{text-align:center;padding:2.5rem 1.25rem}.hero-home h1{font-size:2.2rem;line-height:1.1;letter-spacing:-.02em}.hero-home .lead{font-size:1.15rem;margin:.2rem 0 0}.hero-home .cta{justify-content:center}.hero-home .btn.big{font-size:1.3rem;padding:1rem 2rem;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.home h2{color:var(--dark);margin:1.8rem 0 .6rem;font-size:1.4rem}.home .hooks{grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.home .hook{padding:12px}.home .hook b{font-size:1rem}
.trust{display:grid;gap:10px;margin:1.2rem 0}.trust div{background:#fff;border-radius:12px;padding:12px 14px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;font-size:.92rem;color:#445;border:1px solid #dfe6e3}.trust span{grid-row:span 2;font-size:1.5rem}.trust b{color:var(--dark);font-size:1rem}
.quote{margin:1.5rem 0}.svc .card b{font-size:1.05rem}.areas{font-size:.92rem;background:#fff;border-radius:10px;padding:10px 14px;margin:1.2rem 0}
.gstrip{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.gstrip h2{width:100%}.gstrip a{background:#fff;border:1px solid #dfe6e3;border-radius:999px;padding:.45rem .9rem;text-decoration:none;font-weight:600}.safe{margin-top:1rem}
@media(max-width:420px){.hero-home h1{font-size:1.85rem}.home .hooks{grid-template-columns:1fr}}
@media(min-width:800px){.hero-home{padding:3.5rem 2rem}.hero-home h1{font-size:3.2rem}.home .hooks{grid-template-columns:repeat(4,1fr)}.trust{grid-template-columns:repeat(3,1fr)}}
/* Call Now + call-back modal */
.btn .ico,.sticky .ico{vertical-align:-3px;margin-right:.4rem}
.btn.hdr-quote{padding:.5rem .8rem;font-size:.9rem}
@media(max-width:799px){.btn.hdr-quote{display:none}}
.hero .btn.big.ghost{background:transparent;color:#fff;border:2px solid #fff;box-shadow:none}
.cbm{border:0;border-radius:16px;padding:1.5rem 1.25rem 1.25rem;max-width:440px;width:calc(100% - 2rem);box-shadow:0 20px 50px rgba(0,0,0,.35);opacity:0;transform:translateY(12px) scale(.98);transition:opacity .2s ease,transform .2s ease}
.cbm.in{opacity:1;transform:none}
.cbm::backdrop{background:rgba(10,20,15,.55)}
.cbm h2{margin:0 2rem .3rem 0;font-size:1.4rem;line-height:1.2}.cbm-sub{margin:0 0 .8rem;color:#444}
.cbm-x{position:absolute;top:.6rem;right:.6rem;width:40px;height:40px;border:0;border-radius:50%;background:#eef2f0;font-size:1.6rem;line-height:1;cursor:pointer}
.cbm form,.cb form{display:grid;gap:.6rem}.cbm label,.cb label{display:grid;gap:.25rem;font-weight:600}
.cbm input,.cbm textarea{font:inherit;padding:.65rem;border:1px solid #c9d2ce;border-radius:8px}
.cbm .btn.big{width:100%}
@media(max-width:599px){.cbm{margin:auto 0 0;max-width:none;width:100%;border-radius:18px 18px 0 0;transform:translateY(40px);padding-bottom:calc(1.25rem + env(safe-area-inset-bottom))}.cbm.in{transform:none}}
@media(prefers-reduced-motion:reduce){.cbm{transition:none}}
.cb-hero{text-align:center}.cb-dis{color:#555;font-size:.85rem}
/* v5 desktop revamp (>=800px only; mobile untouched) */
.hero-aside{display:none}
@media(min-width:800px){
:root{--wrap:1140px;--gut:max(1.5rem,calc((100% - var(--wrap))/2))}
.topbar{padding-inline:var(--gut)}
header{padding:.85rem var(--gut);gap:1.5rem}nav{gap:1.4rem;margin-left:auto}nav a{font-size:.95rem}nav a:hover{color:var(--accent)}header .btn.call{margin-left:0}
main{max-width:calc(var(--wrap) + 3rem);padding:0 1.5rem}
article,.faq{max-width:820px;width:100%}
article .cards{grid-template-columns:repeat(3,1fr)}article .hooks{grid-template-columns:repeat(2,1fr)}.hook{border-radius:12px}
main>.hero.cb-hero{text-align:center}.quote.cb form>label:nth-of-type(2){grid-column:auto}.quote.cb{margin-top:2.5rem}.cb-dis{text-align:center}
main{display:flex;flex-direction:column}main>.hero{order:-1}main>.crumbs{margin:1rem 0 0}
.hero,.hero-home{margin:0 calc(50% - 50vw);border-radius:0;padding:3rem max(1.5rem,calc((100vw - var(--wrap))/2));text-align:left}.hero-home{padding-block:4rem}.hero h1{font-size:2.6rem;max-width:860px}.hero .lead{max-width:760px}.hero .cta{justify-content:flex-start}
.hero-in{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;align-items:center}
.hero-home h1{font-size:3.3rem;margin-top:0}.hero-home .cta{justify-content:flex-start;margin:1.6rem 0 1.2rem}
.hero-aside{display:block;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:18px;padding:1.6rem 1.7rem;backdrop-filter:blur(4px)}
.ha-t{display:block;color:var(--hi);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;margin-bottom:.8rem}
.hero-aside ol{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;gap:1rem}
.hero-aside li{counter-increment:s;display:grid;grid-template-columns:2.4rem 1fr;column-gap:.9rem;opacity:.95}
.hero-aside li::before{content:counter(s);grid-row:span 2;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--cta);color:#fff;font-weight:800;display:grid;place-items:center}
.hero-aside li b{font-size:1.05rem}
.home h2{font-size:1.7rem;margin:2.6rem 0 1rem}
.home .hooks{grid-template-columns:repeat(4,1fr);gap:16px;margin:2.5rem 0 0}
.home .hook{padding:1.2rem 1.3rem;border-radius:14px;background:#fff;border:1px solid #dfe6e3;border-top:4px solid var(--accent);border-left:1px solid #dfe6e3;display:flex;flex-direction:column;gap:.4rem;transition:transform .15s,box-shadow .15s}
.home .hook:hover,.svc .card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(20,50,30,.12)}
.home .hook b{font-size:1.08rem;color:var(--dark)}.home .hook span{margin-top:0}
.trust{grid-template-columns:repeat(3,1fr);gap:16px;margin:16px 0 0}
.trust div{padding:1.1rem 1.3rem;align-items:start;font-size:.95rem}
.quote{width:100%;max-width:760px;margin:3rem auto;padding:2.5rem 2.75rem;border-radius:18px;border:0;border-top:5px solid var(--accent);box-shadow:0 10px 30px rgba(20,50,30,.1);background:#fff}
.quote>h2{text-align:center;font-size:2rem;margin:0 0 .3rem}.quote>p{text-align:center;margin:0 0 1.6rem;color:#445}
.quote form{grid-template-columns:1fr 1fr;gap:.9rem 1rem}
.quote form>label:nth-last-of-type(-n+2),.quote form>button,.quote form>p,.quote form>div{grid-column:1/-1}
.quote select{font:inherit;padding:.65rem;border:1px solid #c9d3cf;border-radius:8px;background:#fff}
.quote form>button{width:100%}
.cards{gap:16px}.svc .card{padding:1.1rem 1.3rem;transition:transform .15s,box-shadow .15s}
.areas{padding:1rem 1.3rem}
footer{padding:2.5rem var(--gut)}footer .cols{max-width:none}
/* modal */
.cbm{padding:0;max-width:560px;border-radius:20px;overflow:hidden;box-shadow:0 30px 80px rgba(10,30,15,.45)}
.cbm::backdrop{background:rgba(15,35,20,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.cbm-head{background:var(--herobg);color:#fff;padding:1.6rem 4rem 1.3rem 1.8rem}
.cbm-head h2{margin:0 0 .3rem;color:#fff;font-size:1.5rem}.cbm-head .cbm-sub{color:#e6f3e0;margin:0}
.cbm-x{top:1rem;right:1rem;background:rgba(255,255,255,.18);color:#fff}.cbm-x:hover{background:rgba(255,255,255,.3)}
.cbm form{padding:1.5rem 1.8rem 1.8rem;grid-template-columns:1fr 1fr;gap:.9rem 1rem}
.cbm form>label:nth-of-type(3),.cbm form>button,.cbm form>p{grid-column:1/-1}
.cbm input:focus,.cbm textarea:focus,.quote input:focus,.quote textarea:focus,.quote select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
}

.answer{background:#fff;border-left:5px solid var(--accent);border-radius:10px;padding:.9rem 1.1rem;margin:1.2rem 0;font-size:1.05rem}
