:root {
  --paper: #f1e4c8;
  --paper-deep: #d6c19e;
  --ink: #171715;
  --olive: #666657;
  --teal: #4c6870;
  --rust: #b64c2d;
  --red: #a92d29;
  --line: rgba(23,23,21,.24);
  --max: 1440px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "Libre Franklin", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 100;
  opacity: .11;
  background-image:
    radial-gradient(circle at 20% 20%, rgba(0,0,0,.2) 0 1px, transparent 1px),
    radial-gradient(circle at 70% 60%, rgba(255,255,255,.35) 0 1px, transparent 1px);
  background-size: 7px 7px, 11px 11px;
  mix-blend-mode: multiply;
}
a { color: inherit; }
img { display: block; max-width: 100%; }

.label-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid var(--ink);
  background: rgba(241,228,200,.94);
  backdrop-filter: blur(12px);
}
.label-header-inner {
  max-width: var(--max);
  margin: auto;
  min-height: 76px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 28px;
}
.label-mark {
  font-family: "Archivo Black", Impact, sans-serif;
  font-size: clamp(1.35rem, 2vw, 2rem);
  text-decoration: none;
  letter-spacing: -.05em;
}
.label-mark span { color: var(--rust); }
.label-location {
  justify-self: center;
  font: 500 .67rem/1 "IBM Plex Mono", monospace;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.label-nav {
  justify-self: end;
  display: flex;
  gap: 22px;
  align-items: center;
}
.label-nav a {
  font: 600 .7rem/1 "IBM Plex Mono", monospace;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: .08em;
  padding-block: 8px;
  border-bottom: 1px solid transparent;
}
.label-nav a:hover { border-color: var(--rust); }
.nav-toggle { display:none; background:none; border:0; font:600 .75rem "IBM Plex Mono", monospace; }

main { overflow: hidden; }
.hero {
  min-height: calc(100vh - 76px);
  border-bottom: 1px solid var(--ink);
}
.hero-grid {
  max-width: var(--max);
  margin: auto;
  min-height: calc(100vh - 124px);
  display: grid;
  grid-template-columns: 1.15fr .85fr;
}
.hero-copy {
  padding: clamp(56px, 8vw, 120px) 5vw 68px 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.eyebrow, .section-kicker, .issue, .story-label, .story-status {
  font: 600 .7rem/1.35 "IBM Plex Mono", monospace;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.hero h1 {
  margin: 28px 0 26px;
  font-family: "Archivo Black", Impact, sans-serif;
  font-size: clamp(4.4rem, 9.4vw, 10.5rem);
  line-height: .78;
  letter-spacing: -.075em;
  text-transform: uppercase;
}
.hero h1 span { display:block; }
.hero h1 span:nth-child(2) { color: var(--rust); transform: translateX(8%); }
.hero-deck { max-width: 650px; font-size: clamp(1.05rem, 1.55vw, 1.42rem); font-weight: 400; }
.hero-actions { display:flex; gap: 32px; flex-wrap:wrap; margin-top: 24px; }
.text-link {
  display:inline-flex;
  gap:12px;
  align-items:center;
  font: 600 .75rem/1.2 "IBM Plex Mono", monospace;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.07em;
  border-bottom:1px solid currentColor;
  padding-bottom:4px;
}
.hero-object {
  background: var(--ink);
  color: var(--paper);
  position: relative;
  min-height: 580px;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.record-disc {
  width: min(68vw, 650px);
  aspect-ratio: 1;
  border-radius:50%;
  background:
    radial-gradient(circle at center, var(--rust) 0 8%, var(--paper) 8% 9%, #111 9% 15%, transparent 15%),
    repeating-radial-gradient(circle at center, #121212 0 7px, #252522 8px 9px);
  box-shadow: 0 0 0 1px rgba(255,255,255,.18), 0 40px 80px rgba(0,0,0,.35);
  transform: rotate(-8deg) translateX(7%);
  position: relative;
}
.record-label {
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-family:"Archivo Black", Impact, sans-serif;
  font-size:clamp(2rem,4vw,4rem);
  color:var(--ink);
}
.catalog-stamp {
  position:absolute;
  left:30px;
  bottom:30px;
  border:1px solid rgba(241,228,200,.6);
  padding:12px 15px;
  display:grid;
  gap:3px;
  transform:rotate(-2deg);
  font:500 .64rem/1.25 "IBM Plex Mono", monospace;
  letter-spacing:.08em;
}
.manifesto-strip {
  background: var(--rust);
  color:var(--paper);
  border-top:1px solid var(--ink);
  display:grid;
  grid-template-columns:repeat(4,1fr);
  text-align:center;
  font:600 .68rem/1 "IBM Plex Mono", monospace;
  letter-spacing:.1em;
}
.manifesto-strip span { padding:18px 10px; border-right:1px solid var(--ink); }
.manifesto-strip span:last-child { border-right:0; }

.current, .artists, .records, .stories, .omaha, .closing {
  border-bottom:1px solid var(--ink);
}
.current { background: var(--ink); color:var(--paper); padding: clamp(70px,8vw,120px) 28px; }
.current > .section-kicker { max-width:var(--max); margin:0 auto 24px; color:var(--paper-deep); }
.current-grid {
  max-width:var(--max);
  margin:auto;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:stretch;
  border:1px solid rgba(241,228,200,.32);
}
.current-art { min-height:620px; background:#070707; display:grid; place-items:center; padding:9%; overflow:hidden; }
.current-art img { width:100%; height:100%; object-fit:cover; filter: sepia(.12) contrast(1.05); }
.current-copy { padding:clamp(42px,6vw,90px); display:flex; flex-direction:column; justify-content:center; }
.current-copy h2, .records h2, .stories h2, .omaha h2, .closing h2, .artists h2 {
  font-family:"Archivo Black", Impact, sans-serif;
  text-transform:uppercase;
  letter-spacing:-.055em;
  line-height:.91;
}
.current-copy h2 { font-size:clamp(3.6rem,7vw,7rem); margin:16px 0 26px; color:var(--paper); }
.current-copy .lede { font-size:clamp(1.1rem,1.6vw,1.4rem); color:#fff; }
.current-copy p { max-width:620px; color:#d5c8ad; }
.button-link {
  display:inline-block;
  width:max-content;
  margin-top:22px;
  padding:15px 18px;
  border:1px solid currentColor;
  text-decoration:none;
  text-transform:uppercase;
  font:600 .72rem/1 "IBM Plex Mono", monospace;
  letter-spacing:.08em;
}
.button-link:hover { background:var(--rust); border-color:var(--rust); color:var(--paper); }

.artists { padding:clamp(80px,10vw,150px) 28px; }
.section-heading { max-width:var(--max); margin:0 auto 58px; display:grid; grid-template-columns:1.2fr .8fr; gap:50px; align-items:end; }
.artists h2 { font-size:clamp(3.2rem,7vw,7rem); margin:18px 0 0; }
.section-note { max-width:460px; font-size:1.15rem; }
.artist-grid { max-width:var(--max); margin:auto; display:grid; grid-template-columns:repeat(12,1fr); gap:14px; }
.artist-card { min-height:410px; border:1px solid var(--ink); position:relative; overflow:hidden; padding:24px; display:flex; flex-direction:column; justify-content:space-between; }
.artist-card:nth-child(1) { grid-column:span 7; }
.artist-card:nth-child(2) { grid-column:span 5; }
.artist-card:nth-child(3) { grid-column:span 5; }
.artist-card:nth-child(4) { grid-column:span 7; }
.artist-card img { position:absolute; inset:18% 8% 20%; width:84%; height:62%; object-fit:contain; mix-blend-mode:multiply; }
.artist-card-dark { background:#171715; color:var(--paper); }
.artist-card-dark img { mix-blend-mode:normal; }
.artist-card-rust { background:var(--rust); color:var(--paper); }
.artist-card-rust img { mix-blend-mode:screen; filter:grayscale(1) contrast(1.3); }
.artist-card-cream { background:#e7d6b8; }
.artist-card-olive { background:var(--olive); color:var(--paper); }
.artist-card-olive img { mix-blend-mode:normal; }
.artist-number { font:600 .68rem "IBM Plex Mono", monospace; z-index:2; }
.artist-meta { z-index:2; display:flex; justify-content:space-between; gap:15px; align-items:end; border-top:1px solid currentColor; padding-top:10px; }
.artist-meta strong { text-transform:uppercase; font-family:"Archivo Black", Impact, sans-serif; letter-spacing:-.03em; }
.artist-meta span { text-align:right; font:500 .62rem/1.3 "IBM Plex Mono", monospace; text-transform:uppercase; }

.records { background:var(--teal); color:var(--paper); padding:clamp(80px,9vw,140px) 28px; }
.records-head, .records-grid { max-width:var(--max); margin:auto; }
.records h2 { font-size:clamp(4rem,8vw,8rem); margin:18px 0 55px; color:var(--paper); }
.records-grid { display:grid; grid-template-columns:1fr repeat(3,.8fr); gap:16px; align-items:stretch; }
.record-copy { padding-right:35px; font-size:1.08rem; }
.sleeve { aspect-ratio:1; border:1px solid var(--paper); display:flex; flex-direction:column; justify-content:space-between; padding:20px; font-family:"IBM Plex Mono",monospace; transform-origin:center; }
.sleeve b { font-family:"Archivo Black",Impact,sans-serif; font-size:clamp(4rem,8vw,8rem); line-height:.8; letter-spacing:-.08em; }
.sleeve small,.sleeve span { font-size:.62rem; letter-spacing:.1em; }
.sleeve-a { background:var(--rust); transform:rotate(-1.5deg); }
.sleeve-b { background:var(--paper); color:var(--ink); transform:rotate(1deg); }
.sleeve-c { background:var(--ink); transform:rotate(-.5deg); }

.stories { padding:clamp(90px,10vw,160px) 28px; background:#ded0b4; }
.story-lead, .story-grid { max-width:var(--max); margin:auto; }
.stories h2 { font-size:clamp(4rem,8vw,8.5rem); max-width:1100px; margin:18px 0 60px; }
.story-grid { display:grid; grid-template-columns:1.25fr .75fr .75fr; border-top:1px solid var(--ink); border-left:1px solid var(--ink); }
.story-card { min-height:390px; padding:32px; border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); display:flex; flex-direction:column; }
.story-card-feature { background:var(--rust); color:var(--paper); }
.story-card h3 { font-family:"Archivo Black",Impact,sans-serif; text-transform:uppercase; letter-spacing:-.04em; font-size:clamp(1.8rem,3vw,3.2rem); line-height:.94; margin:38px 0 18px; }
.story-card p:last-of-type { margin-top:auto; }
.story-status { margin-top:30px; padding-top:12px; border-top:1px solid currentColor; }

.omaha { min-height:760px; display:grid; grid-template-columns:1.3fr .7fr; background:var(--ink); color:var(--paper); position:relative; overflow:hidden; }
.omaha-word { font-family:"Archivo Black",Impact,sans-serif; font-size:clamp(10rem,28vw,31rem); line-height:.72; letter-spacing:-.09em; color:var(--rust); align-self:center; transform:translateX(-4%); white-space:nowrap; opacity:.92; }
.omaha-copy { padding:70px 45px; align-self:end; position:relative; z-index:2; background:linear-gradient(90deg,rgba(23,23,21,0),rgba(23,23,21,.88) 20%); }
.omaha h2 { color:var(--paper); font-size:clamp(3rem,5.2vw,5.5rem); margin:18px 0 28px; }
.omaha-copy p:last-child { color:#d5c8ad; }

.closing { min-height:72vh; padding:clamp(90px,10vw,150px) 28px; display:flex; flex-direction:column; justify-content:center; background:var(--paper); }
.closing > * { max-width:var(--max); width:100%; margin-left:auto; margin-right:auto; }
.closing h2 { font-size:clamp(5rem,11vw,12rem); margin-top:22px; margin-bottom:40px; }
.closing-links { display:flex; align-items:center; gap:28px; flex-wrap:wrap; }

.label-footer { background:var(--ink); color:var(--paper); }
.label-footer-inner { max-width:var(--max); margin:auto; padding:56px 28px 28px; }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:45px; padding-bottom:52px; }
.footer-mark { font-family:"Archivo Black",Impact,sans-serif; font-size:clamp(2.5rem,5vw,5.5rem); line-height:.85; letter-spacing:-.06em; text-transform:uppercase; }
.footer-mark span { color:var(--rust); }
.footer-block h3 { font:600 .66rem "IBM Plex Mono",monospace; letter-spacing:.1em; text-transform:uppercase; color:var(--paper-deep); }
.footer-block a { display:block; text-decoration:none; margin:8px 0; }
.footer-bottom { border-top:1px solid rgba(241,228,200,.28); padding-top:20px; display:flex; justify-content:space-between; gap:20px; font:500 .62rem "IBM Plex Mono",monospace; text-transform:uppercase; letter-spacing:.08em; }

@media (max-width: 900px) {
  .label-header-inner { grid-template-columns:1fr auto; }
  .label-location { display:none; }
  .nav-toggle { display:block; justify-self:end; }
  .label-nav { display:none; position:absolute; top:76px; left:0; right:0; background:var(--paper); border-bottom:1px solid var(--ink); padding:24px 28px; flex-direction:column; align-items:flex-start; }
  .label-nav.is-open { display:flex; }
  .hero-grid, .current-grid, .section-heading, .omaha { grid-template-columns:1fr; }
  .hero h1 span:nth-child(2) { transform:none; }
  .hero-object { min-height:62vw; }
  .record-disc { width:66vw; }
  .manifesto-strip { grid-template-columns:1fr 1fr; }
  .manifesto-strip span:nth-child(2) { border-right:0; }
  .manifesto-strip span:nth-child(-n+2) { border-bottom:1px solid var(--ink); }
  .artist-card:nth-child(n) { grid-column:span 6; }
  .records-grid { grid-template-columns:1fr 1fr; }
  .record-copy { grid-column:1 / -1; margin-bottom:25px; }
  .story-grid { grid-template-columns:1fr; }
  .omaha { min-height:650px; }
  .omaha-word { font-size:34vw; position:absolute; top:80px; left:0; }
  .omaha-copy { margin-top:260px; background:linear-gradient(0deg,var(--ink) 60%,rgba(23,23,21,0)); padding-top:150px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1 / -1; }
}

@media (max-width: 620px) {
  .label-header-inner { min-height:66px; padding-inline:18px; }
  .label-nav { top:66px; }
  .hero-grid { min-height:auto; }
  .hero-copy { padding:60px 18px 48px; }
  .hero h1 { font-size:clamp(3.7rem,19vw,6rem); }
  .hero-object { min-height:92vw; }
  .record-disc { width:82vw; }
  .catalog-stamp { left:18px; bottom:18px; }
  .current,.artists,.records,.stories,.closing { padding-left:18px; padding-right:18px; }
  .current-art { min-height:86vw; padding:5%; }
  .current-copy { padding:38px 24px; }
  .section-heading { gap:24px; }
  .artist-grid { gap:10px; }
  .artist-card:nth-child(n) { grid-column:1 / -1; min-height:330px; }
  .records-grid { grid-template-columns:1fr; }
  .sleeve { width:86%; margin:auto; }
  .story-card { min-height:320px; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-brand { grid-column:auto; }
  .footer-bottom { flex-direction:column; }
}

/* ==================================================
   Roster / Archive / Preferred Artists
================================================== */
.prospective { display: none; }
html.staging-preview .prospective { display: flex; }

.roster-grid {
  max-width: var(--max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  border-top: 1px solid var(--ink);
  border-left: 1px solid var(--ink);
}

.roster-card {
  grid-column: span 4;
  min-height: 250px;
  padding: 24px;
  border-right: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #e7d6b8;
}

.roster-card:nth-child(even) { background: var(--paper); }
.roster-card-feature { grid-column: span 8; background: var(--rust); color: var(--paper); }
.roster-card strong {
  margin-top: auto;
  font-family: "Archivo Black", Impact, sans-serif;
  font-size: clamp(2rem, 4vw, 4.6rem);
  line-height: .92;
  letter-spacing: -.055em;
  text-transform: uppercase;
}
.roster-card > span:last-child {
  margin-top: 16px;
  font: 500 .66rem/1.35 "IBM Plex Mono", monospace;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.roster-index {
  font: 600 .62rem/1.3 "IBM Plex Mono", monospace;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.archive {
  padding: clamp(90px,10vw,150px) 28px;
  background: var(--ink);
  color: var(--paper);
  border-bottom: 1px solid var(--paper);
}
.archive-head, .timeline-grid { max-width: var(--max); margin: 0 auto; }
.archive h2 {
  max-width: 1100px;
  margin: 18px 0 24px;
  color: var(--paper);
  font-family: "Archivo Black", Impact, sans-serif;
  font-size: clamp(3.7rem, 8vw, 8.6rem);
  line-height: .88;
  letter-spacing: -.06em;
  text-transform: uppercase;
}
.archive-intro { max-width: 790px; color: #d5c8ad; font-size: 1.12rem; margin-bottom: 56px; }
.timeline-grid { border-top: 1px solid rgba(241,228,200,.35); }
.timeline-item {
  display: grid;
  grid-template-columns: 170px 1fr 280px;
  gap: 24px;
  align-items: center;
  min-height: 88px;
  border-bottom: 1px solid rgba(241,228,200,.24);
}
.timeline-item span,
.timeline-item small {
  font: 500 .66rem/1.35 "IBM Plex Mono", monospace;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #bcae91;
}
.timeline-item strong {
  font-family: "Archivo Black", Impact, sans-serif;
  font-size: clamp(1.6rem, 3vw, 3rem);
  letter-spacing: -.04em;
  text-transform: uppercase;
}
.timeline-item small { text-align: right; }
.timeline-item.prospective { opacity: .74; }

.preferred {
  padding: clamp(90px,10vw,150px) 28px;
  background: #ded0b4;
  border-bottom: 1px solid var(--ink);
}
.preferred-head, .preferred-grid { max-width: var(--max); margin: 0 auto; }
.preferred-head { display: grid; grid-template-columns: 1fr .7fr; gap: 50px; align-items: end; margin-bottom: 54px; }
.preferred-head .section-kicker { grid-column: 1 / -1; margin-bottom: -20px; }
.preferred h2 {
  margin: 0;
  font-family: "Archivo Black", Impact, sans-serif;
  font-size: clamp(3.5rem, 7vw, 7.5rem);
  line-height: .9;
  letter-spacing: -.06em;
  text-transform: uppercase;
}
.preferred-head > p:last-child { max-width: 520px; font-size: 1.08rem; }
.preferred-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--ink);
  border-left: 1px solid var(--ink);
}
.preferred-card {
  min-height: 260px;
  padding: 24px;
  border-right: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  display: flex;
  flex-direction: column;
  background: var(--paper);
}
.preferred-card:nth-child(2n) { background: var(--teal); color: var(--paper); }
.preferred-card.prospective { background: #c7baa0; color: var(--ink); }
.preferred-card > span { font: 600 .62rem "IBM Plex Mono", monospace; }
.preferred-card strong {
  margin-top: auto;
  font-family: "Archivo Black", Impact, sans-serif;
  font-size: clamp(2rem, 3.5vw, 3.7rem);
  line-height: .92;
  letter-spacing: -.05em;
  text-transform: uppercase;
}
.preferred-card small {
  margin-top: 14px;
  font: 500 .62rem/1.35 "IBM Plex Mono", monospace;
  text-transform: uppercase;
  letter-spacing: .06em;
}

@media (max-width: 900px) {
  .roster-card, .roster-card-feature { grid-column: span 6; }
  .timeline-item { grid-template-columns: 120px 1fr; }
  .timeline-item small { grid-column: 2; text-align: left; padding-bottom: 15px; }
  .preferred-head { grid-template-columns: 1fr; }
  .preferred-head .section-kicker { grid-column: auto; margin-bottom: 0; }
  .preferred-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
  .roster-card, .roster-card-feature { grid-column: 1 / -1; min-height: 220px; }
  .timeline-item { grid-template-columns: 1fr; gap: 7px; padding: 18px 0; }
  .timeline-item small { grid-column: auto; padding-bottom: 0; }
  .preferred-grid { grid-template-columns: 1fr; }
  .preferred-card { min-height: 220px; }
}
