@font-face{font-family:local;src:local("Arial")} :root{--ink:#183b2b;--cream:#f4f2e8;--lime:#d3eb89;--muted:#58695f;--line:#ced4c7;--radius:4px}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65}a{color:inherit;text-underline-offset:4px}button,input,textarea{font:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:white;z-index:100}.wrap{width:min(1320px,90%);margin:auto}header{border-bottom:1px solid var(--line);background:var(--cream)}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0}.brand{text-decoration:none;font-weight:900;font-size:30px;letter-spacing:-1px;line-height:1}.brand small{display:block;font-size:10px;letter-spacing:3.8px;margin-top:9px}.links{display:flex;gap:25px;align-items:center;font-size:14px;font-weight:700}.links a{text-decoration:none}.links a:hover{text-decoration:underline}.btn{display:inline-flex;justify-content:center;align-items:center;background:var(--ink);color:white;text-decoration:none;padding:14px 24px;border:1px solid var(--ink);border-radius:var(--radius);font-weight:700;font-size:15px;cursor:pointer;line-height:1.4}.btn.light{background:var(--lime);color:var(--ink);border-color:var(--lime)}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;margin:0 0 22px}.hero{padding:72px 0 58px}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center}h1,h2,h3{line-height:1.06;letter-spacing:-1.8px;font-weight:600}h1{font-size:clamp(43px,5.5vw,80px);margin:0 0 28px}h2{font-size:clamp(32px,4vw,54px);margin:0 0 25px}h3{font-size:25px;letter-spacing:-.5px;margin:0 0 15px}p{margin:0 0 20px}.lead{font-size:19px;color:var(--muted);max-width:680px}.actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:30px}.phone{font-size:16px;font-weight:bold}.art{background:#cbd3bc;position:relative;overflow:hidden;min-height:450px;border-radius:2px}.art svg{display:block;width:100%;height:450px}.art-caption{position:absolute;bottom:18px;left:22px;color:#fff;font-size:11px;letter-spacing:1.5px}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}.strip .wrap{display:flex;gap:25px;justify-content:space-between;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.section{padding:85px 0}.section.dark{background:var(--ink);color:var(--cream)}.section.dark .lead{color:#c7d5c9}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:38px}.section-head p{max-width:380px;margin:0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{border-top:1px solid var(--line);padding:27px 0;text-decoration:none;display:block}.card p{font-size:15px;color:var(--muted)}.card .num{font-size:11px;letter-spacing:2px;display:block;margin-bottom:26px}.arrow{font-size:22px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10%}.list{list-style:none;margin:0;padding:0}.list li{border-bottom:1px solid var(--line);padding:16px 0}.list li:before{content:none;margin:0}.chips{display:flex;flex-wrap:wrap;gap:10px}.chips a,.chips span{border:1px solid var(--line);padding:10px 17px;text-decoration:none;font-size:15px}.chips a:hover{background:var(--lime)}.callout{background:var(--lime);padding:50px;display:flex;justify-content:space-between;gap:30px;align-items:center}.callout h2{font-size:40px;max-width:660px;margin-bottom:12px}.callout p{margin:0}.faq{max-width:900px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{font-weight:700;cursor:pointer;line-height:1.4}.faq details p{margin-top:18px;color:var(--muted)}footer{background:#112c20;color:#e4e9db;padding:55px 0 25px;font-size:14px}footer .two{gap:30px}footer a{text-decoration:none}footer .footlinks{display:flex;flex-wrap:wrap;gap:10px 25px;margin:25px 0}.fine{font-size:12px;opacity:.8}.crumbs{font-size:12px;margin-bottom:28px}.content{max-width:780px}.content h2{font-size:35px;margin-top:35px}.contactbox{background:white;padding:35px;border:1px solid var(--line)}label{display:block;font-size:14px;font-weight:bold;margin-bottom:18px}input,textarea,select{width:100%;background:#fbfcf8;color:var(--ink);border:1px solid #aebbad;padding:12px;margin-top:7px;border-radius:var(--radius)}textarea{min-height:115px}.err{color:#a22323;font-size:13px}.status{padding:15px;background:#eaf3d7}.menu{display:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #688c30;outline-offset:5px}@media(max-width:960px){.links{gap:16px}.links .navphone{display:none}.hero-grid{gap:30px}.grid{grid-template-columns:repeat(2,1fr)}.art,.art svg{min-height:360px;height:360px}}@media(max-width:700px){.nav{padding:20px 0;flex-wrap:wrap}.brand{font-size:25px}.menu{display:block;background:transparent;border:1px solid var(--ink);padding:8px 13px}.links{display:none;width:100%;flex-direction:column;align-items:start;padding:15px 0}.links.open{display:flex}.hero{padding:40px 0}.hero-grid,.two{grid-template-columns:1fr;gap:40px}.art,.art svg{min-height:310px;height:310px}.strip .wrap{flex-wrap:wrap;gap:10px 20px;font-size:10px}.section{padding:55px 0}.section-head{display:block}.section-head p{margin-top:22px}.grid{grid-template-columns:1fr}.callout{display:block;padding:30px}.callout .btn{margin-top:25px}.callout h2{font-size:33px}.contactbox{padding:23px}h1{letter-spacing:-1.5px}.hero-grid h1{font-size:49px}footer .two{gap:25px}}
/* Commercial-first hero refinement */
.hero h1{font-size:clamp(2.65rem,5.3vw,5.5rem);line-height:1.05;letter-spacing:-.045em}.hero .lead{max-width:38rem}

.art img{display:block;width:100%;height:450px;object-fit:cover;object-position:center}
@media(max-width:960px){.art img{height:360px}}@media(max-width:700px){.art img{height:310px}}

/* Image features and commercial conversion */
.feature-photo{height:330px;overflow:hidden;margin:12px 0 28px;border-radius:var(--radius);background:#d9e2d2}.feature-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%}.section .btn{max-width:100%}.card:hover h3{text-decoration:underline;text-underline-offset:4px}@media(max-width:700px){.feature-photo{height:240px}}

/* Residential page, photo gallery and service imagery */
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.gallery-grid figure{min-width:0;margin:0}
.gallery-grid img{display:block;width:100%;height:275px;object-fit:cover;border-radius:var(--radius)}
.gallery-grid figcaption{font-size:13px;font-weight:600;line-height:1.5;margin-top:10px;color:var(--muted)}
.photo-band{padding:0 0 38px}
.photo-band figure{margin:0}
.photo-band img{display:block;width:100%;height:360px;object-fit:cover;border-radius:var(--radius)}
.photo-band figcaption{font-size:12px;color:var(--muted);margin-top:10px}
.photo-band .wrap{max-width:1320px}
.residential-promo .feature-photo{margin:0;height:280px}
.residential-promo .feature-photo img{height:280px}
@media(max-width:960px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:240px}.photo-band img{height:240px}.residential-promo .feature-photo{height:250px}.residential-promo .feature-photo img{height:250px}}

/* Verified customer review styling */
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.review-card{min-width:0;margin:0;padding:30px;border:1px solid var(--line);background:#fff}.review-card blockquote{margin:16px 0 22px;font-size:20px;font-weight:600;line-height:1.45}.review-stars{color:#9a7822;letter-spacing:3px}.review-card figcaption{font-size:13px;color:var(--muted)}.faq-topic{margin:0 0 55px}.faq-topic h2{font-size:clamp(27px,3.3vw,40px);margin-bottom:12px}.faq-topic .faq{max-width:1000px}.faq-topic .faq details p{max-width:850px}@media(max-width:960px){.review-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.review-grid{grid-template-columns:1fr}.review-card{padding:22px}.review-card blockquote{font-size:18px}}

/* Jobber direct request form */
.jobber-request{scroll-margin-top:90px;min-width:0}.jobber-frame{width:100%;height:1160px;display:block;border:0;background:white}.contactbox:has(.jobber-frame){padding:24px 18px;min-width:0}.two:has(.jobber-frame){grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:6%}@media(max-width:700px){.two:has(.jobber-frame){grid-template-columns:1fr}.jobber-frame{height:1320px}.contactbox:has(.jobber-frame){padding:18px 8px}}

/* Keep pressure-washing comparisons and masonry photos uncropped */
.portfolio-gallery .gallery-grid img{height:270px;object-fit:contain;background:#e7e9e3;border:1px solid var(--line)}.portfolio-gallery .gallery-grid figcaption{font-size:14px}.portfolio-gallery .section-head{align-items:start}.portfolio-gallery .section-head p{max-width:470px;color:var(--muted)}@media(max-width:700px){.portfolio-gallery .gallery-grid img{height:255px}}

/* 2026 photo gallery layout refresh */
.service-showcase{padding:66px 0 82px;background:#f1f2eb}
.service-showcase .section-head{align-items:start}
.service-showcase .section-head h2{max-width:740px}
.service-showcase .service-gallery-note{font-size:14px;line-height:1.6;max-width:410px;color:var(--muted)}
.service-showcase .gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.service-showcase[data-columns="2"] .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-showcase .gallery-grid figure{padding:0;margin:0;min-width:0}
.service-showcase .gallery-grid img{display:block;width:100%;height:290px;object-fit:contain;object-position:center;background:#e2e7dc;border:1px solid #d9dfd2;border-radius:4px}
.service-showcase .gallery-grid figcaption{margin-top:11px;font-size:14px;font-weight:700}
.photo-band[data-photo-page="yes"]{padding:28px 0 48px}
.photo-band[data-photo-page="yes"] .wrap{max-width:800px}
.photo-band[data-photo-page="yes"] img{width:100%;height:auto;max-height:none;object-fit:contain}
.feature-photo{max-width:900px;height:auto;min-height:0;overflow:hidden;margin:20px auto 26px}
.feature-photo img{display:block;width:100%;height:auto;object-fit:contain;max-height:none}
.hero .art{height:auto;min-height:0}
.hero .art img{width:100%;height:auto;min-height:0;max-height:none;object-fit:contain}
.residential-promo .feature-photo{max-width:none;height:auto}
.residential-promo .feature-photo img{height:auto}
@media(max-width:960px){.service-showcase .gallery-grid,.service-showcase[data-columns="2"] .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.service-showcase{padding:45px 0 55px}.service-showcase .gallery-grid,.service-showcase[data-columns="2"] .gallery-grid{grid-template-columns:1fr}.service-showcase .gallery-grid img{height:260px}.service-showcase .section-head h2{max-width:100%}.hero .art{height:auto;min-height:0}.hero .art img{height:auto;min-height:0;max-height:none}}

/* City-page discovery and sports maintenance links */
.footer-area-links{line-height:2}.footer-area-links a:hover{text-decoration:underline}.sports-gallery img{width:100%;height:275px;object-fit:contain;background:#e5eae1;border:1px solid var(--line)}@media(max-width:700px){.sports-gallery img{height:240px}}


/* Accessibility improvements apply to owned pages, without an overlay. */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip:focus{position:fixed;left:12px;top:12px;padding:12px 18px;color:#112c20;background:#fff;z-index:10000}
button,input,textarea,select{font:inherit}
a,button,input,textarea,select,summary{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,iframe:focus-visible{outline:3px solid #112c20;outline-offset:4px;box-shadow:0 0 0 4px #fff}
input,textarea,select{border-color:#627366}
input[type=checkbox]{width:22px;height:22px;min-width:22px;margin:2px 0 0;accent-color:#183b2b}
button,.btn,.menu{min-height:44px}
.menu{min-width:64px}
.btn.secondary{background:#fff;color:#183b2b;border-color:#183b2b}
button:disabled{cursor:default;opacity:.7}
.fine{font-size:14px;opacity:1}
.art-caption{background:#112c20;color:#fff;padding:8px 12px;left:12px;bottom:12px;max-width:calc(100% - 24px);line-height:1.5}
.text-button{appearance:none;padding:4px 0;border:0;background:transparent;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer;min-height:44px}
.checkline{display:flex;gap:12px;align-items:flex-start;font-size:16px;font-weight:400;line-height:1.6;margin:18px 0;cursor:pointer}
fieldset{min-width:0;border:1px solid #627366;padding:16px 18px;margin:20px 0}
legend{padding:0 6px;font-weight:700}
.status{color:#183b2b;background:#eaf3d7;padding:16px;border-left:4px solid #183b2b}
.err{color:#8b1919}
.policy h1{font-size:clamp(36px,5vw,64px);overflow-wrap:anywhere}
.policy h2{font-size:clamp(25px,3.3vw,34px);line-height:1.2;letter-spacing:-.6px;margin-top:36px}
.policy li{margin-bottom:12px}
.policy-date{font-size:14px;color:#47584d}
.policy-nav{display:flex;flex-wrap:wrap;gap:12px 22px;margin:28px 0}
.table-scroll{max-width:100%;overflow-x:auto;margin:24px 0}
table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.6}
caption{text-align:left;font-weight:700;margin-bottom:12px}
th,td{text-align:left;vertical-align:top;border:1px solid #627366;padding:14px;min-width:140px}
th{background:#eaf0df}
code{overflow-wrap:anywhere;font-size:.92em}
.cookie-notice{background:#fff;color:#183b2b;border-bottom:2px solid #183b2b;padding:24px 0}
.cookie-notice h2{font-size:26px;letter-spacing:-.5px;line-height:1.3;margin-bottom:12px}
.cookie-notice p{max-width:1050px;margin-bottom:12px;font-size:16px}
.cookie-notice .actions{margin-top:16px;gap:12px}
.cookie-notice .btn{min-width:210px}
.cookie-dialog{max-width:min(680px,92vw);max-height:90vh;overflow-y:auto;background:#fff;color:#183b2b;border:2px solid #183b2b;padding:30px;border-radius:4px}
.cookie-dialog::backdrop{background:rgb(0 0 0 / .55)}
.cookie-dialog h2{font-size:32px;letter-spacing:-.5px;line-height:1.2;margin:0 0 18px}
.cookie-dialog .actions{gap:12px;margin-top:20px}
.cookie-dialog .btn{font-size:15px}
.gpc-message{padding:12px;background:#eaf3d7}
.jobber-request,.contactbox,#jobber-request{scroll-margin-top:30px;min-width:0}
.jobber-frame{width:100%;height:1220px;border:1px solid #627366;background:#fff}
.two:has(#jobber-request){grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:6%}
.links{flex-wrap:wrap;justify-content:flex-end}
.footlinks a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}
p,a{overflow-wrap:break-word}
@media(max-width:1100px){.nav{flex-wrap:wrap}.links{gap:18px}}
@media(max-width:700px){.two:has(#jobber-request){grid-template-columns:1fr}.cookie-notice .actions{align-items:stretch;flex-direction:column}.cookie-notice .btn{width:100%;min-width:0}.cookie-dialog{padding:22px}.cookie-dialog .actions{align-items:stretch;flex-direction:column}.cookie-dialog .btn{width:100%}.hero-grid h1{font-size:clamp(34px,8vw,49px)}.jobber-frame{height:1400px}.contactbox{padding:22px 16px}.links{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(forced-colors:active){.btn,input,textarea,select,fieldset,.cookie-dialog{border:1px solid ButtonText}:focus-visible{outline:3px solid Highlight!important;box-shadow:none!important}}


.review-stars{color:#80631c}
