body.hosts-shows-page{
  background-position:center top;
  background-size:cover;
  background-attachment:fixed;
  padding-bottom:120px;
}
body.hosts-shows-page .scrim{
  background:
    linear-gradient(180deg,rgba(2,1,3,.22) 0%,rgba(2,1,3,.56) 48%,rgba(2,1,3,.95) 100%),
    radial-gradient(circle at 50% 24%,transparent 0,rgba(2,1,3,.12) 28%,rgba(2,1,3,.58) 76%);
}
body.hosts-shows-page main{padding:0;}
.hosts-shows-page #page-footer{position:relative; z-index:5; padding-bottom:42px;}
.hosts-shows-page header{background:linear-gradient(180deg,rgba(2,1,3,.78),transparent);}
.hosts-shows-page header nav{display:none;}
.draft-card{outline:1px dashed rgba(230,184,102,.55); outline-offset:-5px;}

.hs-kicker{
  color:var(--gold); font-size:11px; font-weight:800; letter-spacing:.32em;
  text-transform:uppercase;
}
.hs-hero{
  position:relative; min-height:min(420px,52vh); display:grid; place-items:start center;
  padding:24px 24px 72px; overflow:hidden; text-align:center;
}
.hs-hero-copy{position:relative; z-index:2; width:min(1160px,94vw);}
.hs-hero h1{
  margin:10px 0 14px; color:#fff; font-size:clamp(23px,4.4vw,64px); line-height:.96;
  letter-spacing:-.045em; text-transform:uppercase; white-space:nowrap;
  text-shadow:0 4px 40px rgba(0,0,0,.9),0 0 70px rgba(230,184,102,.24);
}
.hs-hero p{
  width:min(620px,100%); margin:0 auto; color:#d5cec2; font-size:clamp(15px,1.6vw,19px);
  line-height:1.65; text-shadow:0 2px 18px #000;
}
.hs-scroll-link{
  display:inline-flex; align-items:center; gap:12px; margin-top:28px; padding:12px 20px;
  border:1px solid rgba(230,184,102,.45); border-radius:999px; color:var(--gold);
  font-size:11px; font-weight:800; letter-spacing:.16em; text-decoration:none; text-transform:uppercase;
  background:rgba(2,1,3,.45); backdrop-filter:blur(8px); transition:.2s ease;
}
.hs-scroll-link:hover{background:rgba(230,184,102,.13); border-color:var(--gold); transform:translateY(-2px);}
.hs-scroll-link span{font-size:16px;}
.hs-orbit{
  position:absolute; left:50%; top:47%; width:min(640px,80vw); aspect-ratio:1; transform:translate(-50%,-50%);
  border:1px solid rgba(230,184,102,.2); border-radius:50%; box-shadow:0 0 80px rgba(230,184,102,.1);
  pointer-events:none;
}
.hs-orbit::before,.hs-orbit::after{
  content:''; position:absolute; inset:13%; border:1px solid rgba(230,184,102,.13); border-radius:50%;
}
.hs-orbit::after{inset:28%; border-color:rgba(71,217,242,.13);}

.hs-section{
  position:relative; width:min(1280px,calc(100% - 48px)); margin:0 auto 96px;
  padding:42px; border:1px solid rgba(230,184,102,.2); border-radius:22px;
  background:linear-gradient(145deg,rgba(7,10,15,.92),rgba(16,12,13,.82));
  box-shadow:0 28px 80px rgba(0,0,0,.45); backdrop-filter:blur(16px);
}
.hs-section::before{
  content:''; position:absolute; left:42px; right:42px; top:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent); opacity:.65;
}
.hs-section-heading{
  display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:30px;
}
.hs-section-heading h2,.hs-closing h2{
  margin:7px 0 0; color:#fff; font-size:clamp(28px,4vw,48px); line-height:1.05;
  letter-spacing:-.025em;
}
.hs-section-heading h2{font-size:clamp(28px,3.35vw,43px); white-space:nowrap;}
.hs-filters{display:flex; flex-wrap:nowrap; justify-content:flex-end; gap:5px;}
.hs-filters button{
  padding:4px 8px; border:1px solid rgba(230,184,102,.22); border-radius:999px;
  background:rgba(255,255,255,.025); color:var(--ink-dim); cursor:pointer; font:700 7px inherit;
  letter-spacing:.08em; text-transform:uppercase; white-space:nowrap;
}
.hs-filters button:hover,.hs-filters button.active{color:#171006; background:var(--gold); border-color:var(--gold);}

#shows{
  overflow:hidden;
  border:0; border-radius:0; background:none; box-shadow:none; backdrop-filter:none;
}
#shows::before{display:none;}
.show-orbit{
  position:relative; height:650px; margin:0 -18px -8px; overflow:hidden;
  cursor:grab; touch-action:pan-y; user-select:none; outline:none; isolation:isolate;
}
.show-orbit:focus-visible{outline:1px solid rgba(113,226,239,.7); outline-offset:-5px; border-radius:18px;}
.show-orbit.is-dragging{cursor:grabbing;}
.show-orbit::before{
  content:''; position:absolute; z-index:0; left:50%; top:51%; width:min(930px,82%); height:36%;
  transform:translate(-50%,-50%); border:1px solid rgba(230,184,102,.22); border-radius:50%;
  box-shadow:0 0 60px rgba(230,184,102,.07),inset 0 0 52px rgba(113,226,239,.035);
  pointer-events:none;
}
.show-orbit::after{
  content:''; position:absolute; z-index:0; left:50%; bottom:45px; width:min(680px,64%); height:76px;
  transform:translateX(-50%); border-radius:50%; background:rgba(0,0,0,.64);
  filter:blur(20px); pointer-events:none;
}
.show-orbit-halo{
  position:absolute; z-index:0; left:50%; top:48%; width:min(1040px,92%); aspect-ratio:2.9/1;
  transform:translate(-50%,-50%); border-radius:50%; pointer-events:none;
  background:radial-gradient(ellipse,rgba(113,226,239,.055),rgba(230,184,102,.025) 45%,transparent 72%);
}
.show-orbit-scene{
  position:absolute; z-index:1; inset:0 0 64px; perspective:1200px; perspective-origin:50% 48%;
  transform-style:preserve-3d;
}
.show-grid{position:absolute; inset:0; transform-style:preserve-3d; pointer-events:none;}
.show-card{
  position:absolute; left:50%; top:46%; width:min(383px,calc(100vw - 80px)); height:558px;
  min-width:0; display:flex; flex-direction:column; overflow:hidden;
  border:1px solid rgba(230,184,102,.2); border-radius:16px;
  color:inherit; text-decoration:none; background:linear-gradient(155deg,rgba(25,25,30,.985),rgba(10,11,15,.985));
  box-shadow:0 24px 64px rgba(0,0,0,.62); backface-visibility:hidden; transform-origin:center;
  pointer-events:auto; will-change:transform,opacity,filter;
  transition:transform .68s cubic-bezier(.2,.72,.16,1),opacity .5s ease,filter .5s ease,border-color .25s ease,box-shadow .25s ease;
}
.show-card[hidden]{display:none;}
.show-orbit:not(.is-ready) .show-card{opacity:0; visibility:hidden;}
.show-orbit.is-positioning .show-card,.show-orbit.is-dragging .show-card,.show-orbit.is-auto-moving .show-card{transition:none;}
.show-card.is-active{border-color:rgba(230,184,102,.65); box-shadow:0 28px 74px rgba(0,0,0,.72),0 0 34px rgba(230,184,102,.09);}
.show-card.is-active:hover{border-color:var(--gold); box-shadow:0 30px 82px rgba(0,0,0,.76),0 0 42px rgba(230,184,102,.14);}
.show-poster{position:relative; flex:0 0 auto; aspect-ratio:4/3; overflow:hidden; background:#09070a;}
.show-poster img{width:100%; height:100%; display:block; object-fit:cover; transition:transform .45s ease;}
.show-card.is-active:hover .show-poster img{transform:scale(1.035);}
.show-poster::after{content:''; position:absolute; inset:0; background:linear-gradient(transparent 58%,rgba(2,1,3,.86)); pointer-events:none;}
.show-poster-placeholder{
  width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:8px; padding:24px; text-align:center;
  background:radial-gradient(circle at 50% 30%,rgba(230,184,102,.2),transparent 55%),#08080b;
}
.show-poster-placeholder span{color:var(--gold); letter-spacing:.35em; font-size:12px;}
.show-poster-placeholder b{font-size:22px;}
.show-station{
  position:absolute; z-index:2; left:16px; bottom:14px; color:var(--gold); font-size:9px;
  font-weight:800; letter-spacing:.14em; text-transform:uppercase;
}
.show-launch-ribbon{
  position:absolute; z-index:3; top:18px; right:-42px; width:180px; padding:7px 12px;
  transform:rotate(37deg); text-align:center; color:#171006;
  background:linear-gradient(90deg,#e6b866,#f4d795); box-shadow:0 4px 18px rgba(0,0,0,.38);
  font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase;
}
.show-copy{flex:1; display:flex; flex-direction:column; min-height:0; padding:19px 20px 22px;}
.show-airtime{font-size:10px; color:#72e5f7; letter-spacing:.1em; text-transform:uppercase;}
.show-copy h3{margin:5px 0 7px; font-size:23px; line-height:1.1; color:#fff;}
.show-tagline{color:var(--gold); font-size:12px; font-weight:700; line-height:1.4;}
.show-description{
  display:-webkit-box; margin-top:10px; overflow:hidden; color:var(--ink-dim);
  font-size:12.5px; line-height:1.55; -webkit-box-orient:vertical; -webkit-line-clamp:3;
  line-clamp:3;
}
.show-hosts{margin-top:16px; padding-top:12px; border-top:1px solid rgba(255,255,255,.07); font-size:11px;}
.show-hosts span{color:var(--ink-dim); margin-right:4px;}.show-hosts b{color:#fff;}
.show-open{
  display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:13px;
  border-top:1px solid rgba(230,184,102,.16); color:var(--gold); font-size:9px; font-weight:800;
  letter-spacing:.14em; text-transform:uppercase;
}
.show-open span{font-size:18px; line-height:1; transition:transform .2s ease;}
.show-card.is-active:hover .show-open span{transform:translateX(4px);}
.show-orbit-controls{
  position:absolute; z-index:1200; left:50%; bottom:20px; display:flex; align-items:center; gap:14px;
  transform:translateX(-50%); padding:6px 9px; border:1px solid rgba(230,184,102,.2);
  border-radius:999px; background:rgba(4,6,9,.72); box-shadow:0 10px 24px rgba(0,0,0,.38);
  backdrop-filter:blur(10px);
}
.show-orbit-controls button{
  width:32px; height:32px; display:grid; place-items:center; border:1px solid rgba(230,184,102,.32);
  border-radius:50%; background:rgba(255,255,255,.035); color:var(--gold); cursor:pointer; font-size:16px;
}
.show-orbit-controls button:hover,.show-orbit-controls button:focus-visible{background:var(--gold); color:#171006; outline:none;}
.show-orbit-controls button:disabled{opacity:.3; cursor:default;}
.show-orbit-controls span{
  min-width:140px; color:#e3dbcf; font-size:9px; font-weight:800; letter-spacing:.1em;
  text-align:center; text-transform:uppercase; white-space:nowrap;
}
.show-orbit-hint{
  position:absolute; z-index:1100; right:18px; bottom:28px; margin:0; color:rgba(207,200,190,.62);
  font-size:8px; letter-spacing:.09em; text-transform:uppercase; pointer-events:none;
}
.show-empty-grid{display:block;}

.host-section{scroll-margin-top:24px; background:linear-gradient(145deg,rgba(10,10,14,.94),rgba(9,15,20,.84));}
.host-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px;}
.host-card{
  min-width:0; display:flex; flex-direction:column; overflow:hidden;
  border:1px solid rgba(255,255,255,.1); border-radius:150px 150px 18px 18px;
  background:linear-gradient(180deg,rgba(230,184,102,.08),rgba(255,255,255,.03));
  transition:transform .25s ease,border-color .25s ease;
}
.host-card:hover{transform:translateY(-5px); border-color:rgba(230,184,102,.5);}
.host-portrait{aspect-ratio:1/1.08; overflow:hidden; background:#0a090a;}
.host-portrait img{width:100%; height:100%; object-fit:cover; object-position:center top; display:block;}
.host-placeholder{height:100%; display:grid; place-items:center; font-size:48px; opacity:.45;}
.host-copy{
  flex:1; display:grid; grid-template-rows:11px 34px 38px 50px 22px;
  row-gap:4px; align-items:center; padding:16px 15px 19px; text-align:center;
}
.host-station{
  grid-row:1; font-size:8px; color:var(--gold); font-weight:800;
  letter-spacing:.13em; line-height:1.2; text-transform:uppercase;
}
.host-copy h3{
  grid-row:2; margin:0; color:#fff; font-family:'Cormorant Garamond','Iowan Old Style',Georgia,serif;
  font-size:28px; font-weight:700; line-height:1; letter-spacing:.01em;
}
.host-role{
  grid-row:3; display:-webkit-box; align-self:start; overflow:hidden; color:#72e5f7;
  font-size:8.5px; line-height:1.35; letter-spacing:.08em; text-transform:uppercase;
  -webkit-box-orient:vertical; -webkit-line-clamp:3; line-clamp:3;
}
.host-copy p{
  margin:0; color:#c8c0b4; font-family:'Cormorant Garamond','Iowan Old Style',Georgia,serif;
  font-size:15px; font-weight:500; line-height:1.45;
}
.host-summary{
  grid-row:4; align-self:center;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
  line-clamp:2; overflow:hidden;
}
.host-read-more{
  grid-row:5; align-self:end; justify-self:center; margin:0; padding:0 0 3px;
  border:0; border-bottom:1px solid rgba(230,184,102,.42);
  background:transparent; color:var(--gold); cursor:pointer; font:700 9px inherit;
  letter-spacing:.08em; text-transform:uppercase;
}
.host-read-more span{color:#d7d0c5; font-weight:500;}
.host-read-more:hover{border-color:var(--gold); color:#fff;}

body.host-modal-open{overflow:hidden;}
.host-modal{
  position:fixed; inset:0; z-index:80; display:grid; place-items:center; padding:24px;
  opacity:0; visibility:hidden; pointer-events:none; transition:opacity .22s ease,visibility .22s ease;
}
.host-modal.open{opacity:1; visibility:visible; pointer-events:auto;}
.host-modal-backdrop{position:absolute; inset:0; background:rgba(1,2,4,.86); backdrop-filter:blur(10px);}
.host-modal-panel{
  position:relative; z-index:1; width:min(1040px,94vw); max-height:min(780px,92vh);
  display:grid; grid-template-columns:minmax(300px,44%) 1fr; overflow-x:hidden; overflow-y:auto;
  overscroll-behavior:contain; scrollbar-gutter:stable;
  border:1px solid rgba(230,184,102,.42); border-radius:24px;
  background:linear-gradient(145deg,#0b0b0d 0%,#11151b 62%,#17110b 100%);
  box-shadow:0 36px 120px rgba(0,0,0,.8),0 0 60px rgba(230,184,102,.08);
  transform:translateY(16px) scale(.985); transition:transform .22s ease;
}
.host-modal.open .host-modal-panel{transform:translateY(0) scale(1);}
.host-modal-portrait{min-height:540px; background:#080708; overflow:hidden;}
.host-modal-portrait img{width:100%; height:100%; display:block; object-fit:cover; object-position:center top;}
.host-modal-copy{min-width:0; overflow:visible; padding:clamp(32px,5vw,62px);}
.host-modal-copy h2{
  margin:9px 0 5px; color:#fff; font-family:'Cormorant Garamond','Iowan Old Style',Georgia,serif;
  font-size:clamp(48px,6vw,78px); font-weight:700; line-height:.88;
}
.host-modal-meta{display:flex; flex-wrap:wrap; gap:7px 16px; margin:14px 0 24px; color:#71e2ef; font-size:10px; letter-spacing:.13em; text-transform:uppercase;}
.host-modal-meta span+span::before{content:'✦'; margin-right:16px; color:var(--gold);}
.host-full-bio{color:#d2cabc; font-family:'Cormorant Garamond','Iowan Old Style',Georgia,serif; font-size:18px; line-height:1.62;}
.host-full-bio p+p{margin-top:1em;}
.host-modal-close{
  position:absolute; z-index:3; top:16px; right:16px; width:38px; height:38px; border-radius:50%;
  border:1px solid rgba(230,184,102,.45); background:rgba(2,1,3,.72); color:#fff; cursor:pointer;
}
.host-modal-close:hover{background:var(--gold); color:#161006;}

.hs-empty{grid-column:1/-1; padding:62px 24px; text-align:center; border:1px dashed rgba(230,184,102,.28); border-radius:14px; color:var(--ink-dim);}
.hs-empty span{color:var(--gold); font-size:26px;}.hs-empty h3{margin:9px 0 5px; color:#fff; font-size:22px;}
.hs-empty p{font-size:13px;}
.creative-declaration{
  width:min(920px,calc(100% - 48px)); margin:-24px auto 92px; padding:30px 34px;
  display:grid; grid-template-columns:auto 1fr; align-items:center; gap:25px;
  border:1px solid rgba(230,184,102,.28); border-radius:18px;
  background:linear-gradient(135deg,rgba(230,184,102,.09),rgba(10,14,20,.9));
  box-shadow:0 20px 60px rgba(0,0,0,.35); backdrop-filter:blur(14px);
}
.creative-mark{
  width:74px; height:74px; display:grid; place-items:center; border-radius:50%;
  border:1px solid rgba(230,184,102,.38); color:var(--gold); font-size:25px;
  box-shadow:inset 0 0 26px rgba(230,184,102,.08),0 0 24px rgba(230,184,102,.08);
}
.creative-declaration h2{margin:6px 0 8px; color:#fff; font-size:clamp(24px,3vw,34px);}
.creative-declaration p{color:#c8c0b4; font-family:'Cormorant Garamond','Iowan Old Style',Georgia,serif; font-size:18px; line-height:1.5;}
.hs-closing{text-align:center; padding:20px 24px 80px;}
.hs-closing>span{font-size:10px; letter-spacing:.25em; color:var(--gold); text-transform:uppercase;}
.hs-closing a{display:inline-block; margin-top:20px; color:var(--gold); font-size:12px; font-weight:800; letter-spacing:.1em; text-decoration:none; text-transform:uppercase;}

@media(max-width:1050px){
  body.hosts-shows-page{background-attachment:scroll;}
  .hs-section-heading{align-items:flex-start; flex-direction:column;}
  .hs-filters{flex-wrap:wrap; justify-content:flex-start;}
  .show-orbit{height:620px; margin-inline:-8px;}
  .show-card{width:min(360px,calc(100vw - 72px)); height:530px;}
  .show-orbit-hint{display:none;}
  .host-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:760px){
  .hs-hero{min-height:390px; padding:24px 16px 72px;}
  .hs-section{width:min(100% - 24px,1280px); margin-bottom:58px; padding:28px 18px; border-radius:16px;}
  .hs-section::before{left:20px; right:20px;}
  .hs-section-heading{align-items:flex-start; flex-direction:column;}
  .hs-filters{justify-content:flex-start;}
  .show-orbit{height:590px; margin-inline:-14px;}
  .show-card{top:46%; width:min(340px,calc(100vw - 52px)); height:510px;}
  .show-orbit-controls span{min-width:112px;}
  .host-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .host-modal{padding:12px;}
  .host-modal-panel{grid-template-columns:1fr; max-height:94vh; overflow-y:auto; border-radius:18px;}
  .host-modal-portrait{min-height:0; aspect-ratio:4/3;}
  .host-modal-copy{overflow:visible; padding:28px 22px 34px;}
  .host-modal-copy h2{font-size:48px;}
  .host-full-bio{font-size:17px;}
}
@media(max-width:520px){
  .hs-hero{min-height:350px; padding:18px 14px 55px;}
  .hs-hero h1{font-size:clamp(22px,6vw,28px);}
  .show-orbit{height:545px; margin-inline:-12px;}
  .show-card{top:45%; width:calc(100vw - 58px); height:470px;}
  .show-copy{padding:14px 16px 17px;}
  .show-copy h3{font-size:21px;}
  .show-description{-webkit-line-clamp:2; line-clamp:2;}
  .show-hosts{margin-top:10px; padding-top:9px;}
  .show-orbit-controls{bottom:10px;}
  .host-grid{grid-template-columns:1fr;}
  .host-card{border-radius:220px 220px 18px 18px;}
  .hs-filters{width:100%; display:grid; grid-template-columns:1fr 1fr;}
  .hs-filters button:first-child{grid-column:1/-1;}
  .hs-filters button{min-height:30px;}
  .creative-declaration{width:calc(100% - 24px); grid-template-columns:1fr; text-align:center; padding:26px 20px; margin-bottom:58px;}
  .creative-mark{margin:0 auto;}
}
@media(prefers-reduced-motion:reduce){.show-card,.host-card,.show-poster img,.hs-scroll-link{transition:none;}}
