/* Shared layout and typography come from /legal/docs.css, as in STEP Reviewer. */
body { overflow-wrap: anywhere; }
a:focus-visible { outline: 3px solid var(--tint); outline-offset: 4px; border-radius: 4px; }
main:focus { outline: none; }
.top-bar-title { white-space: normal; overflow: visible; }
.page-title { line-height: 1.2; }
.quick-answer-label { margin-top: 0; }
.page-nav { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0 0 18px; }
.page-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px; }
.page-nav a[aria-current="page"] { color: var(--text-label); font-weight: 600; text-decoration: underline; text-underline-offset: 5px; }
.section-heading { scroll-margin-top: 20px; }
.section-heading::before { flex: 0 0 auto; }
.group-item p a { text-decoration: underline; text-underline-offset: 3px; }
.steps { padding-left: 24px; }
.steps li { margin-bottom: 10px; padding-left: 4px; }
.page-footer .page-footer-legal { margin-top: 10px; }
@media (max-width: 640px) {
  .top-bar-brand { justify-content: center; }
  .top-bar-title { text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  .page-shell { animation: none; }
  .skip-link { transition: none; }
}
@media print {
  .top-bar, .page-nav, .related-links, .skip-link { display: none; }
  .page-shell { width: 100%; padding: 0; animation: none; }
  .group-card, .quick-answer { box-shadow: none; }
  .group-item { break-inside: avoid; }
}
