/* Catalog and listening room. The official Spotify frame is not restyled. */
.music-sections{display:flex;gap:12px;flex-wrap:wrap;padding-bottom:26px}
.music-sections a{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 18px;border:1px solid var(--line);border-radius:6px;color:var(--ink);text-decoration:none;font-size:.9rem;font-weight:650}
.music-sections a>span:not(:last-child){font-size:.78rem;font-weight:400;color:var(--mut)}
.music-sections a:hover{border-color:var(--brand);background:var(--surface)}
.streaming-browser,.physical-discography{scroll-margin-top:120px}
.physical-discography{margin-top:48px;padding-block:36px 44px;background:var(--ink);color:var(--surface)}
.physical-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}
.physical-heading p{margin:0;font-size:.96rem;line-height:1.6;max-width:42ch}
.physical-heading>div>p{color:var(--gold);font-size:.8rem}
.physical-heading h2{font-size:clamp(2.3rem,4vw,3.5rem);line-height:1.1;letter-spacing:-.03em;margin:8px 0 0}
.physical-records{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.physical-record{display:flex;flex-direction:column;min-width:0;text-decoration:none!important;color:var(--surface)!important;border:1px solid #f1eee930;border-radius:10px;overflow:hidden;transition:border-color .2s}
.physical-record:hover{border-color:var(--gold)}
.physical-record figure{margin:0;background:var(--bg);position:relative;aspect-ratio:1;padding:16px 16px 38px;display:flex;align-items:center;justify-content:center}
.physical-record img{width:100%;height:100%;object-fit:contain;display:block}
.physical-record figure>span{position:absolute;left:16px;bottom:10px;color:var(--brand-text);font-size:.75rem;font-weight:650}
.physical-record>div{padding:18px;display:flex;flex-direction:column;flex:1;gap:16px}
.physical-record h3{font:650 clamp(1.05rem,1.5vw,1.3rem)/1.3 var(--font-sans);letter-spacing:-.015em;margin:0;overflow-wrap:anywhere}
.physical-record>div>span{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid #f1eee930;font-size:.8rem;color:var(--gold)}
.physical-formats{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.physical-formats a{display:flex;align-items:center;gap:16px;min-height:48px;padding:10px 16px;border:1px solid #f1eee950;border-radius:6px;color:var(--surface);text-decoration:none;font-size:.9rem;font-weight:650}
.physical-formats a:hover{border-color:var(--gold);color:var(--gold)}
.physical-formats a>span{font-size:.78rem;font-weight:400;color:var(--gold)}
@media(max-width:1000px){.physical-records{grid-template-columns:repeat(2,minmax(0,1fr))}.physical-heading{align-items:start;flex-direction:column;gap:14px}}
@media(max-width:520px){.music-sections{gap:8px}.music-sections a{width:100%}.music-sections a>span:last-child{margin-left:auto}.physical-records{grid-template-columns:1fr}.physical-record{display:grid;grid-template-columns:110px minmax(0,1fr)}.physical-record figure{height:100%;min-height:160px;aspect-ratio:auto;padding:10px 8px 32px}.physical-record figure>span{left:8px;font-size:.7rem}.physical-record>div{padding:14px;gap:10px}.physical-record h3{font-size:1.1rem}.physical-formats{display:grid;grid-template-columns:1fr}.physical-formats a>span:last-child{margin-left:auto}.physical-discography{margin-top:32px}}
@media(prefers-reduced-motion:reduce){.physical-record{transition:none}}
.streaming-redesign [hidden]{display:none!important}
.streaming-redesign .streaming-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;padding-block:48px 32px}
.streaming-redesign .streaming-heading>div:first-child{max-width:700px}
.streaming-redesign .streaming-heading .meta-mono{font-size:.78rem;color:var(--brand-deep);margin:0}
.streaming-redesign .streaming-heading h1{font-size:clamp(2.4rem,5.2vw,4.8rem);margin:12px 0 16px;letter-spacing:-.055em}
.streaming-redesign .streaming-heading p:not(.meta-mono){font-size:1rem;line-height:1.6;max-width:600px;margin:0;color:var(--muted)}
.streaming-heading-links{flex-shrink:0;text-align:right}
.streaming-redesign .streaming-platforms{margin:0;gap:8px;justify-content:end}
.streaming-redesign .streaming-platforms a{min-height:44px;font-size:.8rem;padding:8px 12px;background:transparent;color:var(--ink);border-color:var(--line);border-radius:24px}
.streaming-redesign .streaming-platforms a:hover{background:var(--ink);color:var(--surface)}
.streaming-repertoire{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;font-size:.82rem;color:var(--brand-deep);text-underline-offset:4px}
.streaming-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;border-block:1px solid var(--line)}
.streaming-filters{display:flex;flex-wrap:wrap;gap:6px}
.streaming-filters button{font:600 .84rem/1.3 var(--font-sans);border:1px solid transparent;border-radius:24px;background:transparent;color:var(--ink);padding:10px 14px;min-height:44px;cursor:pointer}
.streaming-filters button span{margin-left:5px;font-size:.7rem;opacity:.7}
.streaming-filters button[aria-pressed=true]{background:var(--ink);color:var(--surface)}
.streaming-filters button:hover{border-color:var(--brand)}
.streaming-search{min-width:180px;width:230px;flex-shrink:0}
.streaming-search input{width:100%;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font:400 .9rem/1.5 var(--font-sans)}
.streaming-results-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;font-size:.8rem;color:var(--muted)}
.streaming-results-bar p{margin:0}
.streaming-results-bar a{color:var(--brand-deep);min-height:44px;display:flex;align-items:center;text-underline-offset:4px}
.streaming-records{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 24px}
.streaming-record{min-width:0}
.streaming-record-open{display:block;color:var(--ink);text-decoration:none!important;border-radius:10px}
.streaming-record-cover{position:relative;aspect-ratio:1;overflow:hidden;border-radius:8px;background:var(--surface);box-shadow:0 8px 24px #25282d0d}
.streaming-record-cover img{width:100%;height:100%;display:block;object-fit:contain;transition:transform .25s ease}
.streaming-record-play{position:absolute;right:12px;bottom:12px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--surface);font:400 1.5rem/1 var(--font-sans);box-shadow:0 3px 14px #0003;transition:background .2s,transform .2s}
.streaming-record-open:hover .streaming-record-play,.streaming-record-open:focus-visible .streaming-record-play{background:var(--brand-deep);transform:translateY(-3px)}
.streaming-record-open:hover img{transform:scale(1.025)}
.streaming-record-copy{padding-top:14px}
.streaming-record-copy p{font-size:.7rem;color:var(--brand-deep);margin:0 0 6px}
.streaming-record-copy h2{font:700 clamp(1rem,1.35vw,1.25rem)/1.3 var(--font-sans);letter-spacing:-.02em;margin:0;overflow-wrap:anywhere}
.streaming-record-action{display:flex;align-items:center;gap:8px;min-height:36px;margin-top:8px;font-size:.78rem;font-weight:600;color:var(--brand-deep)}
.streaming-empty{text-align:center;padding:60px 20px}
.streaming-more{display:block;min-height:48px;margin:36px auto 0;padding:12px 24px;background:transparent;color:var(--brand-deep);border:1px solid var(--line);border-radius:6px;font:600 .9rem/1.4 var(--font-sans);cursor:pointer}
.streaming-empty h2{font-size:1.5rem}
.streaming-empty button,.listen-retry{font:600 .9rem/1.4 var(--font-sans);min-height:44px;padding:10px 16px;background:var(--brand-deep);color:var(--surface);border:0;border-radius:6px;cursor:pointer}
.streaming-redesign a:focus-visible,.streaming-redesign button:focus-visible,.streaming-redesign input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.listen-dialog{padding:0;border:1px solid #c3a05e55;border-radius:18px;background:var(--ink);color:var(--surface);width:min(960px,calc(100% - 48px));max-width:none;max-height:90vh;max-height:90dvh;overflow:hidden;box-shadow:0 24px 90px #0006}
.listen-dialog::backdrop{background:#101114b8;backdrop-filter:blur(6px)}
/* Native dialogs live above every document z-index, including the decorative cursor.
   Restore the system cursor in this top layer and let Spotify own its iframe pointer. */
html.has-listen-dialog .mad-cursor{visibility:hidden!important}
html.has-mad-cursor .listen-dialog[open],html.has-mad-cursor .listen-dialog[open] *{cursor:auto!important}
html.has-mad-cursor .listen-dialog[open] :is(a,button),html.has-mad-cursor .listen-dialog[open] :is(a,button) *{cursor:pointer!important}
.listen-dialog::backdrop{cursor:default!important}
.listen-dialog [hidden]{display:none!important}
.listen-dialog :is(a,button):focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.listen-dialog[open]{display:flex;flex-direction:column;animation:listen-enter .2s ease-out}
.listen-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 20px;border-bottom:1px solid #f1eee922;flex-shrink:0}
.listen-dialog-bar>span{font:600 .78rem/1.4 var(--font-sans);color:var(--gold)}
.listen-dialog-bar button{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px;border:0;background:transparent;color:var(--surface);font:500 .8rem/1.4 var(--font-sans);cursor:pointer}
.listen-dialog-bar button span{font-size:1.5rem}
.listen-dialog-scroll{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:36px;padding:28px;overflow:auto;overscroll-behavior:contain;min-height:0}
.listen-summary,.listen-content{min-width:0}
.listen-summary img{display:block;width:100%;max-width:310px;aspect-ratio:1;object-fit:contain;border-radius:8px;margin-bottom:20px;background:var(--surface)}
.listen-summary p{color:var(--gold);font:500 .75rem/1.4 var(--font-sans);margin:0 0 8px}
.listen-summary h2{font:700 clamp(1.35rem,2.2vw,2rem)/1.15 var(--font-sans);letter-spacing:-.025em;margin:0;overflow-wrap:anywhere;color:var(--surface)}
.listen-player{min-height:352px;border-radius:12px;background:#202020}
.listen-player:empty:not([aria-busy]){min-height:0}
.listen-player iframe{display:block;width:100%;max-width:100%;height:352px;border:0;border-radius:12px}
.listen-status{font:400 .85rem/1.5 var(--font-sans);color:var(--surface);margin:12px 0}
.listen-status:empty{display:none}
.listen-services h3{font:600 .85rem/1.5 var(--font-sans);color:var(--surface);margin:22px 0 12px}
.listen-services nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.listen-services a{display:flex;align-items:center;gap:10px;min-height:46px;padding:10px 12px;border:1px solid #f1eee933;border-radius:6px;color:var(--surface);text-decoration:none;font:500 .8rem/1.4 var(--font-sans)}
.listen-services a svg{width:20px;height:20px;flex-shrink:0}
.listen-services a span:last-child{margin-left:auto}
.listen-services a:hover{background:#f1eee91a;border-color:var(--gold)}
.listen-official{display:inline-flex;align-items:center;min-height:44px;font:400 .75rem/1.5 var(--font-sans);margin-top:10px;color:var(--gold);text-underline-offset:4px}
@keyframes listen-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1024px){.streaming-toolbar{align-items:start;flex-direction:column;gap:12px}.streaming-search{width:100%}.streaming-records{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 18px}.streaming-redesign .streaming-heading{align-items:start;flex-direction:column;gap:16px}.streaming-heading-links{display:flex;align-items:center;gap:20px;text-align:left}.streaming-repertoire{margin:0}}
@media(max-width:600px){
 .streaming-redesign .streaming-heading{padding-block:28px 22px;gap:12px}.streaming-redesign .streaming-heading h1{font-size:2.55rem;margin:10px 0 12px}.streaming-redesign .streaming-heading p:not(.meta-mono){font-size:.88rem}
 .streaming-heading-links{flex-wrap:wrap;gap:4px 16px}.streaming-redesign .streaming-platforms{justify-content:start}.streaming-redesign .streaming-platforms a{font-size:.75rem;padding:8px 10px}
 .streaming-toolbar{padding-block:14px}.streaming-filters{gap:4px}.streaming-filters button{font-size:.75rem;padding:8px 10px}.streaming-records{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.streaming-record-copy{padding-top:10px}.streaming-record-copy h2{font-size:1rem}.streaming-record-play{width:36px;height:36px;font-size:1.3rem;right:8px;bottom:8px}.streaming-record-copy p{font-size:.65rem}
 .listen-dialog{width:100%;max-height:94vh;max-height:94dvh;margin:auto 0 0;border-radius:18px 18px 0 0;border-bottom:0}
 .listen-dialog-bar{padding:8px 16px}.listen-dialog-scroll{grid-template-columns:minmax(0,1fr);gap:18px;padding:18px 16px calc(20px + env(safe-area-inset-bottom))}.listen-summary img{display:none}.listen-summary h2{font-size:1.35rem}.listen-summary p{margin-bottom:6px}.listen-services nav{gap:8px}.listen-services a{padding:10px;font-size:.76rem}
}
@media(prefers-reduced-motion:reduce){.listen-dialog[open]{animation:none}.streaming-record-cover img,.streaming-record-play{transition:none}}

/* Work-level recordings use the same listening dialog as the release catalog. */
.repertoire-recordings{padding:40px 0 56px;scroll-margin-top:120px;background:var(--surface,#f8f6f2)}
.repertoire-recordings header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}
.repertoire-recordings header h2{margin:6px 0 0;font-size:clamp(1.8rem,3vw,2.6rem)}
.repertoire-recordings header>a{font-weight:700;color:var(--brand-text,#684a29)}
.repertoire-recordings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.repertoire-recording{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:start;gap:22px;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--bg,#f1eee9);min-width:0}
.repertoire-recording>img{display:block;width:112px;height:112px;object-fit:contain;border-radius:6px}
.repertoire-recording h3{font-size:1.3rem;line-height:1.25;margin:8px 0 12px;overflow-wrap:anywhere}
.repertoire-recording p{margin:0 0 12px;line-height:1.5;font-size:.85rem}
.repertoire-recording .meta-mono{font-family:var(--font-sans);font-size:.7rem;color:var(--brand-text,#684a29)}
.repertoire-recording-links{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:16px}
.repertoire-recording-links a{font-size:.8rem;color:var(--brand-text,#684a29);font-weight:700;min-height:44px;display:inline-flex;align-items:center;gap:12px}
.repertoire-recording-links [data-stream-open]{padding:10px 18px;border-radius:6px;color:#fff;background:#684a29;text-decoration:none}
@media(max-width:900px){.repertoire-recordings-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.repertoire-recordings{padding:28px 0 36px}.repertoire-recordings header{align-items:start;flex-direction:column;gap:12px}.repertoire-recording{grid-template-columns:64px minmax(0,1fr);gap:14px;padding:16px}.repertoire-recording>img{width:64px;height:64px}.repertoire-recording h3{font-size:1.1rem}.repertoire-recording-links{flex-direction:column;align-items:start}}
