.services-section{background:#e5ebef;padding:85px 0 70px;border-top:1px solid #d5dfe6;border-bottom:1px solid #d5dfe6}.services-heading{max-width:740px;margin-bottom:38px}.services-heading .eyebrow{margin-bottom:13px}.services-heading h2{font-size:clamp(34px,3.5vw,48px);font-weight:800;letter-spacing:-1.8px;line-height:1.15}.services-heading>p:last-child{font-size:15px;line-height:1.8;color:#526171;max-width:620px;margin:20px 0 0}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-card{background:#fff;border:1px solid #d0dbe3;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 3px 8px #071c3504;transition:border-color .18s,box-shadow .18s}.service-card:hover{border-color:#a82a2a;box-shadow:0 7px 20px #071c3510}.service-photo{height:165px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;background:#ccd7df;color:#52677b;border-bottom:1px solid #c0ccd6}.service-photo span{font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:600}.service-card-copy{padding:23px 24px 22px;display:flex;flex-direction:column;flex:1}.service-card-number{font-size:10px;color:var(--red);font-weight:700;letter-spacing:1px;margin-bottom:8px}.service-card h3{font-size:19px;font-weight:800;line-height:1.35;letter-spacing:-.4px;margin:0 0 12px}.service-card p{font-size:13px;color:#5b6875;line-height:1.7;margin:0 0 23px}.service-card-link{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;font-weight:700;color:var(--red);margin-top:auto;border-top:1px solid #e5e9ed;padding-top:14px}.service-card-link>span{font-size:19px}.services-help{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:35px;padding:28px 30px;background:var(--navy);border-radius:7px;color:white}.services-help strong{font-family:Manrope,sans-serif;font-size:19px;letter-spacing:-.4px}.services-help p{font-size:13px;color:#c4d0dc;margin:6px 0 0}.services-help .button{border-radius:5px;white-space:nowrap}@media(max-width:950px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}@media(max-width:600px){.services-section{padding:50px 0}.services-heading{margin-bottom:28px}.services-heading h2{font-size:34px;letter-spacing:-1.2px}.services-heading>p:last-child{font-size:14px}.services-grid{grid-template-columns:1fr;gap:20px}.service-photo{height:175px}.service-card-copy{padding:22px}.services-help{align-items:stretch;flex-direction:column;padding:25px}.services-help .button{justify-content:center}.services-help strong{font-size:18px}}@media(prefers-reduced-motion:reduce){.service-card{transition:none}}

/* Nine owner-selected services with supplied photos. */
.service-photo{height:210px;overflow:hidden;background:#d1dbe3}
.service-photo img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:600px){.service-photo{height:225px}}
/* Centered coverage section with city labels and regional map. */
.coverage-section{background:#fafbf9;padding:75px 0 65px}
.coverage-heading{text-align:center;max-width:850px;margin:0 auto 30px}
.coverage-heading .eyebrow{margin-bottom:12px}
.coverage-heading h2{font-size:clamp(32px,3.5vw,46px);font-weight:800;letter-spacing:-1.5px;line-height:1.2}
.coverage-heading>p:not(.eyebrow){font-size:16px;line-height:1.8;color:#526171;margin:19px auto 0;max-width:780px}
.coverage-heading>p.coverage-beyond{font-size:14px;margin-top:12px;max-width:760px}
.coverage-beyond a,.coverage-map-note a{color:var(--navy);text-decoration:underline;text-underline-offset:3px;font-weight:600}
.coverage-cities{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:32px auto 36px;max-width:1050px}
.coverage-cities span{display:inline-flex;align-items:center;gap:8px;border:1px solid #d6dfe6;border-radius:30px;background:white;color:var(--navy);padding:8px 16px;font-size:12px;font-weight:600;line-height:1.5}
.coverage-cities span:before{content:'';display:inline-block;width:8px;height:10px;border:1.5px solid var(--red);border-radius:7px 7px 7px 0;transform:rotate(-45deg);flex:none;margin-right:2px}
.coverage-map{overflow:hidden;border:1px solid #d7e0e6;border-radius:18px;background:#e5ebef;width:100%}
.coverage-map iframe{display:block;width:100%;height:440px;border:0}
.coverage-map-note{text-align:center;font-size:12px;color:#5c6975;margin:15px 0 0;line-height:1.8}
@media(max-width:650px){.coverage-section{padding:50px 0}.coverage-heading h2{font-size:32px}.coverage-heading>p:not(.eyebrow){font-size:14px}.coverage-heading>p.coverage-beyond{font-size:13px}.coverage-cities{gap:8px;margin:26px auto}.coverage-cities span{font-size:11px;padding:7px 12px}.coverage-map iframe{height:350px}.coverage-map{border-radius:12px}}
/* Broad, approximate coverage overlay, rather than a city-limit outline. */
.coverage-map{position:relative}
.coverage-map iframe{pointer-events:none}
.coverage-region{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.coverage-region ellipse{fill:rgba(29,145,85,.13);stroke:#20854f;stroke-width:3;stroke-dasharray:9 5;vector-effect:non-scaling-stroke}
.coverage-region-label{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);border:1px solid #b7d5c3;border-radius:20px;padding:6px 13px;background:#fffffff0;color:#165b36;font-size:11px;font-weight:700;white-space:nowrap;pointer-events:none}
/* Keep embedded map controls outside the visible frame; retain map attribution. */
.coverage-map iframe{height:620px;margin-top:-145px;margin-bottom:-35px;width:100%;pointer-events:none}
.coverage-map{height:440px}
@media(max-width:650px){.coverage-map{height:350px}.coverage-map iframe{height:530px;margin-top:-145px;margin-bottom:-35px}}
/* Match the approximate coverage highlight to the wider regional view. */
.coverage-region ellipse{cx:51%;cy:60%;rx:17%;ry:25%}
/* Tighter Phoenix–Casa Grande framing, with approximate core coverage below Phoenix. */
.coverage-region ellipse{cx:51%;cy:63%;rx:22%;ry:29%}
.google-review-badge{display:flex;flex-direction:column;justify-content:center;gap:3px}
.google-review-title{display:flex;align-items:center;gap:8px}
.facts .google-review-title strong{font:700 14px/1.4 'DM Sans',sans-serif;letter-spacing:0}
.facts .google-letter{font:800 24px/1 Manrope,sans-serif;color:#4285f4}
.facts .google-stars{font-size:20px;line-height:1.2;letter-spacing:3px;color:#b77500}
.google-review-badge small{font-size:9px;line-height:1.5;color:#5f6872}
/* Compact Google-style rating card, using owner-requested preview figures. */
.google-review-badge{align-items:flex-start}
.google-badge-card{background:#fff;border:1px solid #e2e4e5;border-radius:12px;padding:14px 18px;min-width:165px;box-shadow:0 3px 10px #071c3509}
.facts .google-word{display:flex;align-items:baseline;font:600 25px/1.2 'DM Sans',sans-serif;letter-spacing:-1px;margin-bottom:6px}
.facts .google-word span{font:inherit;letter-spacing:inherit}
.google-word span:nth-child(1),.google-word span:nth-child(4){color:#4285f4}
.google-word span:nth-child(2),.google-word span:nth-child(6){color:#ea4335}
.google-word span:nth-child(3){color:#a86f00}
.google-word span:nth-child(5){color:#238443}
.google-rating-line{display:flex;align-items:center;gap:7px;line-height:1.3}
.google-rating-line b{font-size:16px;color:#171717}
.facts .google-rating-line>span{font-size:20px;color:#f5b400;letter-spacing:0;line-height:1.2}
.google-rating-count{font-size:14px;font-weight:700;color:#171717;line-height:1.5;margin-top:3px}
.google-review-badge>small{margin-top:3px}
/* Plumbing questions with photo and call panel. */
.faq-section{background:#fff;padding:80px 0}
.faq-layout{display:grid;grid-template-columns:1.12fr 1fr;gap:65px;align-items:start}
.faq-label{display:inline-flex;align-items:center;gap:9px;border:1px solid #d8e0e7;border-radius:25px;padding:6px 12px;font-size:10px;letter-spacing:1px;font-weight:700;margin:0 0 18px}
.faq-label>span{color:var(--red);font-size:18px;line-height:1}
.faq-content h2{font-size:30px;line-height:1.35;letter-spacing:-.9px;margin:0 0 25px;font-weight:800}
.faq-questions{display:flex;flex-direction:column;gap:15px}
.faq-item{border:1px solid var(--navy);border-radius:12px;overflow:hidden;background:#fff}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:22px;list-style:none;background:var(--navy);color:#fff;padding:18px 21px;cursor:pointer;font-size:13px;font-weight:700;line-height:1.5}
.faq-item summary::-webkit-details-marker{display:none}
.faq-chevron{width:9px;height:9px;flex:none;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-right:3px;margin-top:-4px}
.faq-item[open] .faq-chevron{transform:rotate(225deg);margin-top:5px}
.faq-item summary:hover{background:#123252}
.faq-answer{padding:19px 21px}
.faq-answer p{font-size:13px;line-height:1.85;color:#536170;margin:0}
.faq-photo-panel{position:relative;min-height:660px;overflow:hidden;border-radius:18px;background:#d0d9dd;align-self:stretch;margin:0}
.faq-photo-panel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:35% center}
.faq-photo-panel:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(4,19,37,.2) 55%,rgba(4,19,37,.9) 100%)}
.faq-photo-overlay{position:absolute;bottom:35px;left:30px;right:30px;z-index:1}
.faq-photo-overlay h3{color:#fff;font-size:26px;line-height:1.35;letter-spacing:-.6px;margin:0 0 22px;font-weight:800}
.faq-photo-call{display:flex;align-items:center;gap:15px;background:#fff;color:var(--navy);border-radius:11px;padding:16px}
.faq-phone-icon{background:var(--red);color:#fff;display:grid;place-items:center;width:47px;height:47px;flex:none;border-radius:8px;font-size:24px}
.faq-photo-call small{display:block;font-size:11px;color:#5e6874}
.faq-photo-call strong{display:block;font-size:17px;line-height:1.5;white-space:nowrap}
.faq-photo-call>span:last-child{margin-left:auto;font-size:19px}
@media(max-width:950px){.faq-layout{gap:30px;grid-template-columns:1.2fr 1fr}.faq-photo-overlay{left:20px;right:20px;bottom:25px}.faq-photo-call{gap:10px;padding:12px}.faq-phone-icon{width:38px;height:42px}.faq-photo-call strong{font-size:14px}.faq-content h2{font-size:27px}}
@media(max-width:700px){.faq-section{padding:50px 0}.faq-layout{grid-template-columns:1fr;gap:30px}.faq-content h2{font-size:28px}.faq-photo-panel{min-height:450px}.faq-photo-panel>img{object-position:center 35%}.faq-photo-overlay{left:25px;right:25px;bottom:25px}.faq-photo-call{padding:15px;gap:15px}.faq-photo-call strong{font-size:18px}.faq-item summary{padding:17px 18px}.faq-answer{padding:18px}}
/* Blog and work gallery pages. */
.content-page>h1{font-size:52px;margin-bottom:20px}
.content-intro{font-size:17px;color:#526171;max-width:700px;margin-bottom:35px}
.content-empty{padding:40px;background:#e5ebef;border-radius:12px;max-width:760px;margin:35px 0}
.content-empty h2{font-size:27px;margin-bottom:15px}.content-empty p{color:#526171}
.work-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.work-gallery figure{margin:0;background:#fff;border:1px solid #d5dfe6;border-radius:12px;overflow:hidden}
.work-gallery img{display:block;width:100%;height:320px;object-fit:cover}
.work-gallery figcaption{padding:18px 22px;font-weight:700;font-size:15px}
@media(min-width:901px){.site-header nav{gap:18px;font-size:12px}.header-inner{gap:22px;grid-template-columns:180px 1fr auto}}
@media(max-width:650px){.content-page>h1{font-size:40px}.work-gallery{grid-template-columns:1fr}.work-gallery img{height:280px}.content-empty{padding:26px}}
/* Shared owner-supplied footer logo. */
.footer-logo{display:block;position:relative;width:220px;height:125px;overflow:hidden;align-self:start}
.footer-logo img{position:absolute;width:285px;height:auto;max-width:none;left:-39px;top:-49px}
@media(max-width:650px){.footer-top>.footer-logo{grid-column:1/-1}.footer-logo{width:200px;height:115px}.footer-logo img{width:260px;left:-36px;top:-45px}}
/* Batch project gallery: compact responsive images with full-image links. */
.work-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
.work-gallery img{height:250px;object-fit:cover}
.work-gallery a{display:block}.work-gallery a:focus-visible{outline-offset:-4px}
@media(max-width:950px){.work-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.work-gallery{grid-template-columns:1fr}.work-gallery img{height:300px}}
/* More readable top navigation. */
.site-header nav{font-size:15px;gap:20px}
@media(min-width:901px) and (max-width:1150px){.site-header nav{font-size:14px;gap:15px}.header-inner{gap:18px}}
.blog-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.blog-card{border:1px solid #d6dfe6;border-radius:12px;overflow:hidden;background:#fff}.blog-card>img{width:100%;height:250px;object-fit:cover;display:block}.blog-card>div{padding:27px}.blog-card h2{font-size:25px;line-height:1.35;margin-bottom:18px}.blog-card p:not(.eyebrow){font-size:14px;color:#526171}.blog-card strong{color:var(--red);font-size:13px}.blog-article{max-width:960px;padding-top:45px;padding-bottom:65px}.article-breadcrumb{display:block;font-size:12px;color:#526171;margin-bottom:35px}.blog-article h1{font-size:clamp(32px,4vw,48px);line-height:1.2;letter-spacing:-1.5px}.blog-article h2{font-size:26px;margin:37px 0 17px}.blog-article article>p,.blog-article li{font-size:16px;line-height:1.9;color:#425264}.blog-article article>p a,.blog-article li a{color:var(--red);text-decoration:underline;text-underline-offset:3px}.article-byline{font-size:12px!important}.article-photo{margin:30px 0}.article-photo img{display:block;width:100%;height:430px;object-fit:cover;border-radius:12px}.article-photo figcaption{font-size:12px;color:#526171;margin-top:10px}.article-related{padding:25px;background:#e5ebef;border-radius:10px;margin-top:35px}.article-related strong{display:block;margin-bottom:8px}.article-related a{color:var(--red)}@media(max-width:650px){.blog-cards{grid-template-columns:1fr}.article-photo img{height:280px}.blog-article h2{font-size:23px}.article-breadcrumb{font-size:11px}}
.legal-page{max-width:1000px;padding-top:55px;padding-bottom:70px}.legal-page h1{font-size:44px;letter-spacing:-1.5px;margin-bottom:15px}.legal-page h2{font-size:23px;line-height:1.4;margin:35px 0 15px;letter-spacing:-.5px}.legal-page p,.legal-page address{font-size:15px;line-height:1.9;color:#425264}.legal-page a{color:var(--red);text-decoration:underline;text-underline-offset:3px}.legal-date{font-size:12px!important}.legal-draft{background:#f5e9d5;border:1px solid #d7c099;border-radius:7px;padding:18px 22px;font-size:13px;margin:25px 0}.legal-page address{font-style:normal}@media(max-width:650px){.legal-page h1{font-size:36px}.legal-page h2{font-size:21px}}
/* Embedded CallRail quote form. */
.callrail-quote-panel{background:#fff;color:var(--navy);padding:30px;min-width:0}
.callrail-quote-panel>h3{font-size:24px;letter-spacing:-.7px;margin-bottom:22px}
.contact .callrail-policy-links,.contact .callrail-form-help{font-size:11px;line-height:1.7;color:#5f6872;max-width:none;margin:18px 0 0}
.callrail-policy-links a,.callrail-form-help a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.callrail-quote-panel iframe{max-width:100%;border:0}
@media(max-width:650px){.callrail-quote-panel{padding:23px}}