:root{--green:#3a5a40;--green-dark:#2c4633;--sage:#6f8a58;--charcoal:#23282a;--charcoal-2:#2d3335;--stone:#cdbfa3;--cream:#f6f2ea;--card:#fff;--ink:#202626;--body:#444d48;--line:#e4ddd0;--shadow:0 10px 30px rgba(28,34,30,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{margin:0;padding:0}body{font-family:Helvetica Neue,Arial,Segoe UI,sans-serif;color:var(--body);background:var(--card);line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}blockquote,figure{margin:0}a{color:inherit;text-decoration:none}h1,h2,h3{color:var(--ink);line-height:1.15;margin:0}h1{font-size:clamp(2rem,5vw,3.4rem);letter-spacing:-.5px}h2{font-size:clamp(1.6rem,3.5vw,2.4rem);letter-spacing:-.3px}h3{font-size:1.2rem}p{margin:0 0 1rem}.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 22px}.section{padding:76px 0}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:.78rem;font-weight:700;color:var(--green);margin:0 0 12px}.lead{font-size:1.12rem;max-width:62ch}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:.98rem;white-space:nowrap;padding:14px 26px;border-radius:4px;cursor:pointer;border:2px solid transparent;transition:background .15s,color .15s}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:var(--green-dark)}.btn-outline{background:transparent;color:#fff;border-color:hsla(0,0%,100%,.7)}.btn-outline:hover{background:#fff;color:var(--green-dark)}.btn-ghost{background:transparent;color:var(--green);border-color:var(--green)}.btn-ghost:hover{background:var(--green);color:#fff}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:var(--charcoal);border-bottom:1px solid hsla(0,0%,100%,.08)}.bar{display:flex;align-items:center;gap:20px;min-height:72px;padding:10px 22px;max-width:1180px;margin:0 auto}.wordmark{margin-right:auto;flex:none;font-size:1.42rem;font-weight:800;letter-spacing:.3px;color:#fff;white-space:nowrap;line-height:1}.wordmark span{color:var(--sage)}.wordmark small{display:block;font-size:.62rem;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--stone);margin-top:4px}.nav-links{display:flex;align-items:center;gap:26px}.nav-links a{color:#e9e6df;font-weight:600;font-size:.96rem;white-space:nowrap;transition:color .15s}.nav-links a:hover{color:var(--sage)}.header-actions{display:flex;align-items:center;gap:14px;flex:none}.header-phone{color:#fff;font-weight:700;white-space:nowrap;font-size:1rem;display:inline-flex;align-items:center;gap:7px}.header-phone:hover{color:var(--sage)}.header-cta{padding:11px 20px;font-size:.92rem}.hamburger,.nav-close,.nav-overlay{display:none}.hamburger{width:44px;height:44px;border:1px solid hsla(0,0%,100%,.35);border-radius:4px;font-size:1.4rem;justify-content:center;flex:none}.hamburger,.hero{color:#fff;align-items:center}.hero{position:relative;background:var(--charcoal-2);min-height:640px;display:flex}.hero-img{width:100%;height:100%;object-fit:cover;z-index:0}.hero-img,.hero:after{position:absolute;inset:0}.hero:after{content:"";z-index:1;background:linear-gradient(105deg,rgba(20,26,22,.88),rgba(20,26,22,.55) 55%,rgba(20,26,22,.25))}.hero .wrap{position:relative;z-index:2;padding-top:80px;padding-bottom:80px}.hero h1{color:#fff;max-width:15ch}.hero .eyebrow{color:var(--stone)}.hero p{color:#eef0ea;font-size:1.18rem;max-width:48ch;margin-top:18px}.hero-actions{gap:14px;margin-top:30px}.hero-actions,.hero-badges{display:flex;flex-wrap:wrap}.hero-badges{gap:10px 26px;margin-top:34px;font-size:.92rem;color:#e7ebe2;font-weight:600}.hero-badges span{display:inline-flex;align-items:center;gap:8px}.dot{width:7px;height:7px;border-radius:50%;background:var(--sage)}.trust{background:var(--cream);border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:8px 30px;gap:8px 30px;padding:30px 0}.trust-item{text-align:center;padding:8px 6px}.trust-num{display:block;font-size:1.5rem;font-weight:800;color:var(--green)}.trust-label{display:block;font-size:.9rem;color:var(--body);margin-top:3px}.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:22px;gap:22px;margin-top:38px}.svc-card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:26px 24px;transition:box-shadow .18s,transform .18s}.svc-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.svc-icon{width:48px;height:48px;border-radius:8px;background:#eef1e8;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.svc-icon svg{width:26px;height:26px;stroke:var(--green)}.svc-card h3{margin-bottom:8px}.svc-card p{margin:0;font-size:.96rem}.gallery{background:var(--cream)}.gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px;margin-top:34px}.gal-grid a{display:block;border-radius:8px;overflow:hidden;background:#ddd6c7}.gal-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .3s}.gal-grid a:hover img{transform:scale(1.05)}.lightbox{display:none;position:fixed;inset:0;z-index:300;background:rgba(15,18,15,.92);align-items:center;justify-content:center;padding:24px}.lightbox:target{display:flex}.lb-backdrop{position:absolute;inset:0}.lb-figure{position:relative;z-index:2;max-width:1000px;width:100%}.lb-figure img{width:100%;max-height:82vh;object-fit:contain;border-radius:6px}.lb-close{position:absolute;top:-46px;right:0;z-index:3;color:#fff;font-size:2rem;line-height:1;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.reviews{background:var(--green-dark);color:#eef0ea}.reviews .eyebrow,.reviews h2{color:#fff}.reviews .eyebrow{color:var(--stone)}.rev-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}.rev-agg{text-align:right}.rev-agg .stars{color:#f2c14e;font-size:1.2rem;letter-spacing:2px;display:block}.rev-agg .meta{display:block;font-size:.9rem;color:#d5dcd2;margin-top:4px}.rev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:22px;gap:22px;margin-top:34px}.rev-card{background:#fff;color:var(--body);border-radius:8px;padding:26px 24px}.rev-card .stars{color:#f2c14e;letter-spacing:2px;margin-bottom:12px;display:block}.rev-card blockquote{font-size:1rem;color:#33413a;margin:0 0 16px}.rev-name{display:block;font-weight:700;color:var(--ink)}.rev-src{display:block;font-size:.85rem;color:#7a8379;margin-top:2px}.about-grid{display:grid;grid-template-columns:1.05fr .95fr;grid-gap:48px;gap:48px;align-items:center}.about-img{border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}.about-img img{width:100%;height:100%;object-fit:cover}.about-facts{display:flex;flex-wrap:wrap;gap:14px 34px;margin-top:22px}.about-fact strong{display:block;font-size:1.35rem;color:var(--green)}.about-fact span{display:block;font-size:.9rem;color:var(--body)}.areas{background:var(--charcoal);color:#e9e6df}.areas h2{color:#fff}.areas .eyebrow{color:var(--stone)}.area-list{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:28px}.area-list span{background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.12);border-radius:40px;padding:8px 16px;font-size:.92rem;color:#dfe3da}.contact{background:var(--charcoal-2);color:#e9e6df}.contact h2{color:#fff}.contact .eyebrow{color:var(--stone)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:44px;gap:44px;margin-top:36px;align-items:start}.contact-info p{color:#cfd4cb}.info-row{display:flex;gap:14px;margin-bottom:22px;align-items:flex-start}.info-row .ic{width:42px;height:42px;border-radius:8px;flex:none;background:rgba(111,138,88,.22);display:flex;align-items:center;justify-content:center}.info-row .ic svg{width:22px;height:22px;stroke:var(--sage)}.info-row .txt{min-width:0}.info-row .txt b{display:block;color:#fff;font-size:.82rem;letter-spacing:1.5px;text-transform:uppercase}.info-row .txt a,.info-row .txt span{display:block;color:#dbe0d6;margin-top:3px;overflow-wrap:anywhere}.info-row .txt a:hover{color:var(--sage)}.form{background:#fff;border-radius:10px;padding:30px 28px;box-shadow:var(--shadow)}.form h3{color:var(--ink);margin-bottom:6px}.form p.small{color:var(--body);font-size:.92rem;margin-bottom:20px}.field{margin-bottom:16px}.field label{display:block;font-size:.85rem;font-weight:700;color:var(--ink);margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:12px 14px;border:1px solid #d4d0c6;border-radius:6px;font:inherit;color:var(--ink);background:#fbfaf7}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--green);background:#fff}.field textarea{resize:vertical;min-height:110px}.form .btn{width:100%}.site-footer{background:#191d1e;color:#a9b0a7;padding:46px 0 28px}.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-gap:34px;gap:34px}.foot-brand{font-size:1.3rem;font-weight:800;color:#fff}.foot-brand span{color:var(--sage)}.site-footer h4{color:#fff;font-size:.85rem;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 14px}.site-footer a{color:#b7bdb3}.site-footer a:hover{color:var(--sage)}.foot-links{display:flex;flex-direction:column;gap:9px}.foot-bottom{border-top:1px solid hsla(0,0%,100%,.1);margin-top:34px;padding-top:22px;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;font-size:.85rem;color:#838a80}@media (max-width:1024px){.header-cta,.nav-links{display:none}.hamburger{display:flex}#menu{position:fixed;inset:0;display:none;z-index:200}#menu:target,.nav-overlay{display:block}.nav-overlay{position:absolute;inset:0;background:rgba(15,18,15,.55)}.nav-panel{position:absolute;top:0;right:0;height:100%;width:min(82vw,320px);background:var(--charcoal);padding:78px 26px 26px;box-shadow:-12px 0 40px rgba(0,0,0,.4)}#menu .nav-links{display:flex;flex-direction:column;align-items:flex-start;gap:4px}#menu .nav-links a{display:block;width:100%;padding:13px 0;font-size:1.06rem}.nav-close{display:flex;align-items:center;justify-content:center;position:absolute;top:18px;right:18px;width:42px;height:42px;color:#fff;font-size:1.9rem;line-height:1}.about-grid{grid-template-columns:1fr;gap:32px}.about-img{order:-1}.contact-grid{grid-template-columns:1fr;gap:30px}}@media (max-width:720px){.section{padding:56px 0}.hero{min-height:560px}.header-phone .label{display:none}.foot-grid{grid-template-columns:1fr;gap:26px}.rev-head{flex-direction:column;align-items:flex-start}.rev-agg{text-align:left}}@media (max-width:400px){.wordmark{font-size:1.24rem}.bar{gap:12px}}