.library-section {
    background: var(--background-color);
    overflow: hidden;
    padding-top: max(28px, 1.95vw);
}

.library-section .posts-header {
    margin-bottom: clamp(22px, 2.2vw, 32px);
}

.library-carousel:focus {
    outline: none;
}

.library-carousel .flickity-viewport {
    overflow: visible;
}

/* FIXED: remove edge bleed and restore margins */
.library-carousel {
    padding-left: max(24px, 1.67vw);
    padding-right: max(24px, 1.67vw);
}

/* 5 across layout preserved */
.library-card {
    width: 18.4%;
    margin-right: 2%;
    margin-top: 2px;
    transition: transform 0.3s ease;
}

.library-card:last-child {
    margin-right: 0;
}

.library-card-link {
    display: block;
    text-decoration: none;
}

.library-card-media {
    position: relative;
    aspect-ratio: 9 / 16;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.08);
}

.library-card-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.library-card-copy {
    padding-top: 14px;
}

.library-card-title {
    margin: 0 0 8px;
    font-size: clamp(1rem, 1.1vw, 1.22rem);
    line-height: 1.05;
}

.library-card-excerpt {
    margin: 0;
    color: color-mix(in srgb, var(--text-color) 72%, transparent);
    font-size: 0.92rem;
    line-height: 1.45;
}

.library-card:hover {
    transform: scale(1.025);
    z-index: 2;
}

.library-card:hover .library-card-media img {
    transform: scale(1.035);
}

/* HARD REMOVE ALL ARROWS (covers everything) */
.library-section .slider-button,
.library-section .library-nav-button,
.library-section-navigation,
.library-carousel .flickity-button,
.library-carousel .flickity-prev-next-button,
.flickity-prev-next-button,
button.flickity-button {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* disable drag cursor if desired */
.library-carousel.is-draggable {
    cursor: default;
}

.library-carousel.is-draggable:active {
    cursor: default;
}

.homepage-view-all.button-arrow {
    margin-top: 0;
    margin-left: 0;
    opacity: 1;
    align-items: center;
    width: fit-content;
}

.homepage-view-all .icon-button-arrow {
    order: -1;
}

.homepage-view-all .button-arrow-text {
    opacity: 1;
}

.homepage-view-all .scramble-random {
    color: var(--background-color);
    background-color: var(--text-color);
}

@media screen and (max-width: 1280px) {
    .library-card {
        width: 23.5%;
        margin-right: 2%;
    }
}

@media screen and (max-width: 1080px) {
    .library-card {
        width: 31%;
        margin-right: 2.5%;
    }
}

@media screen and (max-width: 767px) {
    .library-section {
        padding-top: 24px;
    }

    .library-card {
        width: 86%;
        margin-right: 14px;
        transform: none !important;
    }

    .library-carousel {
        padding-left: 18px;
        padding-right: 18px;
    }

    .library-card:hover .library-card-media img {
        transform: none;
    }
}

/* Tag page essays scroller */
.tag-essays-section {
    padding-top: 0;
    padding-bottom: max(38px, 3.2vw);
}

.tag-essays-section .posts-header {
    margin-bottom: clamp(18px, 1.85vw, 28px);
}

.tag-essays-section .library-card {
    transform: none;
}

.tag-essays-section .library-card:hover {
    transform: none;
}

.tag-essays-section .library-card-media {
    background: color-mix(in srgb, var(--text-color) 8%, transparent);
}

.tag-essays-section .library-card-media img {
    object-fit: contain;
    object-position: center center;
    background: color-mix(in srgb, var(--text-color) 8%, transparent);
}

.tag-essays-section .tag-essays-carousel .carousel-cell:nth-child(n+5) {
    display: none;
}

.tag-essays-section .tag-essays-carousel .flickity-viewport {
    overflow: hidden;
}

.tag-essays-section .tag-essay-card-placeholder {
    aspect-ratio: 9 / 16;
    background: color-mix(in srgb, var(--text-color) 8%, transparent);
    min-height: 1px;
}

.tag-essays-section .library-card-placeholder {
    width: 100%;
    height: 100%;
    background: color-mix(in srgb, var(--text-color) 8%, transparent);
}

.tag-essays-section .library-card-title,
.tag-essays-section .library-card-excerpt,
.tag-essays-section .library-home-author {
    max-width: 100%;
}

.tag-commentary-section {
    padding-top: max(34px, 2.6vw);
}


/* 1.21.1 tag essay rail fixes: four cells across full width, natural-looking covers, matching placeholders */
.tag-essays-section .wide-container {
    width: 100%;
    max-width: none;
}

.tag-essays-section .library-carousel {
    width: 100%;
    padding-left: max(24px, 1.67vw);
    padding-right: max(24px, 1.67vw);
}

.tag-essays-section .tag-essays-carousel .library-card {
    width: calc((100% - 6%) / 4);
    margin-right: 2%;
}

.tag-essays-section .tag-essays-carousel .carousel-cell:nth-child(4) {
    margin-right: 0;
}

.tag-essays-section .library-card-media,
.tag-essays-section .tag-essay-card-placeholder {
    aspect-ratio: 2 / 3;
    background: color-mix(in srgb, var(--text-color) 8%, transparent);
}

.tag-essays-section .library-card-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    background: color-mix(in srgb, var(--text-color) 8%, transparent);
}

.tag-essays-section .tag-essay-card-placeholder {
    display: block;
}

@media screen and (max-width: 1080px) {
    .tag-essays-section .tag-essays-carousel .library-card {
        width: 31%;
        margin-right: 2.5%;
    }

    .tag-essays-section .tag-essays-carousel .carousel-cell:nth-child(4) {
        margin-right: 2.5%;
    }
}

@media screen and (max-width: 767px) {
    .tag-essays-section .library-carousel {
        padding-left: 18px;
        padding-right: 18px;
    }

    .tag-essays-section .tag-essays-carousel .library-card {
        width: 86%;
        margin-right: 14px;
    }
}

/* Keely 1.21.3: stable library carousel and tag essay rail */
.library-section .library-carousel[data-library-carousel]:not(.flickity-enabled) {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
}

.library-section .library-carousel[data-library-carousel]:not(.flickity-enabled) .library-card {
    flex: 0 0 18.4%;
    scroll-snap-align: start;
}

.library-section .flickity-slider > .library-card {
    position: absolute;
}

.tag-essays-section .tag-essays-carousel:not(.flickity-enabled) {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2%;
    overflow: hidden;
}

.tag-essays-section .tag-essays-carousel:not(.flickity-enabled) .library-card {
    width: 100%;
    margin-right: 0;
}

.tag-essays-section .library-card-media,
.tag-essays-section .tag-essay-card-placeholder,
.tag-essays-section .library-card-placeholder {
    aspect-ratio: 9 / 16;
    height: auto;
}

.tag-essays-section .tag-essays-carousel .library-card-media img {
    object-fit: contain;
    object-position: center center;
    width: 100%;
    height: 100%;
}

@media screen and (max-width: 767px) {
    .library-section .library-carousel[data-library-carousel]:not(.flickity-enabled) .library-card {
        flex-basis: 86%;
    }

    .tag-essays-section .tag-essays-carousel:not(.flickity-enabled) {
        display: flex;
        gap: 0;
        overflow-x: auto;
    }

    .tag-essays-section .tag-essays-carousel:not(.flickity-enabled) .library-card {
        flex: 0 0 72%;
        margin-right: 14px;
    }
}


/* Keely 1.21.6: mobile library carousel, one clean swipe card at a time */
@media screen and (max-width: 767px) {
    .library-section .wide-container {
        max-width: none;
        width: 100%;
        overflow: hidden;
    }

    .library-carousel {
        width: 100%;
        overflow: hidden;
        padding-left: 18px;
        padding-right: 18px;
    }

    .library-carousel .flickity-viewport {
        overflow: hidden !important;
        width: 100%;
    }

    .library-carousel .flickity-slider {
        display: block;
    }

    .library-card {
        width: calc(100vw - 36px) !important;
        max-width: calc(100vw - 36px);
        margin-right: 18px !important;
        flex: 0 0 auto;
    }

    .library-card-media {
        width: 100%;
        aspect-ratio: 9 / 16;
    }

    .library-card-copy,
    .library-home-author {
        width: 100%;
        max-width: 100%;
    }
}

/* Keely 1.21.7: stable mobile homepage library rail, one swipe card at a time */
@media screen and (max-width: 767px) {
    .library-section:not(.tag-essays-section) .library-carousel[data-library-carousel] {
        display: flex !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding-left: 18px;
        padding-right: 18px;
        gap: 0;
    }

    .library-section:not(.tag-essays-section) .library-carousel[data-library-carousel] .flickity-viewport {
        overflow: visible !important;
        height: auto !important;
        width: 100% !important;
    }

    .library-section:not(.tag-essays-section) .library-carousel[data-library-carousel] .flickity-slider {
        position: relative !important;
        left: auto !important;
        transform: none !important;
        display: flex !important;
        width: max-content !important;
    }

    .library-section:not(.tag-essays-section) .library-carousel[data-library-carousel] .library-card {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        width: calc(100vw - 36px) !important;
        min-width: calc(100vw - 36px) !important;
        max-width: calc(100vw - 36px) !important;
        margin-right: 18px !important;
        scroll-snap-align: start;
    }
}

/* Keely 1.21.8: mobile library carousel native swipe fallback */
@media screen and (max-width: 767px) {
    .library-section .library-carousel {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-x pan-y !important;
        gap: 0 !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        scrollbar-width: none;
    }
    .library-section .library-carousel::-webkit-scrollbar { display: none; }
    .library-section .library-carousel:not(.flickity-enabled) .library-card,
    .library-section .library-carousel .library-card {
        flex: 0 0 82vw !important;
        width: 82vw !important;
        min-width: 82vw !important;
        max-width: 82vw !important;
        margin-right: 14px !important;
        scroll-snap-align: start !important;
    }
    .library-section .library-carousel.flickity-enabled {
        display: block !important;
        overflow: visible !important;
    }
    .library-section .library-carousel.flickity-enabled .flickity-viewport {
        overflow: hidden !important;
        touch-action: pan-y !important;
    }
}


/* Keely 1.21.9: mobile carousel, header logo, footer, authors, and external icons */
@media screen and (max-width: 767px) {
    .library-section .library-carousel.native-mobile-carousel,
    .library-section .library-carousel[data-library-carousel]:not(.flickity-enabled) {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-x pan-y !important;
        gap: 0 !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        scrollbar-width: none;
    }
    .library-section .library-carousel.native-mobile-carousel::-webkit-scrollbar,
    .library-section .library-carousel[data-library-carousel]:not(.flickity-enabled)::-webkit-scrollbar {
        display: none;
    }
    .library-section .library-carousel.native-mobile-carousel .library-card,
    .library-section .library-carousel[data-library-carousel]:not(.flickity-enabled) .library-card {
        flex: 0 0 82vw !important;
        width: 82vw !important;
        max-width: 82vw !important;
        margin-right: 16px !important;
        scroll-snap-align: start;
    }

    .navbar-inner {
        align-items: flex-start !important;
        min-height: 70px !important;
    }
    .logo-outer {
        flex: 0 0 62vw !important;
        width: 62vw !important;
        max-width: 62vw !important;
        justify-content: flex-start !important;
        display: flex !important;
    }
    .logo-wrapper,
    .logo-image-wrapper {
        justify-content: flex-start !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }
    .logo-image-wrapper img,
    .logo-image {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 32px !important;
        object-fit: contain !important;
        object-position: left center !important;
    }
    .menu-link-wrapper {
        flex: 0 0 auto !important;
        width: auto !important;
        margin-left: auto !important;
    }

    .post-card-author,
    .post-card-author.visible,
    .all-posts-latest-author,
    .library-home-author,
    .bottom-item-links,
    .post-header-full-image .bottom-item-links,
    .post-header-circle-bottom .bottom-item-links {
        display: block !important;
        white-space: normal !important;
        letter-spacing: normal !important;
        word-spacing: normal !important;
    }
    .post-card-author span,
    .post-card-author a,
    .post-card-author .char,
    .all-posts-latest-author span,
    .all-posts-latest-author a,
    .all-posts-latest-author .char,
    .library-home-author span,
    .library-home-author a,
    .library-home-author .char,
    .bottom-item-links span,
    .bottom-item-links a,
    .bottom-item-links .char {
        display: inline !important;
        white-space: normal !important;
        letter-spacing: normal !important;
        word-spacing: normal !important;
    }

    .footer-wrapper {
        display: block !important;
        visibility: visible !important;
        min-height: 0 !important;
        background-image: var(--footer-bg-image-mobile) !important;
        background-size: auto 100% !important;
        background-position: center right !important;
        background-repeat: no-repeat !important;
    }
    .creative-footer {
        display: flex !important;
        min-height: auto !important;
        height: auto !important;
    }
    .footer-item.w-links {
        display: flex !important;
        width: 100% !important;
        min-width: 100% !important;
    }
}

.footer-nav a,
.footer-nav-link {
    display: inline-block !important;
    width: auto !important;
    max-width: max-content !important;
    white-space: normal !important;
    word-spacing: normal !important;
    letter-spacing: normal !important;
}
.footer-nav a .char,
.footer-nav-link .char,
.footer-nav a span:not(.external-link-icon),
.footer-nav-link span:not(.external-link-icon) {
    display: inline !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
}
.footer-nav a.external-link .external-link-icon,
.footer-nav-link.external-link .external-link-icon,
.nav-link.external-link .external-link-icon {
    display: inline-block !important;
    vertical-align: 0.18em !important;
    margin-left: 0.28em !important;
}
.social .external-link-icon,
[class*="social"] .external-link-icon,
.socials .external-link-icon,
.social-buttons .external-link-icon,
.socials-buttons .external-link-icon {
    display: none !important;
}


/* Keely 1.22.1: stabilise mobile header, post author text, menu email, footer external arrows and homepage library carousel */
.post-hero-author-link,
.menu-email-link {
    display: inline !important;
    white-space: normal !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
    font-kerning: normal !important;
    text-decoration: none;
}

.footer-nav a.external-link .external-link-icon,
.footer-nav-link.external-link .external-link-icon,
.footer-normal-links a.external-link .external-link-icon,
.nav-link.external-link .external-link-icon {
    display: inline-block !important;
    width: 0.68em !important;
    height: 0.68em !important;
    flex: 0 0 0.68em !important;
    margin-left: 0.22em !important;
    background-color: currentColor !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='black' d='M3.2 1.2v1.2h5.1L1.2 9.5l.9.9 7.1-7.1v5.1h1.2V1.2H3.2z'/%3E%3C/svg%3E") center / contain no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='black' d='M3.2 1.2v1.2h5.1L1.2 9.5l.9.9 7.1-7.1v5.1h1.2V1.2H3.2z'/%3E%3C/svg%3E") center / contain no-repeat !important;
    vertical-align: 0.12em !important;
}
.social .external-link-icon,
[class*="social"] .external-link-icon,
[data-socials] .external-link-icon,
.socials .external-link-icon,
.social-buttons .external-link-icon,
.socials-buttons .external-link-icon {
    display: none !important;
}

@media screen and (max-width: 767px) {
    .navbar,
    .navbar-inner {
        min-height: 52px !important;
        height: 52px !important;
        align-items: center !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    .logo-outer {
        flex: 0 0 64vw !important;
        width: 64vw !important;
        max-width: 64vw !important;
        padding-left: 16px !important;
        padding-right: 0 !important;
        justify-content: flex-start !important;
        align-items: center !important;
        overflow: visible !important;
    }
    .logo-wrapper,
    .logo-image-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        justify-content: flex-start !important;
        align-items: center !important;
        overflow: visible !important;
    }
    .logo-image-wrapper img,
    .logo-image {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 42px !important;
        object-fit: contain !important;
        object-position: left center !important;
    }
    .menu-link-wrapper {
        margin-left: auto !important;
        padding-right: 16px !important;
        flex: 0 0 auto !important;
        width: auto !important;
    }

    .post-header-full-image .section-bottom,
    .post-header-moving-title .section-bottom,
    .post-header-circle-bottom .section-bottom {
        display: grid !important;
        grid-template-columns: 38% 62% !important;
        align-items: end !important;
        column-gap: 0 !important;
    }
    .post-header-full-image .bottom-item,
    .post-header-moving-title .bottom-item,
    .post-header-circle-bottom .bottom-item {
        min-width: 0 !important;
        width: auto !important;
        max-width: none !important;
    }
    .post-header-full-image .bottom-item-links,
    .post-header-moving-title .bottom-item-links,
    .post-header-circle-bottom .bottom-item-links {
        display: block !important;
        max-width: 100% !important;
        width: 100% !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        letter-spacing: normal !important;
        word-spacing: normal !important;
        line-height: 1.12 !important;
        font-size: clamp(24px, 7vw, 34px) !important;
    }
    .post-header-full-image .bottom-item-links span,
    .post-header-moving-title .bottom-item-links span,
    .post-header-circle-bottom .bottom-item-links span,
    .post-header-full-image .bottom-item-links a,
    .post-header-moving-title .bottom-item-links a,
    .post-header-circle-bottom .bottom-item-links a {
        display: inline !important;
        white-space: normal !important;
        letter-spacing: normal !important;
        word-spacing: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }
    .post-header-full-image .bottom-item-links .char,
    .post-header-moving-title .bottom-item-links .char,
    .post-header-circle-bottom .bottom-item-links .char {
        display: inline !important;
        letter-spacing: normal !important;
        word-spacing: normal !important;
    }
    .post-hero-author-link {
        display: inline !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        letter-spacing: normal !important;
        word-spacing: normal !important;
    }

    .menu-email-link,
    .menu-email-link span,
    .menu-email-link .char,
    [data-social-email],
    [data-social-email] span,
    [data-social-email] .char {
        display: inline !important;
        white-space: normal !important;
        letter-spacing: normal !important;
        word-spacing: normal !important;
        font-kerning: normal !important;
    }

    .library-section:not(.tag-essays-section) .library-carousel[data-library-carousel] {
        display: block !important;
        overflow: hidden !important;
        touch-action: pan-y !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .library-section:not(.tag-essays-section) .library-carousel[data-library-carousel] .library-card,
    .library-section:not(.tag-essays-section) .library-carousel[data-library-carousel] .carousel-cell {
        width: 82vw !important;
        max-width: 82vw !important;
        min-width: 82vw !important;
        margin-right: 16px !important;
    }
    .library-section:not(.tag-essays-section) .library-carousel[data-library-carousel] .flickity-viewport {
        overflow: hidden !important;
        touch-action: pan-y !important;
    }
    .library-section:not(.tag-essays-section) .library-carousel[data-library-carousel] .flickity-slider {
        touch-action: pan-y !important;
    }
}
/* Keely consolidated maintenance layer, 1.23.4
   This file replaces the repeated patch-on-patch fixes for author text, footer external links,
   page overflow, mobile footer/header handling and the homepage library carousel. */

:root {
    --keely-external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='black' d='M3 1.5h7.5V9H9.2V3.7L2.4 10.5l-.9-.9 6.8-6.8H3V1.5z'/%3E%3C/svg%3E");
}

html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

body,
.viewport,
.site-content,
.site-main,
main {
    max-width: 100%;
}

img,
video,
iframe,
figure,
picture {
    max-width: 100%;
}

/* Keep regular pages contained without disabling the intended homepage carousel rail. */
.library-page,
.commentary-page,
.all-posts-page,
.library-page .wide-container,
.commentary-page .wide-container,
.all-posts-page .wide-container,
.library-page .library-grid,
.commentary-page .grid,
.all-posts-page .grid,
.commentary-post-grid,
.normal-grid {
    max-width: 100%;
    overflow-x: hidden;
    box-sizing: border-box;
}

.library-page .library-grid-five {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.library-page .library-book-card,
.commentary-page .post-card,
.all-posts-page .post-card {
    min-width: 0;
}

/* Author and tag links: readable by default, animated only on hover. */
.post-card-author,
.post-card-author *,
.library-home-author,
.library-home-author *,
.library-book-card-author,
.library-book-card-author *,
.all-posts-latest-author,
.all-posts-latest-author *,
.commentary-latest-author,
.commentary-latest-author *,
.post-authors,
.post-authors *,
.post-author-plain-link,
.post-author-plain-link *,
.essay-author-link,
.essay-author-link *,
.essay-meta-link,
.essay-meta-link *,
.post-card-tags,
.post-card-tags * {
    letter-spacing: normal !important;
    word-spacing: normal !important;
    text-transform: none !important;
    font-kerning: normal !important;
}

.post-card-author,
.library-home-author,
.library-book-card-author,
.all-posts-latest-author,
.commentary-latest-author {
    display: block;
    white-space: normal;
}

.post-card-author a,
.library-home-author a,
.library-book-card-author a,
.all-posts-latest-author a,
.commentary-latest-author a,
.post-author-plain-link,
.essay-author-link,
.essay-meta-link,
.post-card-tags a {
    display: inline !important;
    color: currentColor;
    text-decoration: none;
    white-space: normal !important;
}

.post-card-author .wrap-characters,
.library-home-author .wrap-characters,
.library-book-card-author .wrap-characters,
.all-posts-latest-author .wrap-characters,
.commentary-latest-author .wrap-characters,
.post-authors .wrap-characters,
.post-author-plain-link.wrap-characters,
.essay-author-link.wrap-characters,
.essay-meta-link.wrap-characters {
    display: inline !important;
    white-space: normal !important;
}

.post-card-author .scramble-word,
.library-home-author .scramble-word,
.library-book-card-author .scramble-word,
.all-posts-latest-author .scramble-word,
.commentary-latest-author .scramble-word,
.post-authors .scramble-word,
.essay-author-link .scramble-word,
.essay-meta-link .scramble-word,
.post-card-tags .scramble-word {
    display: inline !important;
    white-space: normal !important;
}

.post-card-author .scramble-char,
.library-home-author .scramble-char,
.library-book-card-author .scramble-char,
.all-posts-latest-author .scramble-char,
.commentary-latest-author .scramble-char,
.post-authors .scramble-char,
.essay-author-link .scramble-char,
.essay-meta-link .scramble-char,
.post-card-tags .scramble-char {
    display: inline !important;
    position: relative;
}

.post-card-author .scramble-random,
.library-home-author .scramble-random,
.library-book-card-author .scramble-random,
.all-posts-latest-author .scramble-random,
.commentary-latest-author .scramble-random,
.post-authors .scramble-random,
.essay-author-link .scramble-random,
.essay-meta-link .scramble-random,
.post-card-tags .scramble-random {
    position: absolute !important;
    inset: 0;
    opacity: 0;
    pointer-events: none;
}

.keely-plain-scramble,
.keely-plain-scramble:hover {
    letter-spacing: normal !important;
    word-spacing: normal !important;
    text-transform: none !important;
}

.keely-plain-scramble:hover,
.post-card-tags a:hover,
.post-author-plain-link:hover,
.essay-author-link:hover,
.essay-meta-link:hover,
.all-posts-latest-author a:hover,
.commentary-latest-author a:hover {
    background-color: var(--text-color);
    color: var(--background-color) !important;
}

/* Full-image article hero meta: never let the author split letter-by-letter. */
.post-header-full-image .bottom-item-links,
.post-header-moving-title .bottom-item-links,
.post-header-circle-bottom .bottom-item-links {
    letter-spacing: normal !important;
    word-spacing: normal !important;
}

.post-header-full-image .bottom-item-links a,
.post-header-moving-title .bottom-item-links a,
.post-header-circle-bottom .bottom-item-links a,
.post-hero-author-link {
    letter-spacing: normal !important;
    word-spacing: normal !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

/* Footer backgrounds and visibility. */
.footer-wrapper,
.footer-normal-wrapper {
    display: block !important;
    visibility: visible !important;
    position: relative;
    overflow: hidden;
    background-image: var(--footer-bg-image);
    background-size: auto 100%;
    background-position: center right;
    background-repeat: no-repeat;
}

.footer-wrapper .creative-footer,
.footer-normal-wrapper .footer-normal {
    visibility: visible !important;
    background-color: transparent;
}

.footer-content-inner > p,
.footer-normal-content > p,
.footer-tagline,
.footer-description {
    display: none !important;
}

.footer-logo-image,
.footer-logo img {
    width: auto;
    max-width: none;
    height: max(calc(18px * var(--logo-scale)), calc(1.25vw * var(--scale) * var(--logo-scale)));
}

/* Footer external-link arrows, excluding social icons. */
footer .footer-nav a,
footer .footer-nav-link,
footer .footer-normal-links a {
    display: inline-flex !important;
    align-items: baseline;
    width: auto !important;
    max-width: max-content;
    gap: 0;
    white-space: nowrap !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
}

footer .footer-nav a.keely-external-link::after,
footer .footer-nav-link.keely-external-link::after,
footer .footer-normal-links a.keely-external-link::after {
    content: "";
    display: inline-block;
    width: 0.62em;
    height: 0.62em;
    margin-left: 0.3em;
    flex: 0 0 0.62em;
    opacity: 0.78;
    background-color: currentColor;
    -webkit-mask: var(--keely-external-icon) center / contain no-repeat;
    mask: var(--keely-external-icon) center / contain no-repeat;
    vertical-align: 0.08em;
}

footer .footer-nav a.keely-social-link::after,
footer .footer-nav-link.keely-social-link::after,
footer .footer-normal-links a.keely-social-link::after,
footer .external-link-icon {
    display: none !important;
    content: none !important;
}

/* Mobile layout. */
@media screen and (max-width: 767px) {
    html,
    body,
    .viewport,
    .site-content,
    .site-main,
    main {
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }

    .navbar,
    .navbar-inner {
        min-height: 58px !important;
        height: 58px !important;
        align-items: center !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .logo-outer {
        flex: 0 0 58vw !important;
        width: 58vw !important;
        max-width: 58vw !important;
        padding-left: 16px !important;
        padding-right: 0 !important;
        justify-content: flex-start !important;
        align-items: center !important;
        overflow: visible !important;
    }

    .logo-wrapper,
    .logo-image-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        justify-content: flex-start !important;
        align-items: center !important;
        overflow: visible !important;
    }

    .logo-image-wrapper img,
    .logo-image {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 36px !important;
        object-fit: contain !important;
        object-position: left center !important;
    }

    .menu-link-wrapper {
        flex: 0 0 auto !important;
        width: auto !important;
        margin-left: auto !important;
        padding-right: 16px !important;
    }

    .post-header-full-image .section-bottom,
    .post-header-moving-title .section-bottom,
    .post-header-circle-bottom .section-bottom {
        display: grid !important;
        grid-template-columns: 40% 60% !important;
        align-items: end !important;
        gap: 0 !important;
    }

    .post-header-full-image .bottom-item,
    .post-header-moving-title .bottom-item,
    .post-header-circle-bottom .bottom-item {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    .post-header-full-image .bottom-item-links,
    .post-header-moving-title .bottom-item-links,
    .post-header-circle-bottom .bottom-item-links {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        white-space: normal !important;
        line-height: 1.15 !important;
        font-size: clamp(22px, 6.4vw, 32px) !important;
    }

    .post-header-full-image .bottom-item-links a,
    .post-header-moving-title .bottom-item-links a,
    .post-header-circle-bottom .bottom-item-links a,
    .post-hero-author-link {
        display: inline !important;
        white-space: normal !important;
        letter-spacing: normal !important;
        word-spacing: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    .library-page .library-grid-five,
    .library-page .library-grid,
    .commentary-page .grid,
    .commentary-page .normal-grid,
    .all-posts-page .grid,
    .all-posts-page .normal-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .home-template .library-section .library-carousel[data-library-carousel],
    body:not(.library-template) .library-section:not(.tag-essays-section) .library-carousel[data-library-carousel] {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scroll-snap-type: x mandatory;
        touch-action: pan-x pan-y !important;
        scrollbar-width: none;
        max-width: 100vw !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .home-template .library-section .library-carousel[data-library-carousel]::-webkit-scrollbar,
    body:not(.library-template) .library-section:not(.tag-essays-section) .library-carousel[data-library-carousel]::-webkit-scrollbar {
        display: none;
    }

    .home-template .library-section .library-carousel[data-library-carousel] .library-card,
    body:not(.library-template) .library-section:not(.tag-essays-section) .library-carousel[data-library-carousel] .library-card {
        flex: 0 0 82vw !important;
        width: 82vw !important;
        max-width: 82vw !important;
        min-width: 82vw !important;
        margin-right: 16px !important;
        scroll-snap-align: start;
    }

    .footer-wrapper,
    .footer-normal-wrapper {
        display: block !important;
        visibility: visible !important;
        height: auto !important;
        min-height: 0 !important;
        clear: both;
        background-image: var(--footer-bg-image-mobile);
        background-size: auto 100%;
        background-position: center right;
        background-repeat: no-repeat;
    }

    .creative-footer,
    .footer-normal {
        display: flex !important;
        visibility: visible !important;
        min-height: auto !important;
        height: auto !important;
    }

    .footer-logo-image,
    .footer-logo img {
        height: max(calc(9px * var(--logo-scale)), calc(1.15vw * var(--scale) * var(--logo-scale)));
        max-width: 62vw;
    }

    footer .footer-nav a,
    footer .footer-nav-link,
    footer .footer-normal-links a {
        white-space: nowrap !important;
        letter-spacing: normal !important;
        word-spacing: normal !important;
    }
}

/* Header/menu external links use the same indicator as footer links. */
custom-menu a.keely-external-link::after,
.nav a.keely-external-link::after,
.navbar a.keely-external-link::after {
    content: "";
    display: inline-block;
    width: 0.62em;
    height: 0.62em;
    margin-left: 0.3em;
    flex: 0 0 0.62em;
    opacity: 0.78;
    background-color: currentColor;
    -webkit-mask: var(--keely-external-icon) center / contain no-repeat;
    mask: var(--keely-external-icon) center / contain no-repeat;
    vertical-align: 0.08em;
}

custom-menu a.keely-social-link::after,
.nav a.keely-social-link::after,
.navbar a.keely-social-link::after {
    display: none !important;
    content: none !important;
}

.menu-email-link,
.menu-email-link * {
    letter-spacing: normal !important;
    word-spacing: normal !important;
    text-transform: none !important;
}

/* Keely 1.23.6 stability overrides. Keep these scoped and last. */
.post-card-tags,
.post-card-tags *,
.post-card-author,
.post-card-author *,
.library-home-author,
.library-home-author *,
.library-book-card-author,
.library-book-card-author *,
.all-posts-latest-author,
.all-posts-latest-author *,
.commentary-latest-author,
.commentary-latest-author *,
.post-author-plain-link,
.post-author-plain-link *,
.essay-author-link,
.essay-author-link *,
.essay-meta-link,
.essay-meta-link * {
    letter-spacing: normal !important;
    word-spacing: normal !important;
    text-transform: none !important;
    font-kerning: normal !important;
}

.post-card-tags a,
.post-card-author a,
.library-home-author a,
.library-book-card-author a,
.all-posts-latest-author a,
.commentary-latest-author a,
.post-author-plain-link,
.essay-author-link,
.essay-meta-link {
    display: inline !important;
    white-space: normal !important;
    text-decoration: none;
}

.post-card-tags a:hover,
.post-card-author a:hover,
.library-home-author a:hover,
.library-book-card-author a:hover,
.all-posts-latest-author a:hover,
.commentary-latest-author a:hover,
.post-author-plain-link:hover,
.essay-author-link:hover,
.essay-meta-link:hover,
.keely-plain-scramble.keely-scrambling-now {
    background-color: var(--text-color);
    color: var(--background-color) !important;
}

footer .footer-nav a.keely-external-link::after,
footer .footer-nav-link.keely-external-link::after,
footer .footer-normal-links a.keely-external-link::after,
footer .footer-normal-links .keely-external-link::after {
    content: "" !important;
    display: inline-block !important;
    width: 0.62em !important;
    height: 0.62em !important;
    margin-left: 0.3em !important;
    flex: 0 0 0.62em !important;
    opacity: 0.78 !important;
    background-color: currentColor !important;
    -webkit-mask: var(--keely-external-icon) center / contain no-repeat !important;
    mask: var(--keely-external-icon) center / contain no-repeat !important;
    vertical-align: 0.08em !important;
}

footer .socials a::after,
footer .socials-buttons a::after,
footer .keely-social-link::after,
footer .footer-logo::after {
    display: none !important;
    content: none !important;
}

.library-page,
.commentary-page,
.all-posts-page,
.library-page .site-main,
.commentary-page .site-main,
.all-posts-page .site-main,
.library-page .wide-container,
.commentary-page .wide-container,
.all-posts-page .wide-container {
    overflow-x: hidden !important;
    max-width: 100% !important;
}

@media screen and (max-width: 767px) {
    body.home-template .library-section:not(.tag-essays-section) .library-carousel.keely-mobile-swipe-ready,
    body.home-template .library-section:not(.tag-essays-section) .library-carousel[data-library-carousel] {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scroll-snap-type: x mandatory !important;
        touch-action: pan-x pan-y !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        box-sizing: border-box !important;
    }

    body.home-template .library-section:not(.tag-essays-section) .library-carousel.keely-mobile-swipe-ready::-webkit-scrollbar,
    body.home-template .library-section:not(.tag-essays-section) .library-carousel[data-library-carousel]::-webkit-scrollbar {
        display: none !important;
    }

    body.home-template .library-section:not(.tag-essays-section) .library-carousel.keely-mobile-swipe-ready .library-card,
    body.home-template .library-section:not(.tag-essays-section) .library-carousel[data-library-carousel] .library-card {
        flex: 0 0 82vw !important;
        width: 82vw !important;
        min-width: 82vw !important;
        max-width: 82vw !important;
        margin-right: 16px !important;
        scroll-snap-align: start !important;
        transform: none !important;
    }

    .library-page .library-carousel,
    .library-page .library-grid,
    .library-page .library-grid-five,
    .commentary-page .grid,
    .commentary-page .normal-grid,
    .all-posts-page .grid,
    .all-posts-page .normal-grid {
        overflow-x: hidden !important;
        max-width: 100% !important;
    }
}

/* Keely 1.23.7 focused repair: author/tag scramble and footer external arrows */
.keely-author-tag-scramble,
.keely-author-tag-scramble * {
    letter-spacing: normal !important;
    word-spacing: normal !important;
    text-transform: none !important;
    font-kerning: normal !important;
}

.keely-author-tag-scramble {
    display: inline !important;
    white-space: normal !important;
    text-decoration: none;
}

.keely-author-tag-scramble .scramble-word {
    display: inline-block !important;
    white-space: nowrap !important;
}

.keely-author-tag-scramble .scramble-char {
    display: inline-block !important;
    position: relative !important;
    line-height: inherit !important;
}

.keely-author-tag-scramble .scramble-random {
    position: absolute !important;
    inset: 0 !important;
    opacity: 0;
    pointer-events: none !important;
}

.keely-author-tag-scramble .scramble-main {
    position: relative !important;
    opacity: 1;
}

.keely-author-tag-scramble:hover {
    background-color: var(--text-color) !important;
    color: var(--background-color) !important;
}

footer a.keely-external-link {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 0.28em !important;
    width: auto !important;
    max-width: max-content !important;
    white-space: nowrap !important;
}

footer a.keely-external-link::after {
    content: none !important;
    display: none !important;
}

footer a.keely-external-link > .keely-external-icon {
    display: inline-flex !important;
    width: 0.62em !important;
    height: 0.62em !important;
    flex: 0 0 0.62em !important;
    margin: 0 0 0 0.08em !important;
    color: currentColor !important;
    opacity: 0.78 !important;
    line-height: 1 !important;
    vertical-align: 0.08em !important;
}

footer a.keely-external-link > .keely-external-icon svg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    overflow: visible !important;
}

footer a.keely-social-link > .keely-external-icon,
footer .footer-socials a > .keely-external-icon,
footer .socials a > .keely-external-icon,
footer .socials-buttons a > .keely-external-icon {
    display: none !important;
}

/* Keely 1.23.8 focused final layer: use the original scramble engine for author/tag links and force footer external arrows. */
.post-card-tags a.keely-author-tag-scramble,
.post-card-author a.keely-author-tag-scramble,
.library-home-author a.keely-author-tag-scramble,
.library-book-card-author a.keely-author-tag-scramble,
.all-posts-latest-author a.keely-author-tag-scramble,
.commentary-latest-author a.keely-author-tag-scramble,
a.post-author-plain-link.keely-author-tag-scramble,
a.essay-author-link.keely-author-tag-scramble,
a.essay-meta-link.keely-author-tag-scramble {
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    white-space: normal !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
    text-transform: none !important;
    background: transparent !important;
}

.post-card-tags a.keely-author-tag-scramble:hover,
.post-card-author a.keely-author-tag-scramble:hover,
.library-home-author a.keely-author-tag-scramble:hover,
.library-book-card-author a.keely-author-tag-scramble:hover,
.all-posts-latest-author a.keely-author-tag-scramble:hover,
.commentary-latest-author a.keely-author-tag-scramble:hover,
a.post-author-plain-link.keely-author-tag-scramble:hover,
a.essay-author-link.keely-author-tag-scramble:hover,
a.essay-meta-link.keely-author-tag-scramble:hover {
    background: transparent !important;
    color: currentColor !important;
}

.post-card-tags a.keely-author-tag-scramble .scramble-word,
.post-card-author a.keely-author-tag-scramble .scramble-word,
.library-home-author a.keely-author-tag-scramble .scramble-word,
.library-book-card-author a.keely-author-tag-scramble .scramble-word,
.all-posts-latest-author a.keely-author-tag-scramble .scramble-word,
.commentary-latest-author a.keely-author-tag-scramble .scramble-word,
a.post-author-plain-link.keely-author-tag-scramble .scramble-word,
a.essay-author-link.keely-author-tag-scramble .scramble-word,
a.essay-meta-link.keely-author-tag-scramble .scramble-word {
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
}

.post-card-tags a.keely-author-tag-scramble .scramble-char,
.post-card-author a.keely-author-tag-scramble .scramble-char,
.library-home-author a.keely-author-tag-scramble .scramble-char,
.library-book-card-author a.keely-author-tag-scramble .scramble-char,
.all-posts-latest-author a.keely-author-tag-scramble .scramble-char,
.commentary-latest-author a.keely-author-tag-scramble .scramble-char,
a.post-author-plain-link.keely-author-tag-scramble .scramble-char,
a.essay-author-link.keely-author-tag-scramble .scramble-char,
a.essay-meta-link.keely-author-tag-scramble .scramble-char {
    display: inline-block !important;
    position: relative !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
}

.post-card-tags a.keely-author-tag-scramble .scramble-random,
.post-card-author a.keely-author-tag-scramble .scramble-random,
.library-home-author a.keely-author-tag-scramble .scramble-random,
.library-book-card-author a.keely-author-tag-scramble .scramble-random,
.all-posts-latest-author a.keely-author-tag-scramble .scramble-random,
.commentary-latest-author a.keely-author-tag-scramble .scramble-random,
a.post-author-plain-link.keely-author-tag-scramble .scramble-random,
a.essay-author-link.keely-author-tag-scramble .scramble-random,
a.essay-meta-link.keely-author-tag-scramble .scramble-random {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    opacity: 0;
    color: var(--background-color) !important;
    background-color: var(--text-color) !important;
    pointer-events: none !important;
}

.post-card-tags a.keely-author-tag-scramble .scramble-main,
.post-card-author a.keely-author-tag-scramble .scramble-main,
.library-home-author a.keely-author-tag-scramble .scramble-main,
.library-book-card-author a.keely-author-tag-scramble .scramble-main,
.all-posts-latest-author a.keely-author-tag-scramble .scramble-main,
.commentary-latest-author a.keely-author-tag-scramble .scramble-main,
a.post-author-plain-link.keely-author-tag-scramble .scramble-main,
a.essay-author-link.keely-author-tag-scramble .scramble-main,
a.essay-meta-link.keely-author-tag-scramble .scramble-main {
    position: relative !important;
    z-index: 1 !important;
}

footer a.keely-external-link:not(.keely-social-link),
footer .nav a.keely-external-link:not(.keely-social-link),
footer .footer-nav-wrapper a.keely-external-link:not(.keely-social-link) {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 0.28em !important;
    width: auto !important;
    max-width: max-content !important;
    white-space: nowrap !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
}

footer a.keely-external-link:not(.keely-social-link) .keely-external-icon,
footer .nav a.keely-external-link:not(.keely-social-link) .keely-external-icon,
footer .footer-nav-wrapper a.keely-external-link:not(.keely-social-link) .keely-external-icon {
    display: inline-flex !important;
    width: 0.66em !important;
    height: 0.66em !important;
    flex: 0 0 0.66em !important;
    margin-left: 0 !important;
    color: currentColor !important;
    opacity: 0.82 !important;
    vertical-align: 0.08em !important;
}

footer a.keely-external-link:not(.keely-social-link) .keely-external-icon svg,
footer .nav a.keely-external-link:not(.keely-social-link) .keely-external-icon svg,
footer .footer-nav-wrapper a.keely-external-link:not(.keely-social-link) .keely-external-icon svg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

footer a.keely-social-link .keely-external-icon,
footer [class*="social"] a .keely-external-icon,
footer a.keely-social-link::after,
footer [class*="social"] a::after {
    display: none !important;
    content: none !important;
}


/* Keely 1.23.9: homepage library mobile swipe rail, kept separate from library/tag pages. */
@media screen and (max-width: 767px) {
    .library-section:not(.tag-essays-section) .library-carousel[data-library-carousel].keely-mobile-swipe-ready,
    .library-section:not(.tag-essays-section) .library-carousel[data-library-carousel]:not(.flickity-enabled) {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-x pan-y !important;
        scroll-snap-type: x mandatory !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        gap: 0 !important;
        scrollbar-width: none !important;
        max-width: 100vw !important;
    }

    .library-section:not(.tag-essays-section) .library-carousel[data-library-carousel].keely-mobile-swipe-ready::-webkit-scrollbar,
    .library-section:not(.tag-essays-section) .library-carousel[data-library-carousel]:not(.flickity-enabled)::-webkit-scrollbar {
        display: none !important;
    }

    .library-section:not(.tag-essays-section) .library-carousel[data-library-carousel].keely-mobile-swipe-ready > .library-card,
    .library-section:not(.tag-essays-section) .library-carousel[data-library-carousel]:not(.flickity-enabled) > .library-card {
        flex: 0 0 82vw !important;
        width: 82vw !important;
        min-width: 82vw !important;
        max-width: 82vw !important;
        margin-right: 16px !important;
        scroll-snap-align: start !important;
        position: relative !important;
        left: auto !important;
        transform: none !important;
    }
}


/* Keely 1.32.2: mobile tag essay rail sizing and single-essay lock.
   Keep essay placeholders the same visual height as cover art, and prevent a one-item rail from dragging. */
.tag-essays-section .library-card-media,
.tag-essays-section .tag-essay-card-placeholder,
.tag-essays-section .library-card-placeholder {
    aspect-ratio: 2 / 3 !important;
}

.tag-essays-section .tag-essay-card-placeholder {
    height: auto !important;
    min-height: 0 !important;
}

@media screen and (max-width: 767px) {
    .tag-essays-section .tag-essays-carousel.has-one-essay,
    .tag-essays-section .tag-essays-carousel.has-one-essay.flickity-enabled {
        display: block !important;
        overflow-x: hidden !important;
        overflow-y: visible !important;
        touch-action: pan-y !important;
        scroll-snap-type: none !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .tag-essays-section .tag-essays-carousel.has-one-essay .flickity-viewport {
        overflow: visible !important;
        height: auto !important;
        touch-action: pan-y !important;
    }

    .tag-essays-section .tag-essays-carousel.has-one-essay .flickity-slider {
        position: relative !important;
        left: auto !important;
        transform: none !important;
        width: 100% !important;
    }

    .tag-essays-section .tag-essays-carousel.has-one-essay .tag-essay-card:not(.tag-essay-card-placeholder) {
        position: relative !important;
        left: auto !important;
        transform: none !important;
        width: calc(100vw - 36px) !important;
        min-width: 0 !important;
        max-width: calc(100vw - 36px) !important;
        margin-right: 0 !important;
        scroll-snap-align: none !important;
    }

    .tag-essays-section .tag-essays-carousel.has-one-essay .tag-essay-card-placeholder {
        display: none !important;
    }

    .tag-essays-section .library-card-media,
    .tag-essays-section .tag-essay-card-placeholder,
    .tag-essays-section .library-card-placeholder {
        aspect-ratio: 2 / 3 !important;
    }
}

/* Keely 1.32.2: stop tag essay author names being spaced letter-by-letter on mobile. */
.tag-essays-section .library-home-author,
.tag-essays-section .library-home-author *,
.tag-essays-section .library-home-author a.keely-author-tag-scramble,
.tag-essays-section .library-home-author a.keely-author-tag-scramble * {
    letter-spacing: normal !important;
    word-spacing: normal !important;
    white-space: normal !important;
}

.tag-essays-section .library-home-author a.keely-author-tag-scramble,
.tag-essays-section .library-home-author a.keely-author-tag-scramble .scramble-word,
.tag-essays-section .library-home-author a.keely-author-tag-scramble .scramble-char,
.tag-essays-section .library-home-author a.keely-author-tag-scramble .scramble-main {
    display: inline !important;
}

/* Keely 1.32.3: tag essay desktop rail cleanup.
   Hide filler cells visually while preserving their carousel/grid space. */
.tag-essays-section .tag-essay-card-placeholder {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    background: transparent !important;
}

.tag-essays-section .tag-essay-card-placeholder .library-card-placeholder {
    background: transparent !important;
}

/* Keep the essay title in the tag essay rail at the intended editorial scale. */
.tag-essays-section .library-card-title {
    font-size: clamp(24px, 1.75vw, 34px) !important;
    line-height: 1.03 !important;
    letter-spacing: -0.035em !important;
    margin-bottom: 12px !important;
}

/* Repair only the tag essay author scramble spacing. */
.tag-essays-section .library-home-author,
.tag-essays-section .library-home-author *,
.tag-essays-section .library-home-author .post-author-plain-link,
.tag-essays-section .library-home-author .post-author-plain-link *,
.tag-essays-section .library-home-author a.keely-author-tag-scramble,
.tag-essays-section .library-home-author a.keely-author-tag-scramble * {
    letter-spacing: 0 !important;
    word-spacing: normal !important;
    text-transform: none !important;
    font-kerning: normal !important;
    font-stretch: normal !important;
}

.tag-essays-section .library-home-author .post-author-plain-link,
.tag-essays-section .library-home-author a.keely-author-tag-scramble {
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 0 !important;
    white-space: normal !important;
}

.tag-essays-section .library-home-author .scramble-word {
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    margin: 0 !important;
}

.tag-essays-section .library-home-author .scramble-char,
.tag-essays-section .library-home-author .scramble-main {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media screen and (max-width: 767px) {
    .tag-essays-section .library-card-title {
        font-size: clamp(28px, 8vw, 42px) !important;
        line-height: 1.02 !important;
    }
}

/* Keely 1.33.0: centre the first homepage library card on mobile */
@media screen and (max-width: 767px) {
    body.home-template .library-section:not(.tag-essays-section) .library-carousel[data-library-carousel],
    body.home-template .library-section:not(.tag-essays-section) .library-carousel.native-mobile-carousel,
    body.home-template .library-section:not(.tag-essays-section) .library-carousel.keely-mobile-swipe-ready {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        padding-left: 9vw !important;
        padding-right: 9vw !important;
        scroll-padding-left: 9vw !important;
        scroll-padding-right: 9vw !important;
        box-sizing: border-box !important;
    }

    body.home-template .library-section:not(.tag-essays-section) .library-carousel[data-library-carousel] .library-card,
    body.home-template .library-section:not(.tag-essays-section) .library-carousel.native-mobile-carousel .library-card,
    body.home-template .library-section:not(.tag-essays-section) .library-carousel.keely-mobile-swipe-ready .library-card {
        flex: 0 0 82vw !important;
        width: 82vw !important;
        min-width: 82vw !important;
        max-width: 82vw !important;
        margin-right: 16px !important;
        scroll-snap-align: center !important;
    }
}
