
:root{
  --bg:#090909;
  --panel:#111;
  --panel2:#151515;
  --line:#282828;
  --text:#f1f1f1;
  --muted:#929292;
  --max:1280px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.55;
}
a{color:inherit;text-decoration:none}
.site-header,.site-footer,main{
  width:min(calc(100% - 40px),var(--max));
  margin-inline:auto;
}
.site-header{
  min-height:84px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
  position:relative;
}
.brand{
  font-weight:800;
  font-size:1.25rem;
  letter-spacing:.16em;
}
.site-nav{
  display:flex;
  gap:24px;
  align-items:center;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.site-nav a{color:var(--muted);transition:.2s ease}
.site-nav a:hover,.site-nav a.active{color:var(--text)}
.menu-toggle{
  display:none;
  background:none;
  color:var(--text);
  border:1px solid var(--line);
  padding:8px 10px;
}
.hero{
  min-height:calc(100vh - 84px);
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:48px;
  align-items:center;
  padding:56px 0;
}
.hero-media,.about-photo{
  min-height:650px;
}
.placeholder{
  background:
    linear-gradient(135deg,#111 0%,#1a1a1a 50%,#0e0e0e 100%);
  border:1px solid var(--line);
  display:grid;
  place-items:center;
  color:#666;
  font-size:.7rem;
  letter-spacing:.18em;
}
.hero h1,.page-heading h1,.about-copy h1{
  font-size:clamp(4rem,10vw,9rem);
  line-height:.86;
  margin:14px 0 28px;
  letter-spacing:-.055em;
}
.lead{
  max-width:650px;
  font-size:clamp(1.15rem,2vw,1.6rem);
  color:#c7c7c7;
}
.eyebrow{
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.18em;
  color:var(--muted);
  margin:0;
}
.actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
.button{
  display:inline-block;
  border:1px solid var(--text);
  padding:13px 18px;
  font-size:.74rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.button:hover{background:var(--text);color:#000}
.button.ghost{border-color:var(--line);color:#bbb}
.button.small{padding:10px 14px;font-size:.68rem}
.section,.discography-group{
  padding:100px 0;
  border-top:1px solid var(--line);
}
.section-title{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:end;
  margin-bottom:38px;
}
.section h2,.section-title h2,.contact-card h2{
  font-size:clamp(2rem,4vw,4rem);
  margin:6px 0 0;
  letter-spacing:-.04em;
}
.release-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.cover{aspect-ratio:1/1;margin-bottom:18px}
.release-card h3,.discography-row h3{
  margin:0 0 4px;
  font-size:1rem;
}
.release-card p,.discography-row p,.page-heading p,.about-copy p,.contact-card p{
  color:var(--muted);
}
.text-link{
  display:inline-block;
  margin-top:12px;
  border-bottom:1px solid #555;
  padding-bottom:2px;
  font-size:.82rem;
}
.embed-placeholder{
  margin-top:28px;
  min-height:220px;
  border:1px dashed #3b3b3b;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:var(--muted);
  gap:8px;
  text-align:center;
  padding:30px;
}
.embed-placeholder code{color:#666}
.page-main{padding:80px 0 120px}
.page-heading{max-width:900px;padding-bottom:80px}
.page-heading h1{font-size:clamp(4rem,9vw,8rem)}
.discography-list{border-top:1px solid var(--line)}
.discography-row{
  display:grid;
  grid-template-columns:110px 1fr auto;
  align-items:center;
  gap:24px;
  padding:18px 0;
  border-bottom:1px solid var(--line);
}
.mini-cover{aspect-ratio:1/1}
.about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:start;
}
.about-copy{padding-top:40px}
.facts{
  margin-top:52px;
  border-top:1px solid var(--line);
}
.facts>div{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:20px;
  padding:18px 0;
  border-bottom:1px solid var(--line);
}
.facts span{
  font-size:.68rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#666;
}
.facts p{margin:0;color:#ddd}
.contact-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.contact-card{
  min-height:300px;
  background:var(--panel);
  border:1px solid var(--line);
  padding:30px;
}
.stacked-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.site-footer{
  min-height:110px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#777;
  font-size:.75rem;
}
.site-footer div{display:flex;gap:18px}

@media(max-width:900px){
  .menu-toggle{display:block}
  .site-nav{
    display:none;
    position:absolute;
    top:84px;
    left:0;
    right:0;
    z-index:10;
    background:#0b0b0b;
    border-bottom:1px solid var(--line);
    flex-direction:column;
    align-items:flex-start;
    padding:22px 0;
  }
  .site-nav.open{display:flex}
  .hero,.about-grid{grid-template-columns:1fr}
  .hero{min-height:auto}
  .hero-media,.about-photo{min-height:480px}
  .release-grid,.contact-grid{grid-template-columns:1fr}
  .discography-row{grid-template-columns:84px 1fr}
  .discography-row .button{grid-column:2}
}
@media(max-width:560px){
  .site-header,.site-footer,main{width:min(calc(100% - 24px),var(--max))}
  .hero{padding:28px 0 56px;gap:28px}
  .hero-media,.about-photo{min-height:360px}
  .section,.discography-group{padding:72px 0}
  .section-title{align-items:flex-start;flex-direction:column}
  .page-main{padding-top:50px}
  .site-footer{align-items:flex-start;flex-direction:column;justify-content:center;gap:12px}
  .site-footer div{flex-wrap:wrap}
}


.hero-media, .about-photo {
  overflow: hidden;
  border: 1px solid var(--line);
  background: #111;
}
.hero-media img, .about-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hero-media img { object-position: center center; }

.release-cover-text {
  background: #121212;
  border: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px;
  color: var(--text);
}
.release-cover-text strong {
  font-size: clamp(1.05rem, 1.7vw, 1.55rem);
  line-height: 1.05;
  max-width: 90%;
}
.release-cover-text span {
  color: #777;
  font-size: .62rem;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.release-cover-text:hover {
  background: #171717;
}
.mini-cover.release-cover-text {
  padding: 10px;
  justify-content: flex-end;
}


/* Real release artwork */
.artwork-link {
  display: block;
  overflow: hidden;
  background: #111;
  border: 1px solid var(--line);
}
.artwork-link img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .25s ease, opacity .25s ease;
}
.artwork-link:hover img {
  transform: scale(1.015);
  opacity: .9;
}
.cover.artwork-link {
  aspect-ratio: 1 / 1;
  padding: 0;
}
.mini-cover.artwork-link {
  aspect-ratio: 1 / 1;
  padding: 0;
}


/* Refinements: square artist portrait + smaller uniform artwork */
.hero-media,
.about-photo {
  aspect-ratio: 1 / 1;
  min-height: 0 !important;
}

.hero-media img,
.about-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

/* Home page release cards: smaller, uniform square art */
.release-card .cover.artwork-link {
  width: min(100%, 320px);
  aspect-ratio: 1 / 1;
  margin-bottom: 16px;
}

.release-card .cover.artwork-link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Discography list: smaller, uniform square thumbnails */
.discography-row {
  grid-template-columns: 84px 1fr auto;
}

.discography-row .mini-cover.artwork-link {
  width: 84px;
  height: 84px;
  aspect-ratio: 1 / 1;
}

.discography-row .mini-cover.artwork-link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 900px) {
  .discography-row {
    grid-template-columns: 72px 1fr;
  }

  .discography-row .mini-cover.artwork-link {
    width: 72px;
    height: 72px;
  }
}

@media (max-width: 560px) {
  .release-card .cover.artwork-link {
    width: min(100%, 280px);
  }
}
