/* Full-bleed homepage photography, shared across the four Rock trades. */
.home-hero {
 position:relative; isolation:isolate; overflow:hidden;
 display:flex; align-items:center; min-height:0;
 background:#1e1420; color:#fff;
}
.home-hero__media { position:absolute; inset:0; z-index:-2; }
.home-hero__media img {
 width:100%; height:100%; max-width:none; object-fit:cover;
 object-position:var(--home-hero-position);
}
.home-hero::after {
 content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
 background:linear-gradient(90deg,rgba(23,13,26,.94) 0%,rgba(28,14,31,.87) 28%,rgba(28,14,31,.65) 48%,rgba(25,13,29,.16) 76%,rgba(25,13,29,.08) 100%),linear-gradient(0deg,rgba(23,13,26,.25),transparent 40%);
}
.home-hero__content { position:relative; padding-block:clamp(40px,6svh,64px); }
.home-hero__copy { max-width:780px; }
.home-hero .home-hero__eyebrow {
 color:var(--mint); font-size:12px; letter-spacing:.14em;
 font-weight:700; margin:0 0 18px; line-height:1.6;
}
.home-hero__heading {
 font-size:clamp(48px,4.8vw,72px); font-weight:800; line-height:1.02;
 letter-spacing:-.055em; margin:0 0 24px; max-width:780px;
 text-wrap:balance;
}
.home-hero__heading>span,.home-hero__heading>em { display:block; }
.home-hero__heading>em { color:var(--mint); font-style:normal; }
.home-hero__description {
 max-width:640px; font-size:17px; line-height:1.55; color:#f0eaf1;
 margin:0 0 26px; text-wrap:pretty;
}
.home-hero__actions { display:flex; flex-direction:column; align-items:stretch; gap:8px; width:min(100%,320px); }
.home-hero__actions .button { min-height:56px; font-size:18px; }
.home-hero__actions .text-link {
 color:#fff; width:100%; min-height:44px; display:flex; align-items:center;
 justify-content:center; text-align:center; font-size:16px; font-weight:600;
 text-decoration:none; transition:color .15s ease;
}
.home-hero__actions .text-link:hover { color:var(--mint); text-decoration:none; }
.home-hero__actions .text-link:focus-visible { outline-color:var(--mint); }
.home-hero__mascot {
 position:absolute; width:60px; height:auto; right:var(--rock-gutter); bottom:32px;
 pointer-events:none;
}
/* Let the desktop lead use the available width instead of balancing into two lines. */
.home-hero__lead > span { text-wrap:wrap; }
@media(min-width:951px) {
 .home-hero__content { padding-block:clamp(68px,9svh,92px); }
 .home-hero .home-hero__eyebrow { margin-bottom:24px; }
 .home-hero__heading { line-height:1.06; margin-bottom:32px; }
 .home-hero__description { margin-bottom:34px; }
 .home-hero__actions { gap:12px; }
 .home-hero__heading > .home-hero__lead { position:relative; width:max-content; }
 .home-hero__mascot { width:clamp(104px,7.2vw,120px); top:0; bottom:auto; right:auto; left:calc(100% + .4em); }
 .plumbing .home-hero__lead > span { white-space:nowrap; }
 /* HVAC's second line is wider than its lead, so Rocky clears the whole heading instead of covering "Cooling". */
 .hvac .home-hero__heading { position:relative; width:max-content; }
 .hvac .home-hero__heading > .home-hero__lead { position:static; width:auto; }
}
@media(max-width:950px) {
 .home-hero__media img { object-position:var(--home-hero-mobile-position); }
 .home-hero::after {
  background:linear-gradient(180deg,rgba(23,13,26,.42) 0%,rgba(23,13,26,.58) 25%,rgba(23,13,26,.72) 65%,rgba(23,13,26,.82) 100%);
 }
 .home-hero__content { padding-block:clamp(36px,5svh,48px); }
 .home-hero__copy { max-width:680px; }
 .home-hero__heading { font-size:clamp(48px,8vw,68px); max-width:none; margin-bottom:20px; }
 .home-hero__heading > .home-hero__lead { display:flex; align-items:flex-start; justify-content:flex-start; gap:.2em; }
 .home-hero__lead > span { min-width:0; flex:0 1 auto; }
 .home-hero__description { max-width:620px; font-size:16px; line-height:1.5; margin-bottom:22px; }
 .home-hero .home-hero__eyebrow { font-size:11px; margin-bottom:14px; }
 .home-hero__mascot { position:static; flex:none; width:84px; height:auto; align-self:flex-start; }
}
@media(max-width:540px) {
 .home-hero__content { padding-block:clamp(28px,4.5svh,36px); }
 .home-hero__heading { font-size:clamp(40px,11.4vw,60px); line-height:1.04; letter-spacing:-.05em; margin-bottom:18px; }
 .home-hero__heading > .home-hero__lead { gap:.2em; }
 /* Hug the existing two-line lead rather than reserving its ragged right edge. */
 :is(.plumbing,.electrical,.appliance) .home-hero__lead > span { width:min-content; }
 .home-hero__mascot { width:clamp(64px,18vw,84px); }
 .home-hero__description { font-size:15px; line-height:1.5; margin-bottom:20px; }
 .home-hero__actions { width:100%; gap:8px; }
 .home-hero__actions .button { min-height:52px; }
}
/* Short viewports get less air, never clipped text or a hidden call action. */
@media(max-height:720px) and (min-width:951px) {
 .home-hero__content { padding-block:56px; }
 .home-hero__mascot { width:104px; }
 .home-hero__heading { font-size:48px; margin-bottom:26px; }
 .home-hero__description { font-size:16px; line-height:1.5; margin-bottom:26px; }
 .home-hero .home-hero__eyebrow { margin-bottom:18px; }
}
@media(max-height:650px) and (max-width:950px) {
 .home-hero__content { padding-block:22px; }
 .home-hero__heading { margin-bottom:16px; }
 .home-hero__description { line-height:1.5; margin-bottom:16px; }
 .home-hero .home-hero__eyebrow { margin-bottom:12px; }
}

/* The hidden attribute must win over the fixed mobile bar display rule. */
.mobile-call-bar[hidden] { display:none; }

/* Keep the proof strip in one swipeable row on mobile. */
@media (max-width:950px) {
 .cheers-social-proof-2 .cheers-social-proof-2__list {
  display:flex; align-items:stretch; width:100%; max-width:100%;
  margin:0; padding:14px var(--rock-gutter); overflow-x:auto;
  overscroll-behavior-x:contain; scroll-snap-type:x proximity;
  scroll-padding-inline:var(--rock-gutter); scrollbar-width:none;
  touch-action:pan-x pan-y pinch-zoom;
 }
 .cheers-social-proof-2__list::-webkit-scrollbar { display:none; }
 .cheers-social-proof-2 .cheers-social-proof-2__item:nth-child(n) {
  flex:0 0 min(82vw,340px); grid-column:auto; border:0;
  scroll-snap-align:start;
 }
 .cheers-social-proof-2 .cheers-social-proof-2__item + .cheers-social-proof-2__item::before {
  display:block; height:40px;
 }
 .cheers-social-proof-2 .cheers-social-proof-2__item:nth-child(n) .cheers-social-proof-2__body {
  min-height:84px; justify-content:flex-start; gap:12px;
  padding:12px; border-radius:0;
 }
 .cheers-social-proof-2 .cheers-social-proof-2__visual {
  display:grid; place-items:center; width:70px; height:56px; flex:0 0 70px;
 }
 .cheers-social-proof-2 .cheers-social-proof-2__copy strong { font-size:14px; line-height:1.3; }
 .cheers-social-proof-2 .cheers-social-proof-2__copy small { font-size:12px; line-height:1.4; }
 .cheers-social-proof-2 .cheers-social-proof-2__body:hover { transform:none; }
 .cheers-social-proof-2__list:focus-visible { outline:2px solid var(--purple); outline-offset:-2px; }
}

/* One short receiver wiggle per desktop hover; the number stays still. */
.header .nav-call,
.header .nav-call:hover { text-decoration:none; }
.nav-call__icon { width:20px; height:20px; flex:none; transform-origin:center; }
@media (min-width:951px) {
 .header .nav-call { display:inline-flex; align-items:center; gap:10px; }
}
@media (min-width:951px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .header .nav-call:hover .nav-call__icon { animation:rock-phone-wiggle .42s ease-in-out 1; }
}
@keyframes rock-phone-wiggle {
 0%,100% { transform:rotate(0deg); }
 30% { transform:rotate(-15deg); }
 65% { transform:rotate(13deg); }
}

/* Continuous motion uses native scrollLeft so manual scrolling takes over in place. */
@media (max-width:950px) {
 .cheers-social-proof-2__list[data-carousel-loop] {
  scroll-snap-type:none; scroll-behavior:auto; overflow-anchor:none; cursor:grab;
 }
 .cheers-social-proof-2__list.is-dragging,
 .cheers-social-proof-2__list.is-dragging .cheers-social-proof-2__body {
  cursor:grabbing; user-select:none;
 }
}
/* Trade-site tokens and component scale, adapted to the preserved parent content. */
:root{--purple:#841b80;--purple-dark:#451044;--mint:#87d8c8;--ink:#231e26;--paper:#fbfaf8;--muted:#625b65;--line:#ddd8df;--rock-gutter:clamp(24px,4vw,64px)}
body.rock-parent-design{background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;--e-global-color-primary:#841b80;--e-global-color-secondary:#231e26;--e-global-color-text:#625b65;--e-global-color-accent:#87d8c8}
.rock-parent-design *{box-sizing:border-box}.rock-parent-design .wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}.rock-parent-design .section{padding-block:76px}.rock-parent-design .eyebrow{font-size:12px;letter-spacing:.12em;font-weight:800;text-transform:uppercase;color:var(--purple)}
.rock-parent-design :is(h1,h2,h3,h4,.elementor-heading-title,.elementskit-section-title){font-family:Inter,Arial,sans-serif!important;letter-spacing:-.045em!important;font-weight:800!important;line-height:1.1!important}
.rock-parent-design h1{font-size:clamp(40px,4.8vw,70px)}.rock-parent-design h2{font-size:clamp(30px,3.4vw,48px)}.rock-parent-design h3{font-size:24px}.rock-parent-design :is(p,li){font-family:Inter,Arial,sans-serif;line-height:1.7}
.rock-parent-design a:focus-visible,.rock-parent-design button:focus-visible,.rock-parent-design summary:focus-visible{outline:3px solid var(--purple);outline-offset:4px}
.rock-parent-design :is(h1,h2,h3,h4) a:after{display:none!important}.rock-parent-design :is(h1,h2,h3,h4) a:hover{text-decoration:none!important;color:var(--purple)}
.rock-parent-design .elementor>.e-con.e-parent{padding-block:68px}.rock-parent-design .elementor>.e-con.e-parent>.e-con-inner{max-width:1240px;gap:36px}.rock-parent-design .elementor-widget-text-editor{font-size:17px}.rock-parent-design .ekit-heading__description{max-width:760px}
.rock-parent-design :is(.button,.elementskit-btn,.elementor-button,.wpcf7-submit,#rock-contact-send){display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:16px 24px;border:0;border-radius:5px;background:var(--mint)!important;color:#173d35!important;font:750 18px/1.3 Inter,Arial,sans-serif;text-decoration:none!important;box-shadow:none;cursor:pointer}.rock-parent-design :is(.button,.elementskit-btn,.elementor-button,.wpcf7-submit,#rock-contact-send):hover{background:#71c8b7!important;color:#173d35!important;transform:none}.rock-parent-design :is(.button,.elementskit-btn,.elementor-button):before{display:none!important}
.rock-parent-design .text-link{font-size:17px;font-weight:700;text-decoration:none}.rock-parent-design .text-link:hover{color:var(--purple)}
.rp-header{position:sticky;top:0;z-index:100;background:var(--purple);color:white;border:0}.rp-nav{width:min(1340px,calc(100% - 80px));min-height:104px;margin:auto;display:flex;gap:36px;align-items:center;justify-content:space-between}.rp-brand img{width:185px;height:auto;display:block}.rp-nav nav{display:flex;gap:28px;align-items:center}.rp-nav :is(a,summary){font-size:16px;font-weight:650;color:#fff;text-decoration:none!important}.rp-nav :is(a,summary):hover{color:var(--mint)}.rp-nav a:after{display:none!important}.rp-nav :is(a,summary,button):focus-visible{outline-color:var(--mint)}.rp-phone{display:inline-flex;align-items:center;gap:10px;color:var(--mint)!important;font-size:20px!important;white-space:nowrap}.rp-phone:hover svg{animation:rp-ring .45s 1}@keyframes rp-ring{25%{transform:rotate(-12deg)}55%{transform:rotate(12deg)}80%{transform:rotate(-6deg)}}
.rp-disclosure{position:relative}.rp-disclosure summary{display:flex;gap:12px;align-items:center;list-style:none;cursor:pointer;padding-block:24px}.rp-disclosure summary::-webkit-details-marker{display:none}.rp-disclosure summary span{font-size:26px;display:block;transition:transform .2s}.rp-disclosure[open] summary span{transform:rotate(90deg)}.rp-disclosure>div{position:absolute;top:100%;left:-24px;min-width:240px;background:white;padding:16px 24px;box-shadow:0 16px 32px #211b2426;border-radius:0 0 8px 8px}.rp-disclosure>div a{display:block;padding:12px 0;color:var(--ink)}.rp-disclosure>div a:hover{color:var(--purple)}.rp-menu{display:none}
.rock-parent-design .home-hero{margin:0;width:100%;padding:0;min-height:0}.rock-parent-design .home-hero__heading{color:#fff!important}.rock-parent-design .home-hero__heading em{color:var(--mint)!important;font-style:normal}.rock-parent-design .home-hero__content{padding-block:72px}.home-hero__media img{display:block}.home-hero__video{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.home-hero__video[hidden]{display:none}.home-hero__actions .text-link{background:transparent;border:0;color:white;cursor:pointer}.home-hero__actions .text-link:hover{background:transparent;color:var(--mint)}.home-hero__mascot{max-width:100%;height:auto}
.rp-footer{padding:64px max(24px,calc((100vw - 1240px)/2)) 28px;background:#211b24;color:#fff}.rp-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:64px}.rp-footer img{width:190px;height:auto}.rp-footer h3{font-size:18px!important;color:white}.rp-footer p{color:#c3bbc7;font-size:15px}.rp-footer-grid>div>a:not(:first-child){display:block;margin-bottom:12px;color:#e0dae2;font-size:15px}.rp-footer a:hover{color:var(--mint)!important}.rp-footer .rp-footer-phone{font-size:24px!important;color:var(--mint)!important}.rp-footer-bottom{display:flex;gap:24px;flex-wrap:wrap;border-top:1px solid #564b5b;padding-top:24px;margin-top:48px;font-size:13px;color:#c3bbc7}.rp-footer-bottom span{margin-right:auto}
.rp-support{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px}.rp-support>a{padding:32px;background:#f0ebf1;border-top:3px solid var(--purple);color:var(--ink);text-decoration:none}.rp-support>a:hover{background:#e7f5f0}.rp-support>a span{font-weight:700;color:var(--purple)}.rp-inner{background:#eee9ef;padding:70px 0}.rp-inner h1{max-width:900px}.rp-inner p{max-width:720px;font-size:18px}.extras-split{display:grid;grid-template-columns:1.4fr 1fr;gap:64px}.extras-card{background:#e5f4ef;padding:36px;border-radius:5px}.extras-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 36px;padding-left:22px}.extras-grid li{padding:14px 0;border-bottom:1px solid var(--line)}.extras-partners{padding-left:24px}.extras-credit{margin-top:40px}.extras-steps ol{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-left:24px}.extras-payments{margin-top:48px}.extras-payments ul{display:flex;gap:32px;flex-wrap:wrap;padding-left:20px}.rock-parent-design :is(input,select,textarea){border:1px solid #cec5d0;border-radius:4px;min-height:48px}
@media(max-width:1050px){.rp-nav{width:calc(100% - 48px);gap:20px}.rp-nav nav{gap:18px}.rp-phone span{display:none}.rp-brand img{width:165px}}
@media(max-width:950px){.rock-parent-design .wrap{width:calc(100% - 40px)}.rp-nav{display:grid;grid-template-columns:44px 1fr 44px;grid-template-areas:'menu brand phone';min-height:86px;width:calc(100% - 40px);gap:12px;position:relative}.rp-brand{grid-area:brand;justify-self:center}.rp-brand img{width:144px}.rp-phone{grid-area:phone;justify-self:end;min-height:44px}.rp-menu{grid-area:menu;display:grid;place-items:center;min-width:44px;min-height:44px;padding:10px;background:transparent;border:0;color:white}.rp-menu span{position:relative;width:22px;height:18px}.rp-menu span:before,.rp-menu span:after{content:'';position:absolute;left:0;top:8px;width:22px;height:2px;background:white;transition:transform .2s}.rp-menu span:before{transform:translateY(-4px)}.rp-menu span:after{transform:translateY(4px)}.rp-menu[aria-expanded=true] span:before{transform:rotate(45deg)}.rp-menu[aria-expanded=true] span:after{transform:rotate(-45deg)}.rp-nav nav{display:none;position:absolute;top:100%;left:-20px;right:-20px;background:var(--purple);padding:16px 24px 24px;max-height:calc(100dvh - 86px);overflow:auto}.rp-nav nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.rp-nav nav>a{padding:16px 0}.rp-disclosure summary{padding:16px 0;justify-content:space-between}.rp-disclosure>div{position:static;background:transparent;box-shadow:none;padding:0 16px 12px;border:0}.rp-disclosure>div a{color:white}.rock-parent-design .home-hero__content{padding-block:36px 76px}.rock-parent-design .home-hero__heading{font-size:44px!important}.rock-parent-design .home-hero__mascot{width:64px}.rock-parent-design .elementor>.e-con.e-parent{padding-block:36px}.rock-parent-design .elementor>.e-con.e-parent>.e-con-inner{gap:24px}.rock-parent-design .section{padding-block:40px}.rp-footer-grid{grid-template-columns:1fr 1fr;gap:32px}.rp-footer-grid>div:first-child{grid-column:1/-1}.rp-support,.extras-split,.extras-grid,.extras-steps ol{grid-template-columns:1fr;gap:24px}.rp-support>a,.extras-card{padding:24px}.rp-inner{padding:36px 0}.rock-parent-design .text-link{justify-content:center;text-align:center}.rock-parent-design .elementor-widget-text-editor{font-size:16px}.rp-footer{padding-top:44px}.home-hero__video{object-position:50% center}}
@media(prefers-reduced-motion:reduce){.rp-phone:hover svg{animation:none}.rp-disclosure summary span,.rp-menu span:before,.rp-menu span:after{transition:none}}
.rock-parent-design .home-hero .eyebrow{color:var(--mint)}.rock-parent-design .home-hero__actions .se-booking-show-rev{text-transform:none!important}.rp-footer-services{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding-top:36px}.rp-footer-services summary{cursor:pointer;font-weight:700;padding:12px 0}.rp-footer-services a{display:block;color:#c3bbc7;padding:8px 0;font-size:14px}.rp-social{display:flex;gap:24px;flex-wrap:wrap;margin-top:28px;color:#c3bbc7;font-size:14px}@media(max-width:700px){.rp-footer-services{grid-template-columns:1fr;gap:8px}}

/* Let preserved desktop card/button content reflow instead of clipping on phones. */
.rock-parent-design :is(.elementor-widget,.e-con,.e-con-inner,.box-body,.box-footer,.btn-wraper){min-width:0}
.rock-parent-design :is(.elementskit-btn,.elementor-button,.se-booking-show,.se-booking-show-rev){max-width:100%;white-space:normal!important;overflow-wrap:break-word;text-align:center}
.rock-parent-design .elementor-button-content-wrapper{min-width:0;max-width:100%}
.rock-parent-design .elementor-button-text{white-space:normal;overflow-wrap:break-word}
.rock-parent-design .se-booking-show{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:16px 24px;border:0;border-radius:5px;background:var(--mint);color:#173d35;font:750 18px/1.4 Inter,Arial,sans-serif;cursor:pointer}

.rock-parent-design .elementor-element-1415f59{background:var(--paper)!important;padding:48px 24px!important}
.rock-parent-design .elementor-element-1415f59>.e-con-inner{width:100%;padding:0!important}
.rock-parent-design .elementor-element-aaa4681{background:var(--purple-dark)!important;margin:0!important;padding:40px!important;border-radius:8px}
.rock-parent-design .elementor-element-1415f59 :is(.elementor-element-4dca66a,.elementor-element-ce1e385){gap:24px!important;align-items:center!important}
.rock-parent-design .elementor-element-1415f59 h2{margin:0!important;color:#fff!important}
.rock-parent-design .elementor-element-1415f59 :is(.elementor-element-427aef8,.elementor-element-5e29701){width:auto!important;flex:1;min-width:0}
.rock-parent-design .elementor-element-1415f59 .elementor-widget-text-editor{margin:0!important}

/* The same reviews and map component contracts as the four trade sites. */
.rock-parent-design .cheers-reviews{--cheers-reviews-font:Inter,Arial,sans-serif;--cheers-reviews-heading-font:Inter,Arial,sans-serif;--cheers-reviews-background:var(--purple-dark);--cheers-reviews-text:#fff;--cheers-reviews-strong:#fff;--cheers-reviews-muted:#e0d0e1;--cheers-reviews-accent:var(--mint);--cheers-reviews-card-background:#5c215b;--cheers-reviews-card-hover:#6d2b6b;--cheers-reviews-border:#784576;--cheers-reviews-focus:var(--mint);--cheers-reviews-max-width:1288px}
.rock-parent-design .cheers-reviews .eyebrow{color:var(--mint)}
.rock-parent-design .cheers-reviews :is(h2,h3){color:#fff!important}
.rock-parent-design .cheers-reviews .cheers-review-card{flex-basis:350px;min-height:300px;height:auto;max-height:none;padding:26px}
.rock-parent-design .cheers-review-card h3{font-size:22px;margin:24px 0 12px}
.rock-parent-design .cheers-review-card blockquote{margin:0;padding:0;border:0;max-height:none;overflow:visible}
.rock-parent-design .cheers-review-card blockquote p{display:block;overflow:visible;font-size:16px;line-height:1.65;-webkit-line-clamp:unset;line-clamp:unset}
.rp-review-rating{color:#ffc34d;letter-spacing:2px;margin-top:6px}
.rp-review-photo{width:48px;height:48px;object-fit:cover;border-radius:50%}
.rp-map-section{background:#edf7f3;padding-top:56px;scroll-margin-top:110px}
.rp-map-regions{display:flex;gap:4px;align-items:center}
.rp-map-regions a{padding:12px 20px;border-radius:5px;color:var(--purple-dark);font-weight:700;text-decoration:none;border:1px solid #d2c6d6}
.rp-map-regions a[aria-current=true]{background:var(--purple);color:#fff}
.rock-parent-design .cheers-service-area-map{--cheers-service-area-map-background:#edf7f3;--cheers-service-area-map-font:Inter,Arial,sans-serif;--cheers-service-area-map-accent:var(--purple);--cheers-service-area-map-section-padding:32px;scroll-margin-top:110px}
.rock-parent-design .cheers-service-area-map[hidden]{display:none!important}
.rock-parent-design .cheers-service-area-map__inner{width:min(1240px,calc(100% - 96px));gap:32px}
.rock-parent-design .cheers-service-area-map__map-shell{border-radius:8px;overflow:hidden}
.rock-parent-design .cheers-service-area-map__links a{min-height:44px}
@media(max-width:950px){
 .rock-parent-design .elementskit-infobox{padding:24px!important}
 .rock-parent-design .elementskit-infobox .box-footer{margin-top:24px!important}
 .rock-parent-design .elementskit-infobox .elementskit-btn{width:100%!important;margin:0!important;padding:16px!important;font-size:18px!important;line-height:1.4!important}
 .rock-parent-design .elementor-element-1415f59{padding:32px 20px!important}
 .rock-parent-design .elementor-element-aaa4681{padding:28px 24px!important}
 .rock-parent-design .elementor-element-1415f59 :is(.elementor-element-4dca66a,.elementor-element-ce1e385){flex-direction:column!important;align-items:stretch!important}
 .rock-parent-design .elementor-element-1415f59 :is(.elementor-element-427aef8,.elementor-element-5e29701){width:100%!important;flex:auto}
 .rock-parent-design .elementor-element-1415f59 .se-booking-show{width:100%;font-size:16px!important;padding:16px!important}
 .rock-parent-design .cheers-reviews{padding:44px 0}
 .rock-parent-design .cheers-reviews>.wrap{width:100%;padding:0 20px}
 .rock-parent-design .cheers-reviews .cheers-review-card{flex-basis:min(82vw,330px);padding:22px;min-height:0}
 .rock-parent-design .cheers-reviews .review-ticker-frame:before,.rock-parent-design .cheers-reviews .review-ticker-frame:after{display:none}
 .rock-parent-design .cheers-service-area-map__inner{width:calc(100% - 40px);gap:24px}
 .rp-map-section{padding-top:32px}
}
/* Reset inherited WordPress quotation and portrait rules inside the shared component. */
.rock-parent-design .cheers-reviews .cheers-review-person{display:flex;align-items:center;gap:12px}
.rock-parent-design .cheers-reviews .rp-review-photo{width:48px!important;height:48px!important;max-width:48px!important;border-radius:50%!important;object-fit:cover}
.rock-parent-design .cheers-reviews .cheers-review-card blockquote{border:0!important;padding:0!important;margin:0!important;background:none!important;color:inherit!important}
.rock-parent-design .cheers-reviews .cheers-review-card blockquote:before,.rock-parent-design .cheers-reviews .cheers-review-card blockquote:after{display:none!important}
.rock-parent-design .cheers-reviews .cheers-review-card blockquote p{font:400 16px/1.65 Inter,Arial,sans-serif!important;text-align:left!important}
.rock-parent-design .cheers-reviews .cheers-review-card h3{font-size:22px!important;white-space:normal;overflow:visible;text-overflow:clip}
.rock-parent-design .cheers-service-area-map__search button,.rock-parent-design .cheers-service-area-map__action{background:var(--mint)!important;color:#173d35!important;border-radius:5px!important;font:700 16px/1.4 Inter,Arial,sans-serif!important;text-transform:none!important;min-height:48px}
.rock-parent-design .cheers-service-area-map__search input{background:#fff!important;color:var(--ink);font:400 16px/1.5 Inter,Arial,sans-serif}
.rock-parent-design .cheers-service-area-map__more{font-size:16px}
@media(max-width:950px){.rock-parent-design .elementor-invisible{visibility:visible!important}.rock-parent-design .animated{animation:none!important}.rock-parent-design #booking-banner{scroll-margin-top:110px}}
.rock-parent-design .elementor-element-1415f59 :is(.elementor-element-b600384,.elementor-element-4dca66a,.elementor-element-ce1e385){padding:0!important}
.rock-parent-design .elementor-element-1415f59 .se-booking-show{box-shadow:none!important}
.rp-social a,.rp-footer-bottom a{color:#c3bbc7}
.rock-parent-design .cheers-reviews .cheers-reviews-heading-copy>p:not(.eyebrow){color:#e0d0e1!important;font-size:16px;line-height:1.65}

/* Four direct trade links lead the parent navigation on desktop and mobile. */
@media(min-width:951px){
 .rp-nav{gap:24px}
 .rp-nav nav{gap:18px}
 .rp-nav nav :is(a,summary){font-size:14px;white-space:nowrap}
}
@media(min-width:951px) and (max-width:1200px){
 .rp-nav{width:calc(100% - 48px);gap:16px}
 .rp-brand img{width:145px}
 .rp-nav nav{gap:12px}
 .rp-nav nav :is(a,summary){font-size:13px}
 .rp-phone span{display:none}
}

/* Preserve the text-link design while using ServiceTitan's functional trigger. */
.rock-parent-design .home-hero__actions .text-link.se-booking-show{background:transparent!important;color:white!important;min-height:44px;padding:10px 0;border:0;box-shadow:none;font:700 17px/1.5 Inter,Arial,sans-serif}
.rock-parent-design .home-hero__actions .text-link.se-booking-show:hover{color:var(--mint)!important}
