:root{
  --ink:#0a0912; --panel:#15121f; --text:#f1eff5;
  --text-60:rgba(241,239,245,.62); --text-45:rgba(241,239,245,.45);
  --line:rgba(241,239,245,.10); --line-strong:rgba(241,239,245,.14);
  --violet:oklch(.74 .18 305); --cyan:oklch(.83 .14 195);
  --sans:Archivo,"Helvetica Neue",Helvetica,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;
  --pad:32px; --max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
::selection{background:var(--text);color:var(--ink)}
img{display:block}
.wrap{max-width:var(--max);margin:0 auto;width:100%}
.mono{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;font-size:11px}

/* header */
.site-head{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px var(--pad);background:rgba(10,9,18,.78);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.lockup{display:flex;align-items:center;gap:12px}
.lockup img{height:28px;width:auto}
.lockup .n{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.lockup .s{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--text-45)}
.site-nav{display:flex;align-items:center;gap:28px}
.site-nav a{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-60);transition:color .2s}
.site-nav a:hover{color:#fff}
.btn-ghost{padding:9px 16px;border:1px solid rgba(241,239,245,.28);border-radius:999px;color:var(--text)!important;transition:background .2s,color .2s,border-color .2s}
.btn-ghost:hover{background:var(--text);color:var(--ink)!important;border-color:var(--text)}

/* hero */
.hero{position:relative;padding:0 var(--pad);min-height:100vh;display:flex;flex-direction:column;justify-content:center}
.hero-glow{position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(90% 70% at 12% 108%, oklch(.55 .19 305 / .50), transparent 62%),
  radial-gradient(80% 65% at 92% 8%, oklch(.62 .13 195 / .28), transparent 60%)}
.hero-inner{position:relative;padding:120px 0 80px}
.eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:40px}
.dot{width:7px;height:7px;border-radius:999px;background:var(--violet);box-shadow:0 0 14px oklch(.74 .18 305 / .9)}
.eyebrow span{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(241,239,245,.55)}
h1.wordmark{margin:0;font-weight:600;font-size:clamp(64px,13vw,208px);line-height:.86;letter-spacing:-.04em;text-transform:uppercase}
h1.wordmark .row{display:flex;align-items:baseline;gap:clamp(16px,3vw,48px);flex-wrap:wrap}
h1.wordmark .tag{font-family:var(--mono);font-weight:400;font-size:clamp(13px,1.1vw,17px);letter-spacing:.2em;color:rgba(241,239,245,.5);padding-bottom:clamp(8px,1.4vw,26px)}
.hero-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px;margin-top:56px;padding-top:28px;border-top:1px solid var(--line-strong)}
.hero-meta p{margin:0;max-width:38ch;font-size:17px;line-height:1.55;color:rgba(241,239,245,.72)}
.stack{display:flex;flex-direction:column;gap:8px}
.label-cyan{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan)}
.btn-fill{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;padding:15px 26px;border-radius:999px;color:var(--ink);background:linear-gradient(100deg,oklch(.74 .18 305),oklch(.8 .14 250));box-shadow:0 10px 40px oklch(.6 .18 300 / .35);font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;transition:filter .2s}
.btn-fill:hover{filter:brightness(1.1)}

/* sections */
section.band{padding:120px var(--pad);border-top:1px solid var(--line)}
.band-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:56px}
h2{margin:0;font-weight:500;font-size:clamp(30px,4vw,56px);letter-spacing:-.03em}
.cat{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(241,239,245,.42)}

/* releases */
.grid-releases{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(20px,3vw,44px)}
.release{display:flex;flex-direction:column;gap:18px;transition:opacity .2s}
.release:hover{opacity:.82}
.cover{position:relative;aspect-ratio:1;overflow:hidden;background:var(--panel);border:1px solid var(--line)}
.cover img{width:100%;height:100%;object-fit:cover}
.badge-soon{position:absolute;top:12px;right:12px;padding:6px 12px;border-radius:999px;background:linear-gradient(100deg,oklch(.74 .18 305),oklch(.8 .14 250));color:var(--ink);font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.release .meta{display:flex;flex-direction:column;gap:6px}
.release .cat-no{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(241,239,245,.42)}
.release .cat-no.is-new{color:var(--cyan)}
.release .cat-no.is-violet{color:oklch(.68 .11 305)}
.release .cat-no.is-soon{color:var(--violet)}
.release .title{font-size:22px;font-weight:500;letter-spacing:-.01em}
.release .artists{font-size:14px;color:rgba(241,239,245,.55)}

/* artists */
.grid-artists{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(20px,3vw,44px)}
.artist{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line);background:var(--panel);transition:border-color .2s}
.artist:hover{border-color:rgba(241,239,245,.4)}
.artist img{width:100%;height:100%;object-fit:cover}
.artist .plate{position:absolute;inset:auto 0 0 0;padding:24px;display:flex;align-items:baseline;justify-content:space-between;gap:12px;background:linear-gradient(to top,rgba(10,9,18,.9),transparent)}
.artist .plate .name{font-size:24px;font-weight:500}

/* listen */
.listen{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(32px,5vw,80px)}
.listen p{margin:0;max-width:32ch;font-size:16px;line-height:1.6;color:rgba(241,239,245,.6)}
.store-list{display:flex;flex-direction:column;border-top:1px solid var(--line-strong)}
.store{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 4px;border-bottom:1px solid var(--line-strong);transition:padding-left .2s,background .2s}
.store:hover{padding-left:14px;background:rgba(241,239,245,.04)}
.store .l{display:flex;align-items:center;gap:16px}
.store .n{font-size:20px;font-weight:500}
.store-mark{width:22px;height:22px;flex:0 0 22px;fill:rgba(241,239,245,.75);transition:fill .2s}
.store:hover .store-mark{fill:var(--text)}
.store .u{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:rgba(241,239,245,.42)}
.store .u.primary{color:var(--cyan)}

/* demos + footer */
.demos{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px}
.demos p{margin:12px 0 0;font-size:clamp(24px,3.2vw,40px);font-weight:500;letter-spacing:-.02em;max-width:24ch}
.btn-outline{display:inline-flex;align-items:center;gap:12px;padding:18px 30px;border:1px solid rgba(241,239,245,.3);border-radius:999px;font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;transition:background .2s,color .2s,border-color .2s}
.btn-outline:hover{background:var(--text);color:var(--ink);border-color:var(--text)}
.site-foot{padding:28px var(--pad);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.site-foot .l{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(241,239,245,.5)}
.site-foot .r{font-family:var(--mono);font-size:11px;color:rgba(241,239,245,.35)}

@media (max-width:760px){
  :root{--pad:20px}
  section.band{padding:80px var(--pad)}
  .site-nav{gap:16px}
  .site-nav a:not(.btn-ghost){display:none}
  .band-head{flex-direction:column;align-items:flex-start;gap:10px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.eyebrow{animation:rise .7s ease both}
h1.wordmark{animation:rise .8s .05s ease both}
.hero-meta{animation:rise .9s .12s ease both}
