/* =========================================
   Markdown Text (Paired CSS)
   ========================================= */
.markdown-text {
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: 70ch;
    /* Enforce stable reading width regardless of layout wrappers */

    /* Hardware acceleration to prevent text flickering/layout jumps during surrounding reveals */
    backface-visibility: hidden;
    transform: translateZ(0);
    will-change: opacity;
}

.markdown-text__h2 {
    font-size: 26px;
    line-height: 34px;
    /* Explicit line-height stabilization */
    font-weight: 700;
    color: var(--color-justice-blue, #1F3D63);
    margin: 32px 0 0 0;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--color-light-grey, #E0E0DC);
    scroll-margin-top: 120px;

    /* Keep headings perfectly stable even if the parent container is animated */
    position: relative;
    transform: none !important;
}

.markdown-text__p {
    font-size: 18px;
    line-height: 1.8;
    /* Explicit line-height stabilization */
    color: var(--color-neutral-navy, #102030);
    opacity: 0.85;
    margin: 0;
    transform: none !important;
}

.markdown-text__list {
    margin: 0;
    padding-left: 24px;
    font-size: 18px;
    line-height: 1.8;
    /* Explicit line-height stabilization */
    color: var(--color-neutral-navy, #102030);
    opacity: 0.85;
    transform: none !important;
}

.markdown-text__list-item {
    margin-bottom: 12px;
}

.markdown-text__bold {
    font-weight: 700;
    color: var(--color-justice-blue, #1F3D63);
    opacity: 1;
}

@media (max-width: 768px) {
    .markdown-text__h2 {
        font-size: 22px;
        line-height: 1.35;
    }

    .markdown-text__p,
    .markdown-text__list {
        font-size: 16px;
    }
}