:root{--paper:#f6f7ef;--ink:#173c2d;--green:#246447;--lime:#d9ef74;--line:#d3dccb;--muted:#657565;--sand:#edf0e3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.7 Arial,Helvetica,sans-serif}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.03;letter-spacing:-.055em;font-weight:600}h2{font-size:clamp(36px,4.4vw,62px)}h3{font-size:27px}em{font-family:Georgia,serif;font-weight:400}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #789d22;outline-offset:5px}input:focus,select:focus,textarea:focus{outline:2px solid #4e7e31;outline-offset:3px}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:15px;z-index:100;background:var(--lime);padding:15px}.skip:focus{top:10px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;padding:17px 22px;border:1px solid transparent;border-radius:5px;font-size:12px;font-weight:600;line-height:1.5;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:20px}.dark{background:var(--ink);color:#fff}.dark:hover{background:#2d5e43}.lime{background:var(--lime);color:var(--ink)}.lime:hover{background:#e5fc8a}.outline{background:transparent;border-color:#9daf94}.outline:hover{background:#e1e9d6}.plain-link{font-size:11px;display:inline-flex;gap:20px;align-items:center}.plain-link span{font-size:19px}.underlink{font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #94a886;padding:12px 0}.underlink span{font-size:20px}.eyebrow,.tiny{font-size:9px;letter-spacing:.13em;font-weight:600;line-height:1.6}.eyebrow{margin-bottom:24px}.section{padding:90px 48px;max-width:1280px;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:45px}.section-head>p{font-size:13px;color:var(--muted);padding-bottom:3px}.fine-print{font-size:10px;color:var(--muted);line-height:1.8}.demo-bar{padding:7px 20px;text-align:center;font-size:8px;letter-spacing:.12em;background:#e4eadb}.demo-bar span{letter-spacing:0;margin-left:15px;font-weight:400}header{padding:25px 48px;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:inline-flex;align-items:center;gap:11px;line-height:1;font-size:30px;font-weight:700;letter-spacing:-.065em}.brand svg{width:33px;height:33px}.brand small{display:block;font-size:7px;letter-spacing:.19em;margin-top:9px;font-weight:500}.brand span{white-space:nowrap}header nav{display:flex;gap:28px;font-size:11px}header nav a:hover{text-decoration:underline;text-underline-offset:5px}.button.small{padding:12px 16px;font-size:10px;gap:20px}.menu{display:none}.hero{max-width:1440px;margin:auto;padding:35px 48px 55px;display:grid;grid-template-columns:1.03fr 1fr;gap:30px;align-items:center}.hero-copy{padding:25px 0}.hero .eyebrow{font-size:8px;display:flex;align-items:center;gap:8px}.dot{width:6px;height:6px;border-radius:50%;background:var(--green);display:inline-block;flex-shrink:0}.hero h1{font-size:clamp(50px,6.2vw,89px);line-height:1.02;letter-spacing:-.065em}.hero h1 span{color:#5f832e}.hero-text{font-size:14px;color:var(--muted);max-width:340px;margin-top:27px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:30px}.hero-location{margin-top:40px;font-size:10px;color:#576b52}.hero-location>span{font-size:20px;margin-right:5px}.hero-location small{display:block;font-size:8px;padding-left:23px;color:var(--muted)}.hero-photo{height:550px;position:relative;border-radius:130px 12px 12px 12px}.hero-photo>img{border-radius:inherit;object-position:57% center}.sun{position:absolute;top:18px;right:18px;display:flex;align-items:center;justify-content:center;background:var(--lime);width:85px;height:85px;border-radius:50%;font-size:65px;line-height:1}.photo-card{position:absolute;bottom:20px;left:20px;right:20px;background:#f6f7eff2;border-radius:5px;padding:22px 25px}.photo-card .tiny{font-size:8px}.photo-card p{font-size:24px;line-height:1.2;letter-spacing:-.04em;margin-top:10px}.photo-credit{font-size:8px;color:var(--muted);display:block;margin-top:12px}.service-ribbon{max-width:1440px;margin:auto;padding:26px 48px;background:var(--lime);display:flex;align-items:center;justify-content:space-between;gap:24px}.service-ribbon>span{display:flex;align-items:center;gap:35px;font-size:9px;letter-spacing:.1em}.service-ribbon b{font-size:24px;font-weight:400}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-grid article{border:1px solid var(--line);border-radius:7px;padding:28px;position:relative;display:flex;flex-direction:column}.service-icon{font-size:38px;line-height:1.2;display:block;color:var(--green);margin-bottom:30px}.service-no{position:absolute;right:25px;top:31px;color:#8b9e7f;font-size:10px}.service-grid h3{font-size:29px}.service-grid article>p{font-size:12px;color:var(--muted);margin-top:18px;line-height:1.8}.service-grid ul,.plan ul{list-style:none;padding:0;margin:22px 0;font-size:11px;flex:1}.service-grid li,.plan li{position:relative;padding-left:17px;margin:8px 0}.service-grid li::before,.plan li::before{content:'✓';position:absolute;left:0;color:#5d8136}.services>.fine-print{margin-top:23px}.approach{padding-top:15px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.approach-photo{position:relative;height:610px;border-radius:8px 8px 130px 8px;overflow:hidden}.approach-photo img{object-position:58% center}.approach-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#163420a6,transparent 50%)}.image-label{position:absolute;left:28px;bottom:35px;right:30px;color:#fff;z-index:1;font-size:9px;letter-spacing:.1em}.image-label small{display:block;font-size:8px;letter-spacing:0;margin-top:8px}.approach-copy>p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:25px}.approach-points{margin-top:25px}.approach-points>div{display:flex;gap:20px;padding:15px 0;border-top:1px solid var(--line)}.approach-points span{font-size:10px;color:#80976e;padding-top:3px}.approach-points p{font-size:11px;color:var(--muted)}.approach-points strong{display:block;color:var(--ink);font-weight:600;font-size:12px;margin-bottom:5px}.approach-copy .concept-note{font-size:10px!important;border-left:2px solid #a6bd80;padding-left:14px;margin-top:17px!important}.plans{padding-top:40px}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.plan{border:1px solid var(--line);border-radius:8px;padding:28px;display:flex;flex-direction:column}.plan.feature{background:#e5edcf;border-color:#c8d4ae}.plan>.tiny{font-size:8px;color:#526e44;margin-bottom:28px}.plan h3{font-size:26px}.plan>p:not(.tiny){color:var(--muted);font-size:11px;margin-top:14px}.price{font-size:54px;letter-spacing:-.07em;line-height:1.2;margin-top:28px}.price span{font-size:10px;letter-spacing:0;margin-left:10px}.price.custom{font-size:29px;letter-spacing:-.045em;min-height:65px;display:flex;align-items:center}.plan .price-note{font-size:9px!important}.plan ul{border-top:1px solid var(--line);padding-top:17px}.plan .button{font-size:10px;padding:14px 17px;gap:15px}.plans>.fine-print{margin-top:24px;max-width:800px}.green-band{background:var(--green);color:var(--paper);max-width:1440px;margin:auto;padding:65px 9%;position:relative;overflow:hidden}.green-band h2{font-size:60px;position:relative;z-index:1}.green-band .eyebrow{color:#d9edb6}.green-band .button{margin-top:28px;position:relative;z-index:1}.band-flower{position:absolute;right:40px;top:-85px;font-size:510px;line-height:1;color:#ffffff0d}.process{display:grid;grid-template-columns:.9fr 1.5fr;gap:70px}.process ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.process li{border-top:1px solid #aebfa1;padding-top:18px}.process li>span{font-size:10px;color:#6a8557}.process h3{font-size:22px;margin-top:28px}.process li p{font-size:11px;color:var(--muted);margin-top:16px;line-height:1.8}.area{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.area>img{height:370px;border-radius:6px}.area>div>p:not(.eyebrow){margin-top:23px;color:var(--muted);font-size:13px}.area-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:23px}.area-tags span{font-size:10px;border:1px solid #b9c9a9;padding:6px 12px;border-radius:30px}.area .fine-print{font-size:10px!important}.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.3fr;gap:75px}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;font-size:13px;padding:22px 28px 22px 0;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';position:absolute;right:0;top:15px;font-size:21px}.faq details[open] summary::after{content:'−'}.faq details p{font-size:12px;color:var(--muted);padding:0 25px 22px 0}.estimate{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.3fr;gap:75px}.estimate-copy>p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:25px}.demo-note{border-left:2px solid #9dbb62;padding-left:16px;margin-top:30px;max-width:300px}.demo-note strong{font-size:12px}.demo-note p{font-size:11px;color:var(--muted);margin-top:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}form label{display:block;font-size:11px;font-weight:600;margin-bottom:20px}input:not([type=checkbox]),select,textarea{display:block;width:100%;padding:13px 12px;margin-top:8px;border:1px solid #c3cfb9;border-radius:4px;background:transparent;color:var(--ink);font-size:12px;min-height:46px}input::placeholder,textarea::placeholder{color:#71806b}textarea{resize:vertical;min-height:100px}.optional{font-weight:400;color:var(--muted)}fieldset{margin:0 0 20px;padding:0;border:0;min-width:0}legend{font-size:11px;font-weight:600;margin-bottom:12px}legend>span{color:var(--muted);font-weight:400;font-size:10px}.checkboxes{display:flex;flex-direction:column;gap:8px}.checkboxes label{display:flex;align-items:center;gap:10px;margin:0;font-size:11px;font-weight:400;min-height:26px}.checkboxes input{width:17px;height:17px;margin:0;accent-color:var(--green);flex-shrink:0}.field-error{font-size:11px;color:#8d3423;margin-top:10px}form>.button{width:100%}form>.fine-print{margin-top:12px}#quote-result{border:1px solid #b5c890;background:#edf2e1;border-radius:4px;padding:20px;margin-top:20px;font-size:12px;overflow-wrap:anywhere}#quote-result strong{display:block;margin-bottom:10px}#quote-result p+p{margin-top:8px}footer{background:var(--ink);color:var(--paper);padding:45px 48px 20px}.footer-top{max-width:1184px;margin:auto;display:flex;justify-content:space-between;align-items:flex-start;gap:30px;padding-bottom:45px}.footer-mark{color:var(--lime);font-size:47px;line-height:1}.footer-top>p{font-size:23px;line-height:1.2;letter-spacing:-.04em}.footer-top>div{font-size:10px;display:flex;flex-direction:column;gap:8px}.footer-bottom{max-width:1184px;margin:auto;border-top:1px solid #ffffff30;padding-top:20px;display:flex;justify-content:space-between;gap:25px;font-size:8px;color:#c6d4bc}
@media(max-width:1050px){header{padding:22px 28px}.header-cta{display:none}header nav{gap:22px}.hero{padding:20px 28px 40px;gap:25px}.hero h1{font-size:clamp(48px,6.7vw,70px)}.hero-photo{height:530px;border-top-left-radius:90px}.hero-actions{gap:16px;flex-wrap:wrap}.hero-actions .button{gap:20px;padding:15px 17px;font-size:11px}.hero-text{font-size:13px}.hero .eyebrow{font-size:7px}.sun{width:65px;height:65px;font-size:51px}.photo-card{padding:20px}.photo-card p{font-size:22px}.service-ribbon{padding:22px 28px;gap:15px}.service-ribbon>span{gap:18px;font-size:8px}.service-ribbon b{font-size:20px}.section{padding:70px 28px}.service-grid article,.plan{padding:24px 20px}.service-grid h3{font-size:25px}.approach{padding-top:10px;gap:45px}.approach-photo{height:600px}.plan h3{font-size:24px}.price.custom{font-size:26px}.plans{padding-top:25px}.process{grid-template-columns:1fr;gap:35px}.process h2 br{display:none}.process h3{font-size:24px}.area{padding-top:0;gap:40px}.faq,.estimate{gap:45px}.green-band{padding:60px 40px}.green-band h2{font-size:53px}}
@media(max-width:720px){.demo-bar{padding:7px 12px;font-size:7px}.demo-bar span{display:block;margin:2px 0 0;font-size:8px}header{padding:20px;flex-wrap:wrap;gap:0}.brand{font-size:28px}.brand svg{width:29px;height:29px}.brand small{font-size:6px}.menu{display:flex;align-items:center;gap:15px;padding:9px 12px;border:1px solid #b4c5a3;background:transparent;border-radius:4px;font-size:11px;color:var(--ink);margin-left:auto}header nav{display:flex;flex-wrap:wrap;width:100%;padding-top:20px;gap:20px}.js header nav{display:none}.js header nav.open{display:flex}.hero{grid-template-columns:1fr;padding:20px 24px 28px;gap:30px}.hero-copy{padding:15px 0 0}.hero h1{font-size:clamp(46px,11.6vw,72px)}.hero .eyebrow{font-size:7px;margin-bottom:24px}.hero-text{font-size:13px;max-width:390px;margin-top:22px}.hero-actions{gap:20px;margin-top:25px}.hero-actions .button{font-size:11px;padding:14px 16px;gap:20px}.hero-actions .plain-link{font-size:10px;gap:12px}.hero-location{margin-top:25px;font-size:10px}.hero-photo{height:360px;border-radius:80px 6px 6px 6px}.hero-photo>img{object-position:center 55%}.sun{right:15px;top:15px;width:57px;height:57px;font-size:45px}.photo-card{left:15px;right:15px;bottom:15px;padding:17px 20px}.photo-card p{font-size:24px}.service-ribbon{display:grid;grid-template-columns:1fr 1fr;padding:20px 24px;gap:15px 25px}.service-ribbon>span{font-size:7px;justify-content:space-between;gap:10px}.service-ribbon b{font-size:19px}.section{padding:60px 24px}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:23px;font-size:12px}.eyebrow{font-size:8px;margin-bottom:21px}h2{font-size:40px}.service-grid{grid-template-columns:1fr;gap:15px}.service-grid article{padding:27px}.service-grid h3{font-size:31px}.service-icon{margin-bottom:25px}.service-grid article>p{font-size:13px}.service-grid ul{font-size:12px}.service-grid .underlink{font-size:12px}.approach{grid-template-columns:1fr;padding-top:0;gap:35px}.approach-photo{height:390px;border-bottom-right-radius:90px}.approach-copy h2{font-size:48px}.approach-copy>p:not(.eyebrow){font-size:13px}.approach-points p{font-size:12px}.approach-points strong{font-size:13px}.plan-grid{grid-template-columns:1fr;gap:16px}.plan{padding:28px}.plan h3{font-size:30px}.plan>p:not(.tiny){font-size:12px}.plan ul{font-size:12px}.plan .button{font-size:12px}.price.custom{font-size:34px}.plans{padding-top:10px}.green-band{padding:55px 24px}.green-band h2{font-size:42px}.green-band .eyebrow{font-size:7px}.band-flower{right:-110px;top:10px;font-size:410px}.process{gap:30px}.process h2 br{display:block}.process ol{grid-template-columns:1fr;gap:25px}.process li{padding-left:38px;position:relative;padding-top:20px}.process li>span{position:absolute;left:0;top:22px}.process h3{margin:0;font-size:25px}.process li p{font-size:12px;margin-top:12px}.area{grid-template-columns:1fr;padding-top:0;gap:30px}.area>img{height:280px}.faq,.estimate{grid-template-columns:1fr;gap:25px;margin:0 24px;padding-left:0;padding-right:0}.faq summary{font-size:12px}.estimate{gap:35px}.estimate h2{font-size:48px}.estimate-copy>p:not(.eyebrow){font-size:13px}.demo-note{max-width:100%}.form-row{grid-template-columns:1fr;gap:0}form label{font-size:12px}input:not([type=checkbox]),select,textarea{font-size:16px}legend{font-size:12px}.checkboxes label{font-size:12px;min-height:34px}.checkboxes input{width:20px;height:20px}.footer-top{flex-direction:column;gap:30px;padding-bottom:30px}.footer-bottom{flex-direction:column;gap:10px;font-size:9px}footer{padding:40px 24px 25px}.footer-top>div{font-size:11px}}
@media(max-width:350px){.hero-actions{align-items:flex-start;flex-direction:column;gap:17px}.hero h1{font-size:43px}.service-ribbon{gap:12px 16px}.service-ribbon>span{font-size:6px}.service-ribbon b{font-size:17px}.hero-photo{height:330px}h2{font-size:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Allow native form controls to shrink inside narrow grids. */
.estimate>*{min-width:0}.form-row>*{min-width:0}select,input,textarea{min-width:0;max-width:100%}
