:root{--red:#ff1a3c;--red2:#b0001e;--bg:#07040a;--ink:#f6eef0;--mut:#b9a3a8;--card:#140a0e}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:400 17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;overflow-x:hidden;
background-image:radial-gradient(ellipse 80% 40% at 50% 0%,#3a0010 0%,transparent 70%),linear-gradient(180deg,transparent 60%,#120208)}
a{color:var(--red);text-decoration:none}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,.logo,.btn,.kicker,.onair{font-family:"Arial Black","Helvetica Neue",Impact,sans-serif;text-transform:uppercase;letter-spacing:.02em}
h2{font-size:clamp(2rem,7vw,3.4rem);line-height:1;margin-bottom:.4em}
h2 span{color:var(--red);text-shadow:0 0 18px rgba(255,26,60,.7)}
.nav{position:fixed;inset:0 0 auto;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:.8rem 1.1rem;background:linear-gradient(#07040acc,#07040a00);backdrop-filter:blur(6px)}
.logo{color:var(--ink);font-size:1.4rem}.logo span{color:var(--red);margin-left:.15em}
.nav nav{display:flex;gap:1rem;font-size:.85rem;font-weight:700;text-transform:uppercase}
.nav nav a{color:var(--ink);opacity:.85}.nav nav a:hover{color:var(--red)}
@media(max-width:620px){.nav nav a:nth-child(n+4){display:none}}
.hero{position:relative;min-height:100svh;display:grid;align-items:end;overflow:hidden}
.hero picture,.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#07040a55 0%,transparent 30%,#07040acc 72%,var(--bg) 100%),radial-gradient(circle at 50% 110%,rgba(255,26,60,.35),transparent 60%)}
.hero-txt{position:relative;z-index:2;padding:0 1.3rem 3.2rem;text-align:center}
.kicker{color:var(--red);font-size:.8rem;letter-spacing:.3em}
.neon{font-size:clamp(4.5rem,24vw,12rem);line-height:.9;color:#fff;text-shadow:0 0 6px #fff,0 0 18px var(--red),0 0 40px var(--red),0 0 80px var(--red2);animation:flick 6s infinite;
-webkit-box-reflect:below -.15em linear-gradient(transparent 55%,rgba(255,255,255,.22))}
@keyframes flick{0%,92%,96%,100%{opacity:1}94%{opacity:.6}95%{opacity:.95}}
.tag{font-size:clamp(1.1rem,4.5vw,1.6rem);font-style:italic;margin:1.6rem 0 1.3rem;color:#ffd7de}
.btns{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:.85rem 1.4rem;border:2px solid var(--red);color:var(--ink);border-radius:999px;font-size:.9rem;transition:.2s;box-shadow:0 0 14px rgba(255,26,60,.35) inset}
.btn:hover{background:var(--red);color:#fff;box-shadow:0 0 28px var(--red)}
.btn.primary{background:var(--red);color:#fff;box-shadow:0 0 24px rgba(255,26,60,.7)}
.btn.big{font-size:clamp(.85rem,4vw,1.2rem);padding:1rem 1.6rem;word-break:break-all}
@media(min-width:900px){.hero{grid-template-columns:1fr 1fr;align-items:center}.hero picture{left:auto;width:50%}.hero img{position:static}
.hero::after{background:linear-gradient(90deg,var(--bg) 45%,#07040a99 55%,transparent 75%),linear-gradient(0deg,var(--bg),transparent 25%)}.hero-txt{text-align:left;padding:0 0 0 7vw}.btns{justify-content:flex-start}}
.wrap{max-width:1160px;margin:0 auto;padding:4.5rem 1.2rem;position:relative}
.wrap+.wrap::before{content:"";position:absolute;top:0;left:1.2rem;right:1.2rem;height:1px;background:linear-gradient(90deg,transparent,var(--red),transparent);opacity:.5}
.sub{color:var(--mut);margin:-.2rem 0 1.6rem}
.grid{display:grid;gap:1.1rem}
.rel{grid-template-columns:repeat(2,1fr)}
@media(min-width:900px){.rel{grid-template-columns:repeat(4,1fr)}}
.card{background:var(--card);border-radius:14px;overflow:hidden;color:var(--ink);transition:.25s;box-shadow:0 10px 30px #000a}
.card img{aspect-ratio:1;object-fit:cover;transition:.4s}
.card:hover{transform:translateY(-4px);box-shadow:0 0 30px rgba(255,26,60,.45)}
.card:hover img{transform:scale(1.04)}
.card h3{font-size:.95rem;padding:.8rem .9rem .1rem;line-height:1.2}
.card time{display:block;padding:0 .9rem .9rem;color:var(--red);font-size:.85rem;font-weight:700}
.album{display:grid;gap:2rem;align-items:center}
.album img{border-radius:12px;box-shadow:0 0 0 1px #ff1a3c55,0 30px 60px -10px rgba(255,26,60,.45);-webkit-box-reflect:below 6px linear-gradient(transparent 75%,rgba(255,255,255,.15))}
.album p{color:var(--mut);margin-bottom:1.3rem}.album .btns{justify-content:flex-start}
@media(min-width:800px){.album{grid-template-columns:420px 1fr}}
.vids{grid-template-columns:1fr}@media(min-width:700px){.vids{grid-template-columns:1fr 1fr}}
figcaption{font-weight:700;margin-top:.5rem;text-transform:uppercase;font-size:.9rem}
.yt{position:relative;aspect-ratio:16/9;background:#000 center/cover;border-radius:12px;overflow:hidden;cursor:pointer;box-shadow:0 0 0 1px #ff1a3c44}
.yt::before{content:"";position:absolute;inset:0;background:linear-gradient(#0000,#000a)}
.yt button{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:72px;height:50px;border:0;border-radius:14px;background:var(--red);cursor:pointer;box-shadow:0 0 30px var(--red)}
.yt button::after{content:"";position:absolute;left:29px;top:15px;border:10px solid transparent;border-left:17px solid #fff;border-right:0}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.center{text-align:center;margin-top:2rem}
.radio{text-align:center;background:radial-gradient(ellipse at center,#2a0009 0%,transparent 70%)}
.onair{display:inline-flex;gap:.5rem;align-items:center;color:var(--red);border:1px solid var(--red);padding:.3rem .8rem;border-radius:6px;font-size:.8rem;margin-bottom:1rem;box-shadow:0 0 12px rgba(255,26,60,.5)}
.onair i{width:9px;height:9px;border-radius:50%;background:var(--red);animation:pulse 1.4s infinite}
@keyframes pulse{50%{opacity:.2}}
.np{color:#ffd7de;margin-bottom:1.2rem;min-height:1.6em}
audio{width:100%;max-width:520px;margin:0 auto 1rem;display:block;filter:invert(1) hue-rotate(160deg) saturate(2)}
.links{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem}
.links a{padding:1.1rem;text-align:center;border:1px solid #ff1a3c66;border-radius:12px;color:var(--ink);font-weight:800;text-transform:uppercase;background:var(--card);transition:.2s}
.links a:hover{background:var(--red);box-shadow:0 0 24px var(--red)}
.bio p{max-width:720px;font-size:1.1rem;margin-bottom:1rem;color:#e6d6da}
.booking{text-align:center}.booking p{color:var(--mut);margin-bottom:1.3rem}
footer{text-align:center;padding:2.5rem 1rem;color:var(--mut);font-size:.85rem;border-top:1px solid #ff1a3c33}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.spotify{text-align:center}
.spotify .sub{margin-bottom:1.4rem}
.spotify-embed{width:100%;max-width:720px;margin:0 auto;border-radius:14px;overflow:hidden;background:var(--card);box-shadow:0 0 0 1px #ff1a3c55,0 0 28px rgba(255,26,60,.35);line-height:0}
.spotify-embed iframe{display:block;width:100%;border:0;border-radius:12px;min-height:352px}
@media(max-width:620px){.spotify-embed{max-width:100%;border-radius:12px}.spotify-embed iframe{border-radius:12px}}

/* merch */
.merch-grid{grid-template-columns:repeat(2,1fr)}@media(min-width:800px){.merch-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:420px){.merch-grid{grid-template-columns:1fr}}
.merch-card{display:flex;flex-direction:column;box-shadow:0 0 0 1px #ff1a3c33,0 10px 30px #000a}
.merch-card .merch-note{color:var(--mut);font-size:.8rem;padding:.3rem .9rem .8rem;flex:1}
.merch-card .btn{margin:0 .9rem 1rem;text-align:center}
.merch-price{font-weight:800;font-size:1.15rem;color:#fff;margin:.2rem 0 .8rem;text-shadow:0 0 8px rgba(255,40,60,.6)}
.merch-opts{display:flex;gap:.5rem;margin:0 0 .8rem}
.merch-opts select{flex:1;background:#140608;color:#fff;border:1px solid #ff2a3c;border-radius:8px;padding:.55rem .5rem;font:inherit}
.merch-opts select.need{box-shadow:0 0 0 2px #ff2a3c,0 0 12px #ff2a3c}

.explicit{display:inline-block;font-size:.65rem;font-weight:700;line-height:1;padding:.2em .4em;margin-left:.35em;border-radius:3px;background:#ffd7de;color:#111;vertical-align:middle}
.soon{font-size:.85rem;color:#ffd7de;margin:.2rem 0 0}

.merch-swatch{display:flex;gap:.4rem;justify-content:center;margin:.5rem 0}.merch-swatch .sw{font:inherit;font-size:.75rem;padding:.2rem .7rem;border-radius:999px;border:1px solid #888;cursor:pointer;background:#111;color:#eee}.merch-swatch .sw[data-shade=light]{background:#f3efe6;color:#111}.merch-swatch .sw.on{outline:2px solid #e10600;outline-offset:1px}
