/* Residential Home Connect + Protect: isolated contrast rules.
   Loaded after the page's inline styles from the source HTML, not only in build output. */
.residential-page .home-step,
.residential-page .package-card,
.residential-page .feature,
.residential-page .photo-tag,
.residential-page .home-final {
  color: #f7faff;
}
.residential-page .home-step h3,
.residential-page .package-card h3,
.residential-page .feature h3,
.residential-page .home-final h2,
.residential-page .photo-tag {
  color: #ffffff !important;
}
.residential-page .home-step p,
.residential-page .package-card p,
.residential-page .package-card li,
.residential-page .package-card .package-price small,
.residential-page .feature p,
.residential-page .home-final p {
  color: #e1e9f4 !important;
}
.residential-page .home-step .step-number,
.residential-page .package-card .package-tag,
.residential-page .home-final .eyebrow {
  color: #90d5ff !important;
}
.residential-page .photo-tag,
.residential-page .photo-tag * {
  color: #ffffff !important;
}
.residential-page .package-card .package-price strong {
  color: #ffffff !important;
}
/* The small benefits row sits over a very light hero photo: use dark ink. */
.residential-page .home-kickers,
.residential-page .home-kickers span {
  color: #263750 !important;
}
.residential-page .home-kickers span::before {
  color: #1958c4 !important;
}
/* Comparison rows use light backgrounds: never inherit the dark-card light text. */
.residential-page .compare-wrap {
  border-color: #ccd5e0;
  background: #ffffff;
}
.residential-page .compare-table {
  background: #ffffff;
  color: #1b2a3e;
}
.residential-page .compare-table th {
  background: #17283d;
  color: #ffffff !important;
  border-color: #34485f;
}
.residential-page .compare-table td,
.residential-page .compare-table td p,
.residential-page .compare-table td strong {
  background: #ffffff;
  color: #233449 !important;
  border-color: #d8e0e9;
}
.residential-page .compare-table tbody tr:nth-child(even) td {
  background: #f1f5fa;
}
.residential-page .compare-table tbody tr:hover td {
  background: #e8f2fc;
}
.residential-page .section:not(.section-dark) > .container > .section-head h2,
.residential-page .section:not(.section-dark) > .container > .section-head p,
.residential-page .section:not(.section-dark) .compare-note {
  color: #24354a;
}
.residential-page .faq details {
  background: #ffffff;
  color: #192a3d;
  border-color: #d3dce6;
}
.residential-page .faq summary,
.residential-page .faq details p {
  color: #192a3d;
}
/* Light pills in the service-area panel need dark, readable link labels. */
.residential-page .related-links a,
.residential-page .related-links a:visited {
  color: #174c98 !important;
  background: #ffffff;
  border-color: #b9cee6;
}
.residential-page .related-links a:hover,
.residential-page .related-links a:focus-visible {
  color: #103a78 !important;
  background: #e8f2fc;
  border-color: #1958c4;
}
/* Accessible skip link stays available to keyboards without sitting in the page header. */
.residential-page .skip-link {
  position: absolute;
  left: 12px;
  top: -90px;
  z-index: 200;
  padding: 10px 14px;
  color: #ffffff;
  background: #16233b;
  border-radius: 5px;
}
.residential-page .skip-link:focus,
.residential-page .skip-link:focus-visible {
  top: 8px;
}
@media (max-width: 610px) {
  .residential-page .compare-table th,
  .residential-page .compare-table td {
    padding: 13px 12px;
    font-size: .9rem;
  }
}
