/* ===== BEAST MODE — full-screen hero + scrolling content + fixed player ===== */
:root{
  --ink:#f4efe7;
  --ink-dim:rgba(244,239,231,.66);
  --ink-faint:rgba(244,239,231,.42);
  --glass:rgba(38,28,22,.34);
  --glass-strong:rgba(30,22,16,.52);
  --glass-brd:rgba(255,255,255,.22);
  --glass-hi:rgba(255,255,255,.10);
  --accent:#e8843c;
  --bg-dark:#160c07;
  --panel:#1e130d;
  --font-hi:"Tiro Devanagari Hindi",serif;
  --font-b:"Inter",system-ui,sans-serif;
  --font-d:"Oswald",sans-serif;
  --pad:clamp(18px,3.5vw,40px);
  --player-h:96px;
  --radius:22px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-b);
  color:var(--ink);
  background:var(--bg-dark);
  -webkit-font-smoothing:antialiased;
  /* leave room so fixed player never covers last content */
  padding-bottom:calc(var(--player-h) + 24px);
}

/* ---------- HERO (full screen) ---------- */
.hero-wrap{position:relative;height:100svh;min-height:520px;overflow:hidden}
.bg{
  position:absolute;inset:0;z-index:0;
  background:url("assets/hero.jpg") center/cover no-repeat;
  background-color:#3a1c12;
  transform:scale(1.06);
  animation:kenburns 34s ease-in-out infinite alternate;
}
@keyframes kenburns{from{transform:scale(1.06) translate(0,0)}to{transform:scale(1.14) translate(-1.6%,-1.2%)}}
.bg-shade{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(120% 80% at 50% 15%, transparent 42%, rgba(0,0,0,.5) 100%),
    linear-gradient(180deg, rgba(0,0,0,.28) 0%, transparent 34%, rgba(0,0,0,.82) 100%);
}

/* floating corners */
.corner{position:absolute;z-index:10;top:var(--pad)}
.tl{left:var(--pad)}
.tr{right:var(--pad);display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.clock{
  font-family:var(--font-d);font-weight:500;font-size:28px;letter-spacing:2px;
  text-shadow:0 2px 14px rgba(0,0,0,.6);font-variant-numeric:tabular-nums;
}
.live-top{
  position:absolute;top:calc(var(--pad) + 4px);left:50%;transform:translateX(-50%);z-index:10;
  display:flex;align-items:center;gap:8px;
  font-size:14px;letter-spacing:.5px;color:var(--ink-dim);
  background:var(--glass);border:1px solid var(--glass-brd);border-radius:999px;
  padding:7px 16px;backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);
  box-shadow:inset 0 1px 0 var(--glass-hi),0 8px 24px rgba(0,0,0,.28);
  text-shadow:0 1px 6px rgba(0,0,0,.4);
}
.live-top b{color:var(--ink);font-weight:600}
.dot{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 0 rgba(74,222,128,.6);animation:pulse 2.4s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(74,222,128,0)}100%{box-shadow:0 0 0 0 rgba(74,222,128,0)}}

.src{
  display:flex;background:var(--glass);border:1px solid var(--glass-brd);border-radius:999px;padding:4px;
  backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);
  box-shadow:inset 0 1px 0 var(--glass-hi),0 8px 24px rgba(0,0,0,.28);
}
.src-btn{
  display:flex;align-items:center;gap:7px;background:transparent;border:0;cursor:pointer;
  color:var(--ink-dim);font-family:var(--font-b);font-size:13.5px;letter-spacing:.3px;
  padding:6px 14px;border-radius:999px;transition:.18s;text-decoration:none;
}
.src-btn:hover{background:rgba(255,255,255,.16);color:var(--ink)}
.ic-spotify,.ic-yt{width:14px;height:14px;border-radius:50%;flex:0 0 auto}
.ic-spotify{background:#1db954}
.ic-yt{background:#ff0000}
.pill{
  background:var(--glass);border:1px solid var(--glass-brd);color:var(--ink);
  font-family:var(--font-b);font-size:13.5px;letter-spacing:.3px;cursor:pointer;
  padding:8px 16px;border-radius:999px;
  backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);
  box-shadow:inset 0 1px 0 var(--glass-hi),0 8px 24px rgba(0,0,0,.28);transition:.18s;
}
.pill:hover{transform:translateY(-1px)}
.pill.install{border-color:rgba(232,132,60,.6);color:var(--accent)}

/* brand */
.hero{
  position:absolute;inset:0;z-index:5;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:0 20px;pointer-events:none;
}
.brand{
  font-family:var(--font-d);font-weight:600;
  font-size:clamp(52px,12vw,168px);line-height:.92;letter-spacing:.02em;text-transform:uppercase;
  /* warm gold->amber gradient fill, tuned to the painting */
  background:linear-gradient(180deg,#ffe6b0 0%,#f6b45a 42%,#e8843c 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  /* keep it legible over the busy image */
  filter:drop-shadow(0 4px 2px rgba(0,0,0,.55)) drop-shadow(0 10px 30px rgba(0,0,0,.6));
}
.brand-sub{
  font-family:var(--font-d);font-weight:500;font-size:clamp(12px,1.5vw,19px);
  letter-spacing:.42em;text-transform:uppercase;color:#ffd9a6;
  margin-top:18px;text-shadow:0 2px 16px rgba(0,0,0,.85);
}

.scroll-hint{
  position:absolute;left:50%;bottom:calc(var(--player-h) + 18px);transform:translateX(-50%);z-index:6;
  display:flex;flex-direction:column;align-items:center;gap:2px;
  color:var(--ink-dim);text-decoration:none;font-size:11px;letter-spacing:.3em;text-transform:uppercase;
  text-shadow:0 1px 8px rgba(0,0,0,.6);
}
.scroll-hint .chev{font-size:22px;line-height:1;animation:bob 1.8s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}

/* ---------- CONTENT ---------- */
.content{max-width:900px;margin:0 auto;padding:0 var(--pad)}
.sec{padding:clamp(56px,9vw,110px) 0;border-bottom:1px solid rgba(255,255,255,.07)}
.eyebrow{font-family:var(--font-d);font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}
.sec h2{font-family:var(--font-d);font-weight:600;font-size:clamp(26px,4.4vw,46px);line-height:1.1;letter-spacing:.4px;max-width:20ch}
.lede{margin-top:20px;max-width:60ch;font-size:clamp(15px,1.8vw,18px);line-height:1.7;color:var(--ink-dim)}

/* facts */
.facts{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.facts li{display:flex;flex-direction:column;gap:4px;padding:20px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.02)}
.facts b{font-family:var(--font-d);font-size:34px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:8px}
.facts span{font-size:13px;color:var(--ink-faint);letter-spacing:.4px}
.live-pip{width:9px;height:9px;border-radius:50%;background:#4ade80;flex:0 0 auto;
  box-shadow:0 0 0 0 rgba(74,222,128,.6);animation:pulse 2.4s infinite}

/* playlist — display only (control from the player) */
.tracks-head{
  display:grid;grid-template-columns:46px 1fr 34% 26px;align-items:center;gap:16px;
  margin-top:30px;padding:0 16px 12px;border-bottom:1px solid rgba(255,255,255,.12);
  font-family:var(--font-d);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);
}
.tracks{list-style:none;margin-top:6px}
.tracks li{
  display:grid;grid-template-columns:46px 1fr 34% 26px;align-items:center;gap:16px;
  padding:15px 16px;border-radius:12px;border:1px solid transparent;transition:.15s;
}
.tracks li:nth-child(even){background:rgba(255,255,255,.02)}
.tracks li.active{background:rgba(232,132,60,.13);border-color:rgba(232,132,60,.35)}
.tl-num{font-family:var(--font-d);text-align:center;color:var(--ink-faint);font-size:16px;font-variant-numeric:tabular-nums}
.tracks li.active .tl-num{color:var(--accent)}
.tl-title{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-artist{font-size:14px;color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-state{text-align:center;color:var(--ink-faint);font-size:13px}
.tracks li.active .tl-state{color:var(--accent)}

/* socials */
.socials{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.social{
  padding:12px 22px;border:1px solid var(--glass-brd);border-radius:999px;
  color:var(--ink);text-decoration:none;font-size:15px;letter-spacing:.3px;transition:.15s;
}
.social:hover{background:var(--accent);color:#1a0e0a;border-color:var(--accent)}

/* footer */
.foot{padding:clamp(48px,8vw,90px) var(--pad);text-align:center;max-width:900px;margin:0 auto}
.foot-brand{
  font-family:var(--font-d);font-weight:600;text-transform:uppercase;letter-spacing:.04em;
  font-size:clamp(38px,7vw,68px);
  background:linear-gradient(180deg,#ffe6b0,#e8843c);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
}
.contact{margin-top:18px;font-size:14px;letter-spacing:.5px;color:var(--ink-dim)}
.contact a{color:var(--accent);text-decoration:none}
.contact a:hover{text-decoration:underline}
.foot-note{margin-top:10px;font-size:13px;color:var(--ink-faint)}
.back-top{display:inline-block;margin-top:22px;color:var(--accent);text-decoration:none;font-size:14px;letter-spacing:.3px}
.back-top:hover{text-decoration:underline}

/* ---------- FIXED PLAYER ---------- */
.player{
  position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:40;
  width:min(760px,calc(100% - 2*16px));
  display:flex;align-items:center;gap:18px;
  background:var(--glass-strong);border:1px solid var(--glass-brd);border-radius:var(--radius);
  backdrop-filter:blur(30px) saturate(1.4);-webkit-backdrop-filter:blur(30px) saturate(1.4);
  box-shadow:inset 0 1px 0 var(--glass-hi),0 24px 60px rgba(0,0,0,.55);padding:16px 22px;
}
.pl-thumb{
  width:56px;height:56px;flex:0 0 auto;border-radius:12px;object-fit:cover;
  border:1px solid var(--glass-brd);box-shadow:0 6px 16px rgba(0,0,0,.4);
  background:rgba(255,255,255,.05);
}
.pl-eq{display:inline-flex;align-items:flex-end;gap:3px;height:34px;width:34px;flex:0 0 auto;padding-bottom:2px}
.pl-eq i{width:4px;height:7px;background:var(--accent);border-radius:2px;box-shadow:0 0 8px rgba(232,132,60,.5)}
.pl-eq[data-playing="true"] i{animation:eq .9s ease-in-out infinite}
.pl-eq[data-playing="true"] i:nth-child(2){animation-delay:.15s}
.pl-eq[data-playing="true"] i:nth-child(3){animation-delay:.3s}
.pl-eq[data-playing="true"] i:nth-child(4){animation-delay:.45s}
@keyframes eq{0%,100%{height:6px}50%{height:30px}}
.pl-meta{flex:1;min-width:0}
.pl-now{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:3px}
.pl-live{display:inline-flex;align-items:center;gap:5px;font-weight:600;color:var(--ink-faint);transition:color .2s}
.pl-live.on{color:#ff5a5a;animation:blink 1.6s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.45}}
.pl-title{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-artist{font-size:13.5px;color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.pl-seek{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:12px;color:var(--ink-dim);font-variant-numeric:tabular-nums}
.pl-bar{flex:1;height:4px;border-radius:99px;background:rgba(255,255,255,.18);cursor:pointer;overflow:hidden}
.pl-bar:hover{height:6px}
.pl-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent),#ffcf6b);border-radius:99px;transition:width .25s linear}
.pl-bar:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.pl-ctrl{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.ic{background:transparent;border:0;color:var(--ink);font-size:18px;cursor:pointer;opacity:.85;transition:.15s;line-height:1}
.ic:hover{opacity:1;transform:scale(1.12)}
.play{
  width:50px;height:50px;border-radius:50%;border:0;cursor:pointer;
  background:var(--ink);color:#1a0e0a;font-size:17px;
  display:flex;align-items:center;justify-content:center;padding-left:2px;
  box-shadow:0 6px 18px rgba(0,0,0,.4);transition:transform .14s;
}
.play:hover{transform:scale(1.07)}

/* ---------- hidden YouTube audio engine ----------
 * YouTube's IFrame player hides cleanly to 1px offscreen (unlike the Spotify
 * embed widget, which we removed). Only OUR glass player is ever visible. */
#ytHost{
  /* Kept a real, playable size but shoved off-screen. Do NOT use
   * display:none / visibility:hidden / opacity:0 / 1px — YouTube's autoplay
   * policy pauses playback in fully-hidden or zero-size iframes. */
  position:fixed !important;left:-9999px !important;top:0 !important;
  width:320px !important;height:180px !important;
  pointer-events:none !important;
}
#ytHost iframe{width:320px;height:180px}

/* ---------- toast ---------- */
.toast{
  position:fixed;left:50%;bottom:calc(var(--player-h) + 26px);transform:translate(-50%,12px);z-index:70;
  background:var(--glass-strong);border:1px solid var(--glass-brd);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  color:var(--ink);padding:11px 18px;border-radius:12px;font-size:13.5px;font-weight:500;
  opacity:0;pointer-events:none;transition:.28s;max-width:88%;text-align:center;
}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .content{max-width:100%}
}
@media (max-width:640px){
  :root{--player-h:80px}
  /* hero corners: shrink + keep clear of centered live badge */
  .clock{font-size:20px;letter-spacing:1px}
  .live-top{font-size:12px;padding:6px 12px;top:calc(var(--pad) + 2px)}
  /* icon-only source pills so the top-right cluster stays narrow */
  .src{padding:3px}
  .src-btn{padding:8px;gap:0}
  .src-label{display:none}
  .ic-spotify,.ic-yt{width:16px;height:16px}
  .pill.install{padding:7px 13px;font-size:12.5px}
  .brand{font-size:clamp(46px,17vw,88px)}
  .brand-sub{letter-spacing:.3em;font-size:12px}

  /* stats: 2-up */
  .facts{grid-template-columns:repeat(2,1fr);gap:12px}
  .facts li{padding:16px}
  .facts b{font-size:27px}

  /* playlist: drop the singer column, show artist under title */
  .tracks-head{grid-template-columns:34px 1fr 24px;gap:10px;padding:0 12px 10px}
  .tracks-head .th-artist{display:none}
  .tracks li{grid-template-columns:34px 1fr 24px;gap:10px;padding:12px}
  .tl-title{white-space:normal}
  .tl-artist{grid-column:2;font-size:12.5px;margin-top:2px}

  /* player: compact, thumb + meta on top row, controls hug right */
  .player{gap:11px;padding:10px 13px;bottom:10px;width:calc(100% - 20px);border-radius:16px}
  .pl-thumb{width:46px;height:46px;border-radius:10px}
  .pl-now{font-size:10px;margin-bottom:2px}
  .pl-title{font-size:14.5px}
  .pl-artist{font-size:12px}
  .pl-seek{margin-top:6px;gap:7px;font-size:11px}
  .pl-ctrl{gap:8px}
  .ic{font-size:16px}
  .play{width:44px;height:44px;font-size:15px}
}
@media (max-width:380px){
  .pl-thumb{width:40px;height:40px}
  .pl-ctrl{gap:6px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
