/* ==================================================================
   NEGRIZEN MUSIC — style.css
   Palet diambil terus dari wordmark: plum #44082A, gold #BFB077,
   bone #EFE9E9.
================================================================== */

:root{
  --plum-900:#2B0519;
  --plum:#44082A;
  --plum-700:#59103A;
  --plum-line:rgba(191,176,119,.22);
  --gold:#BFB077;
  --gold-lift:#DACB94;
  --bone:#F1EBE4;
  --bone-dim:rgba(241,235,228,.62);
  --bone-faint:rgba(241,235,228,.34);

  --f-display:'Outfit', system-ui, sans-serif;
  --f-text:'Instrument Sans', system-ui, sans-serif;

  --wrap:1240px;
  --gut:clamp(20px, 5vw, 56px);
  --block:clamp(72px, 11vw, 148px);
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--plum);
  color:var(--bone);
  font-family:var(--f-text);
  font-size:clamp(15px,.4vw + 14px,17px);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%;display:block}
a{color:inherit}

:focus-visible{outline:2px solid var(--gold-lift);outline-offset:3px;border-radius:2px}

.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--plum-900);padding:10px 16px;z-index:99}
.skip:focus{left:12px;top:12px}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}

/* ---------- Wordmark ---------- */

.mark{text-decoration:none;display:inline-flex;align-items:baseline;gap:.6em;line-height:1}
.mark__word{
  font-family:var(--f-display);
  font-weight:500;
  font-size:1.6rem;
  letter-spacing:-.045em;
  color:var(--gold);
}
.mark__g{color:var(--bone)}
.mark__dot{color:var(--gold)}
.mark__sub{
  font-family:var(--f-display);
  font-size:.6rem;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--bone-dim);
}

/* ---------- Masthead ---------- */

.masthead{
  position:sticky;top:0;z-index:50;
  background:rgba(68,8,42,.86);
  backdrop-filter:saturate(140%) blur(12px);
  border-bottom:1px solid var(--plum-line);
}
.masthead__in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px}

.nav ul{display:flex;gap:clamp(18px,2.4vw,38px);list-style:none;margin:0;padding:0}
.nav a{
  text-decoration:none;font-size:.95rem;color:var(--bone-dim);
  padding-block:6px;position:relative;transition:color .18s ease;
}
.nav a:hover,.nav a[aria-current]{color:var(--bone)}
.nav a[aria-current]::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--gold);
}

.burger{display:none;background:none;border:0;padding:12px 0;cursor:pointer;width:34px}
.burger span{display:block;height:1.5px;background:var(--gold);margin:6px 0;transition:transform .25s ease,opacity .2s}
.burger[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){transform:translateY(-3.75px) rotate(-45deg)}

.mobile{border-top:1px solid var(--plum-line);padding:8px var(--gut) 28px}
.mobile ul{list-style:none;margin:0;padding:0}
.mobile a{
  display:block;text-decoration:none;font-family:var(--f-display);
  font-size:1.9rem;font-weight:400;letter-spacing:-.03em;padding:10px 0;
  border-bottom:1px solid var(--plum-line);
}
.mobile__meta{color:var(--bone-faint);font-size:.85rem;margin:22px 0 0}

/* ---------- Tipografi ---------- */

h1,h2,h3,h4{font-family:var(--f-display);font-weight:400;letter-spacing:-.035em;line-height:1.02;margin:0}

.h-display{font-size:clamp(2.9rem,8.4vw,6.6rem);font-weight:300}
.h-section{font-size:clamp(1.9rem,4.2vw,3.1rem)}
.h-sub{font-size:clamp(1.25rem,2vw,1.6rem);letter-spacing:-.025em}

.lede{font-size:clamp(1.05rem,1.3vw,1.22rem);line-height:1.6;max-width:56ch;color:var(--bone-dim)}
.prose{max-width:68ch}
.prose p{margin:0 0 1.25em}
.prose a{color:var(--gold-lift)}

.meta{font-size:.82rem;color:var(--bone-faint);letter-spacing:.02em}
.gold{color:var(--gold)}

/* Kepala seksyen: label kecil + tajuk, dipisah garis nipis */
.head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  padding-bottom:18px;border-bottom:1px solid var(--plum-line);margin-bottom:clamp(28px,4vw,54px);
}
.head p{margin:0 0 6px;color:var(--bone-faint);font-size:.85rem}
.head__link{
  text-decoration:none;color:var(--gold);font-size:.9rem;white-space:nowrap;
  border-bottom:1px solid transparent;transition:border-color .2s
}
.head__link:hover{border-color:var(--gold)}

section{padding-block:var(--block)}
section + section{padding-top:0}

/* ---------- Butang ---------- */

.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--f-display);font-size:.98rem;letter-spacing:-.01em;
  padding:13px 26px;border-radius:999px;text-decoration:none;border:1px solid var(--gold);
  color:var(--gold);background:none;cursor:pointer;
  transition:background-color .2s ease,color .2s ease;
}
.btn:hover{background:var(--gold);color:var(--plum-900)}
.btn--solid{background:var(--gold);color:var(--plum-900)}
.btn--solid:hover{background:var(--gold-lift);border-color:var(--gold-lift)}
.btn--ghost{border-color:var(--plum-line);color:var(--bone)}
.btn--ghost:hover{background:var(--bone);color:var(--plum-900);border-color:var(--bone)}

/* ==================================================================
   HERO — sleeve + piring hitam yang keluar sekali sahaja
================================================================== */

.hero{
  padding-top:clamp(48px,8vw,96px);
  padding-bottom:clamp(56px,8vw,110px);
  position:relative;overflow:hidden;
}
.hero::after{
  content:"";position:absolute;inset:auto -20% -60% 40%;height:70vh;
  background:radial-gradient(closest-side,rgba(191,176,119,.13),transparent 70%);
  pointer-events:none;
}
.hero__in{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,80px);align-items:center;position:relative;z-index:1}
.hero__statement{font-size:clamp(2.6rem,6.6vw,5.3rem);font-weight:300;line-height:.98;letter-spacing:-.045em}
.hero__statement em{font-style:normal;color:var(--gold)}
.hero__text p{margin:26px 0 0}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}

.sleeve{position:relative;width:min(100%,460px);margin-left:auto}
.sleeve__art{
  position:relative;z-index:2;aspect-ratio:1;object-fit:cover;width:100%;
  box-shadow:0 30px 70px rgba(20,2,12,.55);
  border:1px solid rgba(191,176,119,.2);
}
.sleeve__vinyl{
  position:absolute;top:0;right:0;width:88%;aspect-ratio:1;border-radius:50%;z-index:1;
  background:
    radial-gradient(circle at 50% 50%, #b7a86f 0 6.5%, var(--plum-900) 6.5% 8%, #1c0310 8% 100%),
    #150209;
  box-shadow:0 20px 50px rgba(10,1,6,.6);
  transform:translateX(0) rotate(0deg);
  animation:vinyl-out 1.5s cubic-bezier(.16,.84,.3,1) .35s both;
}
.sleeve__vinyl::after{
  content:"";position:absolute;inset:9%;border-radius:50%;
  background:repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.045) 0 1px,transparent 1px 4px);
}
@keyframes vinyl-out{from{transform:translateX(-18%) rotate(-12deg)}to{transform:translateX(30%) rotate(0)}}

.sleeve__caption{margin-top:22px;display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.sleeve__caption a{text-decoration:none}
.sleeve__caption a:hover .h-sub{color:var(--gold)}

/* ==================================================================
   INDEKS KATALOG — elemen tanda aras tapak
================================================================== */

.index{border-top:1px solid var(--plum-line)}
.index__row{
  display:grid;
  grid-template-columns:96px minmax(0,1.6fr) minmax(0,1fr) 108px 84px;
  gap:20px;align-items:center;
  padding:22px 4px;border-bottom:1px solid var(--plum-line);
  text-decoration:none;position:relative;
  transition:padding-left .3s cubic-bezier(.2,.7,.3,1),background-color .3s;
}
.index__row:hover,.index__row:focus-visible{padding-left:20px;background:rgba(191,176,119,.05)}
.index__cat{font-family:var(--f-display);color:var(--gold);font-size:.9rem;letter-spacing:.06em}
.index__title{font-family:var(--f-display);font-size:clamp(1.15rem,2vw,1.65rem);letter-spacing:-.03em;line-height:1.1}
.index__artist{color:var(--bone-dim);font-size:.95rem}
.index__type,.index__year{color:var(--bone-faint);font-size:.85rem}
.index__year{text-align:right}
.index__thumb{display:none}

/* pratonton kulit album yang mengikut kursor */
.peek{
  position:fixed;top:0;left:0;width:232px;aspect-ratio:1;z-index:60;pointer-events:none;
  opacity:0;transform:translate(-50%,-50%) scale(.92);
  transition:opacity .22s ease,transform .28s cubic-bezier(.2,.8,.3,1);
  box-shadow:0 24px 60px rgba(15,1,9,.6);
}
.peek.is-on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.peek img{width:100%;height:100%;object-fit:cover}

/* ==================================================================
   GRID KATALOG (halaman releases)
================================================================== */

.grid{display:grid;gap:clamp(22px,3vw,40px)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}

.card{text-decoration:none;display:block}
.card__art{aspect-ratio:1;object-fit:cover;width:100%;border:1px solid rgba(191,176,119,.16);background:var(--plum-700)}
.card:hover .card__art{border-color:var(--gold)}
.card__title{font-family:var(--f-display);font-size:1.12rem;letter-spacing:-.03em;margin:16px 0 2px;line-height:1.2}
.card:hover .card__title{color:var(--gold)}
.card__meta{color:var(--bone-faint);font-size:.85rem}

/* Penapis */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:38px}
.filters a{
  text-decoration:none;font-size:.88rem;padding:8px 16px;border-radius:999px;
  border:1px solid var(--plum-line);color:var(--bone-dim);
}
.filters a:hover{border-color:var(--gold);color:var(--bone)}
.filters a.is-active{background:var(--gold);border-color:var(--gold);color:var(--plum-900)}

/* ==================================================================
   ARTIS
================================================================== */

.artist-tile{text-decoration:none;display:block}
.artist-tile__img{aspect-ratio:3/4;object-fit:cover;width:100%;filter:grayscale(1) contrast(1.05);transition:filter .35s ease}
.artist-tile:hover .artist-tile__img{filter:grayscale(0)}
.artist-tile__name{font-family:var(--f-display);font-size:1.3rem;letter-spacing:-.03em;margin:16px 0 2px}
.artist-tile:hover .artist-tile__name{color:var(--gold)}

.artist-hero{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,5vw,72px);align-items:end;padding-top:clamp(40px,6vw,80px)}
.artist-hero__img{aspect-ratio:3/4;object-fit:cover;width:100%}
.artist-hero h1{font-size:clamp(2.6rem,7vw,5rem);font-weight:300}

.links{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;list-style:none;padding:0}
.links a{
  display:inline-block;text-decoration:none;font-size:.88rem;padding:9px 18px;
  border:1px solid var(--plum-line);border-radius:999px;color:var(--bone-dim);
  transition:border-color .2s,color .2s;
}
.links a:hover{border-color:var(--gold);color:var(--gold)}

/* ==================================================================
   HALAMAN RILIS
================================================================== */

.release{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(30px,5vw,74px);padding-top:clamp(40px,6vw,80px);align-items:start}
.release__art{width:100%;aspect-ratio:1;object-fit:cover;box-shadow:0 26px 60px rgba(18,2,11,.5)}
.release h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:300;margin-bottom:10px}
.release__artist{font-size:1.15rem;color:var(--gold);text-decoration:none}
.release__facts{display:flex;flex-wrap:wrap;gap:26px;margin:28px 0;padding:18px 0;border-block:1px solid var(--plum-line)}
.release__facts div span{display:block;font-size:.78rem;color:var(--bone-faint)}
.release__facts div strong{font-family:var(--f-display);font-weight:400;font-size:1.05rem}

.tracklist{list-style:none;margin:34px 0 0;padding:0;counter-reset:t}
.tracklist li{display:flex;align-items:baseline;gap:16px;padding:13px 0;border-bottom:1px solid var(--plum-line)}
.tracklist li span:first-child{color:var(--bone-faint);font-size:.85rem;min-width:24px}
.tracklist li .t-name{flex:1;font-family:var(--f-display);font-size:1.05rem;letter-spacing:-.02em}
.tracklist li .t-dur{color:var(--bone-faint);font-size:.85rem;font-variant-numeric:tabular-nums}

/* ==================================================================
   JURNAL
================================================================== */

.story{display:grid;grid-template-columns:220px 1fr;gap:28px;padding:30px 0;border-bottom:1px solid var(--plum-line);text-decoration:none;align-items:start}
.story__img{aspect-ratio:4/3;object-fit:cover;width:100%}
.story h3{font-size:clamp(1.35rem,2.4vw,1.9rem);margin-bottom:10px}
.story:hover h3{color:var(--gold)}
.story p{margin:0;color:var(--bone-dim);max-width:60ch}

.article{max-width:720px;margin-inline:auto;padding-top:clamp(40px,6vw,80px)}
.article h1{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:300;margin-bottom:16px}
.article__cover{margin:36px 0;width:100%}
.article__body{font-size:1.08rem}
.article__body h2{font-size:1.7rem;margin:1.8em 0 .6em}
.article__body img{margin:2em 0}

/* ==================================================================
   PITA DEMO (satu-satunya blok emas)
================================================================== */

.band{background:var(--gold);color:var(--plum-900);margin-top:var(--block)}
.band__in{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;padding-block:clamp(48px,7vw,86px)}
.band h2{font-size:clamp(2rem,4.6vw,3.4rem);font-weight:300;letter-spacing:-.04em}
.band p{margin:16px 0 0;max-width:46ch;color:rgba(43,5,25,.78)}
.band .btn{border-color:var(--plum-900);color:var(--plum-900)}
.band .btn:hover{background:var(--plum-900);color:var(--gold)}
.band__right{justify-self:end;text-align:right}

/* ==================================================================
   BORANG
================================================================== */

.form{display:grid;gap:20px;max-width:640px}
.field{display:grid;gap:8px}
.field label{font-size:.85rem;color:var(--bone-dim)}
.field input,.field select,.field textarea{
  font-family:inherit;font-size:1rem;color:var(--bone);
  background:rgba(241,235,228,.04);border:1px solid var(--plum-line);
  padding:14px 16px;border-radius:2px;width:100%;
}
.field textarea{min-height:170px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);outline:none;background:rgba(241,235,228,.07)}
.field select option{background:var(--plum);color:var(--bone)}
.field small{color:var(--bone-faint);font-size:.8rem}
.hp{position:absolute;left:-9999px}

.note{padding:16px 18px;border:1px solid var(--gold);border-left-width:3px;margin-bottom:28px;background:rgba(191,176,119,.08)}
.note--bad{border-color:#E4A0A0;background:rgba(228,160,160,.09)}

.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(30px,5vw,72px);padding-top:clamp(40px,6vw,80px)}
.contact-list{list-style:none;padding:0;margin:0}
.contact-list li{padding:16px 0;border-bottom:1px solid var(--plum-line)}
.contact-list span{display:block;font-size:.8rem;color:var(--bone-faint)}
.contact-list a{color:var(--gold);text-decoration:none}

/* ==================================================================
   HALAMAN LABEL
================================================================== */

.page-head{padding-top:clamp(48px,7vw,96px);padding-bottom:clamp(28px,4vw,48px)}
.page-head h1{font-size:clamp(2.6rem,7.5vw,5.4rem);font-weight:300}
.page-head p{margin-top:20px}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:start}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid var(--plum-line);padding-top:26px;margin-top:40px}
.stat-row strong{display:block;font-family:var(--f-display);font-size:clamp(2rem,3.6vw,2.9rem);font-weight:300;color:var(--gold);letter-spacing:-.04em}
.stat-row span{font-size:.85rem;color:var(--bone-dim)}

/* ==================================================================
   FOOTER
================================================================== */

.foot{border-top:1px solid var(--plum-line);background:var(--plum-900);padding-top:clamp(48px,6vw,80px)}
.foot__in{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:40px}
.foot__brand p{color:var(--bone-faint);max-width:38ch;margin:16px 0 0;font-size:.92rem}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.foot a{text-decoration:none;color:var(--bone-dim);font-size:.92rem}
.foot a:hover{color:var(--gold)}
.foot__base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  border-top:1px solid var(--plum-line);margin-top:clamp(40px,5vw,64px);padding-block:24px}
.foot__base p{margin:0;font-size:.8rem;color:var(--bone-faint)}

/* ==================================================================
   RESPONSIF
================================================================== */

@media (max-width:1000px){
  .hero__in,.release,.artist-hero,.contact-grid,.two-col,.band__in{grid-template-columns:1fr}
  .band__right{justify-self:start;text-align:left}
  .sleeve{margin-inline:auto}
  .artist-hero__img{max-width:340px}
  .grid--4{grid-template-columns:repeat(3,1fr)}
  .foot__in{grid-template-columns:1fr 1fr}
  .foot__brand{grid-column:1/-1}
}

@media (max-width:760px){
  .nav{display:none}
  .burger{display:block}
  .grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}
  .story{grid-template-columns:1fr}
  .story__img{max-width:none}
  .index__row{
    grid-template-columns:54px 1fr auto;
    grid-template-areas:"cat title year" "cat artist year";
    gap:4px 14px;padding:18px 0;
  }
  .index__cat{grid-area:cat}
  .index__title{grid-area:title}
  .index__artist{grid-area:artist;font-size:.85rem}
  .index__year{grid-area:year;align-self:center}
  .index__type{display:none}
  .index__row:hover{padding-left:0}
  .peek{display:none}
  .head{flex-direction:column;align-items:flex-start;gap:10px}
}

@media (max-width:460px){
  .grid--3,.grid--4{grid-template-columns:1fr}
  .foot__in{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important}
  .sleeve__vinyl{transform:translateX(30%)}
}
