:root{--sp-navy:#20395c;--sp-ink:#172844;--sp-muted:#667487;--sp-line:#e3e8ef;--sp-soft:#f5f7fa;--sp-icon:#eef1f4;--sp-shadow:0 10px 28px rgba(20,45,75,.07)}

/* Shared compact rhythm — homepage/quote/payment excluded by not linking this file there */
main section{scroll-margin-top:90px}
.title-area{margin-bottom:24px!important}
.sec-title{font-size:clamp(32px,3vw,44px)!important;line-height:1.08!important;letter-spacing:-.025em!important}
.sec-text,.section-intro{font-size:16px!important;line-height:1.62!important;color:var(--sp-muted)!important}
.spotless-section,.about-section,.promise,.how-it-works-area,.contact-section,.contact-services,.contact-final-cta,.gallery-section,.faq-area,.service-area{padding-top:42px!important;padding-bottom:42px!important}
.row.g-5{--bs-gutter-x:32px;--bs-gutter-y:24px}.row.g-4{--bs-gutter-x:20px;--bs-gutter-y:20px}

/* All icon tiles use quiet gray, never rose */
.value-icon,.promise-icon,.about-feature-icon,.spotless-icon,.service-overview-icon,.process-icon,.included-icon,.contact-detail-icon,.home-area-icon,.city-service-icon{
  background:var(--sp-icon)!important;color:var(--sp-navy)!important;box-shadow:none!important;border-color:transparent!important;
}

/* ABOUT */
.about-intro-section .row{align-items:stretch!important}
.about-intro-section .about-photo,.about-intro-section .about-photo img{height:100%!important}
.about-intro-section .about-photo img{object-fit:cover!important;min-height:520px;border-radius:18px}
.about-intro-section .about-copy{height:100%;display:flex;flex-direction:column}
.about-intro-section .about-features{margin-top:auto!important;display:grid!important;gap:12px!important}
.about-intro-section .check-item{padding:15px 16px!important;min-height:0!important;border:1px solid var(--sp-line)!important;border-radius:13px!important;background:#fff!important;box-shadow:var(--sp-shadow)!important}
.about-intro-section .about-feature-icon{width:44px!important;height:44px!important;min-width:44px!important;border-radius:11px!important}
.about-section.soft .row{align-items:stretch}
.value-card{height:100%!important;min-height:0!important;padding:22px!important;border:1px solid var(--sp-line)!important;border-radius:15px!important;box-shadow:var(--sp-shadow)!important}
.value-card .value-icon{width:46px!important;height:46px!important;margin-bottom:14px!important;border-radius:12px!important}
.value-card h3{font-size:19px!important;margin-bottom:7px!important}.value-card p{font-size:14.5px!important;line-height:1.55!important}
.promise-box{padding:34px!important;border-radius:18px!important}
.promise-box>.row{align-items:center!important;--bs-gutter-x:34px}
.promise-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}
.promise-item{min-height:64px!important;padding:13px 15px!important;border-radius:12px!important}
.promise-icon{width:38px!important;height:38px!important;min-width:38px!important;border-radius:10px!important}

/* SERVICES OVERVIEW — content-sized, no giant empty cards */
.services-overview-section .row{align-items:stretch}
.service-overview-card{height:100%!important;min-height:0!important;padding:22px!important;border:1px solid var(--sp-line)!important;border-radius:15px!important;box-shadow:var(--sp-shadow)!important;display:flex!important;flex-direction:column!important}
.service-card-header{display:flex!important;align-items:center!important;gap:12px!important;margin-bottom:10px!important}
.service-overview-icon{width:44px!important;height:44px!important;min-width:44px!important;margin:0!important;border-radius:11px!important;display:grid!important;place-items:center!important;font-size:23px!important}
.service-overview-card h3{font-size:20px!important;margin:0!important}.service-overview-card>p{font-size:14.5px!important;line-height:1.55!important;margin-bottom:12px!important}
.service-overview-features{margin:0 0 15px!important;padding-left:22px!important}.service-overview-features li{font-size:14px!important;line-height:1.42!important;margin-bottom:5px!important}
.service-card-link{margin-top:auto!important}

/* PROCESS — compact and balanced */
.spotless-process-wrap{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;align-items:stretch!important}
.spotless-process-card{height:100%!important;min-height:0!important;padding:20px!important;border:1px solid var(--sp-line)!important;border-radius:15px!important;box-shadow:var(--sp-shadow)!important;background:#fff!important}
.process-number{font-size:30px!important;line-height:1!important;margin-bottom:12px!important;color:#c5ccd5!important}
.process-header{display:flex!important;align-items:center!important;gap:10px!important;margin-bottom:8px!important}.process-icon{width:42px!important;height:42px!important;min-width:42px!important;margin:0!important;border-radius:11px!important;display:grid!important;place-items:center!important}
.spotless-process-card h3{font-size:18px!important;margin:0!important;line-height:1.2!important}.spotless-process-card p{font-size:14px!important;line-height:1.5!important;margin:0!important;color:var(--sp-muted)!important}

/* Generic cards and included cards */
.spotless-card,.included-item,.city-included-item,.home-area-card,.contact-service-card{height:100%!important;min-height:0!important;border:1px solid var(--sp-line)!important;border-radius:15px!important;box-shadow:var(--sp-shadow)!important}
.spotless-card{padding:21px!important}.included-item,.city-included-item{padding:16px!important}.spotless-card .spotless-icon{width:44px!important;height:44px!important;margin:0 auto 13px!important;border-radius:11px!important}

/* CONTACT — force a stable two-column desktop layout and compact cards */
body.contact-page .desktop-contact-version{display:block!important}body.contact-page .mobile-contact-version{display:none!important}
body.contact-page .contact-section{padding:44px 0!important}
body.contact-page .contact-intro{margin-bottom:26px!important}
body.contact-page .contact-grid{align-items:stretch!important;--bs-gutter-x:22px!important;--bs-gutter-y:22px!important}
body.contact-page .contact-grid>.col-lg-5,body.contact-page .contact-grid>.col-lg-7{display:flex!important}
body.contact-page .contact-info-panel,body.contact-page .contact-form-panel{width:100%!important;height:auto!important;min-height:100%!important;padding:28px!important;border-radius:17px!important;box-shadow:var(--sp-shadow)!important}
body.contact-page .contact-info-panel{background:var(--sp-navy)!important}
body.contact-page .contact-info-panel h2,body.contact-page .contact-form-panel h2{font-size:30px!important}
body.contact-page .contact-info-panel>p{margin-bottom:18px!important;line-height:1.6!important}
body.contact-page .contact-detail{padding:14px 0!important;gap:13px!important}
body.contact-page .contact-detail-icon{width:42px!important;height:42px!important;flex:0 0 42px!important;border-radius:10px!important;background:rgba(255,255,255,.12)!important;color:#fff!important}
body.contact-page .contact-detail a{font-size:18px!important}
body.contact-page .contact-trust{margin-top:18px!important}
body.contact-page .contact-form-grid{gap:14px!important}
body.contact-page .contact-form input,body.contact-page .contact-form select{min-height:50px!important}body.contact-page .contact-form textarea{min-height:120px!important}
body.contact-page .contact-services{padding:38px 0!important}
body.contact-page .contact-service-card{padding:20px!important}.contact-service-card .spotless-icon{width:44px!important;height:44px!important;margin:0 auto 13px!important;font-size:23px!important;border-radius:11px!important}
body.contact-page .contact-final-cta{padding:38px 0!important}.contact-cta-box{padding:36px 28px!important;border-radius:18px!important}.contact-cta-box h2{font-size:36px!important}

/* Gallery/legal/city tighten without changing structure */
.gallery-grid{gap:18px!important}.gallery-load-more-wrap{margin-top:24px!important}
.legal-content,.sitemap-content{padding-top:36px!important;padding-bottom:36px!important}

@media(max-width:991px){
 .spotless-process-wrap{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .about-intro-section .about-photo img{min-height:420px}
 body.contact-page .desktop-contact-version{display:none!important}body.contact-page .mobile-contact-version{display:block!important}
}
@media(max-width:767px){
 .spotless-section,.about-section,.promise,.how-it-works-area,.contact-section,.contact-services,.contact-final-cta,.gallery-section,.faq-area,.service-area{padding-top:28px!important;padding-bottom:28px!important}
 .sec-title{font-size:29px!important}.title-area{margin-bottom:18px!important}
 .spotless-process-wrap{grid-template-columns:1fr!important;gap:12px!important}
 .service-overview-card,.spotless-process-card,.value-card,.spotless-card{padding:18px!important}
 .promise-box{padding:24px 18px!important}.promise-grid{grid-template-columns:1fr!important}
 .about-intro-section .about-photo img{min-height:0;height:auto!important}
}
