@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Nunito:wght@400;500;600;700;800;900&display=swap');:root{--blue:#3f5c9a;--dark:#202d49;--green:#149d48;--pale:#ebfaff;--cream:#f7faf7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--dark);font:16px/1.6 'DM Sans',Arial,sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Nunito,Arial,sans-serif;line-height:1.18}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{background:var(--pale);min-height:118px;padding:12px 10vw;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand img{width:220px;max-height:100px;object-fit:contain}.site-header nav{display:flex;gap:56px;text-transform:uppercase;letter-spacing:.09em;color:var(--blue);font-size:16px;font-weight:700}.site-header nav a:hover,.text-link:hover{color:var(--green)}.header-actions{display:flex;align-items:center;gap:25px}.call{color:var(--green);white-space:nowrap;line-height:1.2;text-align:center}.call small{display:block;font-size:13px}.call strong{display:block;font-size:23px;font-weight:700}.button{display:inline-block;padding:13px 23px;border-radius:5px;background:var(--blue);color:white;font-weight:700;white-space:nowrap;transition:background .2s}.button:hover{background:#2f477c}.hero{min-height:540px;background:linear-gradient(90deg,rgba(14,30,24,.68),rgba(13,30,27,.15)),url('/assets/project-0.jpg') center 52%/cover;display:flex;align-items:center}.hero-inner{max-width:1280px;width:100%;margin:auto;padding:75px 7%;color:white}.hero h1{font-size:clamp(40px,5.2vw,76px);max-width:820px;letter-spacing:-.035em;margin:14px 0}.hero p:not(.eyebrow){font-size:20px;margin-bottom:28px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--green);font-size:13px;font-weight:800}.eyebrow.light{color:#baf0c9}.section{padding:85px max(5%,calc((100vw - 1220px)/2))}.services{background:var(--pale)}.section-intro{text-align:center;margin-bottom:34px}.section h2{font-size:clamp(32px,3.2vw,48px);letter-spacing:-.03em}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px}.service-card{background:white}.service-card>img{width:100%;height:300px;object-fit:cover}.service-copy{padding:28px 31px 35px}.service-number{font-size:12px;color:var(--green);letter-spacing:.16em;text-transform:uppercase;font-weight:800}.service-copy h3{font-size:24px;margin:10px 0}.service-copy p{max-width:520px}.service-copy a,.text-link{font-weight:700;color:var(--blue)}.quote-band{background:var(--green);padding:72px 20px;color:white;text-align:center}.quote-wrap{max-width:850px;margin:auto}.quote-wrap blockquote{font-family:Nunito,sans-serif;font-size:clamp(24px,2.7vw,36px);line-height:1.35;font-weight:600;margin:15px 0 25px}.quote-wrap>p:last-child{font-weight:700}.portfolio-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:30px}.portfolio-head>div{max-width:750px}.portfolio-head p:not(.eyebrow){font-size:18px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.photo-grid img{width:100%;height:250px;object-fit:cover}.bottom-cta{background:var(--blue);color:white;padding:75px 20px;text-align:center}.bottom-cta h2{font-size:clamp(32px,4vw,55px);margin:15px auto 30px}.inverse{background:white;color:var(--blue)}.inverse:hover{background:var(--pale)}.phone-link{display:inline-block;margin:15px 20px;font-weight:700}footer{background:#f3f9fa;padding:55px max(5%,calc((100vw - 1220px)/2)) 22px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}footer img{width:190px}footer p{max-width:260px}footer>div:not(:first-child){display:flex;flex-direction:column;gap:10px}footer a:hover{color:var(--green)}footer small{grid-column:1/-1;border-top:1px solid #d6e1e8;padding-top:18px}.page-hero{background:var(--pale);padding:65px 7%;text-align:center}.page-hero h1{font-size:clamp(38px,5vw,64px);margin:10px auto;max-width:900px}.page-hero p{max-width:710px;margin:15px auto}.inner-content{max-width:1050px;margin:auto;padding:70px 25px}.inner-content h2{font-size:32px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery-grid img{width:100%;height:290px;object-fit:cover}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.about-layout img{width:100%;height:480px;object-fit:cover}.contact-card{max-width:650px;margin:auto;background:var(--pale);padding:45px;text-align:center}.contact-card .big-phone{display:block;color:var(--green);font-size:clamp(28px,4vw,42px);font-weight:800;margin:15px auto}.contact-card .button{margin-top:12px}@media(max-width:1000px){.site-header{flex-wrap:wrap;justify-content:center;gap:12px 25px}.brand img{width:160px}.site-header nav{gap:24px}.call strong{font-size:18px}.header-actions{gap:15px}}@media(max-width:680px){.site-header{padding:12px 18px}.brand img{width:145px}.site-header nav{order:3;width:100%;justify-content:center;font-size:13px;gap:30px}.call small{display:none}.call strong{font-size:16px}.header-actions .button{padding:10px;font-size:13px}.hero{min-height:530px;background-position:60% center}.hero-inner{padding:50px 23px}.section{padding:60px 20px}.service-grid,.about-layout{grid-template-columns:1fr;gap:20px}.service-card>img{height:240px}.photo-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}.photo-grid img,.gallery-grid img{height:160px}.portfolio-head{display:block}footer{grid-template-columns:1fr 1fr;padding:40px 22px}.about-layout img{height:300px}.contact-card{padding:30px 18px}}@media(max-width:430px){.site-header{justify-content:space-between}.header-actions .button{display:none}.photo-grid,.gallery-grid{gap:5px}}

.quote-wrap h2{font-size:clamp(28px,3vw,41px);margin:8px 0 20px}.review-carousel{min-height:245px;display:grid;align-items:center}.review-slide{grid-area:1/1}.review-slide[hidden]{display:none}.review-stars{color:#ffe18b;font-size:23px;letter-spacing:.12em}.review-slide blockquote{font-size:clamp(22px,2.5vw,32px);margin:16px auto;max-width:800px}.review-author{font-weight:800;margin-bottom:4px}.review-slide a,.review-source a{text-decoration:underline;text-underline-offset:3px}.review-slide a{font-size:14px}.review-controls{display:flex;justify-content:center;align-items:center;gap:20px;margin:15px auto}.review-arrow{background:transparent;border:1px solid #b5eccc;border-radius:50%;width:42px;height:42px;color:white;font:30px/1 Arial;cursor:pointer}.review-arrow:hover,.review-arrow:focus-visible{background:#ffffff24}.review-count{font-size:14px;font-weight:700}.review-source{font-size:13px;opacity:.85;margin:5px 0 0}

.call strong{display:flex;align-items:center;justify-content:center;gap:7px}.phone-icon{width:24px;height:24px;flex:none}@media(max-width:680px){.phone-icon{width:18px;height:18px}}

.lightbox-trigger{display:block;padding:0;border:0;background:none;cursor:zoom-in;width:100%;height:100%;overflow:hidden}.lightbox-trigger img{transition:transform .25s ease}.lightbox-trigger:hover img{transform:scale(1.035)}.lightbox-trigger:focus-visible{outline:4px solid var(--green);outline-offset:3px;z-index:1}.project-lightbox{position:fixed;inset:0;max-width:min(94vw,1250px);max-height:94vh;width:100%;height:100%;padding:42px 55px 22px;border:0;border-radius:8px;background:#101b28;color:#fff;box-shadow:0 20px 70px #0008}.project-lightbox::backdrop{background:#08121ad9}.project-lightbox>img{width:100%;height:calc(100% - 30px);object-fit:contain}.project-lightbox button{position:absolute;z-index:2;border:0;background:#182c3dcc;color:white;cursor:pointer}.lightbox-close{right:12px;top:10px;border-radius:50%;width:40px;height:40px;font-size:30px;line-height:1}.lightbox-nav{top:50%;transform:translateY(-50%);border-radius:50%;width:44px;height:44px;font-size:34px;line-height:1}.lightbox-nav.previous{left:6px}.lightbox-nav.next{right:6px}.lightbox-caption{text-align:center;margin:2px 0 0;font-size:14px;color:#dce8ee}@media(max-width:680px){.project-lightbox{max-width:100vw;max-height:100vh;width:100%;height:100%;padding:50px 38px 26px;border-radius:0}.lightbox-nav{width:34px;height:34px;font-size:27px}.lightbox-nav.previous{left:2px}.lightbox-nav.next{right:2px}}

.quote-content{max-width:1150px}.quote-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.quote-aside h2{font-size:clamp(30px,3.2vw,44px)}.quote-aside a{color:var(--green);font-weight:700}.quote-form{background:var(--pale);padding:35px;display:grid;gap:12px}.quote-form label{display:block;font-weight:700;margin:0 0 6px}.quote-form label span{color:#a12626}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.quote-form input,.quote-form select,.quote-form textarea{display:block;width:100%;padding:12px 13px;border:1px solid #acc0ce;background:#fff;border-radius:4px;color:var(--dark);font:inherit}.quote-form textarea{resize:vertical}.quote-form input:focus-visible,.quote-form select:focus-visible,.quote-form textarea:focus-visible{outline:3px solid #83cfa3;outline-offset:1px}.quote-form button{border:0;cursor:pointer;font:700 16px 'DM Sans',sans-serif;margin-top:6px;justify-self:start}.quote-form button:disabled{opacity:.65;cursor:wait}.form-status{margin:0;min-height:1.5em;font-weight:600}.form-status.success{color:#087c36}.form-status.error{color:#a12626}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media(max-width:800px){.quote-layout{grid-template-columns:1fr;gap:28px}}@media(max-width:600px){.quote-form{padding:24px 18px}.form-row{grid-template-columns:1fr}}
.site-header{border-bottom:5px solid #3953a4}

/* EarthCare image headers and interactive details */
.hero{min-height:clamp(650px,78vh,860px);background-attachment:scroll,fixed;background-position:center,center 48%}
.page-hero{min-height:370px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;background-color:#25436a;background-size:cover;background-position:center;text-shadow:0 2px 10px #12243a88}
.page-hero .eyebrow{color:#c8f1d5}
.about-hero{background-image:linear-gradient(90deg,#102633ab,#10263388),url('/assets/project-0.jpg');background-position:center,center 47%}
.contact-hero{background-image:linear-gradient(90deg,#102633bc,#10263382),url('/assets/project-1.png');background-position:center,center 57%}
.gallery-hero{background-image:linear-gradient(90deg,#102633ac,#10263382),url('/assets/project-3.jpg');background-position:center,center 50%}
.service-card{transition:box-shadow .22s ease,transform .22s ease}
.service-card:hover,.service-card:focus-within{box-shadow:0 18px 42px #203c6070;transform:translateY(-5px)}
.instagram-link{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #a7bbc8;border-radius:9px;color:var(--blue)}
.instagram-link svg{width:24px;height:24px}
.instagram-link:hover,.instagram-link:focus-visible{background:var(--blue);color:#fff;outline-offset:3px}
@media(max-width:680px){.hero{min-height:660px;background-attachment:scroll,scroll;background-position:center,58% center}.page-hero{min-height:310px;padding:55px 20px}}
@media(prefers-reduced-motion:reduce){.hero{background-attachment:scroll,scroll}.service-card{transition:none}.service-card:hover,.service-card:focus-within{transform:none}}
/* Project type navigation and service pages */
.site-header{position:sticky;top:0;z-index:30}
.site-header nav{align-items:center;gap:32px}
.nav-dropdown{position:relative;color:var(--blue)}
.nav-dropdown summary{list-style:none;display:inline-flex;align-items:center;gap:7px;cursor:pointer;white-space:nowrap}
.nav-dropdown summary::-webkit-details-marker{display:none}
.nav-dropdown summary svg{width:13px;height:13px;transition:transform .2s ease}
.nav-dropdown[open] summary svg{transform:rotate(180deg)}
.nav-dropdown summary:hover,.nav-dropdown summary:focus-visible{color:var(--green)}
.nav-dropdown-links{position:absolute;top:calc(100% + 19px);left:-18px;width:255px;padding:10px;background:#fff;border:1px solid #d8e5ec;box-shadow:0 13px 26px #1b35503a;border-radius:5px;display:grid;gap:1px;z-index:40;text-transform:none;letter-spacing:normal}
.nav-dropdown-links a{display:block;padding:10px 12px;border-radius:3px;color:var(--dark);font-size:15px;line-height:1.3}
.nav-dropdown-links a:hover,.nav-dropdown-links a:focus-visible{background:var(--pale);color:var(--blue)}
.service-hero{min-height:420px}
.residential-hero{background-image:linear-gradient(90deg,#102633ba,#10263370),url('/assets/project-1.png')}
.commercial-hero{background-image:linear-gradient(90deg,#102633ba,#10263370),url('/assets/project-2.jpg')}
.hardscape-hero{background-image:linear-gradient(90deg,#102633ba,#10263370),url('/assets/project-3.jpg')}
.maintenance-hero{background-image:linear-gradient(90deg,#102633ba,#10263370),url('/assets/project-0.jpg')}
.service-info{display:grid;grid-template-columns:1.08fr .92fr;gap:55px;align-items:center}
.service-info h2{font-size:clamp(30px,3.1vw,45px)}
.service-info p:not(.eyebrow),.service-details p{font-size:18px;line-height:1.7}
.service-info img{width:100%;height:420px;object-fit:cover}
.service-details{background:var(--pale)}
.service-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.service-detail-grid article{background:#fff;padding:34px}
.service-detail-grid h2{font-size:27px;margin-bottom:14px}
.service-closing{max-width:970px;margin:35px 0 0}
.service-closing a{font-weight:700;color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.service-related h2{max-width:760px}
.related-links{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:25px}
.related-links a{border:1px solid #bfd7df;padding:20px 22px;font-weight:700;color:var(--blue);display:flex;justify-content:space-between;align-items:center;gap:12px}
.related-links a:hover,.related-links a:focus-visible{background:var(--pale);border-color:var(--blue)}
@media(max-width:1200px){.site-header{flex-wrap:wrap;justify-content:center;gap:12px 25px}.site-header nav{order:3;width:100%;justify-content:center;gap:28px}.brand img{width:175px}}
@media(max-width:760px){.service-info,.service-detail-grid{grid-template-columns:1fr}.service-info{gap:22px}.service-info img{height:300px}.related-links{grid-template-columns:1fr}.service-hero{min-height:340px}}
@media(max-width:680px){.site-header nav{flex-wrap:wrap;gap:10px 20px}.nav-dropdown-links{left:0;top:calc(100% + 7px)}.service-detail-grid article{padding:26px}.service-info p:not(.eyebrow),.service-details p{font-size:16px}}

/* Keep the sticky header compact once the page is scrolled. */
.site-header{transition:min-height .22s ease,padding .22s ease}
.brand img{transition:width .22s ease,max-height .22s ease}
.site-header.is-compact{min-height:72px;padding-top:5px;padding-bottom:5px}
.site-header.is-compact .brand img{width:145px;max-height:62px}
@media(max-width:1200px){.site-header.is-compact .brand img{width:125px;max-height:56px}}
@media(max-width:680px){.site-header.is-compact{gap:5px 12px;padding-top:5px;padding-bottom:5px}.site-header.is-compact .brand img{width:105px;max-height:48px}.site-header.is-compact nav{gap:5px 14px}}
@media(prefers-reduced-motion:reduce){.site-header,.brand img{transition:none}}
.county-hero{background-image:linear-gradient(90deg,rgba(18,42,52,.82),rgba(18,42,52,.32)),url('/assets/project-0.jpg');background-size:cover;background-position:center}
.service-related .related-links:has(a:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.service-related .related-links:has(a:nth-child(2):last-child){grid-template-columns:1fr}}
.faq-section{background:#f7fafb}.faq-section h2{margin-bottom:25px}.faq-list{max-width:900px;border-top:1px solid #cadbe2}.faq-item{border-bottom:1px solid #cadbe2}.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 4px;cursor:pointer;color:var(--dark);font:700 1.1rem/1.4 Nunito,Arial,sans-serif}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover,.faq-item summary:focus-visible{color:var(--blue)}.faq-item summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.faq-indicator{width:13px;height:13px;flex:none;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s}.faq-item[open] .faq-indicator{transform:rotate(225deg)}.faq-answer{padding:0 36px 18px 4px}.faq-answer p{margin:0;max-width:75ch}
.content-expand{background:#fff}.content-expand h2{max-width:850px;margin-bottom:28px}.content-expand-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.content-expand-grid article{border-top:3px solid var(--green);background:var(--cream);padding:27px 28px}.content-expand-grid h3{font-size:1.3rem;margin-bottom:13px}.content-expand-grid p{margin-bottom:14px}.content-expand-grid p:last-child{margin-bottom:0}.service-details.content-expand{background:var(--pale)}.service-details.content-expand article{background:#fff}.remodel-hero{background-image:linear-gradient(90deg,#102633ba,#10263370),url('/assets/project-0.jpg')}.sprinkler-hero{background-image:linear-gradient(90deg,#102633ba,#10263370),url('/assets/project-1.png')}
@media(max-width:960px){.content-expand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.content-expand-grid{grid-template-columns:1fr}.content-expand-grid article{padding:23px}}
.service-area-note{max-width:1100px;margin:0 auto;padding:30px 7%;color:var(--dark);font-size:1.05rem;line-height:1.65;text-align:center}
.mobile-actions{display:none}.mobile-drawer:not([open]){display:none}
@media(max-width:980px){.site-header,.site-header.is-compact{min-height:74px;padding:8px 5%;flex-wrap:nowrap;justify-content:space-between;gap:12px}.site-header .brand img,.site-header.is-compact .brand img{width:150px;max-height:58px}.site-header>nav,.site-header>.header-actions{display:none}.mobile-actions{display:flex;align-items:center;gap:10px}.mobile-call,.mobile-menu-open{height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #b6cbd9;border-radius:6px;background:#fff;color:var(--blue)}.mobile-call{width:44px}.mobile-call svg{width:20px;height:20px}.mobile-menu-open{gap:9px;padding:0 12px;font:700 14px/1 'DM Sans',Arial,sans-serif;cursor:pointer}.menu-bars{display:grid;gap:4px}.menu-bars i{display:block;width:18px;height:2px;background:currentColor;border-radius:2px}.mobile-call:focus-visible,.mobile-menu-open:focus-visible,.mobile-menu-close:focus-visible{outline:3px solid var(--green);outline-offset:2px}}
@media(max-width:390px){.site-header .brand img,.site-header.is-compact .brand img{width:132px}.mobile-actions{gap:7px}.mobile-menu-open{padding:0 10px}}
.mobile-drawer{position:fixed;inset:0 0 0 auto;width:min(410px,92vw);max-width:100%;height:100dvh;max-height:100dvh;margin:0 0 0 auto;padding:0;border:0;background:#f8fcff;color:var(--dark);box-shadow:-12px 0 42px #12283b48;overflow-y:auto;overscroll-behavior:contain}.mobile-drawer::backdrop{background:rgba(13,31,47,.58)}.drawer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;background:var(--pale);border-bottom:4px solid var(--blue)}.drawer-top img{width:160px;max-height:70px;object-fit:contain}.mobile-menu-close{width:42px;height:42px;border:1px solid #b6cbd9;border-radius:6px;background:white;color:var(--blue);font:400 32px/1 Arial,sans-serif;cursor:pointer}.mobile-drawer nav{display:block;padding:12px 24px}.drawer-main-link,.drawer-group summary{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:13px 4px;border-bottom:1px solid #d5e3eb;color:var(--dark);font:700 17px/1.35 Nunito,Arial,sans-serif}.drawer-group summary{list-style:none;cursor:pointer}.drawer-group summary::-webkit-details-marker{display:none}.drawer-group summary span{font-size:27px;line-height:1;transition:transform .2s}.drawer-group[open] summary span{transform:rotate(180deg)}.drawer-group-links{display:grid;padding:5px 0 12px 14px;border-bottom:1px solid #d5e3eb}.drawer-group-links a{display:block;padding:10px 4px;color:var(--blue);font-size:15px;font-weight:600;line-height:1.35}.drawer-main-link:hover,.drawer-group summary:hover,.drawer-group-links a:hover{color:var(--green)}.drawer-main-link:focus-visible,.drawer-group summary:focus-visible,.drawer-group-links a:focus-visible,.drawer-quote:focus-visible,.drawer-phone:focus-visible{outline:2px solid var(--green);outline-offset:2px}.drawer-bottom{display:grid;gap:14px;padding:12px 24px 30px}.drawer-quote{display:block;padding:14px 18px;border-radius:5px;background:var(--blue);color:#fff;text-align:center;font-weight:700}.drawer-phone{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--green);font-size:17px;font-weight:700}.drawer-phone svg{width:20px;height:20px}
@media(prefers-reduced-motion:reduce){.drawer-group summary span{transition:none}}
.design-hero{background-image:linear-gradient(90deg,#102633ba,#10263370),url('/assets/project-0.jpg')}
