:root{
  --hub-bg:#f7f8fb;
  --hub-surface:#ffffff;
  --hub-soft:#f2f4f8;
  --hub-text:#11141c;
  --hub-muted:#6f7785;
  --hub-line:#e1e5ec;
  --hub-accent:#7857ec;
  --hub-accent-soft:rgba(120,87,236,.10);
  --hub-live:#158a62;
  --hub-soon:#9a6e00;
  --hub-danger:#b64c4c;
  --hub-radius:16px;
}

[data-theme="dark"],body.dark-mode,body.dark{
  --hub-bg:#080a0f;
  --hub-surface:#10141b;
  --hub-soft:#151a22;
  --hub-text:#f6f7fa;
  --hub-muted:#9aa3b1;
  --hub-line:#262c35;
  --hub-accent:#a58aff;
  --hub-accent-soft:rgba(165,138,255,.10);
}

.bh{
  background:var(--hub-bg);
  color:var(--hub-text);
  padding:22px 20px 68px;
}
.bh a{color:inherit}
.bh > *{max-width:1200px;margin-left:auto;margin-right:auto}

.bh-kicker{
  display:block;
  margin:0 0 7px;
  color:var(--hub-accent);
  font-size:11px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

/* =========================================================
   HERO — compact editorial desktop composition
   ========================================================= */
.bh-hero{
  display:grid;
  grid-template-columns:minmax(300px,.53fr) minmax(0,1fr);
  min-height:365px;
  overflow:hidden;
  border:1px solid var(--hub-line);
  border-radius:18px;
  background:var(--hub-surface);
}

.bh-hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:34px 34px 32px;
  border-right:1px solid var(--hub-line);
  background:
    linear-gradient(145deg,var(--hub-accent-soft),transparent 52%),
    var(--hub-surface);
}

.bh-hero h1{
  max-width:470px;
  margin:0;
  font-size:clamp(2.2rem,3.4vw,3.08rem);
  line-height:1.01;
  letter-spacing:-.048em;
}

.bh-hero-copy p{
  max-width:490px;
  margin:15px 0 0;
  color:var(--hub-muted);
  font-size:14px;
  line-height:1.68;
}

.bh-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:20px;
}

.bh-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:37px;
  padding:0 13px;
  border:1px solid var(--hub-line);
  border-radius:9px;
  background:transparent;
  text-decoration:none;
  font-size:11px;
  font-weight:850;
}
.bh-btn.primary{
  border-color:var(--hub-accent);
  background:var(--hub-accent);
  color:#fff!important;
}

.bh-hero-stats{
  display:flex;
  flex-wrap:wrap;
  gap:15px;
  margin-top:22px;
  color:var(--hub-muted);
  font-size:11px;
}
.bh-hero-stats strong{color:var(--hub-text);font-size:13px}

.bh-now{
  min-width:0;
  padding:19px 20px 18px;
}

.bh-now-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  padding-bottom:11px;
}
.bh-now-heading strong{font-size:13px}
.bh-now-heading a{
  color:var(--hub-muted);
  text-decoration:none;
  font-size:11px;
  font-weight:800;
}

.bh-now-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.bh-now-card{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--hub-line);
  border-radius:13px;
  background:var(--hub-soft);
}

.bh-now-image{
  position:relative;
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#080a0f;
}
.bh-now-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.bh-now-lang,.bh-now-image .bh-status{
  position:absolute;
  top:8px;
}
.bh-now-lang{
  left:8px;
  padding:5px 7px;
  border-radius:6px;
  background:rgba(7,9,14,.84);
  color:#fff;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.bh-now-image .bh-status{right:8px}

.bh-status{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:5px 7px;
  border-radius:6px;
  background:#687080;
  color:#fff;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.035em;
}
.bh-status.live{background:var(--hub-live)}
.bh-status.upcoming{background:var(--hub-soon)}
.bh-status.cancelled{background:var(--hub-danger)}
.bh-status.completed{background:#667085}

.bh-now-copy{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:58px;
  padding:10px 11px;
}

.bh-now-title{
  min-width:0;
  text-decoration:none;
}
.bh-now-title strong{
  display:block;
  overflow:hidden;
  font-size:12.5px;
  line-height:1.28;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.bh-now-title small{
  display:block;
  margin-top:3px;
  color:var(--hub-muted);
  font-size:10px;
}
.bh-now-prediction{
  flex:0 0 auto;
  color:var(--hub-accent)!important;
  text-decoration:none;
  font-size:10.5px;
  font-weight:900;
}

/* =========================================================
   QUICK LINKS — thin, not another giant card section
   ========================================================= */
.bh-shortcuts{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:10px;
  overflow:hidden;
  border:1px solid var(--hub-line);
  border-radius:12px;
  background:var(--hub-surface);
}
.bh-shortcuts a{
  min-height:51px;
  padding:10px 15px;
  border-right:1px solid var(--hub-line);
  text-decoration:none;
}
.bh-shortcuts a:last-child{border-right:0}
.bh-shortcuts strong{display:block;font-size:11.5px}
.bh-shortcuts span{display:block;margin-top:3px;color:var(--hub-muted);font-size:10px}

/* =========================================================
   SECTIONS
   ========================================================= */
.bh-section{padding-top:39px}

.bh-section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:13px;
}
.bh-section-head h2,.bh-editorial h2,.bh-faq h2,.bh-live-vote h2{
  margin:0;
  font-size:clamp(1.3rem,2vw,1.68rem);
  letter-spacing:-.025em;
}
.bh-section-head > a{
  color:var(--hub-muted);
  text-decoration:none;
  font-size:11px;
  font-weight:800;
}

/* Contestants: keep V2 structure, just polish */
.bh-people{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:132px;
  gap:10px;
  overflow-x:auto;
  padding:1px 1px 8px;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
}
.bh-person{
  min-width:0;
  scroll-snap-align:start;
  text-decoration:none;
}
.bh-person-media{
  display:flex;
  align-items:center;
  justify-content:center;
  aspect-ratio:4/5;
  padding:6px;
  overflow:hidden;
  border:1px solid var(--hub-line);
  border-radius:11px;
  background:var(--hub-surface);
}
.bh-person-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}
.bh-person > strong{
  display:block;
  margin:8px 2px 0;
  overflow:hidden;
  font-size:13px;
  line-height:1.28;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.bh-person > span{
  display:block;
  margin:3px 2px 0;
  overflow:hidden;
  color:var(--hub-muted);
  font-size:10px;
  line-height:1.25;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.bh-season-mobile{display:none!important}

/* Languages — 2 prominent, rest compact */
.bh-language-featured{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.bh-language-featured a{
  position:relative;
  min-height:106px;
  padding:19px 52px 17px 19px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--hub-accent) 38%,var(--hub-line));
  border-radius:14px;
  background:
    linear-gradient(135deg,var(--hub-accent-soft),transparent 64%),
    var(--hub-surface);
  text-decoration:none;
}
.bh-language-featured .bh-language-label{
  display:block;
  color:var(--hub-accent);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}
.bh-language-featured strong{
  display:block;
  margin-top:8px;
  font-size:16px;
}
.bh-language-featured small{
  display:block;
  margin-top:5px;
  color:var(--hub-muted);
  font-size:11px;
}
.bh-language-featured b{
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  color:var(--hub-accent);
  font-size:20px;
}

.bh-language-compact{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  margin-top:9px;
}
.bh-language-compact a{
  min-width:0;
  padding:10px 11px;
  border:1px solid var(--hub-line);
  border-radius:10px;
  background:var(--hub-surface);
  text-decoration:none;
}
.bh-language-compact span{
  display:block;
  overflow:hidden;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.bh-language-compact small{
  display:block;
  margin-top:3px;
  color:var(--hub-muted);
  font-size:9px;
}

/* Recent seasons — editorial image-forward cards */
.bh-season-editorial{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
}
.bh-season-story{
  overflow:hidden;
  border:1px solid var(--hub-line);
  border-radius:13px;
  background:var(--hub-surface);
  text-decoration:none;
}
.bh-season-story-media{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#080a0f;
}
.bh-season-story-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.bh-season-story-media .bh-status{
  position:absolute;
  top:9px;
  left:9px;
}
.bh-season-story-copy{
  padding:10px 11px 11px;
}
.bh-season-story-copy strong{
  display:block;
  overflow:hidden;
  font-size:12px;
  line-height:1.3;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.bh-season-story-copy small{
  display:block;
  margin-top:4px;
  color:var(--hub-muted);
  font-size:10px;
}

/* Selection shows */
.bh-show-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.bh-show{
  display:grid;
  grid-template-columns:minmax(210px,.86fr) minmax(0,1fr);
  overflow:hidden;
  border:1px solid var(--hub-line);
  border-radius:14px;
  background:var(--hub-surface);
  text-decoration:none;
}
.bh-show-media{
  position:relative;
  min-height:175px;
  overflow:hidden;
  background:#080a0f;
}
.bh-show-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.bh-show-media .bh-status{position:absolute;top:10px;left:10px}
.bh-show-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:16px;
}
.bh-show-copy strong{font-size:14px}
.bh-show-copy p{
  display:-webkit-box;
  margin:7px 0 0;
  overflow:hidden;
  color:var(--hub-muted);
  font-size:11px;
  line-height:1.6;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
}

/* Voting */
.bh-live-vote{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:39px;
  padding:17px 19px;
  border:1px solid color-mix(in srgb,var(--hub-live) 40%,var(--hub-line));
  border-radius:14px;
  background:color-mix(in srgb,var(--hub-live) 7%,var(--hub-surface));
}

/* Hosts — 4 stronger cards */
.bh-host-featured{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.bh-host-featured a{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
  padding:11px;
  border:1px solid var(--hub-line);
  border-radius:12px;
  background:var(--hub-surface);
  text-decoration:none;
}
.bh-host-featured img{
  width:64px;
  height:64px;
  flex:0 0 64px;
  object-fit:cover;
  border-radius:50%;
}
.bh-host-featured strong{
  display:block;
  overflow:hidden;
  font-size:12.5px;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.bh-host-featured span{
  display:block;
  margin-top:4px;
  color:var(--hub-muted);
  font-size:10.5px;
}

/* Editorial + FAQ */
.bh-editorial{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(250px,.65fr);
  gap:16px;
}
.bh-editorial article{padding-right:24px}
.bh-editorial p{
  margin:10px 0 0;
  color:var(--hub-muted);
  font-size:12.5px;
  line-height:1.72;
}
.bh-editorial aside{
  align-self:start;
  border-top:1px solid var(--hub-line);
}
.bh-editorial aside a{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid var(--hub-line);
  text-decoration:none;
  font-size:11px;
  font-weight:800;
}
.bh-faq details{border-bottom:1px solid var(--hub-line)}
.bh-faq summary{
  padding:12px 0;
  cursor:pointer;
  font-size:11.5px;
  font-weight:850;
}
.bh-faq p{
  margin:0;
  padding:0 0 12px;
  color:var(--hub-muted);
  font-size:11.5px;
  line-height:1.65;
}

/* =========================================================
   TABLET / MOBILE
   ========================================================= */
@media(max-width:980px){
  .bh-hero{
    grid-template-columns:1fr;
    min-height:0;
  }
  .bh-hero-copy{
    padding:28px;
    border-right:0;
    border-bottom:1px solid var(--hub-line);
  }
  .bh-now{padding:17px}
  .bh-language-compact{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bh-season-editorial{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bh-show{grid-template-columns:1fr}
  .bh-show-media{aspect-ratio:16/9;min-height:0}
  .bh-host-featured{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:680px){
  .bh{padding:13px 11px 54px}
  .bh-hero{border-radius:14px}
  .bh-hero-copy{padding:22px 19px}
  .bh-hero h1{font-size:1.95rem;line-height:1.04}
  .bh-hero-copy p{font-size:12px;line-height:1.62}
  .bh-hero-stats{margin-top:18px}
  .bh-now{padding:13px}
  .bh-now-grid{
    grid-auto-flow:column;
    grid-auto-columns:90%;
    grid-template-columns:none;
    overflow-x:auto;
    padding-bottom:5px;
    scroll-snap-type:x mandatory;
  }
  .bh-now-card{scroll-snap-align:start}
  .bh-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bh-shortcuts a:nth-child(2){border-right:0}
  .bh-shortcuts a:nth-child(-n+2){border-bottom:1px solid var(--hub-line)}
  .bh-section{padding-top:32px}
  .bh-people{grid-auto-columns:118px}
  .bh-person-media{padding:5px}
  .bh-season-desktop{display:none!important}
  .bh-season-mobile{display:block!important}
  .bh-language-featured{grid-template-columns:1fr}
  .bh-language-compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bh-season-editorial{
    grid-auto-flow:column;
    grid-auto-columns:83%;
    grid-template-columns:none;
    overflow-x:auto;
    padding-bottom:5px;
    scroll-snap-type:x proximity;
  }
  .bh-season-story{scroll-snap-align:start}
  .bh-show-grid{grid-template-columns:1fr}
  .bh-host-featured{
    grid-auto-flow:column;
    grid-auto-columns:76%;
    grid-template-columns:none;
    overflow-x:auto;
    padding-bottom:5px;
    scroll-snap-type:x proximity;
  }
  .bh-host-featured a{scroll-snap-align:start}
  .bh-editorial{grid-template-columns:1fr}
  .bh-editorial article{padding-right:0}
  .bh-live-vote{align-items:flex-start;flex-direction:column}
}

@media(max-width:420px){
  .bh-hero h1{font-size:1.82rem}
  .bh-now-grid{grid-auto-columns:93%}
  .bh-people{grid-auto-columns:112px}
}


/* =========================================================
   V3.2 HERO HEIGHT TUNE
   Reduce desktop hero dead-space without shrinking focus art.
   ========================================================= */
@media(min-width:981px){
  .bh-hero{
    min-height:320px;
  }

  .bh-hero-copy{
    padding:25px 30px 24px;
  }

  .bh-hero h1{
    max-width:430px;
    font-size:clamp(2rem,3vw,2.72rem);
    line-height:1.01;
  }

  .bh-hero-copy p{
    margin-top:12px;
    line-height:1.58;
  }

  .bh-hero-actions{
    margin-top:16px;
  }

  .bh-hero-stats{
    margin-top:17px;
  }

  .bh-now{
    padding-top:16px;
    padding-bottom:15px;
  }

  .bh-now-heading{
    padding-bottom:9px;
  }
}


/* =========================================================
   V3.3 HERO ACTION BUTTON POLISH
   Keep all three CTAs neatly fitted inside the left hero column.
   Vote gets a distinct high-attention treatment.
   ========================================================= */
@media(min-width:681px){
  .bh-hero-actions{
    display:grid;
    grid-template-columns:1.25fr 1fr .72fr;
    gap:8px;
    width:100%;
    max-width:350px;
  }

  .bh-hero-actions .bh-btn{
    width:100%;
    min-width:0;
    min-height:38px;
    padding:0 10px;
    white-space:nowrap;
    font-size:11px;
  }

  .bh-hero-actions .bh-btn:nth-child(3){
    border-color:#e5484d;
    background:#e5484d;
    color:#fff!important;
    box-shadow:0 0 0 1px rgba(229,72,77,.08),0 6px 16px rgba(229,72,77,.18);
  }

  .bh-hero-actions .bh-btn:nth-child(3):hover{
    filter:brightness(1.06);
    transform:translateY(-1px);
  }
}

@media(max-width:680px){
  .bh-hero-actions{
    display:grid;
    grid-template-columns:1.25fr 1fr .72fr;
    gap:7px;
    width:100%;
  }

  .bh-hero-actions .bh-btn{
    width:100%;
    min-width:0;
    padding:0 8px;
    font-size:10.5px;
    white-space:nowrap;
  }

  .bh-hero-actions .bh-btn:nth-child(3){
    border-color:#e5484d;
    background:#e5484d;
    color:#fff!important;
  }
}


/* =========================================================
   V3.5 HERO RIGHT-SIDE GAP FIX
   Use the full hero height with the Malayalam/Tamil cards.
   No extra empty strip below the cards on desktop.
   ========================================================= */
@media(min-width:981px){
  .bh-now{
    display:flex;
    flex-direction:column;
    min-height:0;
  }

  .bh-now-grid{
    flex:1 1 auto;
    min-height:0;
    align-items:stretch;
  }

  .bh-now-card{
    display:flex;
    flex-direction:column;
    height:100%;
    min-height:0;
  }

  .bh-now-image{
    flex:1 1 auto;
    min-height:0;
    aspect-ratio:auto;
  }

  .bh-now-copy{
    flex:0 0 auto;
  }
}
/* =========================================================
   V3.6 FINAL TYPOGRAPHY SYSTEM
   One consistent scale for the homepage.
   - less excessive boldness
   - larger readable metadata
   - cleaner heading/body contrast
   - system font stack: no external font/FOUT dependency
   ========================================================= */

.bh{
  font-family:
    ui-sans-serif,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size:15px;
  font-weight:400;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Small uppercase editorial labels */
.bh-kicker{
  font-size:11px;
  font-weight:700;
  line-height:1.25;
  letter-spacing:.105em;
}

/* Hero */
.bh-hero h1{
  font-size:clamp(2.25rem,3vw,2.75rem);
  font-weight:750;
  line-height:1.04;
  letter-spacing:-.035em;
}

.bh-hero-copy p{
  font-size:15px;
  font-weight:400;
  line-height:1.62;
  letter-spacing:0;
}

.bh-btn,
.bh-hero-actions .bh-btn{
  font-size:12.5px;
  font-weight:650;
  letter-spacing:-.005em;
}

.bh-hero-stats{
  font-size:12.5px;
  line-height:1.35;
}
.bh-hero-stats strong{
  font-size:14px;
  font-weight:700;
}

/* Hero current-season area */
.bh-now-heading strong{
  font-size:15px;
  font-weight:700;
}
.bh-now-heading > a{
  font-size:12.5px;
  font-weight:600;
}
.bh-now-title strong{
  font-size:14px;
  font-weight:700;
  line-height:1.3;
}
.bh-now-title small{
  font-size:12px;
  font-weight:400;
  line-height:1.3;
}
.bh-now-prediction{
  font-size:12px;
  font-weight:650;
}
.bh-now-lang,
.bh-status{
  font-size:10px;
  font-weight:700;
  letter-spacing:.04em;
}

/* Quick links */
.bh-shortcuts strong{
  font-size:13px;
  font-weight:650;
  line-height:1.3;
}
.bh-shortcuts span{
  font-size:11.5px;
  font-weight:400;
  line-height:1.35;
}

/* Main section headings */
.bh-section-head h2,
.bh-editorial h2,
.bh-faq h2,
.bh-live-vote h2{
  font-size:28px;
  font-weight:700;
  line-height:1.16;
  letter-spacing:-.025em;
}
.bh-section-head > a{
  font-size:12.5px;
  font-weight:600;
  line-height:1.3;
}

/* Contestants */
.bh-person > strong{
  font-size:14px;
  font-weight:650;
  line-height:1.3;
  letter-spacing:-.008em;
}
.bh-person > span{
  font-size:12px;
  font-weight:400;
  line-height:1.3;
}

/* Languages */
.bh-language-featured .bh-language-label{
  font-size:10px;
  font-weight:700;
  letter-spacing:.09em;
}
.bh-language-featured strong{
  font-size:17px;
  font-weight:700;
  line-height:1.25;
}
.bh-language-featured small{
  font-size:12.5px;
  font-weight:400;
  line-height:1.35;
}
.bh-language-compact span{
  font-size:11.5px;
  font-weight:650;
  line-height:1.3;
}
.bh-language-compact small{
  font-size:10.5px;
  font-weight:400;
  line-height:1.3;
}

/* Recent seasons */
.bh-season-story-copy strong{
  font-size:14px;
  font-weight:650;
  line-height:1.3;
}
.bh-season-story-copy small{
  font-size:12px;
  font-weight:400;
  line-height:1.3;
}

/* Selection shows */
.bh-show-copy strong{
  font-size:15px;
  font-weight:700;
  line-height:1.3;
}
.bh-show-copy p{
  font-size:13px;
  font-weight:400;
  line-height:1.58;
}

/* Hosts */
.bh-host-featured strong{
  font-size:14px;
  font-weight:650;
  line-height:1.3;
}
.bh-host-featured span{
  font-size:12px;
  font-weight:400;
  line-height:1.3;
}

/* About / editorial copy */
.bh-editorial p{
  font-size:15px;
  font-weight:400;
  line-height:1.72;
  letter-spacing:0;
}
.bh-editorial aside a{
  font-size:13px;
  font-weight:600;
  line-height:1.35;
}

/* FAQ */
.bh-faq summary{
  font-size:14px;
  font-weight:650;
  line-height:1.4;
}
.bh-faq p{
  font-size:14px;
  font-weight:400;
  line-height:1.65;
}

/* Tablet */
@media(max-width:980px){
  .bh{
    font-size:14.5px;
  }

  .bh-hero h1{
    font-size:2.15rem;
    font-weight:750;
    line-height:1.05;
  }

  .bh-section-head h2,
  .bh-editorial h2,
  .bh-faq h2,
  .bh-live-vote h2{
    font-size:25px;
  }

  .bh-editorial p{
    font-size:14.5px;
  }
}

/* Mobile */
@media(max-width:680px){
  .bh-kicker{
    font-size:10px;
    letter-spacing:.09em;
  }

  .bh-hero h1{
    font-size:1.95rem;
    line-height:1.06;
    letter-spacing:-.03em;
  }

  .bh-hero-copy p{
    font-size:14px;
    line-height:1.6;
  }

  .bh-btn,
  .bh-hero-actions .bh-btn{
    font-size:11.5px;
    font-weight:650;
  }

  .bh-hero-stats{
    font-size:11.5px;
  }
  .bh-hero-stats strong{
    font-size:13px;
  }

  .bh-now-heading strong{
    font-size:14px;
  }
  .bh-now-heading > a,
  .bh-section-head > a{
    font-size:11.5px;
  }

  .bh-now-title strong{
    font-size:13px;
  }
  .bh-now-title small,
  .bh-now-prediction{
    font-size:11px;
  }

  .bh-shortcuts strong{
    font-size:12px;
  }
  .bh-shortcuts span{
    font-size:10.5px;
  }

  .bh-section-head h2,
  .bh-editorial h2,
  .bh-faq h2,
  .bh-live-vote h2{
    font-size:23px;
    line-height:1.18;
  }

  .bh-person > strong{
    font-size:13.5px;
  }
  .bh-person > span{
    font-size:11.5px;
  }

  .bh-language-featured strong{
    font-size:16px;
  }
  .bh-language-featured small{
    font-size:11.5px;
  }

  .bh-season-story-copy strong{
    font-size:13.5px;
  }
  .bh-season-story-copy small{
    font-size:11.5px;
  }

  .bh-show-copy strong{
    font-size:14.5px;
  }
  .bh-show-copy p{
    font-size:12.5px;
  }

  .bh-host-featured strong{
    font-size:13.5px;
  }
  .bh-host-featured span{
    font-size:11.5px;
  }

  .bh-editorial p{
    font-size:14px;
    line-height:1.7;
  }
  .bh-editorial aside a{
    font-size:12.5px;
  }

  .bh-faq summary,
  .bh-faq p{
    font-size:13.5px;
  }
}
/* =========================================================
   V3.7 FINAL WEIGHT + HIERARCHY POLISH
   Use standard font weights for cleaner Windows rendering.
   No layout/card-size changes.
   ========================================================= */
@media(min-width:981px){

  /* Hero: less poster-like, more editorial */
  .bh-hero h1{
    font-size:clamp(2.18rem,2.72vw,2.55rem);
    font-weight:700;
    line-height:1.05;
    letter-spacing:-.03em;
    max-width:390px;
  }

  /* Keep body calm and readable */
  .bh-hero-copy p,
  .bh-editorial p,
  .bh-show-copy p,
  .bh-faq p{
    font-weight:400;
  }

  /* Main section headings: reduce visual heaviness */
  .bh-section-head h2,
  .bh-editorial h2,
  .bh-faq h2,
  .bh-live-vote h2{
    font-size:25px;
    font-weight:700;
    line-height:1.18;
    letter-spacing:-.02em;
  }

  /* Card and item titles */
  .bh-person > strong,
  .bh-season-story-copy strong,
  .bh-host-featured strong,
  .bh-shortcuts strong{
    font-weight:600;
  }

  .bh-now-title strong,
  .bh-show-copy strong,
  .bh-language-featured strong{
    font-weight:700;
  }

  /* Buttons / links */
  .bh-btn,
  .bh-hero-actions .bh-btn,
  .bh-now-prediction,
  .bh-section-head > a,
  .bh-now-heading > a,
  .bh-editorial aside a{
    font-weight:600;
  }

  /* FAQ */
  .bh-faq summary{
    font-size:14px;
    font-weight:600;
  }

  /* Compact language cards */
  .bh-language-compact span{
    font-weight:600;
  }

  /* Keep meta information light */
  .bh-person > span,
  .bh-season-story-copy small,
  .bh-host-featured span,
  .bh-language-featured small,
  .bh-language-compact small,
  .bh-now-title small,
  .bh-shortcuts span{
    font-weight:400;
  }

  /* Editorial eyebrow remains a deliberate accent */
  .bh-kicker{
    font-weight:700;
  }
}

/* Mobile/tablet: same cleaner standard weights */
@media(max-width:980px){
  .bh-hero h1{
    font-weight:700;
  }

  .bh-section-head h2,
  .bh-editorial h2,
  .bh-faq h2,
  .bh-live-vote h2{
    font-weight:700;
  }

  .bh-person > strong,
  .bh-season-story-copy strong,
  .bh-host-featured strong,
  .bh-shortcuts strong,
  .bh-faq summary{
    font-weight:600;
  }

  .bh-btn,
  .bh-hero-actions .bh-btn,
  .bh-now-prediction,
  .bh-section-head > a{
    font-weight:600;
  }
}
/* =========================================================
   V3.8 ACTIVE-SEASON HERO CAROUSEL
   Right hero only. Left hero + typography remain unchanged.
   Desktop/tablet: 2 cards. Mobile: 1 card.
   ========================================================= */

.bh-now-slider{
  position:relative;
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  border-radius:13px;
}

.bh-now-track{
  display:flex;
  gap:10px;
  width:100%;
  height:100%;
  min-height:0;
  transform:translate3d(0,0,0);
  transition:transform .44s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}

.bh-now-slide{
  flex:0 0 calc((100% - 10px)/2);
  min-width:0;
  height:100%;
}

.bh-status.live{
  background:#dc3340;
}

.bh-status.ongoing{
  background:#11845d;
}

.bh-status.upcoming{
  background:var(--hub-soon);
}

.bh-now-vote{
  color:#ff626b!important;
}

.bh-now-arrow{
  position:absolute;
  top:42%;
  z-index:4;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(8,10,15,.78);
  color:#fff;
  font:600 22px/1 ui-sans-serif,system-ui,sans-serif;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.22);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  transform:translateY(-50%);
  transition:background .18s ease,transform .18s ease,opacity .18s ease;
}

.bh-now-arrow:hover,
.bh-now-arrow:focus-visible{
  background:rgba(120,87,236,.94);
}

.bh-now-arrow:active{
  transform:translateY(-50%) scale(.96);
}

.bh-now-prev{left:7px}
.bh-now-next{right:7px}

.bh-now-dots{
  position:absolute;
  left:50%;
  bottom:66px;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:5px 7px;
  border-radius:999px;
  background:rgba(8,10,15,.62);
  transform:translateX(-50%);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}

.bh-now-dot{
  width:6px;
  height:6px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.48);
  cursor:pointer;
  transition:width .18s ease,background .18s ease;
}

.bh-now-dot.is-active{
  width:16px;
  background:#fff;
}

.bh-now-empty{
  display:grid;
  place-items:center;
  flex:1 1 auto;
  min-height:210px;
  padding:24px;
  border:1px dashed var(--hub-line);
  border-radius:13px;
  color:var(--hub-muted);
  text-align:center;
  font-size:13px;
}

.bh-now-arrow[hidden],
.bh-now-dots[hidden]{
  display:none!important;
}

@media(max-width:680px){
  .bh-now-track{
    gap:0;
  }

  .bh-now-slide{
    flex-basis:100%;
  }

  .bh-now-arrow{
    display:none!important;
  }

  .bh-now-dots{
    bottom:66px;
  }
}

@media(prefers-reduced-motion:reduce){
  .bh-now-track{
    transition:none;
  }
}
/* =========================================================
   V3.8.1 MOBILE MANUAL SWIPE FIX
   Allow normal vertical page scrolling while making
   horizontal hero swipes reliable on mobile browsers.
   ========================================================= */
.bh-now-slider{
  touch-action:pan-y;
  -webkit-user-select:none;
  user-select:none;
}

.bh-now-track,
.bh-now-slide{
  touch-action:pan-y;
}

@media(max-width:680px){
  .bh-now-slider{
    cursor:grab;
  }

  .bh-now-slider:active{
    cursor:grabbing;
  }
}


/* =========================================================
   LIVE QUICK ACCESS — minimal homepage fallback for hero carousel
   Posters remain in the hero only. This section is intentionally
   compact so every live season is always one tap away.
   ========================================================= */
.bh-live-quick{
  padding:22px 0 2px;
}

.bh-live-quick-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:11px;
}

.bh-live-quick-head h2{
  margin:4px 0 0;
  font-size:clamp(1.28rem,2vw,1.58rem);
  line-height:1.08;
}

.bh-live-quick-head>a{
  flex:0 0 auto;
  color:var(--hub-muted);
  font-size:11px;
  font-weight:700;
  text-decoration:none;
}

.bh-live-quick-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}

.bh-live-quick-card{
  position:relative;
  display:grid;
  grid-template-columns:9px minmax(0,1fr) 15px;
  align-items:center;
  gap:9px;
  min-height:62px;
  padding:10px 11px;
  border:1px solid var(--hub-line);
  border-radius:11px;
  background:var(--hub-card);
  color:inherit;
  text-decoration:none;
  transition:border-color .16s ease,transform .16s ease,background .16s ease;
}

.bh-live-quick-card:hover,
.bh-live-quick-card:focus-visible{
  border-color:rgba(255,70,86,.5);
  transform:translateY(-1px);
}

.bh-live-quick-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#ff4052;
  box-shadow:0 0 0 4px rgba(255,64,82,.10);
}

.bh-live-quick-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}

.bh-live-quick-copy strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12.5px;
  line-height:1.25;
}

.bh-live-quick-copy small{
  color:var(--hub-muted);
  font-size:10px;
  line-height:1.2;
}


.bh-live-quick-arrow{
  color:#9f86ff;
  font-size:14px;
  line-height:1;
}

@media(max-width:680px){
  .bh-live-quick{
    padding-top:18px;
  }

  .bh-live-quick-head{
    align-items:center;
    margin-bottom:9px;
  }

  .bh-live-quick-head h2{
    font-size:1.32rem;
  }

  .bh-live-quick-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }

  .bh-live-quick-card{
    grid-template-columns:8px minmax(0,1fr) 13px;
    gap:7px;
    min-height:72px;
    padding:10px 9px;
    border-radius:10px;
  }

  .bh-live-quick-copy strong{
    white-space:normal;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    font-size:11.5px;
    line-height:1.28;
  }

  .bh-live-quick-copy small{
    font-size:9px;
  }


  .bh-live-quick-arrow{
    align-self:start;
    margin-top:2px;
  }
}

@media(max-width:360px){
  .bh-live-quick-card{
    min-height:76px;
    padding-left:8px;
    padding-right:8px;
  }
  .bh-live-quick-copy strong{font-size:11px}
}

@media(prefers-reduced-motion:reduce){
  .bh-live-quick-card{transition:none}
}
