/* Shared block-editor and published-content typography. */
:where(.rcv-entry-content, .editor-styles-wrapper) {
    color: #3f3f3f;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 1.0625rem;
    line-height: 1.8;
    overflow-wrap: break-word;
}

:where(.rcv-entry-content, .editor-styles-wrapper) > :first-child { margin-top: 0; }
:where(.rcv-entry-content, .editor-styles-wrapper) > :last-child { margin-bottom: 0; }

:where(.rcv-entry-content, .editor-styles-wrapper) :is(h1, h2, h3, h4, h5, h6) {
    color: #0e0f10;
    font-family: Manrope, Inter, sans-serif;
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.2;
}

:where(.rcv-entry-content, .editor-styles-wrapper) h1 { font-size: clamp(2.25rem, 5vw, 3.5rem); margin: 0 0 1.5rem; }
:where(.rcv-entry-content, .editor-styles-wrapper) h2 { font-size: clamp(1.75rem, 4vw, 2.25rem); margin: 3rem 0 1.15rem; }
:where(.rcv-entry-content, .editor-styles-wrapper) h3 { font-size: clamp(1.4rem, 3vw, 1.75rem); margin: 2.5rem 0 1rem; }
:where(.rcv-entry-content, .editor-styles-wrapper) h4 { font-size: 1.25rem; margin: 2rem 0 .75rem; }
:where(.rcv-entry-content, .editor-styles-wrapper) h5 { font-size: 1.1rem; margin: 1.75rem 0 .65rem; }
:where(.rcv-entry-content, .editor-styles-wrapper) h6 { font-size: 1rem; margin: 1.5rem 0 .5rem; text-transform: uppercase; letter-spacing: .08em; }

:where(.rcv-entry-content, .editor-styles-wrapper) p { margin: 0 0 1.35rem; }
:where(.rcv-entry-content, .editor-styles-wrapper) strong { color: #161616; font-weight: 700; }
:where(.rcv-entry-content, .editor-styles-wrapper) em { font-style: italic; }

:where(.rcv-entry-content, .editor-styles-wrapper) a {
    color: #e11d2a;
    font-weight: 600;
    text-decoration: underline;
    text-decoration-thickness: .08em;
    text-underline-offset: .16em;
}
:where(.rcv-entry-content, .editor-styles-wrapper) a:hover { color: #b3121d; }

:where(.rcv-entry-content, .editor-styles-wrapper) :is(ul, ol) {
    margin: 1.25rem 0 1.5rem;
    padding-left: 1.75rem;
}
:where(.rcv-entry-content, .editor-styles-wrapper) ul { list-style: disc; }
:where(.rcv-entry-content, .editor-styles-wrapper) ol { list-style: decimal; }
:where(.rcv-entry-content, .editor-styles-wrapper) li { margin: .45rem 0; padding-left: .25rem; }
:where(.rcv-entry-content, .editor-styles-wrapper) li::marker { color: #e11d2a; font-weight: 700; }
:where(.rcv-entry-content, .editor-styles-wrapper) li > :is(ul, ol) { margin: .4rem 0; }

:where(.rcv-entry-content, .editor-styles-wrapper) blockquote {
    background: #f4f5f6;
    border-left: .35rem solid #e11d2a;
    border-radius: 0 1rem 1rem 0;
    color: #2b2b2b;
    font-size: 1.15em;
    font-style: italic;
    margin: 2rem 0;
    padding: 1.5rem 1.75rem;
}
:where(.rcv-entry-content, .editor-styles-wrapper) blockquote > :last-child { margin-bottom: 0; }

:where(.rcv-entry-content, .editor-styles-wrapper) :is(figure, .wp-block-image, .wp-block-gallery, .wp-block-embed) {
    margin-bottom: 2rem;
    margin-top: 2rem;
}
:where(.rcv-entry-content, .editor-styles-wrapper) img { border-radius: 1rem; height: auto; max-width: 100%; }
:where(.rcv-entry-content, .editor-styles-wrapper) figcaption,
:where(.rcv-entry-content, .editor-styles-wrapper) .wp-element-caption {
    color: #6b6b6b;
    font-size: .875rem;
    line-height: 1.5;
    margin-top: .65rem;
    text-align: center;
}

:where(.rcv-entry-content, .editor-styles-wrapper) table {
    border-collapse: collapse;
    display: block;
    margin: 2rem 0;
    max-width: 100%;
    overflow-x: auto;
    width: 100%;
}
:where(.rcv-entry-content, .editor-styles-wrapper) :is(th, td) { border-bottom: 1px solid #cdd2d6; padding: .8rem 1rem; text-align: left; }
:where(.rcv-entry-content, .editor-styles-wrapper) th { background: #f4f5f6; color: #161616; font-family: Manrope, sans-serif; font-weight: 700; }

:where(.rcv-entry-content, .editor-styles-wrapper) :is(pre, code, kbd) { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
:where(.rcv-entry-content, .editor-styles-wrapper) code { background: #f4f5f6; border-radius: .3rem; color: #b3121d; font-size: .9em; padding: .15em .35em; }
:where(.rcv-entry-content, .editor-styles-wrapper) pre { background: #161616; border-radius: 1rem; color: #fff; margin: 2rem 0; overflow-x: auto; padding: 1.25rem 1.5rem; }
:where(.rcv-entry-content, .editor-styles-wrapper) pre code { background: transparent; color: inherit; padding: 0; }

:where(.rcv-entry-content, .editor-styles-wrapper) hr { border: 0; border-top: 2px solid #e4e6e9; margin: 3rem auto; }
:where(.rcv-entry-content, .editor-styles-wrapper) .has-text-align-center { text-align: center; }
:where(.rcv-entry-content, .editor-styles-wrapper) .has-text-align-right { text-align: right; }
:where(.rcv-entry-content, .editor-styles-wrapper) .wp-block-button__link {
    background: #e11d2a;
    border-radius: 9999px;
    color: #fff;
    display: inline-block;
    font-family: Manrope, sans-serif;
    font-weight: 700;
    padding: .8rem 1.5rem;
    text-decoration: none;
}
:where(.rcv-entry-content, .editor-styles-wrapper) .wp-block-button__link:hover { background: #b3121d; color: #fff; }

@media (max-width: 640px) {
    :where(.rcv-entry-content, .editor-styles-wrapper) { font-size: 1rem; line-height: 1.75; }
}

/* Class specificity keeps Tailwind's late-injected base reset from flattening articles. */
.rcv-entry-content :is(h1, h2, h3, h4, h5, h6) {
    color: #0e0f10;
    font-family: Manrope, Inter, sans-serif;
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.2;
}
.rcv-entry-content h1 { font-size: clamp(2.25rem, 5vw, 3.5rem); margin: 0 0 1.5rem; }
.rcv-entry-content h2 { font-size: clamp(1.75rem, 4vw, 2.25rem); margin: 3rem 0 1.15rem; }
.rcv-entry-content h3 { font-size: clamp(1.4rem, 3vw, 1.75rem); margin: 2.5rem 0 1rem; }
.rcv-entry-content h4 { font-size: 1.25rem; margin: 2rem 0 .75rem; }
.rcv-entry-content p { margin: 0 0 1.35rem; }
.rcv-entry-content a { color: #e11d2a; font-weight: 600; text-decoration: underline; }
.rcv-entry-content :is(ul, ol) { margin: 1.25rem 0 1.5rem; padding-left: 1.75rem; }
.rcv-entry-content ul { list-style: disc; }
.rcv-entry-content ol { list-style: decimal; }
.rcv-entry-content li { display: list-item; margin: .45rem 0; }
.rcv-entry-content blockquote { margin: 2rem 0; }
.rcv-entry-content :is(figure, .wp-block-image, .wp-block-gallery, .wp-block-embed) { margin-bottom: 2rem; margin-top: 2rem; }
