/* ============================================================
   HARD BASS CREW — shared stylesheet
   ============================================================ */
:root{
  --ink:#0b0b0c;--panel:#101012;--bone:#eeece6;--muted:#7c7c82;
  --acid:#d8ff47;--line:rgba(238,236,230,.14);--line2:rgba(238,236,230,.07);
  --pad:clamp(22px,6vw,120px);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--bone);font-family:"Space Grotesk",system-ui,sans-serif;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
body::after{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.025;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
main{flex:1}
h1,h2,h3,.display{font-family:"Archivo",sans-serif;font-weight:900;text-transform:uppercase;line-height:.94;letter-spacing:-.02em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{padding-left:var(--pad);padding-right:var(--pad)}
.label{font-family:"Archivo";font-weight:600;text-transform:uppercase;letter-spacing:.32em;font-size:.68rem;color:var(--muted)}
.accent{color:var(--acid)}
.block{padding:clamp(64px,10vw,150px) 0}
.muted{color:var(--muted)}

/* ticker */
.marq{border-bottom:1px solid var(--line2);overflow:hidden;white-space:nowrap}
.marq__t{display:inline-flex;gap:3.5rem;padding:11px 0;font-family:"Archivo";font-weight:600;letter-spacing:.3em;text-transform:uppercase;font-size:.66rem;color:var(--muted);animation:mv 42s linear infinite}
.marq__t span{display:inline-flex;gap:3.5rem}
@keyframes mv{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* nav (injected) */
header.nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px var(--pad);background:rgba(11,11,12,.62);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:.35s}
header.nav.scrolled{border-bottom-color:var(--line2);background:rgba(11,11,12,.92)}
.brand{font-family:"Archivo";font-weight:900;font-size:1.05rem;letter-spacing:.02em;display:flex;align-items:center;gap:10px;text-transform:uppercase;white-space:nowrap}
.brand .dot{width:7px;height:7px;background:var(--acid);border-radius:50%}
nav.links{display:flex;gap:30px;align-items:center}
nav.links a{font-family:"Archivo";font-weight:600;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);transition:.2s;white-space:nowrap}
nav.links a:hover,nav.links a.active{color:var(--bone)}
.nav-right{display:flex;align-items:center;gap:22px}
.lang{display:flex;gap:8px;align-items:center;font-family:"Archivo";font-weight:700;font-size:.7rem;letter-spacing:.1em}
.lang button{background:none;border:0;color:var(--muted);cursor:pointer;font:inherit;padding:2px 3px;transition:.2s}
.lang button.on{color:var(--acid)}
.lang span{color:var(--line)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer}
.burger span{width:24px;height:2px;background:var(--bone)}

.btn{display:inline-flex;align-items:center;gap:9px;font-family:"Archivo";font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;padding:14px 26px;border:1px solid var(--line);color:var(--bone);background:transparent;cursor:pointer;transition:.25s;text-align:center}
.btn:hover{border-color:var(--bone);background:var(--bone);color:var(--ink)}
.btn--acid{border-color:var(--acid);color:var(--acid)}
.btn--acid:hover{background:var(--acid);border-color:var(--acid);color:var(--ink)}

/* section head */
.shead{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:end;margin-bottom:52px}
.shead h2{font-size:clamp(2rem,6.5vw,5rem)}
.shead .num{font-family:"Archivo";font-weight:600;color:var(--muted);font-size:.72rem;letter-spacing:.2em;padding-bottom:10px}
.shead .rl{grid-column:1/-1;height:1px;background:var(--line);margin-top:22px}

/* page hero (sub pages) */
.phero{padding:clamp(60px,10vw,130px) 0 clamp(30px,5vw,60px);border-bottom:1px solid var(--line)}
.phero .label{display:block;margin-bottom:18px}
.phero h1{font-size:clamp(3rem,11vw,9rem)}
.phero p{color:var(--muted);max-width:52ch;margin-top:22px;font-size:1.05rem}

/* home hero */
.hero{min-height:86vh;display:flex;flex-direction:column;justify-content:center;padding-top:56px;padding-bottom:56px}
.hero .top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:32px;flex-wrap:wrap;gap:14px}
.hero h1{font-size:clamp(3.6rem,16vw,15rem)}
.hero .rule{height:1px;background:var(--line);margin:28px 0}
.hero .bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.hero .tagline{font-family:"Archivo";font-weight:800;text-transform:uppercase;font-size:clamp(1rem,2.4vw,1.7rem);letter-spacing:-.01em}
.hero .tagline em{font-style:normal;color:var(--acid)}
.hero .sub{max-width:46ch;color:var(--muted);font-size:1rem;margin-top:14px}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap}
.tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.tags span{font-family:"Archivo";font-weight:600;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);padding:5px 11px}

/* listen / player */
.listen{display:grid;gap:24px}
.player{border:1px solid var(--line2);background:var(--panel);padding:10px}
.player iframe{display:block;width:100%;border:0}

/* video — lite youtube facade */
.videos{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px}
.videos.two{grid-template-columns:1fr 1fr}
.vcard .vt{font-family:"Archivo";font-weight:800;text-transform:uppercase;font-size:1rem;letter-spacing:-.01em;margin-top:14px}
.vcard .vm{color:var(--muted);font-size:.78rem;letter-spacing:.04em;margin-top:3px}
.yt{position:relative;aspect-ratio:16/9;background:#000 center/cover no-repeat;border:1px solid var(--line2);cursor:pointer;overflow:hidden;transition:.25s}
.yt:hover{border-color:var(--acid)}
.yt::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,12,.05),rgba(11,11,12,.55))}
.yt::after{content:"▶";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.6rem;color:var(--ink);}
.yt .pbtn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;border-radius:50%;background:var(--acid);display:flex;align-items:center;justify-content:center;color:var(--ink);font-size:1.4rem;z-index:2;transition:transform .2s;box-shadow:0 0 34px rgba(216,255,71,.35)}
.yt:hover .pbtn{transform:translate(-50%,-50%) scale(1.08)}
.yt.loaded::before,.yt.loaded::after,.yt.loaded .pbtn{display:none}
.yt.loaded{cursor:default}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pl-card{display:flex;flex-direction:column;justify-content:space-between;gap:18px;border:1px solid var(--line2);background:var(--panel);padding:24px;min-height:150px;transition:.25s}
.pl-card:hover{border-color:var(--bone);background:#141417}
.pl-card b{font-family:"Archivo";font-weight:900;text-transform:uppercase;font-size:1.3rem;letter-spacing:-.01em}
.pl-card span{color:var(--muted);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}
.pl-card .arr{align-self:flex-end;color:var(--acid);font-size:1.2rem}
.side{display:flex;flex-wrap:wrap;gap:26px;justify-content:space-between;align-items:center;color:var(--muted)}
.stat{display:flex;gap:34px;flex-wrap:wrap}
.stat b{font-family:"Archivo";font-weight:900;font-size:1.8rem;color:var(--bone);display:block;line-height:1}
.stat em{font-style:normal;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase}

/* roster */
.roster{display:flex;flex-wrap:wrap}
.roster a{font-family:"Archivo";font-weight:800;text-transform:uppercase;font-size:clamp(1rem,3.1vw,2rem);letter-spacing:-.01em;color:var(--bone);padding:6px 24px 6px 0;position:relative;transition:.2s;line-height:1.2}
.roster a::after{content:"·";color:var(--muted);position:absolute;right:8px}
.roster a:last-child::after{content:""}
.roster a:hover{color:var(--acid)}
.roster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1px;background:var(--line2);border:1px solid var(--line2)}
.rcard{background:var(--ink);padding:22px;display:flex;flex-direction:column;gap:6px;transition:.25s;min-height:120px}
.rcard:hover{background:var(--panel)}
.rcard b{font-family:"Archivo";font-weight:800;text-transform:uppercase;font-size:1.15rem;letter-spacing:-.01em}
.rcard span{color:var(--muted);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.rcard .go{margin-top:auto;color:var(--muted);font-size:.8rem;transition:.2s}
.rcard:hover .go{color:var(--acid)}
.rcard .acts{margin-top:auto;display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;padding-top:12px}
.rcard .acts a{font-family:"Archivo";font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;transition:.2s}
.rcard .acts .go2{color:var(--muted)}
.rcard:hover .acts .go2{color:var(--bone)}
.rcard .acts .book{color:var(--acid);border-bottom:1px solid var(--line)}
.rcard .acts .book:hover{border-color:var(--acid)}

/* store */
.store{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1px;background:var(--line2);border:1px solid var(--line2)}
.prod{background:var(--ink);display:flex;flex-direction:column}
.prod .img{aspect-ratio:1;background:linear-gradient(160deg,#141417,#0b0b0d);display:flex;align-items:center;justify-content:center;position:relative}
.prod .img b{font-family:"Archivo";font-weight:900;text-transform:uppercase;color:rgba(238,236,230,.06);font-size:1.5rem;transform:rotate(-5deg);text-align:center;padding:0 12px}
.prod .img .tg{position:absolute;top:14px;left:14px;font-family:"Archivo";font-weight:600;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);padding:4px 8px}
.prod .pi{padding:18px;border-top:1px solid var(--line2);display:flex;justify-content:space-between;align-items:center}
.prod .pn{font-family:"Archivo";font-weight:800;text-transform:uppercase;font-size:.95rem}
.prod .price{font-family:"Archivo";font-weight:900;color:var(--muted);font-size:.85rem}

/* join */
.join{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(30px,6vw,90px);align-items:center;border:1px solid var(--line);padding:clamp(34px,5vw,70px)}
.join .big{font-family:"Archivo";font-weight:900;text-transform:uppercase;font-size:clamp(1.8rem,4.6vw,3.6rem);line-height:1.02;letter-spacing:-.02em}
.join p{color:var(--muted);margin-top:20px;max-width:46ch}
.join .actions{display:flex;flex-direction:column;gap:14px}

/* form */
.form{display:grid;gap:18px;max-width:640px}
.form .field{display:flex;flex-direction:column;gap:8px}
.form label{font-family:"Archivo";font-weight:600;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.form input,.form textarea,.form select{background:var(--panel);border:1px solid var(--line);color:var(--bone);padding:14px 16px;font-family:inherit;font-size:1rem}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--acid)}
.form textarea{min-height:150px;resize:vertical}

/* distro strip */
.distro{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0;display:flex;flex-wrap:wrap;gap:14px 40px;align-items:center;justify-content:center}
.distro span{font-family:"Archivo";font-weight:800;text-transform:uppercase;font-size:clamp(.9rem,2vw,1.3rem);letter-spacing:.02em;color:var(--muted);transition:.2s}
.distro span:hover{color:var(--bone)}

/* newsletter */
.news{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;padding:clamp(44px,7vw,90px) 0}
.news h2{font-size:clamp(1.8rem,5vw,3.4rem)}
.sub-form{display:flex;border-bottom:1px solid var(--line)}
.sub-form input{flex:1;background:transparent;border:0;color:var(--bone);padding:16px 4px;font-family:inherit;font-size:1rem}
.sub-form input:focus{outline:none}
.sub-form button{background:transparent;border:0;color:var(--acid);font-family:"Archivo";font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;cursor:pointer}

/* footer (injected) */
footer.ft{padding:70px var(--pad) 46px;border-top:1px solid var(--line)}
.fg{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.socs{display:flex;gap:22px;flex-wrap:wrap}
.socs a{font-family:"Archivo";font-weight:600;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);transition:.2s}
.socs a:hover{color:var(--acid)}
.fbig{font-family:"Archivo";font-weight:900;text-transform:uppercase;font-size:clamp(2.4rem,13vw,10rem);line-height:.86;margin:48px 0 0;letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1px var(--line)}
.legal{margin-top:26px;color:var(--muted);font-size:.7rem;letter-spacing:.04em}
.fnav{display:flex;gap:20px;flex-wrap:wrap}
.fnav a{font-family:"Archivo";font-weight:600;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);transition:.2s}
.fnav a:hover{color:var(--bone)}

/* artist fiche + interview */
.meta-row{display:flex;gap:30px;flex-wrap:wrap;margin-top:26px;border-top:1px solid var(--line);padding-top:22px}
.meta-row .k{font-family:"Archivo";font-weight:600;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.meta-row .v{font-family:"Archivo";font-weight:800;text-transform:uppercase;margin-top:5px;letter-spacing:-.01em}
.intro{max-width:780px;color:var(--bone);font-size:1.15rem;line-height:1.7}
.intro p{margin-bottom:22px;color:var(--muted)}
.intro p:first-child{color:var(--bone)}
.qa{max-width:820px}
.qa .item{padding:26px 0;border-bottom:1px solid var(--line2)}
.qa .item:first-child{border-top:1px solid var(--line)}
.qa .q{font-family:"Archivo";font-weight:800;text-transform:uppercase;font-size:1.05rem;letter-spacing:-.01em;color:var(--bone);display:flex;gap:12px}
.qa .q .acc{color:var(--acid)}
.qa .a{color:var(--muted);margin-top:12px;font-size:1.02rem;line-height:1.7}
.qa .a a{color:var(--acid);border-bottom:1px solid var(--line)}
.backlink{display:inline-flex;margin-top:8px;font-family:"Archivo";font-weight:600;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);transition:.2s}
.backlink:hover{color:var(--acid)}

/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}
.reveal.in{opacity:1;transform:none}

@media(max-width:900px){
  nav.links{position:fixed;inset:0 0 0 auto;width:min(80vw,340px);background:var(--panel);flex-direction:column;justify-content:center;gap:28px;transform:translateX(100%);transition:.35s;border-left:1px solid var(--line);z-index:120;padding:40px}
  nav.links.open{transform:none}
  nav.links a{font-size:1rem}
  .burger{display:flex;z-index:130}
  .join,.news{grid-template-columns:1fr}
}
