/* Main-site light palette. Keeps the existing page structure and content intact. */
:root {
  --text: #263b56;
  --muted: #63748b;
  --line: rgba(24, 91, 155, .16);
  --shadow: 0 18px 48px rgba(14, 43, 78, .10);
}
body { background: #f5f8fc; color: #34465f; }
h1, h2, h3 { color: #0b2347; }
.topbar-service-area { color: #d8e4f5; }

/* Shared hero and content surfaces */
.hero {
  background: radial-gradient(circle at 82% 8%, rgba(8,125,255,.11), transparent 34%),
    linear-gradient(135deg, #f3f7fc, #ffffff 58%, #edf4fb);
}
.hero:before {
  background-image: linear-gradient(rgba(30,145,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(30,145,255,.045) 1px, transparent 1px);
}
.hero-copy > p { color: #52657d; }
.hero-benefits { color: #173355; }
.hero-phone a { color: #075fc4; }
.hero-card { color: #d8e4f5; }
.hero-card h3 { color: #fff; }
.section { background: #fff; }
.section.alt { background: #eef3f9; }
.section-heading p { color: #63748b; }
.card { background: #fff; border-color: #dce6f1; box-shadow: 0 10px 28px rgba(14,43,78,.07); }
.card h3 { color: #0b2347; }
.card p { color: #5d6f86; }
.card-link, .content a { color: #075fc4; }
.stat-strip { background: #fff; border-color: #dce6f1; }
.stat { border-color: #dce6f1; }
.stat strong { color: #0b2347; }
.stat span { color: #63748b; }
.process-item { background: #fff; border-color: #dce6f1; }
.process-item h3 { color: #0b2347; }
.process-item p { color: #5d6f86; }
.page-hero { background: radial-gradient(circle at 85% 20%, rgba(8,125,255,.10), transparent 34%), linear-gradient(130deg,#f3f7fc,#fff 62%,#edf4fb); border-color: #e1e9f2; }
.page-hero h1 { color: #0b2347; }
.page-hero p:not(.eyebrow) { color: #52657d; }
.price-note { background: #edf5ff; color: #29435f; border-left-color: #1687f8; }

/* Forms and booking controls */
.contact-card { background: #fff; border-color: #dce6f1; box-shadow: 0 12px 36px rgba(14,43,78,.07); }
.contact-card .big-phone { color: #075fc4; }
label { color: #183253; }
input, select, textarea { background: #fff; color: #263b56; border-color: #cbd8e7; color-scheme: light; }
input::placeholder, textarea::placeholder { color: #8290a2; }
.slot-button { background: #f1f6fc; border-color: #c5d7ea; color: #183253; }
.slot-button.selected { background: var(--blue); border-color: var(--blue); color: #fff; }
.button-outline { color: #075fc4; }
.cta-band .button-outline { color: #fff; }

/* Common content modules */
.industry-grid span, .faq-card, .faq-item, .how-fit-card, .booking-info-card,
.booking-reassurance-card, .contact-option-card, .contact-topic, .legal-summary-card,
.legal-content, .audit-review-grid article {
  background-color: #fff;
  border-color: #dce6f1;
  color: #34465f;
}
.industry-grid span { color: #29435f; }
.faq-card h3, .faq-item h3, .how-fit-card h3, .booking-info-card h3,
.booking-reassurance-card h3, .contact-option-card h3, .contact-topic h3,
.legal-summary-card h3, .legal-content h2, .legal-content h3,
.audit-review-grid h3 { color: #0b2347; }
.faq-card p, .faq-item p, .how-fit-card p, .booking-info-card p,
.booking-reassurance-card p, .contact-option-card p, .contact-topic p,
.legal-summary-card p, .legal-content p { color: #5d6f86; }

/* Service and home-page offer cards */
.service-buy-card, .service-custom-card, .service-path-card, .service-step {
  background: #fff;
  border-color: #dce6f1;
  box-shadow: 0 12px 34px rgba(14,43,78,.07);
}
.service-buy-meta { background: linear-gradient(145deg,#f0f8ff,#fff 72%); border-color: #a8d5ff; }
.service-overview-top > span, .service-custom-number { color: #0874d1; border-color: #b9d7f2; }
.service-price-tag { background: #edf5ff; border-color: #d4e6f8; color: #075fc4; }
.service-buy-card h3, .service-custom-card h3, .service-step h3, .service-path-card h2 { color: #0b2347; }
.service-overview-description, .service-buy-card li, .service-custom-card li,
.service-custom-card p, .service-step p, .service-path-card > p:not(.eyebrow) { color: #52657d; }
.service-buy-card li:before, .service-custom-card li:before { color: #087dff; }
.service-custom-card .card-link, .service-path-card .card-link { color: #075fc4; }
.service-custom-note { background: #edf5ff; border-color: #d7e6f5; }
.service-custom-note p { color: #405873; }
.service-path-audit { background: linear-gradient(145deg,#eaf5ff,#fff 80%); }
.home-search-note { color: #63748b; }

/* Package pages retain the dark package headers and light package bodies. */
.package-lead { color: #52657d; }
.package-card { box-shadow: 0 18px 48px rgba(14,43,78,.12); }
.package-card:hover { box-shadow: 0 25px 58px rgba(14,43,78,.18); }
.package-next p { color: #52657d; }

/* The audit page keeps its dark hero and high contrast feature panel. */
.audit-hero { background: radial-gradient(circle at 80% 20%,rgba(32,184,255,.16),transparent 34%),linear-gradient(135deg,#071a3b,#0b2c59 68%,#082147); }
.audit-hero h1, .audit-hero h2, .audit-hero h3 { color: #fff; }
.audit-hero p:not(.eyebrow) { color: #d8e4f5; }
.audit-hero-card, .audit-notice { background: #fff; border-color: #dce6f1; color: #34465f; box-shadow: 0 16px 38px rgba(14,43,78,.1); }
.audit-hero-card h2, .audit-notice h2, .audit-notice h3 { color: #0b2347; }
.audit-hero-card p, .audit-notice p { color: #52657d; }
.audit-hero-card > span:not(.audit-spots) { color: #1769cc; }
.audit-spots { color: #075fc4; }
.audit-form { background: #fff; }
.audit-bottom { color: #34465f; }

/* Legal/resource pages use the same light body canvas and surfaces. */
.content { color: #34465f; }
.content h2, .content h3 { color: #0b2347; }
.content p, .content li { color: #52657d; }
.admin-table, .admin-table th, .admin-table td { background: #fff; color: #263b56; border-color: #dce6f1; }
.admin-table a { color: #075fc4; }

@media (prefers-color-scheme: dark) {
  /* Keep native form controls aligned with the explicit light input surfaces. */
  input, select, textarea { color-scheme: light; }
}

/* Restore readable text where the original button rule forces white lettering. */
.hero .button.button-outline,
.section .button.button-outline,
.page-hero .button.button-outline {
  color: #075fc4 !important;
}
.hero-card .button.button-outline,
.audit-hero .button.button-outline,
.cta-band .button.button-outline,
.seo-bottom-cta .button.button-outline {
  color: #fff !important;
}
.cta-band h2, .cta-band p { color: #fff; }
.faq-card {
  background: #fff;
  border: 1px solid #dce6f1;
  box-shadow: 0 10px 28px rgba(14,43,78,.07);
}
.faq-card h3 { color: #0b2347; }
.faq-card p { color: #5d6f86; }
.industry-grid span {
  background: #fff;
  border: 1px solid #dce6f1;
  color: #29435f;
}

/* The services page uses an h2 inside its dark hero feature card. */
.hero-card h2 { color: #fff; }

/* Keep copy readable inside dark feature cards nested in pale page heroes. */
.page-hero .hero-card p:not(.eyebrow) { color: #d8e4f5; }

/* Footer headings sit on a dark navy surface. */
.site-footer .footer-grid h3 { color: #fff; }

/* Booking information panels: rounded, lightly bordered cards. */
.booking-grid { align-items: start; }
.booking-info { display: grid; align-content: start; gap: 18px; }
.booking-info-card {
  padding: 27px;
  border: 1px solid #dce6f1;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(14,43,78,.07);
}
.booking-info-card h2 { color: #0b2347; font-size: 1.55rem; }
.booking-phone-card {
  padding: 22px 24px;
  border: 1px solid #d7e6f5;
  border-radius: 16px;
  background: #edf5ff;
  color: #405873;
}
.booking-reassurance-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 30px;
  border: 1px solid #dce6f1;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 38px rgba(14,43,78,.08);
}
.booking-reassurance-card > div { max-width: 820px; }
.booking-reassurance-card h2 { color: #0b2347; }
.booking-reassurance-card p:not(.eyebrow) { color: #52657d; }
@media (max-width: 720px) {
  .booking-info-card { padding: 22px; }
  .booking-reassurance-card { align-items: flex-start; flex-direction: column; padding: 23px; }
}
