/*
Theme Name: NextGen Power Wash
Theme URI: https://www.nextgenpowerwash.com/
Author: OpenAI for NextGen Power Wash LLC
Description: Custom responsive WordPress theme for NextGen Power Wash LLC.
Version: 1.7.8
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: nextgen-powerwash
*/

:root{
  --ng-blue:#0b5fb8;
  --ng-blue-dark:#073b75;
  --ng-green:#39b54a;
  --ng-charcoal:#17202a;
  --ng-light:#f5f8fb;
  --ng-white:#ffffff;
  --ng-muted:#637083;
  --ng-radius:18px;
  --ng-shadow:0 12px 32px rgba(9,43,83,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ng-charcoal);background:#fff;line-height:1.65}
a{color:var(--ng-blue);text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.container{width:min(1180px,calc(100% - 32px));margin-inline:auto}
.section{padding:78px 0}.section-sm{padding:48px 0}.bg-light{background:var(--ng-light)}.bg-dark{background:var(--ng-charcoal);color:#fff}
.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ng-green);margin:0 0 10px}
h1,h2,h3{line-height:1.12;margin:0 0 16px}h1{font-size:clamp(2.3rem,5vw,4.75rem)}h2{font-size:clamp(1.8rem,3.2vw,3rem)}h3{font-size:1.25rem}
p{margin:0 0 18px}.lead{font-size:1.18rem;color:#dbe7f5;max-width:720px}.muted{color:var(--ng-muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border-radius:999px;font-weight:800;border:2px solid transparent;text-decoration:none;transition:.18s ease;cursor:pointer}.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primary{background:var(--ng-green);color:#fff}.btn-primary:hover{background:#2f9b3e}.btn-secondary{background:#fff;color:var(--ng-blue-dark);border-color:#fff}.btn-outline{color:#fff;border-color:#fff;background:transparent}.btn-blue{background:var(--ng-blue);color:#fff}
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #e5edf5}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.02em}.brand-mark{width:42px;height:42px}.brand-name{font-size:1.25rem;color:#113c70}.brand-name .green{color:var(--ng-green)}.brand-sub{display:block;font-size:.68rem;letter-spacing:.12em;color:#304b69}
.nav-wrap{display:flex;align-items:center;gap:18px}.menu{display:flex;list-style:none;padding:0;margin:0;gap:18px}.menu a{color:#23364b;font-weight:700;font-size:.94rem}.header-cta{display:flex;gap:10px;align-items:center}.phone-link{font-weight:800;color:var(--ng-blue-dark)}
.mobile-toggle{display:none;border:0;background:transparent;font-size:1.7rem}
.hero{position:relative;min-height:76vh;display:grid;place-items:center;color:#fff;background-size:cover;background-position:center}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,25,48,.84),rgba(5,25,48,.45) 58%,rgba(5,25,48,.18))}.hero-content{position:relative;z-index:1;padding:80px 0}.hero-copy{max-width:780px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 18px}.trust-line{display:flex;flex-wrap:wrap;gap:14px;font-weight:700;font-size:.95rem}.stars{color:#ffcf33;letter-spacing:2px}
.trustbar{background:#fff;border-bottom:1px solid #e7edf4}.trustbar-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trustbar-five{grid-template-columns:repeat(5,1fr)}.trust-item{padding:22px 14px;text-align:center;font-weight:800;border-right:1px solid #edf1f5}.trust-item:last-child{border-right:0}
.section-head{max-width:760px;margin-bottom:34px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.card{background:#fff;border-radius:var(--ng-radius);box-shadow:var(--ng-shadow);overflow:hidden}.card-body{padding:24px}.card-image{aspect-ratio:4/3;object-fit:cover;width:100%}.service-card .card-body{min-height:210px;display:flex;flex-direction:column}.service-card .card-link{margin-top:auto}.service-card p{font-size:.95rem}.card-link{font-weight:800}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}.package{background:#fff;color:var(--ng-charcoal);border-radius:22px;padding:30px;position:relative;display:flex;flex-direction:column}.package h3{margin-top:14px}.package .btn{margin-top:auto}.package.popular{transform:translateY(-10px);outline:4px solid var(--ng-green)}.badge{display:inline-block;background:var(--ng-green);color:#fff;border-radius:999px;padding:6px 10px;font-size:.74rem;font-weight:900;text-transform:uppercase}.package ul{padding-left:20px}.package li{margin:8px 0}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:center}.split img{border-radius:var(--ng-radius);box-shadow:var(--ng-shadow)}
.feature-list{display:grid;gap:14px}.feature{display:flex;gap:12px;align-items:flex-start}.check{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#e9f8ec;color:var(--ng-green);font-weight:900;flex:0 0 26px}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.review{padding:26px;border-radius:18px;background:#fff;box-shadow:var(--ng-shadow)}
.review-placeholder{border:1px dashed #c7d4e2;box-shadow:none}
.image-wrap{position:relative}.image-label{position:absolute;left:14px;bottom:14px;background:rgba(7,59,117,.92);color:#fff;border-radius:999px;padding:7px 11px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.section-action{margin-top:28px}.hero-proof{display:flex;flex-wrap:wrap;gap:10px 13px;margin-top:18px;font-size:.92rem;font-weight:800;color:#f3f8fd}.package-help{margin-top:28px;padding:18px 20px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.06);color:#e8f0f8}.package-help a{color:#7fe08d;font-weight:900}.results-section .card{height:100%}.services-grid .card{height:100%}.why-nextgen .split>img{aspect-ratio:4/3;object-fit:cover}.reviews-section .stars{margin-bottom:10px}.service-areas-home .service-area-grid a{transition:.18s ease}.service-areas-home .service-area-grid a:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(9,43,83,.09);text-decoration:none}
.cta-band{position:relative;background-size:cover;background-position:center;color:#fff}.cta-band:before{content:"";position:absolute;inset:0;background:rgba(5,30,58,.8)}.cta-band>.container{position:relative;z-index:1}
.page-hero{padding:92px 0;background:linear-gradient(135deg,#073b75,#0b5fb8);color:#fff}.page-hero p{max-width:760px;color:#dce8f5}.breadcrumb{font-size:.9rem;color:#c8d7e8;margin-bottom:18px}.breadcrumb a{color:#fff}
.content-wrap{max-width:860px}.prose h2{margin-top:42px}.prose h3{margin-top:28px}.prose ul{padding-left:22px}.prose li{margin:8px 0}.callout{background:#eef6ff;border-left:5px solid var(--ng-blue);padding:22px;border-radius:10px;margin:26px 0}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery-grid img{aspect-ratio:4/3;object-fit:cover;border-radius:14px}
.service-area-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.service-area-grid a{display:block;padding:16px;border-radius:12px;background:#fff;border:1px solid #dfe8f1;font-weight:800;text-align:center}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px}.contact-card{background:#fff;border-radius:18px;padding:28px;box-shadow:var(--ng-shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field label{display:block;font-size:.85rem;font-weight:800;margin-bottom:6px}.field input,.field textarea,.field select{width:100%;padding:13px 14px;border:1px solid #cbd6e2;border-radius:10px;font:inherit}.field.full{grid-column:1/-1}
.site-footer{background:#0f1b28;color:#c8d4df;padding:58px 0 28px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px}.site-footer h3{color:#fff;font-size:1rem}.site-footer a{color:#dce9f7}.footer-bottom{margin-top:34px;padding-top:18px;border-top:1px solid #2b3b4d;font-size:.85rem}
.mobile-bar{display:none}
@media (max-width:980px){.menu,.header-cta .phone-link{display:none}.mobile-toggle{display:block}.nav-wrap.open .menu{display:flex;position:absolute;top:78px;left:0;right:0;background:#fff;padding:18px 24px;flex-direction:column;border-top:1px solid #e5edf5;box-shadow:0 15px 30px rgba(0,0,0,.08)}.trustbar-grid,.trustbar-five{grid-template-columns:repeat(2,1fr)}.grid-3,.package-grid,.review-grid{grid-template-columns:1fr 1fr}.split,.contact-grid{grid-template-columns:1fr}.service-area-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.package.popular{transform:none}}
@media (max-width:680px){body{padding-bottom:66px}.section{padding:58px 0}.header-inner{min-height:70px}.brand-sub{display:none}.header-cta .btn{display:none}.hero{min-height:72vh;background-position:62% center}.hero-content{padding:64px 0}.hero h1{font-size:clamp(2.2rem,11vw,3.35rem)}.hero .lead{font-size:1.05rem}.hero-actions .btn{width:100%}.hero-proof{font-size:.82rem}.trustbar-five{grid-template-columns:1fr}.trustbar-five .trust-item:last-child{border-bottom:0}.service-card .card-body{min-height:0}.package .btn{width:100%}.trustbar-grid,.grid-3,.grid-2,.package-grid,.review-grid,.service-area-grid,.footer-grid,.form-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid #edf1f5}.gallery-grid{grid-template-columns:1fr 1fr}.mobile-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;z-index:40;bottom:0;left:0;right:0}.mobile-bar a{padding:15px 10px;text-align:center;font-weight:900;color:#fff}.mobile-bar .call{background:var(--ng-blue-dark)}.mobile-bar .estimate{background:var(--ng-green)}.page-hero{padding:64px 0}}

/* Stage 6D refinements */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:16px;top:16px;width:auto;height:auto;padding:10px 14px;background:#fff;color:var(--ng-blue-dark);z-index:100;border-radius:8px;box-shadow:var(--ng-shadow)}
.custom-brand-logo img{display:block;max-height:58px;width:auto;max-width:250px}
.menu li{position:relative}.menu .sub-menu{display:none;position:absolute;top:100%;left:-14px;min-width:270px;list-style:none;margin:0;padding:10px;background:#fff;border:1px solid #e5edf5;border-radius:12px;box-shadow:var(--ng-shadow)}.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu{display:block}.menu .sub-menu a{display:block;padding:9px 10px;border-radius:8px}.menu .sub-menu a:hover{background:var(--ng-light);text-decoration:none}
.form-notice{padding:14px 16px;border-radius:10px;margin-bottom:18px}.form-notice.success{background:#e9f8ec;border:1px solid #a8dfb0;color:#1e6a2c}.form-notice.error{background:#fff1f1;border:1px solid #e8b1b1;color:#8a2525}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.field small,.optional{color:var(--ng-muted);font-size:.82rem}.form-privacy{margin:12px 0 0;font-size:.8rem;color:var(--ng-muted)}
.field input:focus,.field textarea:focus,.field select:focus,.mobile-toggle:focus,.btn:focus,a:focus{outline:3px solid rgba(11,95,184,.28);outline-offset:2px}
@media (max-width:980px){.nav-wrap.open nav{display:block}.nav-wrap.open .menu .sub-menu{display:block;position:static;min-width:0;box-shadow:none;border:0;padding:4px 0 0 14px}.nav-wrap.open .menu .sub-menu a{font-size:.9rem;padding:7px 8px}.custom-brand-logo img{max-height:50px;max-width:210px}}

/* Stage 6C approved-photo and brand refresh */
.bundled-logo{display:block;width:auto;max-width:225px;max-height:64px;object-fit:contain}.brand-logo-link{flex:0 0 auto}.footer-logo{width:100%;max-width:260px;height:auto}.footer-logo-link{display:inline-block}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.hero-updated{background-position:center 44%}.hero-updated:before{background:linear-gradient(90deg,rgba(4,24,48,.88) 0%,rgba(4,24,48,.7) 42%,rgba(4,24,48,.24) 72%,rgba(4,24,48,.08) 100%)}
.service-hero{background:linear-gradient(135deg,#062f5f,#0a4f98);color:#fff;padding:52px 0}.service-hero-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:34px;align-items:center}.service-hero-copy .lead{color:#dce8f5}.service-hero-image img{width:100%;height:430px;object-fit:cover;border-radius:24px;box-shadow:0 18px 48px rgba(0,0,0,.24)}.service-content-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:42px;align-items:start}.service-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.service-gallery figure{margin:0;background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--ng-shadow)}.service-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}.service-gallery figcaption{padding:12px 14px;color:var(--ng-muted);font-size:.86rem}.services-grid .card-image{aspect-ratio:16/10}.results-grid .card-image{aspect-ratio:4/3}.gallery-grid img{background:#edf3f8}.page-template-default .service-card{text-decoration:none;color:inherit}
@media (max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.header-cta .phone-link{display:none}.bundled-logo{max-width:190px}.menu{gap:13px}.menu a{font-size:.88rem}}
@media (max-width:980px){.service-hero-grid,.service-content-grid{grid-template-columns:1fr}.service-hero-image{order:-1}.service-hero-image img{height:360px}.bundled-logo{max-height:54px;max-width:185px}}
@media (max-width:680px){.grid-4{grid-template-columns:1fr}.bundled-logo{max-width:178px;max-height:54px}.header-inner{gap:10px}.hero-updated{min-height:640px;background-position:58% center;align-items:end}.hero-updated:before{background:linear-gradient(180deg,rgba(4,24,48,.18) 0%,rgba(4,24,48,.52) 34%,rgba(4,24,48,.93) 76%,rgba(4,24,48,.98) 100%)}.hero-updated .hero-content{padding:150px 0 48px}.hero-updated h1{font-size:clamp(2rem,8.8vw,2.75rem);line-height:1.03;max-width:12ch}.hero-updated .lead{font-size:1rem;line-height:1.55}.hero-updated .hero-actions{margin-top:20px}.service-hero{padding:28px 0 46px}.service-hero-image img{height:270px;border-radius:18px}.service-hero h1{font-size:clamp(2rem,10vw,3rem)}.service-gallery{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.footer-logo{max-width:220px}}


/* Stage 6D mobile polish & homepage finalization */
@media (max-width:680px){
  body{font-size:16px}
  .container{width:min(100% - 28px,1180px)}
  .section{padding:46px 0}
  .section-sm{padding:36px 0}
  .header-inner{min-height:64px}
  .bundled-logo{max-width:188px;max-height:58px}
  .custom-brand-logo img{max-height:56px;max-width:188px}
  .mobile-toggle{font-size:1.55rem;padding:8px 4px}
  .nav-wrap.open .menu{top:64px}

  .hero-updated{min-height:560px;background-position:57% center}
  .hero-updated .hero-content{padding:118px 0 34px}
  .hero-updated h1{font-size:clamp(1.95rem,7.8vw,2.35rem);line-height:1.05;max-width:15ch;margin-bottom:14px}
  .hero-updated .eyebrow{font-size:.7rem;letter-spacing:.13em;margin-bottom:8px}
  .hero-updated .lead{font-size:.96rem;line-height:1.5;max-width:34rem;margin-bottom:12px}
  .hero-updated .hero-actions{gap:10px;margin:16px 0 12px}
  .hero-updated .hero-actions .btn{padding:12px 16px}
  .hero-proof{font-size:.78rem;gap:8px 10px;margin-top:12px}

  .section-head{margin-bottom:24px}
  .section-head h2{font-size:clamp(1.8rem,8.2vw,2.25rem)}
  .card-body{padding:20px}
  .service-card p{font-size:.93rem;line-height:1.55}
  .service-card h3{font-size:1.28rem}
  .grid-4,.grid-3,.grid-2{gap:18px}
  .card-image{aspect-ratio:16/10}
  .results-section .card-image{aspect-ratio:auto}
  .package{padding:24px 20px}
  .package-help{margin-top:20px}
  .service-area-grid{gap:9px}
  .service-area-grid a{padding:13px 10px}

  .site-footer{padding:40px 0 22px}
  .footer-grid{gap:22px}
  .site-footer p{margin-bottom:12px;line-height:1.55}
  .footer-logo{max-width:205px}
  .footer-bottom{margin-top:24px}

  .mobile-bar a{padding:13px 8px;font-size:.98rem}
}

@media (max-width:390px){
  .hero-updated h1{font-size:1.9rem;max-width:14ch}
  .bundled-logo{max-width:176px}
  .custom-brand-logo img{max-width:176px}
}


/* Stage 6E: final homepage conversion polish */
@media (max-width:680px){
  /* Keep the first screen focused: logo + message + CTA, without an oversized headline. */
  .hero-updated{min-height:520px;background-position:59% center;align-items:center}
  .hero-updated .hero-content{padding:70px 0 92px}
  .hero-updated .hero-copy{max-width:100%}
  .hero-updated .eyebrow{font-size:.66rem;letter-spacing:.12em;margin-bottom:7px;white-space:normal}
  .hero-updated h1{font-size:clamp(1.72rem,7vw,2.08rem);line-height:1.04;max-width:17ch;margin:0 0 12px}
  .hero-updated .lead{font-size:.92rem;line-height:1.46;max-width:33rem;margin:0 0 12px}
  .hero-updated .hero-actions{margin:14px 0 10px;gap:8px}
  .hero-updated .hero-actions .btn{padding:11px 14px;font-size:.93rem}
  .hero-updated .hero-proof{font-size:.74rem;line-height:1.35;margin-top:10px}

  /* Give page sections a clean visual handoff below the sticky header. */
  .results-section,.services-section,.packages-section,.why-nextgen,.residential-commercial,.service-areas-home{scroll-margin-top:74px}
  .section-head{margin-bottom:24px}
  .section-head h2{margin-bottom:10px}
  .results-section{padding-top:46px}
  .results-section .section-head .muted{margin-bottom:0}

  /* Tighter cards reduce unnecessary scrolling while keeping touch targets generous. */
  .card-body{padding:24px 22px}
  .service-card .card-body{padding:22px 22px 24px}
  .service-card h3,.result-card h3{margin-bottom:10px}
  .service-card p,.result-card p{margin-bottom:12px}
  .card-link{display:inline-block;padding:4px 0}

  /* Final CTA and footer should remain fully reachable above the fixed mobile bar. */
  .cta-band{padding-bottom:96px}
  .site-footer{padding-bottom:34px}
  .footer-bottom{margin-bottom:12px}
  .mobile-bar{min-height:62px}
  .mobile-bar a{display:flex;align-items:center;justify-content:center;min-height:62px;padding:12px 8px}
}

@media (max-width:390px){
  .hero-updated h1{font-size:1.68rem;max-width:17ch}
  .hero-updated .lead{font-size:.9rem}
  .bundled-logo{max-width:174px}
}

/* Stage 7A: dedicated Roof Cleaning service page */
.roof7-hero{background:linear-gradient(135deg,#042b55 0%,#075196 100%);color:#fff;padding:56px 0}.roof7-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:center}.roof7-copy h1{font-size:clamp(2.6rem,5.2vw,4.8rem);max-width:12ch}.roof7-copy .lead{max-width:680px}.roof7-trust{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:20px;font-size:.88rem;font-weight:800;color:#e9f4ff}.roof7-hero-photo{margin:0;background:#fff;border-radius:24px;padding:10px;box-shadow:0 22px 55px rgba(0,0,0,.25);color:var(--ng-charcoal)}.roof7-hero-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}.roof7-hero-photo figcaption{padding:9px 8px 3px;color:var(--ng-muted);font-size:.82rem}.roof7-two{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}.roof7-benefits{display:grid;grid-template-columns:1fr 1fr;gap:16px}.roof7-benefits>div{background:#fff;border:1px solid #e5edf5;border-radius:16px;padding:20px;box-shadow:0 8px 24px rgba(9,43,83,.07)}.roof7-benefits strong{display:block;color:var(--ng-blue-dark);margin-bottom:5px}.roof7-benefits span{display:block;color:var(--ng-muted);font-size:.92rem;line-height:1.5}.text-link{font-weight:900}.centered{text-align:center;max-width:820px;margin-left:auto;margin-right:auto}.roof7-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.roof7-steps article{background:#fff;border-radius:18px;padding:24px;box-shadow:var(--ng-shadow)}.roof7-steps article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--ng-green);color:#fff;font-weight:900;margin-bottom:16px}.roof7-steps h3{color:var(--ng-blue-dark)}.roof7-steps p{color:var(--ng-muted);font-size:.93rem;margin:0}.roof7-project-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.roof7-project{margin:0;background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--ng-shadow)}.roof7-project img{width:100%;height:100%;max-height:520px;object-fit:cover}.roof7-project figcaption{padding:16px 18px;color:var(--ng-muted)}.roof7-project figcaption strong{color:var(--ng-charcoal)}.roof7-why h2{color:#fff}.roof7-why p{color:#d9e4ef}.roof7-checklist{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:24px}.roof7-checklist p{margin:0;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12);font-weight:700;color:#fff}.roof7-checklist p:last-child{border-bottom:0}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.faq-grid details{background:#fff;border:1px solid #e3ebf3;border-radius:16px;padding:0 20px;box-shadow:0 7px 22px rgba(9,43,83,.06)}.faq-grid summary{cursor:pointer;font-weight:900;color:var(--ng-blue-dark);padding:18px 0}.faq-grid details p{color:var(--ng-muted);padding:0 0 18px;margin:0}.roof7-cta .eyebrow{color:#77dd82}.roof7-cta h2{color:#fff}.roof7-cta p{color:#d9e4ef}.cta-flex{display:flex;align-items:center;justify-content:space-between;gap:28px}.cta-flex>div:first-child{max-width:700px}
@media(max-width:980px){.roof7-hero-grid,.roof7-two,.roof7-project-grid{grid-template-columns:1fr}.roof7-hero-photo{order:-1}.roof7-steps{grid-template-columns:1fr 1fr}.cta-flex{display:block}.cta-flex .hero-actions{margin-top:20px}}
@media(max-width:680px){.roof7-hero{padding:22px 0 42px}.roof7-hero-grid{gap:24px}.roof7-hero-photo{border-radius:18px;padding:7px}.roof7-hero-photo img{border-radius:12px;aspect-ratio:16/10}.roof7-copy h1{font-size:clamp(2rem,9vw,2.65rem);max-width:15ch}.roof7-copy .lead{font-size:.98rem;line-height:1.52}.roof7-trust{display:grid;gap:7px;font-size:.8rem}.roof7-benefits,.roof7-steps,.faq-grid{grid-template-columns:1fr}.roof7-two{gap:28px}.roof7-benefits>div,.roof7-steps article{padding:19px}.roof7-project-grid{gap:16px}.roof7-project img{max-height:none}.roof7-faq details{padding:0 17px}.roof7-areas{padding-bottom:88px}.roof7-cta{padding-bottom:96px}.roof7-cta .hero-actions{display:grid;grid-template-columns:1fr;gap:10px}}

/* Stage 7B — House Soft Washing */
.house7-hero .roof7-hero-photo img{object-position:center}.house7-surfaces{max-width:960px;margin:0 auto}


/* Stage 7C — Concrete Cleaning */
.concrete7-hero .roof7-hero-photo img{object-position:center}.concrete7-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.concrete7-gallery figure{margin:0;background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--ng-shadow)}.concrete7-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.concrete7-gallery figcaption{padding:16px 18px;color:var(--ng-muted)}.concrete7-gallery figcaption strong{color:var(--ng-charcoal)}
@media(max-width:680px){.concrete7-gallery{grid-template-columns:1fr;gap:16px}.concrete7-gallery img{aspect-ratio:auto;max-height:560px}.concrete7-results{padding-top:46px}}


/* Stage 7D — Gutter Cleaning & Brightening */
.gutter7-hero .roof7-hero-photo img{object-position:center}.gutter7-compare{display:grid;grid-template-columns:1fr 1fr;gap:18px}.gutter7-compare article{background:#fff;border:1px solid #dfe9f2;border-radius:20px;padding:24px;box-shadow:var(--ng-shadow)}.gutter7-label{display:inline-block;background:var(--ng-green);color:#fff;border-radius:999px;padding:6px 11px;font-size:.72rem;font-weight:900;letter-spacing:.1em;margin-bottom:12px}.gutter7-compare h3{color:var(--ng-blue-dark);font-size:1.45rem}.gutter7-compare p,.gutter7-compare li{color:var(--ng-muted)}.gutter7-compare ul{padding-left:20px;margin-bottom:0}.gutter7-gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px}.gutter7-gallery figure{margin:0;background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--ng-shadow)}.gutter7-gallery img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.gutter7-gallery figcaption{padding:16px 18px;color:var(--ng-muted)}.gutter7-gallery figcaption strong{color:var(--ng-charcoal)}.gutter7-packages{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:940px;margin:0 auto}.gutter7-packages article{background:#fff;border:1px solid #dfe9f2;border-radius:20px;padding:26px;box-shadow:var(--ng-shadow)}.gutter7-packages article.featured{border:2px solid var(--ng-green)}.gutter7-packages span{font-size:.75rem;letter-spacing:.12em;font-weight:900;color:var(--ng-green)}.gutter7-packages h3{color:var(--ng-blue-dark);margin-top:8px}.gutter7-packages p{color:var(--ng-muted);margin-bottom:0}.gutter7-package-link{margin-top:22px}
@media(max-width:680px){.gutter7-compare,.gutter7-gallery,.gutter7-packages{grid-template-columns:1fr}.gutter7-compare article,.gutter7-packages article{padding:20px}.gutter7-gallery img{aspect-ratio:auto;max-height:560px}.gutter7-results{padding-top:46px}}

/* Stage 7E — Exterior Window Cleaning */
.window7-hero .roof7-hero-photo img{object-position:center}.window7-methods{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:980px;margin:0 auto}.window7-methods article{background:#fff;border:1px solid #dfe9f2;border-radius:20px;padding:26px;box-shadow:var(--ng-shadow)}.window7-label{display:inline-block;background:var(--ng-green);color:#fff;border-radius:999px;padding:6px 11px;font-size:.72rem;font-weight:900;letter-spacing:.1em;margin-bottom:12px}.window7-methods h3{color:var(--ng-blue-dark);font-size:1.45rem}.window7-methods p{color:var(--ng-muted);margin-bottom:0}.window7-gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px}.window7-gallery figure{margin:0;background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--ng-shadow)}.window7-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.window7-gallery figcaption{padding:16px 18px;color:var(--ng-muted)}.window7-gallery figcaption strong{color:var(--ng-charcoal)}.window7-packages{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1080px;margin:0 auto}.window7-packages article{background:#fff;border:1px solid #dfe9f2;border-radius:20px;padding:24px;box-shadow:var(--ng-shadow)}.window7-packages article.featured{border:2px solid var(--ng-green)}.window7-packages span{font-size:.75rem;letter-spacing:.12em;font-weight:900;color:var(--ng-green)}.window7-packages h3{color:var(--ng-blue-dark);margin-top:8px}.window7-packages p{color:var(--ng-muted);margin-bottom:0}.window7-package-link{margin-top:22px}
@media(max-width:800px){.window7-packages{grid-template-columns:1fr}}
@media(max-width:680px){.window7-methods,.window7-gallery{grid-template-columns:1fr}.window7-methods article,.window7-packages article{padding:20px}.window7-gallery img{aspect-ratio:auto;max-height:560px}.window7-results{padding-top:46px}}


/* Stage 7F — Paver, Patio & Hardscape Cleaning */
.paver7-hero .roof7-hero-photo img{object-position:center}.paver7-types{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1100px;margin:0 auto}.paver7-types article{background:#fff;border:1px solid #dfe9f2;border-radius:20px;padding:26px;box-shadow:var(--ng-shadow)}.paver7-label{display:inline-block;background:var(--ng-green);color:#fff;border-radius:999px;padding:6px 11px;font-size:.72rem;font-weight:900;letter-spacing:.1em;margin-bottom:12px}.paver7-types h3{color:var(--ng-blue-dark);font-size:1.4rem}.paver7-types p{color:var(--ng-muted);margin-bottom:0}.paver7-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.paver7-gallery figure{margin:0;background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--ng-shadow)}.paver7-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.paver7-gallery figcaption{padding:16px 18px;color:var(--ng-muted)}.paver7-gallery figcaption strong{color:var(--ng-charcoal)}
@media(max-width:900px){.paver7-types{grid-template-columns:1fr}}
@media(max-width:680px){.paver7-gallery{grid-template-columns:1fr}.paver7-types article{padding:20px}.paver7-gallery img{aspect-ratio:auto;max-height:620px}.paver7-results{padding-top:46px}}


/* Stage 7G — Deck Cleaning + image-fit polish */
.deck7-gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px}.deck7-gallery figure{margin:0;background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--ng-shadow)}.deck7-gallery img{display:block;width:100%;height:auto;object-fit:cover;background:#fff}.deck7-gallery figcaption{padding:16px 18px;color:var(--ng-muted)}.deck7-gallery figcaption strong{color:var(--ng-charcoal)}.deck7-materials{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1100px;margin:0 auto}.deck7-materials article{background:#fff;border:1px solid #dfe9f2;border-radius:20px;padding:26px;box-shadow:var(--ng-shadow)}.deck7-materials h3{color:var(--ng-blue-dark);font-size:1.4rem}.deck7-materials p{color:var(--ng-muted);margin-bottom:0}.deck7-label{display:inline-block;background:var(--ng-green);color:#fff;border-radius:999px;padding:6px 11px;font-size:.72rem;font-weight:900;letter-spacing:.1em;margin-bottom:12px}.deck7-hero .roof7-hero-photo img{object-position:center}.paver7-gallery img,.roof7-project img,.service-gallery img{background:#fff}.paver7-gallery figure,.roof7-project,.service-gallery figure{background:#fff}
@media(max-width:900px){.deck7-materials{grid-template-columns:1fr}.deck7-gallery{grid-template-columns:1fr}}
@media(max-width:680px){.deck7-gallery img{max-height:none;aspect-ratio:auto}.deck7-materials article{padding:20px}}


/* Stage 7H — Commercial Exterior Cleaning */
.commercial7-hero .roof7-hero-photo img{object-position:center}.commercial7-types{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1120px;margin:0 auto}.commercial7-types article{background:#fff;border:1px solid #dfe9f2;border-radius:20px;padding:25px;box-shadow:var(--ng-shadow)}.commercial7-label{display:inline-block;background:var(--ng-green);color:#fff;border-radius:999px;padding:6px 11px;font-size:.7rem;font-weight:900;letter-spacing:.1em;margin-bottom:12px}.commercial7-types h3{color:var(--ng-blue-dark);font-size:1.35rem}.commercial7-types p{color:var(--ng-muted);margin-bottom:0}.commercial7-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.commercial7-gallery figure{margin:0;background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--ng-shadow)}.commercial7-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#fff}.commercial7-gallery figcaption{padding:16px 18px;color:var(--ng-muted)}.commercial7-gallery figcaption strong{color:var(--ng-charcoal)}
@media(max-width:900px){.commercial7-types,.commercial7-gallery{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.commercial7-types,.commercial7-gallery{grid-template-columns:1fr}.commercial7-types article{padding:20px}.commercial7-gallery img{aspect-ratio:auto;max-height:none}.commercial7-results{padding-top:46px}}
