:root {
  --bg: #08070d;
  --panel: #12101c;
  --panel-2: #191529;
  --text: #f7f4ff;
  --muted: #b9b2c9;
  --line: rgba(255,255,255,.11);
  --cyan: #78f3ff;
  --purple: #b56dff;
  --coral: #ff7d66;
  --green: #69e5aa;
  --max: 1180px;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  background: radial-gradient(circle at 10% 0%, #251448 0, transparent 30rem), var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}
a { color: inherit; }
img { max-width: 100%; }
.site-glow { position: fixed; width: 26rem; height: 26rem; filter: blur(110px); opacity: .14; pointer-events: none; z-index: -1; }
.glow-one { background: var(--purple); right: -10rem; top: 20rem; }
.glow-two { background: var(--cyan); left: -12rem; top: 70rem; }
.site-header {
  width: min(calc(100% - 32px), var(--max)); margin: 0 auto; min-height: 92px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.brand img { width: 49px; height: 49px; }
.brand span { display: grid; line-height: 1.05; }
.brand strong { font-size: 1.05rem; letter-spacing: .16em; }
.brand small { margin-top: 6px; color: var(--muted); letter-spacing: .04em; }
.spotify-follow-cta { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; min-height:38px; padding:0 13px; border-radius:999px; color:#06180c; background:#1ed760; text-decoration:none; font-size:.8rem; font-weight:900; white-space:nowrap; transition:transform .2s,background .2s; }
.spotify-follow-cta:hover { color:#06180c; background:#35e774; transform:translateY(-1px); }
nav { display: flex; align-items: center; gap: 15px; white-space: nowrap; }
nav a { color: var(--muted); text-decoration: none; font-weight: 700; font-size: .85rem; white-space: nowrap; }
nav a:hover { color: var(--text); }
.site-live-banner { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px; padding:11px 18px; background:linear-gradient(90deg,#ff4d6d,#b56dff,#1cc8dd); color:white; text-decoration:none; font-size:.86rem; font-weight:950; letter-spacing:.06em; text-align:center; }
.site-live-banner span { color:#fff; animation:liveBlink 1.15s infinite; }
.site-live-banner strong { color:#fff; }
.site-live-banner.queue-open { background:linear-gradient(90deg,#087c8c,#6551cc,#a653cc); }
.site-live-banner.queue-open span { animation:none; }
.artistloom-promo-bar { width:min(calc(100% - 32px),var(--max)); margin:16px auto 0; padding:18px 22px; display:flex; align-items:center; justify-content:space-between; gap:20px; border:1px solid rgba(120,243,255,.25); border-radius:18px; background:linear-gradient(100deg,rgba(31,24,51,.97),rgba(13,27,39,.96)); box-shadow:0 16px 44px rgba(0,0,0,.2); }
.artistloom-promo-bar > div { min-width:0; }
.artistloom-promo-bar .eyebrow { display:block; margin-bottom:4px; }
.artistloom-promo-bar strong { display:block; font-size:1.14rem; }
.artistloom-promo-bar p { margin:3px 0; color:var(--muted); }
.artistloom-promo-bar small { display:block; color:#9f97b1; font-size:.78rem; line-height:1.45; }
.artistloom-promo-bar .button { flex:0 0 auto; }
.is-hidden { display:none !important; }
@keyframes liveBlink { 50% { opacity:.25; } }
.nav-cta, .button {
  display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 20px;
  border: 0; border-radius: 999px; color: #0b0810; text-decoration: none; cursor: pointer;
  background: linear-gradient(105deg, var(--cyan), #a5b0ff 48%, var(--purple)); font-weight: 900;
  box-shadow: 0 12px 35px rgba(132, 116, 255, .2); transition: transform .2s, box-shadow .2s;
}
.button:hover, .nav-cta:hover { color: #0b0810; transform: translateY(-2px); box-shadow: 0 15px 40px rgba(132, 116, 255, .32); }
.button.secondary { color: var(--text); background: transparent; border: 1px solid var(--line); box-shadow: none; }
.button.small { min-height: 38px; padding: 0 15px; font-size: .88rem; }
.menu-toggle { display: none; border: 1px solid var(--line); background: var(--panel); color: var(--text); border-radius: 10px; padding: 9px 12px; }
.hero {
  width: min(calc(100% - 32px), var(--max)); margin: 44px auto 0; padding: 90px 64px;
  position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 32px;
  background: linear-gradient(130deg, rgba(22,17,37,.97), rgba(9,8,15,.94));
}
.hero::after { content: ""; position: absolute; width: 32rem; height: 32rem; right: -8rem; top: -16rem; background: conic-gradient(from 20deg, var(--cyan), var(--purple), var(--coral), var(--cyan)); border-radius: 50%; filter: blur(70px); opacity: .22; }
.hero-content { max-width: 800px; position: relative; z-index: 1; }
.eyebrow { color: var(--cyan); font-weight: 900; letter-spacing: .14em; text-transform: uppercase; font-size: .78rem; }
h1, h2, h3 { line-height: 1.08; letter-spacing: -.03em; }
h1 { max-width: 900px; margin: 16px 0 22px; font-size: clamp(3rem, 8vw, 6.7rem); }
h1 .gradient, .gradient-text { background: linear-gradient(100deg, var(--cyan), #c19aff 50%, var(--coral)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero p { max-width: 720px; color: #d2ccdd; font-size: clamp(1.05rem, 2vw, 1.28rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.truth-strip { width: min(calc(100% - 32px), 980px); margin: -26px auto 0; position: relative; z-index: 2; display: grid; grid-template-columns: auto 1fr; gap: 20px; align-items: center; padding: 23px 28px; border-radius: 18px; background: #181328; border: 1px solid rgba(181,109,255,.4); box-shadow: 0 18px 45px rgba(0,0,0,.35); }
.truth-strip strong { color: var(--green); white-space: nowrap; }
.truth-strip p { margin: 0; color: #d9d2e6; }
.section { width: min(calc(100% - 32px), var(--max)); margin: 0 auto; padding: 105px 0 0; }
.section-heading { display: flex; justify-content: space-between; gap: 30px; align-items: end; margin-bottom: 30px; }
.section-heading h2 { margin: 8px 0 0; font-size: clamp(2.2rem, 5vw, 4.3rem); }
.section-heading > p { max-width: 540px; margin: 0; color: var(--muted); }
.playlist-grid, .track-grid, .stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.playlist-card, .track-card, .feature-card, .promise-card, .form-card, .empty-card {
  border: 1px solid var(--line); border-radius: 22px; background: linear-gradient(145deg, rgba(25,21,41,.96), rgba(13,11,21,.96));
}
.playlist-card { padding: 22px; }
.playlist-cover { aspect-ratio: 1; border-radius: 16px; overflow: hidden; background: linear-gradient(135deg, #2e1764, #0d6673 48%, #b34b5f); display: grid; place-items: center; margin-bottom: 20px; }
.playlist-cover img { width: 100%; height: 100%; object-fit: cover; }
.playlist-cover span { font-size: 3.5rem; font-weight: 950; letter-spacing: -.08em; }
.playlist-card h3 { margin: 0 0 8px; font-size: 1.45rem; }
.playlist-card p { margin: 0 0 19px; color: var(--muted); }
.embed-wrap { margin-top: 18px; }
.embed-wrap iframe { width: 100%; border: 0; border-radius: 14px; min-height: 152px; }
.stat-grid { grid-template-columns: repeat(4, 1fr); margin-top: 30px; }
.stat { padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: rgba(18,16,28,.8); }
.stat strong { display: block; font-size: 2rem; color: var(--cyan); }
.stat span { color: var(--muted); font-size: .9rem; }
.feature-card { display: grid; grid-template-columns: .75fr 1.25fr; overflow: hidden; }
.feature-image { min-height: 430px; background: linear-gradient(135deg, #381d72, #075a6b, #9b3d55); }
.feature-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.feature-placeholder { min-height: inherit; display: grid; place-items: center; font-size: clamp(4rem, 12vw, 8rem); font-weight: 950; letter-spacing: -.09em; color: rgba(255,255,255,.86); }
.feature-copy { padding: clamp(28px, 5vw, 65px); display: flex; flex-direction: column; justify-content: center; }
.feature-copy h3 { font-size: clamp(2rem, 4vw, 3.7rem); margin: 9px 0 18px; }
.feature-copy p { color: #d2ccdd; }
.curator-note { padding-left: 19px; border-left: 3px solid var(--purple); font-size: 1.08rem; }
.feature-story { color: #d2ccdd; }
.featured-home-actions { display: flex; justify-content: center; margin-top: 24px; }
.feature-detail-section { padding-top: 45px; }
.featured-archive-section { padding-top: 55px; }
.featured-archive-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.featured-archive-card { overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: linear-gradient(145deg, rgba(25,21,41,.96), rgba(13,11,21,.96)); }
.featured-archive-image { display: grid; place-items: center; aspect-ratio: 4 / 3; overflow: hidden; background: linear-gradient(135deg, #381d72, #075a6b, #9b3d55); color: rgba(255,255,255,.86); text-decoration: none; }
.featured-archive-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.featured-archive-image:hover img { transform: scale(1.025); }
.featured-archive-image span { font-size: 4rem; font-weight: 950; letter-spacing: -.08em; }
.featured-archive-copy { padding: 24px; }
.featured-archive-copy h2 { margin: 8px 0 12px; font-size: 1.75rem; }
.featured-archive-copy h2 a { color: var(--text); text-decoration: none; }
.featured-archive-copy h2 a:hover { color: var(--cyan); }
.featured-archive-copy p { margin: 0; color: var(--muted); }
.feature-card-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.live-page-hero { position:relative; overflow:hidden; padding:75px 40px; border:1px solid var(--line); border-radius:28px; background:radial-gradient(circle at 75% 30%,rgba(181,109,255,.24),transparent 25rem),linear-gradient(145deg,rgba(25,21,41,.96),rgba(9,8,15,.96)); }
.live-primary-actions { justify-content:center; }
.live-status-section { padding-top:55px; }
.live-now-playing { display:grid; grid-template-columns:minmax(180px,.6fr) 1.4fr; gap:clamp(26px,6vw,70px); align-items:center; padding:clamp(28px,6vw,68px); border:1px solid rgba(120,243,255,.28); border-radius:26px; background:linear-gradient(135deg,rgba(17,14,29,.98),rgba(25,17,48,.96)); box-shadow:0 30px 80px rgba(0,0,0,.28); }
.live-now-playing h2 { margin:9px 0; font-size:clamp(2.2rem,5vw,4.8rem); }
.live-now-playing p { margin:0 0 10px; color:var(--muted); font-size:1.12rem; }
.live-handle { color:var(--cyan)!important; font-weight:850; }
.live-follow-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.live-pulse { min-height:230px; display:flex; justify-content:center; align-items:center; gap:10px; }
.live-pulse span { width:18px; height:35%; border-radius:999px; background:linear-gradient(var(--cyan),var(--purple),var(--coral)); box-shadow:0 0 26px rgba(120,243,255,.3); animation:liveWave 1.15s ease-in-out infinite; }
.live-pulse span:nth-child(2),.live-pulse span:nth-child(4) { height:62%; animation-delay:.12s; }
.live-pulse span:nth-child(3) { height:92%; animation-delay:.24s; }
.live-pulse span:nth-child(5) { animation-delay:.36s; }
@keyframes liveWave { 50% { transform:scaleY(.45); opacity:.55; } }
.live-info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:22px; }
.live-leaderboard-section { padding-top:28px; }
.live-leaderboard-card { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr); gap:clamp(26px,6vw,70px); align-items:center; padding:clamp(28px,6vw,58px); border:1px solid rgba(181,109,255,.35); border-radius:26px; background:radial-gradient(circle at 88% 30%,rgba(181,109,255,.18),transparent 24rem),linear-gradient(135deg,rgba(17,14,29,.98),rgba(19,15,37,.98)); }
.live-leaderboard-card h2 { margin:8px 0 12px; font-size:clamp(2rem,4vw,3.5rem); line-height:1; }
.live-leaderboard-card p { max-width:590px; margin:0 0 23px; color:var(--muted); }
.leaderboard-preview { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.leaderboard-preview li { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; padding:13px; border:1px solid var(--line); border-radius:14px; background:rgba(0,0,0,.18); }
.leaderboard-preview strong,.leaderboard-preview small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.leaderboard-preview small { color:var(--muted); font-size:.84rem; }
.leaderboard-preview b { color:var(--cyan); font-size:1.2rem; text-align:right; }
.leaderboard-preview b small { display:inline; color:var(--muted); font-size:.74rem; }
.leaderboard-rank { display:inline-grid; place-items:center; min-width:42px; height:34px; padding:0 8px; border-radius:9px; background:linear-gradient(120deg,rgba(120,243,255,.22),rgba(181,109,255,.24)); color:var(--text); font-size:.78rem; font-weight:900; }
.leaderboard-empty { display:block!important; color:var(--muted); }
.leaderboard-hero { position:relative; overflow:hidden; padding:75px 40px; border:1px solid var(--line); border-radius:28px; background:radial-gradient(circle at 75% 30%,rgba(181,109,255,.26),transparent 25rem),radial-gradient(circle at 8% 85%,rgba(120,243,255,.18),transparent 20rem),linear-gradient(145deg,rgba(25,21,41,.96),rgba(9,8,15,.96)); }
.leaderboard-section { padding-top:42px; }
.leaderboard-champion { position:relative; isolation:isolate; overflow:hidden; display:grid; place-items:center; min-height:390px; padding:clamp(34px,7vw,78px); border:1px solid rgba(120,243,255,.38); border-radius:28px; background:radial-gradient(circle at 50% 28%,rgba(120,243,255,.16),transparent 16rem),radial-gradient(circle at 88% 72%,rgba(181,109,255,.22),transparent 22rem),linear-gradient(135deg,rgba(12,14,28,.98),rgba(29,15,47,.98)); text-align:center; box-shadow:0 25px 80px rgba(0,0,0,.35); }
.champion-content { position:relative; z-index:2; }
.champion-content h2 { margin:7px 0 4px; font-size:clamp(3rem,9vw,6.4rem); line-height:.9; letter-spacing:-.06em; }
.champion-content > p { margin:0 0 25px; color:var(--muted); font-size:clamp(1.1rem,2vw,1.4rem); }
.champion-stats { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin:0 auto 27px; }
.champion-stats div { min-width:118px; padding:12px 15px; border:1px solid var(--line); border-radius:13px; background:rgba(5,6,12,.45); }
.champion-stats b,.champion-stats span { display:block; }
.champion-stats b { color:var(--cyan); font-size:1.45rem; }
.champion-stats span { color:var(--muted); font-size:.75rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.champion-number { position:absolute; z-index:1; right:clamp(20px,6vw,75px); bottom:-.18em; color:rgba(255,255,255,.045); font-size:clamp(10rem,30vw,27rem); font-weight:900; line-height:1; }
.champion-orbit { position:absolute; inset:0; z-index:0; }
.champion-orbit i { position:absolute; display:block; border:1px solid rgba(120,243,255,.24); border-radius:50%; }
.champion-orbit i:nth-child(1) { width:460px; height:460px; top:50%; left:50%; transform:translate(-50%,-50%); box-shadow:0 0 80px rgba(120,243,255,.1) inset; }
.champion-orbit i:nth-child(2) { width:650px; height:270px; top:52%; left:50%; transform:translate(-50%,-50%) rotate(-18deg); border-color:rgba(181,109,255,.22); }
.champion-orbit i:nth-child(3) { width:720px; height:310px; top:49%; left:50%; transform:translate(-50%,-50%) rotate(22deg); border-color:rgba(120,243,255,.13); }
.leaderboard-list { display:grid; gap:12px; margin-top:20px; }
.leaderboard-entry { display:grid; grid-template-columns:auto minmax(160px,1fr) repeat(3,minmax(80px,auto)) auto; align-items:center; gap:clamp(12px,2vw,25px); padding:17px clamp(16px,3vw,27px); border:1px solid var(--line); border-radius:17px; background:linear-gradient(110deg,rgba(20,17,32,.96),rgba(13,12,21,.96)); }
.leaderboard-entry.is-champion { border-color:rgba(120,243,255,.3); }
.leaderboard-song h2,.leaderboard-song p { margin:0; }
.leaderboard-song h2 { font-size:1.1rem; }
.leaderboard-song p { color:var(--muted); }
.leaderboard-metric { text-align:center; }
.leaderboard-metric b,.leaderboard-metric span { display:block; }
.leaderboard-metric b { color:var(--cyan); font-size:1.16rem; }
.leaderboard-metric span { color:var(--muted); font-size:.69rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.live-info-card { padding:25px; border:1px solid var(--line); border-radius:18px; background:rgba(18,16,28,.84); }
.live-info-card > span { color:var(--cyan); font-weight:950; }
.live-info-card h3 { margin:10px 0 8px; }
.live-info-card p { margin:0; color:var(--muted); }
.track-card { padding: 22px; }
.track-card small { color: var(--cyan); text-transform: uppercase; letter-spacing: .1em; font-weight: 900; }
.track-card h3 { margin: 9px 0 3px; }
.track-card p { color: var(--muted); }
.card-link { display: inline-flex; margin-top: 12px; color: var(--cyan); font-size: .9rem; font-weight: 850; text-decoration: none; }
.card-link:hover { text-decoration: underline; }
.promise-card { padding: clamp(30px, 5vw, 65px); display: grid; grid-template-columns: .9fr 1.1fr; gap: 60px; }
.promise-card h2 { font-size: clamp(2.3rem, 5vw, 4.5rem); margin: 7px 0 0; }
.promise-list { display: grid; gap: 16px; }
.promise { display: grid; grid-template-columns: 38px 1fr; gap: 13px; align-items: start; }
.promise span { width: 34px; height: 34px; display: grid; place-items: center; background: rgba(105,229,170,.12); color: var(--green); border-radius: 50%; font-weight: 900; }
.promise strong { display: block; margin-bottom: 4px; }
.promise p { margin: 0; color: var(--muted); }
.page-hero { width: min(calc(100% - 32px), 900px); margin: 60px auto 0; text-align: center; }
.page-hero h1 { font-size: clamp(2.8rem, 7vw, 5.3rem); margin-inline: auto; }
.page-hero p { color: var(--muted); font-size: 1.12rem; }
.form-card { width: min(calc(100% - 32px), 850px); margin: 42px auto 100px; padding: clamp(24px, 5vw, 52px); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.field { display: grid; gap: 8px; }
.field.full { grid-column: 1 / -1; }
label { font-weight: 800; }
label small { color: var(--muted); font-weight: 500; }
input, select, textarea {
  width: 100%; border: 1px solid var(--line); border-radius: 12px; padding: 13px 14px;
  background: #0d0b14; color: var(--text); font: inherit; outline: none;
}
input:focus, select:focus, textarea:focus { border-color: var(--purple); box-shadow: 0 0 0 3px rgba(181,109,255,.13); }
textarea { min-height: 130px; resize: vertical; }
.checkbox { display: grid; grid-template-columns: 22px 1fr; gap: 11px; align-items: start; }
.checkbox input { margin-top: 5px; }
.help { color: var(--muted); font-size: .88rem; }
.notice, .errors { padding: 16px 18px; border-radius: 12px; margin-bottom: 24px; }
.notice { background: rgba(105,229,170,.1); border: 1px solid rgba(105,229,170,.32); }
.errors { background: rgba(255,125,102,.1); border: 1px solid rgba(255,125,102,.4); }
.errors ul { margin: 0; padding-left: 20px; }
.submission-rules { margin: 0 0 28px; padding: 18px 20px; border: 1px solid rgba(120,243,255,.24); border-radius: 14px; background: rgba(120,243,255,.055); }
.submission-rules strong { display: block; margin-bottom: 8px; }
.submission-rules ul { margin: 0; padding-left: 20px; color: var(--muted); }
.submission-rules li + li { margin-top: 6px; }
.submission-path-note { width:min(calc(100% - 32px),850px); margin:28px auto 0; padding:18px 20px; border:1px solid rgba(181,109,255,.42); border-radius:16px; background:linear-gradient(135deg,rgba(181,109,255,.1),rgba(120,243,255,.055)); }
.submission-path-note strong { display:block; margin-bottom:5px; color:var(--text); }
.submission-path-note p { margin:0; color:var(--muted); }
.submission-path-note a { color:var(--cyan); font-weight:850; text-decoration:none; }
.submission-path-note a:hover { text-decoration:underline; }
.submission-path-note a.button { color:#0b0810; text-decoration:none; }
.submission-path-note a.button.secondary { color:var(--text); }
.submission-path-note a.button:hover { text-decoration:none; }
.submission-path-note .hero-actions { margin-top:14px; }
.submission-path-note.wide { width:min(calc(100% - 32px),900px); }
.listener-choice-grid { width: min(calc(100% - 32px), var(--max)); margin: 38px auto 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.listener-choice { display: block; padding: 25px; border: 1px solid var(--line); border-radius: 18px; background: rgba(18,16,28,.88); color: var(--text); text-decoration: none; transition: transform .18s ease, border-color .18s ease; }
.listener-choice:hover, .listener-choice.active { transform: translateY(-2px); border-color: rgba(120,243,255,.55); }
.listener-choice span { display: block; margin-bottom: 9px; color: var(--cyan); font-size: .78rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.listener-choice h2, .listener-choice h3 { margin: 0 0 8px; }
.listener-choice p { margin: 0; color: var(--muted); }
.feedback-group[hidden] { display: none; }
.honeypot { position: absolute !important; left: -9999px !important; }
.empty-card { padding: 36px; color: var(--muted); text-align: center; }
.site-footer { width: min(calc(100% - 32px), var(--max)); margin: 110px auto 0; padding: 38px 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr auto; gap: 18px; color: var(--muted); }
.site-footer strong { color: var(--text); letter-spacing: .14em; }
.site-footer p { margin: 4px 0; }
.site-footer small { grid-column: 1 / -1; }
.footer-links { display: flex; flex-wrap: wrap; gap: 20px; }
.footer-links a { text-decoration: none; }
@media (max-width: 1180px) {
  .site-header { position:relative; gap:12px; }
  .menu-toggle { display:block; }
  nav { display:none; position:absolute; z-index:20; top:78px; right:0; width:min(320px,calc(100vw - 32px)); padding:18px; flex-direction:column; align-items:stretch; border:1px solid var(--line); border-radius:16px; background:#151121; box-shadow:0 20px 50px rgba(0,0,0,.45); }
  nav.open { display:flex; }
  nav a { padding:8px; }
}
@media (max-width: 850px) {
  .hero { padding: 70px 28px; }
  .truth-strip { grid-template-columns: 1fr; gap: 5px; }
  .section-heading, .promise-card { grid-template-columns: 1fr; display: grid; }
  .playlist-grid, .track-grid, .listener-choice-grid, .featured-archive-grid { grid-template-columns: 1fr 1fr; }
  .stat-grid { grid-template-columns: 1fr 1fr; }
  .feature-card { grid-template-columns: 1fr; }
  .live-now-playing { grid-template-columns:1fr; }
  .live-leaderboard-card { grid-template-columns:1fr; }
  .leaderboard-entry { grid-template-columns:auto minmax(0,1fr) repeat(3,auto); }
  .live-pulse { min-height:150px; }
  .live-info-grid { grid-template-columns:1fr; }
  .feature-image { min-height: 330px; max-height: 480px; }
}
@media (max-width: 580px) {
  .artistloom-promo-bar { align-items:flex-start; flex-direction:column; }
  .artistloom-promo-bar .button { width:100%; }
  .site-header { min-height: 78px; gap:10px; }
  .brand { gap:8px; }
  .brand img { width: 40px; height: 40px; }
  .brand strong { font-size: .9rem; }
  .brand small { display:none; }
  .hero { margin-top: 20px; padding: 58px 22px; border-radius: 23px; }
  .live-page-hero { padding:48px 22px; }
  .leaderboard-entry { grid-template-columns:auto minmax(0,1fr); }
  .leaderboard-metric { display:flex; align-items:baseline; justify-content:space-between; text-align:left; }
  .leaderboard-entry .button { grid-column:1/-1; }
  .champion-orbit i:nth-child(1) { width:340px; height:340px; }
  .playlist-grid, .track-grid, .form-grid, .listener-choice-grid, .featured-archive-grid { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .section { padding-top: 80px; }
  .stat-grid { gap: 10px; }
  .stat { padding: 16px; }
  .site-footer { grid-template-columns: 1fr; }
  .site-footer small { grid-column: auto; }
}
@media (max-width: 400px) {
  .site-header { gap:8px; }
  .spotify-label-short { display:none; }
  .spotify-label-mini { display:inline; }
  .spotify-follow-cta { padding:0 10px; }
  .brand strong { letter-spacing:.1em; }
}
