:root{--color-forest:#103b28;--color-brand:#07502f;--color-green:#237849;--color-gold:#f5be3d;--color-cream:#faf7eb;--color-sage:#eaf0e5;--color-white:#fff;--color-muted:#69776e;--color-border:#dce4d9;--color-image-label:#173e2f;--color-hero-copy:#e3ede5;--color-hero-detail:#cfdfd2;--color-contact-copy:#dce9df;--color-mobile-hero-copy:#e1ece3;--color-mobile-contact-copy:#e2ece4;--font-family:"Inter", Arial, sans-serif;--font-weight-regular:400;--font-weight-semibold:600;--font-weight-bold:700;--font-size-xs:.6875rem;--font-size-sm:.8125rem;--font-size-body:.875rem;--font-size-copy:1.0625rem;--font-size-lead:1.1875rem;--font-size-heading:2.6875rem;--font-size-hero:4.0625rem;--line-height-heading:1.13;--line-height-body:1.55;--space-4:.25rem;--space-8:.5rem;--space-12:.75rem;--space-16:1rem;--space-20:1.25rem;--space-24:1.5rem;--space-30:1.875rem;--space-40:2.5rem;--space-48:3rem;--space-64:4rem;--space-76:4.75rem;--radius-5:5px;--radius-6:6px;--radius-7:7px;--radius-8:8px;--radius-10:10px;--radius-12:12px;--content-width:1288px;--page-gutter:clamp(22px, 5.278vw, 76px);--button-height:49px}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-regular.ttf)format("truetype")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-semibold.ttf)format("truetype")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-bold.ttf)format("truetype")}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{color:var(--color-forest);background:var(--color-cream);font-family:var(--font-family);line-height:var(--line-height-body);margin:0}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:var(--line-height-heading)}h2{font-size:var(--font-size-heading);letter-spacing:-.025em}h3{font-size:1.25rem}p{color:var(--color-muted)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,summary{cursor:pointer}img{max-width:100%;display:block}button{color:inherit}:focus-visible{outline:3px solid var(--color-green);outline-offset:5px}.container{width:min(var(--content-width), calc(100% - var(--page-gutter) * 2));margin-inline:auto}.eyebrow{color:var(--color-green);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);line-height:1.2}.button{min-height:var(--button-height);border-radius:var(--radius-6);background:var(--color-gold);color:var(--color-forest);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-align:center;border:1px solid #0000;justify-content:center;align-items:center;padding:14px 20px;line-height:1.4;transition:filter .15s;display:inline-flex}.button:hover{filter:brightness(1.06)}.button-outline{color:var(--color-white);border-color:var(--color-white);background:0 0}.text-link{color:var(--color-brand);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.text-link:hover{text-underline-offset:5px;text-decoration:underline}.mobile-only{display:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:20;background:var(--color-gold);padding:12px 20px;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}@media (width<=767px){:root{--page-gutter:22px;--font-size-heading:1.875rem;--font-size-hero:2.375rem}h2{letter-spacing:-.02em}.desktop-only{display:none!important}.mobile-only{display:inline}.eyebrow{font-size:var(--font-size-xs)}.button{font-size:.75rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}.site-header[data-astro-cid-nen7h5rs]{z-index:5;background:var(--color-cream);position:relative}.header-inner[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:var(--space-24);max-width:1440px;min-height:108px;margin-inline:auto;padding-inline:55px 42px;display:flex}.brand[data-astro-cid-nen7h5rs]{flex-shrink:0}.brand[data-astro-cid-nen7h5rs] img[data-astro-cid-nen7h5rs]{object-fit:contain;width:220px;height:108px}nav[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--space-30);font-size:14px;font-weight:var(--font-weight-semibold);display:flex}nav[data-astro-cid-nen7h5rs]>a[data-astro-cid-nen7h5rs]:hover{text-underline-offset:5px;text-decoration:underline}nav[data-astro-cid-nen7h5rs] .button[data-astro-cid-nen7h5rs]{min-width:220px}.menu-toggle[data-astro-cid-nen7h5rs]{display:none}@media (width>=768px) and (width<=1100px){.header-inner[data-astro-cid-nen7h5rs]{padding-inline:var(--space-24)}nav[data-astro-cid-nen7h5rs]{gap:var(--space-20)}nav[data-astro-cid-nen7h5rs] .button[data-astro-cid-nen7h5rs]{min-width:auto}.brand[data-astro-cid-nen7h5rs] img[data-astro-cid-nen7h5rs]{width:170px}}@media (width<=767px){.header-inner[data-astro-cid-nen7h5rs]{min-height:82px;padding-inline:11px 22px}.brand[data-astro-cid-nen7h5rs] img[data-astro-cid-nen7h5rs]{width:136px;height:82px}.menu-toggle[data-astro-cid-nen7h5rs]{background:0 0;border:0;align-content:center;gap:4px;width:38px;height:44px;padding:7px;display:grid}.menu-toggle[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]{background:var(--color-brand);height:3px;display:block}nav[data-astro-cid-nen7h5rs]{background:var(--color-cream);border-bottom:1px solid var(--color-border);align-items:stretch;padding:22px;display:none;position:absolute;inset:100% 0 auto}nav[data-astro-cid-nen7h5rs].is-open{flex-direction:column;gap:0;display:flex}nav[data-astro-cid-nen7h5rs]>a[data-astro-cid-nen7h5rs]{padding:12px}nav[data-astro-cid-nen7h5rs] .button[data-astro-cid-nen7h5rs]{margin-top:12px}}.design-image[data-astro-cid-lojuhwne]{border-radius:var(--radius-10);width:100%;height:100%;position:relative;overflow:hidden}picture[data-astro-cid-lojuhwne],img[data-astro-cid-lojuhwne]{width:100%;height:100%}img[data-astro-cid-lojuhwne]{object-fit:cover}figcaption[data-astro-cid-lojuhwne]{background:var(--color-image-label);min-height:40px;color:var(--color-white);font-size:10px;font-weight:var(--font-weight-semibold);align-items:center;padding:8px 16px;line-height:1.3;display:flex;position:absolute;inset:auto 0 0}@media (width<=767px){figcaption[data-astro-cid-lojuhwne]{min-height:36px;padding:8px 12px}}.estimate-form[data-astro-cid-xxufhcpn]{background:var(--color-cream);border-radius:var(--radius-12);gap:13px;padding:30px 39px;display:grid}h3[data-astro-cid-xxufhcpn]{margin-bottom:6px;font-size:24px}label[data-astro-cid-xxufhcpn],input[data-astro-cid-xxufhcpn],select[data-astro-cid-xxufhcpn]{width:100%;min-width:0;display:block}input[data-astro-cid-xxufhcpn],select[data-astro-cid-xxufhcpn]{border-radius:var(--radius-5);background:var(--color-white);height:49px;color:var(--color-forest);border:1px solid #0000;padding:12px 15px;font-size:14px}input[data-astro-cid-xxufhcpn]::placeholder,select[data-astro-cid-xxufhcpn]:invalid{color:var(--color-muted);opacity:1}.button[data-astro-cid-xxufhcpn]{width:100%;margin-top:10px}.button[data-astro-cid-xxufhcpn]:disabled{cursor:not-allowed}.form-status[data-astro-cid-xxufhcpn]{text-align:center;font-size:12px}@media (width<=767px){.estimate-form[data-astro-cid-xxufhcpn]{border-radius:var(--radius-10);gap:7px;padding:22px 17px 16px}h3[data-astro-cid-xxufhcpn]{margin-bottom:14px;font-size:16px}input[data-astro-cid-xxufhcpn],select[data-astro-cid-xxufhcpn]{height:38px;padding:8px 13px;font-size:12px}.button[data-astro-cid-xxufhcpn]{margin-top:10px}.form-status[data-astro-cid-xxufhcpn]{font-size:11px}}.hero{background:var(--color-forest)}.hero-inner{grid-template-columns:1fr 1fr;max-width:1440px;margin-inline:auto;display:grid}.hero-content{min-height:780px;padding:128px 60px 34px 76px}.hero .eyebrow,.contact .eyebrow{color:var(--color-gold)}.hero h1{font-size:var(--font-size-hero);letter-spacing:-.035em;color:var(--color-white);margin-top:40px;line-height:1.06}.hero-copy{font-size:var(--font-size-lead);color:var(--color-hero-copy);margin-top:28px;line-height:1.55}.hero-actions{gap:var(--space-16);margin-top:24px;display:flex}.hero-actions .button{flex-shrink:0;padding-inline:15px}.hero-actions .button:first-child{min-width:258px}.hero-actions .button:last-child{min-width:245px}.hero-detail{color:var(--color-hero-detail);font-size:12px;font-weight:var(--font-weight-semibold);margin-top:103px}.hero-image{min-width:0}.hero-image .design-image{border-radius:0}.intro{background:var(--color-cream)}.intro-inner{border-bottom:2px solid var(--color-border);grid-template-columns:1fr 1fr;gap:68px;min-height:510px;padding-top:92px;padding-bottom:110px;display:grid}.intro h2{margin-top:28px;font-size:48px;line-height:1.12}.intro-copy{font-size:var(--font-size-lead);padding-top:56px;line-height:1.6}.services{background:var(--color-white);min-height:970px;padding-block:78px 74px}.services h2{margin-top:28px}.section-subtitle{font-size:var(--font-size-copy);margin-top:22px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 30px;margin-top:38px;display:grid}.service-card{border-radius:var(--radius-10);background:var(--color-cream);grid-template-columns:270px minmax(0,1fr);gap:24px;min-height:307px;padding:10px;display:grid}.service-image{min-width:0;height:287px}.service-content{flex-direction:column;align-items:flex-start;min-width:0;padding:20px 12px 6px 0;display:flex}.service-content h3{margin-top:27px;font-size:22px}.service-content>p:not(.eyebrow){font-size:var(--font-size-body);margin-top:27px;line-height:1.44}.service-content .text-link{margin-top:auto;padding-top:20px;font-size:12px}.service-content .text-link span{margin-left:8px}.difference{background:var(--color-sage);min-height:680px;padding-block:118px 112px}.difference-inner{grid-template-columns:1fr 1fr;gap:70px;display:grid}.difference-copy{padding-top:0}.difference-copy .eyebrow{margin-top:-35px}.difference h2{max-width:560px;margin-top:28px;font-size:45px;line-height:1.12}.difference-copy>p:last-child{max-width:530px;margin-top:62px;font-size:18px;line-height:1.5}.benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 35px;display:grid}.benefit{background:var(--color-white);border-radius:var(--radius-8);min-height:210px;padding:25px}.benefit-number{color:var(--color-green);font-size:15px;font-weight:var(--font-weight-bold);display:block}.benefit h3{margin-top:28px;font-size:20px;line-height:1.2}.benefit p{font-size:var(--font-size-body);margin-top:20px;line-height:1.45}.projects{min-height:910px;padding-block:72px}.projects h2{margin-top:28px}.projects .section-subtitle{margin-top:20px}.project-grid{grid-template-rows:225px 225px;grid-template-columns:1fr 1fr;gap:20px 30px;margin-top:44px;display:grid}.project-image-0{grid-row:span 2}.project-caption{margin-top:28px}.gallery-trigger{background:0 0;border:0;margin-top:30px;padding:0;font-size:14px}.gallery-trigger span{margin-left:12px}.process{background:var(--color-white);min-height:560px;padding-block:72px 96px}.process h2{margin-top:23px;font-size:40px}.process-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:52px;display:grid}.process-step{background:var(--color-cream);border-radius:var(--radius-8);min-height:242px;padding:23px 25px}summary{list-style:none}summary::-webkit-details-marker{display:none}.step-number{color:var(--color-green);font-size:44px;font-weight:var(--font-weight-bold);line-height:1;display:block}.step-heading{font-size:20px;font-weight:var(--font-weight-bold);margin-top:40px;line-height:1.15;display:block}.process-step p{font-size:var(--font-size-body);padding-top:18px;line-height:1.45}@media (width>=768px){.process-step>p{display:block}.process-step::details-content{content-visibility:visible}}.solutions{background:var(--color-sage);min-height:685px;padding-block:54px 75px}.solutions h2{margin-top:22px;font-size:40px}.solutions-grid{grid-template-columns:1fr 1fr;gap:38px;margin-top:40px;display:grid}.solution-image{height:313px}.solutions h3{margin-top:30px;font-size:24px}.solutions article>p{max-width:555px;margin-top:12px;font-size:15px;line-height:1.45}.areas{min-height:510px;padding-block:61px 53px}.areas-inner{grid-template-columns:1fr 1fr;gap:26px 65px;display:grid}.areas-copy h2{margin-top:25px;font-size:43px;line-height:1.12}.areas-copy>p:not(.eyebrow){margin-top:24px;font-size:18px;line-height:1.55}.areas-copy>p.county-description{margin-top:30px;font-size:16px}.coverage-panel{background:var(--color-sage);border-radius:var(--radius-12);grid-area:1/2/span 2;min-height:395px;padding:30px 39px 24px}.coverage-panel h3{color:var(--color-brand);font-size:14px;line-height:1.2}.coverage-panel ol{margin:32px 0 24px 35px;padding:0;list-style:none;position:relative}.coverage-panel ol:before{content:"";background:var(--color-brand);width:3px;position:absolute;top:7px;bottom:7px;left:0}.coverage-panel li{font-size:14px;font-weight:var(--font-weight-semibold);padding-left:28px;line-height:1.1;position:relative}.coverage-panel li+li{margin-top:42px}.coverage-panel li:before{content:"";background:var(--color-gold);border-radius:50%;width:13px;height:13px;position:absolute;top:1px;left:-5px}.coverage-panel>p{color:var(--color-brand);font-size:11px;font-weight:var(--font-weight-bold)}.areas-action{align-self:end}.faq{background:var(--color-white);min-height:540px;padding-block:62px 52px}.faq h2{margin-top:28px;font-size:40px}.faq-list{margin-top:44px}.faq details{border-bottom:1px solid var(--color-border)}.faq summary{min-height:60px;font-size:17px;line-height:1.3;font-weight:var(--font-weight-semibold);justify-content:space-between;align-items:center;gap:20px;padding:12px 20px 12px 2px;display:flex}.faq summary span{color:var(--color-green);font-size:24px;font-weight:var(--font-weight-regular);flex-shrink:0}.faq details[open] summary span{transform:rotate(45deg)}.faq details>p{max-width:900px;padding:0 30px 20px 2px;font-size:15px}.contact{background:var(--color-forest);min-height:620px;padding-block:62px 58px}.contact-inner{grid-template-columns:minmax(0,1fr) 560px;gap:58px;display:grid}.contact-copy{padding-top:24px}.contact h2{color:var(--color-white);max-width:650px;margin-top:36px;font-size:48px;line-height:1.14}.contact-copy>p:not(.eyebrow){color:var(--color-contact-copy);max-width:560px;margin-top:52px;font-size:18px;line-height:1.53}.contact-copy .button{min-width:270px;margin-top:70px}.site-footer{background:var(--color-cream)}.footer-inner{justify-content:space-between;align-items:center;gap:30px;min-height:87px;display:flex}.footer-inner>a{font-size:16px;font-weight:var(--font-weight-bold)}.footer-inner nav{color:var(--color-green);font-size:12px;font-weight:var(--font-weight-semibold);gap:30px;display:flex}.footer-inner a:hover{text-underline-offset:4px;text-decoration:underline}.project-dialog{background:var(--color-cream);border-radius:var(--radius-12);width:min(1000px,100% - 32px);max-height:calc(100dvh - 48px);color:var(--color-forest);border:0;padding:28px}.project-dialog::backdrop{background:#103b28cc}.dialog-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.dialog-header h2{font-size:28px}.dialog-close{background:0 0;border:0;width:44px;height:44px;font-size:36px}.dialog-gallery{gap:30px;display:grid}.dialog-gallery img{object-fit:contain;border-radius:var(--radius-8);width:100%;height:auto;max-height:65vh}.dialog-gallery h3{margin-top:12px;font-size:14px}body:has(.project-dialog[open]){overflow:hidden}@media (width>=768px) and (width<=1250px){.hero-content{padding:90px var(--space-30) 34px var(--page-gutter);min-height:720px}.hero h1{font-size:clamp(38px,4.5vw,58px)}.hero-copy{font-size:17px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-detail{margin-top:45px}.service-card{grid-template-columns:minmax(0,43%) minmax(0,1fr);gap:18px}.service-content h3{font-size:19px}.difference-inner{gap:40px}.benefit-grid{gap:20px}.benefit{padding:20px}.benefit h3{font-size:18px}.contact-inner{grid-template-columns:1fr 1fr;gap:40px}.contact h2{font-size:40px}.coverage-panel{padding-inline:24px}.process-grid{gap:20px}.process-step{padding:22px 18px}.step-heading{font-size:18px}}@media (width<=767px){.hero-inner{flex-direction:column;min-height:760px;padding:46px 20px 29px;display:flex}.hero-content{min-height:0;padding:0 2px}.hero h1{font-size:var(--font-size-hero);letter-spacing:-.025em;margin-top:20px;line-height:1.25}.hero-copy{color:var(--color-mobile-hero-copy);margin-top:16px;font-size:16px;line-height:1.2}.hero-actions{flex-direction:column;gap:11px;max-width:325px;margin-top:24px}.hero-actions .button{width:100%;min-width:0!important}.hero-image{height:254px;margin-top:28px}.hero-image .design-image{border-radius:var(--radius-8)}.intro-inner{border:0;min-height:440px;padding-top:55px;padding-bottom:62px;display:block}.intro h2{max-width:345px;margin-top:27px;font-size:29px;line-height:1.5}.intro-copy{padding-top:61px;font-size:15px;line-height:1.5}.services{min-height:1630px;padding-block:45px 70px}.services .eyebrow{font-size:13px}.services h2{margin-top:24px;line-height:1.5}.service-grid{grid-template-columns:1fr;gap:48px;margin-top:55px}.service-card{background:0 0;min-height:0;padding:0;display:block}.service-image{height:180px}.service-content{padding:0 2px}.service-content h3{margin-top:16px;font-size:19px;line-height:1.5}.service-content>p:not(.eyebrow){margin-top:6px;line-height:1.44}.service-content .text-link{padding-top:14px;font-size:11px}.difference{min-height:619px;padding-block:47px}.difference-inner{display:block}.difference-copy .eyebrow{margin-top:0;font-size:13px}.difference h2{margin-top:24px;font-size:30px;line-height:1.2}.benefit-grid{grid-template-columns:1fr;gap:12px;margin-top:24px}.benefit{border-radius:var(--radius-7);grid-template-columns:30px 1fr;gap:1px;min-height:88px;padding:12px 17px;display:grid}.benefit-number{color:var(--color-brand);font-size:16px}.benefit h3{font-size:17px;font-weight:var(--font-weight-semibold);margin:0;line-height:1.5}.benefit p{margin-top:0;font-size:14px;line-height:1.44}.projects{min-height:960px;padding-block:43px 66px}.projects h2{margin-top:24px;line-height:1.5}.project-grid{flex-direction:column;gap:20px;margin-top:44px;display:flex}.project-image{height:170px}.project-image-0{height:235px}.project-image-1{order:2}.project-image-2{order:1}.gallery-trigger{margin-top:38px;font-size:13px}.process{min-height:640px;padding-block:50px 75px}.process h2{margin-top:23px;font-size:30px;line-height:1.5}.process-grid{grid-template-columns:1fr;gap:17px;margin-top:55px}.process-step{border-radius:var(--radius-7);min-height:79px;padding:0}.process-step summary{align-items:center;gap:20px;min-height:79px;padding:18px;display:flex}.step-number{color:var(--color-brand);min-width:40px;font-size:22px}.step-heading{font-size:17px;font-weight:var(--font-weight-semibold);margin-top:0}.step-arrow{margin-left:auto;font-size:23px}.process-step[open] .step-arrow{transform:rotate(180deg)}.process-step p{padding:0 18px 20px 78px}.solutions{min-height:790px;padding-block:38px 64px}.solutions .eyebrow{font-size:13px}.solutions h2{margin-top:22px;font-size:29px;line-height:1.5}.solutions-grid{grid-template-columns:1fr;gap:48px;margin-top:32px}.solution-image{height:163px}.solution-image figcaption{min-height:25px;padding-block:5px}.solutions h3{margin-top:14px;font-size:20px;line-height:1.5}.solutions article>p{margin-top:5px;font-size:14px;line-height:1.45}.areas{min-height:834px;padding-block:36px 58px}.areas-inner{flex-direction:column;gap:0;display:flex}.areas-copy h2{max-width:344px;margin-top:25px;font-size:29px}.areas-copy>p:not(.eyebrow){margin-top:34px;font-size:15px;line-height:1.4}.coverage-panel{border-radius:9px;min-height:397px;margin-top:44px;padding:22px}.coverage-panel h3{font-size:clamp(11px,3.2vw,14px)}.coverage-panel ol{margin-top:40px;margin-bottom:38px;margin-left:35px}.coverage-panel>p{white-space:nowrap;font-size:clamp(8px,2.5vw,11px)}.areas-action{align-self:stretch;margin-top:27px}.areas-action>p{color:var(--color-brand);font-size:11px;font-weight:var(--font-weight-bold);display:block}.areas-action .button{width:100%;margin-top:24px}.faq{background:var(--color-cream);min-height:540px;padding-block:40px 33px}.faq h2{margin-top:22px;font-size:28px;line-height:1.5}.faq-list{margin-top:42px}.faq details{background:var(--color-white);border-radius:var(--radius-7);border:0;margin-bottom:7px}.faq summary{gap:16px;min-height:61px;padding:12px;font-size:13px;line-height:1.5}.faq summary span{font-size:18px;font-weight:var(--font-weight-bold)}.faq details>p{padding:0 12px 16px;font-size:13px}.contact{min-height:650px;padding-block:44px 36px}.contact-inner{grid-template-columns:1fr;gap:50px}.contact-copy{padding-top:0}.contact h2{margin-top:26px;font-size:33px;line-height:1.5}.contact-copy>p:not(.eyebrow){color:var(--color-mobile-contact-copy);margin-top:26px;font-size:15px;line-height:1.5}.footer-inner{min-height:93px}.footer-inner>a{font-size:13px}}
