@font-face{font-family:Barlow;src:url('assets/fonts/barlow-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Barlow;src:url('assets/fonts/barlow-semibold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Barlow;src:url('assets/fonts/barlow-bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Caveat;src:url('assets/fonts/caveat-variable.ttf') format('truetype');font-style:normal;font-weight:400 700;font-display:swap}
:root{--green:#045404;--leaf:#5e872b;--line-green:#2c782b;--pale:#f1f9f1;--white:#fff;--ink:#172b1b;--muted:#465849;--rule:#cfdbcf;--font:Barlow,Arial,sans-serif;--hand:Caveat,cursive;--gutter:clamp(24px,5.5vw,88px);--section:clamp(64px,7.5vw,112px);--radius:3px;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px;scrollbar-color:var(--line-green) var(--pale)}body{margin:0;color:var(--ink);background:var(--white);font-family:var(--font);font-size:18px;line-height:1.55}::selection{background:var(--green);color:white}a{color:inherit;text-underline-offset:5px}a,button{-webkit-tap-highlight-color:#cfdbcf}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--green);outline-offset:6px}button,a{touch-action:manipulation}button{font:inherit}.wrap{max-width:1440px;margin-inline:auto;padding-inline:var(--gutter)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{color:var(--green);text-wrap:balance}h1{font-size:clamp(58px,6.7vw,96px);line-height:.99;font-weight:700;letter-spacing:-.035em}h1 span,h2 span{font-weight:400}h2{font-size:clamp(38px,4.1vw,60px);line-height:1.08;letter-spacing:-.025em}h3{font-size:30px;line-height:1.15;letter-spacing:-.015em;font-weight:600}p{max-width:66ch}svg{display:block;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}a svg{width:22px;height:22px;flex:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:12px;z-index:50;background:white;padding:12px 24px;transform:translateY(-180%)}.skip-link:focus{transform:none}.site-header{display:flex;align-items:center;gap:40px;min-height:128px}.brand{display:block;width:176px;flex-shrink:0}.brand img{display:block;width:100%;height:auto}.site-header nav{display:flex;gap:30px;margin-left:auto}.site-header a{text-decoration:none;font-size:16px;font-weight:600}.site-header nav a{padding-block:12px}.site-header nav a:hover{text-decoration:underline}.header-estimate{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--green);padding-block:10px;color:var(--green)}.hero{position:relative;display:grid;grid-template-columns:1.55fr 1fr;column-gap:24px;padding-top:62px}.hero-copy{position:relative;z-index:2;padding-bottom:68px}.hero-description{margin-top:28px;color:var(--muted);font-size:20px;line-height:1.55}.hero-actions{display:flex;align-items:flex-start;gap:28px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:58px;padding:16px 24px;background:var(--green);color:var(--white);font-size:17px;line-height:1.3;font-weight:600;text-decoration:none;border:1px solid var(--green);border-radius:var(--radius);transition:background-color .2s,color .2s}.button:hover{background:var(--line-green)}.text-link{display:inline-flex;align-items:center;gap:24px;min-height:44px;color:var(--green);font-weight:600;font-size:17px;text-decoration:underline;text-decoration-thickness:1px}.text-link:hover{text-decoration-thickness:2px}.hero-actions>.text-link{margin-top:7px}.action-context{font-size:14px;margin-top:9px;color:var(--muted)}.hero-plan{align-self:end;position:relative;padding-bottom:38px;min-width:0}.hero-drawing{position:relative;margin:-18px -24px 0 -20px}.hero-drawing img{display:block;width:100%;height:auto}.handwritten{font-family:var(--hand);font-weight:500;color:var(--green);font-size:30px;line-height:1.1}.hero-note{position:absolute;top:-25px;left:8%;transform:rotate(-5deg);font-size:28px}.plan-label{display:block;text-align:center;font-family:var(--hand);font-size:24px;color:var(--green);margin-top:-12px}.hero-plan figcaption{font-size:12px;text-align:right;color:var(--muted);margin-top:16px;line-height:1.5}.hero-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:23px 0;border-top:1px solid var(--rule);font-size:15px;color:var(--muted)}.hero-foot a{display:flex;align-items:center;gap:20px;color:var(--green);text-decoration:none;min-height:44px}.services{padding-top:var(--section);padding-bottom:var(--section)}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:64px}.section-intro>p{color:var(--muted);font-size:18px;margin-bottom:4px}.service-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,7vw,100px);align-items:start}.service-plan{position:sticky;top:24px;min-width:0}.plan-window{aspect-ratio:1/1.06;background:var(--pale);position:relative;overflow:hidden;border:1px solid var(--rule)}.plan-camera{position:absolute;inset:0;transform-origin:46% 51%;will-change:transform}.plan-camera img{width:100%;height:100%;display:block;object-fit:contain}.plan-note{position:absolute;font-size:25px;line-height:1;max-width:160px;background:var(--pale);padding:2px 4px}.note-lawn{top:45%;left:62%;transform:rotate(-8deg)}.note-beds{top:8%;right:2%;transform:rotate(-6deg)}.note-water{bottom:25%;right:0;transform:rotate(-5deg)}.note-cleanup{bottom:10%;left:1%;transform:rotate(-5deg)}.service-plan figcaption{margin-top:20px;color:var(--green);font-size:16px}.service-plan figcaption span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.service-row{padding:28px 0 32px;border-top:1px solid var(--rule)}.service-row:first-child{padding-top:26px;border-top:2px solid var(--green)}.service-title{display:flex;justify-content:space-between;align-items:start;gap:20px}.service-title>svg{width:38px;height:38px;color:var(--line-green);flex:none;stroke-width:1.25}.service-row p{color:var(--muted);margin:16px 0 12px}.service-row .text-link{font-size:16px}.about{background:var(--green);color:var(--white);padding-block:var(--section)}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,7vw,100px)}.about h2{color:white;font-size:clamp(48px,5.4vw,78px);font-weight:400}.about .handwritten{color:#dceccf;margin-top:28px;font-size:32px;transform:rotate(-3deg)}.owner-name{font-size:30px;font-weight:600;margin-bottom:18px}.owner-copy>p:not(.owner-name){color:var(--pale);font-size:18px;line-height:1.7}.billing{display:flex;gap:16px;border-top:1px solid #538953;margin-top:34px;padding-top:28px}.billing>svg{width:34px;height:34px;flex:none;color:#dceccf}.billing h3{color:white;font-size:23px}.billing p{font-size:17px;color:#dceccf;margin-top:5px}.areas{padding-block:var(--section)}.areas .section-intro{margin-bottom:48px}.towns{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}.towns li{padding:23px 16px 23px 0;border-bottom:1px solid var(--rule);font-size:25px;color:var(--green)}.estimate{background:var(--pale);padding-block:var(--section)}.estimate-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,7vw,100px)}.estimate h2{font-size:clamp(46px,4.8vw,70px)}.estimate .handwritten{margin-top:26px;font-size:34px;transform:rotate(-5deg);transform-origin:left}.estimate-option+.estimate-option{border-top:1px solid var(--rule);margin-top:28px;padding-top:28px}.estimate-option h3{font-size:24px;margin-bottom:18px}.estimate-option p{color:var(--muted);font-size:17px;margin-bottom:12px}.estimate-option .button{width:100%;max-width:360px}.availability{font-size:14px;color:var(--muted);margin-top:24px}[aria-disabled=true]{cursor:not-allowed}.estimate-option .button[aria-disabled=true]{background:#3e6541;border-color:#3e6541}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-top:40px;padding-bottom:40px}.site-footer .brand{width:150px}.site-footer p{font-size:14px;color:var(--muted);margin-right:auto}.site-footer>a:last-child{display:flex;align-items:center;gap:18px;text-decoration:none;font-size:14px;min-height:44px}.estimate-dock{position:fixed;z-index:20;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px max(20px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:var(--green);color:white}.estimate-dock[hidden]{display:none}.estimate-dock>span{font-size:12px}.estimate-dock>a{display:flex;gap:12px;align-items:center;min-height:44px;font-size:15px;font-weight:600;text-decoration:none}.estimate-dock a:focus-visible{outline-color:white}
@media(min-width:1100px){.hero{padding-top:70px}.hero-plan{padding-bottom:48px}}
@media(max-width:1050px){.site-header{gap:24px;min-height:112px}.site-header nav{gap:20px}.brand{width:155px}.header-estimate{display:none}.hero{grid-template-columns:1.35fr 1fr}.hero-actions{gap:18px}.hero-actions .button{gap:16px;font-size:16px;padding-inline:18px}.hero-note{font-size:23px;top:-24px}.hero-drawing{margin:0 -16px}.section-intro{gap:32px}.section-intro>p{max-width:31ch}.service-layout,.about-layout,.estimate-layout{gap:40px}.plan-note{font-size:21px}.note-lawn{left:58%}.service-title h3{font-size:27px}}
@media(max-width:760px){body{font-size:17px}.site-header{min-height:124px;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:20px;padding-bottom:18px;border-bottom:1px solid var(--rule)}.site-header .brand{width:144px}.site-header nav{width:100%;order:3;margin:0;justify-content:space-between;gap:12px}.site-header nav a{font-size:14px;padding-block:5px;min-height:44px}.header-estimate{display:flex;font-size:14px!important;gap:8px}.header-estimate svg{width:18px}.hero{display:block;padding-top:38px}.hero h1{font-size:clamp(49px,9.2vw,70px);line-height:1.02}.hero-copy{padding:0}.hero-description{font-size:17px;margin-top:24px}.hero-actions{margin-top:26px;flex-direction:column;align-items:stretch;gap:8px}.hero-actions .button{font-size:17px;min-height:58px;padding-inline:20px}.hero-actions>.text-link{align-self:flex-start;margin-top:6px}.hero-actions .primary-action .button{width:100%}.action-context{font-size:13px}.hero-plan{margin-top:48px;max-width:440px;margin-inline:auto;padding-bottom:28px}.hero-drawing{margin:0 4px}.hero-note{font-size:25px;left:9%;top:-18px}.plan-label{font-size:24px;margin-top:-6px}.hero-plan figcaption{font-size:12px;margin-top:12px;text-align:center}.hero-foot{padding:12px 0;gap:18px;font-size:12px}.hero-foot>span{max-width:160px}.hero-foot a{white-space:nowrap;gap:8px}.hero-foot svg{width:18px}.section-intro{display:block;margin-bottom:32px}.section-intro>p{margin-top:22px;max-width:100%;font-size:17px}.service-layout{display:block}.service-plan{position:relative;top:auto;margin-bottom:36px;max-width:500px;margin-inline:auto}.service-plan figcaption{font-size:15px}.service-plan figcaption span{font-size:12px}.plan-note{font-size:23px}.service-row{padding-block:25px}.service-title h3{font-size:30px}.service-row p{margin-top:12px}.service-title>svg{width:32px;height:32px}.about-layout,.estimate-layout{display:block}.about .handwritten{margin-top:20px}.owner-copy{margin-top:48px}.owner-name{font-size:28px}.owner-copy>p:not(.owner-name){font-size:17px}.towns{grid-template-columns:repeat(2,1fr)}.towns li{font-size:22px;padding-block:18px}.areas .section-intro{margin-bottom:30px}.estimate-options{margin-top:46px}.estimate-option .button{max-width:none}.estimate-option p br{display:none}.site-footer{flex-wrap:wrap;gap:24px;padding-top:32px;padding-bottom:112px}.site-footer .brand{width:130px}.site-footer p{font-size:12px;margin:0}.site-footer>a:last-child{width:100%;justify-content:space-between;border-top:1px solid var(--rule);padding-top:20px}.estimate h2{font-size:48px}}
@media(max-width:370px){:root{--gutter:20px}.hero h1{font-size:46px}.hero-note{font-size:22px}.plan-note{font-size:20px}.site-header .brand{width:124px}.header-estimate{font-size:13px!important}.towns li{font-size:20px}.estimate h2{font-size:43px}.estimate-dock>span{display:none}.estimate-dock>a{width:100%;justify-content:space-between}}
@media(max-height:690px) and (min-width:761px){.service-plan{position:relative;top:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.service-plan{position:relative;top:auto}.plan-camera{transform:none!important;will-change:auto}.plan-note{opacity:1!important}}

@media(max-width:760px){.plan-window{aspect-ratio:auto;padding:12px}.plan-camera{position:relative;inset:auto;will-change:auto}.plan-camera img{height:auto}.plan-note{position:static;display:inline-block;max-width:none;margin:0 12px 14px 0;padding:2px 4px;font-size:23px;transform:rotate(-3deg)}.hero-plan figcaption,.service-plan figcaption span{font-size:12px}.site-header nav a{padding-block:10px}}
/* Review corrections: match the approved owner panel and preserve short-screen access. */
.header-estimate{min-height:44px}
.about{background:var(--pale);color:var(--ink)}
.about h2,.about .handwritten,.billing h3{color:var(--green)}
.owner-copy>p:not(.owner-name),.billing p{color:var(--muted)}
.billing{border-color:var(--rule)}
.billing>svg{color:var(--green)}
.media-unavailable{display:none}
.hero-drawing img,.plan-camera img{color:transparent;font-size:0}
@media(max-height:500px) and (min-width:761px){.site-header{gap:20px;min-height:96px}.site-header .brand{width:130px}.site-header nav{gap:16px}.site-header nav a{font-size:14px}.header-estimate{display:flex;font-size:14px!important;gap:10px}.hero{padding-top:32px}}

/* Full-services directory page */
.services-hero .hero-description{max-width:420px}.directory{padding-top:8px}.directory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:28px;margin-top:14px}.directory-card{background:#fffefa;border:1px solid var(--line, #ccd2c5);border-radius:8px;padding:26px;display:flex;flex-direction:column;gap:14px}.directory-card h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:21px;margin:0}.directory-card p{font-size:13px;line-height:1.6;color:#526155;margin:0}.directory-card ul{list-style:none;margin:0;padding:0;border-top:1px solid #ccd2c5}.directory-card li{padding:9px 0;border-bottom:1px solid #ccd2c5;font-size:13.5px}.directory-card .text-link{margin-top:auto;font-size:13px;text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;gap:8px;min-height:44px}.directory-card .text-link svg{width:16px;height:16px}.directory-card .money-link{margin-top:0;min-height:34px}.service-title h3 a.service-page-link{color:inherit;text-decoration:none}.service-title h3 a.service-page-link:hover{text-decoration:underline;text-underline-offset:5px}.directory-note{max-width:640px;margin:34px 0 0;font-size:13px;line-height:1.7;color:#526155}.request-form-wrap form{display:grid;gap:18px}.request-form-wrap .field{display:grid;gap:8px}.request-form-wrap label{font-size:14px;font-weight:600}.request-form-wrap .optional{font-weight:400;color:#526155}.request-form-wrap input,.request-form-wrap select,.request-form-wrap textarea{font:inherit;padding:13px 14px;border:1px solid #869383;border-radius:4px;background:#fff;color:#17372b;width:100%}.request-form-wrap input:focus-visible,.request-form-wrap select:focus-visible,.request-form-wrap textarea:focus-visible{outline:3px solid #3d735c;outline-offset:2px}.request-form-wrap .consent{display:flex;gap:10px;align-items:center;font-size:13px;font-weight:400}.request-form-wrap .consent input{width:auto}.request-form-wrap .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.form-status{font-size:14px;line-height:1.5;margin:0}.form-status.ok{color:#1d5c34}.form-status.error{color:#a52f24}.request-form-wrap .primary[disabled],.request-form-wrap [disabled]{opacity:.55;cursor:default}
