:root{--bg:#f5f6f2;--alt:#e9eee6;--surface:#fff;--ink:#16261c;--muted:#4f5f54;--leaf:#24702a;--leaf-hover:#1c5b21;--leaf-bright:#62c25c;--band:#16261c;--band-text:#c3cfc5;--field:#8a978d;--draft:#8a6a12;--error:#a3261b;--display:"Fira Sans","Segoe UI",Arial,sans-serif;--body:"Source Sans 3","Segoe UI",Arial,sans-serif;--radius:10px;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--ink);font:400 18px/1.6 var(--body);font-size-adjust:from-font;margin:0}.wrap{max-width:1160px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));margin:0 auto}h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;font-weight:600;line-height:1.12}p{margin:0}a{color:inherit}:focus-visible{outline:3px solid var(--leaf);outline-offset:3px}.top .wrap{justify-content:space-between;align-items:center;gap:16px;padding-block:14px;display:flex}.logo img{width:auto;height:72px;display:block}.menu{align-items:center;gap:24px;font-size:16px;font-weight:600;display:flex}.menu a{color:var(--ink);text-decoration:none}.menu .nav-link:hover{text-underline-offset:4px;text-decoration:underline}.phone{font-variant-numeric:tabular-nums}.btn{min-height:48px;font:700 17px/1 var(--body);border-radius:var(--radius);border:2px solid var(--leaf);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 22px;text-decoration:none;display:inline-flex}.btn.solid{background:var(--leaf);color:#fff}.btn.solid:hover{background:var(--leaf-hover);border-color:var(--leaf-hover)}.btn.ghost{background:var(--surface);color:var(--leaf)}.mobile-menu{display:none}@media (width<=860px){.logo img{height:54px}.menu{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{cursor:pointer;border:2px solid var(--ink);border-radius:var(--radius);align-items:center;min-height:48px;padding:0 16px;font-weight:700;list-style:none;display:flex}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{z-index:20;background:var(--surface);border:1px solid var(--field);border-radius:var(--radius);min-width:220px;display:grid;position:absolute;top:56px;right:0;box-shadow:0 10px 30px #16261c2e}.mobile-menu nav a{border-bottom:1px solid var(--alt);padding:14px 18px;font-weight:600;text-decoration:none}}.ph{border-radius:var(--radius);max-width:100%;position:relative;overflow:hidden}.hero .wrap{gap:36px;padding-block:48px 64px;display:grid}.hero .wrap>*{min-width:0}.eyebrow{font:700 14px/1.2 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--leaf)}.hero h1{max-width:18ch;margin-top:12px;font-size:clamp(34px,5vw,60px)}.lede{color:var(--muted);max-width:52ch;margin-top:18px;font-size:20px}.owner{margin-top:14px;font-size:18px}.owner a{color:var(--leaf);font-variant-numeric:tabular-nums;font-weight:700}.ctas{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.hero .ph{aspect-ratio:4/3}.proof{border-top:1px solid var(--field);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;padding-top:24px;display:grid}.proof div{color:var(--muted);align-content:start;gap:2px;font-size:16px;display:grid}.proof strong{font-family:var(--display);color:var(--ink);font-size:20px;font-weight:600}.proof a{color:var(--leaf);font-weight:700}@media (width>=900px){.hero .wrap{grid-template-columns:1.05fr .95fr;align-items:center}.proof{grid-column:1/-1}.hero .ph{aspect-ratio:auto;min-height:420px}}section{padding-block:80px}section.alt{background:var(--alt)}.sec-head{gap:12px;max-width:64ch;margin-bottom:32px;display:grid}.sec-head h2{font-size:clamp(28px,3.6vw,42px)}.sec-head p{color:var(--muted)}.band{background:var(--band);color:#fff}.band .eyebrow{color:var(--leaf-bright)}.points{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;max-width:900px;display:grid}.point{border-top:3px solid var(--leaf-bright);align-content:start;gap:8px;padding-top:18px;display:grid}.point h3{font-size:24px}.point p{color:var(--band-text)}.point a{color:#fff;font-weight:700}.svc-cols{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;display:grid}.svc-col{min-width:0}.svc-col h3{border-bottom:2px solid var(--ink);padding-bottom:12px;font-size:24px}.svc-col ul{margin:0;padding:0;list-style:none}.svc-col li{border-bottom:1px solid var(--field);gap:2px;padding:16px 0;display:grid}.svc-col li strong{font-size:19px}.svc-col li span{color:var(--muted);font-size:16px}.case{gap:28px;display:grid}.case>*{min-width:0}@media (width>=900px){.case{grid-template-columns:1.2fr 1fr;align-items:center}}.case .ph{aspect-ratio:16/10}.case .meta{color:var(--leaf);font-weight:700}.case h3{margin:6px 0 12px;font-size:30px}.area{gap:28px;display:grid}.area>*{min-width:0}@media (width>=900px){.area{grid-template-columns:.85fr 1.15fr;align-items:start}}.table-scroll{overflow-x:auto}.area-table{border-collapse:collapse;width:100%;color:var(--ink);font-size:17px}.area-table th,.area-table td{text-align:left;border-bottom:1px solid var(--field);vertical-align:top;padding:16px 12px}.area-table th{font:700 13px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.area-table td:first-child{font-family:var(--display);white-space:nowrap;font-size:21px;font-weight:600}.towns{color:var(--muted);margin-top:6px;font-size:16px}.quote{gap:36px;display:grid}.quote>*{min-width:0}@media (width>=900px){.quote{grid-template-columns:.75fr 1.25fr}}.contact-list{align-content:start;gap:18px;display:grid}.contact-list .item{gap:2px;display:grid}.contact-list .k{font:700 13px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.contact-list a{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-height:44px;color:var(--leaf);align-items:center;font-size:20px;font-weight:700;display:flex}form{background:var(--surface);border:1px solid var(--field);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:24px;display:grid}form .full{grid-column:1/-1}.group{display:contents}@media (width<=600px){form{grid-template-columns:minmax(0,1fr);padding:18px}}label,fieldset{gap:6px;min-width:0;font-size:16px;font-weight:700;display:grid}fieldset{border:0;margin:0;padding:0}legend{margin-bottom:6px;padding:0;font-weight:700}.req{color:var(--leaf)}input,select,textarea{font:400 17px/1.4 var(--body);color:var(--ink);border:1.5px solid var(--field);background:#fff;border-radius:8px;width:100%;min-width:0;padding:12px}textarea{resize:vertical;min-height:110px}.checks{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px 12px;display:grid}.checks label{align-items:center;gap:10px;min-height:44px;font-weight:400;display:flex}.checks input{flex:none;width:22px;height:22px}.next{color:var(--muted);font-size:16px}footer{background:var(--band);color:var(--band-text);padding-block:48px 40px;font-size:16px}footer .wrap{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px;display:grid}footer h4{font:700 13px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:#fff;margin:0 0 10px}footer a{color:#fff;padding:6px 0;text-decoration:none;display:block}.callbar{display:none}@media (width<=860px){.callbar{z-index:30;background:var(--surface);border-top:1px solid var(--field);padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));grid-template-columns:1fr 1fr;gap:10px;display:grid;position:fixed;bottom:0;left:0;right:0}body{padding-bottom:76px}.hero .owner,.hero .ctas,.page-hero .owner,.page-hero .ctas{display:none}}@media (prefers-reduced-motion:no-preference){.btn{transition:background-color .15s}}.ph img{object-fit:cover;width:100%;height:100%;display:block}.skip{position:absolute;left:-9999px}.skip:focus{z-index:50;background:var(--surface);border-radius:8px;padding:10px 14px;top:16px;left:16px}.form-status{font-weight:600}.form-status.ok{color:var(--leaf)}.form-status.bad{color:var(--error)}.hp{display:none}.simple{padding-block:96px}.simple h1{margin-bottom:16px;font-size:clamp(32px,4.4vw,52px)}.simple p{max-width:60ch;color:var(--muted)}.simple .ctas{margin-top:28px}.field{gap:6px;min-width:0;display:grid}.field label{font-size:16px;font-weight:700;display:block}.req-note{color:var(--muted);font-size:15px}.error-msg{color:var(--error);font-size:15px;font-weight:600;display:none}.error-msg:before{content:"! ";font-weight:800}:is(input,select,textarea):user-invalid{border-color:var(--error);background:#fdf0ee}:is(input,select,textarea):user-invalid+.error-msg{display:block}.visually-hidden:where(:not(:focus-within,:active)){clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.page-hero{border-bottom:1px solid var(--field)}.page-hero .wrap{gap:0;padding-block:48px 56px;display:grid}.page-hero h1{max-width:22ch;margin-top:12px;font-size:clamp(32px,4.6vw,54px)}.more{margin-top:24px;font-weight:700}.more a,.svc-col li span a,.sec-head p a,.prose a{color:var(--leaf)}.privacy-note{color:var(--muted);font-size:14px}.privacy-note a{color:var(--leaf)}.prose .wrap{max-width:760px}.prose h2{margin:32px 0 8px;font-size:24px}.prose p{margin-top:8px}.vendor-card{background:var(--band);color:#fff;border-radius:var(--radius);align-content:center;gap:10px;padding:28px 30px;display:grid}.vendor-card .eyebrow{color:var(--leaf-bright)}.vendor-card ul{margin:0;padding:0;list-style:none;display:grid}.vendor-card li{border-top:1px solid #ffffff24;gap:2px;padding:14px 0;display:grid}.vendor-card li:first-child{border-top:0}.vendor-card strong{font-family:var(--display);font-size:19px;font-weight:600}.vendor-card span{color:var(--band-text);font-size:16px}.case.text-only{background:var(--surface);border:1px solid var(--field);border-radius:var(--radius);grid-template-columns:1fr;max-width:820px;padding:28px}.case.text-only h3{font-size:26px}.hint{color:var(--muted);margin:0;font-size:15px;font-weight:400}.page-hero .split{gap:36px;display:grid}.page-hero .split>*{min-width:0}@media (width>=900px){.page-hero .split{grid-template-columns:1.05fr .95fr;align-items:center}}.area-sum{margin-bottom:6px;font-weight:600}.towns strong{color:var(--ink)}.contact-list .sub{color:var(--muted);font-size:16px}.vendor-list{color:var(--ink);gap:6px;margin:4px 0 0;padding-left:18px;font-size:16px;display:grid}.page-h h1{font-size:clamp(32px,4.4vw,48px)}#quote:has(.page-h){padding-block:56px 80px}.exp-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.exp-card{background:var(--surface);border:1px solid var(--field);border-radius:var(--radius);align-content:start;gap:10px;min-width:0;padding:26px;display:grid}.exp-card.featured{background:var(--band);color:#fff;border-color:var(--band)}.exp-card.featured p:not(.tag){color:var(--band-text)}.exp-card.featured .tag{color:var(--leaf-bright)}.exp-card .tag{font:700 13px/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--leaf)}.exp-card h3{font-size:22px}.exp-card p:not(.tag){color:var(--muted);font-size:16px}.vendor-card .card-link{color:#fff;text-decoration:none}.vendor-card .card-link:hover{text-underline-offset:4px;text-decoration:underline}.svc-col .more{font-size:16px}footer .footer-logo{width:auto;height:64px;display:block}.vendor-card{position:relative;overflow:hidden}.vendor-card:after{content:"";opacity:.07;pointer-events:none;background:url(/leaf-mark.png) 50%/contain no-repeat;width:190px;height:190px;position:absolute;bottom:-34px;right:-28px}.vendor-card>*{z-index:1;position:relative}
