:root{--pink:#ff3db4;--cyan:#5fe3ff;--green:#2fbf5a;--bg:#07050c;--card:rgba(20,12,28,.82);--txt:#f6eefa;--mut:#c2b3cf}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--txt);font:17px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--pink)}
img,video{max-width:100%;height:auto;display:block}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.nav{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;justify-content:flex-end;gap:10px;padding:16px 22px}
.nav a{color:#fff;text-decoration:none;font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;padding:8px 14px;border-radius:999px;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(6px)}
.nav a:hover{border-color:var(--pink)}
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;
 background:#000 url(tvwall-1.webp?v=2) center/cover no-repeat}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(7,5,12,.35) 0%,rgba(7,5,12,.75) 70%),linear-gradient(to bottom,rgba(7,5,12,0) 60%,var(--bg) 100%)}
.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px);mix-blend-mode:multiply}
.hero .in{position:relative;z-index:2;padding:90px 22px 70px;width:100%;max-width:1000px}
.hero picture img{width:min(820px,92vw);margin:0 auto;filter:drop-shadow(0 0 22px rgba(255,61,180,.55)) drop-shadow(0 10px 30px rgba(0,0,0,.8));animation:float 6s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-8px) rotate(-.6deg)}}
.tag{font-size:clamp(19px,2.6vw,26px);font-weight:700;margin:22px auto 30px;max-width:720px;text-shadow:0 2px 12px #000,0 0 2px #000}
.tag em{font-style:normal;color:var(--pink)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 30px;border-radius:999px;font-weight:800;font-size:18px;text-decoration:none;color:#fff;background:var(--pink);box-shadow:0 0 0 2px rgba(255,255,255,.12) inset,0 0 26px rgba(255,61,180,.75),0 8px 22px rgba(0,0,0,.5);transition:transform .15s,filter .15s}
.btn:hover{transform:translateY(-2px);filter:brightness(1.1)}
.btn.ghost{background:rgba(0,0,0,.5);border:2px solid var(--cyan);box-shadow:0 0 20px rgba(95,227,255,.45)}
.btn.green{background:#159a3e;box-shadow:0 0 24px rgba(47,191,90,.6)}
.btn svg{width:24px;height:24px}
.btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
section{padding:90px 0}
h2{font-size:clamp(30px,4.4vw,46px);line-height:1.1;margin:0 0 18px;font-weight:900;letter-spacing:-.01em}
h2 .p{color:var(--pink);text-shadow:0 0 18px rgba(255,61,180,.6)}
h2 .g{color:#3ddc6e;text-shadow:0 0 18px rgba(47,191,90,.55)}
p{color:var(--mut);margin:0 0 16px}
.grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.frame{position:relative;border-radius:18px;overflow:hidden;border:2px solid rgba(255,61,180,.6);box-shadow:0 0 30px rgba(255,61,180,.35)}
.frame img{width:100%;height:100%;object-fit:cover}
.about{background:linear-gradient(180deg,var(--bg),#120a1b 60%,var(--bg))}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 26px;padding:0;list-style:none}
.chips li{font-size:14px;font-weight:700;padding:6px 12px;border-radius:999px;background:rgba(255,61,180,.12);border:1px solid rgba(255,61,180,.45);color:#ffd2ec}
.ms{position:relative;background:#000 url(tvwall-3.webp?v=2) center/cover no-repeat}
.ms:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,var(--bg) 0%,rgba(7,5,12,0) 18%,rgba(7,5,12,0) 82%,var(--bg) 100%),linear-gradient(90deg,rgba(7,5,12,.95) 0%,rgba(7,5,12,.82) 55%,rgba(7,5,12,.55) 100%)}
.ms .wrap{position:relative}
.ms .grid{grid-template-columns:1fr 1fr}
.ms picture img{width:min(440px,80vw);margin:0 auto;filter:drop-shadow(0 0 24px rgba(47,191,90,.5)) drop-shadow(0 8px 24px #000)}
.guest{text-align:center;position:relative;overflow:hidden;background:#000 url(tvwall-2.webp?v=2) center/cover no-repeat}
.guest:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,var(--bg) 0%,rgba(7,5,12,.72) 22%,rgba(7,5,12,.72) 78%,var(--bg) 100%)}
.guest .wrap{position:relative}
.guest .vid{width:min(640px,100%);margin:0 auto 34px;background:#000;border-radius:22px;border:3px solid rgba(255,61,180,.75);box-shadow:0 0 0 8px rgba(20,12,28,.9),0 0 40px rgba(255,61,180,.45),0 20px 50px rgba(0,0,0,.7)}
.guest p{max-width:640px;margin:0 auto 28px}
.card{background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:22px}
footer{border-top:1px solid rgba(255,255,255,.08);padding:30px 0 40px;text-align:center;color:#8a7c96;font-size:14px}
footer a{color:#cdb6da;text-decoration:none;margin:0 8px}
footer a:hover{color:var(--pink)}
.about p a{color:#ff7ccc;text-decoration:none;border-bottom:1px solid rgba(255,61,180,.5)}
.about p a:hover{color:#fff;border-bottom-color:var(--pink);text-shadow:0 0 10px rgba(255,61,180,.8)}
.chips a{color:inherit;text-decoration:none}
.chips li:has(a):hover{background:rgba(255,61,180,.28);border-color:var(--pink);box-shadow:0 0 14px rgba(255,61,180,.45)}
.socials{display:flex;justify-content:center;gap:14px;margin:0 0 18px}
footer .soc{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0;border-radius:50%;color:#fff;background:rgba(255,61,180,.14);border:2px solid rgba(255,61,180,.7);box-shadow:0 0 14px rgba(255,61,180,.45),inset 0 0 10px rgba(255,61,180,.25);transition:transform .15s,box-shadow .15s,background .15s}
footer .soc svg{width:22px;height:22px}
footer .soc:hover{color:#fff;background:var(--pink);transform:translateY(-2px);box-shadow:0 0 24px rgba(255,61,180,.85)}
.flinks{margin:0;font-size:13px}
.flinks a{margin:0 4px}
@media (max-width:820px){
 .grid,.ms .grid{grid-template-columns:1fr;gap:30px}
 section{padding:64px 0}
 .ms .grid picture{order:-1}
 .nav{justify-content:center}
 .btn{font-size:17px;padding:15px 26px}
}
@media (prefers-reduced-motion:reduce){.hero picture img{animation:none}}
/* ---- v3: upcoming events, hosts, subpages ---- */
.nav a.on{border-color:var(--pink);box-shadow:0 0 12px rgba(255,61,180,.5)}
.btn.sm{padding:10px 18px;font-size:15px;gap:8px}
.btn.sm svg{width:18px;height:18px}
.hero.sub{min-height:auto;padding:0}
.hero.sub .in{padding:110px 22px 60px}
.hero.sub picture img{width:min(420px,70vw);animation:none}
.hero.sub h1.pt{font-size:clamp(34px,6vw,60px);margin:18px 0 0;font-weight:900;line-height:1.05;text-shadow:0 0 24px rgba(255,61,180,.7),0 3px 16px #000}
.hero.sub h1.pt span{color:var(--pink)}
.upcoming{background:linear-gradient(180deg,var(--bg),#100818 50%,var(--bg))}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:26px}
.sec-head h2{margin:0}
.sec-head a.more{color:var(--cyan);font-weight:800;text-decoration:none;letter-spacing:.04em}
.sec-head a.more:hover{text-shadow:0 0 12px rgba(95,227,255,.8)}
.ev-list{display:grid;gap:18px}
.ev{display:flex;gap:20px;align-items:flex-start;background:var(--card);border:1px solid rgba(255,61,180,.35);border-radius:18px;padding:20px 22px;box-shadow:0 0 22px rgba(255,61,180,.12)}
.ev:hover{border-color:rgba(255,61,180,.75);box-shadow:0 0 28px rgba(255,61,180,.28)}
.ev-date{flex:0 0 78px;height:84px;border-radius:14px;border:2px solid var(--pink);display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,61,180,.1);box-shadow:0 0 16px rgba(255,61,180,.45),inset 0 0 12px rgba(255,61,180,.25)}
.ev-date .m{font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}
.ev-date .d{font-size:34px;font-weight:900;line-height:1;color:#fff;text-shadow:0 0 12px rgba(255,61,180,.9)}
.ev-body{flex:1;min-width:0}
.ev-tag{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#ffd2ec;background:rgba(255,61,180,.16);border:1px solid rgba(255,61,180,.5);border-radius:999px;padding:2px 10px;margin-bottom:6px}
.ev h3{margin:0 0 4px;font-size:21px;line-height:1.25;color:#fff}
.ev-when{margin:0 0 8px;color:var(--cyan);font-weight:700;font-size:15px}
.ev-loc{color:var(--mut);font-weight:600}
.ev-desc{margin:0 0 14px;font-size:15px}
.ev-btns{display:flex;flex-wrap:wrap;gap:10px}
.ev-btns .btn.ghost{box-shadow:0 0 12px rgba(95,227,255,.3)}
.ev-empty{padding:20px;border:1px dashed rgba(255,61,180,.5);border-radius:16px}
.book{margin-top:30px;display:flex;gap:22px;align-items:center;background:linear-gradient(120deg,rgba(255,61,180,.16),rgba(95,227,255,.08));border:1px solid rgba(95,227,255,.4);border-radius:18px;padding:22px 24px}
.book .ico{flex:0 0 60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--cyan);color:var(--cyan);box-shadow:0 0 18px rgba(95,227,255,.5)}
.book .ico svg{width:30px;height:30px}
.book h3{margin:0 0 4px;color:#fff;font-size:20px}
.book p{margin:0;font-size:15px}
.ph{display:inline;background:rgba(255,214,0,.13);color:#ffe066;border:1px dashed rgba(255,214,0,.7);border-radius:6px;padding:1px 6px;font-weight:700;font-size:.92em}
.hosts{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;max-width:920px;margin:0 auto}
#hosts h2{text-align:center}
.host{background:var(--card);border:1px solid rgba(255,61,180,.35);border-radius:20px;padding:22px;text-align:center;box-shadow:0 0 24px rgba(255,61,180,.14)}
.host .pic{width:190px;height:190px;margin:4px auto 16px;border-radius:50%;overflow:hidden;border:3px solid var(--pink);box-shadow:0 0 0 6px rgba(20,12,28,.9),0 0 30px rgba(255,61,180,.6);position:relative;background:#140c1c}
.host .pic img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.host .pic:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px);pointer-events:none;border-radius:50%}
.host .pic.empty{display:flex;align-items:center;justify-content:center;border-color:var(--cyan);box-shadow:0 0 0 6px rgba(20,12,28,.9),0 0 30px rgba(95,227,255,.5)}
.host .pic.empty span{font-size:78px;font-weight:900;color:var(--cyan);text-shadow:0 0 22px rgba(95,227,255,.9)}
.host h3{margin:0;font-size:26px;color:#fff}
.host .role{display:block;color:var(--pink);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:13px;margin:4px 0 14px}
.host p{text-align:left;font-size:15.5px}
.host ul.facts{list-style:none;padding:0;margin:0 0 14px;text-align:left;font-size:14.5px;color:var(--mut)}
.host ul.facts li{padding:5px 0 5px 24px;position:relative}
.host ul.facts li:before{content:"\2665";color:var(--pink);position:absolute;left:2px}
.host a.ig{font-weight:800;text-decoration:none}
.show-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:26px}
.show-facts div{background:var(--card);border:1px solid rgba(95,227,255,.3);border-radius:16px;padding:16px;text-align:center}
.show-facts b{display:block;font-size:22px;color:#fff;text-shadow:0 0 12px rgba(255,61,180,.8)}
.show-facts span{font-size:13.5px;color:var(--mut)}
.prose p a{color:#ff7ccc;text-decoration:none;border-bottom:1px solid rgba(255,61,180,.5)}
@media (max-width:980px){.hosts{grid-template-columns:1fr 1fr}.show-facts{grid-template-columns:1fr 1fr}}
@media (max-width:820px){.nav{flex-wrap:wrap;gap:8px;padding:12px}.nav a{padding:7px 11px;font-size:12.5px}}
@media (max-width:640px){.hosts{grid-template-columns:1fr}.ev{flex-direction:column;gap:12px;padding:18px}.ev-date{flex:none;width:100%;height:auto;flex-direction:row;gap:10px;padding:8px}.ev-date .d{font-size:26px}.book{flex-direction:column;text-align:center}}
/* ---- v4: tabbed event calendar ---- */
.tabs{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 22px;border-bottom:1px solid rgba(255,61,180,.3);padding-bottom:14px}
.tabs [role=tab]{font:inherit;font-weight:800;font-size:16px;color:var(--mut);background:rgba(20,12,28,.8);border:2px solid rgba(255,61,180,.35);border-radius:999px;padding:10px 20px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:color .15s,border-color .15s,box-shadow .15s}
.tabs [role=tab]:hover{color:#fff;border-color:var(--pink)}
.tabs [role=tab][aria-selected=true]{color:#fff;background:var(--pink);border-color:var(--pink);box-shadow:0 0 22px rgba(255,61,180,.7)}
.tabs [role=tab]:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.tabs .ct{font-size:12px;min-width:22px;padding:1px 7px;border-radius:999px;background:rgba(0,0,0,.35);color:#ffd2ec}
.tabs .ct:empty{display:none}
.tabpanel:focus-visible{outline:2px dashed var(--cyan);outline-offset:6px;border-radius:12px}
.tab-intro{margin:0 0 18px}
.ev-date.undated{border-color:var(--cyan);background:rgba(95,227,255,.08);box-shadow:0 0 16px rgba(95,227,255,.4),inset 0 0 12px rgba(95,227,255,.2)}
.ev-date.undated .m{color:#ffd2ec;font-size:11px}
.ev-date.undated .d{font-size:13px;letter-spacing:.06em;text-transform:uppercase;text-shadow:0 0 10px rgba(95,227,255,.9)}
.ev-src{align-self:center;color:var(--mut);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.ev-src:hover{color:var(--cyan)}
@media (max-width:640px){.tabs{gap:8px}.tabs [role=tab]{font-size:14px;padding:8px 14px}}

/* community channels (horsemen tab) */
.ch-sec{margin-top:26px}
.ch-head{margin:0 0 4px;font-size:24px;color:#fff;text-shadow:0 0 12px rgba(95,227,255,.6)}
.ch-intro{margin:0 0 14px;color:var(--mut);font-size:14px}
.ch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ch{background:var(--card);border:1px solid rgba(95,227,255,.35);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column}
.ch:hover{border-color:rgba(95,227,255,.75)}
.ch h4{margin:0 0 4px;font-size:18px;line-height:1.25;color:#fff}
.ch-when{margin:0 0 6px;color:var(--cyan);font-weight:700;font-size:14px}
.ch-when.none{color:var(--mut);font-weight:600}
.ch-desc{margin:0 0 12px;font-size:14px;flex:1}
@media (max-width:640px){.ch-grid{grid-template-columns:1fr}}
.ch .ev-tag{align-self:flex-start}.ch .ev-btns{margin-top:auto}

/* ---- v8: week view (events page) ---- */
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.week{background:linear-gradient(180deg,var(--bg),#0d0715 60%,var(--bg));padding-bottom:30px}
.week + .upcoming{padding-top:50px}
.wk-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;margin:6px 0 18px}
.wk-btn{font:inherit;width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;background:rgba(20,12,28,.85);border:2px solid var(--pink);box-shadow:0 0 14px rgba(255,61,180,.45);transition:transform .15s,box-shadow .15s,background .15s}
.wk-btn svg{width:20px;height:20px}
.wk-btn:hover:not(:disabled){background:var(--pink);box-shadow:0 0 22px rgba(255,61,180,.8)}
.wk-btn:disabled,.wk-today:disabled{opacity:.38;cursor:default;box-shadow:none}
.wk-btn:focus-visible,.wk-today:focus-visible,.wk-it a:focus-visible,.wk-label:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.wk-label{margin:0;min-width:190px;text-align:center;font-size:22px;font-weight:900;color:#fff;text-shadow:0 0 14px rgba(255,61,180,.6)}
.wk-today{font:inherit;font-weight:800;cursor:pointer;padding:9px 18px;font-size:15px}
.wk-today:disabled:hover{transform:none;filter:none}
.wk-sum{margin-left:auto;color:var(--mut);font-size:14px;font-weight:700}
.wk-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.wk-day{background:var(--card);border:1px solid rgba(255,61,180,.28);border-radius:14px;padding:10px 8px 12px;min-height:150px;min-width:0}
.wk-day.gone{background:rgba(16,10,22,.7)}
.wk-day.today{border:2px solid var(--pink);box-shadow:0 0 22px rgba(255,61,180,.45),inset 0 0 14px rgba(255,61,180,.15)}
.wk-dh{margin:0 0 8px;padding:0 4px 6px;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px;line-height:1.3;color:var(--cyan);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.wk-dh .dn{color:#fff;letter-spacing:.02em}
.wk-dh .tt{display:inline-block;margin-left:2px;font-size:10px;padding:1px 7px;border-radius:999px;background:var(--pink);color:#fff;letter-spacing:.08em;vertical-align:1px}
.wk-items{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.wk-it a{display:block;text-decoration:none;color:var(--txt);padding:7px 7px 8px;border-radius:10px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);transition:border-color .15s,background .15s}
.wk-it a:hover{border-color:var(--pink);background:rgba(255,61,180,.1)}
.wk-it.lll a{border-color:rgba(255,61,180,.45);background:rgba(255,61,180,.09)}
.wk-it.up a{border-color:rgba(95,227,255,.4)}
.wk-it.live a{border-color:#ff4d5e;background:rgba(255,40,70,.13);box-shadow:0 0 14px rgba(255,40,70,.35)}
.wk-meta{display:flex;align-items:center;justify-content:space-between;gap:4px;flex-wrap:wrap;margin-bottom:3px}
.wk-time{font-size:12px;font-weight:800;color:var(--cyan);white-space:nowrap}
.wk-b{display:inline-block;font-size:9.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:1px 6px;border-radius:999px;line-height:1.5;white-space:nowrap}
.wk-b.past{color:#d9cbe4;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18)}
.wk-b.up{color:#062a33;background:var(--cyan)}
.wk-b.live{color:#fff;background:#e8243f;box-shadow:0 0 10px rgba(255,40,70,.8)}
.wk-ch{display:block;font-size:11.5px;font-weight:800;color:#ffd2ec;line-height:1.3;overflow-wrap:anywhere}
.wk-ty{color:var(--mut);font-weight:600}
.wk-t{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:12.5px;line-height:1.35;color:#fff;margin-top:2px;overflow-wrap:anywhere}
.wk-none{margin:6px 4px;font-size:13px;color:#a598b0;font-style:italic}
.wk-legend{margin:14px 0 0;font-size:13.5px}
.wk-legend .wk-b{font-size:10px;vertical-align:1px}
.wk-upd{color:#8a7c96}
.week.loading .wk-grid{opacity:.6}
@media (max-width:1060px){.wk-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:720px){
 .wk-grid{grid-template-columns:1fr;gap:8px}
 .wk-day{min-height:0;padding:10px 12px}
 .wk-day.empty{padding:8px 12px;display:flex;align-items:baseline;gap:12px}
 .wk-day.empty .wk-dh{border:0;margin:0;padding:0}
 .wk-day.empty .wk-none{margin:0}
 .wk-t{-webkit-line-clamp:4;font-size:14px}
 .wk-ch{font-size:12.5px}.wk-time{font-size:13px}
 .wk-label{min-width:0;flex:1;font-size:19px}
 .wk-sum{margin-left:0;width:100%}
}
@media (prefers-reduced-motion:reduce){.wk-btn,.wk-it a{transition:none}}

/* ---- v8: live banner + latest-episode cards ---- */
.livebar{position:relative;z-index:6;padding:84px 0 28px;background:radial-gradient(ellipse at top,rgba(232,36,63,.28),rgba(7,5,12,0) 70%),#0b0610;border-bottom:2px solid #e8243f;box-shadow:0 0 40px rgba(232,36,63,.35)}
.livebar[hidden]{display:none}
.livebar + .hero.sub .in{padding-top:40px}
.lb-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-bottom:16px}
.lb-head h2{margin:0;font-size:clamp(28px,4vw,40px);display:flex;align-items:center;gap:12px}
.lb-head h2 .p{color:#ff4d5e;text-shadow:0 0 18px rgba(255,40,70,.8)}
.lb-dot{width:16px;height:16px;border-radius:50%;background:#ff2a44;box-shadow:0 0 0 0 rgba(255,42,68,.7);animation:lbpulse 1.6s infinite}
@keyframes lbpulse{70%{box-shadow:0 0 0 14px rgba(255,42,68,0)}100%{box-shadow:0 0 0 0 rgba(255,42,68,0)}}
.lb-title{margin:0;flex:1 1 280px;color:#fff;font-weight:700;font-size:17px}
.lb-btns{display:flex;gap:10px;flex-wrap:wrap}
.lb-hide{font:inherit;font-weight:800;cursor:pointer}
.lb-btns .btn:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.lb-frame,.lite{position:relative;aspect-ratio:16/9;width:100%;border-radius:16px;overflow:hidden;background:#000;border:2px solid rgba(255,61,180,.7);box-shadow:0 0 28px rgba(255,61,180,.4)}
.lb-frame{max-width:960px;margin:0 auto;border-color:#e8243f;box-shadow:0 0 30px rgba(232,36,63,.45)}
.lb-frame iframe,.lite iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (prefers-reduced-motion:reduce){.lb-dot{animation:none}}
.lt-card{margin-top:22px;max-width:520px}
.lt-k{margin:0 0 8px;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#7dff9f}
.lt-k span{color:var(--mut);letter-spacing:.04em;text-transform:none;font-weight:700}
.lite-play{all:unset;position:absolute;inset:0;cursor:pointer;display:block}
.lite-play img{width:100%;height:100%;object-fit:cover}
.lite-ico{position:absolute;left:50%;top:50%;width:72px;height:51px;transform:translate(-50%,-50%);filter:drop-shadow(0 4px 14px rgba(0,0,0,.7));transition:transform .15s}
.lite-play:hover .lite-ico{transform:translate(-50%,-50%) scale(1.1)}
.lite-play:focus-visible{outline:3px solid var(--cyan);outline-offset:-3px;border-radius:14px}
.lt-t{margin:12px 0 14px;font-size:18px;line-height:1.3}
.lt-t a{color:#fff;text-decoration:none}
.lt-t a:hover{color:var(--pink)}
.upcoming .lt-card{max-width:640px}
.upcoming .lt-k{color:var(--cyan)}
.upcoming .lite{border-color:rgba(95,227,255,.6);box-shadow:0 0 24px rgba(95,227,255,.3)}
/* starting-soon state of the banner */
.livebar.soon{border-bottom-color:var(--cyan);box-shadow:0 0 40px rgba(95,227,255,.3);background:radial-gradient(ellipse at top,rgba(95,227,255,.2),rgba(7,5,12,0) 70%),#0b0610}
.livebar.soon .lb-head h2 .p{color:var(--cyan);text-shadow:0 0 18px rgba(95,227,255,.8)}
.lb-dot.soon{background:var(--cyan);animation:none;box-shadow:0 0 12px rgba(95,227,255,.9)}
.livebar.soon .lb-frame{border-color:var(--cyan);box-shadow:0 0 30px rgba(95,227,255,.35)}
/* ---- v10: hosts' heads bubble on the hero logo (placed/scaled like the intro end card) ---- */
.hero .logo-wrap{position:relative;display:block;width:min(820px,92vw);margin:0 auto;animation:float 6s ease-in-out infinite}
.hero .logo-wrap picture img{animation:none;width:100%}
@media (max-width:520px){.hero .logo-wrap{width:88vw;left:-2vw}}
.hero .logo-wrap img.heads{position:absolute;left:74%;top:36%;width:29%;height:auto;margin:0;filter:drop-shadow(0 0 16px rgba(255,61,180,.55)) drop-shadow(0 8px 22px rgba(0,0,0,.75))}
@media (prefers-reduced-motion:reduce){.hero .logo-wrap{animation:none}}
/* ---- v10: Neve in the live / starting-soon banner ---- */
.lb-neve{flex:0 0 auto;width:74px;height:auto;margin:-14px 0 -6px;filter:drop-shadow(0 0 10px rgba(255,61,180,.45))}
.lb-go{display:inline-block;margin-left:4px;color:#fff;font-weight:900;text-decoration:none;font-size:clamp(17px,2.2vw,21px);text-shadow:0 0 14px rgba(255,61,180,.85)}
.lb-go:hover{color:var(--pink)}
.lb-go[hidden]{display:none}
@media (max-width:640px){.lb-neve{width:58px;margin:-8px 0 -4px}}
/* ---- v10: Neve on /live/ and 404 ---- */
.neve-stage{position:relative;width:min(420px,78vw);margin:4px auto 0;aspect-ratio:720/518}
.neve-stage video,.neve-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.neve-stage img[hidden]{display:none}
/* ---- v11: homepage hero background: centre TV shows the intro's castle + Neve "Let's Go!" frame (baked into the image) ---- */
.hero.home{background-image:url(tvwall-1-castle.webp?v=2)}
/* ---- v12: moving centre TV on the homepage hero (clip positioned by assets/tv.js over the cover-scaled background) ---- */
.hero.home:before,.hero.home:after{z-index:1}
.hero.home .tv-clip{position:absolute;z-index:0;left:0;top:0;width:0;height:0;max-width:none;object-fit:fill;pointer-events:none;opacity:0;transition:opacity .4s;
 -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent);-webkit-mask-composite:source-in;
 mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent);mask-composite:intersect}
.hero.home .tv-clip.on{opacity:1}
@media (prefers-reduced-motion:reduce){.hero.home .tv-clip{display:none}}
/* ---- v12: heads bubble on the /live/ countdown logo ---- */
.hero.cd-page .logo-wrap{animation:none}  /* same size/placement as the homepage logo + heads; no float here */
/* ---- v13: phone portrait: logo above the centre TV, tagline + button below it (TV sits at 42-58% of the hero height) ---- */
@media (max-width:640px) and (orientation:portrait){
 .hero.home .in{min-height:100vh;min-height:100svh;padding:0 18px;display:grid;grid-template-rows:41vh 19vh auto auto;grid-template-rows:41svh 19svh auto auto;align-content:start}
 .hero.home h1{grid-row:1;align-self:end}
 .hero.home .tag{grid-row:3;margin:14px auto 18px}
 .hero.home .btns{grid-row:4}
}
@media (max-width:640px){.br-wide{display:none}}
/* ---- v16: review fixes (Oct 19) ---- */
.copy{margin:14px 0 0;color:#a598b0}
.sched{margin:16px auto 0;font-size:15.5px;font-weight:600;color:#ffd2ec;text-shadow:0 2px 10px #000,0 0 2px #000;max-width:640px}
.sched b{color:#fff}
.sched .g{color:var(--green,#3ddc6e)}
.hero.sub .sched{margin-top:14px}
.hero.sub .btns{margin-top:18px}
.btn.ghost svg{width:20px;height:20px}
/* calendar buttons grouped into one "Add to calendar" menu */
.addcal{position:relative;display:inline-block}
.addcal>summary{list-style:none;cursor:pointer}
.addcal>summary::-webkit-details-marker{display:none}
.addcal[open]>summary{background:rgba(95,227,255,.12)}
.addcal-m{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.more-ev{display:none;margin:4px 0 0;text-align:center}
@media (max-width:640px){
 .ev-list.compact-phone .ev:nth-child(n+3){display:none}
 .ev-list.compact-phone .ev-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .more-ev{display:block}
 .sched{font-size:14px}
}
@media (max-width:640px) and (orientation:portrait){ .hero.home .sched{grid-row:5;margin:12px auto 18px} }
@media (max-width:640px){ .hero.home .btns{gap:10px;flex-wrap:nowrap} .hero.home .btns .btn{padding:12px 17px;font-size:16px;gap:8px;white-space:nowrap} .hero.home .btns .btn svg{width:20px;height:20px} }
