:root{--g:#1f4d2b;--gd:#143820;--o:#f7f4ec;--a:#2f9a3f;--leaf:#39b54a;--t:#22302a}
*{box-sizing:border-box}body{margin:0;font-family:Inter,"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;color:var(--t);background:var(--o);line-height:1.6}
a{color:var(--g)}h1,h2,h3{line-height:1.2;color:var(--gd)}h2{font-size:2rem;margin:0 0 .5em}
.wrap{max-width:1140px;margin:auto;padding:0 20px}section{padding:64px 0}.alt{background:#ece7da}
.hdr{background:#fff;position:sticky;top:0;z-index:9;box-shadow:0 1px 6px #0001}.row{display:flex;align-items:center;gap:24px;height:70px}
.logo{font-weight:800;font-size:1.35rem;text-decoration:none;color:var(--g);letter-spacing:-.02em}.logo{display:flex;align-items:center;gap:10px}.logo img{height:52px;width:auto}.logo span{color:var(--leaf)}.flogo{height:150px;width:auto}.logo.light{color:#fff}
nav{display:flex;gap:20px;margin-left:auto}nav a{text-decoration:none;color:var(--t);font-weight:500}nav a:hover{color:var(--leaf)}
.hcta{display:flex;gap:12px;align-items:center}.phone{font-weight:700;text-decoration:none}
.btn{display:inline-block;background:var(--g);color:#fff;padding:13px 24px;border-radius:8px;text-decoration:none;font-weight:600;border:0;font-size:1rem;cursor:pointer}
.btn.acc{background:var(--a)}.btn.ghost{background:transparent;border:2px solid #fff}.btn.sm{padding:9px 16px}
.hero{background:linear-gradient(120deg,var(--gd),var(--g));color:#fff;padding:110px 0}.hero h1{color:#fff;font-size:3rem;max-width:760px;margin:0 0 16px}.hero p{font-size:1.2rem;max-width:620px;opacity:.9}.hero.small{padding:70px 0}.hero.small h1{font-size:2.5rem}
.trust{background:#fff;padding:28px 0}.trust strong{display:block;color:var(--g);font-size:1.15rem}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 10px #0000000d;margin:0}.svc{text-decoration:none;color:inherit}.svc:hover{transform:translateY(-3px)}.more{color:var(--a);font-weight:600}
blockquote cite{font-weight:700;color:var(--g);font-style:normal}
.ph{background:repeating-linear-gradient(45deg,#dfe8de,#dfe8de 10px,#d4e0d3 10px,#d4e0d3 20px);border:2px dashed #7a9a80;border-radius:10px;display:flex;align-items:center;justify-content:center;text-align:center;color:#3c5a43;font-weight:600;padding:12px;margin-bottom:12px}
.tag{background:#fff3cd;color:#7a5600;padding:2px 6px;border-radius:4px;font-size:.9rem;display:inline-block}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.lead{font-size:1.1rem;margin-bottom:28px}
.checks{list-style:none;padding:0}.checks li{padding-left:28px;position:relative;margin:8px 0}.checks li:before{content:"✓";position:absolute;left:0;color:var(--leaf);font-weight:700}
.cta{background:var(--g);color:#fff;text-align:center}.cta h2{color:#fff}
form label{display:block;margin:10px 0;font-weight:500}form input:not([type=checkbox]),textarea{width:100%;padding:11px;border:1px solid #ccc;border-radius:6px;font:inherit}fieldset{border:1px solid #ddd;border-radius:6px}fieldset label{display:inline-block;margin:4px 12px 4px 0;font-weight:400}.big{font-size:1.8rem;font-weight:800}
.ftr{background:var(--gd);color:#d7e2d6;padding:48px 0 20px}.ftr a{color:#fff}.ftr h4{color:#fff}.ftr ul{list-style:none;padding:0}.fg{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}.copy{border-top:1px solid #ffffff22;margin-top:24px;padding-top:16px;font-size:.9rem}
.stickycall{display:none}
@media(max-width:860px){nav,.hcta .phone{display:none}.hcta{margin-left:auto}.grid3,.grid2,.split,.fg{grid-template-columns:1fr}.hero{padding:70px 0}.hero h1{font-size:2.1rem}section{padding:44px 0}
.stickycall{display:block;position:fixed;bottom:0;left:0;right:0;background:var(--a);color:#fff;text-align:center;padding:15px;font-weight:700;font-size:1.1rem;text-decoration:none;z-index:10}body{padding-bottom:56px}}
.btn.acc:hover{background:var(--leaf)}.hero{border-bottom:4px solid var(--leaf)}
.jobber{padding:32px;text-align:center}.big-btn{font-size:1.2rem;padding:18px 32px;margin:12px 0}.small{text-align:center;font-size:.95rem}.login{font-size:.9rem;color:var(--t);text-decoration:none}.login:hover{color:var(--leaf)}@media(max-width:860px){.login{display:none}}
.wm{display:flex;flex-direction:column;line-height:1.1}.wm small{font-size:.68rem;font-weight:500;color:#5b6b61;letter-spacing:0}.kicker{display:inline-block;color:var(--leaf);font-weight:700;font-size:1rem;margin-bottom:10px}.ftag{color:#9fd8a6;font-weight:600}@media(max-width:480px){.wm small{display:none}}
.pic{width:100%;object-fit:cover;border-radius:10px;display:block;margin-bottom:12px;background:#dfe8de}.hero.photo{background:linear-gradient(90deg,rgba(20,56,32,.92),rgba(20,56,32,.55)),url(/assets/photos/hero.webp) center/cover;padding:140px 0}
@media(max-width:860px){.pic{height:220px!important}.hero.photo{padding:90px 0}}
.hdr nav a,.hcta a,.logo{white-space:nowrap}nav{gap:16px}.row{gap:18px}.wm small{white-space:nowrap}
@media(max-width:1280px){.wm small{display:none}.login{display:none}}
@media(max-width:1060px){nav{gap:12px;font-size:.92rem}}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.map{width:100%;height:340px;border:0;border-radius:10px}
@media(max-width:1060px){.grid4{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.grid4{grid-template-columns:1fr}}
.pic.family{object-position:center 20%}
.mnav{display:none}
@media(max-width:860px){.mnav{display:block;position:relative}.mnav summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;padding:9px 10px;border:1px solid #cfd8d2;border-radius:8px;font-weight:700;color:var(--g);background:#fff}.mnav summary::-webkit-details-marker{display:none}.mnav summary:focus-visible{outline:3px solid var(--leaf);outline-offset:2px}
.bars,.bars::before,.bars::after{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;position:relative}.bars::before,.bars::after{content:"";position:absolute;left:0}.bars::before{top:-6px}.bars::after{top:6px}
.mnav[open] .bars{background:transparent}.mnav[open] .bars::before{top:0;transform:rotate(45deg)}.mnav[open] .bars::after{top:0;transform:rotate(-45deg)}
.mpanel{display:flex!important;flex-direction:column;position:absolute;right:0;top:calc(100% + 12px);width:min(290px,calc(100vw - 24px));background:#fff;border-radius:10px;box-shadow:0 10px 30px #0003;padding:8px;z-index:20;max-height:calc(100vh - 100px);overflow:auto}
.mpanel a{display:block;padding:12px 14px;text-decoration:none;color:var(--t);font-weight:600;border-radius:6px;white-space:normal}.mpanel a:hover,.mpanel a:focus{background:#eef5ef;color:var(--g)}.mpanel a.sub{padding-left:28px;font-weight:500;font-size:.95rem}
.row{gap:10px}.hcta{gap:8px}}
@media(max-width:480px){.logo img{height:40px}.wm b{font-size:1.05rem}.hcta .btn.sm{padding:8px 10px;font-size:.85rem}.mlbl{display:none}.mnav summary{padding:10px}.wrap.row{padding-left:12px;padding-right:12px}}
@media(max-width:380px){.wm b{font-size:.92rem}.logo{gap:6px}.logo img{height:34px}}
@media(max-width:480px){.hdr .hcta a.btn{padding:7px 9px;font-size:.8rem}.wm b{font-size:.95rem;white-space:normal;line-height:1.05}.wm b span{display:block}.row{gap:8px}}
@media(max-width:860px){.hdr .hcta>.btn{display:none!important}}
