@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";
:root{--green:#2c5010;--green-dark:#203a10;--ink:#161b16;--muted:#626960;--surface:#f5f7f2;--border:#dfe5d9;--font-body:"DM Sans",Arial,sans-serif;--font-heading:"Manrope",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:140px}body{color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background:#fff;margin:0;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0}p{text-wrap:pretty}h1,h2,h3{font-family:var(--font-heading)}::selection{background:#d6e5c7}:focus-visible{outline-offset:5px;outline:3px solid #618e35}.container{width:min(1200px,100% - 96px);margin-inline:auto}.section{padding:76px 0}h2{letter-spacing:-1.2px;font-size:clamp(28px,2.7vw,36px);font-weight:700;line-height:1.25}.button{background:var(--green);color:#fff;border-radius:5px;justify-content:center;align-items:center;gap:12px;min-height:52px;padding:13px 23px;font-size:15px;font-weight:600;transition:background .2s;display:inline-flex}.button:hover{background:var(--green-dark)}.text-link{color:var(--green);align-items:center;gap:10px;padding-block:8px;font-weight:600;display:inline-flex}.text-link:hover{text-underline-offset:5px;text-decoration:underline}.skip-link{z-index:100;background:#fff;padding:12px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.site-header{z-index:20;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:30px;height:124px;display:flex}.brand{flex-shrink:0;width:195px;display:block}.brand img{width:100%;height:auto;display:block}.desktop-nav{align-items:center;gap:34px;margin-left:auto;display:flex}.desktop-nav a{padding:12px 0;font-size:16px;font-weight:500}.desktop-nav a:hover{color:var(--green)}.header-phone{border:1px solid var(--border);color:var(--green);border-radius:5px;align-items:center;gap:10px;padding:13px 17px;font-size:16px;font-weight:600;display:inline-flex}.header-phone:hover{background:var(--surface)}.menu-toggle{color:var(--ink);background:0 0;border:0;padding:10px;display:none}.mobile-nav{padding-bottom:18px}.mobile-nav a{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 0;display:flex}.hero{padding:68px 0 78px}.hero-grid{grid-template-columns:1.1fr 1fr;align-items:center;gap:42px;display:grid}.location{color:var(--green);align-items:center;gap:9px;margin-bottom:23px;font-size:19px;font-weight:600;display:flex}.location svg{flex-shrink:0}h1{letter-spacing:-2.6px;font-size:clamp(40px,4.3vw,62px);font-weight:800;line-height:1.12}h1 span{color:var(--green)}.hero-description{color:var(--muted);max-width:470px;margin:24px 0 28px;font-size:18px;line-height:1.75}.hero-photo img{aspect-ratio:4/3;object-fit:cover;border-radius:4px;width:100%;height:auto;display:block}.services-section{background:var(--surface);border-block:1px solid var(--border)}.section-heading{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:30px;display:flex}.section-heading>p{color:var(--muted);font-size:15px;line-height:1.7}.services-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.service-card{border:1px solid var(--border);background:#fff;border-radius:5px;padding:28px}.service-icon{color:var(--green);margin-bottom:23px}.service-card h3{letter-spacing:-.5px;margin-bottom:13px;font-size:21px;font-weight:700}.service-card p{color:var(--muted);font-size:16px;line-height:1.8}.services-callout{border:1px solid var(--border);border-left:4px solid var(--green);background:#fff;border-radius:5px;grid-template-columns:1fr 1.1fr;align-items:start;gap:48px;margin-top:22px;padding:32px 36px;display:grid}.services-callout h3{letter-spacing:-.5px;text-wrap:balance;align-self:center;font-size:23px;font-weight:700;line-height:1.35}.services-callout h3 span{color:var(--green);margin-top:4px;display:block}.services-callout p{color:var(--muted);margin-bottom:8px;font-size:16px;line-height:1.8}.project-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.project-card{text-align:left;color:var(--ink);background:0 0;border:0;padding:0;display:block}.project-image{background:var(--surface);border-radius:5px;height:270px;position:relative;overflow:hidden}.project-image img{object-fit:cover;transition:transform .3s}.project-card:hover img{transform:scale(1.035)}.project-open{background:#fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:14px;right:14px}.project-tag{background:#fffffff0;border-radius:3px;padding:7px 10px;font-size:12px;position:absolute;bottom:14px;left:14px}.project-card h3{margin-top:16px;font-size:17px;font-weight:600}.sample-note{color:var(--muted);margin-top:24px;font-size:12px;line-height:1.7}.about-section{background:var(--surface);border-block:1px solid var(--border)}.about-grid{grid-template-columns:.9fr 1.1fr;align-items:center;gap:70px;display:grid}.eyebrow{color:var(--green);letter-spacing:1.6px;margin-bottom:14px;font-size:12px;font-weight:700}.about-copy h2{margin-bottom:22px}.about-copy>p:not(.eyebrow){color:var(--muted);margin-bottom:16px;font-size:16px;line-height:1.85}.about-photo{border-radius:4px;width:100%;max-width:460px;height:auto;margin-inline:auto;display:block}.reviews-section{border-bottom:1px solid var(--border);padding:33px 0}.reviews-inner{justify-content:space-between;align-items:center;gap:20px;display:flex}.reviews-inner h2{letter-spacing:-.5px;font-size:21px}.reviews-inner p{color:var(--muted);font-size:15px}.faq-grid{grid-template-columns:.8fr 1.2fr;gap:65px;display:grid}.faq-grid>div>p{color:var(--muted);margin-top:18px;font-size:16px;line-height:1.7}.faq-list{border-top:1px solid var(--border)}.faq-item{border-bottom:1px solid var(--border)}.faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:21px 0;font-size:16px;font-weight:500;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary svg{flex-shrink:0;transition:transform .2s}.faq-item[open] summary svg{transform:rotate(180deg)}.faq-item>p{color:var(--muted);padding:0 30px 21px 0;font-size:15px;line-height:1.8}.contact-section{background:var(--green-dark);color:#fff;padding:59px 0}.contact-inner{justify-content:space-between;align-items:center;gap:40px;display:flex}.contact-inner h2{font-size:38px}.contact-inner p{color:#d3ddca;margin-top:12px;font-size:15px;line-height:1.8}.contact-phone>span{letter-spacing:1.4px;color:#d3ddca;margin-bottom:10px;font-size:12px;display:block}.contact-phone>a{letter-spacing:-1px;align-items:center;gap:14px;font-size:34px;font-weight:600;display:flex}.contact-phone>a:hover{text-underline-offset:6px;text-decoration:underline}.contact-inner .sms-disclosure{max-width:360px;margin-top:14px;font-size:12px;line-height:1.6}.sms-disclosure a{text-underline-offset:3px;text-decoration:underline}.sms-disclosure a:hover{color:#fff}.footer-inner{color:var(--muted);justify-content:space-between;gap:24px;padding-block:27px;font-size:12px;display:flex}.footer-inner a:hover{color:var(--green)}.legal{max-width:760px;color:var(--muted);font-size:16px;line-height:1.8}.legal h1{letter-spacing:-1.6px;color:var(--ink);font-size:clamp(34px,4vw,48px)}.legal h2{letter-spacing:-.5px;color:var(--ink);margin:40px 0 12px;font-size:22px}.legal p+p{margin-top:14px}.legal ul,.legal ol{margin:12px 0 0;padding-left:22px}.legal li+li{margin-top:8px}.legal a{color:var(--green);overflow-wrap:anywhere;font-weight:600}.legal a:hover{text-underline-offset:4px;text-decoration:underline}.legal-updated{margin:10px 0 28px;font-size:14px}.legal-form{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--green);border-radius:5px;margin-top:44px;padding:30px 34px}.legal-form-owner{letter-spacing:1.4px;text-transform:uppercase;color:var(--green);font-size:12px;font-weight:700}.legal-form h2{margin-top:6px}.legal-form dl{grid-template-columns:auto 1fr;gap:14px 12px;margin:20px 0 24px;display:grid}.legal-form dt{color:var(--ink);font-weight:500}.legal-form dd{border-bottom:1px solid #b9c2b2;margin:0}.legal-checkboxes{list-style:none;padding-left:0!important}.legal-checkboxes li{padding-left:30px;position:relative}.legal-checkboxes li:before{content:"";border:1.5px solid var(--muted);background:#fff;border-radius:3px;width:16px;height:16px;position:absolute;top:5px;left:0}.project-dialog{width:min(860px,100% - 36px);max-height:90dvh;color:var(--ink);background:#fff;border:0;border-radius:7px;padding:0;overflow:auto}.project-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#102007bb}.dialog-close{z-index:1;background:#fff;border:0;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:14px;right:14px}.dialog-image{height:min(52vh,480px);position:relative}.dialog-image img{object-fit:cover}.dialog-content{padding:25px 30px}.dialog-content h3{margin-bottom:10px;font-size:23px}.dialog-content p{color:var(--muted);font-size:14px;line-height:1.7}@media (max-width:1050px){.container{width:calc(100% - 64px)}.desktop-nav{gap:22px}.desktop-nav a{font-size:15px}.header-inner{gap:22px;height:116px}.brand{width:175px}.header-phone{padding-inline:12px;font-size:14px}.hero-grid{gap:28px}h1{letter-spacing:-2px;font-size:46px}.hero-description{font-size:17px}.about-grid,.faq-grid{gap:40px}.service-card{padding:24px}.service-card h3{font-size:19px}.project-image{height:240px}.contact-phone>a{font-size:29px}}@media (max-width:760px){html{scroll-padding-top:120px}.container{width:calc(100% - 40px)}.section{padding:52px 0}.header-inner{gap:10px;height:108px}.brand{width:165px}.desktop-nav{display:none}.header-phone{border:0;gap:7px;margin-left:auto;padding:12px 8px;font-size:12px}.header-phone svg{width:15px}.menu-toggle{padding:8px;display:block}.hero{padding:39px 0 32px}.hero-grid{grid-template-columns:1fr;gap:29px}.location{margin-bottom:21px;font-size:17px}h1{letter-spacing:-1.9px;font-size:clamp(36px,6.9vw,51px)}.hero-description{max-width:440px;margin-top:20px;font-size:17px}.button{font-size:14px}.section-heading{margin-bottom:25px;display:block}.section-heading>p{margin-top:12px}.services-grid{grid-template-columns:1fr;gap:14px}.services-callout{grid-template-columns:1fr;gap:14px;margin-top:14px;padding:25px}.services-callout h3{font-size:20px}.service-card{padding:25px}.service-icon{margin-bottom:18px}.service-card h3{font-size:21px}.project-grid{grid-template-columns:1fr;gap:27px}.project-image{height:300px}.about-grid,.faq-grid{grid-template-columns:1fr;gap:28px}.reviews-inner{flex-direction:column;align-items:flex-start;gap:10px}.faq-grid>div>p{margin-top:12px}.faq-item summary{font-size:15px}.contact-inner{flex-direction:column;align-items:flex-start;gap:28px}.contact-section{padding-block:45px}.contact-inner h2{font-size:34px}.contact-phone>a{font-size:31px}.footer-inner{flex-wrap:wrap;gap:12px 20px;font-size:11px}.footer-inner>span:first-child{width:100%}.footer-inner a:last-child{margin-left:auto}.dialog-content{padding:22px}.legal h2{margin-top:34px}.legal-form{padding:24px 20px}}@media (max-width:380px){.container{width:calc(100% - 32px)}.brand{width:140px}.header-phone{padding-inline:2px;font-size:11px}.header-phone svg{display:none}.header-inner{height:96px}h1{letter-spacing:-1.5px;font-size:33px}.contact-phone>a{font-size:28px}}@media (prefers-reduced-motion:no-preference) and (scripting:enabled){[data-reveal]{transition:opacity .8s ease-out var(--reveal-delay,0s), transform .8s ease-out var(--reveal-delay,0s)}[data-reveal]:not(.is-visible){opacity:0;transform:translateY(18px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
