/* ANTIDOPE official site — PRESSURE TERMINAL layout: graphite, red, bone. Side rail, ruled grid, mask close-up. */
:root {
  --bg: #17181a;
  --panel: #1f2124;
  --ink: #e9e2d6;
  --muted: #a39d92;
  --line: #3a3c40;
  --hot: #ff5a4d;
  --rail: 15rem;
  --pad: clamp(1.25rem, 3.4vw, 3.5rem);
}
body { background: var(--bg); color: var(--ink); }
::selection { background: var(--red); color: #fff; }

/* Captions: mono is reserved for labels, never body copy */
.cap { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; font: 400 .78rem/1.5 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.cap > :first-child { color: var(--hot); }
.cap--bar { justify-content: space-between; padding: .6rem .8rem; border: 1px solid var(--line); border-top: 0; background: var(--panel); }
.fine { color: var(--muted); font-size: .92rem; max-width: 64ch; }
.fine a { color: var(--ink); }

/* Actions: plain rectangular controls */
.act { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: .5rem 1.1rem; border: 1px solid var(--ink); background: transparent; color: var(--ink); font: 600 .95rem/1.2 var(--font-body); text-decoration: none; text-align: center; }
.act:hover { background: var(--ink); color: var(--bg); }
.act--red { border-color: var(--red); background: var(--red); color: #fff; }
.act--red:hover { background: #ff2a1f; border-color: #ff2a1f; color: #fff; }
.act--bone { background: var(--ink); color: var(--bg); }
.act--bone:hover { background: #fff; border-color: #fff; }
a.act[target="_blank"]::after { content: "↗"; margin-left: .45em; }

/* Side rail */
.rail { position: fixed; inset: 0 auto 0 0; z-index: 40; display: flex; flex-direction: column; width: var(--rail); padding: 1.5rem 1.25rem; border-right: 1px solid var(--line); background: var(--bg); }
.rail__brand { display: grid; gap: .75rem; text-decoration: none; }
.rail__brand img { width: 56px; height: 56px; mix-blend-mode: screen; }
.rail__brand span { font: 800 1.7rem/1 var(--font-display); letter-spacing: .1em; }
.rail__nav { display: grid; margin-top: 2.5rem; border-top: 1px solid var(--line); }
.rail__nav a { display: flex; align-items: baseline; gap: .9rem; min-height: 46px; padding: .7rem 0; border-bottom: 1px solid var(--line); font-weight: 600; text-decoration: none; }
.rail__nav a span { font: 400 .75rem/1 var(--font-mono); color: var(--muted); }
.rail__nav a:hover { color: var(--hot); }
.rail__cta { display: grid; gap: .5rem; margin-top: auto; }
.rail__cta a { display: flex; align-items: center; justify-content: space-between; min-height: 46px; padding: .5rem .8rem; border: 1px solid var(--line); font-weight: 600; text-decoration: none; }
.rail__cta a::after { content: "↗"; color: var(--hot); }
.rail__cta a:hover { border-color: var(--ink); }
.rail__menu { display: none; }

.main { margin-left: var(--rail); }

/* Hero: text column + unaltered portrait */
.hero { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); min-height: 100svh; border-bottom: 1px solid var(--line); }
.hero__text { display: flex; flex-direction: column; justify-content: center; gap: 1.1rem; padding: var(--pad); border-right: 1px solid var(--line); }
.hero__name { font: 800 clamp(4rem, 8.6vw, 9.5rem)/.84 var(--font-display); letter-spacing: .005em; }
.hero__tagline { font: 700 clamp(1.35rem, 2vw, 1.9rem)/1.1 var(--font-display); letter-spacing: .06em; color: var(--hot); }
.hero__tagline span { display: block; }
.hero__pos { max-width: 30rem; font-size: 1.1rem; line-height: 1.55; }
.hero__cta { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-top: 1rem; border: 1px solid var(--line); }
.blk { display: grid; align-content: space-between; gap: 1.25rem; min-height: 7rem; padding: .9rem 1rem; text-decoration: none; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.blk:nth-child(even) { border-right: 0; }
.blk:nth-child(n + 3) { border-bottom: 0; min-height: 5.5rem; }
.blk span { font: 700 1.5rem/1.02 var(--font-display); letter-spacing: .03em; text-transform: uppercase; }
.blk small { font: 400 .74rem/1.3 var(--font-mono); letter-spacing: .05em; color: var(--muted); }
.blk--red { background: var(--red); color: #fff; }
.blk--red small { color: #fff; }
.blk--bone { background: var(--ink); color: var(--bg); }
.blk--bone small { color: #4b4841; }
.blk:hover { outline: 2px solid var(--ink); outline-offset: -2px; }
.blk--red:hover { background: #ff2a1f; }
.blk--bone:hover { background: #fff; }

/* The supplied portrait is shown whole, with no frame, crop or overlay. */
.hero__fig { display: flex; align-items: center; justify-content: center; padding: var(--pad); min-width: 0; }
.frame { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 0; border: 0; background: none; }
.frame img { display: block; width: auto; height: auto; max-width: 100%; max-height: calc(100svh - 2 * var(--pad)); object-fit: contain; transform: none; }

/* Channels */
.channels ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--line); }
.channels li { border-right: 1px solid var(--line); border-top: 1px solid var(--line); margin-top: -1px; }
.channels li:nth-child(4n) { border-right: 0; }
.channels a { display: grid; grid-template-columns: auto 1fr; gap: 0 .9rem; align-items: baseline; min-height: 64px; padding: .8rem var(--pad) .8rem 1rem; text-decoration: none; }
.channels__n { grid-row: span 2; font: 400 .75rem/1 var(--font-mono); color: var(--muted); }
.channels strong { font-weight: 600; }
.channels__h { font: 400 .75rem/1.3 var(--font-mono); color: var(--muted); overflow-wrap: anywhere; }
.channels a:hover { background: var(--panel); }
.channels a:hover strong { color: var(--hot); }

/* Sections */
.sec { padding: clamp(3rem, 6vw, 6rem) var(--pad); border-bottom: 1px solid var(--line); }
.sec__head { display: grid; grid-template-columns: 4rem minmax(0, 1fr) minmax(0, 26rem); gap: .5rem 1.5rem; align-items: end; margin-bottom: clamp(1.5rem, 3vw, 2.75rem); padding-bottom: 1.25rem; border-bottom: 1px solid var(--line); }
.sec__n { font: 400 .85rem/1 var(--font-mono); color: var(--hot); padding-bottom: .6rem; }
.sec__title { font: 800 clamp(2.4rem, 4.6vw, 4.4rem)/.92 var(--font-display); letter-spacing: .01em; text-transform: uppercase; }
.sec__note { color: var(--muted); font-size: .95rem; }
.sec__more { margin-top: 1.75rem; }

/* Video */
button.thumb { width: 100%; padding: 0; border: 1px solid var(--line); }
.feature { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 0; border: 1px solid var(--line); }
.feature__thumb { border: 0 !important; border-right: 1px solid var(--line) !important; height: 100%; }
.playlabel { position: absolute; left: 0; bottom: 0; padding: .7rem 1.2rem; background: var(--red); color: #fff; font: 700 1.3rem/1 var(--font-display); letter-spacing: .1em; text-transform: uppercase; }
.playlabel::before { content: "▶"; margin-right: .6em; font-size: .8em; }
.feature__info { display: flex; flex-direction: column; gap: 1rem; padding: 1.5rem; background: var(--panel); }
.feature__title { font: 700 clamp(1.5rem, 2.1vw, 2rem)/1.08 var(--font-display); letter-spacing: .01em; overflow-wrap: anywhere; }
.spec { display: grid; border-top: 1px solid var(--line); }
.spec div { display: grid; grid-template-columns: 6.5rem 1fr; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid var(--line); }
.spec dt { font: 400 .75rem/1.6 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.spec dd { font-weight: 500; }
.feature__act { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: auto; }
.vlist { margin-top: 1.5rem; border-top: 1px solid var(--line); }
.vrow { display: grid; grid-template-columns: 11rem minmax(0, 1fr) auto; gap: 1.25rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.vrow__main { display: grid; gap: .4rem; }
.vrow__main h3 { font: 600 1.1rem/1.3 var(--font-body); overflow-wrap: anywhere; }
.vrow__act { display: flex; gap: .5rem; }

/* Music */
.music { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 1.5rem; align-items: start; }
.music__tracks { display: grid; gap: 1rem; }
.track { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: 1.25rem; padding: 1.25rem; border: 1px solid var(--line); background: var(--panel); }
.track__art { aspect-ratio: 1; background: #121315 center / cover no-repeat; border: 1px solid var(--line); }
.track__body { display: grid; gap: .8rem; align-content: start; }
.track__body h3 { font: 700 1.6rem/1.08 var(--font-display); letter-spacing: .01em; overflow-wrap: anywhere; }
.track__player { min-height: 46px; }
.track__links { display: flex; flex-wrap: wrap; gap: .5rem; }
.music__profiles { border: 1px solid var(--line); }
.music__profiles li + li { border-top: 1px solid var(--line); }
.music__profiles a { display: grid; gap: .1rem; padding: .9rem 2.5rem .9rem 1rem; position: relative; text-decoration: none; min-height: 64px; align-content: center; }
.music__profiles a::after { content: "↗"; position: absolute; right: 1rem; top: 50%; transform: translateY(-50%); color: var(--hot); }
.music__profiles strong { font-weight: 600; }
.music__profiles span { font: 400 .75rem/1.3 var(--font-mono); color: var(--muted); }
.music__profiles a:hover { background: var(--panel); }

/* Artist */
.artist { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }
.lead { font-size: clamp(1.2rem, 1.6vw, 1.45rem); line-height: 1.45; color: #fff; }
.prose { display: grid; gap: 1rem; max-width: 62ch; font-size: 1.04rem; }
/* Live */
.live__lead { max-width: 44ch; margin-bottom: 2rem; }
.points { display: grid; border-top: 1px solid var(--line); margin-bottom: 1.5rem; }
.points li { display: grid; grid-template-columns: 4rem minmax(0, 18rem) minmax(0, 1fr); gap: 1.5rem; align-items: baseline; padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.points__n { font: 400 .85rem/1 var(--font-mono); color: var(--hot); }
.points h3 { font: 700 1.7rem/1.05 var(--font-display); letter-spacing: .02em; text-transform: uppercase; }
.points p { font-size: 1.04rem; max-width: 56ch; }

/* Press */
.files { border-top: 1px solid var(--line); }
.file { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr) auto; gap: 1.25rem; align-items: center; padding: .9rem 0; border-bottom: 1px solid var(--line); }
.file__fmt { justify-self: start; padding: .2rem .45rem; border: 1px solid var(--muted); font: 400 .75rem/1.2 var(--font-mono); }
.file__name { display: grid; gap: .1rem; }
.file__name strong { font-weight: 600; font-size: 1.05rem; }
.file__name span { color: var(--muted); font-size: .92rem; }
.file__spec, .file__status { font: 400 .76rem/1.4 var(--font-mono); letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.file__status { color: var(--ink); }

/* Contact */
.contact { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }
.contact__info { display: grid; gap: 1rem; }
.contact__block { display: grid; gap: 1rem; justify-items: start; }
.contact__email { font: 700 clamp(1.5rem, 2.6vw, 2.2rem)/1.15 var(--font-display); letter-spacing: .02em; color: #fff; overflow-wrap: anywhere; text-decoration-color: var(--red); text-underline-offset: .2em; }
.contact__routes { display: flex; flex-wrap: wrap; gap: .5rem; }
.draft { display: grid; gap: .9rem; }
.draft .cap--bar { border-top: 1px solid var(--line); }
.draft label { display: grid; gap: .3rem; font-size: .9rem; font-weight: 600; }
.draft input, .draft select, .draft textarea { width: 100%; min-height: 46px; padding: .55rem .7rem; border: 1px solid #6a6b6e; border-radius: 0; background: #121315; color: var(--ink); font-size: 1rem; font-weight: 400; }
.draft textarea { resize: vertical; line-height: 1.5; }
.draft textarea[readonly] { font: 400 .85rem/1.5 var(--font-mono); }
.draft__row { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
.draft__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.draft__status { min-height: 1.5em; font-size: .9rem; color: #fff; }

/* Footer */
.foot { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem 2rem; align-items: center; padding: 2rem var(--pad) 3rem; }
.foot img { mix-blend-mode: screen; }
.foot__links { display: flex; flex-wrap: wrap; gap: 0 1.5rem; }
.foot__links a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; text-decoration: none; }
.foot__links a:hover { color: var(--hot); }
.foot .fine { grid-column: 1 / -1; }

/* Tablet: rail becomes a top bar */
@media (max-width: 1080px) {
  html { scroll-padding-top: 4.5rem; }
  .rail { inset: 0 0 auto 0; flex-direction: row; align-items: center; justify-content: space-between; width: auto; height: 4rem; padding: 0 var(--pad); border-right: 0; border-bottom: 1px solid var(--line); }
  .rail__brand { display: flex; align-items: center; gap: .6rem; }
  .rail__brand img { width: 40px; height: 40px; }
  .rail__brand span { font-size: 1.4rem; }
  .rail__cta { display: none; }
  .rail__menu { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1rem; border: 1px solid var(--ink); background: transparent; color: var(--ink); font-weight: 600; }
  .rail__nav { position: fixed; inset: 4rem 0 0 0; display: none; align-content: start; margin: 0; padding: 1rem var(--pad) 2rem; background: var(--bg); overflow: auto; }
  .rail__nav[data-open="true"] { display: grid; }
  .rail__nav a { font-size: 1.3rem; min-height: 56px; align-items: center; }
  html.menu-open { overflow: hidden; }
  .main { margin-left: 0; padding-top: 4rem; }
  .hero { min-height: calc(100svh - 4rem); }
}

@media (max-width: 860px) {
  .hero { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .hero__text { border-right: 0; order: 2; padding-top: 0; }
  .hero__fig { order: 1; padding-bottom: 1.5rem; }
  .frame { min-height: 0; }
  .frame img { width: 100%; height: auto; max-height: none; }
  .channels ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .channels li:nth-child(2n) { border-right: 0; }
  .sec__head { grid-template-columns: 3rem minmax(0, 1fr); }
  .sec__note { grid-column: 1 / -1; }
  .feature, .music, .artist, .contact { grid-template-columns: minmax(0, 1fr); }
  .feature__thumb { border-right: 0 !important; border-bottom: 1px solid var(--line) !important; }
  .points li { grid-template-columns: 3rem minmax(0, 1fr); }
  .points p { grid-column: 2; }
  .file { grid-template-columns: 6rem minmax(0, 1fr) auto; }
}

@media (max-width: 560px) {
  .hero__cta { grid-template-columns: minmax(0, 1fr); }
  .blk { border-right: 0 !important; border-bottom: 1px solid var(--line) !important; min-height: 4.75rem !important; gap: .4rem; }
  .blk:last-child { border-bottom: 0 !important; }
  .vrow { grid-template-columns: 7rem minmax(0, 1fr); }
  .vrow__act { grid-column: 1 / -1; }
  .vrow__act .act { flex: 1; }
  .track { grid-template-columns: minmax(0, 1fr); }
  .track__art { max-width: 9rem; }
  .draft__row { grid-template-columns: minmax(0, 1fr); }
  .feature__act .act, .track__player .act { flex: 1; width: 100%; }
  .file { grid-template-columns: minmax(0, 1fr); gap: .6rem; }
  .file__fmt { justify-self: start; }
  .file .act { justify-self: stretch; }
  .foot { grid-template-columns: minmax(0, 1fr); }
}
