.publication-covers { margin: 0 0 2rem; padding: 2rem 0; border-bottom: 1px solid var(--border); }
.cover-stage { --cover-column: 520px; --cover-height: 600px; --cover-inset: 56px; position: relative; max-width: 1120px; margin: auto; }
.cover-slide { display: grid; grid-template-columns: var(--cover-column) minmax(0, 1fr); align-items: center; gap: 4rem; }
.cover-slide[hidden], .cover-controls[hidden] { display: none; }
.cover-image { display: flex; align-items: center; justify-content: center; height: var(--cover-height); padding-right: var(--cover-inset); }
.cover-image img { display: block; width: auto; max-width: 100%; height: 100%; object-fit: contain; }
.cover-copy h2 { font-size: 1.75rem; line-height: 1.25; margin: 0 0 2rem; text-wrap: balance; }
.cover-copy h3 { font-size: 1.5rem; margin: 0 0 .6rem; }
.cover-copy p { font-size: 1rem; line-height: 1.6; margin: 0; color: var(--ink); }
.cover-copy .cover-topic { margin-top: 1.25rem; font-size: 1.125rem; max-width: 36ch; }
.cover-controls { position: absolute; left: 0; top: 0; width: var(--cover-column); height: var(--cover-height); pointer-events: none; }
.cover-controls button { position: absolute; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--muted); cursor: pointer; pointer-events: auto; transition: background-color 180ms ease-out, color 180ms ease-out; }
.cover-controls button:hover { background: var(--surface); color: var(--ink); }
.cover-controls button:active { background: var(--surface-strong); }
.cover-controls [data-cover-pause] { right: 0; }
.cover-controls [data-cover-previous] { left: 16px; }
.cover-controls [data-cover-next] { right: calc(var(--cover-inset) + 16px); }
.cover-controls [data-cover-previous], .cover-controls [data-cover-next] { color: white; background: rgb(0 0 0 / 46%); }
.cover-controls [data-cover-previous]:hover, .cover-controls [data-cover-next]:hover { background: rgb(0 0 0 / 68%); }
.cover-controls [data-cover-previous]:active, .cover-controls [data-cover-next]:active { background: rgb(0 0 0 / 80%); }
.cover-controls [data-cover-previous]:focus-visible, .cover-controls [data-cover-next]:focus-visible { outline: 2px solid white; outline-offset: 2px; }
.cover-controls svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.cover-icon-play, [data-cover-pause][data-paused="true"] .cover-icon-pause { display: none; }
[data-cover-pause][data-paused="true"] .cover-icon-play { display: block; }
.publication-covers :focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
@media (max-width: 1000px) {
    .cover-stage { --cover-column: 420px; --cover-height: 480px; }
    .cover-slide { gap: 2rem; }
}
@media (max-width: 700px) {
    .publication-covers { padding: 1.5rem 0; }
    .cover-stage { --cover-column: 100%; --cover-height: min(540px, calc((100vw - 80px) * 1.3)); --cover-inset: 48px; max-width: 480px; }
    .cover-slide { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
    .cover-copy h2 { font-size: 1.375rem; margin-bottom: 1rem; }
    .cover-copy h2 br { display: none; }
    .cover-copy h3 { font-size: 1.25rem; }
    .cover-copy .cover-topic { margin-top: .6rem; }
}
@media (prefers-reduced-motion: reduce) {
    .cover-controls button { transition: none; }
}
