/* ==========================================================================
   BR House Cleaning - Pixel-Perfect Wix Replica Stylesheet + Responsive Mobile
   ========================================================================== */

:root {
  --color-teal-nav: #01B1AF;
  --color-blue-dark: #187D99;
  --color-blue-med: #48AECB;
  --color-blue-light: #5FC6E3;
  --color-blue-pale: #CBEAF2;
  --color-royal-blue: #27359E;
  --color-slate-dark: #222A36;
  --color-slate-text: #324157;
  --color-slate-muted: #567199;
  --color-slate-light: #8FA1BA;
  --color-green-accent: #16945D;
  --color-green-dark: #0B4A2F;
  --color-pink-ribbon: #F27979;
  --color-white: #FFFFFF;
  --color-black: #000000;
  --font-serif: 'Noticia Text', Georgia, serif;
  --font-didot: 'GFS Didot', 'Didot', 'Bodoni MT', 'Noticia Text', Georgia, serif;
  --font-nav: Georgia, Palatino, 'Book Antiqua', 'Palatino Linotype', serif;
  --font-sans: 'Open Sans', Arial, Helvetica, sans-serif;
  --container-width: 980px;
}

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  font-family: var(--font-sans);
  color: var(--color-slate-text);
  background-color: var(--color-white);
  line-height: 1.4;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

ul {
  list-style: none;
}

.wix-container {
  width: 100%;
  max-width: var(--container-width);
  margin: 0 auto;
  position: relative;
}

/* ==========================================================================
   1. HEADER (#SITE_HEADER) - Exact Wix Mesh Coordinates
   ========================================================================== */
.site-header {
  width: 100%;
  background-color: var(--color-white);
  position: relative;
  z-index: 100;
}

.header-top {
  max-width: var(--container-width);
  margin: 0 auto;
  height: 177px;
  position: relative;
}

/* comp-iwy9novo: left 31px, top 0px, 168x169 */
.header-logo-wrap {
  position: absolute;
  left: 31px;
  top: 0;
  width: 168px;
  height: 169px;
  z-index: 2;
}

.header-logo-wrap img.main-logo {
  width: 168px;
  height: 169px;
  object-fit: cover;
}

/* comp-iwybm2xw: left 78px, top 150px, 42x29 (water bubbles under logo) */
.header-logo-bubbles {
  position: absolute;
  left: 78px;
  top: 150px;
  width: 42px;
  height: 29px;
  z-index: 3;
  pointer-events: none;
}

.header-logo-bubbles img {
  width: 42px;
  height: 29px;
  object-fit: contain;
}

/* comp-iud4t5zv: left 591px, top 50px, width 360px */
.header-quote-title {
  position: absolute;
  left: 591px;
  top: 50px;
  width: 360px;
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  font-size: 25px;
  line-height: 1.4em;
  color: var(--color-blue-med);
  letter-spacing: 0;
  white-space: nowrap;
}

/* comp-iud4u1re: left 591px, top 93px, width 186px */
.header-phone-link {
  position: absolute;
  left: 591px;
  top: 93px;
  width: 186px;
  font-family: var(--font-serif);
  font-style: normal;
  font-weight: 700;
  font-size: 25px;
  line-height: 1.4em;
  color: var(--color-black);
  white-space: nowrap;
  transition: color 0.2s ease;
}

.header-phone-link:hover {
  color: var(--color-blue-dark);
}

/* comp-klk4aumb: left 794px, top 85px, 156x64 */
.header-bbb {
  position: absolute;
  left: 794px;
  top: 85px;
  width: 156px;
  height: 64px;
}

.header-bbb img {
  width: 156px;
  height: 64px;
  object-fit: cover;
}

/* ==========================================================================
   2. NAVIGATION BAR (#DrpDwnMn0-5s3) - Exact Wix 3D Glossy Aqua Skin
   ========================================================================== */
.nav-bar-wrapper {
  width: 100%;
  height: 83px;
  background: rgb(1, 177, 175) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGuCAYAAABRKGwGAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAABNSURBVHja7IyxDcBACANt/0DZf7hA6qAHpXql8BUnjAzIzEsAlgDkW/Exlqn07s1ZjF/aiC7Csk5pkYQxxvwLapLGXZm06WmM7M7iGQB7rSiuF/oKBQAAAABJRU5ErkJggg==") repeat-x center top;
  box-shadow: 0px 2px 3px 0px rgba(162, 158, 158, 0.6);
  position: relative;
  z-index: 99;
}

.nav-bar-inner {
  width: 100%;
  height: 83px;
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGuCAYAAABRKGwGAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAABNSURBVHja7IyxDcBACANt/0DZf7hA6qAHpXql8BUnjAzIzEsAlgDkW/Exlqn07s1ZjF/aiC7Csk5pkYQxxvwLapLGXZm06WmM7M7iGQB7rSiuF/oKBQAAAABJRU5ErkJggg==") repeat-x center bottom;
}

.nav-container {
  max-width: var(--container-width);
  margin: 0 auto;
  height: 83px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nav-menu {
  display: flex;
  align-items: stretch;
  justify-content: center;
  height: 83px;
}

.nav-item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 83px;
  border-left: 1px solid rgb(1, 177, 175);
  background-color: rgb(1, 177, 175);
}

.nav-item:first-child {
  border-left: none;
}

/* Wix dual-layer glossy overlays (.xzjkoO top + ._YY7B8 bottom) */
.nav-item::before,
.nav-item::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGuCAYAAABRKGwGAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAABNSURBVHja7IyxDcBACANt/0DZf7hA6qAHpXql8BUnjAzIzEsAlgDkW/Exlqn07s1ZjF/aiC7Csk5pkYQxxvwLapLGXZm06WmM7M7iGQB7rSiuF/oKBQAAAABJRU5ErkJggg==");
  background-repeat: repeat-x;
  pointer-events: none;
  z-index: 1;
}

.nav-item::before {
  background-position: top;
}

.nav-item::after {
  background-position: bottom;
}

/* Selected / Active tab overlay */
.nav-item.active::before,
.nav-item.active::after {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGuCAYAAABRKGwGAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAABUSURBVHja7IwxDsAgDAMv5jN9Jh8v7saACOpUdcgNlg+ZAFwCJGAI8IyRtVTTiTe79M2NoiiKf9F7B9sIqKj4NGI2ZRpHXdqya5tvOl55oSHgfgYA2rIjMpojycEAAAAASUVORK5CYII=");
}

.nav-link {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0 10px;
  font-family: var(--font-nav);
  font-style: italic;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4em;
  color: var(--color-white);
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
}

/* Dropdown Submenu under Services */
.nav-dropdown {
  position: absolute;
  top: 83px;
  left: 50%;
  transform: translateX(-50%);
  min-width: 230px;
  background-color: rgb(1, 177, 175);
  box-shadow: 0px 2px 3px 0px rgba(162, 158, 158, 0.6);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  z-index: 200;
  margin-top: 0;
}

.nav-item:hover .nav-dropdown,
.nav-item:focus-within .nav-dropdown {
  opacity: 1;
  visibility: visible;
}

.nav-dropdown li {
  position: relative;
  background-color: rgb(1, 177, 175);
}

.nav-dropdown a {
  display: block;
  padding: 10px 16px;
  font-family: var(--font-nav);
  font-style: italic;
  font-size: 15px;
  color: var(--color-white);
  text-align: center;
  white-space: nowrap;
  position: relative;
  z-index: 2;
}

.nav-dropdown li:hover,
.nav-dropdown li.active {
  background-color: #48AECB;
}

/* Mobile Menu Button */
.mobile-menu-btn {
  display: none;
  background: transparent;
  border: 2px solid var(--color-white);
  color: var(--color-white);
  padding: 8px 12px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 18px;
}

/* ==========================================================================
   3. HERO SLIDESHOW (#comp-iud4yjgt, height 650px)
   ========================================================================== */
.hero-slideshow {
  position: relative;
  width: 100%;
  height: 650px;
  overflow: hidden;
  background-color: #f4f7f9;
}

.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s ease-in-out, visibility 1s ease-in-out;
}

.hero-slide.active {
  opacity: 1;
  visibility: visible;
  z-index: 2;
}

.hero-slide-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

.hero-slide-inner {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: var(--container-width);
  height: 100%;
  pointer-events: none;
}

/* Slide 1: Bedroom - comp-iud578g6 (margin-top: 161px, left: 14px, width: 945px) */
.hero-box-slide1 {
  position: absolute;
  top: 161px;
  left: 14px;
  width: 945px;
  background-color: rgba(255, 255, 255, 0.5);
  padding: 20px 15px 48px;
  text-align: center;
}

.hero-title-main {
  font-family: var(--font-didot);
  font-style: italic;
  font-weight: 400;
  font-size: 62px;
  line-height: 1.3em;
  letter-spacing: 0.05em;
  color: var(--color-blue-dark);
  margin: 0 0 21px 0;
}

.hero-subtitle-main {
  font-family: var(--font-serif);
  font-style: normal;
  font-weight: 700;
  font-size: 35px;
  line-height: 1.3em;
  letter-spacing: 0.05em;
  color: var(--color-blue-med);
  text-shadow: rgba(0, 0, 0, 0.4) 0px 4px 5px;
}

/* Slide 2: Bathroom - comp-iud4yjrm (margin-top: 287px, left: 50px, width: 857px) */
.hero-box-slide2 {
  position: absolute;
  top: 287px;
  left: 50px;
  width: 857px;
  text-align: center;
}

.hero-title-slide2 {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  font-size: 55px;
  line-height: 1.3em;
  color: var(--color-blue-dark);
}

/* Slide 3: Kitchen - comp-iud4yjrz (margin-top: 251px, left: 30px, width: 917px) */
.hero-box-slide3 {
  position: absolute;
  top: 251px;
  left: 30px;
  width: 917px;
  text-align: center;
}

.hero-title-slide3 {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  font-size: 37px;
  line-height: 1.3em;
  color: var(--color-blue-dark);
}

/* Slideshow Prev/Next Arrows (offset 65px, width 15px, color #8FA1BA) */
.hero-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 10px;
  color: var(--color-slate-light);
  transition: opacity 0.2s ease;
}

.hero-arrow:hover {
  opacity: 0.75;
}

.hero-arrow.prev {
  left: 55px;
}

.hero-arrow.next {
  right: 55px;
}

.hero-arrow svg {
  width: 15px;
  height: 27px;
  fill: currentColor;
}

/* Screen-reader only utility for SEO descriptive link text & accessibility */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Slideshow Dots (bottom 50px, visible size 6px, 24x24px touch target) */
.hero-dots {
  position: absolute;
  bottom: 41px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 0px;
  z-index: 10;
}

.hero-dot {
  box-sizing: content-box;
  width: 6px;
  height: 6px;
  padding: 9px;
  border-radius: 50%;
  background-color: var(--color-slate-light);
  background-clip: content-box;
  border: none;
  cursor: pointer;
}

.hero-dot.active {
  background-color: rgba(255, 255, 255, 0.85);
}

/* ==========================================================================
   4. SERVICES SECTION (#comp-lpww9d4y) - Exact Wix Mesh & Vector SVG Rules
   ========================================================================== */
.services-section {
  padding: 22px 0 30px;
  background-color: var(--color-white);
}

/* comp-iud65pwe: 32px italic Noticia Text, color #48AECB */
.services-main-heading {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  font-size: 32px;
  line-height: 1.4em;
  color: var(--color-blue-med);
  text-align: center;
  margin: 0 auto 21px;
  max-width: 972px;
}

/* Desktop exact 3-column grid matching Wix coordinates */
.services-grid {
  max-width: var(--container-width);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: stretch;
  padding: 0 30px;
}

.service-col {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Icon slot: 136px tall so all 3 titles align at exact same Y coordinate */
.service-icon-slot {
  height: 136px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

/* Wix VectorImage rule: vector-effect: non-scaling-stroke */
.wix-vector-svg svg {
  width: 100%;
  height: 100%;
  display: block;
  overflow: visible;
}

.wix-vector-svg svg * {
  vector-effect: non-scaling-stroke;
}

/* comp-ivfg6l7x1: House (120x120, fill #FFFFFF, stroke #187D99, stroke-width 1px) */
.icon-residential {
  width: 120px;
  height: 120px;
  margin-top: 18px;
}

.icon-residential svg {
  fill: #FFFFFF;
  stroke: #187D99;
  stroke-width: 1px;
}

/* comp-ivfg6l7x2: Building (120x120, fill #FFFFFF, stroke #187D99, stroke-width 1px) */
.icon-commercial {
  width: 120px;
  height: 120px;
  margin-bottom: 16px;
}

.icon-commercial svg {
  fill: #FFFFFF;
  stroke: #187D99;
  stroke-width: 1px;
}

/* comp-ivk8nudo: Wheelbarrow (108x66, fill #FFFFFF, stroke #48AECB, stroke-width 2px) */
.icon-post-construction {
  width: 108px;
  height: 66px;
}

.icon-post-construction svg {
  fill: #FFFFFF;
  stroke: #48AECB;
  stroke-width: 2px;
}

/* comp-ivfgf91d / comp-ivfgg85t / comp-ivfggv12: 20px italic Noticia Text, color #27359E */
.service-col-title {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.4em;
  color: var(--color-royal-blue);
  margin-bottom: 14px;
  text-align: center;
}

/* Exact widths: 198px, 219px, 209px */
.service-col-desc {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.4em;
  color: var(--color-slate-text);
  text-align: justify;
  margin-bottom: 47px;
  flex-grow: 1;
}

.service-col:nth-child(1) .service-col-desc {
  width: 198px;
}

.service-col:nth-child(2) .service-col-desc {
  width: 219px;
}

.service-col:nth-child(3) .service-col-desc {
  width: 209px;
}

/* comp-ivfg9d6e / comp-ivfgngfg / comp-ivfgnlkn: 142x40, bg #48AECB, hover #187D99 */
.btn-read-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 142px;
  height: 40px;
  background-color: var(--color-blue-med);
  color: var(--color-white);
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 400;
  border: none;
  transition: background-color 0.4s ease;
  cursor: pointer;
}

.btn-read-more:hover {
  background-color: var(--color-blue-dark);
}

/* ==========================================================================
   5. SERVICE AREA STRIP ("We service" - #comp-judc0tzf) - Row 1 of comp-lpww9d4y1
   ========================================================================== */
.service-area-section {
  position: relative;
  width: 100%;
  min-height: 714px;
  background-image: url('/images/bg-service-area.jpg');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  overflow: hidden;
}

.service-area-container {
  max-width: var(--container-width);
  margin: 0 auto;
  min-height: 714px;
  position: relative;
}

/* comp-judc0u5s: left 600px, width 569px, bg rgba(95, 198, 227, 0.5) */
.service-area-right-panel {
  margin-left: 600px;
  width: 569px;
  min-height: 714px;
  background-color: rgba(95, 198, 227, 0.5);
  padding: 69px 0 37px 53px;
}

.service-area-cities-block {
  width: 366px;
  margin-bottom: 28px;
}

.service-area-heading {
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4em;
  color: var(--color-black);
  margin-bottom: 21px;
}

.service-area-cities-block p {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.4em;
  color: var(--color-black);
  margin: 0;
}

.service-area-cities-block p.service-area-call {
  font-weight: 700;
}

/* comp-judc0u88: left 113px inside 569px box (60px from text left), 185x140 */
.service-area-badge {
  margin-left: 60px;
  width: 185px;
  height: 140px;
}

.service-area-badge img {
  width: 185px;
  height: 140px;
  object-fit: contain;
}

/* ==========================================================================
   6. REVIEWS SECTION (#comp-iz8mvbq3 / #comp-izu1xknq) - Row 2 of comp-lpww9d4y1
   ========================================================================== */
.reviews-section {
  position: relative;
  width: 100%;
  background-color: var(--color-white);
}

.reviews-heading-wrap {
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 22px 0 32px;
}

/* comp-iw2q20k6: left 403px, 45px italic Noticia Text, color #48AECB */
.reviews-main-heading {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  font-size: 45px;
  line-height: 1.4em;
  color: var(--color-blue-med);
  margin-left: 403px;
}

/* comp-izu1xknq: bg-reviews.jpg at 0.1 opacity over white, min-height 772px */
.reviews-strip {
  position: relative;
  width: 100%;
  min-height: 772px;
  background-color: var(--color-white);
  overflow: hidden;
}

.reviews-strip-bg {
  position: absolute;
  inset: 0;
  background-image: url('/images/bg-reviews.jpg');
  background-size: cover;
  background-position: center bottom;
  opacity: 0.1;
  pointer-events: none;
}

.reviews-grid {
  position: relative;
  z-index: 2;
  max-width: var(--container-width);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(5, 187px);
  justify-content: space-between;
  min-height: 772px;
  padding-bottom: 40px;
}

.review-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 26px;
  text-align: center;
}

/* Row 1: Circular Customer Photo (121x131, border-radius 50%) */
.review-avatar-link {
  display: block;
  width: 121px;
  height: 131px;
  margin-bottom: 14px;
}

.review-avatar {
  width: 121px;
  height: 131px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

/* Row 2: Author Name (26px italic Open Sans, coral #FF6161) */
.review-author {
  font-family: var(--font-sans);
  font-style: italic;
  font-weight: 400;
  font-size: 26px;
  line-height: 1.05em;
  color: #FF6161;
  margin: 0 0 18px 0;
}

/* Row 3: Quote text (15px Open Sans, #000000, line-height 1.7em) */
.review-text {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.7em;
  color: var(--color-black);
  margin: 0 0 22px 0;
}

/* Row 4: Coral quotation mark SVG (20x32, rotate 180deg, fill #F27979) */
.review-ribbon {
  width: 20px;
  height: 32px;
  transform: rotate(180deg);
}

.review-ribbon svg {
  width: 20px;
  height: 32px;
  fill: var(--color-pink-ribbon);
}

/* ==========================================================================
   7. REQUEST FREE ESTIMATE (#comp-iv19lmvd) - Full-width #CBEAF2 Strip
   ========================================================================== */
.estimate-section {
  width: 100%;
  background-color: var(--color-blue-pale);
  padding: 16px 0 42px;
}

.estimate-container {
  max-width: var(--container-width);
  margin: 0 auto;
  position: relative;
}

/* comp-iud7h5kt: left 280px, margin-bottom 52px, 45px italic Noticia Text, #48AECB */
.estimate-heading {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  font-size: 45px;
  line-height: 1.4em;
  color: var(--color-blue-med);
  margin-left: 280px;
  margin-bottom: 52px;
}

/* comp-iud7hpxi: left 360px, width 391px */
.estimate-form-wrap {
  margin-left: 360px;
  width: 391px;
}

.wix-form .form-group {
  margin-bottom: 5px;
}

.wix-form input,
.wix-form textarea {
  width: 100%;
  height: 30px;
  padding: 3px 5px;
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--color-slate-text);
  background-color: var(--color-white);
  border: 1px solid var(--color-slate-light);
  border-radius: 0;
  outline: none;
}

.wix-form textarea {
  height: 130px;
  resize: none;
  padding-top: 5px;
}

.wix-form input::placeholder,
.wix-form textarea::placeholder {
  color: var(--color-slate-light);
}

.wix-form input:focus,
.wix-form textarea:focus {
  border-color: var(--color-blue-dark);
}

.wix-form-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 3px;
}

/* comp-kf70it6b: 40x28, bg #48AECB, 13px Open Sans */
.btn-submit-estimate {
  min-width: 40px;
  height: 28px;
  padding: 0 8px;
  background-color: var(--color-blue-med);
  color: var(--color-white);
  font-family: var(--font-sans);
  font-size: 13px;
  border: none;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.btn-submit-estimate:hover {
  background-color: var(--color-blue-dark);
}

.form-feedback {
  margin-top: 10px;
  padding: 8px 10px;
  font-size: 13px;
  display: none;
}

.form-feedback.success {
  display: block;
  background-color: #e6f9f0;
  color: #0b4a2f;
  border: 1px solid #16945d;
}

.form-feedback.error {
  display: block;
  background-color: #fdeaea;
  color: #8b0000;
  border: 1px solid #f27979;
}

/* ==========================================================================
   8. HIGHLIGHTS: 100% PET FRIENDLY & 14 YEARS IN BUSINESS (#comp-lpww9d4z1)
   ========================================================================== */
.highlights-section {
  background-color: var(--color-white);
  padding: 24px 0 36px;
}

.highlights-container {
  max-width: var(--container-width);
  margin: 0 auto;
  position: relative;
  min-height: 215px;
}

/* Left item: Paw print at left 250px (120x120), text at left 150px (width 304px) */
.highlight-pet {
  position: absolute;
  left: 150px;
  top: 0;
  width: 304px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.highlight-paw-svg {
  width: 120px;
  height: 120px;
  margin-bottom: 15px;
}

.highlight-paw-svg svg {
  width: 100%;
  height: 100%;
  fill: #FFFFFF;
  stroke: #187D99;
  stroke-width: 4px;
}

/* Right item: Ribbon at left 670px (96x123), text at left 570px (width 304px) */
.highlight-years {
  position: absolute;
  left: 570px;
  top: 0;
  width: 304px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.highlight-ribbon-svg {
  width: 96px;
  height: 123px;
  margin-bottom: 16px;
}

.highlight-ribbon-svg svg {
  width: 100%;
  height: 100%;
  fill: #187D99;
}

.highlight-text {
  font-family: var(--font-sans);
  font-size: 20px;
  line-height: 1.3em;
  color: var(--color-slate-text);
}

.highlight-text strong {
  font-weight: 700;
  display: block;
}

/* ==========================================================================
   9. COMMITMENT SECTION (#comp-lpww9d50 / #mediairgs6b3m)
   ========================================================================== */
.commitment-section {
  width: 100%;
  background-color: var(--color-white);
}

.commitment-bg-strip {
  width: 100%;
  min-height: 776px;
  background-image: url('/images/bg-commitment.jpg');
  background-size: cover;
  background-position: center center;
  position: relative;
}

.commitment-container {
  max-width: var(--container-width);
  margin: 0 auto;
  min-height: 776px;
  position: relative;
  padding-top: 116px;
}

/* comp-igb2ez3c: left 200px, width 611px, min-height 541px, bg rgba(255,255,255,0.77) */
.commitment-card {
  margin-left: 200px;
  width: 611px;
  min-height: 541px;
  background-color: rgba(255, 255, 255, 0.77);
  padding: 56px 15px 30px 23px;
}

/* comp-irgt9a3t: 56px normal Noticia Text, color #187D99, left 96px (73px from card padding) */
.commitment-title {
  font-family: var(--font-serif);
  font-style: normal;
  font-weight: 400;
  font-size: 56px;
  line-height: 1.4em;
  color: var(--color-blue-dark);
  margin-left: 73px;
  margin-bottom: 83px;
}

/* comp-irgt7pzm: 26px italic Noticia Text, color #187D99, width 580px, justify */
.commitment-quote {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  font-size: 26px;
  line-height: 1.4em;
  color: var(--color-blue-dark);
  text-align: justify;
  width: 580px;
}

/* ==========================================================================
   10. TRUST BADGES SECTION (#comp-lpww9d501) - Exact 2 Rows of 4 Badges
   ========================================================================== */
.badges-section {
  background-color: var(--color-white);
  padding: 18px 0 36px;
}

.badges-container {
  max-width: var(--container-width);
  margin: 0 auto;
}

.badges-row-top {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
  justify-items: center;
  max-width: 780px;
  margin: 0 auto 30px;
}

.badges-row-bottom {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
  justify-items: center;
  max-width: 780px;
  margin: 0 auto;
}

.badge-angi-2020 { width: 130px; height: 130px; object-fit: cover; }
.badge-angi-2019 { width: 130px; height: 130px; object-fit: cover; }
.badge-tt-2015   { width: 145px; height: 112px; object-fit: contain; }
.badge-tt-2016   { width: 113px; height: 89px; object-fit: contain; }

.badge-bonded    { width: 93px; height: 80px; object-fit: contain; }
.badge-sat-1     { width: 79px; height: 93px; object-fit: contain; }
.badge-sat-100   { width: 91px; height: 91px; object-fit: contain; }
.badge-eco       { width: 84px; height: 104px; object-fit: contain; }

/* ==========================================================================
   11. FOOTER (#SITE_FOOTER)
   ========================================================================== */
.site-footer {
  background-color: var(--color-white);
  padding: 17px 0 15px;
}

.footer-container {
  max-width: var(--container-width);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* comp-iucy9tpe: 6 social icons, 47x47 each, 15px gap */
.footer-socials {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 11px;
}

.footer-socials a {
  display: block;
  width: 47px;
  height: 47px;
  transition: transform 0.2s ease;
}

.footer-socials a:hover {
  transform: translateY(-2px);
}

.footer-socials img {
  width: 47px;
  height: 47px;
  object-fit: cover;
}

/* WRchTxt0-16wb: 13px Open Sans, color #187D99 */
.footer-copyright {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 1.4em;
  color: var(--color-blue-dark);
  text-align: center;
}

/* ==========================================================================
   12. SUBPAGES EXACT WIX LAYOUTS
   ========================================================================== */

/* --- /service (Residential Cleaning - #comp-ir0uu0ez) --- */
.residential-page-wrap {
  max-width: var(--container-width);
  margin: 0 auto;
  background-color: var(--color-blue-light); /* rgb(95, 198, 227) */
  padding: 87px 40px 60px 20px;
  color: var(--color-slate-text);
}

.res-rich-text {
  width: 899px;
  margin: 0 auto;
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.4em;
  color: var(--color-slate-text);
}

.res-heading-green {
  font-family: var(--font-sans);
  font-size: 20px;
  font-weight: 700;
  color: var(--color-green-accent); /* rgb(22, 148, 93) */
  text-align: center;
  margin-bottom: 4px;
}

.res-subheading-bold {
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 18px;
}

.res-offer-title {
  font-family: var(--font-sans);
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 24px;
}

.res-anchor-buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  margin: 24px 0 74px;
  flex-wrap: nowrap;
}

.res-anchor-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0;
  white-space: nowrap;
  text-align: center;
  background-color: var(--color-blue-med);
  color: var(--color-white);
  font-family: var(--font-sans);
  font-size: 15px;
  transition: background-color 0.3s ease;
}

.res-anchor-btn:hover {
  background-color: var(--color-blue-dark);
}

.res-section-block {
  padding-top: 10px;
  margin-bottom: 36px;
  border-top: none;
}

.res-section-block p {
  margin-bottom: 14px;
}

/* Wix Pinned Right Anchor Menu (#comp-ivk8ext9 on /service) */
.wix-anchor-menu {
  position: fixed;
  right: 53.66px;
  top: 50%;
  transform: translateY(-50%);
  width: 170px;
  z-index: 90;
}

.wix-anchor-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.wix-anchor-menu a {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  font-family: var(--font-serif);
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4em;
  color: rgb(0, 175, 173);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.wix-anchor-menu a:hover,
.wix-anchor-menu li.active a {
  color: rgb(4, 108, 108);
}

.wix-anchor-menu svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 3px;
}

@media (max-width: 1320px) {
  .wix-anchor-menu {
    display: none;
  }
}

/* --- /green-cleaning (Post Construction), /commercial, /residentialwindowcleaning --- */
.two-col-wix-page {
  max-width: var(--container-width);
  margin: 0 auto;
  min-height: 500px;
  padding: 41px 20px 60px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
}

.wix-subpage-title-teal {
  font-family: var(--font-sans);
  font-size: 22px;
  font-weight: 700;
  color: var(--color-blue-dark);
  margin-bottom: 18px;
}

.wix-subpage-title-dark {
  font-family: var(--font-sans);
  font-size: 32px;
  font-weight: 700;
  color: var(--color-slate-text);
  margin-bottom: 20px;
}

.wix-subpage-text-18 {
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 1.4em;
  color: var(--color-slate-text);
  text-align: justify;
  margin-bottom: 16px;
}

.wix-subpage-text-15 {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.4em;
  color: var(--color-slate-text);
}

/* --- /about (#comp-lpww9d53) --- */
.about-wix-page {
  max-width: var(--container-width);
  margin: 0 auto;
  min-height: 500px;
  padding: 8px 20px 60px;
}

.about-heading-row {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 13px;
}

.about-wix-title {
  width: 537px;
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  font-size: 45px;
  line-height: 1.5em;
  letter-spacing: 0.05em;
  color: var(--color-blue-dark);
  text-align: center;
}

.about-content-row {
  display: flex;
  align-items: flex-start;
  gap: 15px;
}

.about-image-col {
  width: 406px;
  flex-shrink: 0;
}

.about-image-col img {
  width: 406px;
  height: 273px;
  object-fit: cover;
}

.about-text-col {
  width: 537px;
}

.about-p-main {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.5em;
  color: var(--color-slate-text);
  text-align: justify;
  margin-bottom: 20px;
}

.about-p-green {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.4em;
  color: var(--color-green-dark); /* rgb(11, 74, 47) */
  text-align: justify;
  margin-bottom: 14px;
}

/* --- /gallery (#comp-judaetf0) --- */
.gallery-wix-page {
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 40px 20px 60px;
}

.gallery-wix-title {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  font-size: 45px;
  color: var(--color-blue-dark);
  text-align: center;
  margin-bottom: 30px;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
}

.gallery-item {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  cursor: pointer;
  background-color: #f0f4f8;
}

.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.gallery-item:hover img {
  transform: scale(1.05);
}

/* Lightbox */
.lightbox-modal {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.88);
  z-index: 2000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.lightbox-modal.open {
  display: flex;
}

.lightbox-img {
  max-width: 90vw;
  max-height: 85vh;
  object-fit: contain;
}

.lightbox-close {
  position: absolute;
  top: 20px;
  right: 30px;
  background: transparent;
  border: none;
  color: var(--color-white);
  font-size: 36px;
  cursor: pointer;
}

/* --- /contac-us (#comp-iucwjuvx) --- */
.contact-wix-page {
  max-width: var(--container-width);
  margin: 14px auto 40px;
  background-color: rgb(250, 250, 250);
  padding: 20px 10px 40px;
  position: relative;
}

.contact-top-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 20px;
}

.contact-hours-box {
  flex: 1;
  padding: 15px 20px;
  background-color: var(--color-white);
  border: 1px solid #e3e3e3;
}

.contact-hours-title {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 22px;
  color: var(--color-blue-dark);
  margin-bottom: 10px;
}

.contact-hours-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 8px 24px;
  font-size: 14px;
}

.contact-hours-row {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px dashed #e3e3e3;
  padding-bottom: 4px;
}

.contact-splash-top {
  width: 166px;
  height: 150px;
  transform: rotate(180deg);
  margin-left: 20px;
  flex-shrink: 0;
}

.contact-main-grid {
  display: grid;
  grid-template-columns: 449px 477px;
  justify-content: space-between;
  align-items: start;
}

.contact-wix-heading {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  font-size: 45px;
  color: var(--color-blue-dark);
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 12px;
}

/* comp-kf70ivln: 47x28, bg #16945D (color_29) */
.btn-submit-contact {
  min-width: 47px;
  height: 28px;
  padding: 0 10px;
  background-color: var(--color-green-accent);
  color: var(--color-white);
  font-family: var(--font-sans);
  font-size: 13px;
  border: none;
  cursor: pointer;
}

.btn-submit-contact:hover {
  background-color: var(--color-green-dark);
}

.contact-map-box {
  width: 477px;
  height: 330px;
  border: 1px solid #e3e3e3;
}

.contact-map-box iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.contact-splash-bottom {
  width: 257px;
  height: 230px;
  margin-top: 10px;
}

/* --- /faq (#TPASection_iv155p3w) --- */
.faq-wix-page {
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 36px 20px 60px;
}

.faq-wix-heading {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  font-size: 45px;
  color: var(--color-blue-dark);
  text-align: center;
  margin-bottom: 30px;
}

.faq-accordion {
  max-width: 820px;
  margin: 0 auto;
}

.faq-item {
  border-bottom: 1px solid #d8e2ec;
  background-color: var(--color-white);
}

.faq-question {
  width: 100%;
  padding: 18px 12px;
  background: transparent;
  border: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 20px;
  color: var(--color-blue-dark);
  text-align: left;
  cursor: pointer;
}

.faq-icon {
  font-family: var(--font-sans);
  font-style: normal;
  font-size: 22px;
  color: var(--color-blue-med);
  transition: transform 0.25s ease;
}

.faq-item.open .faq-icon {
  transform: rotate(45deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.faq-item.open .faq-answer {
  max-height: 300px;
}

.faq-answer-inner {
  padding: 0 12px 18px;
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.6em;
  color: var(--color-slate-text);
}

/* ==========================================================================
   13. RESPONSIVE MOBILE / TABLET MEDIA QUERIES
   ========================================================================== */
@media (max-width: 991px) {
  .header-top {
    height: auto;
    padding: 15px 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
  }

  .header-logo-wrap,
  .header-quote-title,
  .header-phone-link,
  .header-bbb {
    position: static;
    width: auto;
  }

  .header-logo-bubbles {
    display: none;
  }

  .header-right-mobile-group {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
  }

  .nav-bar-wrapper,
  .nav-bar-inner,
  .nav-container {
    height: auto;
    min-height: 60px;
  }

  .nav-container {
    justify-content: space-between;
    padding: 0 20px;
  }

  .mobile-menu-btn {
    display: block;
  }

  .nav-menu {
    display: none;
    flex-direction: column;
    width: 100%;
    height: auto;
    position: absolute;
    top: 60px;
    left: 0;
    background-color: rgb(1, 177, 175);
    z-index: 300;
  }

  .nav-menu.open {
    display: flex;
  }

  .nav-item {
    width: 100%;
    height: auto;
    min-height: 48px;
    flex-direction: column;
    border-left: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }

  .nav-dropdown {
    position: static;
    transform: none;
    opacity: 1;
    visibility: visible;
    width: 100%;
    box-shadow: none;
    background-color: rgba(0, 0, 0, 0.1);
  }

  .hero-slideshow {
    height: 460px;
  }

  .hero-box-slide1,
  .hero-box-slide2,
  .hero-box-slide3 {
    position: absolute;
    left: 5%;
    width: 90%;
    top: 50%;
    transform: translateY(-50%);
  }

  .hero-title-main { font-size: 38px; }
  .hero-subtitle-main { font-size: 22px; }
  .hero-title-slide2 { font-size: 34px; }
  .hero-title-slide3 { font-size: 26px; }

  .services-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .service-col:nth-child(1) .service-col-desc,
  .service-col:nth-child(2) .service-col-desc,
  .service-col:nth-child(3) .service-col-desc {
    width: 100%;
    max-width: 320px;
    margin-bottom: 20px;
  }

  .res-anchor-buttons {
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 36px;
  }

  .service-area-right-panel {
    margin-left: 0;
    width: 100%;
    padding: 40px 24px;
  }

  .service-area-cities-block {
    width: 100%;
  }

  .reviews-main-heading {
    margin-left: 0;
    text-align: center;
  }

  .reviews-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 24px;
    padding: 20px;
  }

  .estimate-heading,
  .estimate-form-wrap {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  .estimate-form-wrap {
    width: 90%;
    max-width: 391px;
  }

  .highlights-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    min-height: auto;
  }

  .highlight-pet,
  .highlight-years {
    position: static;
  }

  .commitment-container {
    padding: 40px 16px;
    min-height: auto;
  }

  .commitment-card {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 611px;
    min-height: auto;
    padding: 30px 20px;
  }

  .commitment-title {
    margin-left: 0;
    text-align: center;
    font-size: 38px;
    margin-bottom: 30px;
  }

  .commitment-quote {
    width: 100%;
    font-size: 20px;
  }

  .badges-row-top,
  .badges-row-bottom {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .res-rich-text,
  .about-wix-title,
  .about-image-col,
  .about-text-col,
  .contact-map-box {
    width: 100%;
  }

  .two-col-wix-page,
  .about-content-row,
  .contact-top-row {
    flex-direction: column;
  }

  .contact-main-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
