    .wrap {
        max-width: 960px;
    }

    /* ── Listing view ───────────────────────────── */

    .journal-intro {
        margin: 0 0 40px;
    }

    .journal-intro-text.page-intro-text {
        max-width: 640px;
    }

    .journal-legend {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 6px 0;
        margin: 24px auto 32px 0;
        padding: 0;
        list-style: none;
        width: fit-content;
    }
        @media (min-width: 768px) {
            .journal-legend {
                margin: 24px 0 0 auto;
            }
        }

    .journal-legend-item {
        display: flex;
        align-items: center;
        gap: 5px;
        font: 400 0.8em/1.6em "FK Raster Grotesk Smooth", sans-serif;
        letter-spacing: -0.015em;
        color: #2544A8;
    }

    .journal-legend-item:not(:last-child)::after {
        content: '·';
        margin: 0 8px;
    }

    .journal-legend-icon {
        font-size: 1em;
        line-height: 1;
    }

    .journal-section {
        margin: 2.5em 0 0;
        border-bottom: 2px solid #2544A8;
        padding: 0 0 2.5em 0;
    }

        .journal-section:first-child {
            margin-top: 1.5em;
        }

        .journal-section:first-child .journal-chapter-name {
            /* Safe on desktop: .journal-chapter-header is a grid item there
               (see the min-width: 768px block below), and grid items don't
               let a child's margin collapse into the item's own box — so
               this only nudges the heading text itself, never the sticky
               box's position or the entries column next to it. */
            margin-top: -2em;
        }

        .journal-section:last-child {
            border-bottom: none;
        }

        @media (max-width: 768px) {
            .journal-section:first-child {
                margin-top: 1em;
            }

            .journal-section:first-child .journal-chapter-name {
                margin: 0 0 0.5em;
            }
        }

    .journal-chapter-name {
        font: 400 1.6em/1.4em "FK Raster Grotesk Smooth", sans-serif;
        color: #2544A8;
        margin: 0 0 0.5em;
        text-align: left;
    }

    .journal-chapter-years {
        display: block;
        font: 400 0.85em/1.7em "FK Raster Grotesk Smooth", sans-serif;
        color: #2544A8;
        margin: 0 0 0.75em;
    }

    .journal-chapter-desc {
        font-size: 0.95em;
        line-height: 1.5em;
        margin: 0 0 20px;
    }

    .journal-entries {
        display: flex;
        flex-direction: column;
        gap: 12px;
        margin: 0;
    }

    .journal-card {
        display: flex;
        align-items: flex-start;
        gap: 16px;
        padding: 1.25em;
        border: 1px solid #2544A8;
        border-bottom-width: 2px;
        border-radius: 10px;
        text-decoration: none;
        transition: transform 0.15s ease;
        cursor: pointer;
    }

    .journal-card-text {
        flex: 1;
        min-width: 0;
    }

    .journal-card-thumb {
        flex-shrink: 0;
        width: auto;
        height: 56px;
        object-fit: cover;
        border-radius: 4px;
    }

    .journal-card:hover {
        transform: translateX(4px);
    }

    .journal-card-meta {
        font: 400 0.8em/1.7em "FK Raster Grotesk Smooth", sans-serif;
        margin: 0 0 0.3em;
        letter-spacing: 0.03em;
        text-transform: uppercase;
    }

    .journal-card-title {
        font: 400 1.1em/1.7em "FK Raster Grotesk Smooth", sans-serif;
        color: #2544A8;
        margin: 0 0 0.3em;
        text-transform: none;
    }

    .journal-card-desc {
        font: 400 0.95em/1.5em "Times New Roman", serif;
        margin: 0;
    }

    /* ── Why toggle ─────────────────────────────── */

    .journal-why-toggle {
        margin: 0 auto 60px;
        border: 2px solid #2544A8;
        border-radius: 12px;
    }

    @media (max-width: 768px) {
        .journal-why-toggle {
            margin: 0 0 40px;
        }
    }

    .journal-why-toggle summary {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 16px 56px 16px 24px;
        cursor: pointer;
        list-style: none;
        font: 400 1em/1.4em "FK Raster Grotesk Smooth", sans-serif;
        color: #2544A8;
    }

    .journal-why-toggle summary::-webkit-details-marker { display: none; }

    .journal-why-toggle summary::after {
        content: '›';
        position: absolute;
        right: 24px;
        top: 50%;
        font-size: 1.4em;
        line-height: 1;
        transition: transform 0.2s;
        transform: translateY(-50%) rotate(90deg);
    }

    .journal-why-toggle[open] summary::after {
        transform: translateY(-50%) rotate(-90deg);
    }

    .journal-why-toggle-body {
        padding: 0 24px 20px;
    }

    .journal-why-img {
        display: block;
        width: 100%;
        max-width: 480px !important;
        height: auto;
        margin: 0 auto 1.5em;
    }

    .journal-why-toggle p {
        font-size: 0.9em;
        line-height: 1.5em;
        margin: 0 0 1em;
    }

    /* ── Entry view ─────────────────────────────── */

    .journal-loading, .locked-text, .journal-missing {
        text-align: center;
        margin: 3em auto 4em;
        font: 400 1.7em/1.5em "FK Raster Grotesk Smooth", sans-serif;
        max-width: 700px;
        letter-spacing: -0.02em;
    }

    .jenny-breadcrumb-row {
        margin-bottom: 2em;
    }

    .journal-entry-body h1 {
        text-align: center;
        margin: 0 auto 16px;
        font: 400 2.25em/1.3em "FK Raster Grotesk Smooth", sans-serif;
    }

    .journal-entry-body h2 {
        text-align: left;
        margin: 40px 0 12px;
        font: 300 1.5em/1.3em "quimby-gubernatorial", sans-serif;
    }

    .journal-entry-body h4 {
        margin: 0 0 16px;
        text-align: center;
        font: 400 1em/1.7em "FK Raster Grotesk Smooth", sans-serif;
        letter-spacing: 0.01em;
        text-transform: uppercase;
    }

    .journal-entry-desc {
        width: fit-content;
        max-width: 100%;
        margin: 0 auto 40px;
        padding: 10px 20px;
        border: 1.5px solid #2544A8;
        border-radius: 10px;
        text-align: center;
        font: 400 1em/1.5em "Times New Roman", serif;
        color: #2544A8;
    }

    .journal-entry-body p {
        margin: 16px 0;
        font-size: 1.1em;
        line-height: 1.6em;
    }

    .journal-entry-body blockquote {
        border-left: 2px solid #2544A8;
        margin: 24px 0;
        padding: 0 0 0 20px;
        font-size: 1em;
    }

    .journal-entry-body ul, .journal-entry-body ol {
        margin: 16px 0;
        padding: 0 0 0 1.5em;
    }

    .journal-entry-body li {
        font-size: 1.05em;
        line-height: 1.65em;
        margin: 0 0 0.4em;
    }

    .journal-ornament {
        margin: 24px 0 0;
        font-size: 1.25em;
    }

    .journal-entry-nav {
        display: flex;
        justify-content: space-between;
        gap: 24px;
        margin: 60px 0 0;
        padding: 32px 0 0;
        border-top: 1.5px solid #2544A8;
    }

    .journal-prev, .journal-next {
        display: flex;
        flex-direction: column;
        gap: 4px;
        text-decoration: none;
        color: #2544A8;
        max-width: 45%;
        transition: transform 0.15s ease;
    }

    .journal-prev:hover {
        transform: translateX(-4px);
    }

    .journal-next {
        text-align: right;
        margin-left: auto;
    }

    .journal-next:hover {
        transform: translateX(4px);
    }

    .journal-nav-direction {
        margin: 0 0 0.4em;
        font: 400 0.8em/1.4em "FK Raster Grotesk Smooth", sans-serif;
    }

    .journal-nav-title {
        margin: 0 0 0.2em;
        font: 400 0.95em/1.4em "FK Raster Grotesk Smooth", sans-serif;
    }

    .journal-nav-date {
        font: 400 0.7em/1.4em "FK Raster Grotesk Smooth", sans-serif;
        text-transform: uppercase;
        letter-spacing: 0.04em;
    }

    /* ── Responsive ─────────────────────────────── */

    @media (min-width: 768px) {

        .journal-section {
            display: grid;
            grid-template-columns: 0.65fr 1fr;
            gap: 48px;
        }

        .journal-chapter-header {
            position: sticky;
            top: 24px;
            align-self: start;
        }

        .journal-section:first-child .journal-chapter-header {
            top: 80px;
        }

        .journal-why-cols {
            column-count: 2;
            column-gap: 48px;
        }

        .journal-why-cols p {
            margin: 0 0 1em;
            break-inside: avoid;
        }
    }
