@import url("backgrounds.css?v=20261010-bg");
/* Crisp brand accents, retaining the original fonts, palette and page layout. */
:root {
  --content-subheading-size: clamp(1.125rem, 1rem + .4vw, 1.25rem);
  --subheading-accent: var(--blue);
  --subheading-accent-secondary: var(--teal, #2596be);
  --subheading-rule-width: 44px;
  --subheading-rule-gap: 8px;
}
.service-name,
.cleaning-list-text strong,
.security-feature-title,
.whyus-pillar-title,
.cleaning-tile-title,
.modal-feature-text strong,
.who-card-title,
.accred-title,
.cert-name {
  font-size: var(--content-subheading-size);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: .055em;
  text-wrap: pretty;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.cleaning-list-text strong,
.modal-feature-text strong,
.who-card-title,
.accred-title,
.service-name,
.cert-name { color: var(--blue); }
.cleaning-list-text strong,
.modal-feature-text strong,
.security-feature-title,
.whyus-pillar-title,
.cleaning-tile-title { margin-bottom: 8px; }
.security-feature-title,
.whyus-pillar-title,
.cleaning-tile-title { color: var(--white); }
.section-label, .section-eyebrow, .modal-sub-title {
  font-size: .875rem;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: .12em;
}
.modal-sub-title { color: var(--blue); }
.policy-title, .gallery-category-title, .legal-content h3 {
  color: var(--blue);
  font-weight: 800;
}
.footer-col-title { font-size: 1.0625rem; font-weight: 800; }
.cleaning-list { gap: 22px; }
.cleaning-list-text, .modal-feature-text, .security-feature > div:last-child {
  min-width: 0;
  overflow-wrap: break-word;
}
.cleaning-list-dot, .modal-feature-dot { margin-top: 8px; }

/* A two-part signature rule makes each service title easy to scan. */
.service-name::after,
.cleaning-list-text strong::after,
.security-feature-title::after,
.whyus-pillar-title::after,
.cleaning-tile-title::after,
.modal-feature-text strong::after,
.who-card-title::after,
.accred-title::after,
.cert-name::after,
.gallery-category-title::after,
.policy-title::after {
  content: "";
  display: block;
  width: var(--subheading-rule-width);
  max-width: 100%;
  height: 3px;
  margin-top: var(--subheading-rule-gap);
  background: linear-gradient(
    90deg,
    var(--subheading-accent) 0 64%,
    transparent 64% 77%,
    var(--subheading-accent-secondary) 77% 100%
  );
  pointer-events: none;
}

.service-name::after { margin-inline: auto; }

.security-feature-title,
.whyus-pillar-title {
  --subheading-accent: var(--teal-light, #38b5d5);
  --subheading-accent-secondary: rgba(255,255,255,.65);
}

.cleaning-tile-title {
  --subheading-accent: var(--white);
  --subheading-accent-secondary: rgba(255,255,255,.5);
}

/* Replace boxed section labels with an understated editorial marker. */
.section-label,
.section-eyebrow,
.section-label.white {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: max-content;
  max-width: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  margin-bottom: 16px;
  letter-spacing: .16em;
}

.section-label::before,
.section-eyebrow::before {
  content: "";
  flex: 0 0 12px;
  width: 12px;
  height: 12px;
  border-left: 3px solid var(--subheading-accent);
  border-right: 3px solid var(--subheading-accent-secondary);
  transform: skew(-22deg);
  margin-inline: 2px;
  pointer-events: none;
}

.section-label::after,
.section-eyebrow::after {
  content: "";
  flex: 0 1 40px;
  width: 40px;
  min-width: 12px;
  height: 1px;
  background: currentColor;
  opacity: .3;
  pointer-events: none;
}

.section-label.white {
  --subheading-accent: var(--white);
  --subheading-accent-secondary: var(--teal-light, #38b5d5);
}

.modal-sub-title {
  display: flex;
  align-items: center;
  gap: 12px;
  letter-spacing: .16em;
}

.modal-sub-title::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(27,93,171,.18);
  pointer-events: none;
}

@media (max-width: 640px) {
  .service-card[data-service="maintenance"] .service-name::after {
    margin-inline: 0;
  }
  .section-label,
  .section-eyebrow {
    gap: 10px;
    letter-spacing: .12em;
  }
}
