:root{--ink:#18392d;--deep:#0d2a20;--lime:#d7f244;--cream:#f7f6f0;--line:#d9ddd2;--muted:#63726a}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}
.announcement{height:35px;background:var(--deep);color:#e9f0c9;display:flex;align-items:center;justify-content:center;gap:14px;font:11px 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase}
.announcement span{color:var(--lime)}
header{height:88px;max-width:1400px;margin:auto;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between}
.brand{color:var(--deep);text-decoration:none;font-weight:700;letter-spacing:.11em;font-size:15px;white-space:nowrap}
.brand em{font-family:'Playfair Display',serif;letter-spacing:0;font-weight:600}
.brand-mark{color:#6b9949;font-size:18px;margin-right:5px}
nav{display:flex;gap:32px;margin-left:12%}
nav a{color:var(--ink);text-decoration:none;font-size:14px}
.button{border:0;font:600 14px 'DM Sans';padding:15px 21px;cursor:pointer;transition:transform .2s,background .2s}
.button:hover{transform:translateY(-2px)}
.button span,.service-card button span{margin-left:13px;font-size:17px}
.button-dark{background:var(--deep);color:white}
.button-lime{background:var(--lime);color:var(--deep)}
.hero{background:#dce9c0;min-height:595px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.hero-copy{padding:86px max(5.5vw,40px) 65px max(5.5vw,40px);max-width:700px;margin-left:auto}
.eyebrow{font:500 11px 'DM Mono';letter-spacing:.11em;text-transform:uppercase;margin:0 0 21px;color:#42634c}
.eyebrow span{display:inline-block;height:8px;width:8px;background:#7b9f45;border-radius:50%;margin-right:8px}
.hero h1,.section h2,.about h2,.cta h2,.booking-modal h2{font:600 clamp(44px,5.3vw,76px)/.98 'Playfair Display',serif;letter-spacing:-.05em;margin:0;color:var(--deep)}
h1 i,h2 i{color:#6f9943;font-weight:600}
.hero-text{max-width:420px;font-size:16px;line-height:1.6;margin:27px 0;color:#355648}
.hero-actions{display:flex;align-items:center;gap:28px}
.text-link{border:0;background:transparent;padding:0;color:var(--deep);font:600 14px 'DM Sans';text-decoration:none;cursor:pointer}
.text-link span{color:#699a43;margin-left:10px}
.hero-proof{display:flex;align-items:center;gap:13px;margin-top:65px}
.avatars{display:flex}
.avatars b{width:29px;height:29px;border:2px solid #dce9c0;background:#416a51;border-radius:50%;margin-left:-6px;color:#fff;font:11px 'DM Mono';display:grid;place-items:center}
.avatars b:first-child{margin:0;background:#835f4b}
.hero-proof p{margin:0;font-size:11px;line-height:1.5;color:#55705e}
.hero-proof strong{color:var(--ink);font-size:12px}
.hero-art{position:relative;background:linear-gradient(160deg,#a9d581 0%,#a9d581 44%,#5d9447 44%,#3f7c42 100%);overflow:hidden;min-height:530px}
.sun{position:absolute;width:275px;height:275px;border-radius:50%;background:#f5df8f;right:20%;top:7%}
.cloud{position:absolute;background:#f8f5d8;border-radius:100px;width:110px;height:23px;opacity:.8}
.cloud:before,.cloud:after{content:'';position:absolute;border-radius:50%;background:inherit}
.cloud:before{width:42px;height:42px;bottom:0;left:20px}
.cloud:after{width:55px;height:55px;bottom:0;right:15px}
.cloud-one{top:20%;left:8%}
.cloud-two{top:12%;right:4%;transform:scale(.7)}
.house{position:absolute;width:260px;height:165px;background:#f3ecdc;right:20%;top:25%;z-index:2;border-radius:4px}
.house:before{content:'';position:absolute;border-left:150px solid transparent;border-right:150px solid transparent;border-bottom:110px solid #385f3d;top:-108px;left:-20px}
.house i{position:absolute;width:50px;height:83px;background:#244b35;bottom:0;left:102px}
.house b,.house em{position:absolute;width:38px;height:39px;background:#87b7a9;top:48px;border:7px solid #fff}
.house b{left:35px}
.house em{right:32px}
.tree{position:absolute;z-index:3;width:120px;height:150px;background:#3f773c;border-radius:54% 46% 44% 56%;bottom:31%;box-shadow:24px 13px 0 #306d38}
.tree:after{content:'';position:absolute;left:65px;top:126px;width:13px;height:100px;background:#60462d}
.tree-one{left:16%;transform:scale(1.1)}
.tree-two{right:5%;bottom:24%;transform:scale(.72);background:#326d39}
.bush{position:absolute;border-radius:50%;background:#2f713a;z-index:4}
.bush-one{height:100px;width:280px;bottom:26%;left:-8%}
.bush-two{height:80px;width:220px;bottom:24%;right:3%;background:#477f3e}
.lawn-lines{position:absolute;bottom:0;width:100%;height:38%;background:repeating-linear-gradient(158deg,rgba(137,202,83,.45) 0 32px,rgba(50,121,56,.26) 32px 64px);clip-path:polygon(0 34%,100% 0,100% 100%,0 100%)}
.mower{z-index:7;position:absolute;bottom:16%;left:30%;width:110px;height:45px;border-radius:45px 45px 12px 12px;background:#dbe448;transform:skewX(-9deg)}
.mower:before,.mower:after{content:'';position:absolute;width:22px;height:22px;background:#16382b;border-radius:50%;bottom:-12px}
.mower:before{left:15px}
.mower:after{right:12px}
.mower i{position:absolute;border-left:6px solid #16382b;height:100px;transform:rotate(-32deg);left:18px;bottom:32px}
.mower b{position:absolute;width:6px;height:40px;background:#16382b;transform:rotate(60deg);left:41px;bottom:89px}
.hero-art>p{position:absolute;bottom:17px;right:28px;z-index:9;font:10px 'DM Mono';letter-spacing:.1em;color:#deefbb}
.trust-row{background:#f2f0e8;padding:23px 5vw;display:flex;justify-content:space-around;gap:10px;color:#59705d;font:10px 'DM Mono';letter-spacing:.11em}
.trust-row span:nth-child(even){color:#92af58}
.section{max-width:1220px;margin:auto;padding:115px 26px}
.services{display:grid;grid-template-columns:1.2fr .8fr;gap:45px}
.section h2,.about h2,.cta h2{font-size:54px}
.section-intro{margin:41px 0 0;line-height:1.65;max-width:360px;color:var(--muted)}
.service-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:12px}
.service-card{border:1px solid var(--line);padding:27px;min-height:273px;display:flex;flex-direction:column;transition:.2s}
.service-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #17392d12}
.service-card.featured{background:var(--deep);color:#fff;border-color:var(--deep)}
.service-number{font:11px 'DM Mono';color:#829a71}
.featured .service-number{color:#b8ce91}
.service-icon{font:38px 'Playfair Display';color:#6c9b4b;margin:24px 0 18px}
.service-card h3{font:600 22px 'Playfair Display';margin:0}
.service-card p{font-size:13px;line-height:1.6;color:#718077;margin:10px 0 20px}
.featured p{color:#bed0be}
.service-card button{background:transparent;border:0;padding:0;text-align:left;margin-top:auto;color:inherit;cursor:pointer;font:600 13px 'DM Sans'}
.featured button{color:var(--lime)}
.process{background:#e7efdb;max-width:none;padding-left:max(calc((100vw - 1168px)/2),26px);padding-right:max(calc((100vw - 1168px)/2),26px);display:grid;grid-template-columns:1fr 1fr;gap:60px}
.process ol{margin:0;padding:0;list-style:none}
.process li{border-top:1px solid #b9c9af;padding:22px 0;display:flex;gap:26px}
.process li b{font:11px 'DM Mono';color:#729055}
.process h3{margin:0 0 7px;font-size:17px}
.process li p{margin:0;color:#5e7464;font-size:14px}
.about{background:var(--deep);color:#eef2de;display:grid;grid-template-columns:1fr 1.3fr}
.about-stat{background:#5d8d4b;min-height:430px;padding:74px max(5vw,35px);display:flex;flex-direction:column}
.about-stat p{font:11px 'DM Mono';letter-spacing:.09em;margin:0}
.about-stat strong{font:600 112px/.9 'Playfair Display';margin-top:auto}
.about-stat span{font-size:14px;line-height:1.4}
.about-copy{padding:78px 12%}
.about-copy .eyebrow{color:#b8cfb3}
.about-copy .eyebrow span{background:var(--lime)}
.about h2{color:#fff}
.about-copy>p:not(.eyebrow){color:#bdcdbf;line-height:1.7;max-width:440px;margin:26px 0}
.about .text-link{color:var(--lime)}
.cta{text-align:center;padding:115px 20px;background:#f5f4ee}
.cta h2{margin-bottom:30px}
.cta .eyebrow{margin-bottom:16px}
footer{background:#f5f4ee;padding:28px 5.5vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
footer p{font-size:12px;color:#6d7c71}
.modal-backdrop{position:fixed;inset:0;background:#0d2a20aa;z-index:30;display:grid;place-items:center;padding:20px;opacity:0;pointer-events:none;transition:.25s}
.modal-backdrop.open{opacity:1;pointer-events:auto}
.booking-modal{max-height:92vh;overflow:auto;width:min(720px,100%);background:var(--cream);position:relative;padding:42px 50px}
.close{position:absolute;right:20px;top:16px;border:0;background:transparent;color:var(--deep);font-size:32px;cursor:pointer}
.booking-top{display:grid;grid-template-columns:1fr 1fr;column-gap:30px;margin-bottom:27px}
.booking-top .eyebrow{grid-column:1/-1}
.booking-modal h2{font-size:42px}
.booking-top>p:last-child{font-size:14px;line-height:1.5;color:var(--muted);align-self:end}
.step-label{font:500 11px 'DM Mono';text-transform:uppercase;letter-spacing:.08em;margin:21px 0 10px;color:#597160}
.step-label span{display:inline-grid;place-items:center;background:#789b4a;border-radius:50%;color:white;width:18px;height:18px;margin-right:7px}
.service-options{display:flex;gap:9px}
.service-options label{flex:1;cursor:pointer}
.service-options input{position:absolute;opacity:0}
.service-options span{border:1px solid var(--line);padding:12px;display:block;height:100%;transition:.15s}
.service-options b{display:block;font-size:13px}
.service-options small{font-size:11px;color:#6d7d72;display:block;margin-top:3px}
.service-options input:checked+span{background:#e5efce;border-color:#7a9b4e}
.date-options,.time-options{display:flex;gap:8px;flex-wrap:wrap}
.date-options button,.time-options button{border:1px solid var(--line);background:#fff;padding:10px 13px;cursor:pointer;color:var(--ink);font:12px 'DM Sans'}
.date-options button b{display:block}
.date-options button small{color:#728176}
.date-options button.active,.time-options button.active{background:var(--deep);border-color:var(--deep);color:#fff}
.select-date{font-size:13px;color:var(--muted);margin:4px 0}
.booking-contact{margin-top:5px}
.input-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.booking-contact input{border:1px solid var(--line);background:#fff;padding:13px;margin-bottom:9px;font:13px 'DM Sans';width:100%}
.booking-contact .button{width:100%;margin-top:5px}
.booking-success{text-align:center;padding:65px 20px}
.booking-success>div{display:grid;place-items:center;margin:auto;width:48px;height:48px;border-radius:50%;background:var(--lime);font-size:25px}
.booking-success h3{font:600 34px 'Playfair Display';margin:17px 0 8px}
.booking-success p{line-height:1.6;color:var(--muted);max-width:380px;margin:0 auto 25px}
@media(max-width:720px){nav{display:none}
.header-book{padding:12px}
.hero{grid-template-columns:1fr}
.hero-copy{padding-top:60px}
.hero-art{min-height:400px}
.hero h1{font-size:52px}
.trust-row{overflow:hidden;justify-content:flex-start;white-space:nowrap}
.services,.process{grid-template-columns:1fr}
.service-grid{grid-template-columns:1fr}
.section{padding:75px 22px}
.about{grid-template-columns:1fr}
.about-stat{min-height:260px;padding:50px 28px}
.about-copy{padding:58px 28px}
.about-stat strong{font-size:88px}
.booking-modal{padding:35px 20px}
.booking-top{grid-template-columns:1fr}
.booking-top>p:last-child{margin:15px 0 0}
.service-options{flex-direction:column}
.service-options span{padding:10px}
.input-row{grid-template-columns:1fr}
footer{display:block}
footer p{margin-top:17px}
.section h2,.about h2,.cta h2{font-size:42px}
}
.booking-flow{max-width:850px}.customer-choice{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.customer-choice form{padding:28px}.customer-choice form+form{border-left:1px solid var(--line);background:#e8f0db}.customer-choice h3{font:600 27px 'Playfair Display';margin:0;color:var(--deep)}.customer-choice p{font-size:13px;color:var(--muted);margin:5px 0 18px}.customer-choice label,.stacked-form label{display:block;font-size:12px;font-weight:600;margin:10px 0;color:#385447}.customer-choice input,.stacked-form input,.stacked-form textarea,.date-picker input{display:block;width:100%;margin-top:5px;border:1px solid var(--line);background:#fff;padding:11px;font:13px 'DM Sans';color:var(--ink)}.customer-choice .button{width:100%;margin-top:14px}.service-checklist{display:grid;grid-template-columns:1fr 1fr;gap:9px}.service-checklist label{cursor:pointer}.service-checklist input{position:absolute;opacity:0}.service-checklist span{display:block;padding:14px;border:1px solid var(--line);background:#fff}.service-checklist b{display:block;font-size:14px}.service-checklist small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.service-checklist input:checked+span{background:#e3efca;border-color:#779947}.employee-choice{border:0;padding:0;margin:24px 0}.employee-choice legend{font:600 13px 'DM Sans';margin-bottom:9px}.employee-choice label{display:inline-flex;gap:7px;align-items:center;border:1px solid var(--line);padding:10px 12px;background:white;font-size:12px}.form-error{font-size:13px;color:#a23434;margin:14px 0}.date-picker{display:flex;gap:9px;align-items:end}.date-picker label{font-size:12px;font-weight:600;flex:1}.date-picker .button{padding:12px 17px}.slot-list{margin:25px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.slot-button{padding:12px;border:1px solid var(--line);background:#fff;color:var(--deep);font:600 13px 'DM Sans';cursor:pointer;text-align:left}.slot-button:hover{border-color:#669340;background:#ebf3dd}.slot-button small{display:block;color:#6b7b6f;font-size:10px;font-weight:400;margin-top:4px}.outside-copy{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 21px}.stacked-form{max-width:520px}.stacked-form .button{margin-top:10px}.booking-back{margin-top:4px}@media(max-width:720px){.customer-choice,.service-checklist{grid-template-columns:1fr}.customer-choice form+form{border-left:0;border-top:1px solid var(--line)}.slot-list{grid-template-columns:1fr 1fr}.date-picker{align-items:stretch;flex-direction:column}}
