/* A single directory and a shared, readable service page system. */
#site-nav .nav-service-link{display:flex;align-items:center;align-self:stretch;font-size:14px;font-weight:700;line-height:1.5;padding:14px 0;color:var(--ink)}
#site-nav .nav-service-link:hover,#site-nav .nav-service-link[aria-current="page"]{color:var(--blue)}
.header-compact #site-nav .nav-service-link{padding:6px 0}
.services-directory{background:#f5f7fb}.services-hero{background:#101934;color:#fff;padding:28px 0 0;overflow:hidden}.services-hero .defined-breadcrumb{color:#c8cfe0;margin-bottom:36px;font-size:12px}.services-hero .defined-breadcrumb a{color:#fff}.services-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:center}.services-eyebrow{display:block;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.13em;line-height:1.5;margin-bottom:13px}.services-hero .services-eyebrow{color:#b9c5ff}.services-hero h1{font-size:clamp(40px,4.5vw,65px);line-height:1.04;letter-spacing:-.045em;margin-bottom:22px;color:#fff}.services-hero p{max-width:640px;color:#d6dced;font-size:16px;line-height:1.85;margin-bottom:25px}.services-hero-note{font-size:11px;line-height:1.7;color:#fff;padding-bottom:43px;font-weight:700}.services-hero-note span{padding:0 8px;color:#b9c5ff}.services-owner-art{align-self:end;text-align:center}.services-owner-art img{width:100%;max-height:330px;object-fit:contain;object-position:bottom}.services-owner-art>span{display:block;padding:15px 5px;background:#1a2544;font-size:11px;font-weight:700;color:#fff}.services-category-nav{border:0;background:#fff;border-bottom:1px solid #dfe4ed}.services-category-nav .wrap{display:flex;gap:10px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px}.services-category-nav a{display:block;padding:10px 16px;border:1px solid #dce2ee;border-radius:5px;font-size:12px;line-height:1.5;font-weight:700;background:#fff;color:#263550}.services-category-nav a:hover{background:var(--blue);color:#fff;border-color:var(--blue)}.service-directory-section{padding:55px 0 10px;scroll-margin-top:115px}.service-directory-section:last-of-type{padding-bottom:60px}.service-category-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:25px}.service-category-heading h2{font-size:32px;margin:0 0 9px;color:var(--navy)}.service-category-heading p{font-size:14px;color:#59647a;margin:0}.service-category-count{font-size:11px;font-weight:700;letter-spacing:.09em;color:#647089;white-space:nowrap}.service-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-directory-card{background:#fff;border:1px solid #dce3ef;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 5px 20px #10193405;transition:transform .2s ease,box-shadow .2s ease}.service-directory-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #10193415;border-color:#9898ee}.service-card-photo{height:195px;overflow:hidden;background:#e9edf5;border-bottom:1px solid #e4e8f0}.service-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.service-directory-card:hover img{transform:scale(1.03)}.service-card-copy{display:flex;flex-direction:column;padding:25px;flex:1}.service-card-copy h3{font-size:21px;line-height:1.25;letter-spacing:-.025em;margin:0 0 12px;color:#16223b}.service-card-copy p{font-size:14px;line-height:1.75;color:#5c667c;margin:0 0 23px}.service-card-link{display:flex;align-items:center;justify-content:space-between;color:var(--blue);font-weight:800;font-size:12px;padding-top:17px;border-top:1px solid #e8ebf2;margin-top:auto}.service-card-link b{font-size:19px;line-height:1}.services-directory-footer{background:#e9eef9;text-align:center;padding:52px 0;margin-top:55px}.services-directory-footer h2{font-size:30px;color:#16223b;margin-bottom:12px}.services-directory-footer p{color:#5c667c;font-size:15px}.services-directory-footer .wrap>div{display:flex;justify-content:center;gap:30px;flex-wrap:wrap}.services-directory-footer a{color:var(--blue);font-size:13px;font-weight:800}
/* All individual service and area pages follow the same layout. */
.service-detail{background:#f5f7fb}.service-detail .defined-hero{background:#edf1f9;color:var(--ink);padding:28px 0 46px;border-bottom:1px solid #dbe2ee}.service-detail .defined-breadcrumb{font-size:12px;color:#66718a;margin-bottom:27px;line-height:1.7}.service-detail .defined-breadcrumb a{color:#293d60}.service-detail .defined-breadcrumb span{padding:0}.service-detail .defined-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:44px;align-items:center}.service-detail .defined-hero-grid.no-hero-photo{grid-template-columns:1fr;max-width:850px}.service-detail .defined-eyebrow{font-size:10px;letter-spacing:.1em;color:var(--blue);margin-bottom:15px}.service-detail h1{font-size:clamp(32px,3.4vw,46px);line-height:1.12;color:#16223b;max-width:760px;margin-bottom:20px}.service-detail .defined-intro{font-size:15px;line-height:1.85;color:#49566d;max-width:720px}.service-detail .defined-intro p{font-size:15px;line-height:1.85;color:#49566d}.service-detail .defined-intro strong{font-weight:400}.service-detail .defined-hero-photo{height:310px;padding:0;border-radius:9px;overflow:hidden;background:#fff;border:1px solid #dbe2ed;box-shadow:none}.service-detail .defined-hero-photo>a{height:100%;display:block}.service-detail .defined-hero-photo img{width:100%;height:100%;max-height:none;min-height:0;object-fit:contain;padding:0;border-radius:0}.service-detail .defined-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:23px}.service-detail .defined-actions .btn{background:var(--blue);color:#fff}.service-detail .defined-phone{font-size:18px;color:#16223b;font-weight:800}.service-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:30px;align-items:start;padding-top:40px;padding-bottom:50px}.service-copy{display:flex;flex-direction:column;gap:22px;min-width:0}.service-detail .service-content-card{display:block;background:#fff!important;color:var(--ink)!important;border:1px solid #dfe5ef;border-radius:9px;box-shadow:0 3px 14px #10193403;padding:30px!important;margin:0!important;min-width:0;overflow-wrap:anywhere;scroll-margin-top:115px}.service-detail .service-content-card h2{font-size:25px;line-height:1.25;letter-spacing:-.025em;color:#182842!important;margin:0 0 19px}.service-detail .service-content-card h3,.service-detail .service-content-card h4{font-size:19px;line-height:1.45;letter-spacing:-.015em;font-weight:700;color:#263953!important;margin:23px 0 13px}.service-detail .service-content-card>h3:first-child,.service-detail .service-content-card>h4:first-child{margin-top:0}.service-detail .service-content-card p{font-size:15px;line-height:1.9;color:#536078!important;margin-bottom:17px}.service-detail .service-content-card p:last-child{margin-bottom:0}.service-detail .service-content-card a:not(.pending-action){color:var(--blue)}.service-detail .service-content-card .defined-list{display:block;columns:1;padding:0 0 0 20px;list-style:disc;margin:18px 0 23px;background:transparent;border:0}.service-detail .service-content-card li{display:list-item;background:transparent;border:0;border-radius:0;padding:3px 0 5px 4px;font-size:14px;line-height:1.8;color:#536078;margin:0}.service-detail .service-content-card li::before{display:none}.service-detail .service-content-card li::marker{color:var(--blue)}.service-detail .service-content-card .page-figure{display:block;width:100%;max-width:590px;margin:25px auto 0;padding:0;border:0;background:transparent}.service-detail .service-content-card .page-figure img{display:block;width:100%;max-height:330px;min-height:0;height:auto;object-fit:contain;border-radius:6px}.service-detail .service-content-card .owner-figure{max-width:270px}.service-detail .defined-brand-marks{display:flex;justify-content:flex-start;gap:20px;align-items:center;margin-top:22px;padding:18px 0 0;border-top:1px solid #e4e8f0}.service-detail .defined-brand-marks img{max-height:85px;max-width:150px;width:auto;object-fit:contain}.service-detail .service-phone-note{font-weight:800;font-size:16px!important;padding-bottom:15px;border-bottom:1px solid #e4e8ef}.service-detail .service-phone-note a{color:var(--blue)!important}.service-detail .defined-question{background:#fff;border:1px solid #e1e6ef;border-radius:5px;padding:0;margin:12px 0}.service-detail .defined-question summary{padding:16px 18px;font-size:15px;line-height:1.6;font-weight:700;color:#223453}.service-detail .defined-question>p,.service-detail .defined-question>ul{margin:0 18px 18px}.service-detail .defined-question[open]{background:#f8faff}.service-detail .service-side{display:flex;flex-direction:column;gap:24px;position:sticky;top:110px}.service-side-nav{border:1px solid #dfe5ef;border-radius:8px;padding:22px;background:#fff;box-shadow:none;max-height:340px;overflow:auto}.service-side-nav .service-back{color:var(--blue);font-size:13px;font-weight:800;display:block;padding:0 0 17px;border-bottom:1px solid #e4e8ef;margin-bottom:20px}.service-side-nav h2{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#536078;margin:0 0 13px}.service-side-nav>a:not(.service-back){display:block;font-size:12px;line-height:1.65;padding:7px 0;color:#475770}.service-side-nav>a:hover{color:var(--blue)}.service-team-panel{background:#fff;border:1px solid #dfe5ef;border-radius:8px;overflow:hidden}.service-team-panel .help-heading{font-size:10px;font-weight:800;letter-spacing:.1em;background:#edf1fa;color:#263953;padding:16px 22px}.service-team-panel>img{width:100%;height:165px;object-fit:contain;object-position:bottom;background:#edf1fa;padding:5px 20px 0}.service-team-panel .help-body{padding:22px}.service-team-panel h2{font-size:22px;color:#16223b;line-height:1.2;margin-bottom:13px}.service-team-panel p{font-size:13px;color:#5b6780;line-height:1.8;margin-bottom:18px}.service-team-panel .btn{font-size:15px;padding:12px 18px}.service-team-panel .help-estimate{display:block;font-size:13px;font-weight:700;margin:15px 0;color:var(--blue)}.service-team-panel .help-hours{font-size:11px;line-height:1.9;color:#5b6780;margin:18px 0}.service-team-panel .help-body>a:last-child{font-size:12px;color:var(--blue);font-weight:700}.service-detail .defined-bottom-cta{background:#101934;color:#fff;padding:38px 0;margin:0}.service-detail .defined-bottom-cta h2{color:#fff;font-size:30px}.service-detail .defined-bottom-cta p{color:#d0d8e9}.service-detail .defined-bottom-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:35px}.service-detail .page-texture-band{height:40px;overflow:hidden;opacity:.35}.service-detail .page-texture-band img{height:40px;object-fit:cover}
@media(max-width:1050px){.service-directory-grid{gap:18px}.service-card-copy{padding:21px}.service-card-photo{height:175px}.service-detail-layout{grid-template-columns:minmax(0,1fr) 245px;gap:24px}.service-detail .defined-hero-grid{gap:28px}.service-detail .defined-hero-photo{height:280px}.service-detail .service-side{position:static}.services-hero-grid{gap:25px}.services-hero-note span{padding:0 3px}}
@media(max-width:800px){#site-nav .nav-service-link{font-size:15px;padding:14px 0;width:100%;border-bottom:1px solid #e5e9f1}.header-compact #site-nav .nav-service-link{padding:12px 0}.services-hero-grid{grid-template-columns:1fr .65fr}.services-hero h1{font-size:42px}.services-hero p{font-size:14px}.services-owner-art img{max-height:260px}.services-hero-note{font-size:10px}.service-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-category-heading h2{font-size:29px}.service-directory-section{padding-top:40px}.services-category-nav .wrap{gap:8px}.services-category-nav a{font-size:11px;padding:9px 11px}.service-detail .defined-hero-grid{grid-template-columns:1fr 1fr;gap:24px}.service-detail .defined-hero-photo{height:250px}.service-detail h1{font-size:32px}.service-detail .defined-intro p{font-size:14px}.service-detail-layout{grid-template-columns:1fr;padding-top:28px;gap:28px}.service-detail .service-side{display:grid;grid-template-columns:1fr 1fr;align-items:start}.service-detail .service-content-card{padding:25px!important}.service-detail .service-content-card h2{font-size:24px}.service-detail .defined-bottom-cta .wrap{display:block}.service-detail .defined-bottom-cta .wrap>div:last-child{margin-top:22px}.service-detail .service-content-card{scroll-margin-top:80px}.service-directory-section{scroll-margin-top:80px}}
@media(max-width:580px){.services-hero-grid{grid-template-columns:1fr;gap:5px}.services-hero h1{font-size:43px}.services-hero .defined-breadcrumb{margin-bottom:28px}.services-hero-note{padding-bottom:15px}.services-owner-art{max-width:270px;width:100%;margin:0 auto}.services-owner-art img{max-height:210px}.services-owner-art>span{font-size:10px;padding:10px}.service-directory-grid{grid-template-columns:1fr;gap:21px}.service-card-photo{height:210px}.service-card-copy{padding:24px}.service-category-heading{align-items:start;gap:12px}.service-category-heading h2{font-size:27px}.service-category-count{display:none}.service-category-heading p{font-size:13px}.services-directory-footer h2{font-size:27px}.services-directory-footer .wrap>div{gap:17px}.services-category-nav a{font-size:11px;flex:1 0 auto;text-align:center}.service-detail .defined-hero-grid{grid-template-columns:1fr;gap:25px}.service-detail .defined-hero-photo{height:235px}.service-detail .defined-hero{padding-bottom:30px}.service-detail .defined-breadcrumb{font-size:11px}.service-detail h1{font-size:33px}.service-detail .service-side{display:flex}.service-detail .service-content-card{padding:23px 20px!important}.service-detail .service-content-card h2{font-size:23px}.service-detail .service-content-card h3,.service-detail .service-content-card h4{font-size:18px}.service-detail .service-content-card p{font-size:14px}.service-team-panel>img{height:190px}.service-detail .defined-actions{gap:14px}.service-detail .defined-phone{font-size:17px}.service-detail .defined-bottom-cta h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.service-directory-card,.service-card-photo img{transition:none}}
.service-detail a.schedule-service-button{background:var(--blue);color:#fff!important;border-radius:5px;text-decoration:none;letter-spacing:0;margin:8px 0 14px}
.service-detail .service-side{position:static}
.service-detail .defined-question summary{padding-right:42px}
/* Shared content sequence: overview, benefits, process, scope, FAQs. */
.uniform-service-page .uniform-service-section{position:relative;padding-top:28px!important}
.uniform-section-number{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:26px;border-radius:4px;background:#eef0ff;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.04em;margin-bottom:14px}
.uniform-service-page .uniform-service-section>h2{font-size:26px;line-height:1.25;border:0;padding:0;margin:0 0 23px;color:#182842}
.uniform-service-page .uniform-service-section>h3{font-size:18px;border:0;padding:0;margin:24px 0 13px;color:#293e5c}
.uniform-service-page .uniform-service-section>h3:first-of-type{margin-top:0}
.uniform-process{list-style:none!important;counter-reset:service-step;padding:0!important;margin:23px 0!important;display:block!important}
.uniform-service-page .uniform-process>li{counter-increment:service-step;position:relative;list-style:none!important;padding:16px 16px 16px 57px!important;margin:0 0 11px!important;background:#f5f7fc!important;border:1px solid #e1e6f0!important;border-radius:6px;font-size:14px;line-height:1.8;color:#526079}
.uniform-service-page .uniform-process>li::before{content:counter(service-step,decimal-leading-zero);display:flex!important;position:absolute;left:15px;top:17px;width:27px;height:27px;align-items:center;justify-content:center;color:var(--blue);font-size:11px;font-weight:800;background:#e8edff;border-radius:4px}
.uniform-supporting-info{border:1px solid #e1e6ef;border-radius:6px;margin:26px 0 0;overflow:hidden;background:#f8faff}
.uniform-supporting-info>summary{padding:16px 20px;cursor:pointer;line-height:1.7;font-size:13px;font-weight:700;color:#263d5f}
.uniform-supporting-info[open]>summary{border-bottom:1px solid #e1e6ef}
.uniform-supporting-content{padding:23px;background:#fff}
.uniform-service-page .uniform-supporting-content h3{font-size:19px;line-height:1.4}
.uniform-service-page .uniform-faq-group{list-style:none!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important}
.uniform-service-page .uniform-faq-group>li{list-style:none!important;padding:0!important;margin:0!important;background:transparent!important;border:0!important}
.uniform-service-page .uniform-faq-group>li::before{display:none!important}
.uniform-service-page .uniform-faq-answer{padding:19px 20px;background:#fff}
.uniform-service-page .uniform-faq-answer>p{margin:0 0 16px;padding:0}
.uniform-service-page .uniform-faq-answer>p:last-child{margin-bottom:0}
.uniform-service-page #faq>.defined-question>p,.uniform-service-page #faq .uniform-faq-group .defined-question>p{padding:18px 20px;margin:0}
.uniform-service-page .service-side-nav>a:not(.service-back){padding:10px 0;border-bottom:1px solid #edf0f5}
.uniform-service-page .service-side-nav{max-height:none}
.uniform-service-page .service-content-card .service-phone-note{font-size:14px!important;border:0;margin:15px 0;padding:0}
@media(max-width:580px){.uniform-service-page .uniform-service-section>h2{font-size:24px}.uniform-service-page .uniform-supporting-content{padding:18px}.uniform-service-page .uniform-process>li{padding-right:13px!important}.uniform-service-page .uniform-section-number{margin-bottom:12px}}
/* Crawlable topic and company links complement the existing navigation. */
.related-service-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin:25px 0 0;padding:19px 0 0;border:0;border-top:1px solid #e1e6ef;background:transparent}
.service-detail .related-service-links a{font-size:13px;font-weight:700;line-height:1.7}
.blog-topic-links{display:flex;flex-wrap:wrap;gap:10px 22px;padding:20px 0 0;margin-top:20px;border:0;border-top:1px solid #dce2ee;background:transparent}
.blog-topic-links a,.category-service-link{font-size:12px;font-weight:700;color:var(--blue);line-height:1.75}
.category-service-link{display:block;margin-bottom:16px}
footer .footer-site-links-wrap{width:100%;padding-top:22px;padding-bottom:23px}
footer .footer-site-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 25px;background:transparent;border:0;border-top:1px solid #ffffff24;padding:20px 0 0;color:#d6dceb;font-size:11px;line-height:1.7}
footer .footer-site-links a{color:inherit}
footer .footer-site-links a:hover{text-decoration:underline}
.services-hero h1{font-size:clamp(37px,4.1vw,57px)}
@media(max-width:580px){.services-hero h1{font-size:40px}.blog-topic-links{gap:10px 17px}.related-service-links{gap:10px 16px}}

/* Customer review milestone, immediately below the testimonial heading. */
.cruz-review-count{text-align:center;margin:18px 0 26px}
.cruz-review-count>p,.defined-section .cruz-review-count>p{font-size:25px;line-height:1.35;font-weight:800;letter-spacing:-.025em;color:var(--blue);margin:0 0 12px}
.cruz-review-stars{display:flex;justify-content:center;align-items:center;gap:8px}
.cruz-review-stars>svg{display:block;width:64px;height:64px;fill:#d9a215;flex:none}
@media(max-width:480px){.cruz-review-count>p,.defined-section .cruz-review-count>p{font-size:23px}.cruz-review-stars{gap:6px}.cruz-review-stars>svg{width:48px;height:48px}}
/* Uniform landscape photography: one consistent service image slot on every page. */
.service-detail .defined-hero-grid.service-landscape-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:40px;max-width:none}
.service-detail .defined-hero-grid.service-landscape-hero>div:first-child{min-width:0}
.service-detail .service-landscape-hero h1{font-size:clamp(31px,3.05vw,43px);max-width:650px;line-height:1.13;margin-bottom:18px}
.service-detail .service-landscape-hero .defined-intro p{font-size:14px;line-height:1.8;margin:0}
.service-detail .service-landscape-hero .defined-actions{margin-top:22px;gap:15px}
.service-detail .service-landscape-photo{display:block;position:relative;aspect-ratio:16/9;width:100%;height:auto;min-height:0;max-height:none;max-width:none;padding:0;margin:0;border:0;border-radius:10px;overflow:hidden;box-shadow:0 10px 28px #16284612;background:#e1e8f2}
.service-detail .service-landscape-photo>img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center;min-height:0;max-height:none;padding:0;margin:0;border-radius:0}
.service-detail .service-copy .page-figure,.service-detail .service-copy .defined-brand-marks{display:none}
.service-detail .service-suppliers{margin-top:24px;padding-top:21px;border-top:1px solid #e3e8f1}
.service-detail .service-suppliers>h3{margin:0 0 15px;font-size:18px}
.service-detail .water-heater-manufacturer-logos{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin:12px 0 0;padding:0;border:0}
.service-detail .water-heater-manufacturer-logos>img,.service-detail .water-heater-manufacturer-logos>a>img{display:block;width:auto;height:auto;max-width:115px;max-height:55px;object-fit:contain;margin:0}
.service-detail .water-heater-manufacturer-logos>a{height:65px;display:flex;align-items:center;width:125px;flex:0 0 125px}
.service-resource-links{padding-top:20px;margin-top:22px;border-top:1px solid #e3e8f1}
.service-detail .service-resource-links>h3{font-size:18px;margin:0 0 12px}
.service-detail .service-resource-links ul{list-style:none;padding:0;margin:0}
.service-detail .service-resource-links li{list-style:none;padding:6px 0;font-size:13px}
@media(max-width:1050px){.service-detail .defined-hero-grid.service-landscape-hero{gap:28px}.service-detail .service-landscape-hero h1{font-size:34px}}
@media(max-width:800px){.service-detail .defined-hero-grid.service-landscape-hero{grid-template-columns:1fr;gap:26px}.service-detail .service-landscape-hero h1{font-size:36px;max-width:760px}.service-detail .service-landscape-hero .defined-intro{max-width:760px}.service-detail .service-landscape-photo{width:100%;max-width:none;aspect-ratio:16/9;height:auto}.service-detail .defined-hero{padding-bottom:32px}}
@media(max-width:580px){.service-detail .service-landscape-hero h1{font-size:32px}.service-detail .service-landscape-photo{border-radius:7px}.service-detail .defined-hero-grid.service-landscape-hero{gap:23px}.service-detail .water-heater-manufacturer-logos{gap:14px}.service-detail .water-heater-manufacturer-logos>img,.service-detail .water-heater-manufacturer-logos>a>img{max-width:90px;max-height:45px}.service-detail .water-heater-manufacturer-logos>a{width:100px;flex-basis:100px}}
/* Final service-page contract: entry, benefits, process, services, four FAQs, one button. */
.strict-service-page{background:#f4f6fb;color:var(--ink)}
.strict-service-entry{background:#edf1f9;border-bottom:1px solid #dce3ef;padding:42px 0}
.strict-entry-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:42px}
.strict-entry-copy h1{font-size:clamp(31px,3.1vw,43px);line-height:1.14;letter-spacing:-.035em;color:#16223b;margin:0 0 22px}
.strict-entry-copy>p{font-size:15px;line-height:1.9;color:#536078;margin:0}
.strict-service-content{max-width:1060px;padding-top:36px;display:flex;flex-direction:column;gap:24px}
.strict-content-section{background:#fff;border:1px solid #dce3ef;border-radius:8px;padding:30px 34px;scroll-margin-top:115px}
.strict-content-section>h2{font-size:27px;line-height:1.25;letter-spacing:-.025em;color:#172a49;margin:0 0 22px;padding-bottom:17px;border-bottom:1px solid #e4e9f1}
.strict-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 30px;padding:0 0 0 19px;margin:0;list-style:disc}
.strict-service-list>li{padding-left:3px;font-size:15px;line-height:1.85;color:#536078}
.strict-service-list>li::marker{color:var(--blue)}
.strict-process-list{counter-reset:strict-step;list-style:none;margin:0;padding:0;display:grid;gap:12px}
.strict-process-list>li{counter-increment:strict-step;position:relative;padding:16px 20px 16px 64px;border:1px solid #e3e8f2;border-radius:5px;background:#f7f9fd;font-size:15px;line-height:1.8;color:#536078;min-height:61px}
.strict-process-list>li::before{content:counter(strict-step,decimal-leading-zero);position:absolute;left:18px;top:16px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#e9edff;color:var(--blue);font-size:11px;font-weight:800;border-radius:4px}
.strict-faq-item{border:1px solid #e0e6ef;border-radius:5px;margin:0 0 12px;background:#fff;overflow:hidden}
.strict-faq-item:last-child{margin-bottom:0}
.strict-faq-item>summary{position:relative;padding:18px 47px 18px 20px;list-style:none;cursor:pointer;font-size:15px;line-height:1.65;font-weight:700;color:#233954}
.strict-faq-item>summary::-webkit-details-marker{display:none}
.strict-faq-item>summary::after{content:'+';position:absolute;right:19px;top:15px;font-size:22px;font-weight:400;color:var(--blue)}
.strict-faq-item[open]>summary{background:#f5f7fd;border-bottom:1px solid #e2e7f1}
.strict-faq-item[open]>summary::after{content:'−'}
.strict-faq-item>p{font-size:14px;line-height:1.9;color:#536078;margin:0;padding:20px}
.strict-schedule{max-width:1060px;text-align:center;padding-top:32px;padding-bottom:48px}
.strict-schedule .strict-schedule-button{display:inline-flex;align-items:center;justify-content:center;min-height:72px;min-width:310px;max-width:100%;background:var(--blue);color:#fff;font-size:20px!important;line-height:1.5;font-weight:800;padding:21px 46px!important;border:0;border-radius:6px;text-decoration:none;margin:0}
@media(max-width:800px){.strict-entry-grid{grid-template-columns:1fr;gap:27px}.strict-service-entry{padding:32px 0}.strict-entry-copy h1{font-size:35px;margin-bottom:19px}.strict-entry-copy>p{max-width:760px}.strict-content-section{scroll-margin-top:80px}.strict-service-content{padding-top:28px;gap:20px}}
@media(max-width:580px){.strict-entry-copy h1{font-size:32px}.strict-entry-copy>p{font-size:14px}.strict-content-section{padding:24px 21px}.strict-content-section>h2{font-size:24px;padding-bottom:15px;margin-bottom:19px}.strict-service-list{grid-template-columns:1fr;gap:10px}.strict-service-list>li,.strict-process-list>li{font-size:14px}.strict-process-list>li{padding:14px 14px 14px 53px}.strict-process-list>li::before{left:12px;top:15px;width:26px;height:26px}.strict-faq-item>summary{font-size:14px;padding:16px 40px 16px 15px}.strict-faq-item>summary::after{right:15px;top:13px}.strict-faq-item>p{padding:17px 15px;font-size:14px}.strict-schedule .strict-schedule-button{min-width:0;width:100%;font-size:19px!important;padding:20px 22px!important;min-height:68px}.strict-schedule{padding-top:25px;padding-bottom:36px}}
.drain-area-directory{padding-top:35px;padding-bottom:40px}
.drain-area-directory h2{font-size:27px;color:#182a49;margin-bottom:22px}
.drain-area-directory-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 22px}
.drain-area-directory-links a{font-size:14px;color:var(--blue);line-height:1.7;font-weight:700}
@media(max-width:800px){.drain-area-directory-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.drain-area-directory-links{grid-template-columns:1fr}}

/* Detailed service copy uses a single readable column within each defined section. */
.strict-content-section > p{font-size:15px;line-height:1.9;color:#364556;margin:0 0 20px}
.strict-content-section > p:last-child{margin-bottom:0}
.strict-service-page .strict-service-list{display:flex;flex-direction:column;gap:17px;margin:0 0 22px;padding-left:21px}
.strict-service-page .strict-service-list li{padding-left:4px;line-height:1.9}
.strict-service-page .strict-service-list strong{color:#17283c}
.strict-service-page .strict-process-list{margin-bottom:22px}
.strict-service-page .strict-process-list li{line-height:1.9}
.strict-service-page .strict-process-list strong{display:block;color:#17283c;margin-bottom:3px}
.strict-service-page .strict-entry-copy p{max-width:64ch}

.services-directory-schedule{text-align:center;padding-top:36px;padding-bottom:56px}
.services-directory-schedule a.schedule-service-button{min-width:310px}
@media(max-width:480px){.services-directory-schedule a.schedule-service-button{width:100%;min-width:0}}

/* Live Google reviews (homepage reviews section). */
.cruz-google-reviews{margin-top:8px}
.cruz-google-reviews-inner{margin-top:24px}
.cruz-google-reviews-head{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:22px}
.cruz-google-reviews-summary{display:flex;align-items:center;gap:12px}
.cruz-google-reviews-summary .cruz-google-review-stars{gap:4px}
.cruz-google-reviews-summary .cruz-google-review-stars svg{width:22px;height:22px}
.cruz-google-reviews-summary>p{font-size:17px;font-weight:800;letter-spacing:-.02em;color:#16223b;margin:0}
.cruz-google-reviews-link{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:13px;font-weight:800}
.cruz-google-reviews-link b{font-size:15px;line-height:1}
.cruz-google-reviews-link:hover{text-decoration:underline}
.cruz-google-reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cruz-google-review-card{background:#fff;border:1px solid #dce3ef;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 5px 20px #10193405}
.cruz-google-review-stars{display:flex;gap:3px}
.cruz-google-review-stars svg{width:15px;height:15px;fill:#d9a215;flex:none}
.cruz-google-review-stars svg.dim{fill:#dfe4ed}
.cruz-google-review-text{font-size:13px;line-height:1.7;color:#536078;margin:0;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.cruz-google-review-foot{display:flex;align-items:center;gap:9px;margin-top:auto;padding-top:12px;border-top:1px solid #e8ebf2}
.cruz-google-review-who{flex:1;min-width:0}
.cruz-google-review-foot img{width:32px;height:32px;border-radius:50%;object-fit:cover;flex:none;background:#e9edf5}
.cruz-google-review-initial{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#edf1fa;color:#16223b;font-size:13px;font-weight:800;flex:none}
.cruz-google-review-name{display:block;font-size:12.5px;font-weight:800;color:#16223b;line-height:1.3}
.cruz-google-review-date{display:block;font-size:10.5px;color:#647089;white-space:nowrap}
.cruz-google-reviews-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px}
.cruz-google-reviews-more,.cruz-google-reviews-leave{display:inline-flex;align-items:center;justify-content:center;padding:13px 24px;border-radius:5px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;line-height:1.2;cursor:pointer;text-decoration:none}
.original-reviews a.cruz-google-reviews-more{color:#fff;background:var(--blue);border:2px solid var(--blue)}
.original-reviews a.cruz-google-reviews-more:hover{background:#1013a8;border-color:#1013a8}
.cruz-google-reviews-leave{background:#fff;color:var(--blue);border:2px solid var(--blue)}
.cruz-google-reviews-leave:hover{background:var(--blue);color:#fff}
.cruz-google-reviews-loading{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cruz-google-reviews-loading>span{display:block;height:190px;border-radius:10px;background:#eef2f8}
@media(max-width:900px){.cruz-google-reviews-grid,.cruz-google-reviews-loading{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cruz-google-reviews-grid,.cruz-google-reviews-loading{grid-template-columns:1fr}}
/* Google reviews block spans the full section width (was stuck in one grid column) */
.original-reviews .section-grid>.block:nth-child(3){grid-column:1/-1;background:none;border:0;border-radius:0;padding:0;font-size:inherit;line-height:inherit;color:inherit}
