/* Final contrast layer: loaded after the visual system so responsive rules cannot
   return small text to the decorative orange used on dark backgrounds. */
h1 em,
h2 em,
.eyebrow,
.number-list span,
.work-list b,
.notice small,
.process-step > small,
.process-step a,
.route-card:not(.accent) a,
.article-aside a,
.builder-step legend > span,
.textarea-label > span,
.choice-grid label > span small,
.editorial-note small,
.article-aside > span,
.article-content section > small,
.mobile-menu nav small,
.guide-body > p b,
.faq-item summary span,
.giant-quote,
.manifesto h2 em {
  color: var(--accent-text);
}

.hero h1 em,
.hero h2 em,
.page-hero h1 em,
.page-hero h2 em,
.service-hero h1 em,
.service-hero h2 em,
.article-hero h1 em,
.article-hero h2 em,
.dark-section h1 em,
.dark-section h2 em,
.final-cta h1 em,
.final-cta h2 em,
.priority-panel h2 em,
.factor-panel h2 em,
.honesty-panel h2 em,
.not-found h1 em,
.hero .eyebrow,
.page-hero .eyebrow,
.service-hero .eyebrow,
.article-hero .eyebrow,
.dark-section .eyebrow,
.final-cta .eyebrow,
.not-found .eyebrow,
.dark-section .faq-item summary span {
  color: var(--accent);
}

.result-section h2 em,
.route-card.accent a,
.choice-grid input:checked + span small {
  color: var(--ink);
}

.result-section,
.result-section .result-title small,
.result-section .result-title h2,
.result-section .result-cards span,
.result-section .result-cards h3,
.result-section .result-cards p {
  color: var(--ink);
}

.signal-strip {
  color: var(--ink);
}

:focus-visible {
  outline-color: var(--accent-text);
  outline-width: 3px;
  box-shadow: 0 0 0 2px var(--white);
}

.scan-label,
.hero-bottom {
  color: rgba(255,255,255,.72);
}
