:root{
  --bg:#0f1013;
  --panel:#14161c;
  --text:#e9e6ea;
  --muted:#b7b0b8;
  --pink:#f2a3c7;
  --pink2:#d98ab2;
  --line:rgba(233,230,234,.12);
  --max:920px;
  --radius:18px;
}

*{box-sizing:border-box}

html,body{height:100%}

body{
  margin:0;
  background:
    radial-gradient(900px 500px at 50% 0%, rgba(242,163,199,.10), transparent 60%),
    radial-gradient(800px 500px at 10% 80%, rgba(217,138,178,.08), transparent 60%),
    var(--bg);
  color:var(--text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  line-height:1.55;
  letter-spacing:.2px;
}

a{color:var(--text); text-decoration:none}

.wrap{
  max-width:var(--max);
  margin:0 auto;
  padding:20px 18px 64px;
}

header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding-bottom:12px;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
}

.logo{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  overflow:hidden;
}

.logo img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.brand-title strong{
  font-size:14px;
  letter-spacing:.6px;
  text-transform:uppercase;
}

.brand-title span{
  font-size:12px;
  color:var(--muted);
}

.brand-link{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:inherit;
  text-decoration:none;
}

.brand-link:hover{
  opacity:.92; /* subtle, no “button” feel */
}



.dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--pink);
  box-shadow:0 0 12px rgba(242,163,199,.35);
}

.hero{
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(20,22,28,.85), rgba(20,22,28,.55));
  border-radius:var(--radius);
  padding:6px 20px;   /* ↓ tighter vertically, same horizontal */
  margin-bottom:16px;
}


.kicker{
  font-size:12px;
  color:var(--muted);
  letter-spacing:1.1px;
  text-transform:uppercase;
  margin-bottom:10px;
}

h1{
  margin:0 0 10px;
  font-size:28px;
}

.sub{
  color:var(--muted);
  max-width:70ch;
}

.grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:16px;
}

.card{
  border:1px solid var(--line);
  background:rgba(20,22,28,.55);
  border-radius:var(--radius);
  padding:10px 12px; /* reduced padding */
}

.release-card{
  display:flex;
  flex-direction:column;
  gap:10px; /* tighter spacing */
}

.album-cover{
  margin:0;
}

.player-section{
  margin-top:12px;          /* space from album cover */
}

.player-wrap{
  border-radius:12px;       /* slightly smaller than card */
  overflow:hidden;
  background:#fff;
  box-shadow:
    0 0 0 1px rgba(233,230,234,.12),
    inset 0 0 0 1px rgba(233,230,234,.04);
}

.player-wrap iframe{
  width:100%;
  height:64px;              /* adjust if needed */
  border:0;
  display:block;
}



.album-cover img{
  width:100%;
  height:auto;
  max-height:500px;        /* increased to fit section */
  object-fit:contain;
  border-radius:12px;
  display:block;
}

.card h2{
  font-size:14px;
  letter-spacing:.8px;
  text-transform:uppercase;
  margin:0 0 6px;
}

.meta{
  display:grid;
  gap:8px;
  font-size:13px;
  color:var(--muted);
}

.meta b{color:var(--text)}

.spacer{height:14px}

.tracklist{
  list-style:none;
  padding:0;
  margin:0;
  font-size:13px;
  color:var(--muted);
  display:grid;
  gap:6px;
}

.tracklist li{
  display:flex;
  gap:2px;
  border-bottom:1px dashed rgba(233,230,234,.10);
  padding-bottom:8px;
}

.tracklist li:last-child{border-bottom:none}

.num{
  width:18px;
  color:rgba(242,163,199,.9);
}

/* Only the button/nav links should wrap — NOT the icon nav */
nav:not(.icon-nav){
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.nav-wrap{
  display:flex;
  justify-content:center;
  
}

/* Make the icon bar itself span full width */
.icon-nav{
  width:100%;
  display:flex;
  flex-wrap:nowrap;
  justify-content:center;
  align-items:center;
  gap:24px;
  margin:0 auto;          /* centers the block if it ever becomes fit-content */
  padding:0;              /* avoid default nav padding in some browsers */
}

/* Keep links from expanding */
.icon-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}



.icon-nav a:hover{
  color:var(--text);
  background:rgba(242,163,199,.08);
}

.icon-nav svg{
  width:18px;
  height:18px;
  fill:currentColor;
  display:block;
}

.footer-icons{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:18px;
  margin-bottom:12px;
}

.footer-icons a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.site-footer{
  margin-top:26px;
  font-size:12px;
  color:rgba(233,230,234,.45);
  text-align:center;
}

/* Header: icons only */
.header-icons{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:14px 0 10px;
}

/* Icon nav: always one row */
.header-icons .icon-nav{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:center;
  gap:18px;
}

/* Links: never expand to full width */
.header-icons .icon-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:auto;
  padding:8px;
  border-radius:999px;
}

.header-icons .icon-nav a:hover{
  background:rgba(242,163,199,.08);
}

.header-icons .icon-nav svg{
  width:18px;
  height:18px;
  fill:currentColor;
  display:block;
}

/* Mobile: slightly tighter spacing */
@media (max-width: 860px){
  .header-icons{
    padding:12px 0 8px;
  }
  .header-icons .icon-nav{
    gap:14px;
  }
  .icon-nav{
    justify-content:center !important;
    width:100% !important;
    gap:14px;
  }

}

