body.dark-mode {
  --bg: #0d1d2b;
  --panel: #122b3f;
  --ink: #ebf5ff;
  --muted: #b8d0df;
  --line: rgba(255, 255, 255, 0.08);
  --primary: #73d4e9;
  --secondary: #77d1eb;
  --accent: #99dff0;
}

body.dark-mode,
body.dark-mode .site-header,
body.dark-mode .footer-brand,
body.dark-mode .site-footer,
body.dark-mode .product-card,
body.dark-mode .service-card,
body.dark-mode .card,
body.dark-mode .info-card,
body.dark-mode .form-wrap,
body.dark-mode .faq-item,
body.dark-mode .testimonial-card,
body.dark-mode .timeline-content,
body.dark-mode .map-box,
body.dark-mode .coming-soon-card {
  background-color: var(--panel);
  color: var(--ink);
}

body.dark-mode .site-header {
  background: rgba(10, 16, 26, 0.88);
}

body.dark-mode .main-nav {
  background: transparent;
}

body.dark-mode .nav-link,
body.dark-mode .field-error,
body.dark-mode p,
body.dark-mode .brand,
body.dark-mode .section-tag,
body.dark-mode .faq-question,
body.dark-mode .form-label,
body.dark-mode .info-item strong,
body.dark-mode .footer-column h3,
body.dark-mode .section-title,
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4 {
  color: var(--ink);
}

body.dark-mode .page-hero-card,
body.dark-mode .bg-soft {
  background: rgba(15, 28, 39, 0.9);
}

body.dark-mode .form-control {
  background: rgba(255, 255, 255, .03);
  border-color: var(--line);
  color: var(--ink);
}

body.dark-mode .btn-secondary {
  background: rgba(255, 255, 255, .04);
  border-color: rgba(255, 255, 255, .12);
  color: var(--ink);
}

body.dark-mode .btn-outline {
  border-color: rgba(255, 255, 255, .25);
  color: #fff;
}

body.dark-mode .brand-mark {
  box-shadow: 0 14px 30px rgba(30, 142, 165, .22);
}

body.dark-mode .tag {
  background: rgba(119, 209, 235, .12);
}

body.dark-mode .feature-strip {
  background: #0b1d2b;
}

body.dark-mode .hero-floating {
  background: rgba(18, 43, 63, .92);
}

body.dark-mode .loader {
  background: rgba(10, 16, 26, .95);
}

/* Shared dark-theme contrast refinements for every page. */
body.dark-mode {
  color-scheme: dark;
  background-color: var(--bg);
  --bg: #0b1925;
  --panel: #142a3c;
  --ink: #f1f7fb;
  --muted: #c1d3df;
  --line: rgba(221, 240, 252, .18);
  --primary: #83def0;
  --secondary: #8bdcf0;
  --accent: #8be9df;
  --shadow: 0 18px 42px rgba(0, 0, 0, .32);
}

body.dark-mode :is(h1, h2, h3, h4, h5, h6, main p, main li, main label, main small, main figcaption, .brand, .nav-link, .footer-column h3) {
  color: var(--ink) !important;
}

body.dark-mode :is(.text-muted, .form-note, .contact-form-intro, .contact-next-step-list p, .contact-location-address p, .maintenance-section-heading > p, .maintenance-diagnostic-intro p, .maintenance-signals p, .maintenance-inspection-grid p, .maintenance-faq-layout > div:first-child p, .contact-faq-layout > div:first-child p, .h2-concern-number, .h2-solution-arrow) {
  color: var(--muted) !important;
}

body.dark-mode :is(a:not(.btn):not(.nav-link):not(.brand), .page-label, .hero-eyebrow, .contact-panel-kicker, .faq-question[aria-expanded="true"]) {
  color: var(--primary) !important;
}

body.dark-mode :is(.bg-soft, main > section.bg-soft) {
  background: #142a3c !important;
}

body.dark-mode .before-recommend {
  background: var(--bg);
}

body.dark-mode .before-recommend-item {
  border-color: var(--line);
  background: var(--panel);
  box-shadow: none;
}

body.dark-mode .before-recommend-icon {
  color: var(--primary);
  background: rgba(131, 222, 240, .16);
}

body.dark-mode .approach-point {
  border-color: var(--line);
  background: rgba(255, 255, 255, .06);
}

body.dark-mode .process-step {
  border-color: var(--primary);
  background: var(--panel);
  color: var(--ink);
}

body.dark-mode .process-step > span {
  color: #082434;
}

body.dark-mode .why-image figcaption {
  border: 1px solid var(--line);
  background: rgba(20, 42, 60, .96);
  color: var(--ink);
}

body.dark-mode .btn-white {
  border-color: var(--line);
  background: var(--panel);
  color: var(--ink);
}

body.dark-mode .tag {
  color: var(--primary);
}

body.dark-mode[data-page="home-2"] .h2-concern-number {
  color: var(--primary) !important;
}

body.dark-mode[data-page="home-2"] .h2-hero .btn-primary,
body.dark-mode[data-page="contact"] .contact-hero .btn-primary {
  background: var(--primary);
  color: #082434;
}

body.dark-mode[data-page="home-2"] .h2-hero .btn-primary:hover,
body.dark-mode[data-page="contact"] .contact-hero .btn-primary:hover {
  background: var(--secondary);
  color: #082434;
}

body.dark-mode .service-icon,
body.dark-mode .metric-icon,
body.dark-mode .mini-badge,
body.dark-mode .editorial-number,
body.dark-mode .info-icon {
  color: #a4f2e9;
  background: rgba(131, 222, 240, .16);
}

body.dark-mode :is(.card, .product-card, .service-card, .info-card, .testimonial-card, .form-wrap, .faq-item, .timeline-content, .map-box, .coming-soon-card, .contact-location-address) {
  border-color: var(--line);
}

body.dark-mode .form-control {
  border-color: rgba(221, 240, 252, .24);
  background-color: #0e2030;
  color: var(--ink);
}

body.dark-mode .form-control::placeholder {
  color: var(--muted);
  opacity: 1;
}

body.dark-mode .form-control:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(131, 222, 240, .22);
}

body.dark-mode :is(.btn-primary, .back-to-top) {
  color: #082434;
}

body.dark-mode .btn-primary:hover {
  color: #061c2a;
}

body.dark-mode .footer-links a:hover,
body.dark-mode .footer-column a:hover {
  color: var(--accent);
}

body.dark-mode[data-page="products"] .product-care-section,
body.dark-mode[data-page="water-testing"] main > section:nth-of-type(2),
body.dark-mode[data-page="water-testing"] .booking-section,
body.dark-mode[data-page="contact"] .contact-main,
body.dark-mode[data-page="contact"] .contact-location,
body.dark-mode[data-page="contact"] .contact-faq,
body.dark-mode[data-page="maintenance"] .maintenance-faq,
body.dark-mode[data-page="maintenance"] .maintenance-diagnostic {
  background: #142a3c !important;
}

body.dark-mode[data-page="service-details"] main > section:nth-of-type(4) .card {
  border-color: var(--line);
  background: var(--panel);
}

body.dark-mode[data-page="home-2"] {
  --h2-ink: #f1f7fb;
  --h2-muted: #c1d3df;
  --h2-paper: #0b1925;
}

body.dark-mode[data-page="home-2"] .h2-concern {
  border-color: var(--line);
  background: #142a3c;
}

body.dark-mode[data-page="home-2"] .h2-concern-featured {
  background: #1b3a50;
}

body.dark-mode[data-page="home-2"] .h2-concern-number,
body.dark-mode[data-page="home-2"] .h2-solution-arrow {
  color: #c1d3df;
}

body.dark-mode[data-page="home-2"] :is(.h2-assessment-photo figcaption, .h2-solutions-photo figcaption) {
  color: #f1f7fb;
  background: rgba(20, 42, 60, .96);
}

@media (max-width: 1150px) {
  body.dark-mode .main-nav {
    border-color: var(--line);
    background: #142a3c;
  }
}