/* Client-approved composer_8 and seasons_1, integrated with the existing Player. */
.composer-lockup { display:inline-flex; flex-direction:column; align-items:flex-start; width:max-content; margin-right:auto; gap:0; }
.composer-name { white-space:nowrap; }
.composer-role { display:block; margin-top:-.25rem; font-family:"din-2014",sans-serif; font-size:.75rem; font-weight:400; line-height:1.15; letter-spacing:.2em; text-transform:uppercase; color:#333; transform:translateX(var(--optical-offset,0px)); transition:none !important; }
@media(max-width:767.98px) {
  .composer-role { font-size:.6875rem; letter-spacing:.18em; }
  body[data-page="home"] #main-content { top:var(--composer-header-height,6rem); }
  body[data-page="home"] .root-background { inset:var(--composer-header-height,6rem) 0 0; }
}
.about-copy strong { font-weight:600; }

/* Exact approved hierarchy: project-group tabs, then release choice, then media. */
.grouped-modal::after { display:none; }
.ov-backdrop { position:absolute; inset:0; background-size:cover; background-position:center; filter:blur(.75rem); opacity:.55; }
.ov-scroll { position:relative; z-index:1; height:100%; overflow-y:auto; background:rgb(0 0 0/.35); }
.ov-top { position:sticky; top:0; z-index:30; display:flex; align-items:center; gap:1rem; padding:.75rem 1rem; background:rgb(0 0 0/.72); backdrop-filter:blur(16px); }
.ov-tabs { display:flex; gap:1.75rem; margin-inline:auto; }
.ov-tab { position:relative; padding:.5rem .25rem .6rem; font-family:"din-2014",sans-serif; font-weight:300; font-size:1rem; letter-spacing:.22em; text-transform:uppercase; color:rgb(255 255 255/.55); transition:color .15s; }
.ov-tab:hover { color:rgb(255 255 255/.85); }
.ov-tab[aria-selected="true"] { color:#fff; }
.ov-tab[aria-selected="true"]::after { content:""; position:absolute; left:.25rem; right:.25rem; bottom:0; height:2px; background:#e5e7eb; }
.ov-close { display:flex; padding:.25rem; color:#9ca3af; }
.ov-close:hover { color:#fff; }
.ov-close svg { width:1.5rem; height:1.5rem; }
.ov-sticky { position:sticky; top:3.5rem; z-index:25; padding:.5rem 1rem; background:rgb(0 0 0/.8); backdrop-filter:blur(16px); border-bottom:1px solid rgb(255 255 255/.12); }
.ov-sticky select { width:100%; padding:.45rem .6rem; background:rgb(255 255 255/.08); color:#fff; border:1px solid rgb(255 255 255/.25); border-radius:.25rem; font-family:inherit; font-weight:300; font-size:.875rem; }
.ov-sticky option { color:#000; }
.ov-head { padding-block:1.25rem .75rem; }
.ov-releases { display:none; }
.ov-title { font-family:"proxima-nova",sans-serif; font-weight:500; font-size:1.25rem; line-height:1.75rem; }
.ov-year { font-weight:300; font-size:1rem; color:#9ca3af; }
.ov-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; padding-bottom:2rem; }
.ov-col { min-width:0; }
.ov-info { display:flex; flex-direction:column; gap:1rem; }
.ov-poster { width:100%; max-height:60vh; object-fit:contain; border-radius:.5rem; }
.ov-credits { padding:1rem; border-radius:.5rem; background:rgb(0 0 0/.3); font-size:.875rem; font-weight:300; line-height:1.25rem; }
.ov-credits > div + div { margin-top:.5rem; }
.ov-credits dt { font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; color:#9ca3af; margin-bottom:.125rem; }
.ov-credits dd { margin:0; }
.ov-links-block { padding:1rem; border-radius:.5rem; background:rgb(0 0 0/.3); }
.ov-links-heading,.ov-videos-heading { font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; font-weight:300; color:#9ca3af; margin-bottom:.5rem; }
.ov-links { display:flex; flex-wrap:wrap; gap:.5rem; list-style:none; margin:0; padding:0; }
.ov-links a { display:inline-flex; padding:.35rem .75rem; border:1px solid rgb(255 255 255/.25); border-radius:999px; font-size:.8125rem; font-weight:300; transition:border-color .15s,background-color .15s; }
.ov-links a:hover { border-color:rgb(255 255 255/.7); background:rgb(255 255 255/.08); }
.ov-empty { padding:.75rem 1rem; border:1px dashed rgb(255 255 255/.25); border-radius:.5rem; font-size:.875rem; font-weight:300; color:#9ca3af; }
.ov-video-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(13rem,100%),1fr)); gap:1rem; }
/* Same controller and serialized tracks as every other release. Only presentation differs. */
.grouped-modal .player-poster { height:auto; border:1px solid rgb(255 255 255/.12); border-radius:.5rem; background:rgb(0 0 0/.35); box-shadow:none; }
.grouped-modal .player-poster .player-top { padding:.875rem 1rem; }
.grouped-modal .player-poster .player-album { order:1; font-family:Jost,system-ui,sans-serif; font-weight:500; font-size:.9375rem; line-height:1.25; color:#fff; }
.grouped-modal .player-poster .player-title { order:2; font-size:.8125rem; color:rgb(255 255 255/.6); margin-bottom:.4rem; }
.grouped-modal .player-poster .player-playlist { flex:auto; max-height:60vh; margin-bottom:.5rem; }
.grouped-modal .player-poster .track-cover { display:none; }
.grouped-modal .player-poster .track-number { display:block; width:1.25rem; color:rgb(255 255 255/.5); }
.grouped-modal .player-poster .track-playing { display:none; width:1.25rem; height:1rem; margin:0; }
.grouped-modal .player-poster .player-track[data-player-active="true"] .track-playing { display:block; }
.grouped-modal .track-label small { display:none; }
@media(min-width:768px) {
  .ov-sticky { display:none; }
  .ov-releases { display:flex; gap:1.25rem; margin-bottom:.5rem; }
  .ov-release-link { position:relative; padding:.25rem .125rem .4rem; font-size:.8125rem; font-weight:300; letter-spacing:.14em; text-transform:uppercase; color:rgb(255 255 255/.55); }
  .ov-release-link:hover { color:rgb(255 255 255/.85); }
  .ov-release-link[data-active="true"] { color:#fff; }
  .ov-release-link[data-active="true"]::after { content:""; position:absolute; left:.125rem; right:.125rem; bottom:0; height:1px; background:#e5e7eb; }
  .ov-head { padding-block:1.5rem 1rem; }
  .ov-title { font-size:1.5rem; line-height:2rem; }
  .ov-grid { grid-template-columns:minmax(0,2.5fr) minmax(0,2.5fr) minmax(0,2fr); align-items:start; }
  .ov-grid[data-mode="audio"] { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .ov-grid[data-mode="audio"] .ov-videos { display:none; }
  .grouped-modal .player-poster .player-playlist { max-height:none; }
}
@media(min-width:1024px) {
  .ov-grid { grid-template-columns:minmax(0,2fr) minmax(0,3fr) minmax(0,2fr); }
  .ov-grid[data-mode="audio"] { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .ov-title { font-size:1.75rem; line-height:2.25rem; }
}
