/* ===========================
   LifeShine Cleaning – Styles
   =========================== */

:root {
  /* Brand palette — LifeShine */
  --primary: #FBB63F;
  --primary-dark: #c8921f;
  --primary-light: #ffedae;
  --dark: #1B3146;
  --dark-2: #253F58;
  --gray: #4A5568;
  --gray-light: #F8F6F1;
  --white: #ffffff;
  --border: #E4E2DC;
  --navy-deep: #0D1B2A;
  --navy-soft: #253F58;
  --cream: #F8F6F1;
  --slate: #4A5568;
  --line: #E4E2DC;
  --shadow: 0 2px 16px rgba(0,0,0,0.08);
  --radius: 20px;
  --font: 'Inter', system-ui, -apple-system, sans-serif;
  --font-heading: 'Fraunces', Georgia, serif;
  --font-label: 'Montserrat', sans-serif;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; outline: none; scrollbar-width: thin; scrollbar-color: #ddd #f1f1f1; }

html { scroll-behavior: smooth; overflow-x: hidden; }

body {
  font-family: var(--font);
  color: #333;
  line-height: 1.6;
  background: var(--white);
  overflow-x: hidden;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }

/* ── Typography ── */
h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); color: var(--dark); font-weight: 700; line-height: 1.25; }
h1 { font-size: clamp(1.8rem, 4vw, 2.8rem); }
h2 { font-size: clamp(1.4rem, 3vw, 2.1rem); }
h3 { font-size: clamp(1.1rem, 2.5vw, 1.5rem); }
h4 { font-size: 1.05rem; }
.eyebrow, .service-tag, .plan-label,
.stat-item .stat-label, .footer-col h5, .btn-apply { font-family: var(--font-label); }
p  { color: #555; margin-bottom: 1rem; }
p:last-child { margin-bottom: 0; }

/* ── Layout ── */
.container { max-width: 1140px; margin: 0 auto; padding: 0 1.5rem; }
/* Allow all grid items to shrink below their intrinsic min-width */
[class*="-grid"] > *, [class*="-grid"] > div { min-width: 0; }
.section    { padding: 5rem 0; }
.section-sm { padding: 3rem 0; }
.section-alt { background: transparent; }

/* ── Buttons ── */
.btn {
  display: inline-block;
  padding: 0.75rem 1.75rem;
  border-radius: 50px;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
  border: none;
}
.btn-primary { background: var(--primary); color: var(--white); }
.btn-primary:hover { background: var(--primary-dark); transform: translateY(-1px); color: var(--white); }
.btn-outline { background: transparent; color: var(--primary); border: 2px solid var(--primary); }
.btn-outline:hover { background: var(--primary); color: var(--dark); }
.btn-dark { background: var(--dark); color: var(--white); }
.btn-dark:hover { opacity: 0.85; }

/* ── Nav ── */
header {
  position: fixed; top: 0; left: 0; width: 100%; z-index: 999;
  background: var(--white);
  box-shadow: 0 1px 4px #CCC;
  transition: 0.5s all ease-in;
}
/* Inner pages: always white with shadow */
header:not(.home) { background: var(--white) !important; box-shadow: 0 1px 4px #CCC !important; }
/* Home page: transparent until scrolled */
header.home { background: transparent !important; box-shadow: none !important; }
header.home.f-nav { background: var(--white) !important; box-shadow: 0 1px 4px #CCC !important; }

.navbar {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 30px 50px;
  transition: 0.5s all ease-in;
}
header .navbar-expand-lg {
  justify-content: space-between;
  align-items: center;
  max-width: 1920px;
  padding: 30px 50px;
}
.home .navbar {
  background: transparent !important;
  max-width: 1920px;
  margin: 0 auto;
}
@media (min-width: 1140px) {
  .navbar-expand-lg { flex-wrap: nowrap; }

  /* Stop collapse from growing — lets space-between push it to the right */
  header .navbar-collapse {
    flex-grow: 0 !important;
    flex-basis: auto !important;
    width: auto !important;
    margin-left: auto;
  }
  header .navbar-nav {
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
  }
}
.navbar-brand.logo img { width: 160px; max-width: 160px; height: auto; display: block; }

/* Nav links */
.navbar-nav .menu-item > .nav-link {
  font-family: var(--font);
  font-size: 0.95rem; font-weight: 400; color: var(--dark) !important;
  padding: 0.5rem 1rem !important;
  border-radius: var(--radius);
  transition: color 0.2s, background 0.2s;
}
.navbar-nav .menu-item > .nav-link:hover {
  color: var(--dark) !important;
  background: var(--primary-light);
}
.navbar-nav .current-menu-item > .nav-link,
.navbar-nav .current-menu-item > .nav-link:hover {
  color: var(--dark) !important;
  background: transparent;
}
.dropdown-symbol { font-size: 0.78rem; margin-left: 3px; }

/* Sub-menu dropdown */
.menu-item-has-children { position: relative; }
.sub-menu {
  display: none;
  position: absolute; top: 100%; left: 0;
  background: var(--white); min-width: 300px;
  border-radius: var(--radius); box-shadow: var(--shadow);
  border: 1px solid var(--border); z-index: 200;
  padding: 0.5rem 0; list-style: none; margin: 0;
}
.menu-item-has-children:hover .sub-menu,
.menu-item-has-children:focus-within .sub-menu { display: block; }
.sub-menu .nav-link {
  display: block; padding: 0.6rem 1.2rem !important;
  font-size: 0.9rem; color: var(--dark-2) !important;
  border-radius: 0 !important;
  transition: color 0.2s, background 0.2s;
}
.sub-menu .nav-link:hover { color: var(--dark) !important; background: var(--primary-light); }
.sub-menu .nav-link .service-tag { margin-left: 4px; }

/* Call Now / Instant Quote CTA buttons */
.callnow {
  background: #4a4a4a !important; color: var(--white) !important;
  border-radius: 50px !important; padding: 0.75rem 2rem !important;
  font-weight: 600 !important; font-size: 1rem !important;
  transition: background 0.2s !important; margin-left: 0.5rem;
  line-height: 1.2 !important;
}
.callnow:hover { background: #333 !important; }
.booknow {
  background: var(--primary) !important; color: var(--white) !important;
  border-radius: 50px !important; padding: 0.75rem 2rem !important;
  font-weight: 600 !important; font-size: 1rem !important;
  transition: background 0.2s !important; margin-left: 0.5rem;
  line-height: 1.2 !important;
}
.booknow:hover { background: var(--primary-dark) !important; }

/* Transparent-nav link colors */
header.home:not(.f-nav) .navbar-nav .menu-item > .nav-link { color: var(--dark) !important; }
header.home:not(.f-nav) .callnow { background: var(--dark) !important; }
header.home:not(.f-nav) .booknow { background: var(--primary) !important; }

/* Mobile: sub-menu shown inline */
@media (max-width: 991px) {
  .sub-menu { position: static; box-shadow: none; border: none; border-radius: 0; padding-left: 1rem; background: var(--gray-light); display: none; }
  .menu-item-has-children.open .sub-menu { display: block; }
  .callnow, .booknow { display: inline-block; margin: 0.25rem 0.5rem; }
}

/* ── Hero ── */
.hero {
  color: var(--white); padding: 20rem 0 19.5rem;
  position: relative; overflow: hidden;
  background: url('/images/banner-top-scaled.webp') right top / 120% auto no-repeat;
  margin-top: 0; /* header is fixed, hero fills from top */
}
.hero-content { position: relative; text-align: center; }
.hero h1 { color: var(--white); margin: 0 auto 1.25rem; text-shadow: 0px 3px 5px #33130480; max-width: 595px; }
.hero p { color: var(--white); font-size: 1.1rem; margin-bottom: 2.5rem; max-width: 640px; margin-left: auto; margin-right: auto; }
.hero-bottom-row {
  display: flex; flex-direction: column; align-items: center;
  gap: 1.5rem;
}
.hero-badges {
  display: flex; align-items: center;
  background: rgba(25,32,58,0.65);
  border-radius: 50px;
  padding: 0.6rem 1.5rem;
  gap: 0;
}
.hero-badge {
  display: flex; align-items: center; gap: 0.6rem;
  font-size: 0.92rem; font-weight: 600; color: var(--white);
  padding: 0.25rem 1.25rem;
}
.hero-badge + .hero-badge {
  border-left: 1px solid rgba(255,255,255,0.25);
}
.hero-badge img { width: 26px; height: 26px; filter: brightness(0) invert(1) sepia(1) saturate(3) hue-rotate(10deg); }

/* ── Clean Your Home (stats) ── */
.clean_your_home { background: var(--white); padding: 4.5rem 0; }
.clean_your_home h5 {
  font-size: 28px; font-weight: 500; color: var(--dark);
  max-width: 1100px; margin: 0 auto 2.5rem;
  text-align: center; line-height: 1.7;
  opacity: 0.5;
  transform: translate(0px, 0px);
}
.clean_boxes_row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.clean_box {
  background: var(--primary-light);
  border-radius: 20px;
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  min-height: 320px;
}
.clean_box.bg {
  background: linear-gradient(135deg, #fdc96e 0%, #f9aa44 45%, #e8840a 100%);
}
.clean_box span {
  font-size: 4rem; font-weight: 800; color: var(--dark);
  display: block; line-height: 1.1;
}
.clean_box.bg span { color: var(--white); }
.clean_box h6 {
  font-size: 1.1rem; font-weight: 700; color: var(--dark);
  margin-bottom: 0.4rem; margin-top: 60px;
}
.clean_box.bg h6 { color: var(--white); }
.clean_box p { font-size: 0.92rem; color: var(--gray); margin: 0; line-height: 1.6; }
.clean_box.bg p { color: rgba(255,255,255,0.85); }
@media (max-width: 768px) { .clean_boxes_row { grid-template-columns: 1fr; } .hiw-line { display: none; } }

/* ── Trust Bar ── */
.trust-bar { background: var(--primary); padding: 1.25rem 0; }
.trust-bar-inner { display: flex; justify-content: center; flex-wrap: wrap; gap: 2rem; }
.trust-item { display: flex; align-items: center; gap: 0.6rem; color: var(--dark); font-weight: 700; font-size: 0.9rem; }
.trust-item img { width: 24px; height: 24px; }

/* ── Stats ── */
.stats-bar { background: var(--dark); padding: 2.5rem 0; }
.stats-inner { display: flex; justify-content: center; flex-wrap: wrap; gap: 3rem; text-align: center; }
.stat-item .stat-num { font-size: 2.2rem; font-weight: 800; color: var(--primary); }
.stat-item .stat-label { color: rgba(255,255,255,0.7); font-size: 0.85rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; }

/* ── Section Header ── */
.section-header { text-align: center; margin-bottom: 3rem; }
.section-header .eyebrow {
  display: inline-block; color: var(--dark); font-weight: 700;
  font-size: 0.82rem; letter-spacing: 0.1em; text-transform: uppercase;
  margin-bottom: 0.5rem;
}
.section-header h2 { margin-bottom: 1rem; }
.section-header p { max-width: 760px; margin: 0 auto; color: var(--gray); }

/* ── Service Cards ── */
.services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; }
.service-card {
  background: var(--white); border-radius: 12px; padding: 2rem;
  box-shadow: var(--shadow); border: 1px solid var(--border);
  transition: transform 0.2s, box-shadow 0.2s;
  text-decoration: none; display: block;
}
.service-card:hover { transform: translateY(-4px); box-shadow: 0 8px 30px rgba(0,0,0,0.12); }
.service-card h3 { color: var(--dark); margin-bottom: 0.75rem; }
.service-card p {
  color: var(--gray); font-size: 0.92rem;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
  overflow: hidden; min-height: calc(0.92rem * 1.6 * 3);
}
.service-card .card-arrow { color: var(--dark); font-size: 1.4rem; margin-top: 1rem; display: block; }
.about_services_slider .slick-slide { padding: 1.5rem; margin: 0.5rem; }
.about_services_slider .slick-list { margin: 0; overflow: visible; }
.about_services_slider .service-card { height: 100%; display: flex; flex-direction: column; }

/* ── Feature Grid ── */
.features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 2rem; }
.feature-item { text-align: center; }
.feature-item img { width: 56px; height: 56px; margin: 0 auto 1rem; }
.feature-item h4 { color: var(--dark); margin-bottom: 0.5rem; }
.feature-item p { font-size: 0.9rem; color: var(--gray); }

/* ── Testimonials ── */
.section-testimonials {
  background: radial-gradient(at 0% -24.11%, #19203a 0%, #f9aa44 71.61%, #ffedae 100%);
  width: 98%; margin: 0 1%; border-radius: 25px; overflow: hidden;
}
.section-testimonials h2 { color: var(--white); }
.testimonials-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; }
.testimonial-card {
  background: #ffedae;
  background-image: radial-gradient(121.86% 165.43% at 123.77% -24.11%, rgba(249,170,68,0.5) 0%, rgba(255,237,174,0.5) 100%);
  border-radius: 20px; padding: 1.75rem;
  box-shadow: var(--shadow); border: none;
}
.testimonial-card .stars { color: #FFD036; font-size: 1.1rem; margin-bottom: 1rem; }
.testimonial-card blockquote { font-size: 0.93rem; color: #444; font-style: normal; margin-bottom: 1rem; }
.testimonial-card cite { font-weight: 700; font-style: normal; font-size: 0.88rem; color: var(--dark); }

/* ── Featured Review ── */
.featured-review {
  background: var(--primary); color: var(--dark);
  border-radius: 12px; padding: 2.5rem; text-align: center; margin: 2rem 0;
}
.featured-review .stars { color: #FFD036; font-size: 1.4rem; margin-bottom: 1rem; }
.featured-review blockquote { font-size: 1.05rem; font-style: italic; color: var(--dark); margin-bottom: 1.25rem; font-weight: 500; }
.featured-review cite { font-weight: 700; font-style: normal; color: var(--dark); }

/* ── Checklist Table ── */
.checklist-section { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.checklist-table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 0.88rem; table-layout: fixed; }
.checklist-table thead th {
  background: var(--dark); color: var(--white); padding: 0.9rem 1rem;
  text-align: center; font-weight: 600;
}
.checklist-table thead th:first-child { text-align: left; }
.checklist-table tbody tr:nth-child(even) { background: var(--gray-light); }
.checklist-table .section-row td {
  background: var(--primary-light); color: var(--dark);
  font-weight: 700; padding: 0.7rem 1rem; font-size: 0.92rem;
  border-top: 2px solid var(--primary);
  cursor: pointer; user-select: none;
}
.section-row-inner {
  display: flex; justify-content: space-between; align-items: center;
}
.checklist-arrow { font-size: 0.75rem; transition: transform 0.3s ease; display: inline-block; }
.section-row.collapsed .checklist-arrow { transform: rotate(180deg); }
.checklist-body-row { transition: opacity 0.2s ease; }
.checklist-body-row.hidden { display: none; }
.checklist-table td { padding: 0.65rem 1rem; border-bottom: 1px solid var(--border); }
.checklist-table td:not(:first-child) { text-align: center; }
.check-yes { color: var(--dark); font-size: 1.1rem; }
.check-no  { color: #d1d5db; font-size: 1.1rem; }
.checklist-table th.col-active { background: var(--primary); color: var(--dark); }
.checklist-table td.col-active { background: #fffbf0; font-weight: 600; }

/* ── How It Works ── */
/* ── How It Works ── */
.how_it_works_bg { text-align: center; }
.how_it_works_bg h2 { margin-bottom: 2.5rem; }
.how-it-works-row { position: relative; justify-content: center; overflow: visible; }
.hiw-line {
  position: absolute;
  top: 10px; left: 0; width: 100%;
  height: 140px;
  z-index: 0;
  pointer-events: none;
  overflow: visible;
}
.how-it-works-step { position: relative; z-index: 1; text-align: center; padding-bottom: 1.5rem; }
.step-icon-box {
  width: 140px; height: 140px;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 1.5rem;
}
.step-icon-box img { width: 110px; height: 110px; }
.how-it-works-step h4 { color: var(--dark); font-size: 1.15rem; font-weight: 700; margin-bottom: 0.5rem; }
.how-it-works-step p { font-size: 0.93rem; color: var(--gray); max-width: 240px; margin: 0 auto; line-height: 1.6; }

/* ── Pricing ── */
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; max-width: 1400px; margin: 0 auto; }
.pricing-card {
  background: #ffedae; border-radius: 20px; padding: 30px;
  height: 100%; display: flex; flex-direction: column; gap: 32px;
  border: none; transition: transform 0.2s;
}
.pricing-card.featured {
  background: radial-gradient(at 0% 170%, #19203a 0%, #f9aa44 58.24%, #ffedae 100%);
  color: var(--white);
}
.pricing-card.featured h3,
.pricing-card.featured .price,
.pricing-card.featured .plan-label { color: var(--white); }
.pricing-card.featured .price span,
.pricing-card.featured .price-note,
.pricing-card.featured ul li { color: rgba(255,255,255,0.85); }
.pricing-card.featured ul li::before { color: var(--white); }
.pricing-card:hover { transform: translateY(-4px); }
.pricing-card .plan-label { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--dark); margin-bottom: 0.4rem; }
.pricing-card h3 { font-size: 1.3rem; color: var(--dark); margin-bottom: 0.4rem; }
.pricing-card .price { font-size: 2.5rem; font-weight: 800; color: var(--dark); margin-top: calc(1rem - 40px); }
.pricing-card .price span { font-size: 1rem; color: var(--gray); font-weight: 400; }
.pricing-card .price-note { font-size: 0.85rem; color: var(--gray); margin-bottom: 1.25rem; }
.pricing-card ul { text-align: left; margin-bottom: 1.5rem; padding-left: 0; list-style: none; }
.pricing-card ul li { font-size: 0.88rem; color: #555; padding: 0.3rem 0; display: flex; align-items: flex-start; gap: 0.5rem; }
.pricing-card ul li::before { content: '✓'; color: var(--dark); font-weight: 700; flex-shrink: 0; }
.pricing-card .btn { margin-top: auto; }
.pricing-card.featured .btn { background: var(--white); color: var(--dark); border-color: var(--white); }

/* ── FAQ / Accordion ── */
.faq-list { max-width: 800px; margin: 0 auto; }
.faq-item { border-radius: 20px; overflow: hidden; margin-bottom: 0.5rem; }
.faq-item.open { background: var(--primary-light); }
.faq-item.open .faq-question { border-bottom: none; }
.faq-question {
  width: 100%; text-align: left; padding: 1.2rem 1.25rem;
  background: none; border: none; cursor: pointer;
  display: flex; justify-content: space-between; align-items: center;
  font-size: 1rem; font-weight: 600; color: var(--dark);
  gap: 1rem;
}
.faq-question .faq-icon { flex-shrink: 0; color: var(--dark); font-size: 1.3rem; transition: transform 0.3s; }
.faq-item.open .faq-icon { transform: rotate(45deg); }
.faq-answer { display: none; padding: 0 1.25rem 1.2rem; color: #555; font-size: 0.95rem; line-height: 1.7; }
.faq-item.open .faq-answer { display: block; }

/* ── CTA Banner ── */
.cta-banner { background: var(--primary); padding: 4rem 0; text-align: center; }
.cta-banner h2 { color: var(--white); margin-bottom: 1rem; }
.cta-banner p { color: rgba(255,255,255,0.85); font-size: 1.05rem; margin-bottom: 2rem; }
.cta-banner .btn { background: var(--white); color: var(--dark); font-weight: 700; }
.cta-banner .btn:hover { background: var(--dark); color: var(--white); }

/* ── Trust Icons ── */
.trust-icons-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.5rem; }
.trust-icon-item { display: flex; align-items: center; gap: 0.75rem; }
.trust-icon-item img { width: 40px; height: 40px; flex-shrink: 0; }
.trust-icon-item span { font-size: 0.9rem; font-weight: 600; color: var(--dark); }

/* ── App Promo ── */
.app-promo { display: grid; grid-template-columns: .75fr 1fr; gap: 3rem; align-items: center; }
.app-promo img { box-shadow: none; }
.app-promo-text h2 { margin-bottom: 1rem; color: var(--white); }
.app-promo-text p { margin-bottom: 1.75rem; color: var(--white); }
.app-promo-text h3 { color: var(--white); }
.app-promo-text * { color: var(--white); }
.app-review-block {
  display: flex; align-items: center; gap: 1.5rem;
  border-top: 1px solid rgba(255,255,255,0.3);
  padding-top: 2rem; margin-top: 2rem;
}
.google-stars-img {
  width: 120px; height: 120px; object-fit: contain;
  flex-shrink: 0;
}

/* ── Gallery ── */
.gallery-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.75rem; }
.gallery-grid img { border-radius: var(--radius); height: 160px; width: 100%; object-fit: cover; }

.check-list { padding-left: 0; list-style: none; }

/* ── Page Hero (inner pages) ── */
.page-hero {
  position: relative; overflow: hidden;
  background: url('/images/banner-top-scaled.webp') center/cover no-repeat;
  padding: 8rem 0 6rem; text-align: center;
  margin-top: 72px;
}
.page-hero::before {
  content: ''; position: absolute; inset: 0;
  background: rgba(0,0,0,0.52);
}
.page-hero.no-overlay::before { display: none; }
.page-hero.no-overlay h1, .page-hero.no-overlay p { color: var(--dark); text-shadow: none; }
.page-hero.tall { padding: 10rem 0 8rem; }
.page-hero.warm::before { background: radial-gradient(51.64% 95.31% at 46.25% 64.95%, #f9aa4400 0%, #f9aa44 100%); mix-blend-mode: multiply; }
.page-hero .container { position: relative; }
.page-hero h1 { color: var(--white); text-shadow: 0px 3px 5px #33130480; }
.page-hero p { color: rgba(255,255,255,0.85); font-size: 1.05rem; margin-top: 0.75rem; }

/* ── Amber contact CTA (service pages) ── */
.contact-cta-box {
  background: linear-gradient(135deg, #f0a500 0%, #c87d00 100%);
  border-radius: 16px; padding: 2.5rem 2rem; text-align: left; max-width: 860px; margin: 0 auto;
}
.contact-cta-box h2 { color: var(--white); margin-bottom: 0.4rem; font-size: 1.4rem; }
.contact-cta-box p { color: rgba(255,255,255,0.85); font-size: 0.9rem; margin-bottom: 1.5rem; }
.contact-cta-phone { display: flex; align-items: center; gap: 0.6rem; color: var(--white); font-size: 1.1rem; font-weight: 700; margin-top: 1.25rem; }
.contact-cta-phone svg { opacity: 0.85; }

/* ── Why Choose Us cards (service pages) ── */
.why-choose-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); gap: 1.5rem; }
.why-choose-card { background: var(--primary-light); border-radius: 12px; padding: 2rem 1.5rem; text-align: center; }
.why-choose-card img { width: 52px; height: 52px; margin: 0 auto 1rem; }
.why-choose-card h3 { color: var(--dark); font-size: 1rem; margin-bottom: 0.6rem; }
.why-choose-card p { font-size: 0.88rem; color: var(--gray); }

/* ── Photo gallery 3-col (service pages) ── */
.gallery-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 0.75rem; }
.gallery-3 img { border-radius: var(--radius); height: 200px; width: 100%; object-fit: cover; }

/* ── About Page ── */
.about-intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3.5rem; align-items: center; }
.about-intro-grid > * { min-width: 0; }
/* On mobile, img-first grids put text before image */
@media (max-width: 900px) {
  .about-intro-grid.img-first > *:first-child { order: 2; }
  .about-intro-grid.img-first > *:last-child  { order: 1; }
}
.about-intro-text .check-list { margin-top: 1.25rem; }
.check-list li { display: flex; align-items: center; gap: 0.6rem; font-weight: 300; color: var(--dark); margin-bottom: 0.6rem; }
.check-list li::before { content: '✓'; color: var(--dark); font-weight: 800; }

/* Team grid */
.team-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1.5rem; text-align: center; }
.team-card img { border-radius: 50%; width: 120px; height: 120px; object-fit: cover; margin: 0 auto 1rem; }
.team-card h5 { color: var(--dark); margin-bottom: 0.25rem; }
.team-card span { font-size: 0.85rem; color: var(--dark); font-weight: 600; }

/* ── Service page ── */
.service-intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; }
.service-intro-grid img { border-radius: 12px; box-shadow: var(--shadow); }
.why-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 2rem; }
.why-card { background: var(--primary-light); border-radius: 12px; padding: 1.75rem; border-left: 4px solid var(--primary); }
.why-card h3 { color: var(--dark); margin-bottom: 0.75rem; }
.why-card p { color: #555; font-size: 0.92rem; }

/* ── Recurring page ── */
.checklist-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 2rem; }
.checklist-col h3 { color: var(--dark); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--primary); }
.checklist-col ul { }
.checklist-col ul li { padding: 0.4rem 0; font-size: 0.92rem; color: #555; display: flex; align-items: flex-start; gap: 0.5rem; border-bottom: 1px solid var(--border); }
.checklist-col ul li::before { content: '✓'; color: var(--dark); font-weight: 700; flex-shrink: 0; margin-top: 0.1rem; }
.service-features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.5rem; margin-top: 2rem; }
.service-feature-card { text-align: center; padding: 1.5rem; background: var(--white); border-radius: 12px; box-shadow: var(--shadow); }
.service-feature-card img { width: 52px; height: 52px; margin: 0 auto 0.75rem; }
.service-feature-card h4 { color: var(--dark); margin-bottom: 0.5rem; font-size: 0.95rem; }
.service-feature-card p { font-size: 0.85rem; color: var(--gray); }

/* ── Careers page ── */
.job-card { background: var(--primary-light); border-radius: 16px; border: none; overflow: hidden; }
.job-card-header { padding: 1.5rem 2rem; display: grid; grid-template-columns: 1fr auto; align-items: start; gap: 0.5rem; border-bottom: 1px solid rgba(0,0,0,0.08); }
.job-title-row { display: flex; justify-content: space-between; align-items: center; }
.job-card-header h2 { color: var(--dark); font-size: 1.2rem; }
.job-exp { font-size: 0.88rem; font-weight: 600; color: var(--dark); }
.job-meta { display: flex; justify-content: space-between; margin-top: 0.4rem; }
.job-tag { font-size: 0.82rem; color: var(--gray); display: flex; align-items: center; gap: 0.3rem; }
.job-card-body { padding: 2rem; }
.job-section { margin-bottom: 1.75rem; padding-bottom: 1.5rem; border-bottom: 1px solid rgba(0,0,0,0.07); }
.job-section:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.job-section h3 { color: var(--dark); margin-bottom: 0.75rem; font-size: 1rem; font-weight: 700; }
.job-section ul { padding-left: 0; }
.job-section ul li { padding: 0.3rem 0; font-size: 0.93rem; color: #555; display: flex; gap: 0.5rem; align-items: flex-start; }
.job-section ul li::before { content: '•'; color: var(--dark); font-weight: 700; flex-shrink: 0; }
.btn-apply { display: inline-flex; align-items: center; gap: 0.5rem; background: var(--primary); color: var(--dark); font-weight: 800; font-size: 0.82rem; letter-spacing: 0.08em; text-transform: uppercase; padding: 0.65rem 1.5rem; border-radius: 50px; transition: background 0.2s; }
.btn-apply:hover { background: var(--primary-dark); }

/* ── Amber form box (contact/get-a-quote pages) ── */
.amber-form-box { background: linear-gradient(135deg, #f5a623 0%, #c87800 100%); border-radius: 16px; padding: 2rem 2rem 2.5rem; max-width: 760px; margin: 0 auto; }
.amber-form-box h2 { color: var(--white) !important; font-size: 1.1rem; font-weight: 700; margin-bottom: 0.25rem; }
.amber-form-box p { color: rgba(255,255,255,0.85); font-size: 0.85rem; margin-bottom: 1.25rem; }
.amber-form-box .form-embed iframe { min-height: 480px; border-radius: 12px; }

/* ── Blog cards ── */
.blog-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: 1.5rem; }
.blog-card { position: relative; border-radius: 12px; overflow: hidden; aspect-ratio: 4/3; display: block; text-decoration: none; }
.blog-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; }
.blog-card:hover img { transform: scale(1.04); }
.blog-card-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.1) 60%); }
.blog-card-body,
.blog-card-content { position: absolute; bottom: 0; left: 0; right: 0; padding: 1.25rem; }
.blog-card-date { display: block; font-size: 0.78rem; color: rgba(255,255,255,0.8); margin-bottom: 0.4rem; }
.blog-card-title,
.blog-card-content h3 { color: var(--white); font-size: 1rem; font-weight: 700; line-height: 1.3; margin: 0; }
.blog-card-arrow { position: absolute; top: 1rem; right: 1rem; color: var(--white); font-size: 1rem; opacity: 0.85; }

/* ── Prose page (privacy, terms) ── */
.prose { max-width: 820px; margin: 0 auto; }
.prose h2 { font-size: 1.2rem; margin: 2rem 0 0.6rem; padding-top: 1rem; border-top: 1px solid var(--border); }
.prose h3 { font-size: 1rem; margin: 1.25rem 0 0.4rem; color: var(--primary-dark); font-weight: 700; }
.prose p { font-size: 0.93rem; color: #444; margin-bottom: 0.8rem; }
.prose ul { padding-left: 1.5rem; margin-bottom: 1rem; }
.prose ul li { font-size: 0.93rem; color: #444; margin-bottom: 0.3rem; list-style: disc; }

/* ── Contact page ── */
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start; }
.contact-info h2 { margin-bottom: 1rem; }
.contact-phone { display: flex; align-items: center; gap: 0.75rem; margin-top: 2rem; padding: 1.25rem 1.5rem; background: var(--gray-light); border-radius: var(--radius); }
.contact-phone a { font-size: 1.2rem; font-weight: 700; color: var(--dark); }

/* ── Form Embed ── */
.form-embed { border-radius: var(--radius); overflow: hidden; }
.form-embed iframe { width: 100%; min-height: 520px; border: none; display: block; }

/* ── Newsletter ── */
.newsletter {
  background: var(--primary-light);
  padding: 1.5rem 2rem;
  width: 98%; margin: 0 1% 1rem;
  border-radius: 25px;
}
.newsletter-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }
.newsletter h3 { color: var(--dark); }
.newsletter p { color: var(--dark-2); font-size: 0.9rem; }
.newsletter .form-embed { flex: 1; min-width: 280px; }
.newsletter .form-embed iframe { min-height: 80px; }

/* ── Phone CTA ── */
.phone-cta { display: flex; align-items: center; gap: 0.75rem; padding: 1.5rem; background: var(--gray-light); border-radius: var(--radius); }
.phone-cta img { width: 32px; height: 32px; }
.phone-cta a { font-size: 1.15rem; font-weight: 700; color: var(--dark); }
.phone-cta a:hover { color: var(--dark); }

/* ── Footer ── */
footer {
  background: var(--dark);
  color: rgba(255,255,255,0.75);
  padding: 3.5rem 2rem 1.5rem;
  width: 98%; margin: 0 1% 1rem;
  border-radius: 25px;
}
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 2.5rem; margin-bottom: 2.5rem; }
.footer-brand img { height: 48px; width: auto; margin-bottom: 1rem; filter: brightness(0) invert(1); opacity: 0.9; }
.footer-brand p { font-size: 0.88rem; line-height: 1.7; color: rgba(255,255,255,0.65); }
.footer-col h5 { color: var(--white); font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 1rem; font-weight: 700; }
.footer-col ul { padding-left: 0; list-style: none; }
.footer-col ul li { margin-bottom: 0.5rem; }
.footer-col ul li a { font-size: 0.88rem; color: rgba(255,255,255,0.65); transition: color 0.2s; }
.footer-col ul li a:hover { color: var(--primary); }
.footer-social { display: flex; gap: 0.75rem; margin-top: 0.25rem; }
.footer-social a { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,0.12); color: rgba(255,255,255,0.85); transition: background 0.2s, color 0.2s; text-decoration: none; }
.footer-social a:hover { background: var(--primary); color: var(--dark); }
.footer-bottom { border-top: 1px solid rgba(255,255,255,0.1); padding-top: 1.25rem; text-align: center; font-size: 0.82rem; color: rgba(255,255,255,0.65); }
.footer-bottom p { color: rgba(255,255,255,0.65); }

/* ── Responsive ── */
/* ── Hamburger breakpoint: force collapse below 1140px ── */
@media (max-width: 1139px) {
  .navbar-expand-lg .navbar-toggler { display: block; }
  .navbar-expand-lg .navbar-collapse:not(.show) { display: none !important; }
  .navbar-expand-lg { flex-wrap: wrap; }
  /* Inner pages: always white */
  header:not(.home) { background: var(--white) !important; }
  /* Home page: transparent at top, white when scrolled or menu open */
  header.home.f-nav { background: var(--white) !important; box-shadow: 0 1px 4px #CCC !important; }
  header.home:not(.f-nav) { background: transparent !important; box-shadow: none !important; }
  header.home:not(.f-nav) .navbar { background: transparent !important; }
  header.home:has(.navbar-collapse.show) { background: var(--white) !important; box-shadow: 0 1px 4px #CCC !important; }
  .navbar-toggler { background: var(--white) !important; border-color: rgba(0,0,0,0.15) !important; }
  .navbar-collapse { background: var(--white); padding: 1rem 1.25rem 1.5rem; margin: 0 -20px; }
  .navbar-collapse .nav-link { color: var(--dark) !important; }
  .navbar-collapse .callnow,
  .navbar-collapse .booknow {
    display: block;
    margin: 0.25rem 0;
    text-align: center !important;
    width: 100%;
  }
  .navbar-collapse .callnow { background: var(--dark) !important; color: var(--white) !important; }
  .navbar-collapse .booknow { background: var(--primary) !important; color: var(--white) !important; }
}

@media (max-width: 900px) {
  .pricing-grid { grid-template-columns: 1fr; }
  .clean_box span { font-size: 2.75rem; }
  .navbar, header .navbar-expand-lg { padding: 16px 20px; }
  .navbar-brand.logo img { width: 110px; max-width: 110px; }
  .navbar-toggler { padding: 0.25rem 0.5rem; font-size: 1rem; }
  .app-promo, .about-intro-grid, .service-intro-grid, .contact-grid, .checklist-cols { grid-template-columns: 1fr; }
  .app-promo-image { display: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .gallery-grid { grid-template-columns: repeat(3, 1fr); }
  .gallery-grid img { height: 120px; }
  .nav-links, .nav-cta-group { display: none; }
  .hamburger { display: flex; }
  .mobile-nav {
    display: none; position: fixed; inset: 72px 0 0;
    background: var(--white); overflow-y: auto; z-index: 999; padding: 1.5rem;
  }
  .mobile-nav.open { display: block; }
  .mobile-nav ul { display: flex; flex-direction: column; gap: 0; }
  .mobile-nav ul li a { display: block; padding: 0.85rem 0; font-size: 1rem; color: var(--dark); border-bottom: 1px solid var(--border); font-weight: 500; }
  .mobile-nav .mobile-sub a { padding-left: 1.5rem; font-size: 0.92rem; color: var(--gray); }
  .mobile-nav .nav-cta-group { display: flex; gap: 0.75rem; margin-top: 1.25rem; }
  .mobile-nav .nav-cta-group a { flex: 1; text-align: center; }
}

@media (max-width: 600px) {
  .section { padding: 3.5rem 0; }
  .hero { padding: 4rem 0; }
  .footer-grid { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .stats-inner { gap: 2rem; }
  .trust-bar-inner { gap: 1rem; }
}

/* ── App / book section (home) ── */
.section-book {
  background: radial-gradient(at 0% -24.11%, #19203a 0%, #f9aa44 71.61%, #ffedae 100%);
  width: 98%; margin: 0 1%; border-radius: 25px;
}

/* ── Service photo cards ── */
.services-dark-section { background: var(--dark); }
.service-photo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.service-photo-card { position: relative; border-radius: var(--radius); overflow: hidden; aspect-ratio: 3/4; display: block; text-decoration: none; }
.service-photo-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.service-photo-card:hover img { transform: scale(1.04); }
.service-photo-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(25,32,58,0) 47.36%, rgba(25,32,58,0.7) 63.15%); display: flex; flex-direction: column; justify-content: flex-end; padding: 1.5rem; transition: background 0.4s; }
.service-photo-card:hover .service-photo-overlay { background: linear-gradient(180deg, rgba(249,170,68,0) 0%, rgba(249,170,68,0.5) 30%); }
.service-photo-overlay h3 { color: var(--white); font-size: 1.05rem; font-weight: 700; margin-bottom: 0.5rem; }
.service-photo-overlay p { color: rgba(255,255,255,0.8); font-size: 0.85rem; line-height: 1.5; margin: 0; }

/* ── Why choose home grid ── */
/* Row 1: headline (2 cols) + item 1 (1 col) | Row 2: items 2–4 (1 col each) */
.why-choose-home-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; align-items: stretch; }
.why-choose-home-headline { grid-column: span 2; background: #fef9ee; border-radius: var(--radius); padding: 2.5rem 3rem; display: flex; align-items: center; }
.why-choose-home-headline h2 { font-size: 2.5rem; font-weight: 500; line-height: 1.2; margin: 0; text-align: left; }
@media (max-width: 600px) { .why-choose-home-headline h2 { font-size: 1.4rem; } }
.features-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.feature-item { background: #fef9ee; border-radius: var(--radius); padding: 2rem; text-align: left; display: flex; flex-direction: column; }
.feature-item img { width: 64px; height: 64px; }
.feature-item h4 { font-size: 1.1rem; font-weight: 700; color: var(--dark); margin: 1.25rem 0 0.5rem; }
.feature-item p { font-size: 0.9rem; color: var(--gray); margin: 0; }
.why-choose-home-item { background: #fef9ee; border-radius: var(--radius); padding: 2rem; text-align: left; display: flex; flex-direction: column; justify-content: flex-start; min-height: 200px; }
.why-choose-home-item img { width: 64px; height: 64px; }
.why-choose-home-item p { font-size: 1.5rem; font-weight: 700; color: var(--dark); margin: 1.25rem 0 0; line-height: 1.3; }
@media (max-width: 600px) { .why-choose-home-item p { font-size: 1rem; } }

/* ── Home estimate (amber bg) section ── */
.home-estimate-section {
  background: url('/images/free-estimate-bg.png') center center / cover no-repeat;
  padding: 3.5rem 1.5rem;
  width: 98%; margin: 0 1% 1rem;
  border-radius: 25px;
}
.home-estimate-inner { max-width: 700px; margin: 0 auto; text-align: center; }
.home-estimate-inner h3 { font-size: 1.6rem; font-weight: 800; color: var(--white); margin-bottom: 0.4rem; }
.home-estimate-inner p { color: var(--white); margin-bottom: 1.5rem; font-size: 0.95rem; }

/* ── Gallery (Slick) ── */
.gallery_box_bg {
  overflow: hidden; padding: 1.5rem 0; line-height: 0;
}
.gallery_img .slick-slide { padding: 0 4px; }
.gallery_img .slick-slide img { height: 220px; width: 100%; object-fit: cover; border-radius: 12px; display: block; }
@media (max-width: 600px) { .gallery_img .slick-slide img { height: 140px; } }

/* ── Services slider (Slick) ── */
.services_cleaning_bg {
  background: transparent;
  padding: 3.5rem 0 4rem;
  text-align: center;
}
.services_cleaning_bg h2 { color: var(--dark); margin-bottom: 0.75rem; }
.services_cleaning_bg > p { color: var(--gray); max-width: 760px; margin: 0 auto 2.5rem; padding: 0 1.5rem; }
.home_serivice_slider { max-width: 1140px; margin: 0 auto; padding: 0 1rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.service_box { border-radius: 20px; overflow: hidden; background: var(--white); cursor: pointer; box-shadow: 0 2px 16px rgba(25,32,58,0.08); }
.service_box img { width: 100%; height: 220px; object-fit: cover; display: block; transition: transform 0.4s ease; }
.service_box:hover img { transform: scale(1.04); }
.service_box .text { padding: 1.25rem 1.5rem; text-align: left; }
.service_box .text h5 { color: var(--dark); font-size: 1rem; font-weight: 700; margin-bottom: 0.5rem; display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.service-tag { display: inline-block; vertical-align: middle; font-size: 0.65rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--dark); background: var(--primary-light); border-radius: 50px; padding: 0.2rem 0.6rem; white-space: nowrap; }
.service_box .text p { color: var(--gray); font-size: 0.88rem; margin: 0; line-height: 1.55; }

/* ── Testimonials slider (Slick) ── */
.trusted_companies_slides { padding: 0 0.5rem; }
.trusted_companies_slides .slick-list { overflow: visible; }
.trusted_companies_slides .slick-slide { padding: 2rem; margin: 0 0.5rem; overflow: visible; opacity: 0.4; transform: scale(0.92); transition: opacity 0.4s ease, transform 0.4s ease; }
.trusted_companies_slides .slick-slide.slick-center { opacity: 1; transform: scale(1); }
.trusted_companies_slides .slick-slide .testimonial-card { margin: 0; }
.trus_people_box {
  background: #ffedae;
  background-image: radial-gradient(121.86% 165.43% at 123.77% -24.11%, rgba(249,170,68,0.5) 0%, rgba(255,237,174,0.5) 100%);
  border-radius: 20px; padding: 1.75rem; margin: 0.5rem 0;
}
.trus-people-star { color: #FFD036; font-size: 1rem; margin-bottom: 1rem; }
.trus-people-star i { margin-right: 2px; }
.trus_people_box p { font-size: 1.5rem; color: #444; font-style: normal; margin-bottom: 1rem; line-height: 1.6; }
@media (max-width: 600px) { .trus_people_box p { font-size: 1rem; } }
.trus_people_box h6 { font-weight: 700; font-style: normal; font-size: 1.1rem; color: var(--dark); margin: 0; }
/* Slick dots for testimonials */
.trusted_companies_slides .slick-dots { margin-top: 1.5rem; text-align: center; bottom: auto; position: relative; }
.trusted_companies_slides .slick-dots li button:before { color: rgba(255,255,255,0.5); font-size: 8px; }
.trusted_companies_slides .slick-dots li.slick-active button:before { color: var(--white); }

/* ── Home contact bottom ── */
.home-contact-bottom {
  background: radial-gradient(at 0% 170%, #19203a 0%, #f9aa44 58.24%, #ffedae 100%);
  padding: 3rem 0;
  width: 98%; margin: 0 1% 1rem;
  border-radius: 25px;
}
.home-contact-bottom-inner { max-width: 600px; }
.home-contact-bottom h2 { color: var(--white); font-size: 1.6rem; margin-bottom: 0.4rem; }
.home-contact-bottom p { color: rgba(255,255,255,0.8); margin-bottom: 1.5rem; }
.home-contact-phone { display: flex; align-items: center; gap: 0.75rem; }
.home-contact-phone img { width: 28px; height: 28px; }
.home-contact-phone a { font-size: 1.4rem; font-weight: 800; color: var(--white); text-decoration: none; }
.home-contact-phone a:hover { opacity: 0.75; }

/* ── Responsive additions ── */
@media (max-width: 900px) {
  .why-choose-home-grid { grid-template-columns: 1fr 1fr; }
  .why-choose-home-headline { grid-column: span 2; }
  .app-review-block { flex-direction: column; }
}
@media (max-width: 600px) {
  .why-choose-home-grid { grid-template-columns: 1fr; }
  .why-choose-home-headline { grid-column: span 1; }
}

/* ── Service Modals ── */
.svc-modal {
  display: none;
  position: fixed; inset: 0; z-index: 9999;
  align-items: center; justify-content: center;
  padding: 1rem;
}
.svc-modal__backdrop {
  position: absolute; inset: 0;
  background: rgba(25,32,58,0.55);
  backdrop-filter: blur(2px);
}
.svc-modal__dialog {
  position: relative; z-index: 1;
  background: var(--white); border-radius: 20px;
  max-width: 880px; width: 100%; max-height: 90vh;
  overflow-y: auto; padding: 2.5rem 3rem;
  box-shadow: 0 20px 60px rgba(0,0,0,0.2);
}
.svc-modal__close {
  position: absolute; top: 1rem; right: 1.25rem;
  background: none; border: none; font-size: 1.75rem;
  cursor: pointer; color: var(--gray); line-height: 1;
  padding: 0.25rem 0.5rem;
}
.svc-modal__close:hover { color: var(--dark); }
.svc-modal__header h2 { margin-bottom: 0.75rem; }
.svc-modal__header > p { color: var(--gray); margin-bottom: 2rem; line-height: 1.7; }
.svc-modal__overview {
  display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem;
  align-items: start;
}
.svc-modal__img img {
  width: 100%; border-radius: 14px; object-fit: cover; max-height: 420px;
}
.svc-modal__checklist h3 { font-size: 1.15rem; margin-bottom: 0.4rem; color: var(--dark); }
.svc-modal__checklist > p { color: var(--gray); margin-bottom: 1rem; font-size: 0.92rem; }
.svc-modal__checklist .check-list { margin: 0; }
.svc-modal__checklist .check-list li {
  padding: 0.55rem 0; border-bottom: 1px solid var(--border);
  font-size: 0.92rem; color: var(--dark);
  display: flex; flex-direction: column; align-items: center; gap: 0.1rem;
  text-align: center;
}
.svc-modal__checklist .check-list li strong { white-space: nowrap; }
.svc-modal__checklist .check-list li:last-child { border-bottom: none; }

/* Tablet & mobile: slide-up bottom sheet */
@media (max-width: 992px) {
  .svc-modal {
    align-items: flex-end;
    padding: 0;
  }
  .svc-modal__dialog {
    border-radius: 20px 20px 0 0;
    max-height: 88vh;
    width: 100%;
    padding: 2rem 1.5rem 2.5rem;
    transform: translateY(100%);
    transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1);
  }
  .svc-modal.is-open .svc-modal__dialog {
    transform: translateY(0);
  }
  .svc-modal__overview { grid-template-columns: 1fr; }
  .svc-modal__img { order: -1; }
  .svc-modal__img img { max-height: 220px; }
}

/* ── Mobile optimizations ── */
@media (max-width: 600px) {

  /* Page hero */
  .page-hero.tall { padding: 7rem 0 4rem; }
  .page-hero h1 { font-size: 1.75rem; }

  /* Home hero */
  .hero { padding: 7rem 0 3.5rem; background-size: cover; background-position: center center; }
  .hero h1 { font-size: 2rem; }
  .hero p { font-size: 0.95rem; }
  .hero-badges { flex-direction: column; gap: 0.5rem; border-radius: 16px; padding: 0.75rem 1rem; }
  .hero-badge + .hero-badge { border-left: none; border-top: 1px solid rgba(255,255,255,0.25); padding-top: 0.5rem; }

  /* Service cards grid → 1 col */
  .home_serivice_slider { grid-template-columns: 1fr; }

  /* Services section heading padding */
  .services_cleaning_bg h2,
  .services_cleaning_bg > p { padding: 0 1.25rem; }

  /* Testimonials: clip overflow so cards don't bleed to edges */
  .section-testimonials .container { overflow: hidden; }
  .trusted_companies_slides { padding: 0; }

  /* Service photo grid → 1 col */
  .service-photo-grid { grid-template-columns: 1fr; }

  /* Why choose grid already handled; features grid → 1 col */
  .features-grid { grid-template-columns: 1fr !important; }

  /* Checklist table: horizontal scroll on mobile */
  .checklist-table th, .checklist-table td { padding: 0.5rem 0.75rem; }

  /* Blog grid → 1 col */
  .blog-grid { grid-template-columns: 1fr; }

  /* Service intro / about intro image on mobile */
  .service-intro-grid img, .about-intro-grid img { max-height: 260px; object-fit: cover; }

  /* Home contact bottom: center text, stack */
  .home-contact-bottom { width: calc(100% - 2rem); margin: 0 1rem 1rem; border-radius: 16px; }
  .home-contact-bottom-inner { text-align: center; }
  .home-contact-phone { justify-content: center; }

  /* Section book */
  .section-book { width: calc(100% - 2rem); margin: 0 1rem 1rem; border-radius: 16px; }

  /* Home estimate */
  .home-estimate-section { width: calc(100% - 2rem); margin: 0 1rem 1rem; border-radius: 16px; }

  /* Stats boxes */
  .clean_box { min-height: auto; padding: 1.75rem; }
  .clean_box span { font-size: 2.5rem; }

  /* Newsletter inner stack + center */
  .newsletter-inner { flex-direction: column; gap: 1.5rem; align-items: center; text-align: center; }
  .newsletter .form-embed { width: 100%; min-width: unset; }

  /* Job card */
  .job-card-header { grid-template-columns: 1fr; }

  /* Typography scale */
  h1 { font-size: 2rem; }
  h2 { font-size: 1.5rem; }
}

@media (max-width: 400px) {
  .features-grid { grid-template-columns: 1fr !important; }
  .checklist-table { font-size: 0.72rem; }
}

/* ── Static gallery grid ── */
.gallery-static {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  padding: 0 1rem;
  max-width: 1400px;
  margin: 0 auto;
}
.gallery-static img {
  width: 100%; height: 220px;
  object-fit: cover;
  border-radius: 12px;
  display: block;
}
@media (max-width: 900px) {
  .gallery-static { grid-template-columns: repeat(5, 1fr); }
  .gallery-static img { height: 120px; }
}
@media (max-width: 600px) {
  .gallery-static { grid-template-columns: repeat(5, 1fr); }
  .gallery-static img { height: 80px; }
}

/* ── Prevent horizontal overflow ── */
*, *::before, *::after { max-width: 100%; }
/* Slick internals: only the track and slides need unconstrained widths */
.slick-track, .slick-slide, .slick-cloned { max-width: none; }
/* Tables inside a scrollable wrapper can be wider than the viewport */
.checklist-section, .checklist-section * { max-width: none; }
.checklist-section { max-width: 100%; }
img { max-width: 100%; height: auto; }
/* Ensure sections never bleed horizontally */
section { overflow-x: hidden; }
.checklist-section { overflow-x: auto; }
body { overflow-x: hidden; max-width: 100vw; }

/* Clip overflow: visible slick lists on mobile */
@media (max-width: 900px) {
  .about_services_slider,
  .section-testimonials,
  .trusted_companies_slides { overflow: hidden; }
  .about_services_slider .slick-list,
  .trusted_companies_slides .slick-list { overflow: hidden; }

  /* Width:98% sections constrained on mobile */
  .home-contact-bottom,
  .home-estimate-section,
  .section-book,
  .newsletter,
  .section-testimonials,
  footer { width: calc(100% - 2rem); margin: 0 1rem 1rem; }
}

@media (max-width: 900px) {

}

@media (max-width: 900px) {
  .contact-page-iframe { min-height: 1060px !important; }
}

@media (max-width: 900px) {
  .careers-form-iframe { min-height: 1000px !important; }
}
