/* HORIZON episode only: the shared navigation and SESSIONS hub stay intact. */
body.sessions-page.session-detail{background:#111113;color:#f2eee9;color-scheme:dark}
.session-detail .session-breadcrumb{background:#171416;color:#b9adae;padding-top:17px;padding-bottom:17px;font-size:9px}
.session-detail .episode-hero{display:block;min-height:620px;background:#171416;isolation:isolate}
.session-detail .episode-portrait{position:absolute;inset:0 0 0 34%;min-height:0;z-index:-1}
.session-detail .episode-portrait img{object-position:50% 35%}
.session-detail .episode-portrait:after{background:linear-gradient(90deg,#171416 0%,#171416b3 17%,transparent 57%),linear-gradient(0deg,#111113,transparent 38%)}
.session-detail .episode-title{min-height:620px;padding:76px clamp(24px,7vw,110px) 85px;width:72%;justify-content:center}
.session-detail .episode-title .eyebrow{color:#e7c8bc;font-size:12px;letter-spacing:.18em;margin:0 0 19px}
.session-detail .episode-title h1{font-size:clamp(66px,8.6vw,124px);font-weight:500;letter-spacing:-.065em;line-height:.88;margin:0 0 35px;position:relative}
.session-detail .episode-title h1 span{font-size:.69em;font-weight:300;letter-spacing:-.055em;line-height:1.1;margin-top:7px}
.session-detail .episode-title h1 b{position:absolute;left:100%;bottom:4%;display:block;font-size:.38em;margin:0 0 0 22px;color:#ffa786;font-weight:300;letter-spacing:-.04em}
.session-detail .session-meta{font-size:10px;color:#c9bec0;letter-spacing:.13em;gap:16px}
.session-detail .session-meta span+span{padding-left:16px;border-color:#ffffff24}
.session-detail .episode-title .button{background:#f5e9de;color:#281e1e;border-color:#f5e9de;margin-top:29px;min-width:158px;min-height:54px}
.session-detail .episode-title .button:hover{background:#ffc4a6;border-color:#ffc4a6}
.session-detail .listening-room{position:relative;padding-top:20px;padding-bottom:0}
.session-detail .section-rule{border-color:#ffffff20;color:#bfb4b5;padding:23px 0;font-size:10px;letter-spacing:.16em}
.session-detail .listening-room .section-rule{border-top:0;padding-top:0}
.session-detail .public-player{display:grid;grid-template-columns:100px minmax(0,1fr) auto;align-items:center;gap:26px;background:linear-gradient(120deg,#302528,#1b1a1d 70%);border:1px solid #ffffff1f;box-shadow:0 20px 70px #0003,inset 0 1px #ffffff08;border-radius:22px;padding:25px}
.session-detail .deck-artwork{width:100px;height:100px;object-fit:cover;border-radius:8px;box-shadow:0 7px 22px #0006}
.session-detail .deck-identity{min-width:0}
.session-detail .deck-identity>span{font-size:9px;letter-spacing:.2em;color:#dda88f}
.session-detail .deck-identity strong{display:block;font-size:clamp(17px,2vw,26px);letter-spacing:.04em;font-weight:500;margin-top:12px;line-height:1.2}
.session-detail .deck-identity p{color:#c4b8b9;font-size:13px;margin:8px 0 0}
.session-detail .load-embed{color:#fff1e8;border-color:#ffffff38;min-height:54px;font-size:12px;white-space:nowrap}
.session-detail .load-embed:hover{background:#ffffff0c;border-color:#e5b298}
.session-detail .public-player:has(iframe){display:block;padding:10px}
.session-detail .public-player iframe{display:block}
.session-detail .platforms{gap:24px;margin-top:24px}
.session-detail .platforms a{min-height:68px;background:#ffffff03;border-color:#ffffff20;color:#ded4d0;border-radius:13px;padding:16px 20px}
.session-detail .platforms a:hover{background:#ffffff09;border-color:#ae806d}
.session-detail .platforms .platform-logo{width:29px;height:29px}
.session-detail .session-editorial{padding-top:62px;padding-bottom:58px;grid-template-columns:.85fr 1.15fr;column-gap:65px}
.session-detail .session-editorial .eyebrow{color:#c6927f;font-size:9px;letter-spacing:.18em;margin:0}
.session-detail .session-editorial h2{font-size:32px;letter-spacing:-.035em;line-height:1.2;max-width:330px;margin-top:15px}
.session-detail .session-editorial>p:last-child{font-size:15px;line-height:1.85;color:#bfb5b6;margin:15px 0 0}
.session-detail .session-tracklist{padding-bottom:16px}
.session-detail .session-tracklist .section-rule h2{color:#f2e8e1;font-size:14px;letter-spacing:.11em}
.session-detail .session-tracklist li{border-color:#ffffff10;padding:23px 12px;gap:22px;transition:background-color .25s ease}
.session-detail .session-tracklist li:hover{background:#ffffff03}
.session-detail .track-number{color:#d6a08b;font-size:11px;letter-spacing:.04em;margin-top:7px}
.session-detail .track-copy h3{font-size:21px;font-weight:500;letter-spacing:-.01em}
.session-detail .track-copy p{color:#d0c7c6;font-size:13px}
.session-detail .track-copy p span{color:#9f9498}
.session-detail .track-label{color:#d5ab99;font-size:10px}
.session-detail .session-artworks{padding-top:70px;padding-bottom:64px;gap:75px}
.session-detail .session-artworks .eyebrow{color:#c6927f;font-size:9px}
.session-detail .session-artworks h2{font-size:33px}
.session-detail .session-artworks p{color:#bbb0b3;font-size:14px;line-height:1.85}
.session-detail .session-artworks .photo-credit{color:#a79a9e;font-size:11px}
.session-detail .artwork-pair img{box-shadow:0 18px 40px #0007;border:1px solid #ffffff12}
.session-detail .episode-actions{color:#cdb8b0}
.session-detail .session-booking{background:#1a171a;border-color:#ffffff12;margin-top:75px;padding-top:60px;padding-bottom:60px}
.session-detail .session-booking .eyebrow{color:#c6927f}
.session-detail .session-booking h2{font-size:clamp(30px,4vw,48px);max-width:850px}
.session-detail .session-booking>p:not(.eyebrow){color:#bdb0b4}
.session-detail .session-booking .text-link{color:#e7b59c}
@media(min-width:761px) and (max-width:1000px){.session-detail .episode-title h1{font-size:8.7vw}.session-detail .episode-title{width:80%}.session-detail .public-player{grid-template-columns:82px minmax(0,1fr);gap:18px}.session-detail .deck-artwork{width:82px;height:82px;grid-row:1/3}.session-detail .load-embed{grid-column:2;justify-self:start}.session-detail .deck-identity strong{font-size:21px}.session-detail .platforms{gap:14px}}
@media(max-width:760px){
 .session-detail .session-breadcrumb{font-size:8px;padding:17px 24px;gap:9px}
 .session-detail .episode-hero{min-height:660px}
 .session-detail .episode-portrait{inset:0}
 .session-detail .episode-portrait img{height:112%;top:-6%;object-position:56% 30%}
 .session-detail .episode-portrait:after{background:linear-gradient(0deg,#111113 0%,#171416f0 19%,#1714168c 46%,transparent 75%)}
 .session-detail .episode-title{width:100%;min-height:660px;padding:345px 26px 36px;justify-content:flex-end}
 .session-detail .episode-title .eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:18px}
 .session-detail .episode-title h1{font-size:clamp(49px,13.4vw,83px);line-height:.94;margin:0 0 25px}
 .session-detail .episode-title h1 span{display:block;font-size:.72em;line-height:1.05;margin-top:6px}
 .session-detail .episode-title h1 b{font-size:.39em;margin-left:12px;bottom:3%}
 .session-detail .session-meta{font-size:8px;letter-spacing:.09em;gap:10px}
 .session-detail .session-meta span+span{padding-left:10px}
 .session-detail .episode-title .button{margin-top:24px;min-height:50px}
 .session-detail .listening-room{padding-top:12px}
 .session-detail .public-player{grid-template-columns:72px minmax(0,1fr);gap:18px 16px;padding:20px;border-radius:18px}
 .session-detail .deck-artwork{width:72px;height:72px}
 .session-detail .deck-identity>span{font-size:8px;letter-spacing:.14em}
 .session-detail .deck-identity strong{font-size:16px;letter-spacing:.015em;margin-top:8px}
 .session-detail .deck-identity p{font-size:11px;margin-top:6px}
 .session-detail .load-embed{grid-column:1/-1;justify-content:space-between;min-height:48px;font-size:12px;padding:12px 18px}
 .session-detail .platforms{gap:12px;margin-top:18px;grid-template-columns:1fr}
 .session-detail .platforms a{min-height:59px;padding:12px 18px;font-size:13px}
 .session-detail .platforms .platform-logo{width:27px;height:27px}
 .session-detail .session-editorial{grid-template-columns:1fr;padding-top:46px;padding-bottom:38px;gap:0}
 .session-detail .session-editorial h2{font-size:28px;margin:12px 0 0}
 .session-detail .session-editorial>p:last-child{font-size:14px;line-height:1.85}
 .session-detail .session-tracklist li{padding:22px 0;gap:8px 12px}
 .session-detail .track-copy h3{font-size:18px;line-height:1.4}
 .session-detail .track-copy p{font-size:12px}
 .session-detail .track-label{font-size:10px}
 .session-detail .session-artworks{padding-top:46px;padding-bottom:40px;gap:24px}
 .session-detail .session-artworks h2{font-size:29px}
 .session-detail .session-booking{margin-top:50px;padding:46px 24px}
 .session-detail .section-rule{font-size:9px;letter-spacing:.09em}
}
@media(prefers-reduced-motion:reduce){.session-detail .session-tracklist li{transition:none}}

/* Track selection: the flyer’s layered red glass and emphatic artist hierarchy. */
.session-detail .session-tracklist ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:26px;border:1px solid #dcab962d;border-radius:28px;background:radial-gradient(ellipse at 6% 0%,#a7202470,transparent 65%),linear-gradient(140deg,#3a181d,#191519 72%);box-shadow:inset 0 1px #ffdece0c,0 24px 55px #0002;position:relative;isolation:isolate}
.session-detail .session-tracklist li{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:1fr auto;align-items:start;gap:15px 17px;padding:25px 24px 19px;min-height:181px;border:1px solid #ffd8c821;border-radius:18px;background:linear-gradient(145deg,#150e12a8,#171215d9);box-shadow:inset 0 1px #ffffff06;overflow:hidden}
.session-detail .session-tracklist li::before{content:"";position:absolute;top:0;left:24px;right:24px;height:1px;background:linear-gradient(90deg,#ffac856b,transparent 85%);pointer-events:none}
.session-detail .session-tracklist .track-number{grid-row:1/3;align-self:start;font-size:30px;line-height:1;letter-spacing:-.055em;font-weight:300;color:#ec9a7d;margin:1px 0 0;font-variant-numeric:tabular-nums}
.session-detail .session-tracklist .track-copy{min-width:0}
.session-detail .session-tracklist .track-copy h3{font-size:clamp(17px,1.65vw,23px);font-weight:700;line-height:1.15;letter-spacing:-.025em;text-transform:uppercase;margin:0 0 9px;color:#fff0e7;overflow-wrap:break-word}
.session-detail .session-tracklist .track-copy p{font-size:14px;line-height:1.5;color:#e2ccc7;margin:0}
.session-detail .session-tracklist .track-copy p span{display:block;font-size:12px;line-height:1.55;color:#b8a3a5;margin-top:3px}
.session-detail .session-tracklist .track-label{grid-column:2;grid-row:2;align-self:end;justify-content:space-between;gap:12px;min-height:37px;padding-top:10px;border-top:1px solid #ffdbcc18;color:#d8b3a5;font-size:9px;letter-spacing:.115em;line-height:1.5}
.session-detail .session-tracklist .track-label svg{width:17px;height:17px;color:#eca385}
@media(hover:hover) and (pointer:fine){.session-detail .session-tracklist li:hover{background:linear-gradient(145deg,#512229a8,#21181c);border-color:#edb29757}.session-detail .session-tracklist .track-label:hover{color:#fff0e7}}
@media(min-width:761px) and (max-width:1000px){.session-detail .session-tracklist ol{padding:18px;gap:12px}.session-detail .session-tracklist li{padding:22px 18px 16px;grid-template-columns:30px minmax(0,1fr);column-gap:12px}.session-detail .session-tracklist .track-number{font-size:26px}}
@media(max-width:760px){.session-detail .session-tracklist ol{grid-template-columns:1fr;padding:13px;gap:12px;border-radius:22px}.session-detail .session-tracklist li{padding:23px 19px 17px;grid-template-columns:34px minmax(0,1fr);gap:14px 14px;min-height:170px;border-radius:14px}.session-detail .session-tracklist .track-number{font-size:29px}.session-detail .session-tracklist .track-copy h3{font-size:20px;line-height:1.12}.session-detail .session-tracklist .track-copy p{font-size:13px}.session-detail .session-tracklist .track-copy p span{font-size:11px}.session-detail .session-tracklist .track-label{font-size:9px;letter-spacing:.09em;min-height:39px}}
@media(max-width:360px){.session-detail .session-tracklist ol{padding:9px;gap:10px}.session-detail .session-tracklist li{padding:20px 14px 14px;grid-template-columns:25px minmax(0,1fr);column-gap:11px}.session-detail .session-tracklist .track-number{font-size:24px}.session-detail .session-tracklist .track-copy h3{font-size:18px}}
.session-detail .session-tracklist .track-label{font-size:11px;letter-spacing:.065em}
.session-detail .track-freshness-legend{margin:0 0 20px;color:#c7aaa0;font-size:12px;line-height:1.6;display:flex;align-items:baseline;gap:10px}
.session-detail .track-freshness-legend::before{content:"";width:5px;height:5px;flex:none;border-radius:50%;background:#eaaa88;box-shadow:0 0 9px #f7a07155}
.session-detail .session-tracklist li.track-recent{background:radial-gradient(ellipse at 12% 0%,#c2775233,transparent 76%),linear-gradient(145deg,#482329d9,#21171ad9);border-color:#dfad8f66;box-shadow:inset 0 1px #ffe3ce1c,0 0 18px #c8763b09}
.session-detail .session-tracklist li.track-recent::before{background:linear-gradient(90deg,#ffca99b0,#ffd7b345 50%,transparent)}
.session-detail .session-tracklist li.track-recent .track-copy>p{color:#ffe3cf}
.session-detail .track-freshness{display:flex;flex-wrap:wrap;gap:5px 9px;margin-top:13px;align-items:center;font-size:10px;line-height:1.5;color:#d9bfb4}
.session-detail .track-freshness>span{font-size:8px;letter-spacing:.07em;font-weight:600;color:#ffcfaa;border:1px solid #efb58c38;background:#ffd8b808;padding:3px 7px;border-radius:5px}
.session-detail .track-freshness time{white-space:nowrap;font-variant-numeric:tabular-nums}
@media(hover:hover) and (pointer:fine){.session-detail .session-tracklist li.track-recent:hover{border-color:#f4c5a88c;background:radial-gradient(ellipse at 12% 0%,#c2775244,transparent 76%),linear-gradient(145deg,#512a2fd9,#281a1ed9)}}
