/* Site-native Mixcloud catch-up gallery. Only the selected show's official player is framed. */
#catch-up.catchup{max-width:1200px;margin:0 auto;padding:5rem 1.25rem 2.5rem}
.catchup-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}
.catchup-head h2{font-size:clamp(2.6rem,6vw,4.8rem);line-height:1;letter-spacing:-.06em;margin:.2em 0}
.catchup-head p:last-child{color:#c8c7ca;max-width:560px;margin:.4rem 0 0}
.catchup-all{color:#fff;text-decoration:none;white-space:nowrap;border-bottom:1px solid #e21b2d;padding-bottom:.25rem;font-weight:800}
.catchup-all:hover{color:#ff6b76}
.catchup-status{min-height:1.3rem;margin-bottom:.7rem;color:#aaa;font-size:.85rem}
.catchup-status:empty{display:none}
.catchup-feature{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;border:1px solid #38383d;border-radius:24px;padding:clamp(1rem,3vw,2rem);background:radial-gradient(circle at 85% 20%,#561923 0,transparent 46%),linear-gradient(145deg,#1b1b20,#101013);overflow:hidden}
.catchup-feature-art{position:relative;aspect-ratio:1;background:#09090b;border-radius:18px;overflow:hidden;box-shadow:0 20px 45px #0009}
.catchup-feature-art img{width:100%;height:100%;object-fit:cover}
.catchup-feature-art:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff1c;pointer-events:none}
.catchup-feature-copy{min-width:0}
.catchup-label{display:block;color:#ff737e;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;font-weight:900}
.catchup-feature-copy h3{max-width:650px;margin:.55rem 0 1rem;font-size:clamp(1.7rem,3.3vw,3rem);line-height:1.08;letter-spacing:-.035em;overflow-wrap:anywhere}
#catchup-date{color:#bbb;margin:0 0 1.6rem}
.catchup-feature .button{font-family:inherit;font-size:1rem;font-weight:800;min-height:48px}
.catchup-feature .button:disabled{opacity:.55;cursor:wait}
.catchup-controls{display:flex;gap:.55rem;align-items:center;margin-top:2rem}
.catchup-controls button,.catchup-player-head button{min-width:42px;min-height:42px;border:1px solid #58585e;border-radius:999px;background:#232328;color:#fff;font-family:inherit;font-size:1rem;font-weight:800;line-height:1;cursor:pointer}
.catchup-controls button:hover,.catchup-player-head button:hover{border-color:#ff737e;background:#343036}
.catchup-controls button:disabled{opacity:.45;cursor:default}
#catchup-rotate{padding:0 1rem;font-size:.8rem}
.catchup-shows{display:flex;gap:.8rem;overflow-x:auto;scroll-snap-type:x proximity;padding:1rem .1rem .8rem;margin-top:1rem;scrollbar-color:#6e343a #171719}
.catchup-show{flex:0 0 155px;scroll-snap-align:start;min-width:0;display:grid;grid-template-rows:auto 1fr;gap:.55rem;padding:.55rem;border:1px solid #36363b;border-radius:14px;background:#17171a;color:#f8f7f5;text-align:left;font:inherit;cursor:pointer}
.catchup-show:hover{border-color:#db5a66;transform:translateY(-2px)}
.catchup-show[aria-pressed=true]{border-color:#fa4b5d;background:#292024;box-shadow:0 0 0 2px #e21b2d38}
.catchup-show img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px;background:#09090b}
.catchup-show span{font-size:.8rem;font-weight:750;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.catchup-player[hidden]{display:none}
.catchup-player{margin-top:1.5rem;padding:1.25rem;border:1px solid #4e3338;border-radius:20px;background:#161315;scroll-margin-top:5.5rem;box-shadow:0 18px 50px #0009}
.catchup-player-head{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.catchup-player-head h3{margin:.4rem 0 0;font-size:1.4rem;line-height:1.15}
.catchup-player-head button{flex:none;font-size:1.5rem}
.catchup-player iframe{display:block;width:100%;height:190px;border:0;border-radius:10px;background:#09090b}
#catchup-open{display:inline-block;margin-top:.8rem;font-size:.85rem;color:#ff8c94}
#catchup-open:hover{color:#fff}
@media(max-width:760px){.catchup-feature{grid-template-columns:1fr}.catchup-feature-art{width:min(100%,340px);margin-inline:auto}.catchup-head{align-items:start}.catchup-show{flex-basis:135px}}
@media(max-width:520px){#catch-up.catchup{padding-inline:1rem}.catchup-head{display:block}.catchup-all{display:inline-block;margin-top:1rem}.catchup-feature{gap:1.25rem}.catchup-feature-copy h3{font-size:1.8rem}.catchup-controls{margin-top:1.3rem}.catchup-show{flex-basis:120px}.catchup-player{padding:1rem}.catchup-player iframe{height:220px}}
@media(prefers-reduced-motion:reduce){.catchup-show:hover{transform:none}.catchup-shows{scroll-behavior:auto}}
#catch-up{scroll-margin-top:100px}
