/* Dynasty Library — Music Department
   Layered on top of /assets/css/library.css. Never forks it.
   Dark, editorial, sales-free. No emoji, no gradients-for-gradients-sake. */

:root{
  --m-rule:#242424;
  --m-panel:#111111;
  --m-panel-2:#171717;
  --m-row:#0e0e0e;
  --m-hold:#e2574c;
  --m-live:#22c55e;
}

/* ---------- shared shell bits ---------- */
.m-body{padding-bottom:104px}

.m-sub-nav{
  border-bottom:1px solid var(--edge);
  background:var(--near);
}
.m-sub-nav-inner{
  display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;
  padding-top:12px;padding-bottom:12px;
}
.m-sub-nav a,.m-sub-nav span{
  font-family:'BarlowCondensed';font-weight:600;font-size:12.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--mute);
}
.m-sub-nav a:hover{color:var(--amber)}
.m-sub-nav a.on{color:var(--off)}

.m-crumb{
  font-family:'BarlowCondensed';font-weight:600;font-size:12px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--mute);
  line-height:1.6;overflow-wrap:break-word;
}
.m-crumb .sep{color:var(--slate);padding:0 2px}

.m-hero{padding:64px 24px 44px;border-bottom:1px solid var(--edge)}
.m-hero h1{
  font-family:'ArchivoBlack';font-size:clamp(30px,4.6vw,54px);
  line-height:1.04;letter-spacing:-.01em;color:var(--off);
  margin-bottom:18px;max-width:22ch;
}
.m-hero .lede{
  font-family:'Spectral';font-size:clamp(16.5px,1.7vw,19.5px);
  line-height:1.6;color:var(--bone);max-width:66ch;
}
.m-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

/* ---------- chips ---------- */
.m-chip{
  display:inline-block;
  font-family:'BarlowCondensed';font-weight:700;font-size:10.5px;
  letter-spacing:.16em;text-transform:uppercase;
  padding:3px 8px;border-radius:2px;
  border:1px solid var(--edge);background:var(--slate);color:var(--bone);
  white-space:nowrap;
}
.m-chip.era{background:#0d0d0d;color:var(--mute);border-color:#303030}
.m-chip.live{background:rgba(34,197,94,.12);color:#5fd98a;border-color:rgba(34,197,94,.4)}
.m-chip.pending{background:rgba(245,158,11,.12);color:var(--amber);border-color:rgba(245,158,11,.4)}
.m-chip.draft{background:rgba(138,133,120,.12);color:#b3ada0;border-color:#3a3a3a}
.m-chip.hold{background:rgba(226,87,76,.14);color:#f08b82;border-color:rgba(226,87,76,.45)}
.m-chip.rights{background:#0d0d0d;color:#bdb8ab;border-color:#333}
.m-chip.rated{background:#0d0d0d;color:#f2ede1;border-color:#5a5446}
.m-chip.rated-g{color:#5fd98a;border-color:rgba(34,197,94,.45)}
.m-chip.rated-pg{color:#8fc7ff;border-color:rgba(96,165,250,.45)}
.m-chip.rated-pg-13{color:var(--amber);border-color:rgba(245,158,11,.5)}
.m-chip.rated-r{color:#f08b82;border-color:rgba(226,87,76,.55)}
.m-chip.role{
  background:#131313;color:var(--role,#8fa3b8);
  border-color:var(--role,#8fa3b8);
}

/* ---------- shelves + album cards ---------- */
.m-shelf{padding:56px 0;border-bottom:1px solid var(--edge)}
.m-shelf:last-of-type{border-bottom:0}
.m-shelf-head{margin-bottom:24px}
.m-shelf-head h2{
  font-family:'ArchivoBlack';font-size:clamp(22px,2.6vw,30px);
  color:var(--off);letter-spacing:-.01em;margin-bottom:8px;
}
.m-shelf-head .count{
  font-family:'BarlowCondensed';font-weight:600;font-size:12px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--mute);
  display:block;margin-bottom:10px;
}
.m-shelf-head .blurb{
  font-family:'Spectral';font-size:16px;line-height:1.6;
  color:var(--bone);max-width:70ch;
}

.m-cards{
  display:grid;gap:22px;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
@media (max-width:900px){.m-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.m-cards{grid-template-columns:1fr}}
.m-card{
  display:flex;flex-direction:column;
  background:var(--m-panel);border:1px solid var(--edge);border-radius:4px;
  overflow:hidden;color:inherit;
  transition:border-color .15s ease,transform .15s ease;
}
.m-card:hover,.m-card:focus-visible{
  border-color:var(--amber-soft);transform:translateY(-2px);color:inherit;
}
.m-card:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.m-card-cover{aspect-ratio:1/1;background:#080808;overflow:hidden}
.m-card-cover img{width:100%;height:100%;object-fit:cover;display:block}
.m-card-body{padding:16px 16px 18px;display:flex;flex-direction:column;flex:1;gap:10px}
.m-card-kicker{
  font-family:'BarlowCondensed';font-weight:700;font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--amber);
}
.m-card h3{
  font-family:'ArchivoBlack';font-size:19px;line-height:1.15;
  letter-spacing:-.01em;color:var(--off);overflow-wrap:break-word;
}
.m-card .m-card-sub{
  font-family:'Spectral';font-size:14.5px;line-height:1.5;color:var(--bone);
}
.m-card .m-card-artist{
  font-family:'BarlowCondensed';font-weight:600;font-size:12px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--mute);
}
.m-chips{display:flex;flex-wrap:wrap;gap:6px}
.m-card-foot{
  margin-top:auto;padding-top:12px;border-top:1px solid #1e1e1e;
  display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  flex-wrap:wrap;
}
.m-card-tracks{
  font-family:'BarlowCondensed';font-weight:600;font-size:12px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--bone);
}
.m-card-cta{
  font-family:'BarlowCondensed';font-weight:700;font-size:12px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--amber);
}

/* ---------- album page ---------- */
.m-album-top{
  display:grid;grid-template-columns:320px minmax(0,1fr);gap:40px;
  padding:44px 0 48px;align-items:start;
}
@media (max-width:860px){
  .m-album-top{grid-template-columns:1fr;gap:26px}
}
.m-cover{border:1px solid var(--edge);border-radius:4px;overflow:hidden;background:#080808}
.m-cover img{width:100%;display:block;aspect-ratio:1/1;object-fit:cover}
.m-cover-tagline{
  font-family:'Spectral';font-style:italic;font-size:14.5px;line-height:1.55;
  color:var(--mute);padding:12px 14px 14px;border-top:1px solid var(--edge);
  background:var(--m-panel);
}
.m-album-title{
  font-family:'ArchivoBlack';font-size:clamp(30px,4.2vw,50px);line-height:1.03;
  letter-spacing:-.015em;color:var(--off);margin:10px 0 8px;
  overflow-wrap:break-word;
}
.m-album-sub{
  font-family:'BarlowCondensed';font-weight:600;font-size:clamp(14px,1.6vw,17px);
  letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:18px;
}
.m-meta-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:16px 26px;margin:20px 0 22px;
  border-top:1px solid var(--edge);border-bottom:1px solid var(--edge);
  padding:18px 0;
}
.m-meta-key{
  font-family:'BarlowCondensed';font-weight:700;font-size:10.5px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--mute);
  margin-bottom:4px;
}
.m-meta-val{
  font-family:'Spectral';font-size:15px;line-height:1.45;color:var(--off);
  overflow-wrap:break-word;
}
.m-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

.m-section{padding:40px 0;border-top:1px solid var(--edge)}
.m-section h2,.m-section h3{
  font-family:'ArchivoBlack';color:var(--off);letter-spacing:-.01em;
}
.m-section h2{font-size:clamp(21px,2.4vw,28px);margin-bottom:6px}
.m-section h3{font-size:19px;margin-bottom:6px}
.m-section .note{
  font-family:'BarlowCondensed';font-weight:600;font-size:12px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--mute);
  margin-bottom:18px;
}
.m-prose{
  font-family:'Spectral';font-size:17px;line-height:1.68;color:var(--bone);
  max-width:70ch;
}
.m-prose p+p{margin-top:14px}

/* ---------- track table ---------- */
.m-tracks{
  border:1px solid var(--edge);border-radius:4px;overflow:hidden;
  background:var(--m-panel);
}
.m-track{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 68px 44px;
  gap:14px;align-items:start;
  padding:14px 16px;border-top:1px solid #1c1c1c;
}
.m-track:first-child{border-top:0}
.m-track.active{background:#191308;box-shadow:inset 3px 0 0 var(--amber)}
.m-track-num{
  font-family:'BarlowCondensed';font-weight:700;font-size:14px;
  letter-spacing:.08em;color:var(--mute);padding-top:2px;
}
.m-track.active .m-track-num{color:var(--amber)}
.m-track-main{min-width:0}
.m-track-title{
  font-family:'BarlowCondensed';font-weight:700;font-size:17px;
  letter-spacing:.02em;color:var(--off);line-height:1.25;
  overflow-wrap:break-word;
}
.m-track-title-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.m-track-blurb{
  font-family:'Spectral';font-size:14px;line-height:1.5;color:var(--mute);
  margin-top:5px;max-width:62ch;
}
.m-track-source{
  font-family:'BarlowCondensed';font-weight:600;font-size:11.5px;
  letter-spacing:.1em;text-transform:uppercase;color:#9a9486;margin-top:6px;
}
.m-track-dur{
  font-family:'BarlowCondensed';font-weight:600;font-size:14px;
  letter-spacing:.08em;color:var(--bone);text-align:right;padding-top:3px;
  font-variant-numeric:tabular-nums;
}
.m-track-err{
  font-family:'BarlowCondensed';font-weight:600;font-size:11px;
  letter-spacing:.12em;text-transform:uppercase;color:#f08b82;margin-top:6px;
}

/* play buttons */
.m-play{
  width:34px;height:34px;border-radius:50%;
  border:1px solid #3a3a3a;background:#0a0a0a;color:var(--bone);
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;padding:0;flex:none;
  transition:border-color .12s ease,color .12s ease,background .12s ease;
}
.m-play:hover{border-color:var(--amber);color:var(--amber)}
.m-play:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.m-play[aria-pressed="true"],.m-play.on{border-color:var(--amber);color:#0a0a0a;background:var(--amber)}
.m-play svg{width:13px;height:13px;display:block}
.m-play.lg{width:44px;height:44px}
.m-play.lg svg{width:16px;height:16px}
.m-play[disabled]{opacity:.35;cursor:not-allowed}

/* ---------- callouts ---------- */
.m-callout{
  border:1px solid var(--edge);border-left:3px solid var(--amber);
  background:var(--m-panel-2);border-radius:3px;padding:20px 22px;
}
.m-callout.hold{border-left-color:var(--m-hold)}
.m-callout h3{
  font-family:'ArchivoBlack';font-size:18px;color:var(--off);margin-bottom:8px;
  letter-spacing:-.01em;
}
.m-callout p{
  font-family:'Spectral';font-size:15.5px;line-height:1.6;color:var(--bone);
  max-width:74ch;
}
.m-callout p+p{margin-top:10px}
.m-rights-line{
  font-family:'BarlowCondensed';font-weight:600;font-size:12.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--mute);
  margin-top:12px;line-height:1.7;
}
.m-rights-line.url{
  text-transform:none;letter-spacing:.02em;font-size:13px;
  word-break:break-all;
}
.m-error{
  border:1px solid rgba(226,87,76,.5);background:rgba(226,87,76,.08);
  border-radius:3px;padding:20px 22px;margin:32px 0;
}
.m-error h3{font-family:'ArchivoBlack';font-size:18px;color:#f08b82;margin-bottom:8px}
.m-error p{font-family:'Spectral';font-size:15.5px;line-height:1.6;color:var(--bone)}
.m-loading{
  font-family:'BarlowCondensed';font-weight:600;font-size:13px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--mute);
  padding:40px 0;
}

/* ---------- sticky player ---------- */
.m-player{
  position:fixed;left:0;right:0;bottom:0;z-index:80;
  background:rgba(12,12,12,.97);
  border-top:1px solid var(--edge);
  backdrop-filter:saturate(140%) blur(8px);
}
.m-player-inner{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  gap:16px;align-items:center;padding:12px 24px;
  max-width:1180px;margin:0 auto;
}
.m-player-ctrls{display:flex;gap:8px;align-items:center}
.m-player-now{min-width:0}
.m-player-label{
  font-family:'BarlowCondensed';font-weight:700;font-size:10px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--amber);
}
.m-player-title{
  font-family:'BarlowCondensed';font-weight:700;font-size:15.5px;
  letter-spacing:.04em;color:var(--off);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.m-player-meta{
  font-family:'BarlowCondensed';font-weight:500;font-size:12px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--mute);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.m-player-time{
  font-family:'BarlowCondensed';font-weight:600;font-size:12.5px;
  letter-spacing:.08em;color:var(--mute);font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.m-bar{height:3px;background:#232323;border-radius:2px;margin-top:7px;overflow:hidden}
.m-bar i{display:block;height:100%;width:0;background:var(--amber)}
@media (max-width:640px){
  .m-player-inner{grid-template-columns:auto minmax(0,1fr);padding:10px 16px;gap:12px}
  .m-player-time{display:none}
}

/* ---------- DKYN ---------- */
.m-dkyn-mark{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.m-dkyn-mark .call{
  font-family:'ArchivoBlack';font-size:clamp(38px,7vw,74px);line-height:.95;
  letter-spacing:-.02em;color:var(--off);
}
.m-dkyn-mark .call .amber{color:var(--amber)}
.m-dkyn-mark .name{
  font-family:'BarlowCondensed';font-weight:700;font-size:clamp(13px,1.6vw,17px);
  letter-spacing:.28em;text-transform:uppercase;color:var(--mute);
}
.m-onair{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'BarlowCondensed';font-weight:700;font-size:11.5px;
  letter-spacing:.2em;text-transform:uppercase;color:#5fd98a;
  border:1px solid rgba(34,197,94,.4);background:rgba(34,197,94,.1);
  padding:4px 10px;border-radius:2px;
}
.m-onair i{
  width:7px;height:7px;border-radius:50%;background:var(--m-live);
  box-shadow:0 0 8px var(--m-live);animation:mDot 1.9s ease-in-out infinite;
}
@keyframes mDot{0%,100%{opacity:1}50%{opacity:.35}}
.m-onair.off{color:#f08b82;border-color:rgba(226,87,76,.45);background:rgba(226,87,76,.1)}
.m-onair.off i{background:var(--m-hold);box-shadow:none;animation:none}

.m-now{
  border:1px solid var(--edge);border-radius:4px;background:var(--m-panel);
  padding:26px;
}
.m-now h2{
  font-family:'ArchivoBlack';font-size:clamp(24px,3.2vw,36px);line-height:1.06;
  color:var(--off);letter-spacing:-.015em;margin:12px 0 8px;
}
.m-now .bumper{
  font-family:'Spectral';font-style:italic;font-size:17px;line-height:1.6;
  color:var(--amber);border-left:3px solid var(--amber);padding-left:16px;
  margin:16px 0 18px;max-width:70ch;
}
.m-stats{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:14px 24px;border-top:1px solid var(--edge);padding-top:16px;margin-top:4px;
}
.m-stat-key{
  font-family:'BarlowCondensed';font-weight:700;font-size:10.5px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--mute);
}
.m-stat-val{
  font-family:'ArchivoBlack';font-size:19px;color:var(--off);margin-top:4px;
  letter-spacing:-.01em;
}
.m-stat-val.small{font-family:'BarlowCondensed';font-weight:600;font-size:15px;letter-spacing:.06em}
.m-stat-val.over{color:var(--amber)}

.m-days{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.m-day{
  font-family:'BarlowCondensed';font-weight:700;font-size:12px;
  letter-spacing:.14em;text-transform:uppercase;
  background:#0d0d0d;border:1px solid var(--edge);color:var(--bone);
  padding:7px 12px;border-radius:2px;cursor:pointer;
}
.m-day:hover{border-color:var(--amber);color:var(--amber)}
.m-day:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.m-day[aria-pressed="true"]{background:var(--amber);border-color:var(--amber);color:#0a0a0a}

.m-grid-hours{
  border:1px solid var(--edge);border-radius:4px;overflow:hidden;
  background:var(--m-panel);
}
.m-hour{
  display:grid;grid-template-columns:76px minmax(0,1fr) auto;
  gap:14px;align-items:center;padding:10px 16px;
  border-top:1px solid #1a1a1a;
}
.m-hour:first-child{border-top:0}
.m-hour.on{background:#191308}
.m-hour-time{
  font-family:'BarlowCondensed';font-weight:700;font-size:13px;
  letter-spacing:.1em;color:var(--mute);font-variant-numeric:tabular-nums;
}
.m-hour.on .m-hour-time{color:var(--amber)}
.m-hour-name{
  font-family:'BarlowCondensed';font-weight:600;font-size:15px;
  letter-spacing:.06em;color:var(--off);overflow-wrap:break-word;
}
.m-hour-name.dark{color:#6f6a5f}
.m-hour-tag{
  font-family:'BarlowCondensed';font-weight:600;font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--mute);
  text-align:right;
}

.m-blocks{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.m-block{
  border:1px solid var(--edge);border-radius:4px;background:var(--m-panel);
  padding:20px;display:flex;flex-direction:column;gap:10px;
}
.m-block.dead{border-color:rgba(226,87,76,.35)}
.m-block h3{
  font-family:'ArchivoBlack';font-size:19px;color:var(--off);line-height:1.15;
  letter-spacing:-.01em;overflow-wrap:break-word;
}
.m-block .kick{
  font-family:'BarlowCondensed';font-weight:700;font-size:10.5px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--amber);
}
.m-block .bump{
  font-family:'Spectral';font-size:14.5px;line-height:1.55;color:var(--mute);
}
.m-block dl{
  display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin-top:auto;
  padding-top:12px;border-top:1px solid #1e1e1e;
}
.m-block dt{
  font-family:'BarlowCondensed';font-weight:700;font-size:10.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--mute);
  align-self:center;
}
.m-block dd{
  font-family:'BarlowCondensed';font-weight:600;font-size:13.5px;
  letter-spacing:.06em;color:var(--off);overflow-wrap:break-word;
}

/* ---------- playlist landing (lighter, standalone) ---------- */
.m-lp{background:var(--ink)}
.m-lp-head{padding:56px 24px 30px;border-bottom:1px solid var(--edge)}
.m-lp-title{
  font-family:'ArchivoBlack';font-size:clamp(28px,4.4vw,50px);line-height:1.04;
  color:var(--off);letter-spacing:-.015em;margin:14px 0 12px;
}
.m-johnson{
  border:2px solid var(--amber);background:#100d06;border-radius:3px;
  padding:22px 24px;margin:28px 0 34px;
}
.m-johnson h2{
  font-family:'ArchivoBlack';font-size:20px;color:var(--off);margin-bottom:8px;
  letter-spacing:-.01em;
}
.m-johnson p{
  font-family:'Spectral';font-size:15.5px;line-height:1.6;color:var(--bone);
  max-width:70ch;
}
.m-johnson-form{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin-top:18px}
.m-field{display:flex;flex-direction:column;gap:6px;min-width:240px;flex:1}
.m-field label{
  font-family:'BarlowCondensed';font-weight:700;font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--mute);
}
.m-field select{
  background:#0a0a0a;border:1px solid #3a3a3a;color:var(--off);
  font-family:'BarlowCondensed';font-weight:600;font-size:15px;
  letter-spacing:.06em;padding:11px 13px;border-radius:2px;width:100%;
}
.m-field select:focus{outline:2px solid var(--amber);outline-offset:1px;border-color:var(--amber)}
.m-lp-embed{
  display:grid;grid-template-columns:220px minmax(0,1fr);gap:26px;align-items:start;
  border:1px solid var(--edge);border-radius:4px;background:var(--m-panel);
  padding:22px;margin-bottom:26px;
}
@media (max-width:720px){.m-lp-embed{grid-template-columns:1fr}}
.m-lp-embed img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:3px;display:block}
.m-lp-embed h2{
  font-family:'ArchivoBlack';font-size:clamp(22px,2.8vw,30px);color:var(--off);
  letter-spacing:-.015em;line-height:1.1;margin-bottom:6px;
}
.m-audio{width:100%;margin-top:16px;filter:invert(.92) hue-rotate(180deg)}
.m-fine{
  font-family:'Spectral';font-size:13.5px;line-height:1.6;color:var(--mute);
  max-width:74ch;
}

/* ---------- footer note ---------- */
.m-foot{padding:44px 24px 60px;border-top:1px solid var(--edge)}
.m-foot p{
  font-family:'BarlowCondensed';font-weight:500;font-size:13px;
  letter-spacing:.08em;color:var(--mute);line-height:1.7;max-width:80ch;
}
.m-foot p+p{margin-top:6px}

@media (max-width:560px){
  .m-track{grid-template-columns:30px minmax(0,1fr) 40px;gap:10px}
  .m-track-dur{grid-column:2;text-align:left;padding-top:0;font-size:13px}
  .m-hour{grid-template-columns:66px minmax(0,1fr);gap:10px}
  .m-hour-tag{grid-column:2;text-align:left}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important}
}

/* badge should hug its label inside the flex-column block card */
.m-block .m-onair{align-self:flex-start}

/* small-screen shell: keep the library nav from crowding */
@media (max-width:560px){
  .nav-inner{height:auto;padding-top:12px;padding-bottom:12px;gap:10px 14px;flex-direction:column;align-items:flex-start}
  .brand{font-size:17px}
  .nav-links{gap:14px;flex-wrap:wrap;width:100%}
  .nav-links a{font-size:12.5px;letter-spacing:.06em}
  .nav-cta{padding:6px 10px;font-size:12px}
  .m-hero{padding:44px 20px 34px}
  .m-sub-nav-inner{gap:6px 16px}
  .m-now{padding:18px}
  .m-johnson{padding:18px 16px}
  .m-lp-embed{padding:16px}
}

/* Category picker: Singles / Albums / Sessions */
.m-cats{padding:48px 0 8px}
.m-cat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.m-cat{display:flex;flex-direction:column;text-align:left;padding:0;background:var(--m-panel);border:1px solid var(--edge);border-radius:4px;color:inherit;font:inherit;cursor:pointer;overflow:hidden;transition:border-color .2s,transform .2s}
.m-cat:hover{border-color:#5a5446;transform:translateY(-2px)}
.m-cat:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.m-cat[aria-pressed="true"]{border-color:var(--amber);box-shadow:0 0 0 1px var(--amber) inset}
.m-cat-cover{display:block;aspect-ratio:16/9;background:#0a0a0a;overflow:hidden}
.m-cat-cover img{width:100%;height:100%;object-fit:cover;display:block;opacity:.85;transition:opacity .2s}
.m-cat[aria-pressed="true"] .m-cat-cover img,.m-cat:hover .m-cat-cover img{opacity:1}
/* Life Flight only: the approved cover puts his face high in frame, so the 16:9 tile keeps both his eyes and the $84,676.23 total. */
.m-cat-cover img[src*="the-84000-life-flight-and-guess-who-pays"]{object-position:center 22%}
.m-cat-body{display:flex;flex-direction:column;gap:6px;padding:18px 20px 22px}
.m-cat-count{font-family:'BarlowCondensed';font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber)}
.m-cat-title{font-family:'ArchivoBlack';font-size:28px;line-height:1.1;color:var(--off)}
.m-cat-blurb{font-family:'Spectral';font-size:15px;line-height:1.5;color:var(--bone)}
@media (max-width:760px){.m-cat-grid{grid-template-columns:1fr;gap:12px}.m-cat{flex-direction:row}.m-cat-cover{aspect-ratio:1/1;width:96px;flex:0 0 96px}.m-cat-body{padding:12px 14px}.m-cat-title{font-size:22px}.m-cat-blurb{font-size:13px}}
.m-group + .m-group{margin-top:56px;padding-top:48px;border-top:1px solid var(--edge)}
.m-camp-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:28px 0 8px}
.m-camp-panel{margin-top:40px;padding-top:40px;border-top:1px solid var(--edge)}
@media (max-width:760px){.m-camp-grid{grid-template-columns:1fr}}
.m-cuts{margin-top:36px}
.m-cuts-title{font-size:clamp(22px,3vw,30px);margin:4px 0 6px}

/* ---------- Text-first browsing (Don, 2026-10-19) ----------
   Three category boxes are words only. Every list below is text: singles,
   cuts and albums are rows, and an album row opens to its full track list. */
.m-cat-text{justify-content:center;min-height:132px}
.m-cat-text .m-cat-body{gap:10px;padding:28px 26px}
.m-cat-text .m-cat-title{font-size:40px;letter-spacing:.01em;text-transform:uppercase}
.m-cat-text[aria-pressed="true"] .m-cat-title{color:var(--amber)}
.m-camp .m-cat-body{padding:22px 24px}
.m-list{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.m-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:16px 20px;background:var(--m-panel);border:1px solid var(--edge);border-radius:4px;color:var(--bone);cursor:pointer;list-style:none;transition:border-color .2s}
.m-row::-webkit-details-marker{display:none}
.m-row:hover{border-color:#5a5446;color:var(--bone)}
.m-row:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.m-row-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.m-row-kicker{font-family:'BarlowCondensed';font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber)}
.m-row-title{font-family:'ArchivoBlack';font-size:21px;line-height:1.15;color:var(--off)}
.m-row-sub{font-family:'Spectral';font-size:14px;color:var(--mute)}
.m-row-meta{font-family:'BarlowCondensed';font-weight:500;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);white-space:nowrap}
.m-row-cta{font-family:'BarlowCondensed';font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber)}
.m-chev::after{content:'+';display:inline-block;font-family:'ArchivoBlack';font-size:22px;line-height:1;width:22px;text-align:center}
.m-album[open] > .m-row{border-color:var(--amber);border-bottom-left-radius:0;border-bottom-right-radius:0}
.m-album[open] .m-chev::after{content:'\2212'}
.m-album-body{border:1px solid var(--amber);border-top:0;border-radius:0 0 4px 4px;background:#0d0d0d;padding:6px 20px 18px}
.m-tracklist{list-style:none;margin:0;padding:0}
.m-tracklist li{border-bottom:1px solid var(--edge)}
.m-tracklist a{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:baseline;padding:12px 0;color:var(--bone)}
.m-tracklist a:hover .m-tl-title{color:var(--amber)}
.m-tl-num{font-family:'BarlowCondensed';font-weight:700;font-size:15px;color:var(--amber)}
.m-tl-title{font-family:'Spectral';font-weight:500;font-size:17px;color:var(--off)}
.m-tl-tag{font-family:'BarlowCondensed';font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-left:6px}
.m-tl-dur{font-family:'BarlowCondensed';font-weight:500;font-size:14px;color:var(--mute)}
.m-tl-empty{font-family:'Spectral';font-size:15px;color:var(--mute);margin:14px 0}
.m-open{display:inline-block;margin-top:14px;font-family:'BarlowCondensed';font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.m-group + .m-group{margin-top:44px}
.m-track-target{outline:1px solid var(--amber);outline-offset:-1px}
@media (max-width:760px){
  .m-cat-text{min-height:0;flex-direction:column;justify-content:flex-start}.m-cat-text .m-cat-body{padding:18px 20px}.m-cat-text .m-cat-title{font-size:28px}
  .m-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px 16px}
  .m-row .m-row-meta{grid-column:1;grid-row:2}
  .m-row .m-row-cta{grid-column:2;grid-row:1 / span 2}
  .m-row-title{font-size:18px}
  .m-album-body{padding:4px 14px 14px}
}
