.text-content {
    &.layout {
        --layout-width: 70rem;
        grid-row-gap: unset;
    }

    h1, h2, h3 {
        margin-bottom: 2.4rem;
        color: var(--heading-color);
        line-height: 1.3;

        margin-top: 3.6rem;
    }

    h1 {
        font-size: var(--font-xlarge);
    }

    h2 {
        font-size: var(--font-large);
    }

    h4 {
        font-size: var(--font-small);
        font-weight: 800;
        margin-bottom: 1rem;
    }

    p:has(img) {
        text-align: center;
    }

    p, li {
        font-size: var(--font-small);
        line-height: 1.8;
    }

    p, ul, ol, pre {
        margin-bottom: 2rem;
    }

    ul li, ol li {
        list-style: outside;
        margin-left: 2rem;

        margin-bottom: .5rem;
    }

    ul li {
        list-style: disc;
    }

    ol li {
        list-style: decimal;
    }

    a {
        color: var(--font-color-highlight);
        text-decoration: underline;
    }

    img {
        max-width: 100%;
        border-radius: 2px;
    }

    pre, code {
        font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace;
        font-size: var(--font-xsmall);
        width: 100%;
        border: 1px solid var(--border-color);
        border-radius: 2px;
    }

    pre {
        padding: .5rem;
        margin-bottom: 1rem;
        overflow: auto;

        border: 1px solid var(--border-color);
        border-left-width: .5rem;
        background-color: color-mix(in srgb, var(--border-color), transparent 93%);
    }

    code {
        padding: .25rem .5rem;
        line-height: 1.5em;
        background-color: color-mix(in srgb, var(--border-color), transparent 93%);
        text-wrap: nowrap;
    }

    pre code {
        border: none;
        display: block;
        background-color: transparent;
    }

    hgroup {
        gap: 0;
        text-align: left;
        text-wrap: auto;
        margin-bottom: 2rem;

        > * {
            margin-block: 0;
        }

        span {
            font-weight: 400;
            font-style: italic;
            margin-bottom: 1rem;
        }
    }

    .author {
        font-size: var(--font-small);

        display: flex;
        align-items: center;
        gap: 1.5rem;
        margin-top: .75rem;

        img {
            height: 5rem;
            width: 5rem;
            border-radius: 50%;
        }
    }
}