.prose {
    --prose-space: var(--space-m);
    --prose-measure: var(--measure);

    container-type: inline-size;
    font-family: var(--font-serif);

    > * {
        max-inline-size: var(--prose-measure);
    }

    > * + * {
        margin-block-start: var(--prose-space);
    }

    h2 {
        font-family: var(--font-sans);
        font-size: 2em;
        font-style: normal;
        font-weight: 500;
        line-height: 106.25%;
        margin-block-start: var(--space-3xl);
    }

    h3 {
        font-family: var(--font-sans);
        font-size: 26px;
        font-style: normal;
        font-weight: 500;
        line-height: 130.769%;
        font-variant: all-small-caps;
        &:not(:first-child) {
            margin-block-start: var(--space-2xl);
        }
    }

    h4 {
        font-family: var(--font-sans);
        font-size: 24px;
        font-weight: 400;
        &:not(:first-child) {
            margin-block-start: var(--space-xl);
        }
    }

    h5 {
        font-family: var(--font-sans);
        font-size: 22px;
        font-weight: 400;
        &:not(:first-child) {
            margin-block-start: var(--space-l);
        }
    }

    p {
        font-size: var(--step-1);
        line-height: 33.84px;
    }

    & > p:first-child {
        margin-block-start: var(--space-2xl);
    }

    ul,
    ol {
        line-height: 33.84px;
    }

    ul {
        list-style-type: circle;
    }

    li {
        font-size: 24px;
    }

    li:not(:last-child) {
        margin-bottom: calc((33.84px) / 2);
    }

    figure {
        font-family: var(--font-sans);
        font-size: var(--step--1);
        font-style: italic;
        line-height: 140%;
        &:first-child {
            margin-block-start: var(--space-2xl);

            + p {
                margin-block-start: var(--space-3xl);
            }
        }
    }

    figcaption {
        margin-top: var(--space-xs);
        a {
            text-decoration-thickness: 1px;
            text-underline-offset: 1.5px;

            &:hover {
                color: #96000c;
                text-decoration-color: currentcolor;
                text-decoration-thickness: 1px;
            }
        }
    }

    .full-bleed > figcaption {
        max-inline-size: var(--prose-measure);
        @media (width >= 800px) {
            margin-inline-start: calc(var(--space-l) * 2);
            max-inline-size: calc(
                var(--prose-measure) - (var(--space-l) * 2)
            );
        }
    }

    blockquote {
        margin-right: 0;
        border-inline-start: solid 6px #96000c;
        padding-inline-start: var(--space-s);
        font-weight: 500;
    }

    hr {
        margin: var(--space-l) 0;
    }

    span.dropcap {
        float: left;
        font-size: 70px;
        line-height: 56px;
        margin: 6px 4px -4px 0;
    }

    sup {
        line-height: 0;
        font-size: var(--step--1);
    }

    strong {
        font-weight: 600;
    }

    .mantra {
        text-transform: uppercase;
        font-size: 18px;
        font-weight: 600;
    }
}
