/* Server-rendered, validated rich text. No editor runtime on public pages. */
.rich-content { color: var(--c-ink-soft); font-size: var(--fs-body); line-height: 1.85; overflow-wrap: anywhere; }
.rich-content--page { width: min(52rem, calc(100% - clamp(2rem, 4vw, 4rem))); margin: clamp(2.5rem, 1rem + 5vw, 6rem) auto; }
.rich-content h1 { color: var(--c-ink); font-size: var(--fs-h1); line-height: 1.12; letter-spacing: -.045em; }
.rich-content h2, .rich-content h3 { color: var(--c-ink); font-weight: 500; letter-spacing: -.035em; line-height: 1.3; }
.rich-content h2 { margin: 1.8em 0 .7em; font-size: var(--fs-h2); }
.rich-content h3 { margin: 1.5em 0 .6em; font-size: var(--fs-h3); }
.rich-content p { margin: 1em 0; }
.rich-content a { color: var(--c-red-500); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.rich-content a:hover { color: var(--c-red-700); }
.rich-content ul, .rich-content ol { padding-left: 1.6em; margin: 1.2em 0; list-style-position: outside; }
.rich-content ul { list-style-type: disc; }
.rich-content ol { list-style-type: decimal; }
.rich-content li { margin: .4em 0; }
.rich-content li > p { margin: .3em 0; }
.rich-content li::marker { color: var(--c-red-500); }
.rich-content blockquote { margin: 1.8em 0; padding: .25em 0 .25em clamp(1rem, .7rem + 1vw, 2rem); border-left: 3px solid var(--c-red-400); color: var(--c-ink); font-size: var(--fs-lg); }
.rich-content hr { height: 1px; margin: clamp(1.75rem, 1rem + 2vw, 3rem) 0; border: 0; background: var(--c-line); }
.rich-content code { padding: .15em .35em; border: 1px solid var(--c-line); border-radius: .3em; color: var(--c-red-700); background: var(--c-surface-alt); font-family: var(--font-numeric); font-size: .85em; }
.rich-content figure { margin: clamp(1.5rem, 1rem + 2vw, 3rem) 0; }
.rich-content figure img { display: block; width: 100%; height: auto; border-radius: clamp(.4rem, .25rem + .5vw, .9rem); }
.rich-content figcaption { margin-top: .8rem; color: var(--c-muted); font-size: var(--fs-sm); line-height: 1.6; text-align: center; }
.rich-content strong { color: var(--c-ink); font-weight: 650; }
.rich-content > :last-child { margin-bottom: 0; }
