*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#153e30;background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(2.8rem,5.2vw,5.8rem)}h2{font-size:clamp(2rem,3.1vw,3.3rem)}h3{font-size:1.2rem;line-height:1.35}p{color:#54625a}.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.16em;color:#6e745c;margin-bottom:20px}.button{display:inline-flex;align-items:center;justify-content:center;background:#153e30;color:white;padding:16px 25px;border:1px solid #153e30;font-size:.9rem;font-weight:700;cursor:pointer;text-decoration:none!important;transition:background .2s}.button:hover{background:#255842}.button.gold{background:#d2ae56;border-color:#d2ae56;color:#153e30}.button.small{padding:12px 18px;white-space:nowrap}.skip{position:absolute;top:-100px;left:20px;background:white;padding:15px;z-index:20}.skip:focus{top:10px}.topline{padding:9px max(5%,calc((100vw - 1360px)/2));display:flex;justify-content:space-between;background:#153e30;color:white;font-size:.75rem;letter-spacing:.12em}.topline a{letter-spacing:.04em;font-weight:700}header{max-width:1496px;margin:auto;padding:26px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #e6eae5}.brand{width:250px;flex-shrink:0}.brand img{width:100%;height:78px;object-fit:contain}nav{display:flex;align-items:center;gap:26px;font-size:.86rem;font-weight:600}nav a[aria-current=page]:not(.button){text-decoration:underline;text-underline-offset:7px}.menu{display:none}.home-intro{max-width:1360px;margin:auto;padding:65px 0 45px}.home-intro h1 em{color:#6b795d;font-style:normal}.intro-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:30px;gap:25px}.intro-bottom p{font-size:1.05rem}.services{max-width:1360px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{border-bottom:1px solid #d9dfd6;display:flex;flex-direction:column;text-decoration:none!important}.card-image{position:relative;overflow:hidden}.card-image img{height:285px;width:100%;transition:transform .4s}.service-card:hover img{transform:scale(1.035)}.number{position:absolute;bottom:0;left:0;background:#153e30;color:#d2ae56;padding:7px 18px;font-family:Georgia;font-size:1.3rem}.card-text{padding:26px 0 30px;display:flex;flex-direction:column;flex:1}.card-text .eyebrow{margin-bottom:12px;font-size:.72rem}.card-text h2{font-size:2rem;margin-bottom:15px}.card-text p:not(.eyebrow){margin-bottom:24px}.text-link{font-size:.85rem;font-weight:700;border-bottom:1px solid #d2ae56;width:max-content;padding-bottom:5px;margin-top:auto}.approach{max-width:1360px;margin:100px auto;display:grid;grid-template-columns:1fr 1fr;gap:100px}.steps article{display:flex;gap:28px;border-top:1px solid #dce2d8;padding:23px 0}.steps article>span{color:#a17d28;font-family:Georgia;font-size:1.4rem}.steps h3{margin-bottom:8px}.local{padding:75px 5%;background:#f1f4ef;text-align:center}.local p:last-child{max-width:690px;margin:25px auto 0}.cta{background:#153e30;color:white;padding:60px max(5%,calc((100vw - 1360px)/2));display:flex;align-items:center;justify-content:space-between;gap:30px}.cta .eyebrow{color:#d2ae56}.cta p:not(.eyebrow){color:#d2ddd4;margin-top:18px}.cta h2{font-size:clamp(2rem,3.5vw,3.5rem)}footer{padding:60px max(5%,calc((100vw - 1360px)/2)) 25px;background:#f8f9f6}.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:50px}.footer-name{font-family:Georgia;font-weight:700;line-height:1.1;color:#153e30;font-size:2rem;margin-bottom:22px}.footer-name span{font-family:Arial;font-size:.8rem;letter-spacing:.25em}.footer-top h3{font-size:.95rem;margin-bottom:20px}.footer-top a{display:block;margin-bottom:10px;font-size:.9rem}.footer-bottom{border-top:1px solid #dfe4dc;padding-top:25px;margin-top:45px;display:flex;justify-content:space-between;gap:20px;color:#687265;font-size:.8rem}.service-hero{max-width:1360px;margin:45px auto 70px;display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.breadcrumb{font-size:.8rem;color:#6f786b;display:block;margin-bottom:40px}.service-hero .lead{margin:28px 0;font-size:1.05rem;max-width:560px}.service-hero h1{font-size:clamp(2.8rem,4.6vw,5rem)}.service-hero figure{position:relative}.service-hero img{width:100%;height:560px}.service-hero figcaption{font-size:.75rem;color:#7a8176;margin-top:8px}.scope{max-width:1360px;margin:80px auto}.section-title{margin-bottom:40px}.scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.scope-grid article{border-top:2px solid #d2ae56;padding-top:22px}.scope-grid article>span{font-size:.85rem;color:#a17d28}.scope-grid h3{margin:18px 0 12px}.expect{background:#f1f4ef;padding:60px max(5%,calc((100vw - 1360px)/2));display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.expect ul{margin:0;padding:0;list-style:none}.expect li{padding:17px 0;border-bottom:1px solid #d6ded0;font-size:1.05rem}.expect li:before{content:'✓';margin-right:16px;color:#a17d28}.faq{max-width:1360px;margin:90px auto;display:grid;grid-template-columns:1fr 1fr;gap:80px}.faq details{border-top:1px solid #d6ded0;padding:20px 0}.faq summary{cursor:pointer;font-size:1rem;font-weight:700;list-style-position:outside;margin-left:20px}.faq details p{margin:16px 0 0 20px}.estimate{max-width:1360px;margin:65px auto 90px;display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.estimate-intro>p:not(.eyebrow){margin-top:28px;max-width:410px}.estimate h1{font-size:clamp(2.8rem,4.4vw,5rem)}.contact-lines{margin:35px 0}.contact-lines a{display:block;font-size:1.15rem;font-weight:700;margin-bottom:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label{font-weight:600;font-size:.9rem}.form-grid label span{font-weight:400;color:#697565;font-size:.8rem}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;background:#fafbf8;border:1px solid #c8d0c4;border-radius:0;padding:12px;color:#153e30;margin-top:8px;font-size:1rem}.full{grid-column:1/-1}textarea{resize:vertical}.form-note{font-size:.8rem;margin:22px 0}.form-note a{text-decoration:underline}.small-note{font-size:.8rem!important;margin-top:18px;color:#6c7768}.honey{position:absolute;left:-9999px}.message,.privacy{max-width:850px;margin:80px auto 110px}.message p:not(.eyebrow){margin:25px 0;max-width:580px}.privacy h1{font-size:3.5rem;margin-bottom:30px}.privacy h2{font-size:1.7rem;margin:35px 0 16px}.privacy p{margin-bottom:20px}.privacy a{text-decoration:underline}@media(max-width:1450px){.home-intro,.services,.approach,.service-hero,.scope,.faq,.estimate{margin-left:5%;margin-right:5%}}@media(max-width:1100px){nav{gap:16px;font-size:.78rem}.brand{width:210px}.service-hero{gap:35px}.estimate{gap:40px}.card-text h2{font-size:1.6rem}.approach{gap:50px}}@media(max-width:850px){header{flex-wrap:wrap;padding-top:14px;padding-bottom:14px}.brand{width:210px}.menu{display:block;border:1px solid #153e30;color:#153e30;background:white;padding:9px 15px;font-size:.9rem;cursor:pointer}nav{display:none;width:100%;flex-direction:column;align-items:stretch;padding-top:15px;font-size:1rem}nav.open{display:flex}nav a{padding:8px 0}.home-intro{padding-top:45px}.intro-bottom{align-items:flex-start;flex-direction:column}.services{grid-template-columns:1fr}.card-image img{height:330px}.card-text h2{font-size:2rem}.approach,.service-hero,.expect,.faq,.estimate{grid-template-columns:1fr;gap:40px}.approach,.faq{margin-top:65px;margin-bottom:65px}.service-hero img{height:380px}.service-hero{margin-top:25px}.breadcrumb{margin-bottom:30px}.scope-grid{grid-template-columns:1fr}.cta{align-items:flex-start;flex-direction:column}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{flex-wrap:wrap}.message,.privacy{margin-left:5%;margin-right:5%}.estimate{margin-top:40px}.contact-lines{margin:25px 0}}@media(max-width:480px){.topline{font-size:.65rem}.home-intro h1{font-size:2.75rem}.card-image img{height:260px}.form-grid{grid-template-columns:1fr}.form-grid label{grid-column:1/-1}.footer-top{grid-template-columns:1fr}.footer-top>div:first-child{grid-column:auto}.contact-lines a{font-size:1rem}.privacy h1{font-size:2.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}