:root{color-scheme:light;--black:#151515;--text:#262626;--muted:#5b5b5b;--white:#fff;--soft:#f7f7f7;--line:#d9d9d9;--coral:#e65f57;--orange:#e98d45;--grass:#2f7d32;--trust-green:#287a5f;--chat-green-dark:#175b34;--chat-orange:#f2a15f;--chat-cream:#fffaf1;--shadow:0 22px 44px #0000001f;--shadow-image:0 1px 3px #111e260f, 0 10px 26px #14361f1a;--shadow-card:0 2px 6px #111e2612, 0 16px 38px #14361f1f;--shadow-feature:0 2px 6px #111e2614, 0 18px 42px #14361f29, 0 32px 70px #14361f17;--serif:Georgia, "Times New Roman", serif;--script:"Brush Script MT", "Segoe Script", cursive;--sans:Arial, Helvetica, sans-serif;--page-gutter:32px}*{box-sizing:border-box}html{scroll-behavior:smooth;width:100%;min-height:100%;overflow-x:clip}body{background:var(--white);width:100%;min-height:100%;color:var(--text);font-family:var(--sans);margin:0;font-size:18px;overflow-x:hidden}body,button,input,textarea{letter-spacing:0}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}p{font-size:1.04rem;line-height:1.55}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.site-header{background:var(--white);min-height:100px;color:var(--black);z-index:20;justify-content:space-between;align-items:center;gap:32px;padding:0 7%;display:flex;position:relative}.brand{flex:none;align-items:center;width:104px;display:flex}.brand img{object-fit:contain;width:104px;height:104px}.site-nav{font-family:var(--serif);align-items:center;gap:21px;font-size:1.42rem;display:flex}.site-nav a{align-items:center;gap:21px;padding:12px 0;display:inline-flex}.site-nav a+a:before{content:"";background:var(--orange);border-radius:999px;flex:none;width:9px;height:9px}.menu-toggle{cursor:pointer;background:0 0;border:0;border-radius:0;width:44px;height:44px;padding:10px;display:none}.menu-toggle span:not(.sr-only){background:var(--grass);border-radius:10px;height:3px;margin:4px 0;display:block}.hero{isolation:isolate;background-image:linear-gradient(#00000078, #00000078), var(--hero-image);min-height:760px;color:var(--white);text-align:center;background-position:50%;background-size:cover;place-items:center;padding:96px 24px;display:grid;position:relative;overflow:hidden}.hero-compact{min-height:350px;padding:70px 24px}.hero-left{text-align:left;place-items:center start}.hero-inner{width:min(760px,100%);margin:0 auto}.hero h1{font-family:var(--serif);color:var(--white);margin:0;font-size:clamp(3.1rem,5.4vw,4.7rem);font-weight:400;line-height:1.02}.hero-compact h1{font-size:clamp(2.9rem,4.4vw,4.1rem)}.hero-compact .hero-inner{transform:none}.script-title{font-family:var(--script);color:var(--coral);margin:0 0 10px;font-size:clamp(2.1rem,3.2vw,3rem);font-weight:400;line-height:1.05}.title-kicker{color:var(--black);font-family:var(--serif);margin:0 0 10px;font-size:clamp(1.55rem,4.2vw,2.35rem);font-weight:500;line-height:1.05}.hero-copy{width:min(720px,100%);margin:24px auto 0;font-size:1.55rem;font-weight:400;line-height:1.45}.button-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:22px;margin-top:34px;display:flex}.button-link{border:3px solid var(--white);color:#fff;min-height:50px;font-family:var(--sans);border-radius:3px;justify-content:center;align-items:center;padding:12px 24px;font-size:1.12rem;font-weight:400;line-height:1;transition:transform .16s,filter .16s,background-color .16s,border-color .16s;display:inline-flex}.button-link:hover{filter:brightness(.97);transform:translateY(2px)}.button-coral{background:var(--coral)}.button-green{background:var(--white);color:var(--grass);border-color:var(--grass)}.button-green:hover{background:var(--grass);color:var(--white)}.button-outline{color:var(--white);background:#ffffff1f;border-color:#ffffffdb}.button-outline:hover{background:var(--white);color:var(--black)}.button-dark{background:var(--black)}.intro-band,.services-section,.why-section,.process-section,.faq-section,.service-areas-section,.about-detail-section,.legal-section,.thank-you-section,.our-work-section,.cta-section{width:min(1180px, calc(100% - var(--page-gutter)));margin:0 auto;padding:80px 0}.intro-band{text-align:center}.intro-band p{width:min(820px,100%);margin:0 auto;font-size:1.18rem}.our-work-intro{padding-bottom:48px}.our-work-section{padding:0 0 80px}.before-after-project{background:var(--white);box-shadow:var(--shadow-feature);border:1px solid #14361f24;overflow:hidden}.before-after-project+.before-after-project,.completed-work{margin-top:64px}.our-work-compact-cta{isolation:isolate;justify-content:space-between;align-items:center;gap:32px;margin-top:48px;padding:28px 32px;display:flex;position:relative}.our-work-compact-cta:before{content:"";inset-block:0;z-index:-1;pointer-events:none;background-color:#0000;background-image:linear-gradient(#ffffffdb,#ffffffdb),url(/assets/decorative/four-season-leaf-background.webp);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-block:1px solid #2f7d321a;width:100vw;position:absolute;left:50%;transform:translate(-50%)}.our-work-compact-cta h2{color:var(--black);font-family:var(--serif);margin:0;font-size:clamp(1.55rem,2.5vw,2.15rem);font-weight:400;line-height:1.12}.our-work-compact-cta p{color:var(--text);margin:10px 0 0}.our-work-compact-cta .button-link{flex:none}.completed-work-heading{text-align:center;width:min(760px,100%);margin:0 auto 30px}.completed-work-heading h2{font-family:var(--serif);margin:0;font-size:clamp(2rem,3.5vw,3.15rem);font-weight:400;line-height:1.08}.completed-work-heading>p:last-child{margin:16px 0 0}.completed-work-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.completed-work-image{aspect-ratio:4/5;background:var(--trust-green);min-width:0;box-shadow:var(--shadow-image);margin:0;overflow:hidden}.completed-work-featured{aspect-ratio:16/9;grid-column:1/-1}.completed-work-image img{object-fit:cover;width:100%;height:100%;display:block}.before-after-heading{text-align:center;width:min(760px,100%);margin:0 auto;padding:38px 32px 34px}.before-after-heading h2,.future-work-note h2{font-family:var(--serif);margin:0;font-size:clamp(2rem,3.5vw,3.15rem);font-weight:400;line-height:1.08}.before-after-heading>p:last-child{margin:16px 0 0}.before-after-grid{background:var(--trust-green);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.comparison-panel{margin:0}.comparison-image-wrap{aspect-ratio:4/3;position:relative;overflow:hidden}.comparison-image-wrap img{object-fit:cover;width:100%;height:100%;display:block}.comparison-label{background:var(--black);color:var(--white);letter-spacing:.12em;text-transform:uppercase;padding:9px 15px;font-size:.82rem;font-weight:800;position:absolute;bottom:18px;left:18px;box-shadow:0 8px 24px #00000038}.comparison-after .comparison-label{background:var(--grass);color:var(--white)}.future-work-note{text-align:center;background:#8eaa3f1f;width:min(760px,100%);margin:54px auto 0;padding:30px 32px}.section-title{text-align:center;margin-bottom:18px}.section-title-center{text-align:center}.section-title h2,.cta-section h2,.faq-section>h2{font-family:var(--serif);margin:0;font-size:clamp(2.35rem,3.8vw,3.5rem);font-weight:400;line-height:1.05}.grass-rule{width:min(199px,100%);margin-top:12px;margin-left:auto;margin-right:auto}.grass-rule img{width:100%;height:auto;display:block}.split-showcase{width:min(1180px, calc(100% - var(--page-gutter)));text-align:center;grid-template-columns:1fr;align-items:start;gap:36px;margin:0 auto;padding:70px 0 90px;display:grid}.split-showcase-copy{width:min(820px,100%);margin:0 auto}.split-showcase p{width:min(760px,100%);margin:0 auto}.four-season-showcase{background-color:var(--white);background-image:linear-gradient(#ffffffdb,#ffffffdb),url(/assets/decorative/four-season-leaf-background.webp);background-position:50%;background-size:cover;border-block:1px solid #2f7d321a;width:100%;max-width:none;margin-inline:0;padding:78px clamp(22px,4vw,54px) 96px}.split-showcase>img{object-fit:cover;width:100%;max-height:560px;box-shadow:var(--shadow);border-radius:18px}.season-gallery{--panel-gap:14px;gap:var(--panel-gap);background:#162414;border-radius:18px;width:min(1100px,100%);min-width:0;height:clamp(430px,44vw,590px);margin:0 auto;display:flex;overflow:hidden;box-shadow:0 30px 70px #101f1247,0 0 0 1px #ffffffbd,0 0 0 7px #ffffff57}.season-panel{min-width:0;height:100%;color:var(--white);cursor:pointer;background:#172314;border:0;border-radius:0;flex:1 1 0;padding:0;transition:flex .42s cubic-bezier(.22,1,.36,1),filter .18s;display:block;position:relative;overflow:hidden}.season-panel.is-active{flex:5.2 1 0}.season-panel:focus-visible{outline:3px solid var(--grass);outline-offset:-6px;z-index:2}.season-panel img{object-fit:cover;filter:saturate(.95)brightness(.84);width:100%;height:100%;transition:transform .42s cubic-bezier(.22,1,.36,1),filter .18s;display:block}.season-panel.is-active img{filter:saturate(1.02)brightness(.96);transform:scale(1.015)}.season-panel:after{content:"";pointer-events:none;background:linear-gradient(#0000000a 42%,#000000ad);position:absolute;inset:0}.season-panel-label{z-index:1;transform-origin:50%;writing-mode:vertical-rl;text-align:left;text-shadow:0 2px 16px #0009;gap:4px;min-width:150px;transition:right .3s,bottom .3s,transform .3s,writing-mode .3s;display:grid;position:absolute;bottom:22px;right:50%;transform:translate(50%)rotate(180deg)}.season-panel-label strong{font-family:var(--serif);font-size:clamp(1.55rem,3vw,2.2rem);font-weight:600;line-height:1}.season-panel:not(.is-active) .season-panel-label strong,.season-panel:not(.is-active) .season-panel-label span{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.season-panel:not(.is-active) .season-panel-label{width:1px;min-width:0;overflow:hidden}.season-panel-label span{font-family:var(--sans);font-size:.86rem;font-style:italic;line-height:1.25}.season-panel.is-active .season-panel-label{writing-mode:horizontal-tb;min-width:min(260px,100% - 48px);bottom:24px;left:24px;right:auto;transform:none}.season-panel.is-active .season-panel-label strong,.season-panel.is-active .season-panel-label span{clip:auto;white-space:normal;clip-path:none;width:auto;height:auto;position:static;overflow:visible}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.service-list-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.service-list-grid article{background:var(--soft);border:1px solid var(--line);border-radius:6px;min-height:230px;padding:30px}.service-list-grid h3{color:var(--orange);font-family:var(--serif);margin:0;font-size:clamp(1.65rem,2.4vw,2.15rem);font-weight:400;line-height:1.08}.service-list-grid p{margin:16px 0 0}.service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:24px;display:grid}.service-card{background:var(--soft);border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-card);border-radius:6px;overflow:hidden}.service-card img{object-fit:cover;width:100%;height:clamp(250px,23vw,330px);display:block}.service-card-body{text-align:center;padding:34px clamp(24px,3vw,46px) 38px}.service-card h3{color:var(--black);font-family:var(--serif);margin:0;font-size:clamp(2rem,3vw,2.7rem);font-weight:600;line-height:1.05}.service-card p{max-width:520px;color:var(--muted);margin:16px auto 0;font-size:1.05rem;line-height:1.58}.service-card-link{min-width:142px;min-height:48px;color:var(--white);background:var(--coral);font-family:var(--sans);border-radius:3px;justify-content:center;align-items:center;margin-top:24px;padding:12px 22px;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .16s,filter .16s;display:inline-flex}.service-card-link:hover{filter:brightness(.97);transform:translateY(2px)}.service-preview{min-height:360px;color:var(--white);box-shadow:var(--shadow);border-radius:2px;align-items:end;display:grid;position:relative;overflow:hidden}.service-preview img{object-fit:cover;width:100%;height:100%;transition:transform .26s;position:absolute;inset:0}.service-preview:after{content:"";background:linear-gradient(#0000001a,#000000a6);position:absolute;inset:0}.service-preview span{z-index:1;font-family:var(--serif);padding:24px;font-size:2.1rem;position:relative}.service-preview:hover img{transform:scale(1.05)}.grass-band{text-align:center;min-height:440px;color:var(--white);background-image:linear-gradient(#0000007a,#0000007a),url(/assets/provided-images/four-season/4-season-summer.webp);background-position:50%;background-size:cover;place-items:center;padding:72px 24px;display:grid}.grass-band .grass-rule{margin-left:auto;margin-right:auto}.why-section{text-align:center}.trust-section{width:min(1240px, calc(100% - var(--page-gutter)));margin-top:8px;padding:74px clamp(20px,4vw,48px)}.why-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0 0;padding:0;list-style:none;display:grid}.why-list li{min-height:96px;color:var(--text);background:var(--soft);text-align:left;box-shadow:var(--shadow-card);border:1px solid #2f7d3229;border-radius:6px;align-items:center;gap:14px;padding:22px 24px;font-weight:700;line-height:1.25;display:flex}.why-list li:before{content:"";background:var(--trust-green);border:3px solid #287a5f3d;border-radius:50%;flex:none;width:12px;height:12px;box-shadow:0 0 0 5px #287a5f14}.customer-reviews{width:100%;margin-top:52px;overflow:hidden}.review-stars{color:#f9ab00;flex:none;align-items:center;gap:2px;display:flex}.review-stars svg{fill:currentColor;display:block}.review-source-label{color:#666}.reviews-marquee:focus-visible{outline-offset:3px;outline:3px solid #287a5f57}.reviews-marquee{overscroll-behavior-inline:contain;scrollbar-width:none;scroll-snap-type:none;width:100%;padding:8px 0 12px;overflow-x:hidden;mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000)}.reviews-track,.reviews-list{width:max-content;display:flex}.reviews-track{will-change:transform;padding-left:0;animation:45s linear infinite customer-reviews-scroll}.reviews-list{gap:22px;margin:0;padding:0 22px 0 0;list-style:none}.reviews-list[aria-hidden=true]{display:flex}.review-card{scroll-snap-align:center;width:clamp(320px,31vw,420px);min-height:230px}.review-card article{background:var(--white);border:1px solid #ddd;border-radius:8px;height:100%;padding:24px 26px 26px;box-shadow:0 2px 5px #0000000f,0 12px 28px #14361f14}.review-card-header{align-items:center;gap:13px;display:flex}.reviewer-avatar{width:44px;height:44px;color:var(--white);background:#496958;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.82rem;font-weight:700;display:inline-flex}.review-card-tone-2 .reviewer-avatar{background:#8b6f63}.review-card-tone-3 .reviewer-avatar{background:#3e7080}.review-card h3{color:#292929;font-family:var(--sans);margin:0 0 3px;font-size:.98rem;font-weight:700;line-height:1.2}.review-source-label{font-size:.74rem;line-height:1.2;display:block}.review-card>article>.review-stars{margin-top:18px}.review-card blockquote{color:#3f3f3f;margin:13px 0 0;font-size:.95rem;line-height:1.55}.reviews-marquee:hover .reviews-track,.reviews-marquee:focus-visible .reviews-track{animation-play-state:paused}@keyframes customer-reviews-scroll{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.reviews-marquee{scrollbar-width:thin;scroll-snap-type:x proximity;overflow-x:auto;mask-image:none}.reviews-track{will-change:auto;padding-left:0;animation:none}.reviews-list[aria-hidden=true]{display:none}}.residential-services-section,.commercial-services-section,.about-trust-section{padding-top:64px}.residential-services-section,.commercial-services-section,.about-trust-section,.service-areas-section,.faq-section{isolation:isolate;position:relative}.residential-services-section:before,.commercial-services-section:before,.about-trust-section:before,.service-areas-section:before,.faq-section:before{content:"";inset-block:0;z-index:-1;pointer-events:none;background-color:#0000;background-image:linear-gradient(#ffffffe6,#ffffffe6),url(/assets/decorative/four-season-leaf-background.webp);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-block:1px solid #2f7d321a;width:100vw;position:absolute;left:50%;transform:translate(-50%)}.residential-services-list li,.commercial-services-list li{background:var(--white);min-height:76px}.community-callout{width:100%;padding:64px var(--page-gutter);isolation:isolate;text-align:center;background-color:#233a2d;background-image:url(/assets/decorative/military-senior-community-callout.png);background-position:50%;background-size:cover;border-block:1px solid #fff3;position:relative;overflow:hidden}.community-callout:before{content:"";z-index:-1;background:#0d201594;position:absolute;inset:0}.community-callout-inner{width:min(900px,100%);margin:0 auto}.community-eyebrow{color:#f3ddbd;letter-spacing:0;margin:0 0 12px;font-size:.92rem;font-weight:800}.community-callout h2{color:var(--white);font-family:var(--serif);margin:0;font-size:clamp(2rem,3.4vw,3.1rem);font-weight:400;line-height:1.06}.community-callout p:not(.community-eyebrow){width:min(720px,100%);color:var(--white);margin:18px auto 0}.community-callout .button-link{margin-top:28px}.service-areas-section{text-align:center}.service-areas-intro{width:min(840px,100%);margin:0 auto 34px;font-size:1.12rem}.service-area-grid{text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.service-area-card{background:var(--soft);border:1px solid var(--line);min-height:100%;box-shadow:var(--shadow-card);border-radius:6px;padding:24px 22px}.service-area-card h3{color:var(--trust-green);font-family:var(--serif);margin:0 0 16px;font-size:clamp(1.55rem,2.1vw,2rem);font-weight:700;line-height:1.08}.service-area-card ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.service-area-card li{color:var(--text);padding-left:18px;font-size:.99rem;line-height:1.38;position:relative}.service-area-card li:before{content:"";background:var(--trust-green);border-radius:50%;width:7px;height:7px;position:absolute;top:.64em;left:0;transform:translateY(-50%);box-shadow:0 0 0 4px #287a5f1a}.service-areas-note{width:min(760px,100%);margin:30px auto 0;font-weight:700}.service-areas-note a{color:var(--trust-green);text-underline-offset:4px;text-decoration:underline}.service-areas-note a:hover{color:var(--orange)}.content-pair{width:min(1140px, calc(100% - var(--page-gutter)));grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;gap:40px;margin:0 auto;padding:64px 0;display:grid}.content-pair-reverse .paper-card{order:2}.paper-card{background:var(--soft);box-shadow:var(--shadow-card);border-radius:7px;padding:clamp(28px,4vw,54px)}.paper-card p{margin:18px 0 0}.about-overview-card .grass-rule{width:min(199px,100%)}.about-detail-section{text-align:center}.about-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px;display:grid}.about-card-grid article{background:var(--white);border:1px solid #2f7d322e;border-top:5px solid var(--trust-green);min-height:230px;box-shadow:var(--shadow-card);text-align:left;border-radius:7px;flex-direction:column;align-items:flex-start;padding:30px 28px;display:flex}.about-card-number{color:var(--trust-green);font-family:var(--serif);letter-spacing:.12em;margin-bottom:20px;font-size:1.05rem;font-weight:700;display:block}.about-card-grid h3{color:var(--text);font-family:var(--serif);margin:0;font-size:clamp(1.45rem,2.2vw,1.9rem);font-weight:700;line-height:1.12}.about-card-grid p{color:var(--muted);margin:14px 0 0;font-size:1rem;line-height:1.55}.image-frame img{object-fit:cover;width:100%;max-height:620px;box-shadow:var(--shadow-image)}.image-arch{border-top:7px solid var(--trust-green);border-left:7px solid var(--trust-green);border-radius:50% 50% 4px 4px;padding:12px 0 0 12px}.image-arch img{border-radius:50% 50% 4px 4px}.faq-grid{flex-direction:column;gap:12px;width:min(900px,100%);margin-inline:auto;display:flex}.faq-item{background:var(--soft);border:1px solid var(--line);box-shadow:var(--shadow-card);text-align:left;border-radius:6px;overflow:hidden}.faq-item summary{min-height:64px;color:var(--black);cursor:pointer;font-family:var(--serif);justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;font-size:1.2rem;font-weight:700;line-height:1.25;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover{color:var(--trust-green)}.faq-item summary:focus-visible{outline:3px solid var(--coral);outline-offset:-3px}.faq-item summary svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;transition:transform .18s}.faq-item[open] summary{color:var(--trust-green);border-bottom:1px solid var(--line)}.faq-item[open] summary svg{transform:rotate(180deg)}.faq-answer{padding:0 22px 20px}.process-timeline{--marker-size:66px;--process-line-inset:28px;--process-progress:0px;gap:34px;width:min(980px,100%);margin:46px auto 0;display:grid;position:relative}.process-timeline:before{content:"";top:var(--process-line-inset);bottom:var(--process-line-inset);background:var(--line);width:4px;position:absolute;left:50%;transform:translate(-50%)}.process-timeline:after{content:"";top:var(--process-line-inset);width:4px;height:var(--process-progress);max-height:calc(100% - (var(--process-line-inset) * 2));background:var(--grass);transition:height .12s linear;position:absolute;left:50%;transform:translate(-50%)}.process-item{grid-template-columns:minmax(0, 1fr) var(--marker-size) minmax(0, 1fr);align-items:center;gap:30px;display:grid;position:relative}.process-card{background:var(--white);min-height:156px;box-shadow:var(--shadow-card);grid-column:1;padding:34px 38px;position:relative}.process-card:after{content:"";border-top:14px solid #0000;border-bottom:14px solid #0000;border-left:14px solid var(--white);width:0;height:0;position:absolute;top:50%;right:-14px;transform:translateY(-50%)}.process-item-right .process-card{grid-column:3}.process-item-right .process-card:after{border-left:0;border-right:14px solid var(--white);left:-14px;right:auto}.process-marker{--marker-progress:0;--marker-fill-remaining:100%;width:var(--marker-size);height:var(--marker-size);z-index:1;background:var(--soft);color:var(--grass);box-shadow:0 0 0 10px var(--white);border-radius:50%;grid-area:1/2;place-items:center;display:grid;position:relative;overflow:hidden}.process-marker:before{content:"";border-radius:inherit;background:var(--grass);transform:scaleY(var(--marker-progress));transform-origin:top;transition:transform .12s linear;position:absolute;inset:0}.process-marker-number{z-index:1;font-family:var(--serif);grid-area:1/1;font-size:1.6rem;line-height:1;position:relative}.process-marker-number-base{color:var(--grass)}.process-marker-number-fill{color:var(--white);clip-path:inset(0 0 var(--marker-fill-remaining) 0);transition:clip-path .12s linear}.process-card h3{font-family:var(--serif);margin:0;font-size:clamp(1.8rem,2.6vw,2.25rem);font-weight:400;line-height:1.08}.process-card p,.faq-answer p{margin:12px 0 0}.faq-section{text-align:center}.faq-section>h2{width:min(780px,100%);margin:-8px auto 34px}.cta-section{text-align:center}.cta-section p:not(.script-title){width:min(820px,100%);margin:22px auto 0}.cta-section .button-row{margin-top:28px}.cta-section .button-link{margin-top:0}.contact-section{width:min(1140px, calc(100% - var(--page-gutter)));grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);gap:64px;margin:0 auto;padding:64px 0 84px;display:grid}.contact-card{box-shadow:none;align-self:start}.contact-form{gap:14px;margin-top:34px;display:grid}.contact-form label{gap:5px;font-size:.92rem;display:grid}.lead-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-form input,.contact-form select,.contact-form textarea{background:var(--white);width:100%;font:1rem var(--sans);border:1px solid #9099a3;padding:10px 12px}.contact-form select{min-height:47px;color:var(--text)}.contact-form textarea{resize:vertical}.contact-form button{cursor:pointer;border-color:#0000;width:max-content}.contact-form button:disabled{opacity:.72;cursor:wait}.form-status{min-height:26px;margin:0;font-size:.95rem}.contact-estimate-note{color:var(--muted);margin-top:18px;font-size:.98rem}.contact-methods{text-align:left;align-content:start;gap:18px;padding-top:0;display:grid}.contact-methods article{background:var(--soft);box-shadow:var(--shadow-image);border:1px solid #2f7d3229;border-radius:7px;gap:10px;padding:24px;display:grid}.contact-card-label{color:var(--trust-green);text-transform:uppercase;margin:0;font-size:.82rem;font-weight:800;line-height:1}.contact-methods h3{font-family:var(--sans);overflow-wrap:anywhere;margin:0;font-size:1.18rem;font-weight:700;line-height:1.3}.legal-section,.thank-you-section{text-align:left}.legal-section{width:min(920px, calc(100% - var(--page-gutter)))}.legal-section h2{color:var(--black);font-family:var(--serif);margin:34px 0 0;font-size:clamp(1.55rem,2.4vw,2rem);line-height:1.15}.legal-section a:not(.button-link){color:var(--trust-green);text-underline-offset:4px;font-weight:700;text-decoration:underline}.legal-section .button-row,.thank-you-section .button-link{margin-top:28px}.legal-section .button-row{justify-content:flex-start}.thank-you-section{width:min(860px, calc(100% - var(--page-gutter)));text-align:center}.thank-you-section h2{color:var(--black);font-family:var(--serif);margin:0;font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1.12}.site-footer{color:var(--white);background:#010101}.footer-grid{width:min(1180px, calc(100% - var(--page-gutter)));grid-template-columns:.72fr 1.1fr .72fr .9fr;align-items:start;gap:34px;margin:0 auto;padding:64px 0;display:grid}.footer-logo img{width:150px}.site-footer h2{font-family:var(--serif);margin:0 0 18px;padding-left:28px;font-size:1.7rem;font-weight:600;position:relative}.site-footer h2:before{content:"";background:#94b874;width:15px;height:31px;position:absolute;top:.04em;left:1px;mask:url(/assets/icons/leaf-icon-1.svg) top/14px 11px no-repeat,url(/assets/icons/leaf-icon-1.svg) bottom/14px 11px no-repeat}.site-footer p,.site-footer li{color:#dedede;font-size:1rem;line-height:1.55}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li+li{margin-top:11px}.site-footer a:hover{color:var(--orange)}.copyright{text-align:center;background:#151515;padding:15px 16px}.copyright p{margin:0;font-size:.95rem}@media (width<=1120px){.site-header{padding:0 4%}.site-nav{gap:15px;font-size:1.2rem}.site-nav a{gap:15px}}@media (width<=860px){:root{--page-gutter:28px}body{font-size:16px}.site-header{min-height:114px;padding:10px 32px 10px 14px}.brand{width:86px}.brand img{width:86px;height:86px}.menu-toggle{display:block}.site-nav{background:var(--white);border-top:1px solid var(--line);box-shadow:var(--shadow);z-index:10;padding:12px 18px;display:none;position:absolute;top:100%;left:16px;right:16px}.site-nav.is-open{display:grid}.site-nav a,.site-nav a+a:before{display:block}.site-nav a+a:before{content:none}.hero{background-image:linear-gradient(#00000078, #00000078), var(--hero-image-mobile);min-height:620px;padding:58px 20px 68px}.hero-inner{transform:translateY(0)}.hero-compact{min-height:335px}.hero h1{font-size:clamp(2.35rem,9vw,3.4rem)}.script-title{font-size:clamp(2rem,8vw,3rem)}.hero-copy{font-size:clamp(1.12rem,4.2vw,1.38rem);line-height:1.38}.button-row{gap:16px;margin-top:28px}.button-link{min-height:48px;padding:12px 18px;font-size:1.04rem}.intro-band,.services-section,.why-section,.process-section,.faq-section,.service-areas-section,.about-detail-section,.legal-section,.thank-you-section,.cta-section{padding:66px 0}.section-title{margin-bottom:16px}.section-title h2,.cta-section h2,.faq-section>h2{font-size:clamp(2.15rem,8vw,3.05rem);line-height:1.08}.grass-rule{margin-top:10px}.intro-band p{font-size:1.08rem;line-height:1.58}.split-showcase,.content-pair,.contact-section{grid-template-columns:1fr}.split-showcase{gap:28px;padding:58px 0 66px}.four-season-showcase{padding:58px clamp(18px,5vw,32px) 70px}.split-showcase>img{border-radius:12px;max-height:430px}.season-gallery{border-radius:14px;height:clamp(340px,62vw,460px)}.service-list-grid{gap:16px}.service-list-grid article{min-height:0;padding:26px}.service-list-grid h3{font-size:clamp(1.65rem,6.5vw,2rem)}.service-list-grid p{margin-top:12px;line-height:1.55}.service-card-grid{gap:22px}.service-card img{height:clamp(220px,34vw,300px)}.service-card-body{padding:28px 22px 32px}.why-list,.service-area-grid,.about-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grass-band{min-height:360px;padding:58px 20px}.content-pair-reverse .paper-card{order:0}.service-grid,.service-list-grid,.service-card-grid,.footer-grid{grid-template-columns:1fr}.faq-item summary{gap:14px;min-height:58px;padding:15px 16px;font-size:1.08rem}.faq-answer{padding:0 16px 17px}.process-timeline{--marker-size:58px;gap:24px;margin-top:36px}.process-timeline:before,.process-timeline:after{left:calc(var(--marker-size) / 2)}.process-item{grid-template-columns:var(--marker-size) minmax(0, 1fr);align-items:start;gap:18px}.process-card,.process-item-right .process-card{grid-column:2;min-height:0;padding:26px 24px}.process-card:after,.process-item-right .process-card:after{border-top:12px solid #0000;border-bottom:12px solid #0000;border-left:0;border-right:12px solid var(--white);top:30px;left:-12px;right:auto;transform:none}.process-marker{grid-column:1}.process-card h3{font-size:clamp(1.7rem,6.4vw,2.05rem)}.footer-grid{text-align:left}}@media (width<=760px){.our-work-intro{padding-bottom:36px}.our-work-section{padding-bottom:56px}.before-after-grid{grid-template-columns:1fr}.before-after-project{box-shadow:0 2px 5px #111e2614,0 12px 28px #14361f26,0 20px 42px #14361f14}.before-after-project+.before-after-project{margin-top:40px}.completed-work{margin-top:44px}.our-work-compact-cta{flex-direction:column;align-items:flex-start;gap:22px;margin-top:36px;padding:26px 22px}.completed-work-heading{margin-bottom:24px}.completed-work-gallery{grid-template-columns:1fr;gap:14px}.completed-work-featured{grid-column:auto}.completed-work-image,.completed-work-featured{aspect-ratio:3/4}.before-after-heading{padding:30px 22px 28px}.comparison-label{bottom:12px;left:12px}.future-work-note{margin-top:36px;padding:24px 22px}}@media (width<=560px){:root{--page-gutter:24px}.site-header{gap:14px;min-height:92px;padding:8px 18px 8px 12px}.brand{width:76px}.brand img{width:76px;height:76px}.hero{background-position:50%;min-height:560px;padding:48px 16px 56px}.hero-compact{min-height:330px}.hero-copy{margin-top:18px;font-size:1.12rem;line-height:1.4}.button-row{justify-content:center;gap:12px;margin-top:24px}.button-link{min-height:48px;padding:12px 16px;font-size:1rem}.intro-band,.services-section,.why-section,.process-section,.faq-section,.service-areas-section,.about-detail-section,.legal-section,.thank-you-section,.cta-section{padding:48px 0}.section-title h2,.cta-section h2,.faq-section>h2{font-size:clamp(2rem,9vw,2.65rem)}.script-title{margin-bottom:8px;font-size:clamp(1.85rem,9vw,2.45rem)}.grass-rule{margin-top:8px}.intro-band p,.split-showcase p,.service-list-grid p,.process-card p,.cta-section p:not(.script-title){font-size:1rem;line-height:1.52}.split-showcase{gap:24px;padding:44px 0 52px}.four-season-showcase{background-position:top;padding:46px 18px 56px}.split-showcase>img{max-height:330px}.season-gallery{--panel-gap:8px;border-radius:12px;height:350px}.season-panel.is-active{flex:4.6 1 0}.season-panel-label{min-width:118px;bottom:14px}.season-panel-label strong{font-size:1.34rem}.season-panel-label span{font-size:.76rem}.season-panel.is-active .season-panel-label{min-width:min(210px,100% - 32px);bottom:16px;left:16px}.service-list-grid article{padding:24px 20px}.service-card-grid{gap:18px;margin-top:18px}.service-card img{height:220px}.service-card-body{padding:24px 20px 28px}.service-card h3{font-size:clamp(1.85rem,9vw,2.35rem)}.service-card p{font-size:1rem;line-height:1.52}.why-list{grid-template-columns:1fr;gap:12px}.about-card-grid{grid-template-columns:1fr}.why-list li{min-height:64px;padding:17px 18px}.customer-reviews{margin-top:36px}.review-card{width:min(82vw,350px);min-height:248px}.review-card article{padding:22px 22px 24px}.review-card blockquote{font-size:.94rem}.service-areas-intro{margin-bottom:24px;font-size:1rem;line-height:1.52}.service-area-grid{grid-template-columns:1fr;gap:12px}.service-area-card{padding:22px 18px}.service-area-card h3{font-size:clamp(1.45rem,7vw,1.75rem)}.service-area-card ul{grid-template-columns:1fr}.service-areas-note{margin-top:24px;font-size:1rem;line-height:1.5}.community-callout{padding:46px 18px}.community-eyebrow{font-size:.78rem}.community-callout h2{font-size:clamp(1.9rem,8vw,2.45rem)}.process-timeline{--marker-size:50px;gap:20px;margin-top:28px}.process-item{gap:14px}.process-card,.process-item-right .process-card{padding:22px 18px}.process-card h3{font-size:clamp(1.55rem,7vw,1.9rem)}.process-marker-number{font-size:1.35rem}.grass-band{min-height:320px;padding:48px 16px}.paper-card{padding:28px 22px}}.chat-widget{right:max(24px, env(safe-area-inset-right));bottom:max(22px, env(safe-area-inset-bottom));z-index:90;color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.45;position:fixed}.chat-widget [hidden]{display:none!important}.chat-widget button,.chat-widget textarea,.chat-widget a{font:inherit}.chat-widget button,.chat-widget a,.chat-widget textarea{-webkit-tap-highlight-color:transparent}.chat-widget button:focus-visible,.chat-widget a:focus-visible,.chat-widget textarea:focus-visible{outline-offset:3px;outline:3px solid #155ee8}.chat-launcher{appearance:none;width:148px;min-width:0;height:148px;min-height:0;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:28px;padding:0;transition:opacity .14s,transform .16s;display:block;position:relative;overflow:visible}.chat-launcher:hover{transform:translateY(-2px)scale(1.035)}.chat-launcher[aria-expanded=true]{visibility:hidden;opacity:0;pointer-events:none}.chat-launcher-media{width:100%;height:100%;display:block;position:relative}.chat-launcher-media img,.chat-launcher-media video{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.chat-unread{border:2px solid var(--white);background:var(--chat-orange);border-radius:999px;width:14px;height:14px;position:absolute;top:21%;right:18%}.chat-panel{background:var(--chat-cream);border:1px solid #174e2b33;border-radius:22px;flex-direction:column;width:min(420px,100vw - 32px);height:min(680px,100dvh - 192px);min-height:460px;display:flex;position:absolute;bottom:164px;right:0;overflow:hidden;box-shadow:0 28px 70px #0c301c47}.chat-widget[data-chat-transition=closing] .chat-panel{pointer-events:none;transform-origin:50%;will-change:transform, opacity, border-radius;animation:.32s cubic-bezier(.22,1,.36,1) both chat-panel-collapse}.chat-widget[data-chat-transition=closing] .chat-launcher[aria-expanded=true]{visibility:visible;pointer-events:none;will-change:transform, opacity;animation:.32s cubic-bezier(.22,1,.36,1) both chat-launcher-fill}.chat-widget[data-chat-transition=closing] .chat-launcher-media{will-change:clip-path;animation:.32s cubic-bezier(.22,1,.36,1) both chat-launcher-media-fill}@keyframes chat-panel-collapse{0%{opacity:1;border-radius:22px;transform:translate(0,0)scale(1)}72%{opacity:.18}to{opacity:0;transform:translate3d(var(--chat-collapse-x,0), var(--chat-collapse-y,0), 0) scale(.14);border-radius:50%}}@keyframes chat-launcher-fill{0%,42%{opacity:0;transform:scale(.82)}84%{opacity:1;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes chat-launcher-media-fill{0%,42%{clip-path:circle(8%)}to{clip-path:circle(75%)}}.chat-header{background:linear-gradient(120deg, #165b34fa, #287a5ffa), var(--chat-green-dark);min-height:78px;color:var(--white);flex:none;align-items:center;gap:11px;padding:10px 12px 10px 14px;display:flex}.chat-header-mark{background:0 0;border:0;border-radius:0;flex:0 0 55px;width:55px;height:55px;overflow:visible}.chat-header-mark img{object-fit:contain;transform-origin:50%;width:100%;height:100%;transform:scale(2.6)}.chat-heading-group{flex:1;gap:2px;min-width:0;display:grid}.chat-heading-group strong{font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;font-size:1.1rem;line-height:1.15;overflow:hidden}.chat-heading-group span{color:#ffffffdb;font-size:.72rem;line-height:1.25}.chat-header-actions{flex:none;gap:4px;display:flex}.chat-icon-button{width:44px;min-height:44px;color:var(--white);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;display:grid;font-size:1.6rem!important}.chat-icon-button:hover{background:#ffffff21}.chat-conversation{background:radial-gradient(circle at 12% 8%, #e98d4514, transparent 36%), var(--chat-cream);flex:1;min-height:0;position:relative}.chat-messages{overscroll-behavior:contain;scrollbar-gutter:stable;height:100%;min-height:0;margin:0;padding:22px 18px 26px;list-style:none;overflow-y:auto}.chat-message{flex-direction:column;align-items:flex-start;max-width:88%;margin:0 0 14px;display:flex}.chat-message-user{align-items:flex-end;margin-left:auto}.chat-message-label{color:#55705f;letter-spacing:.02em;margin:0 7px 4px;font-size:.7rem;font-weight:700}.chat-message p{background:var(--white);overflow-wrap:anywhere;white-space:pre-wrap;border:1px solid #14361f1f;border-radius:7px 17px 17px;margin:0;padding:11px 13px;font-size:.94rem;line-height:1.48;box-shadow:0 4px 13px #14361f12}.chat-message p a{color:#176642;text-underline-offset:2px;font-weight:700;text-decoration:underline 1px}.chat-message-user p{border-color:var(--chat-green-dark);background:var(--chat-green-dark);color:var(--white);border-radius:17px 7px 17px 17px}.chat-message-partial p{border-style:dashed}.chat-message-state{color:#6d5747;margin:4px 7px 0;font-size:.72rem;font-style:italic}.chat-new-message{border:1px solid var(--chat-green-dark);background:var(--white);min-height:44px;color:var(--chat-green-dark);cursor:pointer;border-radius:999px;padding:8px 14px;position:absolute;bottom:12px;right:18px;box-shadow:0 8px 24px #14361f29;font-size:.82rem!important;font-weight:700!important}.chat-text-button,.chat-start-over{color:#176642;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;min-height:44px;text-decoration:underline;font-size:.8rem!important;font-weight:700!important}.chat-status-row{background:var(--white);flex:none;align-items:center;gap:8px;min-height:28px;padding:2px 17px 0;display:flex}.chat-status{color:#536158;flex:1;min-width:0;margin:0;font-size:.75rem;line-height:1.3}.chat-text-button{min-height:32px;padding:2px 0}.chat-composer{background:var(--white);flex:none;padding:8px 14px 10px}.chat-composer>label{color:#46534b;margin:0 0 5px;font-size:.74rem;font-weight:700;display:block}.chat-composer-row{align-items:flex-end;gap:8px;display:flex}.chat-composer textarea{resize:vertical;width:100%;min-height:52px;max-height:112px;color:var(--text);background:#fff;border:1px solid #94a69a;border-radius:13px;padding:11px 12px;font-size:16px;line-height:1.35}.chat-send{background:var(--chat-orange);color:#22150b;cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;gap:6px;min-width:76px;min-height:52px;padding:6px 10px;display:flex;font-size:.78rem!important;font-weight:800!important}.chat-send:disabled{cursor:wait;filter:grayscale(.45);opacity:.58}.chat-fallback{background:#fff7ed;border-top:1px solid #e8c9a8;flex:none;padding:10px 16px}.chat-fallback p{margin:0 0 6px;font-size:.78rem;line-height:1.35}.chat-fallback div{flex-wrap:wrap;gap:5px 12px;display:flex}.chat-fallback a{color:#176642;font-size:.78rem;font-weight:700;text-decoration:underline}.chat-footer{min-height:44px;padding:3px 16px calc(8px + env(safe-area-inset-bottom));background:var(--white);color:#5e665f;border-top:1px solid #14361f1a;flex-wrap:wrap;flex:none;align-items:center;gap:0 8px;font-size:.7rem;display:flex}.chat-footer>a{color:#176642;align-content:center;min-height:44px;font-weight:700;text-decoration:underline}.chat-start-over{min-height:44px;padding:0}.chat-footer p{width:100%;margin:-5px 0 0;font-size:.68rem;line-height:1.25}.chat-turnstile{z-index:3;max-width:calc(100% - 24px);position:absolute;bottom:142px;right:12px}body.chat-sheet-open{overflow:hidden}@media (width<=700px){.chat-widget{right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom))}.chat-launcher{width:124px;height:124px}body.chat-sheet-open .chat-launcher{display:none}body.chat-sheet-open .chat-widget[data-chat-transition=measuring] .chat-launcher,body.chat-sheet-open .chat-widget[data-chat-transition=closing] .chat-launcher{display:block}.chat-panel{width:100%;height:min(84dvh,760px);min-height:0;max-height:calc(100dvh - max(42px, env(safe-area-inset-top)));border-bottom:0;border-left:0;border-right:0;border-radius:22px 22px 0 0;position:fixed;bottom:0;left:0;right:0}.chat-panel:before{z-index:2;content:"";background:#ffffff94;border-radius:999px;width:42px;height:4px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.chat-header{min-height:74px;padding-top:13px}.chat-heading-group strong{font-size:1rem}.chat-heading-group span{max-width:185px}.chat-header-mark{flex-basis:48px;width:48px;height:48px}.chat-messages{padding-left:14px;padding-right:14px}.chat-message{max-width:91%}.chat-composer{padding-left:10px;padding-right:10px}.chat-footer{padding-left:12px;padding-right:12px}}@media (width<=700px) and (height<=520px){.chat-panel{border-radius:0;height:100dvh;max-height:100dvh}.chat-panel:before,.chat-header-mark,.chat-heading-group span{display:none}.chat-header{min-height:52px;padding:4px 8px 4px 14px}.chat-conversation{min-height:32px}.chat-messages{padding-top:10px;padding-bottom:10px}.chat-status-row{min-height:20px;padding:0 10px}.chat-composer{padding:2px 8px max(4px, env(safe-area-inset-bottom))}.chat-composer>label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.chat-composer textarea,.chat-send{min-height:44px}.chat-fallback{padding:4px 10px}.chat-fallback p{margin-bottom:2px;font-size:.65rem;line-height:1.15}.chat-fallback div{gap:2px 8px}.chat-fallback a{font-size:.65rem;line-height:1.15}.chat-footer{min-height:0;padding:0 10px max(3px, env(safe-area-inset-bottom))}.chat-footer p{margin-top:-3px;font-size:.65rem;line-height:1.15}}@media (height<=590px) and (width>=701px){.chat-panel{height:calc(100dvh - 24px);min-height:0;bottom:0}}@media (forced-colors:active){.chat-panel,.chat-launcher,.chat-message p,.chat-composer textarea{border:2px solid canvastext}.chat-unread{background:highlight}}@media (prefers-reduced-motion:reduce){.chat-launcher,.chat-panel,.chat-widget *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.chat-launcher-video,.chat-launcher-fallback-animation{display:none!important}}
