/*
 * DIDC dark-surface contrast guard
 * --------------------------------
 * This file is deliberately scoped to the site's approved modern components.
 * It prevents legacy/global heading rules from painting navy text onto navy
 * panels while preserving DIDC red as the accent colour.
 */

/* Engagement model */
.em-page .em-comparison .em-section-head h2,
.em-page .em-constants .em-section-head h2,
.em-page .em-final h2,
.em-page .em-fit-results h3,
.em-page .em-constant-grid h3 {
  color: #fff !important;
}

.em-page .em-comparison .em-section-head > p,
.em-page .em-constants .em-section-head > p,
.em-page .em-final-layout > div:first-child > p:not(.em-kicker),
.em-page .em-fit-result > p,
.em-page .em-constant-grid p {
  color: rgba(255, 255, 255, .78) !important;
}

.em-page .em-comparison .em-kicker,
.em-page .em-constants .em-kicker,
.em-page .em-final .em-kicker {
  color: #ff6d88 !important;
}

.em-page .em-constant-grid article > span,
.em-page .em-table tbody th,
.em-page .em-table thead th:first-child {
  color: rgba(255, 255, 255, .62) !important;
}

.em-page .em-signal-grid strong,
.em-page .em-fit-result li,
.em-page .em-table td {
  color: rgba(255, 255, 255, .9) !important;
}

/* AI & ML firm */
.ai-firm-page .ai-connected .ai-section-head h2,
.ai-firm-page .ai-connected .ai-stack-card h3,
.ai-firm-page .ai-final-cta h2 {
  color: #fff !important;
}

.ai-firm-page .ai-connected .ai-section-head > p,
.ai-firm-page .ai-connected .ai-stack-card p,
.ai-firm-page .ai-final-cta p:not(.ai-kicker) {
  color: rgba(255, 255, 255, .78) !important;
}

.ai-firm-page .ai-connected .ai-kicker,
.ai-firm-page .ai-final-cta .ai-kicker {
  color: #ff6d88 !important;
}

/* Big data, analytics, IoT and knowledge intelligence pages */
.intel-page .intel-accelerators .intel-heading h2,
.intel-page .intel-accelerators .intel-accelerator-grid h3,
.intel-page .intel-final h2 {
  color: #fff !important;
}

.intel-page .intel-accelerators .intel-heading > p,
.intel-page .intel-accelerators .intel-accelerator-grid p,
.intel-page .intel-final p:not(.intel-kicker) {
  color: rgba(255, 255, 255, .78) !important;
}

.intel-page .intel-accelerators .intel-kicker,
.intel-page .intel-final .intel-kicker {
  color: #ff6d88 !important;
}

/* Integy ERP edition pages */
.ie-page .ie-workflow-section .ie-section-head h2,
.ie-page .ie-workflow-section .ie-stage h3,
.ie-page .ie-final h2 {
  color: #fff !important;
}

.ie-page .ie-workflow-section .ie-section-head > p,
.ie-page .ie-workflow-section .ie-stage p,
.ie-page .ie-final-copy > p {
  color: rgba(255, 255, 255, .78) !important;
}

.ie-page .ie-workflow-section .ie-kicker,
.ie-page .ie-final .ie-kicker {
  color: #ff6d88 !important;
}

/* Contact page */
#contact-root .contact-v2-hero h1,
#contact-root .contact-v2-expect strong,
#contact-root .contact-v2-brief-card h3,
#contact-root .contact-v2-brief-card strong,
#contact-root .contact-v2-visit .contact-v2-section-heading h2 {
  color: #fff !important;
}

#contact-root .contact-v2-hero-copy > p,
#contact-root .contact-v2-expect p,
#contact-root .contact-v2-brief-card li,
#contact-root .contact-v2-privacy-note p,
#contact-root .contact-v2-visit .contact-v2-section-heading > p {
  color: rgba(255, 255, 255, .78) !important;
}

/* CTA journey pages */
.cta-journey .cta-journey-next h2,
.cta-journey .cta-journey-next nav a {
  color: #fff !important;
}

.cta-journey .cta-journey-next p {
  color: rgba(255, 255, 255, .78) !important;
}

/* Client hub and client story pages */
.dcs-page .dcs-principles .dcs-section-head h2,
.dcs-story-page .dcs-system .dcs-section-head h2,
.dcs-page .dcs-cta-panel h2,
.dcs-story-page .dcs-cta-panel h2,
.dcs-story-page .dcs-context-card--solution h2,
.dcs-story-page .dcs-next-card--accent strong {
  color: #fff !important;
}

.dcs-page .dcs-principles .dcs-section-head > p,
.dcs-story-page .dcs-system .dcs-section-head > p,
.dcs-page .dcs-cta-panel p,
.dcs-story-page .dcs-cta-panel p,
.dcs-story-page .dcs-context-card--solution p {
  color: rgba(255, 255, 255, .78) !important;
}

.dcs-page .dcs-principle h3,
.dcs-story-page .dcs-system-node,
.dcs-story-page .dcs-signal-result strong {
  color: #fff !important;
}

.dcs-page .dcs-principle p {
  color: rgba(255, 255, 255, .74) !important;
}

/* Shared home/case-study components that opt into a dark surface. */
.home3 .section--dark h1,
.home3 .section--dark h2,
.home3 .section--dark h3,
.home3 .band h2,
.home3 .band h3,
.home3 .pipe__panel h2,
.home3 .pipe__panel h3,
.home3 .roi__result h2,
.home3 .roi__result h3 {
  color: #fff !important;
}

.home3 .section--dark p,
.home3 .section--dark li,
.home3 .band p,
.home3 .pipe__panel p,
.home3 .pipe__panel li,
.home3 .roi__result p {
  color: rgba(255, 255, 255, .78) !important;
}

/* Product-page conversion surfaces */
.petro-wrapper .final-cta-box h2,
.helix-wrapper .hlx-final-cta h2,
.helix-wrapper .hlx-final-cta h3,
.selexic-wrapper .slx-final-cta h2,
.selexic-wrapper .slx-final-cta h3,
.selexic-wrapper .final-cta-box h2,
.selexic-wrapper .final-cta-box h3,
.cura-wrapper .cura-final-cta h2,
.cura-wrapper .cura-final-cta h3 {
  color: #fff !important;
}

.petro-wrapper .final-cta-box p,
.helix-wrapper .hlx-final-cta p,
.selexic-wrapper .slx-final-cta p,
.selexic-wrapper .final-cta-box p,
.cura-wrapper .cura-final-cta p {
  color: rgba(255, 255, 255, .82) !important;
}
