/* ==========================================================================
   Component: prose  (.prose — rich text from the admin: news bodies,
   legal pages). Comfortable reading size and rhythm, h2/h3 that clear the
   sticky header when linked, teal links and list markers, lemon quote bar.
   ========================================================================== */

.prose { font-size: var(--fs-md); line-height: 1.9; color: var(--ink); }
.prose > * + * { margin-top: 1.1em; }
.prose h2 { margin-top: 1.8em; font-size: var(--fs-lg); line-height: 1.4; scroll-margin-top: calc(var(--header-h) + var(--s-4)); }
.prose h3 { margin-top: 1.5em; font-size: var(--fs-md); scroll-margin-top: calc(var(--header-h) + var(--s-4)); }
.prose a { color: var(--teal); text-decoration: underline; text-underline-offset: 0.25em; }
.prose ul, .prose ol { padding-inline-start: 1.4em; }
.prose ul { list-style: disc; }
.prose ol { list-style: decimal; }
.prose li + li { margin-top: 0.4em; }
.prose li::marker { color: var(--teal); }
.prose img { border-radius: var(--r-md); height: auto; }
.prose blockquote { padding: var(--s-4) var(--s-5); border-inline-start: 4px solid var(--lemon); border-radius: var(--r-md); background: var(--card-soft); font-weight: 600; }
.prose table { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); }
.prose th, .prose td { padding: var(--s-2) var(--s-3); border-bottom: 1px solid var(--line); text-align: start; }
