
.ra-prose { max-width: 76ch; }
.ra-prose > :first-child { margin-top: 0; }
.ra-prose > :last-child { margin-bottom: 0; }
.ra-prose p {
  color: var(--muted);
  font-size: 16.5px;
  line-height: 1.7;
  margin: 0 0 20px;
}
.ra-prose strong { color: var(--text); font-weight: 600; }
.ra-prose a {
  color: var(--accent);
  border-bottom: 1px solid rgba(var(--accent-rgb), 0.35);
  transition: border-color var(--transition-fast);
}
.ra-prose a:hover,
.ra-prose a:focus-visible { border-bottom-color: var(--accent); }
.ra-prose h3 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 22px;
  letter-spacing: -0.01em;
  line-height: 1.25;
  color: var(--text);
  margin: 36px 0 16px;
}
.ra-prose ol {
  margin: 0 0 20px;
  padding-left: 24px;
  color: var(--muted);
  font-size: 16.5px;
  line-height: 1.7;
}
.ra-prose ol li { margin-bottom: 14px; }
.ra-prose ol li:last-child { margin-bottom: 0; }
.ra-prose ol li::marker {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 13px;
}

/* Vertical rhythm where this page stacks the shared blocks. .bullets already
   carries a bottom margin and .wp-table-wrap a top margin; .panel and
   .ra-prose carry neither, so without these they butt against the block above.
   .section__head already supplies 48px, so the table directly under a head
   does not need its own. */
.section__inner > .ra-prose + .panel,
.section__inner > .ra-prose + .bullets,
.section__inner > .wp-table-wrap + .ra-prose { margin-top: 28px; }
.section__inner > .section__head + .wp-table-wrap { margin-top: 0; }

/* .hero__panel h2: styled by the site stylesheet now (owner D-233, 2026-10-06). */
