/* Album detail composition; scoped so the shared navigation and other worlds keep their styles. */
body.music-album-body::before { display: none !important; content: none !important; }
.music-world-page .music-album-reference {
    --album-gold: #c69a48;
    --album-bright: #ebc779;
    --album-line: rgba(174, 124, 43, .43);
    width: calc(100% - 40px);
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 0 12px;
    color: #e2c590;
    background: linear-gradient(145deg, #25080f, #16070a 48%, #280910);
    font-family: 'EB Garamond', Georgia, serif;
    font-weight: 400;
}
.music-album-reference *, .music-album-reference *::before, .music-album-reference *::after { box-sizing: border-box; }
.music-album-reference a { color: inherit; text-decoration: none; }
.music-album-reference a:hover { color: #ffe3a1; }
.music-album-reference a:focus-visible { outline: 2px solid #eac271; outline-offset: 3px; }
.music-album-reference section[id] { scroll-margin-top: 80px; }
.music-album-reference .album-icon { flex: 0 0 auto; width: 16px; height: 16px; }
.music-album-reference .album-breadcrumb {
    display: flex; flex-wrap: wrap; align-items: center; gap: 9px;
    margin: 0; padding: 12px 8px 10px;
    color: var(--album-gold); font: 9px/1.4 'Cinzel', serif; text-transform: uppercase;
}
.music-album-reference .album-hero {
    display: grid; grid-template-columns: minmax(0, .38fr) minmax(0, .62fr);
    gap: 32px; align-items: start; padding: 10px 8px 16px; min-width: 0;
    background: linear-gradient(90deg, #25080f 38%, rgba(31, 5, 10, .9) 66%, rgba(25, 4, 8, .45)), var(--album-art) right center / 68% auto no-repeat;
}
.music-album-reference .album-cover {
    position: relative; overflow: hidden; align-self: start; aspect-ratio: 1;
    border: 1px solid var(--album-gold); border-radius: 2px; background: #1a080b;
    box-shadow: 0 4px 16px #0006;
}
.music-album-reference .album-cover > img { width: 100%; height: 100%; display: block; object-fit: cover; }
.music-album-reference .album-cover::after { content: ''; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, #130307eb); }
.music-album-reference .album-cover__title { position: absolute; z-index: 1; inset: auto 15px 18px; text-align: center; }
.music-album-reference .album-cover__title strong { display: block; color: var(--album-bright); font: 400 clamp(19px, 2.4vw, 30px)/1.08 'Cinzel', serif; letter-spacing: .1em; text-transform: uppercase; }
.music-album-reference .album-cover__title small { display: block; margin-top: 8px; color: #caa059; font: 9px/1.4 'Cinzel', serif; letter-spacing: .08em; text-transform: uppercase; }
.music-album-reference .album-hero__copy { min-width: 0; padding: 0 12px 0 0; }
.music-album-reference .album-eyebrow { margin: 0 0 9px; color: var(--album-gold); font: 10px/1.2 'Cinzel', serif; letter-spacing: .13em; text-transform: uppercase; }
.music-album-reference .album-hero h1 { margin: 0 0 7px; color: #e4b862; font: 400 clamp(23px, 3.1vw, 40px)/1.1 'Cinzel', serif; letter-spacing: .09em; text-transform: uppercase; overflow-wrap: anywhere; }
.music-album-reference .album-subtitle { margin: 0; max-width: 420px; font: 13px/1.45 'Cinzel', serif; letter-spacing: .05em; color: var(--album-gold); text-transform: uppercase; }
.music-album-reference .album-ornament { display: flex; align-items: center; max-width: 130px; gap: 8px; margin: 10px 0; color: var(--album-gold); }
.music-album-reference .album-ornament::before, .music-album-reference .album-ornament::after { content: ''; height: 1px; flex: 1; background: linear-gradient(90deg, transparent, var(--album-gold)); }
.music-album-reference .album-ornament::after { transform: rotate(180deg); }
.music-album-reference .album-ornament span { font-size: 14px; line-height: 1; }
.music-album-reference .album-meta, .music-album-reference .album-date { margin: 0 0 5px; color: #bf954e; font: 9px/1.5 'Cinzel', serif; letter-spacing: .05em; text-transform: uppercase; }
.music-album-reference .album-intro { max-width: 480px; margin: 12px 0 16px; font: italic 16px/1.38 'EB Garamond', Georgia, serif; color: #e4c58e; }
.music-album-reference .album-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.music-album-reference .album-button {
    display: inline-flex; align-items: center; justify-content: center; gap: 7px;
    min-height: 34px; padding: 7px 13px; border: 1px solid #9b702c; border-radius: 2px;
    color: #dbb366; background: linear-gradient(110deg, #360814e0, #130508dc);
    font: 9px/1.3 'Cinzel', serif; letter-spacing: .03em; text-transform: uppercase;
}
.music-album-reference .album-button:hover { background: #4a0c19; border-color: #e1b86b; }
.music-album-reference .album-button--primary { border-color: #b18035; background: linear-gradient(120deg, #4e0b1c, #290710); }
.music-album-reference .album-platforms { margin-top: 12px; }
.music-album-reference .album-platforms .music-platform-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.music-album-reference .album-platforms .music-platform-badge { gap: 4px; min-height: 27px; padding: 5px 7px; border-color: var(--album-line); border-radius: 2px; background: #100608; font: 9px/1.2 'EB Garamond', serif; }
.music-album-reference .album-platforms .music-platform-badge__icon, .music-album-reference .album-platforms .music-platform-badge svg { width: 14px; height: 14px; }
.music-album-reference .album-spotify { display: block; min-height: 0; padding: 0; margin: 0 8px 5px; }
.music-album-reference .music-spotify-player { border-color: var(--album-line); border-radius: 6px; }
.music-album-reference .music-spotify-player iframe { height: 152px; }
.music-album-reference .album-section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 7px; }
.music-album-reference .album-section-head h2, .music-album-reference .album-story h2 { margin: 0; color: var(--album-bright); font: 400 15px/1.3 'Cinzel', serif; letter-spacing: .06em; text-transform: uppercase; }
.music-album-reference .album-section-head > a, .music-album-reference .album-section-head > span { display: inline-flex; align-items: center; gap: 5px; color: #b99148; font: 8px/1.3 'Cinzel', serif; text-transform: uppercase; }
.music-album-reference .album-section-head .album-icon { width: 11px; height: 11px; }
.music-album-reference .album-tracks { padding: 0 8px 8px; }
.music-album-reference .album-track-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.music-album-reference .album-track-column { min-width: 0; border: 1px solid var(--album-line); background: #1a070ca6; }
.music-album-reference .album-track {
    min-height: 34px; display: grid; grid-template-columns: 19px 18px minmax(0, 1fr) 40px 52px;
    align-items: center; gap: 7px; padding: 4px 8px; border-bottom: 1px solid var(--album-line);
}
.music-album-reference .album-track:last-child { border-bottom: 0; }
.music-album-reference .album-track h3 { margin: 0; color: #e0bb75; font: 400 14px/1.25 'EB Garamond', serif; }
.music-album-reference .album-track__number { color: #b18943; font-size: 12px; text-align: center; }
.music-album-reference .album-track__play { display: flex; align-items: center; justify-content: center; width: 19px; height: 19px; border: 1px solid #a77c35; border-radius: 50%; color: #d9ae5e; }
.music-album-reference .album-track__play .album-icon { width: 12px; height: 12px; }
.music-album-reference .album-track__play.is-unavailable { opacity: .45; }
.music-album-reference .album-track__duration { color: #bd9b63; font-size: 12px; text-align: right; }
.music-album-reference .album-track__links { display: flex; gap: 7px; justify-content: flex-end; }
.music-album-reference .album-track__links a { display: inline-flex; align-items: center; justify-content: center; min-width: 19px; min-height: 22px; color: #c99a45; }
.music-album-reference .album-track__links .album-icon { width: 14px; height: 14px; }
.music-album-reference .album-track-legend { display: flex; justify-content: center; flex-wrap: wrap; gap: 17px; margin: 7px 0 0; color: #b79252; font: 7px/1.3 'Cinzel', serif; text-transform: uppercase; }
.music-album-reference .album-track-legend > span { display: flex; align-items: center; gap: 4px; }
.music-album-reference .album-track-legend .album-icon { width: 11px; height: 11px; }
.music-world-page .music-album-reference .album-story {
    position: relative; isolation: isolate; display: flex; align-items: center;
    min-height: 150px; margin: 6px 8px 14px; padding: 0;
    overflow: hidden; border: 1px solid var(--album-line); border-radius: 2px;
    background: linear-gradient(90deg, #23070ef2, #23070ed9 35%, #23070e30 70%), var(--album-story-art) center 35% / cover no-repeat, #25080f;
}
.music-album-reference .album-story__copy { position: relative; z-index: 1; width: 46%; padding: 15px; }
.music-album-reference .album-story h2 { font-size: 13px; }
.music-album-reference .album-story p { margin: 8px 0; color: #e8cda0; font: 14px/1.35 'EB Garamond', serif; }
.music-album-reference .album-story-dialog { display: none; }
.music-album-reference .album-story-dialog:target { position: fixed; inset: 0; z-index: 1100; display: flex; align-items: center; justify-content: center; padding: 24px; background: #080204e8; }
.music-album-reference .album-story-dialog__card { position: relative; width: min(640px, 100%); max-height: 85vh; overflow-y: auto; padding: 32px; color: #efd5a1; border: 1px solid #b48a40; background: linear-gradient(130deg, #430c1b, #1b070d); font: 18px/1.5 'EB Garamond', serif; }
.music-album-reference .album-story-dialog__card h2 { margin: 0 0 20px; font: 400 25px/1.3 'Cinzel', serif; }
.music-album-reference .album-story-dialog__card .album-button { margin-top: 20px; }
.music-album-reference .album-story-dialog__close { position: absolute; top: 4px; right: 12px; font-size: 28px; }
.music-album-reference .album-films { padding: 0 8px 14px; }
.music-album-reference .album-film-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 7px; align-items: stretch; }
.music-album-reference .album-film { min-width: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--album-line); border-radius: 2px; background: #1c070c; }
.music-album-reference .album-film__poster { position: relative; display: block; aspect-ratio: 1.35; overflow: hidden; }
.music-album-reference .album-film__poster > img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.music-album-reference .album-film__poster::after { content: ''; position: absolute; inset: 0; background: linear-gradient(transparent 40%, #110308a8); }
.music-album-reference .album-film__poster:hover > img { transform: scale(1.04); }
.music-album-reference .album-film__play { position: absolute; z-index: 1; top: 50%; left: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 33px; height: 33px; border: 1px solid #edd29a; border-radius: 50%; color: #ffebbd; background: #10030766; }
.music-album-reference .album-film__copy { flex: 1; padding: 7px; }
.music-album-reference .album-film h3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; min-height: 26px; margin: 0 0 3px; color: #dfb76a; font: 400 9px/1.45 'Cinzel', serif; text-transform: uppercase; }
.music-album-reference .album-film p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; min-height: 28px; margin: 0; color: #c4a275; font: 12px/1.2 'EB Garamond', serif; }
.music-album-reference .album-films--exclusive .album-film__poster > img { filter: brightness(.74); }
.music-album-reference .album-films--exclusive .album-film-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.music-album-reference .album-film__lock { position: absolute; z-index: 1; right: 7px; bottom: 7px; color: #e0b65f; }
.music-album-reference .album-film small { display: block; margin-top: 4px; color: #b59146; font-size: 10px; }
.music-world-page .music-album-reference .album-continue {
    position: relative; isolation: isolate; display: grid; grid-template-columns: 1fr 2fr 1fr; align-items: center; justify-content: normal;
    gap: 8px; max-width: none; min-height: 130px; padding: 16px; margin: 0 8px;
    overflow: hidden; border: 1px solid var(--album-line); text-align: center;
    background: linear-gradient(90deg, #25070d, #190509 50%, #28080f);
}
.music-album-reference .album-continue > div { position: relative; z-index: 1; }
.music-album-reference .album-continue h2 { margin: 0 0 4px; color: #e3b861; font: 400 20px/1.3 'Cinzel', serif; letter-spacing: .12em; text-transform: uppercase; }
.music-album-reference .album-continue p { margin: 0 0 9px; color: #c2a165; font-size: 14px; }
.music-album-reference .album-continue .album-button { min-height: 30px; }
.music-album-reference .album-continue__key { width: 100%; height: 95px; object-fit: contain; transform: rotate(-8deg); mix-blend-mode: lighten; }
.music-album-reference .album-continue__art { width: 100%; height: 115px; object-fit: cover; object-position: right; opacity: .7; mask-image: linear-gradient(90deg, transparent, #000 70%); }
.music-album-reference .album-empty { margin: 12px 0; font-size: 14px; }
@media (max-width: 980px) {
    .music-world-page .music-album-reference { width: calc(100% - 24px); }
    .music-album-reference .album-hero { gap: 20px; }
    .music-album-reference .album-hero h1 { font-size: 29px; }
    .music-album-reference .album-intro { font-size: 15px; }
    .music-album-reference .album-button { padding-inline: 8px; font-size: 8px; }
    .music-album-reference .album-film-grid,
    .music-album-reference .album-films--exclusive .album-film-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .music-album-reference .album-film__poster { aspect-ratio: 1.6; }
}
@media (max-width: 600px) {
    .music-world-page .music-album-reference { width: calc(100% - 16px); padding-bottom: 8px; }
    .music-album-reference .album-breadcrumb { padding: 10px 4px; gap: 5px; font-size: 8px; }
    .music-album-reference .album-hero { grid-template-columns: minmax(0, 1fr); align-items: start; gap: 12px; padding: 4px 4px 12px; background: linear-gradient(145deg, #25080f, #16070a); }
    .music-album-reference .album-cover__title { inset: auto 14px 18px; }
    .music-album-reference .album-cover__title strong { font-size: clamp(22px, 6.5vw, 32px); letter-spacing: .03em; }
    .music-album-reference .album-cover__title small { margin-top: 5px; font-size: 9px; }
    .music-album-reference .album-hero__copy { display: block; padding: 0; }
    .music-album-reference .album-hero__copy > * { grid-column: auto; }
    .music-album-reference .album-cover { grid-row: auto; width: 100%; }
    .music-album-reference .album-hero h1 { margin: 0 0 6px; font-size: clamp(22px, 6vw, 30px); letter-spacing: .04em; }
    .music-album-reference .album-eyebrow { margin: 0 0 6px; font-size: 8px; }
    .music-album-reference .album-subtitle { font-size: 9px; }
    .music-album-reference .album-ornament { margin: 8px 0; }
    .music-album-reference .album-meta, .music-album-reference .album-date { margin: 4px 0; font-size: 8px; }
    .music-album-reference .album-hero .album-intro,
    .music-album-reference .album-hero .album-actions,
    .music-album-reference .album-hero .album-platforms { grid-column: auto; margin: 10px 0 0; }
    .music-album-reference .album-intro { font-size: 14px; }
    .music-album-reference .album-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
    .music-album-reference .album-button { min-height: 36px; padding: 6px; font-size: 7px; gap: 4px; text-align: center; }
    .music-album-reference .album-button .album-icon { width: 13px; height: 13px; }
    .music-album-reference .album-platforms .music-platform-badges { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
    .music-album-reference .album-platforms .music-platform-badge { min-width: 0; min-height: 29px; padding: 4px; font-size: 9px; }
    .music-album-reference .album-spotify { margin: 0 4px 5px; }
    .music-album-reference .album-tracks { padding-inline: 4px; }
    .music-album-reference .album-section-head h2 { font-size: 12px; }
    .music-album-reference .album-section-head > span, .music-album-reference .album-section-head > a { font-size: 7px; }
    .music-album-reference .album-track-columns { grid-template-columns: 1fr; gap: 0; }
    .music-album-reference .album-track-column + .album-track-column { border-top: 0; }
    .music-album-reference .album-track { min-height: 40px; grid-template-columns: 22px 19px minmax(0, 1fr) 35px 53px; gap: 5px; }
    .music-album-reference .album-track__play { width: 22px; height: 22px; }
    .music-album-reference .album-track__links a { min-width: 22px; min-height: 30px; }
    .music-album-reference .album-track-legend { gap: 9px; font-size: 6px; }
    .music-world-page .music-album-reference .album-story { margin: 4px 4px 12px; min-height: 0; background: linear-gradient(90deg, #23070ef2, #23070ec9 65%, #23070e88), var(--album-story-art) center 35% / cover no-repeat, #25080f; }
    .music-album-reference .album-story__copy { width: 100%; padding: 12px; }
    .music-album-reference .album-story h2 { font-size: 10px; }
    .music-album-reference .album-story p { margin: 9px 0; font-size: 13px; }
    .music-album-reference .album-films { padding: 0 4px 12px; }
    .music-album-reference .album-film-grid,
    .music-album-reference .album-films--exclusive .album-film-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
    .music-album-reference .album-film h3 { min-height: 28px; font-size: 10px; }
    .music-world-page .music-album-reference .album-continue { grid-template-columns: 1fr; margin: 0 4px; min-height: 125px; padding: 16px 12px; }
    .music-album-reference .album-continue h2 { font-size: 17px; }
    .music-album-reference .album-continue p { font-size: 13px; }
    .music-album-reference .album-continue__key { position: absolute; left: -20px; bottom: 0; z-index: -1; width: 110px; opacity: .3; }
    .music-album-reference .album-continue__art { position: absolute; right: 0; inset-block: 0; z-index: -1; width: 140px; height: 100%; opacity: .3; }
    .music-album-reference .album-story-dialog:target { padding: 12px; }
    .music-album-reference .album-story-dialog__card { padding: 24px 18px; font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { .music-album-reference .album-film__poster > img { transition: none; } }
