/* v58: Restore legible white body copy on dark/navy panels.
   Restrict changes to display text: do not restyle inputs, labels or contact forms. */
#root .dd-home-hero p:not(form *),
#root .dd-home-hero-content p:not(form *),
#root .always-dark p:not(form *),
#root .always-dark li:not(form *),
#root .always-dark small:not(form *),
#root .always-dark .text-brand-offwhite\/45:not(form *),
#root .always-dark .text-brand-offwhite\/60:not(form *),
#root section.bg-brand-navy p:not(form *),
#root section.bg-brand-navy li:not(form *),
#root div.bg-brand-navy p:not(form *),
#root footer.bg-brand-navy p:not(form *),
#root footer.bg-brand-navy small:not(form *),
#root [class*="from-brand-navy"] p:not(form *) {
  color: #ffffff !important;
  opacity: 1 !important;
}
/* Services introductory image/gradient hero: both image and overlay are dark. */
#root section:has(> div > img.opacity-35) > div.relative p:not(form *),
#root section:has(> div > div[class*="bg-gradient-to-r"]) > div.relative p:not(form *) {
  color: #ffffff !important;
  opacity: 1 !important;
}
/* Blue hover states override previously forced black paragraph copy. */
#root [class*="hover:bg-brand-navy"]:hover :is(p,li,small,span):not(form *),
#root [class*="group-hover:bg-brand-navy"]:hover :is(p,li,small,span):not(form *),
#root .dd-process-step-card:hover :is(p,li,small,span):not(form *) {
  color: #ffffff !important;
  opacity: 1 !important;
}
/* Explicitly retain black copy on pale cards only when not hovered blue. */
