.publication-showcase-section {
    --ink: #111d26;
    --paper: #f7f0e4;
    --paper-deep: #e9dece;
    --signal: #bf1e2d;
    --signal-dark: #8f1521;
    --line: rgba(17, 29, 38, .18);
    color: var(--ink);
}
.publication-showcase-section,
.publication-showcase-section p,
.publication-showcase-section a,
.publication-showcase-section button {
    font-family: "Glacial Indifference", system-ui, sans-serif;
}
.microgrant-page .campaign-section,
.microgrant-opportunity {
    padding: 2.25rem 0 5.5rem;
}
.microgrant-page .microgrant-opportunity {
    background: var(--paper);
    padding-top: 4rem;
}
.microgrant-page .section-kicker,
.publication-showcase-section .section-kicker {
    color: var(--signal);
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.microgrant-page .section-title,
.publication-showcase-section .section-title {
    max-width: 790px;
    margin: .65rem 0 1.35rem;
    color: var(--ink);
    font-size: clamp(2.2rem, 4.6vw, 4.15rem);
    line-height: .98;
    letter-spacing: -.045em;
}
.microgrant-page .section-copy,
.publication-showcase-section .section-copy {
    max-width: 680px;
    font-size: 1.14rem;
    line-height: 1.7;
}
.publication-showcase-section .grant-photo {
    margin: 0;
    overflow: hidden;
    border-left: 8px solid var(--signal);
    background: var(--paper-deep);
    box-shadow: 0 18px 42px rgba(17, 29, 38, .16);
}
.publication-showcase-section .grant-photo img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.supported-publications {
    padding: 0 0 5.5rem;
    background: linear-gradient(180deg, var(--paper) 0%, #efe5d7 100%);
    border-top: 1px solid var(--line);
}
.supported-publications .container { position: relative; }
.publication-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.5rem;
    align-items: end;
    padding: 3rem 0 1.4rem;
}
.publication-heading .section-title { margin-bottom: 0; max-width: 700px; }
.publication-controls { display: flex; gap: .45rem; padding-bottom: .3rem; }
.publication-control {
    width: 2.8rem;
    height: 2.8rem;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid var(--ink);
    border-radius: 0;
    background: transparent;
    color: var(--ink);
    font-size: 1.25rem;
    line-height: 1;
    transition: background-color .18s ease, color .18s ease;
}
.publication-control:hover:not(:disabled) { background: var(--ink); color: #fff8eb; }
.publication-control:disabled { opacity: .35; cursor: not-allowed; }
.publication-viewport {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-color: var(--signal) transparent;
    scrollbar-width: thin;
    scroll-snap-type: inline mandatory;
    scroll-padding-inline: .1rem;
    touch-action: pan-x pinch-zoom;
}
.publication-track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(17rem, 31.5%);
    gap: 1rem;
    padding: .15rem .1rem 1rem;
}
.publication-card {
    height: 20rem;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    scroll-snap-align: start;
    background: #fff;
    box-shadow: 0 10px 22px rgba(17, 29, 38, .09);
}
.publication-showcase-section .publication-card-main {
    position: relative;
    display: flex;
    flex: 1;
    flex-direction: column;
    overflow: hidden;
    padding: 1.3rem 1.35rem 1.1rem;
    color: var(--ink);
    text-decoration: none;
}
.publication-showcase-section .publication-card-main:hover { color: var(--ink); text-decoration: none; }
.publication-card-main::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 4rem;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 88%);
    pointer-events: none;
}
.publication-meta {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin: 0 0 .9rem;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .115em;
    line-height: 1.4;
    text-transform: uppercase;
}
.publication-journal {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: .35rem .65rem;
    border-radius: .35rem;
    color: #fff;
    font-size: .79rem;
    letter-spacing: .02em;
    text-transform: none;
}
.publication-date {
    flex: 0 0 auto;
    padding-left: .7rem;
    border-left: 1px solid #d8ccbb;
    color: #736c64;
    font-weight: 600;
    letter-spacing: .01em;
    text-transform: none;
    white-space: nowrap;
}
.publication-null-badge {
    width: 1.65rem;
    height: 1.65rem;
    display: block;
    flex: 0 0 auto;
    margin-left: auto;
    object-fit: contain;
}
.publication-showcase-section .publication-title {
    margin: 0 0 .8rem;
    color: var(--ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(.95rem, 1.15vw, 1.08rem);
    font-weight: 700;
    line-height: 1.32;
    text-decoration: none;
}
.publication-showcase-section .publication-authors {
    overflow: hidden;
    margin: 0;
    color: #736c64;
    font-size: .75rem;
    line-height: 1.4;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.publication-showcase-section .publication-excerpt {
    flex: 1;
    overflow: hidden;
    margin: .7rem 0 0;
    padding-top: 0;
    color: #736c64;
    font-family: Georgia, "Times New Roman", serif;
    font-size: .95rem;
    line-height: 1.48;
    text-decoration: none;
}
.publication-state {
    min-height: 4rem;
    display: flex;
    align-items: center;
    padding: 1rem 1.25rem;
    border-left: 5px solid var(--signal);
    background: #fff7df;
    color: #465456;
}
.publication-state[hidden] { display: none; }
.publication-state button { margin-left: .8rem; border: 0; border-bottom: 1px solid currentColor; background: none; color: var(--signal-dark); font-weight: 700; }
@media (max-width: 1023px) {
    .publication-heading { grid-template-columns: 1fr; }
    .publication-controls { display: none; }
}
@media (max-width: 767px) {
    .microgrant-page .campaign-section,
    .microgrant-page .microgrant-opportunity { padding: 2.25rem 0 2.75rem; }
    .microgrant-page .campaign-section .section-title { margin-top: 0; margin-bottom: .8rem; }
    .microgrant-page .campaign-section .section-kicker { margin-bottom: .45rem; }
    .supported-publications { padding-bottom: 2.75rem; }
    .publication-heading { padding-top: 2rem; }
    .publication-viewport {
        scrollbar-width: none;
    }
    .publication-viewport::-webkit-scrollbar {
        display: none;
    }
    .publication-track {
        display: flex;
        gap: .85rem;
    }
    .publication-card {
        min-width: 0;
        height: 19rem;
        flex: 0 0 calc((100% - .85rem) / 1.5);
    }
}