:root {
    --content-ink: #2f2d2a;
    --content-blue: #2f3a46;
    --content-border: #b7a78c;
    --content-paper: #f7f1e3;
}

body.rich-text,
.rich-text {
    color: var(--content-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(18px, 1.25vw, 20px);
    line-height: 1.85;
    overflow-wrap: anywhere;
}

body.rich-text {
    max-width: 820px;
    margin: 0 auto;
    padding: 28px 34px 70px;
    background: var(--content-paper);
}

.rich-text > :first-child { margin-top: 0; }
.rich-text > :last-child { margin-bottom: 0; }
.rich-text p { margin: 0 0 1.25em; }
.rich-text h2,
.rich-text h3,
.rich-text h4 {
    color: var(--content-ink);
    font-family: "Arial Narrow", Arial, sans-serif;
    font-weight: 700;
    line-height: 1.18;
}
.rich-text h2 { margin: 1.7em 0 .6em; font-size: clamp(31px, 4vw, 42px); text-transform: uppercase; }
.rich-text h3 { margin: 1.55em 0 .55em; font-size: clamp(25px, 3vw, 32px); }
.rich-text h4 { margin: 1.4em 0 .5em; font-size: clamp(21px, 2.5vw, 26px); }
.rich-text ul,
.rich-text ol { margin: 0 0 1.35em; padding-left: 1.6em; }
.rich-text li { margin: .35em 0; }
.rich-text a { color: var(--content-blue); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.rich-text blockquote { margin: 1.8em 0; padding: 10px 0 10px 28px; border-left: 4px solid #4f6b7a; color: var(--content-blue); font-size: 1.08em; font-style: italic; }
.rich-text img { max-width: 100%; height: auto; margin-inline: auto; }
.rich-text figure { max-width: 100%; margin: 2em 0; }
.rich-text figcaption { margin-top: 8px; color: #786a54; font: 14px/1.5 Arial, sans-serif; text-align: center; }
.rich-text table { display: block; width: 100%; margin: 1.7em 0; overflow-x: auto; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 16px; }
.rich-text th,
.rich-text td { min-width: 110px; padding: 10px 12px; border: 1px solid var(--content-border); text-align: left; }
.rich-text th { background: rgb(79 107 122 / 12%); }
.rich-text hr { margin: 2em 0; border: 0; border-top: 1px solid var(--content-border); }

@media (max-width: 620px) {
    body.rich-text,
    .rich-text { font-size: 18px; line-height: 1.75; }
    body.rich-text { padding: 22px 18px 55px; }
}
