.blog-prose {
    color: var(--color-copy);
    font-size: 1.125rem;
    line-height: 1.9;
    overflow-wrap: anywhere;
}
.blog-prose > * + *, .blog-prose .rich-text > * + * { margin-top: 1.4em; }
.blog-prose h2, .blog-prose h3, .blog-prose h4 {
    color: var(--color-ink);
    font-weight: 600;
    line-height: 1.3;
    margin-top: 1.6em;
}
.blog-prose h2 { font-size: 1.8em; }
.blog-prose h3 { font-size: 1.4em; }
.blog-prose h4 { font-size: 1.15em; }
.blog-prose a { text-decoration: underline; text-underline-offset: .2em; }
.blog-prose a:hover { color: #fff; }
.blog-prose ul, .blog-prose ol { padding-inline-start: 1.5em; }
.blog-prose ul { list-style: disc; }
.blog-prose ol { list-style: decimal; }
.blog-prose li + li { margin-top: .4em; }
.blog-prose blockquote { border-inline-start: 2px solid var(--color-tag-line); padding-inline-start: 1.4em; font-style: italic; }
.blog-prose:has(table) { overflow-x: auto; }
.blog-prose table { width: 100%; border-collapse: collapse; font-size: .9em; }
.blog-prose th, .blog-prose td { border: 1px solid var(--color-line); padding: .65em .9em; text-align: start; }
.blog-prose th { background: var(--color-surface); color: var(--color-ink); font-weight: 600; }
.blog-prose caption { padding-bottom: .6em; text-align: start; }
.blog-prose img, .blog-prose video { max-width: 100%; height: auto; }
.blog-prose iframe { max-width: 100%; }
.blog-prose .responsive-object { position: relative; }
.blog-prose .responsive-object iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
@media (max-width: 639px) {
    .blog-prose { font-size: 1rem; }
}
