/* Layout corrections shared by the Node-rendered pages. */
.site-nav a, .logo, .hero-release-copy span, .latest-copy h2, .releases-kicker h1 { letter-spacing: 0; }
.site-header { gap: 16px; padding-inline: 24px; }
.site-nav ul { flex-wrap: wrap; }
.site-nav a { padding-inline: 10px; }
.hero-release-copy span { font-size: 42px; line-height: 1.15; overflow-wrap: anywhere; }
.afterglow-hero h1 { font-size: 144px; letter-spacing: 0; transform: none; margin: 20px 0; }
.latest-release-panel { grid-template-columns: minmax(180px, 280px) minmax(0, 1fr); gap: 32px; padding: 24px; }
.latest-copy { min-width: 0; }
.latest-copy h2 { font-size: 40px; line-height: 1.15; transform: none; overflow-wrap: anywhere; }
.latest-art-wrap { height: auto; }
.latest-art-wrap::before { display: none; }
.latest-art { width: 100%; }
.release-card-row { gap: 18px; margin-top: 24px; }
.release-tile-art { position: relative; height: auto; aspect-ratio: 16 / 10; }
.release-tile-art > img, .release-tile-art > .art-placeholder { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.release-card img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.release-tile-info { flex-wrap: wrap; }
.release-tile-info h3 { font-size: 16px; letter-spacing: 0; overflow-wrap: anywhere; }
.art-placeholder { aspect-ratio: 1; display: grid; place-items: center; background: #15212a; color: #f8efe4; font-size: 32px; }
.bio { white-space: pre-wrap; }
.music-player { flex-wrap: wrap; }
.player-info { flex-basis: 260px; }
.player-actions { flex-wrap: wrap; }
.volume-label { font-size: 12px; display: flex; gap: 8px; align-items: center; }
.volume-label input { width: 80px; accent-color: #ff7a1a; }
#player-status { font-size: 13px; color: #ffbf55; }
.btn:disabled { opacity: .45; cursor: default; transform: none; }
.admin-body { padding-bottom: 0; background: #101112; }
.dashboard-shell { background: #101112; }
.dashboard-top { background: transparent; border: 0; padding: 0 0 20px; border-bottom: 1px solid #333638; border-radius: 0; }
.dashboard-top h1 { font: 700 28px var(--body); letter-spacing: 0; }
.dashboard-sidebar { background: #181a1c; box-shadow: none; }
.dashboard-sidebar .dash-nav a, .dash-brand span { letter-spacing: 0; }
.dash-brand, .dash-user { background: transparent; border: 0; padding: 8px; }
.editor-form { width: min(100%, 760px); padding-bottom: 32px; }
.editor-form h2 { font: 700 22px var(--body); margin-bottom: 24px; }
.table-scroll { overflow-x: auto; margin-top: 24px; }
.table-scroll .data-table { min-width: 520px; }
.inline-form { display: inline; }
.login-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.login-form { width: min(100%, 400px); }
.login-form h1 { font-size: 40px; margin-bottom: 28px; }
.dashboard-main .btn, .dashboard-main .text-button { min-height: 40px; font-size: 13px; }
.dashboard-main .form-group label { font-size: 14px; font-weight: 500; }
.dashboard-main .admin-card { background: #1b1e20; box-shadow: none; }
.dashboard-main .admin-card::after { display: none; }
.dashboard-main .admin-card h2 { font: 600 20px var(--body); letter-spacing: 0; }
@media (max-width: 1100px) {
 .release-card-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .player-info { flex-basis: 200px; }
 .seek-bar { width: 160px; }
}
@media (max-width: 820px) {
 .afterglow-hero h1 { font-size: 64px; }
 .hero-release-copy span { font-size: 26px; }
 .latest-release-panel { grid-template-columns: 1fr; }
 .latest-art { max-width: 320px; }
 .latest-copy h2 { font-size: 30px; }
 .releases-kicker h1 { font-size: 56px; transform: none; }
 .dashboard-main { padding: 20px; }
 .dashboard-sidebar .dash-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .music-player { gap: 8px; padding: 8px 12px; }
 .player-info { flex-direction: row; align-items: center; flex-basis: auto; gap: 12px; }
 .player-art { width: 36px; height: 36px; }
 .player-actions { gap: 8px; }
 .play-btn { min-width: 40px; min-height: 40px; width: 40px; height: 40px; }
 .volume-label { display: none; }
 body { padding-bottom: 160px; }
 .releases-page { padding-bottom: 170px; }
}
@media (max-width: 480px) {
 .release-card-row { grid-template-columns: 1fr; }
 .hero-release { grid-template-columns: 96px minmax(0, 1fr); margin: 0; }
 .hero-release-copy span { font-size: 22px; }
 .hero-release-copy .inline-actions { margin-top: 12px; }
 .hero-release-copy .btn { font-size: 12px; padding-inline: 10px; }
}
@media (prefers-reduced-motion: reduce) {
 *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
 #nova-signal { opacity: .35; }
}
