/* Contraste reforzado para textos colocados sobre fotografía o fondos oscuros. */
.about-hero::after,
.quality-hero::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(110deg, rgba(8, 11, 9, 0.72), rgba(15, 16, 12, 0.56));
}

.about-hero-content,
.quality-hero > div {
  position: relative;
  z-index: 2;
}

.about-hero h1,
.quality-hero h1,
.editorial-hero h1,
.editorial-about h2,
.editorial-policy h2,
.editorial-services .editorial-section-heading h2,
.accredited-showcase .editorial-section-heading h2,
.editorial-projects .editorial-section-heading h2,
.home-service-content h3,
.technical-service-copy h2,
.about-principle h2,
.quality-principle h2,
.quality-standard h2 {
  color: #fff !important;
  opacity: 1 !important;
  text-shadow: 0 3px 18px rgba(0, 0, 0, 0.78), 0 1px 2px rgba(0, 0, 0, 0.95);
}

.about-hero-content > p,
.quality-hero > div > p:last-child,
.editorial-hero-copy > p,
.editorial-about > div:last-child,
.editorial-policy-copy > p,
.editorial-services .editorial-section-heading > p,
.editorial-projects .editorial-section-heading > p,
.about-principle p,
.quality-principle p,
.home-service-content li,
.technical-service-copy p,
.technical-service-copy li {
  color: rgba(255, 255, 255, 0.94) !important;
  opacity: 1 !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.72);
}

.home-service-content > span,
.home-service-content strong,
.technical-service-copy .eyebrow,
.technical-service-copy strong,
.about-principle > div > span,
.quality-principle > div > span {
  color: #f1df78 !important;
  text-shadow: 0 2px 7px rgba(0, 0, 0, 0.78);
}

.home-service-card,
.technical-service-card,
.editorial-services,
.accredited-showcase {
  color: #fff;
}

.home-service-slides figcaption,
.service-carousel figcaption {
  color: #fff !important;
  background: rgba(5, 10, 8, 0.78) !important;
  text-shadow: 0 1px 3px #000;
}
