/* Public rich-text typography. Editor chrome remains in the CMS only. */
.rich-content { min-width: 0; overflow-wrap: anywhere; font-family: var(--font); font-size: var(--body-size,20px); line-height: 1.8; }
.rich-content p { margin: 0 0 1.2em; color: var(--muted); }
.rich-content h2,.rich-content h3 { font-family: var(--font); color: var(--text); line-height: 1.4; font-weight: 700; letter-spacing: -.02em; }
.rich-content h2 { font-size: clamp(26px,2.4vw,34px); margin: 1.6em 0 .65em; }
.rich-content h3 { font-size: clamp(22px,2vw,27px); margin: 1.4em 0 .6em; }
.rich-content>:first-child { margin-top: 0; }
.rich-content strong { font-weight: 700; }
.rich-content em { font-style: italic; }
.rich-content u { text-underline-offset: 3px; }
.rich-content ol,.rich-content ul { margin: 0 0 1.3em; padding-inline-start: 1.7em; list-style-position: outside; }
.rich-content ol { list-style-type: decimal; }
.rich-content ul { list-style-type: disc; }
.rich-content li { margin: .35em 0; color: var(--muted); padding-inline-start: .15em; }
.rich-content li>ol,.rich-content li>ul { margin: .5em 0; }
.rich-content blockquote { margin: 1.5em 0; padding: 16px 24px; border-inline-start: 3px solid var(--accent); background: var(--cream); }
.rich-content blockquote p:last-child { margin-bottom: 0; }
.rich-content a { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.rich-content a:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.rich-content img { display: inline-block; width: auto; max-width: 100%; height: auto; max-height: none; object-fit: contain; vertical-align: middle; border-radius: 4px; margin-block: .5em; }
.rich-content .ql-align-center { text-align: center; }
.rich-content .ql-align-right { text-align: right; }
.rich-content .ql-align-justify { text-align: justify; }
@media(max-width:600px) {
    .rich-content { font-size: 18px; line-height: 1.8; }
    .rich-content blockquote { margin-inline: 0; padding: 14px 18px; }
    .rich-content ol,.rich-content ul { padding-inline-start: 1.4em; }
}
