/* bma-records.lu — pure black and white. The roster previews each artist's own identity. */
@font-face { font-family: "Boldonse"; src: url("fonts/Boldonse-Regular.woff") format("woff"); font-weight: 400; font-display: swap; }

:root {
  --bg: #fff; --ink: #000; --muted: #595959; --rule: #000;
  --accent: #000; --on-accent: #fff; --focus: #000;
  --net-bg: #000; --net-ink: #fff; --net-muted: #b3b3b3;
}

.hero { padding-block: clamp(48px, 9vw, 120px) clamp(48px, 7vw, 96px); }
.hero .wrap { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px 64px; align-items: end; }
.hero__logo { width: min(100%, 620px); }
.hero__logo svg { width: 100%; height: auto; }
.hero .lede { margin: 0; font-size: clamp(1.25rem, 2vw, 1.6rem); line-height: 1.35; }
@media (max-width: 760px) { .hero .wrap { grid-template-columns: 1fr; } }

/* Roster */
.roster { list-style: none; margin: 0; padding: 0; border-top: 2px solid #000; }
.roster li { border-bottom: 2px solid #000; }
.act {
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 5fr) minmax(0, 3.2fr); gap: 12px 40px; align-items: center;
  padding: clamp(24px, 3.5vw, 40px) 16px; margin-inline: -16px; text-decoration: none; color: #000;
  transition: background-color .2s ease, color .2s ease;
}
.act:hover { text-decoration: none; }
.act__desc { max-width: 30rem; }
.act__domain { font-weight: 700; white-space: nowrap; justify-self: end; }
@media (max-width: 760px) { .act__domain { justify-self: start; } }
.act__domain::after { content: ""; display: inline-block; width: .55em; height: .55em; margin-left: .45em; background: currentColor; clip-path: polygon(0 0, 100% 50%, 0 100%); }
@media (max-width: 760px) { .act { grid-template-columns: 1fr; } }

.act--bm .act__name { font-family: "Boldonse", var(--text); font-size: clamp(2rem, 4.2vw, 3.2rem); line-height: 1.25; text-transform: uppercase; letter-spacing: .005em; }
.act--bm:hover, .act--bm:focus-visible { background: #1E2DD2; color: #F4F6FF; }

.act--rl .act__name { display: inline-block; background: #000; color: #fff; padding: 10px 22px 12px; transform: rotate(-3deg); justify-self: start; }
.act--rl .act__name svg { height: clamp(34px, 4.6vw, 52px); width: auto; }
.act--rl:hover, .act--rl:focus-visible { background: #120B07; color: #F2E4D4; }
.act--rl:hover .act__name svg { color: #FF4F9A; }

.act--aara .act__name { display: flex; flex-wrap: wrap; gap: 10px; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.act--aara .act__name span { padding: 10px 16px; border-radius: 6px; color: #fff; font-weight: 600; font-size: clamp(1rem, 1.6vw, 1.15rem); }
.act--aara .act__name span:first-child { background: #477050; }
.act--aara .act__name span:last-child { background: #CE2939; }
.act--aara:hover, .act--aara:focus-visible { background: #EEF0F2; }

/* Listen */
.listen .wrap { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 32px 64px; align-items: start; }
@media (max-width: 760px) { .listen .wrap { grid-template-columns: 1fr; } }

/* Legal */
.legal { background: #000; color: #fff; --muted: #b3b3b3; --rule: #fff; --focus: #fff; }
.legal .wrap { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 64px; }
.legal h2 { font-size: var(--step-2); margin-bottom: 20px; }
.legal dl { margin: 0; display: grid; grid-template-columns: max-content 1fr; gap: 8px 24px; }
.legal dt { color: var(--muted); }
.legal dd { margin: 0; }
@media (max-width: 760px) { .legal .wrap { grid-template-columns: 1fr; } .legal dl { grid-template-columns: 1fr; gap: 2px; } .legal dd { margin-bottom: 10px; } }
.foot { background: #000; color: #b3b3b3; border-top: 1px solid #333; --focus: #fff; }
.foot .foot__label { color: #fff; }
