/*
 * Every text element that sits directly on the brand-blue background must be
 * pure white. The selectors stay scoped to blue surfaces so white cards,
 * forms and white CTA buttons keep their dark text.
 */
:is(
  .hero,
  .article-hero,
  .comparison-card-destination,
  .editorial-card-accent,
  .ruc-price-card-featured
) :is(h1, h2, h3, h4, p, li, span, strong, small, label),
.section-ink :is(
  .section-heading,
  .split,
  .method-list,
  .audience-list,
  .steps
) :is(h1, h2, h3, h4, p, li, span, strong, small, label),
:is(.cta-section, .source-cta) :is(
  h1,
  h2,
  h3,
  h4,
  p,
  li,
  span,
  strong,
  small,
  label
),
.source-contact-info > :is(h1, h2, h3, h4, p, span, strong, small),
.source-contact-info :is(
  .source-contact-map-head,
  .source-contact-details
) :is(h1, h2, h3, h4, p, li, span, strong, small, label, a),
.contact-page .contact-intro :is(
  h1,
  h2,
  h3,
  h4,
  p,
  li,
  span,
  strong,
  small,
  label,
  a
) {
  color: #fff !important;
}

/* Compact blue controls and labels also follow the same contrast rule. */
:is(
  .button-primary,
  .comparison-vs > span,
  .team-position-tag,
  .pricing-popular,
  .people-selector button.is-active,
  .guarantees-grid article > span,
  .document-example-ruc-head > span,
  .source-process-image > span
) {
  color: #fff !important;
}

/* Keep team portraits clipped inside their circular frames. */
.team-profile-photo {
  overflow: hidden;
}

.team-profile-photo > img {
  width: 100%;
  height: 100%;
  border-radius: 50% !important;
  object-fit: cover;
  object-position: center 20%;
}

/* Localized Trustindex widgets replace the fixed review cards on home pages. */
.reviews-strip-trustindex {
  overflow: visible;
  padding: 28px 0;
}

.reviews-strip-trustindex .trustindex-widget-shell {
  min-width: 0;
}
