/*
 * Legacy page content (ADM Thor Builder rows on ~1,580 city and info pages) shown inside the new theme.
 * The builder plugin still renders the content; ADM Thor's own theme CSS is no longer loaded, so this file
 * supplies the grid it relied on (Bootstrap 3 columns) and restyles the content in the Atelier palette.
 * Nothing in the page content is changed.
 */
.legacy-builder .legacy-content{font-size:16.5px;line-height:1.7;color:var(--body)}
.legacy-content .jsn-bootstrap3{box-sizing:border-box}
.legacy-content .admlbp-row-wrapper{position:relative}
.legacy-content .ltb-row-width-boxed>.row{max-width:1240px;margin-left:auto;margin-right:auto;padding-left:max(var(--gut),env(safe-area-inset-left,0px));padding-right:max(var(--gut),env(safe-area-inset-right,0px))}
.legacy-content .ltb-row-width-full>.row{position:relative}
.legacy-content .row{position:relative;padding-block:28px}
.legacy-content .row-inner{display:flex;flex-wrap:wrap;margin:0 -14px}
.legacy-content .row-inner::before,.legacy-content .row-inner::after{display:none}
.legacy-content .col{position:relative;padding:0 14px;width:100%;min-height:1px}
@media (min-width:768px){
  .legacy-content .col-sm-1{width:8.333%}.legacy-content .col-sm-2{width:16.667%}.legacy-content .col-sm-3{width:25%}.legacy-content .col-sm-4{width:33.333%}
  .legacy-content .col-sm-5{width:41.667%}.legacy-content .col-sm-6{width:50%}.legacy-content .col-sm-7{width:58.333%}.legacy-content .col-sm-8{width:66.667%}
  .legacy-content .col-sm-9{width:75%}.legacy-content .col-sm-10{width:83.333%}.legacy-content .col-sm-11{width:91.667%}.legacy-content .col-sm-12{width:100%}
}
@media (min-width:992px){
  .legacy-content .col-md-1{width:8.333%}.legacy-content .col-md-2{width:16.667%}.legacy-content .col-md-3{width:25%}.legacy-content .col-md-4{width:33.333%}
  .legacy-content .col-md-5{width:41.667%}.legacy-content .col-md-6{width:50%}.legacy-content .col-md-7{width:58.333%}.legacy-content .col-md-8{width:66.667%}
  .legacy-content .col-md-9{width:75%}.legacy-content .col-md-10{width:83.333%}.legacy-content .col-md-11{width:91.667%}.legacy-content .col-md-12{width:100%}
}
@media (max-width:767.98px){.legacy-content .col-sm-1:empty,.legacy-content .col-md-1>.col-inner:empty{display:none}.legacy-content .col-md-1:has(>.col-inner:empty){display:none}}
.legacy-content .clearfix::after{content:"";display:table;clear:both}

/* full-width hero rows: the old builder trick (huge side padding) is contained */
.legacy-content .ltb_fullwidth{box-sizing:border-box!important;width:100%!important;margin:0!important;padding-left:max(var(--gut),env(safe-area-inset-left,0px))!important;padding-right:max(var(--gut),env(safe-area-inset-right,0px))!important;overflow:hidden}
.legacy-content .ltb_fullwidth>.row-inner{max-width:1240px;margin-left:auto;margin-right:auto}
/* only the hero background photo and its cream wash are layered behind the row. 1.0.3.5: the old builder also puts
   "full_wide_content" on ordinary content rows (the map + form row on Locations and About Us); those stay in the page flow. */
.legacy-content :is(.admlbp-row-bg-full,.admlbp-bg-overlay).full_wide_content{position:absolute;inset:0;z-index:0}
.legacy-content .admlbp-row-bg-full{filter:saturate(.75)}
.legacy-content .admlbp-bg-overlay{background:linear-gradient(90deg,rgba(246,241,232,.94) 0%,rgba(246,241,232,.86) 55%,rgba(246,241,232,.7) 100%)!important}
.legacy-content .ltb_fullwidth>.row-inner{position:relative;z-index:1;padding-block:24px}

/* typography in the Atelier style (builder set fonts inline; these win) */
.legacy-content h1,.legacy-content h2,.legacy-content h3,.legacy-content h4,.legacy-content h5,.legacy-content h6{color:var(--ink)!important;text-transform:none!important;letter-spacing:-.005em!important}
.legacy-content h1{font-family:var(--f-display)!important;font-weight:400!important;font-size:clamp(40px,7vw,72px)!important;line-height:1!important;margin:0 0 18px!important}
.legacy-content h2{font-family:var(--f-display)!important;font-weight:400!important;font-size:clamp(30px,4.4vw,44px)!important;line-height:1.06!important;margin:0 0 14px!important}
.legacy-content h2 strong{font-weight:400}
.legacy-content h3{font-family:var(--f-display)!important;font-weight:400!important;font-size:clamp(24px,3vw,32px)!important;line-height:1.12!important}
.legacy-content h4{font-family:var(--f-body)!important;font-size:17px!important;font-weight:650!important}
.legacy-content h6{font-family:var(--f-body)!important;font-size:11.5px!important;font-weight:650!important;letter-spacing:.24em!important;text-transform:uppercase!important;color:var(--muted)!important;line-height:1.5!important;margin:0 0 12px!important}
.legacy-content p,.legacy-content li,.legacy-content em,.legacy-content span{font-family:var(--f-body)!important}
.legacy-content p{color:var(--body)}
.legacy-content em{font-style:normal}
.legacy-content p[style*="text-align: center"],.legacy-content p[style*="text-align:center"]{max-width:62ch;margin-left:auto;margin-right:auto}
.legacy-content ul{padding-left:1.2em}

/* white-on-dark text from the old theme becomes ink on ivory */
.legacy-content [style*="color: #ffffff"],.legacy-content [style*="color:#ffffff"],.legacy-content [style*="color: #fff;"],.legacy-content [style*="color:#fff;"],.legacy-content [style*="color: #d7d7d7"]{color:var(--ink)!important}
.legacy-content .admlbp-icon{color:var(--brass)!important}
.legacy-content .admlbp-icon .fa{display:none}
.legacy-content .admlbp-icon::before{content:"";display:inline-block;width:.42em;height:.42em;border-radius:50%;background:var(--brass);vertical-align:middle}
.legacy-content .ltb-element-heading h3>span:first-child{margin-right:12px!important}
.legacy-content .ltb-element-heading h3>span:first-child .admlbp-icon{font-size:22px!important}
.legacy-content .bold-heading h3{font-family:var(--f-body)!important;font-size:17px!important;font-weight:600!important;margin:0 0 6px!important;display:flex;align-items:center}
.legacy-content .ltb-element-spacer>div{height:16px!important}

/* list blocks (opening times, call, email) */
.legacy-content .home-below-slider{background:var(--paper);border-block:1px solid var(--stone);max-width:none!important}
.legacy-content .home-below-slider>.row-inner{max-width:1240px;margin:0 auto}
.legacy-content .admlbp-list{list-style:none;padding:0;margin:0}
.legacy-content .admlbp-list li{display:flex;gap:14px;align-items:flex-start}
.legacy-content .admlbp-list-icon{flex:none;padding-top:6px}
.legacy-content .admlbp-list-icon .admlbp-icon{font-size:20px!important}
.legacy-content .admlbp-list-content-wrap{padding-left:0!important}
.legacy-content .home-promo-list .ltb-element-heading h6{display:none}
.legacy-content .home-promo-list h3{font-size:24px!important;margin:0 0 4px!important}
.legacy-content .home-promo-list h4{font-family:var(--f-display)!important;font-weight:400!important;font-size:30px!important}

/* buttons */
.legacy-content .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;background:var(--ink)!important;color:var(--white)!important;border:0!important;font-family:var(--f-body)!important;font-weight:650;font-size:16px;text-decoration:none;letter-spacing:.01em;box-shadow:none!important;text-transform:none!important}
.legacy-content .btn:hover{background:#40362F!important}
.legacy-content .btn .fa{display:none}
.legacy-content .text-center{text-align:center}
.legacy-content .ltb-element-button{margin:14px 0}

/* images */
.legacy-content img{max-width:100%;height:auto}
.legacy-content .img-rounded,.legacy-content .img-rounded-container img{border-radius:var(--r)}
.legacy-content .ltb-element-image{margin:10px 0}

/* the form box in the city-page hero */
.legacy-content .landing-form-box{background:var(--white)!important;border:1px solid var(--stone)!important;border-radius:20px!important;padding:22px!important;box-shadow:0 30px 60px -40px rgba(43,36,31,.45)}
.legacy-content .ltb-element-heading[style*="border-top-left-radius"]{margin-bottom:-14px;position:relative;z-index:1}
.legacy-content .ltb-element-heading[style*="border-top-left-radius"] h6{margin:0 0 0 22px!important;padding-top:18px}
.legacy-content .wpcf7 .col-md-12,.legacy-content .wpcf7 .col-md-6{width:100%;padding:0;float:none;margin-bottom:10px}
.legacy-content .wpcf7 input[type=text],.legacy-content .wpcf7 input[type=email],.legacy-content .wpcf7 textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);font:inherit;font-size:16px;color:var(--ink)}
.legacy-content .wpcf7 textarea{height:110px;min-height:110px}
.legacy-content .wpcf7-submit{width:100%;min-height:54px;border:0;border-radius:999px;background:var(--ink);color:var(--white);font:inherit;font-weight:650;font-size:16px;cursor:pointer}

/* old inline review cards: keep content, align with the theme */
.legacy-content #text_google_reviews_city [style*="border:1px solid #d6ecf6"]{border-color:var(--stone)!important;border-radius:var(--r)!important;box-shadow:none!important;background:var(--white)!important}
.legacy-content #text_google_reviews_city [style*="color:#f5a623"]{color:var(--brass)!important}
.legacy-content #text_google_reviews_city [style*="color:#0B2E44"]{color:var(--ink)!important;font-family:var(--f-display)!important;font-size:19px!important;line-height:1.35!important}
.legacy-content #text_google_reviews_city [style*="color:#0E6E9E"]{color:var(--muted)!important}

/* the page's own sticky call bar is replaced by the theme's (which keeps this page's phone number) */
.legacy-content .gs-sticky{display:none!important}
body.legacy-has-bar{padding-bottom:0!important}

/* plain (non-builder) pages */
.legacy-plain .legacy-content{padding-bottom:64px}
.legacy-content .row[style*="background-color: #ffffff"]{background:var(--white)!important;border:1px solid var(--stone);border-radius:var(--r);margin-block:24px;padding:36px 28px}

/* ---------- 1.0.3.4: readability and Atelier styling for old builder pages ---------- */
/* Text from the old builder: the builder printed white text per block (#text_x p{color:#fff}), which disappears
   on the cream banners. All builder text is now dark; the dark "Call us" card below sets its own light text. */
.legacy-content .ltb_text,.legacy-content .ltb_text p,.legacy-content .ltb_text li{color:var(--body)!important}
.legacy-content .ltb_text a:not(.btn):not(.gh-btn):not([style*="background"]),
.legacy-content :is(h1,h2,h3,h4,h5,h6) a:not(.btn):not(.gh-btn):not([style*="background"]){color:var(--ink)!important}
.legacy-content .admlbp-list-content-wrap,.legacy-content .admlbp-list-content-wrap p,.legacy-content .admlbp-list-content-wrap a{color:var(--body)!important}
/* a calmer, more even cream wash behind banner text on small screens */
@media (max-width:959.98px){.legacy-content .admlbp-bg-overlay{background:rgba(246,241,232,.9)!important}}

/* Information strip (Opening times / Call us / Drop a message): three Atelier cards, the middle one dark.
   The strip is the builder row whose middle column has the class "home-promo-list". */
.legacy-content :is(.row-inner,.row):has(> .home-promo-list) > .col{background:transparent!important;padding:8px!important}
.legacy-content :is(.row-inner,.row):has(> .home-promo-list) > .col *{background-color:transparent!important;border-color:transparent!important;box-shadow:none!important}
.legacy-content :is(.row-inner,.row):has(> .home-promo-list) > .col > .col-inner{background:var(--white)!important;border:1px solid var(--stone)!important;border-radius:var(--r);padding:26px 24px!important;height:100%;text-align:left}
.legacy-content :is(.row-inner,.row):has(> .home-promo-list) > .col :is(h1,h2,h3,h4,h5,h6){color:var(--ink)!important;font-family:var(--f-display)!important;font-size:24px!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;line-height:1.2!important;margin:0 0 10px!important}
.legacy-content :is(.row-inner,.row):has(> .home-promo-list) > .col :is(p,span,li,a){color:var(--body)!important}
.legacy-content :is(.row-inner,.row):has(> .home-promo-list) > .col.home-promo-list > .col-inner{background:var(--ink)!important;border-color:var(--ink)!important;text-align:center}
.legacy-content :is(.row-inner,.row):has(> .home-promo-list) > .col.home-promo-list *{color:var(--white)!important}
.legacy-content :is(.row-inner,.row):has(> .home-promo-list) > .col.home-promo-list a[href^="tel:"]{display:inline-flex!important;align-items:center;justify-content:center;min-height:54px;padding:0 26px!important;margin-top:4px;border-radius:999px;
  background:var(--white)!important;color:var(--ink)!important;font-family:var(--f-body)!important;font-weight:650!important;font-size:clamp(20px,5.4vw,24px)!important;letter-spacing:.01em!important;white-space:nowrap;text-decoration:none!important}
.legacy-content :is(.row-inner,.row):has(> .home-promo-list) .admlbp-list-icon{display:none!important}
.legacy-content :is(.row-inner,.row):has(> .home-promo-list) .admlbp-list-content-wrap{padding-left:0!important;flex:1 1 100%;width:100%}
.legacy-content :is(.row-inner,.row):has(> .home-promo-list) .admlbp-list li{justify-content:center}
.legacy-content :is(.row-inner,.row):has(> .home-promo-list) > .col > .col-inner,.legacy-content :is(.row-inner,.row):has(> .home-promo-list) > .col :is(h1,h2,h3,h4,h5,h6,p,li,ul){text-align:center!important}
.legacy-content :is(.row-inner,.row):has(> .home-promo-list) > .col ul{padding:0!important;margin:0!important;list-style:none!important}

/* Phone numbers never wrap; large builder phone buttons are sized to fit small screens */
.legacy-content a[href^="tel:"]{white-space:nowrap}
.legacy-content a.btn[href^="tel:"]{font-size:clamp(20px,6.2vw,28px)!important;padding:0 24px!important;max-width:100%}
.legacy-content h1 a[href^="tel:"],.legacy-content h2 a[href^="tel:"],.legacy-content h3 a[href^="tel:"],.legacy-content h4 a[href^="tel:"],
.legacy-content h5 a[href^="tel:"],.legacy-content h6 a[href^="tel:"]{font-size:clamp(22px,6.4vw,32px)!important;line-height:1.2!important}

/* Older "Call" (yellow) and "Free estimate" (blue) buttons -> Atelier pills */
.legacy-content .gh-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px!important;border-radius:999px!important;
  font-family:var(--f-body)!important;font-weight:650!important;font-size:16px!important;text-decoration:none!important;box-shadow:none!important;text-transform:none!important;letter-spacing:.01em!important;white-space:nowrap}
.legacy-content .gh-btn.gh-call{background:var(--ink)!important;color:var(--white)!important;border:1px solid var(--ink)!important}
.legacy-content .gh-btn.gh-est{background:transparent!important;color:var(--ink)!important;border:1px solid var(--ink)!important}
.legacy-content a[style*="FFC845"],.legacy-content a[style*="ffc845"]{background:var(--ink)!important;color:var(--white)!important}
.legacy-content a[style*="0E6E9E"],.legacy-content a[style*="0e6e9e"]{background:transparent!important;color:var(--ink)!important;border:1px solid var(--ink)!important}

/* 1.0.3.5: map + contact form rows (Locations, About Us). The old builder marks this row "full_wide_content" and the
   old theme positioned its form card over the map. Here both stay in normal page flow, so nothing can overlap what
   comes next: map on top and form card below; side by side only where the row is wide enough (About Us on desktop). */
.legacy-content .main-map-section{padding-block:28px}
.legacy-content:not(.prose) .main-map-section{padding-inline:max(var(--gut),env(safe-area-inset-left,0px))}
.legacy-content .main-map-section>.row-inner{margin-inline:auto!important;max-width:1240px}
.legacy-content .main-map-section>.row-inner>.col{padding-inline:0!important;container-type:inline-size}
.legacy-content .main-map-section .col-inner:has(> .home-bottom-form){display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:stretch}
.legacy-content .main-map-section .col-inner:has(> .home-bottom-form) > *{margin:0!important;min-width:0}
.legacy-content .main-map-section .col-inner:has(> .home-bottom-form) > :not(.home-bottom-form){border-radius:var(--r);overflow:hidden;display:flex}
.legacy-content .main-map-section .col-inner:has(> .home-bottom-form) > :not(.home-bottom-form) :is(.ltb_text,.service-area-map){flex:1;display:flex;width:100%}
.legacy-content .main-map-section iframe{display:block;width:100%!important;height:auto!important;min-height:clamp(300px,56vw,460px);flex:1;border:0}
.legacy-content .main-map-section .home-bottom-form{position:static!important;width:auto!important;background:var(--white)!important;border:1px solid var(--stone);border-radius:var(--r);box-shadow:none!important;padding:clamp(20px,3vw,30px) clamp(18px,3vw,28px)!important}
.legacy-content .main-map-section .home-bottom-form :is(h1,h2,h3){font-size:clamp(26px,3vw,32px)!important;margin:0 0 6px!important}
@container (min-width:860px){
  .legacy-content .main-map-section .col-inner:has(> .home-bottom-form){grid-template-columns:minmax(0,1.4fr) minmax(340px,1fr);gap:28px}
}

/* 1.0.3.5: the old builder's accent colours (cyan, one green) brought into the Atelier palette */
/* form header bar ("Schedule your appointment") above the estimate forms on city pages */
.legacy-content .ltb-element-heading:has(+ .ltb-element-text .wpcf7){background:var(--ink)!important;border-radius:var(--r) var(--r) 0 0;padding:14px 18px!important}
.legacy-content .ltb-element-heading:has(+ .ltb-element-text .wpcf7) :is(h1,h2,h3,h4,h5,h6),
.legacy-content .ltb-element-heading:has(+ .ltb-element-text .wpcf7) :is(h1,h2,h3,h4,h5,h6) a:not(.btn){color:var(--white)!important;margin:0!important}
/* service tiles (About Us, landing pages): label bars */
.legacy-content .service-text-block>.col-inner>.ltb-element-heading{background:var(--ink)!important}
.legacy-content .service-text-block>.col-inner>.ltb-element-heading :is(h1,h2,h3,h4,h5,h6),
.legacy-content .service-text-block>.col-inner>.ltb-element-heading :is(h1,h2,h3,h4,h5,h6) a:not(.btn){color:var(--white)!important}
/* icon lists (About Us "Drier Carpets / Reduce Allergens" etc.): the builder plugin positions the icon absolutely on
   desktop, so with the content padding removed it sat on top of the text. Icon back in the flex row (beside the text),
   icon-font glyphs (not loaded) and the cyan circles replaced by the Atelier brass dot used elsewhere. */
.legacy-content .admlbp-list .admlbp-list-icon{position:static!important;top:auto!important}
.legacy-content .admlbp-list-layout-right li{flex-direction:row-reverse}
.legacy-content .admlbp-icon i{display:none!important}
.legacy-content .admlbp-icon-style-circle{background:transparent!important;padding:0!important;width:auto!important;height:auto!important;line-height:1!important}
.legacy-content .carousel-indicators li.active{background:var(--ink)!important;border-color:var(--ink)!important}
/* reviewer names and review titles (dryer-vent city pages) */
.legacy-content :is(.ltb-schema-jobtitle,.ltb-schema-name){color:var(--ink)!important}

/* 1.0.3.6: icon lists on phones and tablets: one reading direction (dot on the left, heading and text left-aligned).
   The builder centred the headings but not the text below them, and mirrored the right-hand column. */
@media (max-width:991.98px){
  .legacy-content .admlbp-list li,.legacy-content .admlbp-list-layout-right li{flex-direction:row}
  .legacy-content .admlbp-list li :is(h1,h2,h3,h4,h5,h6,p){text-align:left!important}
}
/* 1.0.3.6: the dot sits on the first line of its heading or text */
.legacy-content .admlbp-list li{align-items:baseline}
.legacy-content .admlbp-list .admlbp-list-icon{padding-top:0!important}
/* 1.0.3.6: on phones, a column that holds only an empty spacer is decoration for the desktop layout (e.g. the
   vacuum picture between the two About Us lists); stacked, it showed as an odd pale strip, so it is left out. */
@media (max-width:767.98px){.legacy-content .col:has(> .col-inner > .ltb-element-spacer:only-child){display:none!important}}
/* 1.0.3.6: service tiles (photo + label + text + button, About Us and landing pages) as one card: same width as the
   photo, white card with the Atelier border, label centred in its dark bar, no cyan line under the photo. */
.legacy-content .row:has(> .row-inner > .service-text-block){padding:0!important}
.legacy-content .row:has(> .row-inner > .service-text-block)>.row-inner{margin:0!important;padding:0!important}
.legacy-content .service-text-block{background:var(--white)!important;border:1px solid var(--stone);border-top:0;border-radius:0 0 var(--r) var(--r);overflow:hidden}
.legacy-content .service-text-block>.col-inner>.ltb-element-heading{padding:12px 14px!important;margin:0 0 12px!important}
.legacy-content .service-text-block>.col-inner>.ltb-element-heading :is(h1,h2,h3,h4,h5,h6){margin:0!important;line-height:1.3!important}
.legacy-content .col:has(.service-text-block) .ltb-element-image{border-bottom:0!important;border-radius:var(--r) var(--r) 0 0;overflow:hidden}
/* 1.0.3.6: a phone number shown as a heading is a comfortable tap target on phones (at least 44px tall) */
.legacy-content :is(h1,h2,h3,h4,h5,h6) a[href^="tel:"]:not(.btn){display:inline-block;padding-block:8px}

/* ---------- 1.0.3.7: About Us (page 164) on tablets and desktops ----------
   Why: the page is old page-builder content shown inside the new theme.
   - Paragraphs are marked "centred" in the builder, but the builder's own stylesheet
     (.jsn-bootstrap3 .ltb-element-container p{margin:0 0 20px}) overrode the theme's centring rule, so each paragraph
     sat as a narrow block against the left edge under a centred heading.
   - Headings carried the builder's mixed sizes (17px to 32px); body text was 16.5px.
   - Benefits: the builder's blue carpet photo, lists pushed to the outer edges; the right list kept the builder's wide
     right padding (made for a large icon), so its text stopped well short of its dot.
   - Articles: the builder's masonry script placed narrower cards by hand.
   - The 2018 template testimonials were removed from the page content itself (owner decision Oct 19), not by CSS.
   Scope: About Us only, 768px and wider. Phones keep the 1.0.3.6 layout. This file changes layout only:
   links, forms, SEO metadata and tracking are untouched. */
@media (min-width:768px){
  .page-id-164 .legacy-content{--about-measure:64ch}
  /* one reading size for body text */
  .page-id-164 .legacy-content .ltb_text p,
  .page-id-164 .legacy-content .ltb_text p :is(span,em){font-size:18px!important;line-height:1.7!important}
  .page-id-164 .legacy-content .ltb_text p{color:var(--body)!important}
  /* centred paragraphs really centred, at a comfortable line length */
  .page-id-164 .legacy-content .ltb-element-container .ltb_text p{max-width:var(--about-measure);margin-left:auto!important;margin-right:auto!important;text-align:center}
  .page-id-164 .legacy-content .ltb_text p:empty,
  .page-id-164 .legacy-content .ltb_text p:has(> em:only-child:empty){display:none}
  /* one heading scale: small label, then a serif section heading */
  .page-id-164 .legacy-content h6{font-size:12px!important;letter-spacing:.16em!important;color:var(--brass)!important;margin:0 0 14px!important;text-align:center!important}
  .page-id-164 .legacy-content .row h3:not(.admlbp-blog h3){font-family:var(--f-display)!important;font-weight:400!important;font-size:clamp(32px,3.4vw,46px)!important;
    line-height:1.12!important;letter-spacing:-.005em!important;text-transform:none!important;color:var(--ink)!important;text-align:center!important;
    max-width:24ch;margin:0 auto 20px!important;text-wrap:balance}
  .page-id-164 .legacy-content .ltb-element-heading,.page-id-164 .legacy-content .ltb-element-container:has(> h3){text-align:center}
  /* every section on the same centred grid, with even spacing */
  .page-id-164 .legacy-content > .row,.page-id-164 .legacy-content > * > .row{padding-block:clamp(56px,6vw,88px)!important}
  .page-id-164 .legacy-content .row > .row-inner{max-width:1180px!important;margin-inline:auto!important;padding-inline:var(--gut)!important;box-sizing:border-box}
  .page-id-164 .legacy-content .row .row > .row-inner{padding-inline:0!important}
  .page-id-164 .legacy-content > .row > .row-inner > .col > .col-inner > .admlbp-row-wrapper > .row,
  .page-id-164 .legacy-content > .admlbp-row-wrapper > .row > .row-inner > .col > .col-inner > .admlbp-row-wrapper > .row{padding-inline:0!important}
  .page-id-164 .legacy-content > .row > .row-inner > .col > .col-inner > .admlbp-row-wrapper > .row > .row-inner,
  .page-id-164 .legacy-content > .admlbp-row-wrapper > .row > .row-inner > .col > .col-inner > .admlbp-row-wrapper > .row > .row-inner{margin-inline:-20px!important;max-width:none!important}

  /* opening: the lead sentence a little larger, the button with breathing room */
  .page-id-164 .legacy-content .ltb_text p:has(> strong:only-child){font-size:21px!important;color:var(--ink)!important;margin-bottom:22px!important}
  .page-id-164 .legacy-content .ltb_text p:has(> strong:only-child) strong{font-size:inherit!important;font-weight:600}
  .page-id-164 .legacy-content .ltb-element-button{margin-top:12px}

  /* "Expert professional carpet cleaning": text on a light card over the carpet photo, centred */
  .page-id-164 .legacy-content .title-vacuum-cleaner-section .col-inner{max-width:820px;margin-inline:auto;background:rgba(255,253,249,.94);
    border:1px solid var(--stone);border-radius:var(--r);padding:44px 48px!important}

  /* benefits (Drier Carpets ... Tile Cleaning): six even cards (2 columns on tablets, 3 on desktops) on warm cream.
     The blue carpet photo and the decorative vacuum picture belong to the old design and are not shown. */
  .page-id-164 .legacy-content .clean-carpet-section{background:var(--cream)!important}
  .page-id-164 .legacy-content .clean-carpet-section > .admlbp-row-bg-full{display:none!important}
  .page-id-164 .legacy-content .clean-carpet-section > .row-inner{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .page-id-164 .legacy-content .clean-carpet-section > .row-inner::before,
  .page-id-164 .legacy-content .clean-carpet-section > .row-inner::after,
  .page-id-164 .legacy-content .clean-carpet-section .admlbp-list::before,
  .page-id-164 .legacy-content .clean-carpet-section .admlbp-list::after,
  .page-id-164 .legacy-content .clean-carpet-section > .row-inner > .col::before,.page-id-164 .legacy-content .clean-carpet-section > .row-inner > .col::after,
  .page-id-164 .legacy-content .clean-carpet-section .col-inner::before,.page-id-164 .legacy-content .clean-carpet-section .col-inner::after,
  .page-id-164 .legacy-content .clean-carpet-section .ltb-element-list::before,.page-id-164 .legacy-content .clean-carpet-section .ltb-element-list::after,
  .page-id-164 .legacy-content .clean-carpet-section .admlbp-list-instance::before,.page-id-164 .legacy-content .clean-carpet-section .admlbp-list-instance::after{content:none!important;display:none!important}
  .page-id-164 .legacy-content .clean-carpet-section > .row-inner > .col:has(.ltb-element-spacer){display:none!important}
  .page-id-164 .legacy-content .clean-carpet-section > .row-inner > .col:not(:has(.ltb-element-spacer)),
  .page-id-164 .legacy-content .clean-carpet-section > .row-inner > .col:not(:has(.ltb-element-spacer)) > .col-inner,
  .page-id-164 .legacy-content .clean-carpet-section .ltb-element-list,
  .page-id-164 .legacy-content .clean-carpet-section .admlbp-list-instance,
  .page-id-164 .legacy-content .clean-carpet-section .admlbp-list{display:contents!important}
  .page-id-164 .legacy-content .clean-carpet-section .admlbp-list li{display:flex!important;flex-direction:row!important;align-items:baseline;gap:14px;margin:0!important;
    background:var(--white);border:1px solid var(--stone);border-radius:var(--r);padding:28px 28px 26px!important;text-align:left!important;width:auto!important;float:none!important}
  .page-id-164 .legacy-content .clean-carpet-section .admlbp-list-content-wrap{padding:0!important;margin:0!important;width:auto!important;flex:1;text-align:left!important}
  .page-id-164 .legacy-content .clean-carpet-section .admlbp-list-content-wrap :is(h4,p){width:auto!important;max-width:none!important;text-align:left!important;margin-inline:0!important;padding:0!important}
  .page-id-164 .legacy-content .clean-carpet-section h4{font-family:var(--f-display)!important;font-weight:400!important;font-size:25px!important;line-height:1.2!important;color:var(--ink)!important;margin:0 0 8px!important;text-transform:none!important}
  .page-id-164 .legacy-content .clean-carpet-section .admlbp-list-content-wrap p{font-size:17px!important;line-height:1.65!important;color:var(--body)!important;margin:0!important}
  .page-id-164 .legacy-content .clean-carpet-section .admlbp-list-icon{position:static!important;flex:0 0 auto;padding:0!important;margin:0!important}

  /* service tiles: text centred, buttons lined up along the bottom of each card */
  .page-id-164 .legacy-content .service-text-block > .col-inner{display:flex;flex-direction:column;height:100%}
  .page-id-164 .legacy-content .service-text-block .ltb_text p,
  .page-id-164 .legacy-content .service-text-block .ltb_text p :is(span,em){font-size:16.5px!important;line-height:1.6!important}
  .page-id-164 .legacy-content .service-text-block .ltb_text p{padding-inline:20px}
  .page-id-164 .legacy-content .service-text-block .ltb-element-container:has(.btn){margin-top:auto;padding-bottom:22px}
  .page-id-164 .legacy-content .row:has(.service-text-block) .row-inner.admlbp-row-col-same_height{height:100%}

  /* "Call us now" card: everything centred, the number as the main action */
  .page-id-164 .legacy-content .home-overflow-section{max-width:1084px;margin-inline:auto!important;border:1px solid var(--stone);border-radius:var(--r);box-shadow:none!important;padding-block:56px!important}
  .page-id-164 .legacy-content .home-overflow-section > .row-inner{padding-inline:48px!important}

  /* latest articles: three even cards on the same grid (the old masonry script placed them by hand, narrower) */
  .page-id-164 .legacy-content ul.admlbp-blog{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;height:auto!important;margin:0!important;padding:0!important;list-style:none}
  .page-id-164 .legacy-content ul.admlbp-blog::before,.page-id-164 .legacy-content ul.admlbp-blog::after{content:none!important;display:none!important}
  .page-id-164 .legacy-content ul.admlbp-blog > li{position:static!important;left:auto!important;top:auto!important;transform:none!important;width:auto!important;float:none!important;padding:0!important;margin:0!important}
  .page-id-164 .legacy-content .admlbp-blog-item{height:100%;margin:0!important;background:var(--white)!important;border:1px solid var(--stone)!important;border-radius:var(--r);overflow:hidden;box-shadow:none!important}
  .page-id-164 .legacy-content .admlbp-blog-img{display:block;margin:0!important;border:0!important}
  .page-id-164 .legacy-content .admlbp-blog-img img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
  .page-id-164 .legacy-content .admlbp-blog-item-inner{padding:22px 24px 26px!important}
  .page-id-164 .legacy-content .admlbp-blog-item-inner p{font-size:16.5px!important;line-height:1.6!important;text-align:left!important;margin:0!important;max-width:none!important}
  .page-id-164 .legacy-content .admlbp-blog h3,.page-id-164 .legacy-content .admlbp-blog h3 a{font-family:var(--f-display)!important;font-weight:400!important;font-size:24px!important;line-height:1.2!important;text-align:left!important;color:var(--ink)!important;text-decoration:none!important}

  /* contact form card: its intro line aligned with its heading */
  .page-id-164 .legacy-content .home-bottom-form .ltb_text p{text-align:left!important;margin-left:0!important;max-width:none}
}
@media (min-width:1100px){
  .page-id-164 .legacy-content .clean-carpet-section > .row-inner{grid-template-columns:repeat(3,minmax(0,1fr))}
}
