/* site-palette-balance-v11
   Site-wide white / silver / black system:
   - paper pages + ink text
   - charcoal chrome + silver text
   - remapped --color-* for light UI; restored on dark chrome only
   - v10/v11: readable ink across contact/blog/services/reviews/careers + leave-review/empty states */

:root {
  --palette-ink: #1a1a1a;
  --palette-ink-soft: #2e2e2e;
  --palette-mute: #5c5c5c;
  --palette-silver: #c8c8c8;
  --palette-silver-soft: #e6e6e6;
  --palette-silver-text: #d8d8d8;
  --palette-white: #fafafa;
  --palette-paper: #f3f3f3;
  --palette-steel: #dcdcdc;
  --palette-charcoal: #1c1c1c;
  --palette-night: #121212;
  --palette-border-light: rgba(0, 0, 0, 0.08);
  --palette-border-dark: rgba(255, 255, 255, 0.12);

  /* Bridge built dark-UI tokens → light paper so the whole project matches */
  --color-surface: #ffffff;
  --color-surface-elevated: #fafafa;
  --color-border: rgba(0, 0, 0, 0.08);
  --color-border-strong: rgba(0, 0, 0, 0.14);
  --color-border-focus: rgba(0, 0, 0, 0.28);
  --color-grey-900: #1a1a1a;
  --color-grey-800: #2a2a2a;
  --color-grey-700: #3a3a3a;
  --color-grey-600: #4a4a4a;
  --color-grey-500: #5c5c5c;
  --color-grey-400: #6a6a6a;
  --color-grey-300: #3a3a3a;
  --color-grey-200: #e8e8e8;
  --color-grey-100: #f3f3f3;
  --color-accent: #1a1a1a;
  --color-accent-muted: rgba(0, 0, 0, 0.06);
  --color-accent-hover: rgba(0, 0, 0, 0.1);
  --color-info: #3a3a3a;
  --color-info-bg: rgba(0, 0, 0, 0.04);
  --color-info-border: rgba(0, 0, 0, 0.12);

  color-scheme: light;
}

html,
body {
  background: var(--palette-paper) !important;
  color: var(--palette-ink-soft) !important;
  color-scheme: light !important;
}

/* ---------- Global type: never pure white for body copy ---------- */
h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--palette-ink);
}

p,
li,
label,
.subtitle,
.section-title .subtitle,
.hero-lead,
.cms-page-body p,
.why-desc,
.service-why-text small {
  color: var(--palette-ink-soft);
}

a:not(.btn):not(.nav-link):not(.site-nav a):not(.admin-nav a):not(.hub-nav a) {
  color: #4a4a4a;
}

a:not(.btn):not(.nav-link):not(.site-nav a):not(.admin-nav a):not(.hub-nav a):hover {
  color: #111;
}

.site-header,
.header,
.topbar,
.site-topbar,
.footer,
.site-footer,
.mobile-nav,
.mobile-drawer,
.admin-sidebar,
.hub-sidebar,
.portal-header,
.hero,
.page-hero,
.service-area-hero,
.cta-section,
.section.cta-section,
.cookie-consent-panel,
.nav-dropdown-menu {
  --color-surface: #141414;
  --color-surface-elevated: #1a1a1a;
  --color-border: rgba(255, 255, 255, 0.1);
  --color-border-strong: rgba(255, 255, 255, 0.16);
  --color-grey-700: #9a9a9a;
  --color-grey-600: #b0b0b0;
  --color-grey-500: #c4c4c4;
  --color-grey-400: #d0d0d0;
  --color-grey-300: #e0e0e0;
  --color-grey-200: #ececec;
  --color-silver: #e6e6e6;
  --color-white: #ffffff;
  --color-accent: #e6e6e6;
  --color-accent-muted: rgba(200, 200, 200, 0.1);
  --color-accent-hover: rgba(200, 200, 200, 0.18);
  --color-info: #c8c8c8;
  --color-info-bg: rgba(200, 200, 200, 0.1);
  --color-info-border: rgba(200, 200, 200, 0.22);
}

/* ---------- Chrome bars: black + silver text ---------- */
.site-header,
.header,
.topbar,
.site-topbar,
.footer,
.site-footer,
.mobile-nav,
.mobile-drawer,
.admin-sidebar,
.hub-sidebar,
.portal-header {
  background: var(--palette-night) !important;
  color: var(--palette-silver-text) !important;
  border-color: var(--palette-border-dark) !important;
}

.site-header a,
.header a,
.topbar a,
.site-topbar a,
.footer a,
.site-footer a,
.mobile-nav a,
.mobile-drawer a,
.portal-header a,
.portal-home-link {
  color: var(--palette-silver-text) !important;
}

.site-header a:hover,
.header a:hover,
.topbar a:hover,
.footer a:hover,
.site-footer a:hover,
.portal-header a:hover {
  color: var(--palette-silver-soft) !important;
}

.site-header h1,
.site-header h2,
.footer h3,
.footer h4,
.site-footer h3,
.site-footer h4 {
  color: var(--palette-silver-soft) !important;
}

.footer p,
.site-footer p,
.footer li,
.site-footer li,
.footer small,
.site-footer small {
  color: #c2c2c2 !important;
}

/* ---------- Footer + CTA: force readable silver/white on black ---------- */
.footer,
.site-footer,
.cta-section,
.section.cta-section {
  --color-grey-700: #9a9a9a;
  --color-grey-600: #b0b0b0;
  --color-grey-500: #c4c4c4;
  --color-grey-400: #d0d0d0;
  --color-grey-300: #e0e0e0;
  --color-silver: #e6e6e6;
  --color-white: #ffffff;
}

.footer,
.site-footer {
  background: #0d0d0d !important;
  color: #d8d8d8 !important;
}

.footer h3,
.footer h4,
.site-footer h3,
.site-footer h4,
.footer .footer-brand p,
.footer-brand p,
.footer-contact p,
.footer-contact strong,
.footer-contact span,
.footer-copyright,
.footer-policies a,
.footer-legal-extra a,
.footer-legal-extra .cookie-settings-link,
.footer .social-links-label {
  color: #e8e8e8 !important;
}

.footer a,
.site-footer a,
.footer-links a,
.footer-policies a,
.footer .social-links-list a {
  color: #cfcfcf !important;
}

.footer a:hover,
.site-footer a:hover,
.footer-links a:hover,
.footer-policies a:hover,
.footer .social-links-list a:hover {
  color: #ffffff !important;
}

.footer h4,
.site-footer h4 {
  color: #f2f2f2 !important;
  letter-spacing: 0.04em;
}

.footer-trust span,
.footer-trust li,
.footer .trust-item,
.footer .trust-badge {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: #e0e0e0 !important;
}

.footer-trust span:hover {
  border-color: rgba(255, 255, 255, 0.35) !important;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #fff !important;
}

.footer-contact a {
  color: #ffffff !important;
}

.footer .btn-primary,
.site-footer .btn-primary,
.cta-section .btn-primary {
  background: #f0f0f0 !important;
  color: #111111 !important;
  border-color: #f0f0f0 !important;
}

.footer .btn-primary:hover,
.site-footer .btn-primary:hover,
.cta-section .btn-primary:hover {
  background: #ffffff !important;
  color: #000000 !important;
}

.footer .btn-outline,
.footer .btn-silver,
.site-footer .btn-outline,
.site-footer .btn-silver,
.cta-section .btn-outline,
.cta-section .btn-silver {
  background: transparent !important;
  color: #ececec !important;
  border-color: rgba(255, 255, 255, 0.38) !important;
}

.footer .btn-outline:hover,
.footer .btn-silver:hover,
.cta-section .btn-outline:hover,
.cta-section .btn-silver:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.55) !important;
}

.cta-section,
.section.cta-section {
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%) !important;
  color: #d8d8d8 !important;
}

.cta-section h1,
.cta-section h2,
.cta-section h3 {
  color: #f3f3f3 !important;
}

.cta-section p,
.cta-section .subtitle,
.cta-section .section-lead {
  color: #c0c0c0 !important;
}

/* Keep logo plates readable in footer */
.footer .brand-mark,
.site-footer .brand-mark,
.footer-brand .brand-mark {
  background: #080808;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 0.75rem 0.9rem;
}

/* ---------- Hero: black plane, silver text ---------- */
.hero,
.page-hero,
.service-area-hero {
  background: var(--palette-night) !important;
  color: var(--palette-silver-text) !important;
}

.hero h1,
.hero h2,
.page-hero h1,
.page-hero h2,
.service-area-hero h1,
.service-area-hero h2 {
  color: var(--palette-silver-soft) !important;
}

.hero p,
.hero .hero-lead,
.hero .subtitle,
.page-hero p,
.page-hero .subtitle,
.service-area-hero p {
  color: #b5b5b5 !important;
}

.hero-badge,
.hero .hero-badge {
  color: var(--palette-silver) !important;
  border-color: rgba(200, 200, 200, 0.28) !important;
  background: rgba(255, 255, 255, 0.04) !important;
}

.page-hero .section-label,
.page-hero-legal .section-label,
.service-area-hero .section-label,
.hero .section-label {
  color: #c8c8c8 !important;
}

/* ---------- Section rhythm: white ↔ silver ↔ charcoal ---------- */
.section {
  background: var(--palette-white) !important;
  color: var(--palette-ink-soft) !important;
}

.section-alt,
.cms-service-areas-section {
  background: linear-gradient(180deg, var(--palette-steel) 0%, var(--palette-silver-soft) 100%) !important;
  color: var(--palette-ink-soft) !important;
}

.section h1,
.section h2,
.section h3,
.section h4,
.section-alt h1,
.section-alt h2,
.section-alt h3,
.section-alt h4,
.cms-service-areas-section h1,
.cms-service-areas-section h2,
.cms-service-areas-section h3 {
  color: var(--palette-ink) !important;
}

.section p,
.section li,
.section .subtitle,
.section-alt p,
.section-alt li,
.section-alt .subtitle,
.cms-service-areas-section p,
.cms-service-areas-section li {
  color: var(--palette-ink-soft) !important;
}

.section-label {
  color: #6a6a6a !important;
}

.page-content {
  background: var(--palette-paper);
  color: var(--palette-ink-soft);
}

.page-content h1,
.page-content h2,
.page-content h3 {
  color: var(--palette-ink);
}

/* CTA must beat .section light-ink rules (class="section cta-section") */
.cta-section,
.section.cta-section {
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%) !important;
  color: #d8d8d8 !important;
}

.section.cta-section h1,
.section.cta-section h2,
.section.cta-section h3,
.cta-section h1,
.cta-section h2,
.cta-section h3 {
  color: #f3f3f3 !important;
}

.section.cta-section p,
.section.cta-section li,
.section.cta-section .subtitle,
.section.cta-section .section-lead,
.cta-section p,
.cta-section li,
.cta-section .subtitle,
.cta-section .section-lead {
  color: #c0c0c0 !important;
}

/* Cards on light surfaces */
.section .card,
.section-alt .card,
.page-content .card,
.cms-service-areas-section .card,
.careers-stat,
.contact-info-card,
.contact-hours-card,
.contact-hub-card {
  background: #ffffff !important;
  border: 1px solid var(--palette-border-light) !important;
  color: var(--palette-ink-soft) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.06);
}

.section .card h2,
.section .card h3,
.section-alt .card h2,
.section-alt .card h3,
.page-content .card h2,
.page-content .card h3 {
  color: var(--palette-ink) !important;
}

.section .card p,
.section-alt .card p,
.page-content .card p,
.careers-stat span {
  color: var(--palette-mute) !important;
}

.careers-stat strong {
  color: var(--palette-ink) !important;
}

.section .form-group label,
.section-alt .form-group label,
.page-content .form-group label,
.contact-form label {
  color: var(--palette-ink) !important;
}

.section input:not([type="checkbox"]):not([type="radio"]),
.section textarea,
.section-alt input:not([type="checkbox"]):not([type="radio"]),
.section-alt textarea,
.page-content input:not([type="checkbox"]):not([type="radio"]),
.page-content textarea,
.contact-form input:not([type="checkbox"]):not([type="radio"]),
.contact-form textarea {
  background: #ffffff !important;
  color: var(--palette-ink) !important;
  border-color: rgba(0, 0, 0, 0.14) !important;
}

.promo-banner,
.join-banner {
  background: var(--palette-charcoal) !important;
  color: var(--palette-silver-text) !important;
  border-color: var(--palette-border-dark) !important;
}

.promo-banner h2,
.promo-banner h3,
.join-banner h2,
.join-banner h3 {
  color: var(--palette-silver-soft) !important;
}

.promo-banner p,
.join-banner p {
  color: #b5b5b5 !important;
}

.promo-banner-bar {
  background: linear-gradient(90deg, #1a1a1a 0%, #2a2a2a 50%, #1a1a1a 100%) !important;
  color: var(--palette-silver-text) !important;
}

/* =========================================================
   HUB / PORTAL / ADMIN / DASH — same light palette
   ========================================================= */

.hub-page,
.hub-shell,
.hub-gateway,
.admin,
.admin-main,
.admin-page,
.admin-login,
.portal,
.portal-main,
.dash-page,
.unified-login,
.unified-login-panel {
  background: var(--palette-paper) !important;
  color: var(--palette-ink-soft) !important;
  color-scheme: light !important;
}

.hub-gateway-intro h1,
.hub-page h1,
.admin-header h1,
.dash-header h1,
.portal-main h1 {
  color: var(--palette-ink) !important;
  -webkit-text-fill-color: var(--palette-ink) !important;
  background: none !important;
}

.hub-lead,
.dash-lead,
.dash-greeting,
.dash-section-title,
.dash-record-meta,
.dash-empty p,
.dash-help-card p {
  color: var(--palette-mute) !important;
}

.hub-role-card,
.admin-login-form,
.unified-login-form,
.staff-login-panel,
.dash-metric,
.dash-quick-link,
.dash-help-card,
.dash-record-card,
.dash-stat-bar,
.insight-card,
.card,
.table-wrap {
  background: #ffffff !important;
  border: 1px solid var(--palette-border-light) !important;
  color: var(--palette-ink-soft) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06) !important;
  backdrop-filter: none !important;
}

.hub-role-card h2,
.hub-role-card h3,
.dash-metric-value,
.dash-record-title,
.dash-empty h3,
.dash-help-card h3,
.dash-quick-link strong,
.insight-card h4,
.dash-stat-bar-item strong {
  color: var(--palette-ink) !important;
}

.dash-metric-label,
.dash-quick-link,
.insight-card p,
.insight-card .type,
.dash-table th,
.admin-table th {
  color: var(--palette-mute) !important;
}

.dash-table td,
.admin-table td,
.dash-record-body,
.dash-timeline-body {
  color: var(--palette-ink-soft) !important;
}

.dash-empty {
  background: rgba(0, 0, 0, 0.02) !important;
  border-color: rgba(0, 0, 0, 0.12) !important;
}

.hub-guest-banner,
.hub-switch-banner,
.dash-session-strip,
.admin-banner {
  background: #ffffff !important;
  border: 1px solid var(--palette-border-light) !important;
  color: var(--palette-ink-soft) !important;
}

.hub-trust-row li {
  background: var(--palette-steel) !important;
  border-color: var(--palette-border-light) !important;
  color: var(--palette-mute) !important;
}

.hub-auth-footer,
.client-auth-links {
  color: var(--palette-mute) !important;
}

/* Forms / auth on hub */
.hub-page input:not([type="checkbox"]):not([type="radio"]),
.hub-page textarea,
.admin-login input:not([type="checkbox"]):not([type="radio"]),
.unified-login input:not([type="checkbox"]):not([type="radio"]),
.portal input:not([type="checkbox"]):not([type="radio"]),
.portal textarea,
.dash-page input:not([type="checkbox"]):not([type="radio"]),
.dash-page textarea {
  background: #ffffff !important;
  color: var(--palette-ink) !important;
  border-color: rgba(0, 0, 0, 0.14) !important;
}

.hub-page label,
.admin-login label,
.unified-login label,
.portal label {
  color: var(--palette-ink) !important;
}

/* Buttons readable on light */
.btn-primary {
  background: var(--palette-charcoal) !important;
  color: var(--palette-silver-soft) !important;
  border-color: var(--palette-charcoal) !important;
}

.btn-primary:hover {
  background: #000 !important;
  color: #fff !important;
}

.btn-silver,
.btn-outline {
  background: #ffffff !important;
  color: var(--palette-ink) !important;
  border-color: rgba(0, 0, 0, 0.16) !important;
}

.btn-silver:hover,
.btn-outline:hover {
  background: var(--palette-steel) !important;
  color: var(--palette-ink) !important;
}

/* Dark chrome children keep silver text */
.admin-sidebar a,
.hub-sidebar a,
.hub-nav a,
.hub-sidebar-title,
.hub-user-chip,
.hub-sidebar-btn,
.portal-header a {
  color: var(--palette-silver-text) !important;
}

.admin-sidebar .btn-outline,
.hub-sidebar .btn-outline,
.hub-sidebar .btn-silver {
  background: transparent !important;
  color: var(--palette-silver-text) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
}

/* Cookie / misc panels */
.cookie-consent-panel {
  background: rgba(18, 18, 18, 0.96) !important;
  color: var(--palette-silver-text) !important;
}

.cookie-consent-title {
  color: var(--palette-silver-soft) !important;
}

.cookie-consent-copy {
  color: #b0b0b0 !important;
}

/* Soften leftover pure-white type tokens inside dash CSS */
.dash-metric-value,
.dash-empty h3,
.dash-record-title,
.dash-help-card h3,
.dash-quick-link strong,
.insight-card h4,
.dash-stat-bar-item strong {
  color: var(--palette-ink) !important;
}

.dash-quick-link:hover {
  background: var(--palette-white) !important;
  color: var(--palette-ink) !important;
  border-color: rgba(0, 0, 0, 0.16) !important;
}

.dash-quick-link:hover strong {
  color: var(--palette-ink) !important;
}

.dash-help-card a:hover {
  color: var(--palette-ink) !important;
}

[role="dialog"],
.modal,
.modal-content {
  background: #ffffff !important;
  color: var(--palette-ink) !important;
  border-color: var(--palette-border-light) !important;
}

/* ---------- FAQ (home teaser + /faq page) — no black-on-black ---------- */
.faq-item,
.home-faq-teaser .faq-item,
.faq-list .faq-item {
  background: #ffffff !important;
  border: 1px solid var(--palette-border-light) !important;
  color: var(--palette-ink) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05) !important;
}

.faq-item:hover,
.faq-item.is-open {
  border-color: rgba(0, 0, 0, 0.16) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08) !important;
}

.faq-question,
.faq-question p,
.home-faq-teaser .faq-question,
.faq-list .faq-question,
button.faq-question {
  color: var(--palette-ink) !important;
  background: transparent !important;
}

.faq-question:hover,
button.faq-question:hover {
  color: #111 !important;
  background: rgba(0, 0, 0, 0.03) !important;
}

.faq-answer,
.home-faq-teaser .faq-answer,
.faq-list .faq-answer,
.faq-answer p {
  color: #444 !important;
  border-top: 1px solid var(--palette-border-light) !important;
}

.home-faq-teaser .faq-answer[style],
.faq-item .faq-answer[style] {
  color: #444 !important;
}

.faq-icon {
  color: #5a5a5a !important;
  background: #f0f0f0 !important;
  border-color: rgba(0, 0, 0, 0.1) !important;
}

.faq-empty h3,
.home-faq-teaser h2 {
  color: var(--palette-ink) !important;
}

.faq-empty p,
.faq-cta p {
  color: var(--palette-mute) !important;
}

.faq-cta {
  border-top-color: var(--palette-border-light) !important;
}

.home-faq-teaser .section-label {
  color: #6a6a6a !important;
}

/* ---------- CMS / About / legal pages — readable ink on white ---------- */
.cms-breadcrumb {
  background: var(--palette-paper, #f3f3f3) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.cms-breadcrumb,
.cms-breadcrumb span,
.cms-breadcrumb .container {
  color: #5c5c5c !important;
}

.cms-breadcrumb a {
  color: #3a3a3a !important;
  text-decoration: none;
  font-weight: 600;
}

.cms-breadcrumb a:hover {
  color: #111 !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.page-content {
  background: var(--palette-paper, #f3f3f3) !important;
  color: var(--palette-ink-soft, #2e2e2e) !important;
}

.page-content .content-body,
.page-content .content-body p,
.page-content .content-body li {
  color: var(--palette-ink-soft, #2e2e2e) !important;
}

.page-content .content-body h1,
.page-content .content-body h2,
.page-content .content-body h3,
.page-content .content-body h4,
.page-content .content-body strong {
  color: var(--palette-ink, #1a1a1a) !important;
  border-top-color: rgba(0, 0, 0, 0.08) !important;
}

.cms-page-body,
.cms-page-body p,
.cms-page-body li {
  color: var(--palette-ink-soft, #2e2e2e) !important;
}

.cms-page-body h1,
.cms-page-body h2,
.cms-page-body h3,
.cms-page-body h4,
.cms-page-body strong {
  color: var(--palette-ink, #1a1a1a) !important;
}

.cms-page-body a {
  color: #3a3a3a !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cms-page-body a:hover {
  color: #111 !important;
}

.page-content .cms-page-body,
.page-content .card .cms-page-body {
  background: transparent !important;
}

.page-content > .container.cms-page-body {
  max-width: 760px;
  margin: 0 auto;
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 18px;
  padding: clamp(1.5rem, 3.5vw, 2.35rem) clamp(1.35rem, 3vw, 2.25rem);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.06);
  color: var(--palette-ink-soft, #2e2e2e) !important;
  line-height: 1.75;
  font-size: 1.05rem;
}

.page-content > .container.cms-page-body p:last-child {
  margin-bottom: 0;
}

.page-content .card:has(.cms-page-body),
.legal-page-card,
.cms-legal-wrap {
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  color: var(--palette-ink-soft, #2e2e2e) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
}

.page-hero-legal,
.page-hero {
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%) !important;
}

.page-hero .container > p,
.page-hero-legal .container > p {
  max-width: 42rem;
  color: #c4c4c4 !important;
  font-size: clamp(1rem, 2.2vw, 1.12rem);
  line-height: 1.65;
}

/* ---------- v6 consistency: hub SA cards, nav menu, portals, status ---------- */
.nav-dropdown-menu {
  background: var(--palette-night) !important;
  color: var(--palette-silver-text) !important;
  border: 1px solid var(--palette-border-dark) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45) !important;
}

.nav-dropdown-menu a,
.nav-dropdown-item {
  color: var(--palette-silver-text) !important;
}

.nav-dropdown-menu a:hover,
.nav-dropdown-item:hover {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

.client-shell,
.portal-shell,
.employee-shell {
  background: var(--palette-paper) !important;
  color: var(--palette-ink-soft) !important;
}

.sa-tab {
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  background: #ffffff !important;
  color: var(--palette-mute) !important;
}

.sa-tab:hover {
  border-color: rgba(0, 0, 0, 0.2) !important;
  color: var(--palette-ink) !important;
}

.sa-tab.is-active {
  background: var(--palette-charcoal) !important;
  color: #f0f0f0 !important;
  border-color: var(--palette-charcoal) !important;
}

.sa-county-title {
  color: var(--palette-mute) !important;
}

.sa-county-title::after {
  background: rgba(0, 0, 0, 0.1) !important;
}

.sa-card {
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06) !important;
  color: var(--palette-ink-soft) !important;
}

.sa-card:hover {
  border-color: rgba(0, 0, 0, 0.16) !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.1) !important;
}

.sa-card-city {
  color: var(--palette-ink) !important;
}

.sa-card-meta,
.sa-card-excerpt,
.sa-directory-footer p {
  color: var(--palette-mute) !important;
}

.sa-directory-footer {
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
}

.status-new,
.status-interviewed {
  background: rgba(0, 0, 0, 0.05) !important;
  border-color: rgba(0, 0, 0, 0.14) !important;
  color: #2e2e2e !important;
}

.status-completed,
.status-hired {
  background: rgba(5, 150, 105, 0.1) !important;
  border-color: rgba(5, 150, 105, 0.28) !important;
  color: #047857 !important;
}

.status-contacted,
.status-reviewed {
  background: rgba(180, 120, 20, 0.1) !important;
  border-color: rgba(180, 120, 20, 0.28) !important;
  color: #92400e !important;
}

.status-rejected {
  background: rgba(185, 28, 28, 0.1) !important;
  border-color: rgba(185, 28, 28, 0.28) !important;
  color: #b91c1c !important;
}

.admin-notice--success {
  background: rgba(5, 150, 105, 0.08) !important;
  border-color: rgba(5, 150, 105, 0.3) !important;
  color: #065f46 !important;
}

.admin-notice--error {
  background: rgba(185, 28, 28, 0.08) !important;
  border-color: rgba(185, 28, 28, 0.3) !important;
  color: #991b1b !important;
}

.admin-notice--warning {
  background: rgba(180, 120, 20, 0.08) !important;
  border-color: rgba(180, 120, 20, 0.3) !important;
  color: #92400e !important;
}

.admin-notice--info {
  background: rgba(0, 0, 0, 0.04) !important;
  border-color: rgba(0, 0, 0, 0.14) !important;
  color: #2e2e2e !important;
}

.contact-portal-card,
.contact-login-card,
.careers-stat,
.careers-culture-quote,
.contact-hub-paused {
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  color: var(--palette-ink-soft) !important;
}

.careers-stat strong,
.careers-stat span,
.careers-culture-copy p,
.careers-culture-list li {
  color: var(--palette-ink-soft) !important;
}

.table-wrap table,
.admin-table,
.dash-table {
  color: var(--palette-ink-soft) !important;
}

.table-wrap th,
.admin-table th,
.dash-table th {
  color: var(--palette-ink) !important;
  background: #f7f7f7 !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
}

.table-wrap td,
.admin-table td,
.dash-table td {
  border-color: rgba(0, 0, 0, 0.06) !important;
}

/* Brand badges: never invert on dark plates (was washing out Commitment seal) */
.brand-badge,
.brand-mark-sub .brand-badge,
.about-brand-logos .brand-badge,
.footer .brand-badge,
.header .brand-badge {
  filter: none !important;
}

/* ---------- Homepage stats strip — was white-on-white after light token remap ---------- */
.stats-section {
  background: #121212 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: #e8e8e8 !important;
  --color-white: #ffffff;
  --color-grey-500: #b8b8b8;
  --color-border: rgba(255, 255, 255, 0.14);
}

.stats-item-value,
.stats-section .stats-item-value {
  color: #ffffff !important;
}

.stats-item-label,
.stats-section .stats-item-label {
  color: #c0c0c0 !important;
}

.stats-item:not(:last-child):after {
  background: rgba(255, 255, 255, 0.16) !important;
}

/* About page mini-stats on light cards */
.about-stats-card {
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
}

.about-stat-value {
  color: #121212 !important;
}

.about-stat-label {
  color: #5c5c5c !important;
}

/* Team page stats strip — same white-on-white bug as homepage stats */
.team-stats-strip {
  background: #121212 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: #e8e8e8 !important;
  --color-white: #ffffff;
  --color-grey-500: #b8b8b8;
  --color-border: rgba(255, 255, 255, 0.14);
}

.team-stat strong {
  color: #ffffff !important;
}

.team-stat span {
  color: #c0c0c0 !important;
}

.team-stat {
  border-right-color: rgba(255, 255, 255, 0.14) !important;
}

.team-empty h2,
.team-empty h3,
.team-card-body h3,
.team-card-name,
.team-card-role {
  color: var(--palette-ink, #1a1a1a) !important;
}

.team-card-body p,
.team-card-bio,
.team-empty p {
  color: var(--palette-ink-soft, #2e2e2e) !important;
}

.team-card {
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  color: var(--palette-ink-soft, #2e2e2e) !important;
}

/* ========== v10: site-wide readable ink on light surfaces ========== */

/* Paper strips that still used white titles (trust / about / careers) */
.trust-strip,
.service-trust-strip,
.about-highlights-section,
.careers-perks-strip,
.careers-stats-section {
  background: #ffffff !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
  color: #2e2e2e !important;
}

.trust-item strong,
.service-trust-item strong,
.about-highlight-title,
.careers-perk strong {
  color: #1a1a1a !important;
}

.trust-item span,
.trust-item p,
.service-trust-item span,
.about-highlight-text,
.careers-perk span,
.careers-perk p {
  color: #5c5c5c !important;
}

/* Contact */
.contact-info-value,
a.contact-info-value,
.contact-hours-val,
.contact-info-card strong,
.contact-hours-card strong {
  color: #1a1a1a !important;
}

a.contact-info-value:hover {
  color: #000 !important;
}

.contact-hours-day,
.contact-emergency-text,
.contact-form-track-copy,
.hub-guest-banner p,
.client-request-panel-note {
  color: #5c5c5c !important;
}

.contact-info-label,
.contact-hours-label {
  color: #6a6a6a !important;
}

/* Blog */
.blog-featured-title,
.blog-card-title,
.blog-post-content h2,
.blog-post-content h3,
.blog-post-title,
.blog-hero h1 {
  color: #1a1a1a !important;
}

.blog-featured-excerpt,
.blog-post-excerpt,
.blog-post-content,
.blog-post-content p,
.blog-card-excerpt {
  color: #2e2e2e !important;
}

.blog-read-more,
.blog-post-content a,
.blog-meta,
.blog-card-meta {
  color: #4a4a4a !important;
}

.blog-featured:hover .blog-read-more,
.blog-card:hover .blog-read-more,
.blog-post-content a:hover {
  color: #111 !important;
}

.blog-card,
.blog-featured,
.blog-post-article {
  background: #ffffff !important;
  color: #2e2e2e !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
}

/* Services detail + cards */
.service-block h2,
.service-main h2,
.service-intro h2 {
  color: #1a1a1a !important;
}

.service-link,
.service-scroll-cta {
  color: #3a3a3a !important;
}

.service-card:hover .service-link,
.service-scroll-cta:hover {
  color: #111 !important;
}

.service-checklist li,
.service-why-grid li,
.service-reviews blockquote,
.service-hero-lead,
.service-lead-paragraph,
.service-chip-row li {
  color: #2e2e2e !important;
}

.service-related a {
  color: #3a3a3a !important;
}

.service-related a:hover,
.service-related a.is-current {
  color: #111 !important;
  background: rgba(0, 0, 0, 0.04) !important;
}

.service-why-icon,
.why-check {
  color: #3a3a3a !important;
}

.service-breadcrumb a {
  color: #5c5c5c !important;
}

.service-breadcrumb [aria-current="page"] {
  color: #2e2e2e !important;
}

.service-card h3,
.service-card .service-title {
  color: #1a1a1a !important;
}

.service-card p {
  color: #2e2e2e !important;
}

/* Reviews */
.review-author,
.review-card cite,
.reviews-admin-step strong {
  color: #1a1a1a !important;
}

.review-card blockquote,
.reviews-google-cta p {
  color: #2e2e2e !important;
}

.review-card {
  background: #ffffff !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
  color: #2e2e2e !important;
}

.review-avatar {
  background: #ececec !important;
  border-color: rgba(0, 0, 0, 0.12) !important;
  color: #2e2e2e !important;
}

.reviews-filter-btn,
.faq-category-btn {
  color: #3a3a3a !important;
  background: #ffffff !important;
  border-color: rgba(0, 0, 0, 0.12) !important;
}

.reviews-filter-btn:hover,
.faq-category-btn:hover {
  color: #111 !important;
  border-color: rgba(0, 0, 0, 0.22) !important;
  background: #f5f5f5 !important;
}

.reviews-filter-btn.is-active,
.faq-category-btn.is-active {
  color: #f0f0f0 !important;
  background: #1c1c1c !important;
  border-color: #1c1c1c !important;
}

/* Team extras */
.team-card-title,
.team-specialties h3,
.team-intro {
  color: #1a1a1a !important;
}

.team-intro {
  color: #2e2e2e !important;
}

.team-avatar-initials {
  color: #2e2e2e !important;
}

.team-specialties li,
.team-cta p {
  color: #5c5c5c !important;
}

/* Careers / jobs */
.careers-open-count,
.job-salary,
.job-card-section-title,
.job-meta .job-meta-badge {
  color: #2e2e2e !important;
}

.job-meta .job-meta-badge {
  background: #f0f0f0 !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
}

.job-card-desc,
.job-card-full-desc,
.job-card-section-body,
.careers-empty p,
.job-apply-meta,
.job-apply-file-zone,
.job-apply-success-steps li {
  color: #2e2e2e !important;
}

.job-card,
.job-card-full {
  background: #ffffff !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
  color: #2e2e2e !important;
}

.job-card h2,
.job-card h3,
.job-card-full h1,
.job-card-full h2 {
  color: #1a1a1a !important;
}

.careers-culture-list li span {
  color: #3a3a3a !important;
}

/* Legal / leave-review body (hero stays dark via .page-hero) */
.legal-body p,
.legal-body li,
.legal-body {
  color: #2e2e2e !important;
}

.legal-body a,
.legal-sidebar-footer a {
  color: #3a3a3a !important;
}

.legal-body a:hover {
  color: #111 !important;
}

.legal-sidebar-link {
  color: #3a3a3a !important;
}

.legal-sidebar-link.is-active {
  color: #111 !important;
  background: #f0f0f0 !important;
  border-color: rgba(0, 0, 0, 0.16) !important;
}

.leave-review-hero p,
.leave-review-step {
  color: #c0c0c0 !important;
}

.leave-review-form label,
.leave-review-form p,
.leave-review-card h2,
.leave-review-card h3 {
  color: #1a1a1a !important;
}

.leave-review-card {
  background: #ffffff !important;
  color: #2e2e2e !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
}

/* ========== v11: leave-review + empty states + residual polish ========== */
.leave-review-hero {
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: #e8e8e8 !important;
}

.leave-review-hero h1,
.leave-review-hero h2 {
  color: #f3f3f3 !important;
}

.leave-review-hero p {
  color: #c0c0c0 !important;
}

.leave-review-step {
  color: #5c5c5c !important;
}

.leave-review-step-num {
  background: #1c1c1c !important;
  color: #f0f0f0 !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}

.leave-review-google-btn {
  background: #1c1c1c !important;
  color: #f0f0f0 !important;
  border-color: #1c1c1c !important;
}

.leave-review-google-btn:hover {
  background: #000 !important;
  color: #fff !important;
}

.gallery-empty,
.reviews-empty,
.team-empty,
.faq-empty,
.blog-empty {
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.05);
}

.gallery-empty h3,
.reviews-empty h3,
.team-empty h2,
.team-empty h3,
.faq-empty h3,
.blog-empty h3 {
  color: #1a1a1a !important;
}

.gallery-empty p,
.reviews-empty p,
.team-empty p,
.faq-empty p,
.blog-empty p {
  color: #5c5c5c !important;
}

.team-empty-actions {
  gap: 0.85rem !important;
}

.team-empty-actions .btn {
  min-width: 150px;
}

.promo-banner,
.join-banner {
  background: linear-gradient(180deg, #1a1a1a 0%, #0d0d0d 100%) !important;
  color: #e8e8e8 !important;
}

.promo-banner h2,
.promo-banner h3,
.join-banner h2,
.join-banner h3 {
  color: #f3f3f3 !important;
}

.promo-banner p,
.join-banner p {
  color: #c0c0c0 !important;
}

.not-found-page h1,
.not-found-title {
  color: #1a1a1a !important;
}

.not-found-desc {
  color: #5c5c5c !important;
}

.hud-strip,
.live-status-bar {
  color: #2e2e2e !important;
  background: #ffffff !important;
  border-color: rgba(0, 0, 0, 0.1) !important;
}

/* Forms / misc public */
.form-group label,
.section-title .subtitle,
.not-found-desc,
.not-found-link {
  color: #2e2e2e !important;
}

.tag {
  color: #2e2e2e !important;
  background: #f0f0f0 !important;
  border-color: rgba(0, 0, 0, 0.1) !important;
}

.why-item strong,
.why-title,
.section .why-item h3 {
  color: #1a1a1a !important;
}

.why-desc,
.service-why-text small {
  color: #5c5c5c !important;
}

/* Global link default on paper (exclude chrome + buttons) */
.section a:not(.btn):not(.nav-link),
.page-content a:not(.btn),
.blog-post-content a,
.cms-page-body a {
  color: #3a3a3a !important;
}

.section a:not(.btn):hover,
.page-content a:not(.btn):hover {
  color: #111 !important;
}

/* Safety: any heading inside paper cards */
.card h1,
.card h2,
.card h3,
.card h4,
.card strong,
.page-content h1,
.page-content h2,
.page-content h3,
.page-content h4 {
  color: #1a1a1a !important;
}

.card p,
.card li,
.page-content p,
.page-content li {
  color: #2e2e2e !important;
}

/* Keep intentional dark overlays readable (do not ink these) */
.gallery-item-title,
.gallery-lightbox-caption p,
.work-showcase-caption,
.work-showcase-caption span,
.promo-link,
.cookie-consent-title,
.stats-item-value,
.team-stat strong {
  color: #ffffff !important;
}

.page-hero h1,
.page-hero h2,
.hero h1,
.cta-section h2 {
  color: #f3f3f3 !important;
}

.page-hero p,
.hero-lead,
.cta-section p {
  color: #c0c0c0 !important;
}
