/* Archivo, self-hosted (same files and @font-face as staging): no request to Google Fonts */
@font-face{font-family:'Archivo';font-style:normal;font-weight:400 800;font-stretch:62% 125%;font-display:swap;src:url(../fonts/archivo/archivo-v25-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400 800;font-stretch:62% 125%;font-display:swap;src:url(../fonts/archivo/archivo-v25-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400 800;font-stretch:62% 125%;font-display:swap;src:url(../fonts/archivo/archivo-v25-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* ==========================================================================
   ECM — Electronic Clubbing Movement
   Evolved from the original mockup (see /legacy). Same palette, typeface and
   components; adds accessibility fixes, the tablet header fix and the page
   patterns needed by the platform (listings, detail pages, text pages).
   ========================================================================== */

:root{
  --bg:          #f4f3f0;
  --frame:       #e4e1da;   /* outside the editorial sheet: a shade darker than --bg */
  --masthead:    #0b0b0b;
  --ink:         #111111;
  --ink-soft:    #3b3b3b;
  --muted:       #6f6c66;   /* was #8a8781 (3.2:1) → 4.7:1 on --bg, WCAG AA */
  --accent:      #ad521d;   /* was #b4561f (4.4:1) → 4.7:1 on --bg, WCAG AA */
  --rule:        #d6d3cc;
  --rule-strong: #b9b5ad;
  --max:         1320px;
  --gap:         40px;
  --pad:         28px;      /* page gutter */
  --tap:         44px;      /* minimum touch target on touch layouts */
  --focus:       #111111;

  /* Type system — one family (Archivo), three weights (400 / 600 / 800).
     Labels: 11px caps · .12em.  Text: 14 / 15px.  Titles: 15 · 17 · 22px.
     Display (lead / page titles): --d1. Hierarchy = size, weight, space, position. */
  --d1: clamp(24px, 2.1vw, 30px);
  --d1-track: 17px;
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--frame);
  color:var(--ink);
  font-family:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-stretch:100%;
  font-size:15px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}

/* Accessibility utilities -------------------------------------------------- */
.visually-hidden{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;
}
.skip-link{
  position:absolute;left:12px;top:-100px;z-index:100;
  background:var(--ink);color:var(--bg);padding:12px 16px;
  font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;
}
.skip-link:focus{top:12px}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
main:focus{outline:none}


/* Arrows / CTAs ----------------------------------------------------------- */
.arrow{color:var(--accent);display:inline-block;transition:transform .25s ease}
a:hover .arrow,button:hover .arrow{transform:translateX(5px)}
a:hover .arrow--back{transform:translateX(-5px)}

.cta{
  display:inline-flex;align-items:center;gap:12px;
  font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;
  min-height:24px;
}
.cta--lg{font-size:11px;letter-spacing:.12em}

/* Section titles ---------------------------------------------------------- */
.section-title{
  font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.18em;
  padding-bottom:10px;margin-bottom:26px;position:relative;
}
.section-title::after{
  content:"";position:absolute;left:0;bottom:0;width:26px;height:2px;background:var(--accent);
}

/* ==========================================================================
   HEADER
   ========================================================================== */





.nav-toggle[aria-expanded="true"] .nav-toggle-bars span:nth-child(2){opacity:0}

/* ==========================================================================
   FEATURED
   ========================================================================== */
.featured{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);
  padding-top:54px;padding-bottom:58px;
}

.feat{display:flex;flex-direction:column;min-width:0}
.feat-meta{display:flex;align-items:baseline;gap:12px;margin:0 0 16px}
.num{font-weight:600;color:var(--ink)}
.kicker{
  margin:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);
}
.feat-date{
  margin-left:auto;font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);
}

.thumb{
  display:block;aspect-ratio:1/1;background:#0b0b0b;overflow:hidden;
  transition:opacity .3s ease;
}
a.thumb:hover{opacity:.82}
.thumb picture,.thumb img,.mini picture,.mini img{display:block;width:100%;height:100%;object-fit:cover}

.feat-body{flex:1 1 auto}
.feat-title{
  font-size:24px;font-weight:800;font-stretch:85%;letter-spacing:-.005em;text-transform:uppercase;
  margin:20px 0 8px;overflow-wrap:anywhere;
}
.feat-title a{transition:color .2s}
.feat-title a:hover{color:var(--accent)}
.feat-sub{
  margin:0;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);
}
.feat .cta{margin-top:26px;align-self:flex-start}

/* Placeholder artwork ------------------------------------------------------
   Temporary design placeholders, used only while an item has no real image.
   Set with `placeholder: <name>` in the content file.                       */
.thumb--default,.mini--default{background:#0b0b0b}
.thumb--eclipse{
  background:
    radial-gradient(circle at 50% 42%, #000 0 26%, rgba(255,255,255,.55) 26.6%, rgba(0,0,0,0) 34%),
    radial-gradient(ellipse at 50% 95%, #4a4a4a 0%, #0d0d0d 60%),
    #050505;
}
.thumb--portrait{
  background:
    radial-gradient(ellipse at 44% 34%, #6e6a66 0%, rgba(0,0,0,0) 46%),
    linear-gradient(160deg,#2a2826 0%,#0a0a0a 72%),
    #101010;
}
.thumb--crowd{
  background:
    linear-gradient(to bottom, rgba(255,255,255,.85) 0 42%, rgba(255,255,255,0) 42%) 22% 0/6px 100% no-repeat,
    linear-gradient(to bottom, rgba(255,255,255,.9) 0 52%, rgba(255,255,255,0) 52%) 50% 0/7px 100% no-repeat,
    linear-gradient(to bottom, rgba(255,255,255,.8) 0 46%, rgba(255,255,255,0) 46%) 76% 0/6px 100% no-repeat,
    linear-gradient(to top,#000 0 38%, #1c1c1c 100%),
    #0a0a0a;
}

/* ==========================================================================
   LATEST
   ========================================================================== */
.latest{padding-bottom:58px}
.latest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.latest-grid .col + .col{border-left:1px solid var(--rule);padding-left:var(--gap)}
.latest-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.latest-grid--1{grid-template-columns:minmax(0,1fr)}

.col-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:8px;
}
.col-head h2,.col-head h3{
  font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;
}
.view-all{
  display:inline-flex;align-items:center;gap:9px;min-height:24px;
  font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);
}
.view-all:hover{color:var(--accent)}

.list li{border-bottom:1px solid var(--rule)}
.list li:last-child{border-bottom:0}
.list a,.list li > .txt{display:flex;gap:16px;align-items:flex-start;padding:15px 0;transition:opacity .2s}
.list a:hover{opacity:.62}

.mini{flex:0 0 58px;width:58px;height:58px;background:#0b0b0b;display:block;overflow:hidden}
.txt{display:flex;flex-direction:column;gap:2px;padding-top:2px;min-width:0}
.txt strong,.t-artist,.ev-txt strong{
  font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;
}
.txt em,.t-track,.t-label,.ev-txt em{
  font-style:normal;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);
}

.mini--eclipse{background:radial-gradient(circle at 50% 45%,#000 0 34%,rgba(255,255,255,.5) 35%,#000 48%),#060606}
.mini--spark,.thumb--spark{background:radial-gradient(circle at 50% 50%,#fff 0 4%,#7a7a7a 9%,#000 40%),#050505}
.mini--lines{background:repeating-linear-gradient(90deg,#f0f0f0 0 1px,#0a0a0a 1px 4px),#0a0a0a}
.thumb--lines{background:repeating-linear-gradient(90deg,#f0f0f0 0 2px,#0a0a0a 2px 9px),#0a0a0a}
.mini--portrait{background:linear-gradient(150deg,#5d5a57 0%,#0c0c0c 70%),#101010}
.mini--portrait2,.thumb--portrait2{background:linear-gradient(200deg,#4a4744 0%,#090909 68%),#0d0d0d}
.mini--beams,.mini--crowd{background:
  linear-gradient(to bottom,#fff 0 55%,rgba(0,0,0,0) 55%) 28% 0/4px 100% no-repeat,
  linear-gradient(to bottom,#fff 0 62%,rgba(0,0,0,0) 62%) 50% 0/4px 100% no-repeat,
  linear-gradient(to bottom,#fff 0 50%,rgba(0,0,0,0) 50%) 72% 0/4px 100% no-repeat,#070707}
.mini--orb,.thumb--orb{background:radial-gradient(circle at 50% 50%,#e6e2da 0 8%,#6b6149 22%,#000 55%),#050505}
.mini--ring,.thumb--ring{background:radial-gradient(circle at 50% 50%,#000 0 30%,#d8d2c6 32%,#000 40%),#050505}

/* ==========================================================================
   SELECTS + EVENTS
   ========================================================================== */
.selects-events{
  display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:56px;
  padding-bottom:58px;
}
.events{border-left:1px solid var(--rule);padding-left:56px}

.tracks li{
  display:grid;
  grid-template-columns:34px minmax(0,1.1fr) minmax(0,1.1fr) minmax(0,1fr) auto;
  align-items:center;gap:14px;
  padding:13px 0;border-bottom:1px solid var(--rule);
}
.t-num{font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.12em}
.t-links{display:flex;gap:4px;align-items:center;justify-self:end}
.tracks a:hover,.ev-txt a:hover,.meta a:hover{color:var(--accent)}
/* Enlarge small text links to a 24px target without moving the layout (WCAG 2.5.8) */
.tracks a,.ev-txt a,.meta dd a,.crumbs a,.txt a{display:inline-block;padding:5px 0;margin:-5px 0}

.ic{
  width:28px;height:28px;display:block;opacity:.8;
  background-repeat:no-repeat;background-position:center;background-size:16px 16px;
  transition:opacity .2s,transform .2s;
}
.ic:hover{opacity:1;transform:scale(1.12)}
.ic-play{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23111'%3E%3Cpath d='M7 4l13 8-13 8z'/%3E%3C/svg%3E");
}
.ic-play[aria-pressed="true"]{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23111'%3E%3Cpath d='M6 4h4v16H6zM14 4h4v16h-4z'/%3E%3C/svg%3E");
}
.ic-spotify{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23111'%3E%3Cpath d='M12 2a10 10 0 100 20 10 10 0 000-20zm4.6 14.4a.8.8 0 01-1.1.3c-2.9-1.8-6.6-2.2-10-1.4a.8.8 0 11-.3-1.5c3.7-.9 7.8-.4 11.1 1.6.4.2.5.7.3 1zm1.2-2.8a1 1 0 01-1.3.3c-3.3-2-8.3-2.6-12.2-1.4a1 1 0 11-.6-1.9c4.5-1.3 10-.7 13.8 1.6.5.3.6.9.3 1.4zm.1-2.9C14.1 8.4 7.9 8.2 4.3 9.3a1.2 1.2 0 11-.7-2.3C7.8 5.7 14.6 6 19 8.6a1.2 1.2 0 01-1.2 2.1z'/%3E%3C/svg%3E");
}
.ic-sc{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23111'%3E%3Cpath d='M2 14v3.2h1.1V14H2zm2.2-1.4v4.6h1.1v-4.6H4.2zm2.2-1.1v5.7h1.1v-5.7H6.4zm2.2-1.3v7h1.1v-7H8.6zm2.3-.9v7.9H12V9.3h-1.1zm2.6 7.9h5.3a3 3 0 00.3-6 4.6 4.6 0 00-5.6-3.5v9.5z'/%3E%3C/svg%3E");
}

.selects .cta--lg{margin-top:26px}

.event-list li{
  display:flex;gap:22px;align-items:center;
  padding:16px 0;border-bottom:1px solid var(--rule);
}
.date{display:flex;flex-direction:column;align-items:center;min-width:44px;line-height:1}
.date strong{font-size:25px;font-weight:600;letter-spacing:-.02em}
.date em{
  font-style:normal;font-size:11px;font-weight:600;text-transform:uppercase;
  letter-spacing:.12em;color:var(--ink-soft);margin-top:5px;
}
.date .date-year{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.event-list--past .date .date-year{position:static;width:auto;height:auto;clip-path:none;margin-top:3px;letter-spacing:.08em}
.event-list--past{color:var(--ink-soft)}
.ev-txt{display:flex;flex-direction:column;gap:3px}
.ev-status{color:var(--accent)!important}

.events .cta--lg{margin-top:24px}

/* ==========================================================================
   LABELS
   ========================================================================== */
.labels{padding-bottom:54px}
.label-row{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:6px;
}
.label-row li{flex:1 1 0;min-width:0}
.label-row li + li{border-left:1px solid var(--rule)}
.label-row a{
  display:block;text-align:center;
  font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;
  padding:6px 4px;transition:color .2s;
}
.label-row a:hover{color:var(--accent)}
.labels-more{margin:26px 0 0}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer{border-top:1px solid var(--rule-strong)}

.footer-main{
  display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;
  padding-top:32px;padding-bottom:28px;
}
.footer-brand{display:inline-flex;align-items:baseline;gap:12px}
.footer-mark{font-size:24px;font-weight:800;letter-spacing:-.03em;line-height:1}
.footer-name{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}
.footer-tagline{margin:12px 0 0;max-width:40ch;font-size:14px;line-height:1.55;color:var(--ink-soft)}
.footer-sections ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}
.footer-sections a{display:inline-block;padding:5px 0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em}
.footer-sections a:hover{color:var(--accent)}

.footer-bottom{
  display:flex;align-items:flex-start;justify-content:space-between;gap:30px;
  border-top:1px solid var(--rule);padding-top:16px;padding-bottom:28px;
}
.copy{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);line-height:1.7}
.footer-nav ul{display:flex;gap:4px 32px;flex-wrap:wrap}
.footer-nav a{display:inline-block;padding:6px 0;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}
.footer-nav a:hover{color:var(--accent)}

/* ==========================================================================
   PAGES — listings, detail pages and text pages (built from the same parts)
   ========================================================================== */
.page{padding-top:54px;padding-bottom:58px}
.page-head{margin-bottom:44px;max-width:760px}
.page-head .kicker{margin-top:14px}
.page-title{
  font-size:var(--d1);font-weight:800;font-stretch:85%;letter-spacing:0;text-transform:uppercase;line-height:1.08;
  margin:10px 0 0;overflow-wrap:anywhere;
}
.page-title-sub{
  display:block;margin-top:12px;
  font-size:var(--d1-track);font-weight:400;font-stretch:100%;letter-spacing:.02em;line-height:1.3;color:var(--ink-soft);
}
.page-sub{margin:10px 0 0;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}
.page-intro{margin:14px 0 0;max-width:60ch;color:var(--ink-soft)}

.crumbs ol{display:flex;flex-wrap:wrap;gap:4px 10px;margin-bottom:6px}
.crumbs li{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}
.crumbs li + li::before{content:"/";margin-right:10px;color:var(--rule-strong)}
.crumbs a:hover{color:var(--accent)}
.detail > .crumbs{margin-bottom:34px}

.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px var(--gap)}
.card-grid .feat-title{font-size:22px}

.detail-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start}
.detail-media .thumb{max-width:480px}
.credit{margin:8px 0 0;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}
.detail-main .feat-meta{margin-bottom:6px}
.detail-main .feat-date{margin-left:0}

.meta{margin:28px 0 0;border-top:1px solid var(--rule)}
.meta > div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;padding:11px 0;border-bottom:1px solid var(--rule)}
.meta dt{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);padding-top:2px}
.meta dd{margin:0;font-size:14px}
.meta a{text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:3px}

.ext-links{margin:28px 0 0}
.ext-links .kicker{margin-bottom:8px}
.ext-links ul{display:flex;flex-wrap:wrap;gap:8px 28px}

.play-line{display:flex;align-items:center;gap:10px;margin:24px 0 0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em}

.lede{margin:24px 0 0;font-size:17px;line-height:1.55;color:var(--ink-soft);max-width:60ch}

.prose{margin-top:32px;max-width:62ch;font-size:16px;line-height:1.7}
.prose > :first-child{margin-top:0}
.prose p{margin:0 0 1.1em}
.prose h2{font-size:16px;font-weight:600;letter-spacing:0;margin:2em 0 .6em}
.prose h3,.prose h4{font-size:15px;font-weight:600;margin:1.6em 0 .5em}
.prose a{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
.prose blockquote{margin:1.6em 0;padding-left:20px;border-left:2px solid var(--accent);font-size:22px;line-height:1.45;font-weight:600;letter-spacing:-.01em}
.prose blockquote p{margin:0}
.prose ul,.prose ol{margin:0 0 1.1em;padding-left:1.2em}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose hr{border:0;border-top:1px solid var(--rule);margin:2em 0}
.tracklist li{padding:6px 0;border-bottom:1px solid var(--rule);font-size:14px}
.tl-label{color:var(--ink-soft)}

.related{margin-top:72px;padding-top:40px;border-top:1px solid var(--rule-strong)}
.block{margin-top:56px}
.page-head + .block,.page-head + .selects{margin-top:0}

.empty{margin:0;padding:15px 0;font-size:14px;color:var(--ink-soft)}
.notice{
  display:inline-block;margin:0 0 28px;padding:9px 14px;border:1px solid var(--rule-strong);
  font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);
}
.list--plain a,.list--plain li > .txt{padding:14px 0}

.pager{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  margin-top:56px;padding-top:20px;border-top:1px solid var(--rule);
}
.pager-count{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}

/* Mini-player (created by player.js only after a visitor presses Play) ----- */
.mini-player{
  position:fixed;left:0;right:0;bottom:0;z-index:50;
  background:var(--bg);border-top:1px solid var(--rule-strong);
}
.mini-player-inner{display:flex;align-items:center;gap:16px;padding-top:10px;padding-bottom:10px}
.mini-player-frame{flex:1;min-width:0}
.mini-player iframe,.mini-player audio{display:block;width:100%;border:0}
.mini-player-close{
  flex:0 0 auto;min-width:var(--tap);min-height:var(--tap);
  font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;
}
body.has-player{padding-bottom:var(--player-h,0px)}

/* ==========================================================================
   HOME V1 — editorial composition (lead story + editorial column, music rows,
   podcast band, features, selects/events). No card grids on the home page.
   ========================================================================== */
.tag-demo{
  display:inline-block;margin-left:10px;padding:1px 6px;border:1px solid var(--rule-strong);
  font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);
  vertical-align:1px;line-height:1.5;
}

/* Top: LATEST EDITORIAL — one editorial block on ONE grid (so every row shares exactly the
   same left and right edges): #1 primary (2/3, two rows tall) · #2 and #3 stacked on the
   right (1/3) · #4–#9 in threes. Pieces sit 10px apart (8px below 1024): one composition, distinct pieces.
   Each piece: artwork + ECM caption ON the image (format · number / artist / title, over a
   light black band limited to the text zone) + a thin black strip under it (facts · Play). */
.home-latest{padding-top:26px;padding-bottom:36px;border-bottom:1px solid var(--rule-strong)}
.home-latest > .section-title{margin-bottom:16px}
.home-tiles{--tgap:10px;display:grid;gap:var(--tgap)}
/* Level 1 — the lead block: primary 2/3 (landscape, two rows tall) + two stacked 1/3 pieces (5:4). */
.home-lead{grid-template-columns:repeat(3,minmax(0,1fr))}
.tile{min-width:0;display:flex;flex-direction:column;background:var(--masthead)}
.home-lead .tile--primary{grid-column:1 / span 2;grid-row:1 / span 2}
.home-lead .tile--secondary:nth-child(2){grid-column:3;grid-row:1}
.home-lead .tile--secondary:nth-child(3){grid-column:3;grid-row:2}
.tile-media{position:relative;flex:1 1 auto;min-height:0;background:#0b0b0b;overflow:hidden}
.tile-media .thumb{display:block;width:100%;height:100%;aspect-ratio:1 / 1}
.home-lead .tile--secondary .tile-media .thumb{aspect-ratio:5 / 4}
.tile--primary .tile-media .thumb{aspect-ratio:auto;position:absolute;inset:0}
.tile-media .thumb img{width:100%;height:100%;object-fit:cover;object-position:var(--focal,50% 40%)}
/* The editorial pause between the two levels: space · one fine rule · space */
.home-break{margin:36px 0 28px;border:0;border-top:1px solid var(--rule-strong)}
.home-level > .section-title{margin-bottom:14px;padding-bottom:10px;font-size:18px;font-weight:800;font-stretch:85%;letter-spacing:.04em;line-height:1.1}
/* Desktop FEATURED geometry is fixed whatever the number of pieces: MAIN = 2/3 (two rows tall),
   SECONDARY 1 / 2 = 1/3 top / bottom. A missing piece leaves its slot empty; MAIN keeps its size
   from its own proportion (the same as with three pieces), it is never stretched. */
@media (min-width:1024px){
  .home-lead{grid-template-rows:repeat(2,minmax(0,1fr))}
  .home-lead .tile--primary{aspect-ratio:5 / 4}
  /* the secondaries fill their half of MAIN's height (artwork cropped by the slot, never stretched) */
  .home-lead .tile--secondary .tile-media .thumb{position:absolute;inset:0;aspect-ratio:auto}
}
/* Level 2 — the grid: 4 × 2, square artwork, same edges as the lead block */
.home-grid4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tile{--cap-x:16px;--cap-tag:11.5px;--cap-artist:20px;--cap-title:14px}
.tile--primary{--cap-x:22px;--cap-tag:12.5px;--cap-artist:clamp(22px,2vw,26px);--cap-title:16px}
.tile--grid{--cap-x:14px;--cap-tag:11.5px;--cap-artist:19px;--cap-title:14px}
.home-empty{margin:0;padding:6px 0 4px;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft)}
/* ONE caption component for every format: four fixed rows — format · artist · title · facts/Play —
   each one line tall and always present (an empty title still holds its line), one horizontal
   inset (--cap-x) for every row. Same structure, different data. */
.tile-over{
  position:absolute;left:0;right:0;bottom:0;
  display:grid;grid-template-rows:auto auto auto;align-content:end;
  padding:14px var(--cap-x) 12px;background:rgba(11,11,11,.8);color:#f4f3f0;
}
.tile-tag{margin:0 0 8px;font-size:var(--cap-tag);font-weight:600;text-transform:uppercase;letter-spacing:.14em;line-height:1;height:1em;white-space:nowrap}
.tile-tag .num{color:#f4f3f0;font-variant-numeric:tabular-nums;margin-left:3px}
.tile-title{
  margin:0;font-size:var(--cap-artist);font-weight:800;font-stretch:85%;line-height:1.1;height:1.1em;text-transform:uppercase;letter-spacing:.01em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.tile-title a{color:inherit}
.tile-title a::after{content:"";position:absolute;inset:0}
.tile-title a:hover,.tile-title a:focus-visible{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.tile-sub{margin:5px 0 0;font-size:var(--cap-title);line-height:1.25;height:1.25em;text-transform:uppercase;letter-spacing:.03em;color:rgba(244,243,240,.86);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile-foot{display:flex;align-items:center;gap:12px;height:38px;padding:0 var(--cap-x);background:var(--masthead);color:rgba(244,243,240,.62)}
.tile-meta{margin:0;flex:1 1 auto;min-width:0;font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;line-height:1.3;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile-meta a{color:rgba(244,243,240,.8)}
.tile-meta a:hover{color:#f4f3f0}
.tile-foot .feed-act{flex:0 0 auto;margin-left:auto;position:relative;z-index:1;min-height:38px;color:#f4f3f0}
.tile-foot .feed-act:hover{color:var(--accent)}
/* Tablet: primary full width on top, the two secondaries side by side, the grid in pairs */
@media (max-width:1023px){
  .home-tiles{--tgap:8px}
  .home-lead,.home-grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-lead .tile--primary{grid-column:1 / -1;grid-row:auto}
  .home-lead .tile--secondary:nth-child(2),.home-lead .tile--secondary:nth-child(3){grid-column:auto;grid-row:auto}
  .tile--primary .tile-media .thumb{position:static;aspect-ratio:5 / 4}
  .home-lead .tile--secondary .tile-media .thumb{aspect-ratio:1 / 1}
  .home-break{margin:32px 0 24px}
}
/* Lead block — home lead story and the top of every premiere page (same markup).
   Desktop: artwork left, text right. Mobile: head → artwork → player. */
.lead{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px;align-items:start;
  grid-template-areas:"media head" "media body";grid-template-rows:auto 1fr;
}
.lead-head{grid-area:head;min-width:0}
.lead-media{grid-area:media}
.lead-body{grid-area:body;min-width:0}
.lead-meta{
  display:flex;align-items:baseline;gap:10px;margin:0;
  font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);
}
.lead-meta time{margin-left:auto;font-weight:400}
.lead-title{
  margin:18px 0 0;font-size:var(--d1);font-weight:800;font-stretch:85%;line-height:1.05;
  text-transform:uppercase;overflow-wrap:anywhere;
}
.lead-title a:hover{color:var(--accent)}
.lead-track{margin:4px 0 0;font-size:var(--d1-track);line-height:1.3;text-transform:uppercase;letter-spacing:.02em;color:var(--ink-soft)}
.lead-info{margin:12px 0 0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}
.lead-info a{color:var(--ink)}
.lead-info a:hover{color:var(--accent)}
.lead-intro{margin:20px 0 0;max-width:52ch;font-size:15px;line-height:1.6;color:var(--ink-soft)}
.lead .cta{margin-top:20px}
.detail--premieres .lead{margin-top:28px;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:48px}
.detail--premieres .lead-media .thumb{max-width:480px}
.prem-text{max-width:66ch;margin-top:40px}
.prem-text > * + *{margin-top:36px}
.prem-text .prose{margin-top:0}
.prem-text .section-title{margin-bottom:14px}

.home-side{border-left:1px solid var(--rule);padding-left:28px;min-width:0}
.side-head .section-title{margin-bottom:4px}
.home-side > .cta{margin-top:14px}
.side-list li{border-bottom:1px solid var(--rule)}
.side-list li:last-child{border-bottom:0}
.side-item{display:flex;gap:14px;align-items:flex-start;padding:13px 0}
.side-item .mini{flex-basis:56px;width:56px;height:56px}
.side-txt{min-width:0}
.side-title{margin:0;font-size:15px;font-weight:600;line-height:1.28;letter-spacing:0}
.side-title a:hover{color:var(--accent)}
.side-meta{margin:5px 0 0;font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.side-list--grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px}
.side-list--grid li:last-child{border-bottom:1px solid var(--rule)}
.side-list--grid .side-meta{margin:0 0 4px}

/* Listening block (premiere / podcast pages, hero, feature embeds) */
.player-shell{
  display:flex;align-items:center;gap:14px;margin:22px 0 0;padding:12px 0;
  border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);
}
.ps-play{
  flex:0 0 auto;width:44px;height:44px;border:1px solid var(--ink);border-radius:50%;
  background:no-repeat center/16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23111'%3E%3Cpath d='M7 4l13 8-13 8z'/%3E%3C/svg%3E");
  transition:border-color .2s,background-color .2s;
}
.ps-play:hover{border-color:var(--accent);background-color:#ebe8e2}
.ps-play[aria-pressed="true"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23111'%3E%3Cpath d='M6 4h4v16H6zM14 4h4v16h-4z'/%3E%3C/svg%3E")}
.ps-label{margin:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em}
.ps-time{margin:0 0 0 auto;font-size:11px;letter-spacing:.12em;color:var(--muted);font-variant-numeric:tabular-nums}
.ps-sources{margin:10px 0 0;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.ps-sources a{display:inline-block;padding:5px 0;margin:-5px 0;font-weight:600;color:var(--ink)}
.ps-sources a:hover{color:var(--accent)}

/* Section heads */
.home-block{padding-top:40px;padding-bottom:44px}
.section-head{display:flex;align-items:baseline;gap:8px 24px;margin-bottom:18px;flex-wrap:wrap}
/* Primary products (Premieres, Podcasts): heavier head on a black rule */
.section-head--major{border-top:2px solid var(--ink);padding-top:14px}
.section-head--major .section-title{font-size:17px;font-weight:800;font-stretch:85%;letter-spacing:.02em;padding-bottom:0}
.section-head--major .section-title::after{display:none}
.section-head .section-title{margin-bottom:0}
.section-note{margin:0;font-size:11px;color:var(--muted)}
.section-head .cta{margin-left:auto;flex:0 0 auto}

/* Premieres: numbered music rows, two columns on wide screens */
.prem-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
.prem-row{
  display:grid;grid-template-columns:72px minmax(0,1fr) auto auto;align-items:center;gap:18px;
  padding:13px 0;border-bottom:1px solid var(--rule);
}
.prem-art .mini{width:72px;height:72px}
.prem-art:hover{opacity:.82}
.prem-main{min-width:0}
.prem-kicker{margin:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}
.prem-kicker .num{font-size:11px;margin-right:4px}
.prem-title{margin:3px 0 0;font-size:17px;font-weight:800;font-stretch:85%;text-transform:uppercase;letter-spacing:-.005em;line-height:1.25;overflow-wrap:anywhere}
.prem-title span{font-weight:400;color:var(--ink-soft)}
.prem-title a:hover,.prem-title a:hover span{color:var(--accent)}
.prem-meta{margin:5px 0 0;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.prem-meta a{color:var(--ink-soft)}
.prem-meta a:hover{color:var(--accent)}
.prem-dur{margin:0;font-size:11px;letter-spacing:.12em;color:var(--muted);font-variant-numeric:tabular-nums}
.prem-play .ic,.pod-listen .ic{width:40px;height:40px;border:1px solid var(--rule-strong);border-radius:50%;opacity:1}
.prem-play .ic:hover{border-color:var(--accent);transform:none}
.prem-list--archive{margin-top:8px}

/* Podcasts: separate product on the same light ground — big rust episode
   numbers, artwork and a single-column list (premieres are two columns). */
.pod-list{border-top:0}
.pod-row{
  display:grid;grid-template-columns:44px 64px minmax(0,5fr) minmax(0,6fr) auto;align-items:center;gap:22px;
  padding:14px 0;border-bottom:1px solid var(--rule);
}
.pod-row .mini{width:64px;height:64px}
.pod-num{font-size:17px;font-weight:600;letter-spacing:.02em;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.pod-main{min-width:0}
.pod-kicker{margin:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}
.pod-guest{margin:3px 0 0;font-size:17px;font-weight:800;font-stretch:85%;text-transform:uppercase;letter-spacing:0;overflow-wrap:anywhere}
.pod-guest a:hover{color:var(--accent)}
.pod-meta{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-variant-numeric:tabular-nums}
.pod-listen .ic:hover{transform:none;border-color:var(--accent)}

/* Features & Interviews: one image-led lead + text-led list */
.ed-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:start}
.ed-lead{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:28px;align-items:start}
.ed-lead-text{min-width:0}
.ed-lead-title{margin:12px 0 8px;font-size:22px;font-weight:800;font-stretch:90%;line-height:1.15;letter-spacing:-.005em}
.ed-lead-title a:hover{color:var(--accent)}
.ed-lead-rel{margin:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}
.ed-lead-rel a:hover{color:var(--accent)}
.ed-lead-excerpt{margin:14px 0 0;font-size:14px;line-height:1.6;color:var(--ink-soft)}
.ed-lead .cta{margin-top:18px}
.ed-list{border-top:1px solid var(--ink)}
.ed-row{padding:16px 0;border-bottom:1px solid var(--rule)}
.ed-kicker{margin:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}
.ed-title{margin:6px 0 0;font-size:17px;font-weight:600;line-height:1.25;letter-spacing:-.01em}
.ed-title a:hover{color:var(--accent)}
.ed-meta{margin:6px 0 0;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.ed-stack .ed-lead{padding:32px 0;border-bottom:1px solid var(--rule)}
.ed-stack .ed-lead:first-child{border-top:1px solid var(--ink)}
.ed-stack .thumb{max-width:420px}

.selects-edition{margin:-10px 0 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.home-eco{margin-top:0}
/* Below the top: one transversal feed. Every entry is the same size and system:
   [artwork 144] [type · number / headline / metadata / text] [action]. 2 columns × 4 rows. */
.home-lower{padding-top:36px;padding-bottom:20px}
.home-feed{min-width:0}
.home-lower .section-head{margin-bottom:0}
.feed-list{border-top:1px solid var(--ink)}
.feed-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px;margin-top:22px}
.feed-col{min-width:0;display:flex;flex-direction:column}
.feed-col-title{margin:0 0 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink)}
.feed-col .feed-list{flex:1 1 auto}
.feed-all{margin:14px 0 0}
.feed-item{display:grid;grid-template-columns:144px minmax(0,1fr) auto;gap:22px;align-items:start;padding:24px 0;border-bottom:1px solid var(--rule)}
.feed-art{display:block;width:144px;height:144px}
.feed-art:hover{opacity:.85}
.feed-art .mini{width:144px;height:144px}
.feed-body{min-width:0;align-self:stretch;display:flex;flex-direction:column}
.feed-kicker{margin:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink)}
.feed-num{color:var(--ink);font-variant-numeric:tabular-nums}
.feed-title{
  margin:10px 0 0;font-size:20px;font-weight:800;font-stretch:90%;line-height:1.15;letter-spacing:-.005em;overflow-wrap:anywhere;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
}
.feed-title span{font-weight:400;color:var(--ink-soft)}
.feed-title a:hover,.feed-title a:hover span{color:var(--accent)}
.feed-meta{margin:10px 0 0;font-size:11px;text-transform:uppercase;letter-spacing:.12em;line-height:1.5;color:var(--muted)}
.feed-meta a{color:var(--ink-soft)}
.feed-meta a:hover{color:var(--accent)}
.feed-text{
  margin:10px 0 0;font-size:14px;line-height:1.5;color:var(--ink-soft);
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
}
.feed-action{align-self:end}
.feed-act{
  display:inline-flex;align-items:center;gap:8px;min-height:var(--tap);padding:0;border:0;background:none;cursor:pointer;
  font:inherit;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink);white-space:nowrap;
}
.feed-act:hover{color:var(--accent)}
.feed-act-ic{width:9px;height:10px;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}
.feed-act[aria-pressed="true"] .feed-act-ic{clip-path:polygon(0 0,35% 0,35% 100%,0 100%,0 0,65% 0,100% 0,100% 100%,65% 100%,65% 0)}
.feed-list--compact .feed-item{grid-template-columns:72px minmax(0,1fr) auto;gap:16px;padding:14px 0}
.feed-list--compact .feed-art,.feed-list--compact .feed-art .mini{width:72px;height:72px}
.feed-list--compact .feed-title{margin-top:5px;font-size:17px;font-weight:600;font-stretch:100%;line-height:1.25;letter-spacing:0}
.feed-list--compact .feed-meta{margin-top:5px}
.feed-list--compact .feed-action{align-self:center}
.feed-more{margin:28px 0 0;text-align:center}
.feed-more .cta{justify-content:center;min-height:var(--tap);padding:0 18px;border:1px solid var(--rule-strong)}
.feed-more .cta:hover{border-color:var(--accent)}
.feed-more .cta[aria-busy="true"]{opacity:.5}
.feed-list--archive{margin-top:8px}

/* STAY CONNECTED — three channels, equal weight, fine rules, no numbers */
.connect{padding-top:36px;padding-bottom:56px}
.connect .section-title{margin-bottom:14px}
.connect-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}
.connect-list li + li{border-left:1px solid var(--rule)}
.connect-item{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 20px}
.connect-list li:first-child .connect-item{padding-left:0}
.connect-ic{display:flex;width:18px;height:18px;flex:0 0 18px}
.connect-ic svg{width:100%;height:100%}
.connect-name{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em}
.connect-act{margin-left:auto;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);white-space:nowrap}
a.connect-item:hover .connect-name{color:var(--accent)}
.connect-item.is-pending .connect-act{color:var(--muted)}
.home-eco > .home-block + .home-block{border-top:1px solid var(--rule)}
.selects-events.home-block{padding-bottom:44px}
.home-events .event-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}

/* Feature article (long-form, single column) */
.feature{max-width:860px}
.feature-head{margin-top:28px;max-width:720px}
.feature-title{margin:14px 0 0;font-size:var(--d1);font-weight:800;font-stretch:90%;line-height:1.1;letter-spacing:-.01em}
.feature-byline{margin:18px 0 0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}
.feature-byline a{text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:3px}
.feature-media{margin-top:32px}
.feature-media .thumb{max-width:480px}
.feature-body{max-width:66ch}
.feature-body h2{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;margin:2.6em 0 1em;padding-top:14px;border-top:1px solid var(--ink)}
.feature-body p > strong:only-child{display:block;font-size:16px}
.embed{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;margin:1.4em 0 1.8em;padding:20px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.embed .thumb{width:160px}
.embed-body{min-width:0}
.embed-kicker{color:var(--accent)}
.embed-title{margin:8px 0 0!important;font-size:17px;font-stretch:85%;font-weight:800;text-transform:uppercase;line-height:1.25}
.embed-title span{font-weight:400;color:var(--ink-soft)}
.embed-title a{text-decoration:none!important}
.embed-meta{margin:6px 0 0!important;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.embed .player-shell{margin-top:14px}
.prose .embed a{text-decoration:none}


/* ==========================================================================
   RESPONSIVE
   Header: single row ≥980px · two rows 761–979px · menu button ≤760px.
   The header never needs horizontal scrolling at any width.
   ========================================================================== */

@media (max-width:1179px){
  .lead{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
}

@media (max-width:980px){
  .featured,.latest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .latest-grid .col:nth-child(3){grid-column:1/-1;border-left:0;padding-left:0;
    border-top:1px solid var(--rule);padding-top:26px;margin-top:8px}
  .featured .feat:nth-child(3){grid-column:1/-1;max-width:50%}
  .latest-grid--2 .col:nth-child(3){grid-column:auto}
  .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .selects-events{grid-template-columns:minmax(0,1fr);gap:44px}
  .events{border-left:0;padding-left:0;border-top:1px solid var(--rule);padding-top:36px}
  .footer-main{grid-template-columns:minmax(0,1fr);gap:20px}
  .detail-grid{gap:40px}
  .prem-list{grid-template-columns:minmax(0,1fr)}
  .pod-row{grid-template-columns:44px 56px minmax(0,1fr) auto;row-gap:4px}
  .pod-row .mini{width:56px;height:56px;grid-row:1/3}
  .pod-num{grid-row:1/3}
  .pod-main{grid-column:3}
  .pod-meta{grid-column:3;grid-row:2}
  .pod-listen{grid-column:4;grid-row:1/3}
  .ed-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .ed-lead .thumb{max-width:300px}
  .side-list--grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:1023px){
  .feed-cols{grid-template-columns:minmax(0,1fr);row-gap:44px}
}

@media (max-width:760px){
  .home-lower{padding-top:28px}
  .feed-item{grid-template-columns:112px minmax(0,1fr);gap:16px;padding:20px 0}
  .feed-art,.feed-art .mini{width:112px;height:112px}
  .feed-title{font-size:18px}
  .feed-action{grid-column:2;margin-top:-6px}
  .connect-list{grid-template-columns:minmax(0,1fr)}
  .connect-list li + li{border-left:0;border-top:1px solid var(--rule)}
  .connect-item,.connect-list li:first-child .connect-item{padding:0}
  :root{--pad:14px}

  .featured,.latest-grid,.latest-grid--2,.card-grid{grid-template-columns:minmax(0,1fr);gap:44px}
  .featured .feat:nth-child(3){max-width:none}
  .latest-grid .col + .col{border-left:0;padding-left:0;border-top:1px solid var(--rule);padding-top:26px}
  .latest-grid .col:nth-child(3){margin-top:0}

  .tracks li{grid-template-columns:28px minmax(0,1fr) auto;row-gap:4px}
  .t-track{grid-column:2}
  .t-label{grid-column:2}
  .t-links{grid-row:1/4;grid-column:3}
  .ic{width:36px;height:36px}

  .label-row{flex-wrap:wrap;justify-content:flex-start}
  .label-row li{flex:0 0 50%}
  .label-row li + li{border-left:0}
  .label-row a{text-align:left;padding:13px 0;border-bottom:1px solid var(--rule)}
  .footer-sections ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-sections a{padding:10px 0}
  .footer-bottom{flex-direction:column;gap:18px}
  .footer-nav ul{gap:4px 20px}
  .footer-nav a{padding:10px 0}

  .detail-grid{grid-template-columns:minmax(0,1fr);gap:32px}
  .meta > div{grid-template-columns:110px minmax(0,1fr)}
  .view-all{min-height:var(--tap)}

  .home-latest{padding-top:24px;padding-bottom:32px}
  .lead,.detail--premieres .lead{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "media" "body";grid-template-rows:auto}
  .lead-media{margin-top:20px}
  .lead-title{margin-top:14px}
  .home-block{padding-top:32px;padding-bottom:36px}
  .section-head--major .section-title{font-size:17px}
  .section-head{gap:4px 16px}
  .section-note{order:3;flex-basis:100%}
  .section-head .cta{min-height:var(--tap)}

  .prem-row{grid-template-columns:56px minmax(0,1fr) auto;gap:14px;padding:14px 0}
  .prem-art .mini{width:56px;height:56px}
  .prem-dur{display:none}
  .prem-title{font-size:15px}
  .prem-play .ic,.pod-listen .ic{width:44px;height:44px}

  .pod-row{grid-template-columns:36px minmax(0,1fr) auto;gap:6px 14px}
  .pod-row .mini{display:none}
  .pod-num{font-size:14px;grid-row:1/3}
  .pod-main{grid-column:2}
  .pod-meta{grid-column:2;grid-row:2;gap:12px;flex-wrap:wrap}
  .pod-listen{grid-column:3;grid-row:1/3}
  .pod-guest{font-size:17px}
  .pod-meta span:nth-child(2){display:none}

  .ed-lead .thumb{max-width:260px}
  .home-events .event-list{grid-template-columns:minmax(0,1fr)}
  .ed-lead{grid-template-columns:minmax(0,1fr);gap:18px}
  .ed-lead-title{font-size:22px}
  .ed-stack .thumb{max-width:none}
  .side-list--grid{grid-template-columns:minmax(0,1fr)}
  .embed{grid-template-columns:96px minmax(0,1fr);gap:16px}
  .embed .thumb{width:96px}
  .embed .player-shell,.embed .ps-sources{grid-column:1/-1}
  .feature-head{margin-top:20px}
}



@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}


/* ── Search (header icon + /search/) ─────────────────────────────────────── */
.header-search svg{width:20px;height:20px}
.search-form input{
  width:100%;max-width:640px;height:52px;padding:0 2px;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;
  font:inherit;font-size:20px;font-weight:600;color:var(--ink);
}
.search-form input:focus{outline:none;border-bottom-color:var(--accent)}
.search-form input::placeholder{color:var(--muted);font-weight:400}
.search-status{margin:18px 0 0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.search-results{margin-top:10px;border-top:1px solid var(--ink);max-width:760px}
.search-results:empty{border-top:0}
.search-results li{border-bottom:1px solid var(--rule)}
.search-results a{display:grid;gap:4px;padding:14px 0}
.sr-kind{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink)}
.sr-name{font-size:17px;font-weight:600;line-height:1.3}
.sr-name span{font-weight:400;color:var(--ink-soft)}
.sr-meta{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.search-results a:hover .sr-name{color:var(--accent)}

/* ── MOBILE (≤760): black masthead + image-led editorial sequence ─────────── */
@media (max-width:760px){
  /* Masthead: menu left · ECM centred · search right, solid black */
  /* full identity as on desktop: ECM | ELECTRONIC / CLUBBING / MOVEMENT, scaled to the bar */
  .brand-words{display:flex;font-size:8.5px;gap:2px}

  /* Latest Editorial: one vertical sequence, artwork first, pieces 8px apart */
  .home-latest{padding-top:20px;padding-bottom:30px}
  .home-latest > .section-title{margin-bottom:14px}
  .home-lead,.home-grid4{grid-template-columns:minmax(0,1fr)}
  /* FEATURED: lead full width, the two secondaries side by side underneath */
  .home-lead:not(.home-lead--1){grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-lead .tile--primary{grid-column:1 / -1;grid-row:auto}
  .home-lead .tile--secondary:nth-child(2),.home-lead .tile--secondary:nth-child(3){grid-column:auto;grid-row:auto}
  .home-lead .tile--secondary .tile-media .thumb{aspect-ratio:4 / 5}
  .home-lead .tile--secondary{--cap-x:10px;--cap-tag:9.5px;--cap-artist:15px;--cap-title:11px}
  .home-lead .tile--secondary .tile-tag{letter-spacing:.1em}
  /* the subtitle row gets two fixed lines here, so a long title wraps instead of being cut */
  .home-lead .tile--secondary .tile-sub{height:2.5em;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:clip}
  .home-break{margin:30px 0 24px}
  .tile,.tile--primary{--cap-x:14px;--cap-tag:11px;--cap-artist:18px;--cap-title:13px}
  .tile--primary{--cap-artist:21px}
}
.search-form input{-webkit-appearance:none;appearance:none}
.search-form input::-webkit-search-cancel-button{-webkit-appearance:none}


/* ── Editorial sheet + black masthead (all widths) ───────────────────────── */
/* PAGE STRUCTURE: body = OUTER FRAME (grey/beige) from y = 0 →
   .page-frame (side + bottom margins) → .page-sheet = the CENTRAL PAGE CONTAINER, max 1280px,
   centred, holding the black masthead, the editorial content and the footer at one width.
   Sheet ≈ 1056 at 1280 · 1152 at 1440 · 1248 at 1600 · 1280 max (≈82% → 67% of the viewport). */
:root{--frame-gap:clamp(12px,3vw,40px);--sheet-max:min(1280px, calc(60vw + 288px))}
/* desktop: the sheet stops at 1200 (was 1280) on large monitors; unchanged up to ~1500px wide */
@media (min-width:1024px){ :root{--sheet-max:min(1200px, calc(60vw + 288px))} }
.page-frame{padding:0 var(--frame-gap) var(--frame-gap)}
.page-sheet{width:100%;max-width:var(--sheet-max);margin:0 auto;background:var(--bg)}
main .wrap,.site-footer .wrap,.site-header .wrap{max-width:none;width:auto}
.site-footer{border-top:1px solid var(--rule)}
/* Footer: a minimal close — copyright + legal only, no repeated navigation */
.footer-bar{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding-top:22px;padding-bottom:26px}
.footer-bar .copy{margin:0;display:flex;align-items:center;gap:12px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}
.footer-bar .footer-mark{font-size:18px;font-weight:800;letter-spacing:-.03em;color:var(--ink);text-transform:none}
.footer-bar .footer-logo{display:block;align-self:center;width:auto;height:30px}
.footer-legal ul{display:flex;gap:4px 24px}
.footer-legal a{display:inline-block;padding:8px 0;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}
.footer-legal a:hover{color:var(--accent)}
@media (min-width:561px) and (max-width:760px){
  .home-lead,.home-grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-lead .tile--primary{grid-column:1 / -1}
}

/* Masthead, desktop/tablet: two levels — ECM + descriptor, then the navigation, in the
   same label language as the posts. The black runs edge to edge (incl. the rule between
   the two levels); the content inside uses the editorial sheet's width. */
@media (min-width:761px){
  /* navigation in the section-title language, ~10% under FEATURED */
  .main-nav a{padding:11px 0 10px;font-size:16px;font-weight:700;font-stretch:85%;letter-spacing:.04em;line-height:1.1}
}
@media (max-width:760px){ .home-level > .section-title{margin-bottom:18px;padding-bottom:12px;font-size:18px} }
/* Narrow desktop (1024–1279): the 4 × 2 grids keep four columns; captions step down slightly */
@media (min-width:1024px) and (max-width:1279px){ .tile--grid{--cap-x:12px;--cap-artist:16.5px;--cap-title:13px;--cap-tag:11px} }
@media (max-width:359px){ .home-lead .tile--secondary{--cap-x:9px;--cap-tag:8px} .home-lead .tile--secondary .tile-tag{letter-spacing:.08em} }

/* ── INTERVIEWS: one editorial column (.iv-col) holds the cover, the intro and the Q&A,
   so photo and text share exactly the same width at every viewport. The cover reuses the
   FEATURED overlay (.tile-over / .tile-tag / .tile-title / .tile-sub). */
.iv-col{max-width:760px;margin:0 auto}
.interview .crumbs{margin-bottom:24px}
.tile--cover{--cap-x:24px;--cap-tag:12.5px;--cap-artist:clamp(26px,3vw,34px);--cap-title:16px;position:relative}
.tile--cover .tile-media .thumb{aspect-ratio:3 / 2}
.tile--cover .tile-over{padding:18px var(--cap-x) 18px}
.tile--cover .tile-title{height:auto;white-space:normal;overflow:visible;overflow-wrap:anywhere}
.tile--cover .tile-sub{height:auto;white-space:normal;overflow:visible;margin-top:8px}
.iv-body{margin-top:44px}
.iv-intro{margin:0;font-size:19px;line-height:1.55;color:var(--ink)}
.iv-qa{margin:36px 0 0;padding:0;list-style:none}
.iv-item{padding:30px 0 6px;border-top:1px solid var(--rule)}
.iv-qn{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--ink)}
.iv-q{margin:0;font-size:18px;font-weight:700;line-height:1.4;letter-spacing:0}
.iv-a{margin-top:16px}
.iv-who{margin:0 0 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}
.iv-a .prose{margin-top:0;max-width:none}
/* the interview text column has exactly the cover's width (no 62ch reading cap inside .iv-col) */
.iv-body .prose{max-width:none}
.iv-back{margin:34px 0 0;padding-top:24px;border-top:1px solid var(--rule)}
/* archive: IMAGE | DESCRIPTION, two equal halves per interview. INTERVIEW is the only text
   on the photo (top, soft shade); the description fills the right half. */
.iv-archive{margin:0;padding:0;list-style:none;border-top:1px solid var(--rule-strong)}
.iv-entry{padding:40px 0;border-bottom:1px solid var(--rule)}
.iv-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 56px;align-items:start}
.iv-split-media{position:relative;display:block;overflow:hidden;background:#0b0b0b}
.iv-split-media .thumb,.iv-split-media.tile--cover .tile-media .thumb{display:block;aspect-ratio:1 / 1}
.iv-split-media .tile-over{z-index:2}
.iv-split-media .thumb img{width:100%;height:100%;object-fit:cover;object-position:var(--focal,50% 40%);transition:opacity .2s}
.iv-split-media:hover .thumb img{opacity:.92}
.iv-split-media::before{content:"";position:absolute;left:0;right:0;top:0;height:90px;z-index:1;pointer-events:none;background:linear-gradient(rgba(11,11,11,.5),rgba(11,11,11,0))}
.iv-entry-tag{position:absolute;top:22px;left:24px;z-index:2;margin:0;--cap-tag:12.5px;color:#f4f3f0}
.iv-split-text{display:block;color:var(--ink)}
.iv-split-desc{margin:0;font-size:18px;line-height:1.65}
.iv-split-text:hover .iv-split-desc{color:var(--accent)}
.iv-split-text:focus-visible,.iv-split-media:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media (max-width:760px){
  .tile--cover{--cap-x:16px;--cap-tag:11px;--cap-artist:24px;--cap-title:13px}
  .tile--cover .tile-media .thumb{aspect-ratio:4 / 5}
  .tile--cover .tile-over{padding:14px var(--cap-x) 14px}
  .iv-body{margin-top:30px}
  .iv-intro{font-size:17px}
  .iv-item{padding-top:26px}
  .iv-q{font-size:17px}
  .iv-entry{padding:28px 0 32px}
  .iv-split{grid-template-columns:minmax(0,1fr);gap:20px}
  .iv-entry-tag{top:16px;left:16px;--cap-tag:11px}
  .iv-split-desc{font-size:16px}
}

/* ── HOME · PREMIERES / PODCASTS on mobile (≤760): the 6 newest as a 3 × 2 grid of vertical
   cards (artwork, then the caption under it), followed by a discreet "View all" link.
   Desktop/tablet unchanged: the link is hidden there and all 8 cards show. */
.home-viewall{display:none}
@media (max-width:760px){
  .home-level--premieres .home-grid4,.home-level--podcasts .home-grid4{grid-template-columns:repeat(3,minmax(0,1fr));--tgap:6px}
  .home-level--premieres .home-grid4 > :nth-child(n+7),.home-level--podcasts .home-grid4 > :nth-child(n+7){display:none}
  .home-grid4 .tile--grid{--cap-x:7px;--cap-tag:8px;--cap-artist:11.5px;--cap-title:9.5px}
  .home-grid4 .tile--grid .tile-media{flex:none;overflow:visible}
  .home-grid4 .tile--grid .tile-media .thumb{height:auto;aspect-ratio:1 / 1;overflow:hidden}
  .home-grid4 .tile--grid .tile-over{position:static;padding:8px var(--cap-x) 6px;background:var(--masthead)}
  .home-grid4 .tile--grid .tile-tag{margin-bottom:6px;letter-spacing:.08em}
  .home-grid4 .tile--grid .tile-title{height:2.2em;line-height:1.1;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:clip;letter-spacing:0}
  .home-grid4 .tile--grid .tile-sub{margin-top:4px;letter-spacing:.02em}
  .home-grid4 .tile--grid .tile-foot{height:28px;gap:4px}
  .home-grid4 .tile--grid .tile-meta{font-size:8px;letter-spacing:.06em}
  .home-grid4 .tile--grid .feed-act{min-height:28px;font-size:0;gap:0}
  .home-grid4 .tile--grid .feed-act-ic{width:8px;height:9px}
  .home-viewall{display:block;margin:16px 0 0}
  .home-viewall a{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink);border-bottom:1px solid var(--rule-strong);padding-bottom:2px}
  .home-viewall a:hover{color:var(--accent);border-bottom-color:var(--accent)}
}
/* NEWS article: same reading column as interviews */
.news .page-title{margin-top:8px}
.news-hero{margin:28px 0 0}
.news-hero .thumb{aspect-ratio:3 / 2}
.news-hero .thumb img{width:100%;height:100%;object-fit:cover;object-position:var(--focal,50% 40%)}
.news-body{max-width:none}
/* Tablet (761–1023): seven navigation items stay on one row */

/* MASTHEAD LOGO — the complete ECM logo exactly as supplied, one image, large and centred.
   The PNG has a transparent margin around the artwork (artwork = x49–452 · y53–426 of 500), so the
   box is sized to the visible artwork (--h = visible height, width = --h × 403/373) and the image is
   offset inside it; nothing of the artwork is cropped or altered. */

/* ── AGENDA rows (home, /agenda/, artist/label pages, nav panel) ─────────────
   DATE · EVENT / ARTIST · CITY · VENUE — a compact discovery list, not a card grid. */
.ag-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--rule)}
.ag-row{display:grid;grid-template-columns:92px minmax(0,2.2fr) minmax(0,1fr) minmax(0,1fr);gap:4px 24px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--rule)}
.ag-date{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em}
.ag-date strong{font-size:18px;font-weight:800;letter-spacing:0;margin-right:4px}
.ag-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.ag-name{font-size:16px;font-weight:700}
.ag-name:hover{color:var(--accent)}
.ag-artist,.ag-city,.ag-venue{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}
.home-more{margin:18px 0 0}
@media (min-width:761px){ .home-more{margin-top:14px} .footer-bar{padding-top:18px;padding-bottom:20px} }
.home-more a{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink);border-bottom:1px solid var(--rule-strong);padding-bottom:2px}
.home-more a:hover{color:var(--accent);border-bottom-color:var(--accent)}
@media (max-width:760px){
  .ag-row{grid-template-columns:64px minmax(0,1fr);gap:2px 14px}
  .ag-city,.ag-venue{grid-column:2}
  .ag-date strong{font-size:16px;display:block}
}

/* ── ECM PLAYLIST (official Spotify embed, compact) ───────────────────────── */
.home-level--playlist{max-width:760px;margin-left:auto;margin-right:auto}
.ecm-playlist iframe{display:block;width:100%;height:466px;border:0;border-radius:12px}

/* ── DESKTOP MEGA-DROPDOWN (≥1024px): hover a section → latest real items ─────
   The panel is a child of the <li>, so moving from the label into the panel keeps it open;
   it spans the masthead width (positioned against .main-nav) and overlays the page. */
.nav-chev,.nav-dd{display:none}
@media (min-width:1024px){
  .nav-dd{position:absolute;left:0;right:0;top:100%;z-index:60;background:var(--masthead);border-top:1px solid rgba(244,243,240,.16)}
  .main-nav:not(.dd-js) .has-dd:hover > .nav-dd,.main-nav:not(.dd-js) .has-dd:focus-within > .nav-dd,.has-dd.dd-open > .nav-dd{display:block;animation:nav-dd-in .14s ease-out}
  /* a switch between sections replaces the panel without re-animating it from scratch */
  @keyframes nav-dd-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
  .nav-dd-inner{padding:24px var(--pad) 22px}
  .nav-dd-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none}
  .nav-dd-item a{display:flex;flex-direction:column;gap:4px;padding:0;border:0;color:#f4f3f0;font-size:inherit;font-weight:inherit;letter-spacing:0;text-transform:none;white-space:normal}
  .nav-dd-item a:hover .nav-dd-title{color:var(--accent)}
  .nav-dd-media{display:block;aspect-ratio:1 / 1;background:#1a1a1a;overflow:hidden;margin-bottom:8px}
  .nav-dd-media img{width:100%;height:100%;object-fit:cover;display:block}
  .nav-dd-kicker{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:rgba(244,243,240,.62)}
  .nav-dd-title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;line-height:1.25}
  .nav-dd-sub{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:rgba(244,243,240,.75)}
  .nav-dd-empty{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:rgba(244,243,240,.62)}
  .nav-dd-all{margin:20px 0 0}
  .nav-dd-all a{display:inline;padding:0 0 2px;font-size:11px;font-weight:600;letter-spacing:.12em;color:#f4f3f0;border-bottom:1px solid rgba(244,243,240,.4)}
  .nav-dd-all a:hover{color:var(--accent);border-bottom-color:var(--accent)}
  .nav-dd .ag-list{border-top-color:rgba(244,243,240,.16)}
  .nav-dd .ag-row{border-bottom-color:rgba(244,243,240,.16);color:#f4f3f0}
  .nav-dd .ag-row a{display:inline;padding:0;border:0;font-size:15px;letter-spacing:0;text-transform:none}
  .nav-dd .ag-artist,.nav-dd .ag-city,.nav-dd .ag-venue{color:rgba(244,243,240,.62)}
  /* the nav links are nowrap; inside the Agenda panel every column wraps within its own cell */
  .nav-dd .ag-row > *{min-width:0}
  .nav-dd .ag-row a,.nav-dd .ag-row span{white-space:normal;overflow-wrap:anywhere}
  .nav-dd .ag-row .ag-name{line-height:1.25}
}

/* ── HOME · PREMIERES / PODCASTS on desktop (≥1024): one row of the 5 newest, then "View all".
   Same cards; tablet (761–1023) and mobile (3 × 2) keep their own layouts. */
@media (min-width:1024px){
  .home-level--premieres .home-grid4,.home-level--podcasts .home-grid4{grid-template-columns:repeat(5,minmax(0,1fr))}
  .home-level--premieres .home-grid4 > :nth-child(n+6),.home-level--podcasts .home-grid4 > :nth-child(n+6){display:none}
  .home-level--premieres .home-viewall,.home-level--podcasts .home-viewall{display:block;margin:18px 0 0}
  .home-viewall a{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink);border-bottom:1px solid var(--rule-strong);padding-bottom:2px}
  .home-viewall a:hover{color:var(--accent);border-bottom-color:var(--accent)}
}

/* ── MAIN NAVIGATION (desktop/tablet ≥761): the seven items span the full width of the black bar,
   first item on the left edge, last on the right, equal space between them. Mobile untouched. */

/* ── AGENDA cards (home, /agenda/, artist & label pages): the event artwork from the Event entry
   with the ECM overlay — AGENDA · event name · date · venue · city. Square, like the poster format.
   Two per row on desktop/tablet (strong, the artwork stays readable), one full-width card on mobile.
   The compact list (.ag-list) stays only in the navigation dropdown. */
.ag-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.ag-cards > li{min-width:0}
.tile--event{--cap-x:18px;--cap-tag:11.5px;--cap-artist:19px;--cap-title:12px;height:100%}
.tile--event .tile-media .thumb{aspect-ratio:1 / 1}
.tile--event .tile-over{padding:14px var(--cap-x) 14px}
.tile--event .tile-title{height:auto;white-space:normal;text-overflow:clip;overflow:visible;line-height:1.12}
.tile--event .tile-sub{height:auto;white-space:normal;margin-top:8px;letter-spacing:.1em;font-weight:600;line-height:1.4}
.tile--event .tile-sub .sep{color:rgba(244,243,240,.5)}
@media (min-width:1280px){ .tile--event{--cap-x:22px;--cap-artist:22px;--cap-title:12.5px} }
@media (max-width:760px){
  .ag-cards{grid-template-columns:minmax(0,1fr)}
  .tile--event{--cap-x:14px;--cap-artist:16.5px;--cap-title:11px}
  .tile--event .tile-over{padding:12px var(--cap-x) 12px}
  .tile--event .tile-tag{margin-bottom:6px}
  .tile--event .tile-sub{margin-top:6px}
}

/* HOME · AGENDA: the original event artwork only — no overlay, no crop (natural proportions).
   Two per row on desktop/tablet, full width on mobile; the whole poster links to the event. */
.ag-cards--posters > li{min-width:0}
/* up to 3 equal cards in a row (desktop / tablet); fewer events keep the same 1/3 width */
@media (min-width:761px){ .ag-cards--posters{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (min-width:1024px){ .ag-cards--posters{max-width:900px} }
.ag-poster{display:block;line-height:0;background:#0b0b0b;transition:opacity .2s}
.ag-poster img{display:block;width:100%;height:auto}
.ag-poster:hover{opacity:.92}
.ag-poster:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

/* EVENT PAGE: artwork (natural proportions, never cropped) | facts · short description · line-up */
.detail--events .detail-media .thumb{aspect-ratio:auto;height:auto}
.detail--events .detail-media .thumb img{height:auto;object-fit:contain}
.detail--events .meta + .ev-desc{margin:22px 0 0}
.detail--events .ev-desc p{margin:0 0 12px}
.detail--events .ev-desc + .meta{margin-top:10px}

/* ECM PLAYLIST — compact and secondary: centred, ~60% of the content width on desktop, the first
   five tracks visible without inner scrolling (Spotify embed: 208px header + 5 × 51px rows = 463px). */
.home-level--playlist{max-width:none;width:60%;margin-left:auto;margin-right:auto}
/* Desktop: player on the left, deliberate empty space on the right (tablet / mobile unchanged). */
@media (min-width:1024px){ .home-level--playlist{width:41%;margin-left:0} }
@media (max-width:1023px){ .home-level--playlist{width:80%} }
@media (max-width:760px){ .home-level--playlist{width:auto} }
/* Agenda cards (home + /agenda/): one artwork area for every event (4:5); the original poster fills
   it edge to edge (cover: never stretched, never altered; a non-4:5 poster is trimmed at the edges,
   centred, or at the event image's own crop position when one is set in the CMS) */
.ag-poster .thumb{aspect-ratio:4 / 5;height:auto}
.ag-poster .thumb img{height:100%;object-fit:cover;object-position:var(--focal,50% 50%)}

/* ── HOME · PREMIERES / PODCASTS on mobile (≤760): SQUARE cards in the 3 × 2 grid.
   The whole card is 1:1 — artwork fills it, the caption (format · artist · title) and the
   facts/Play row sit over the lower part, as on desktop. Desktop (1 × 5) is not affected. */
@media (max-width:760px){
  .home-level--premieres .home-grid4 .tile--grid,.home-level--podcasts .home-grid4 .tile--grid{position:relative;aspect-ratio:1 / 1;overflow:hidden}
  .home-level--premieres .tile--grid .tile-media,.home-level--podcasts .tile--grid .tile-media{position:absolute;inset:0;overflow:hidden}
  .home-level--premieres .tile--grid .tile-media .thumb,.home-level--podcasts .tile--grid .tile-media .thumb{height:100%;aspect-ratio:auto}
  .home-level--premieres .tile--grid .tile-over,.home-level--podcasts .tile--grid .tile-over{position:absolute;left:0;right:0;bottom:22px;padding:5px var(--cap-x) 3px;background:rgba(11,11,11,.8)}
  .home-level--premieres .tile--grid .tile-tag,.home-level--podcasts .tile--grid .tile-tag{margin-bottom:3px}
  .home-level--premieres .tile--grid .tile-title,.home-level--podcasts .tile--grid .tile-title{height:1.1em;white-space:nowrap;display:block;-webkit-line-clamp:unset;text-overflow:ellipsis}
  .home-level--premieres .tile--grid .tile-sub,.home-level--podcasts .tile--grid .tile-sub{margin-top:2px}
  .home-level--premieres .tile--grid .tile-foot,.home-level--podcasts .tile--grid .tile-foot{position:absolute;left:0;right:0;bottom:0;height:22px;z-index:1}
  .home-level--premieres .tile--grid .feed-act,.home-level--podcasts .tile--grid .feed-act{min-height:22px}
}

/* ── SMALL PREMIERE / PODCAST CARDS (home, desktop + mobile) ───────────────────────────────
   NUMBER · ARTIST on a SOLID ECM-black band over the lower edge of the artwork, then the last
   line (track title — or the podcast duration) with PLAY on the same row. No genre / label /
   date on the card. Every text row is ONE line of fixed height (long text is truncated), so the
   black area has the same height on every card and never grows with the content. From 761px the
   type, padding and last row scale with the card width (container units) so the black area stays
   at ~31–32% of the card height; the artwork keeps its 1:1 ratio. */
.tile--music{position:relative}
.tile--music .tile-over{background:var(--masthead)}
.tile--music .tile-title,.tile--music .tile-foot .tile-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile--music .tile-foot .tile-sub{flex:1 1 auto;min-width:0;margin:0;color:rgba(244,243,240,.86)}
.tile--music .tile-foot .feed-act{align-self:stretch;min-height:0}
/* Podcast: NUMBER in the band, then ARTIST + PLAY on the last row (no duration on the card) */
.tile--music.tile--music-pod .tile-over .tile-tag{margin-bottom:0}
.tile--music .tile-foot .tile-title--foot{flex:1 1 auto;min-width:0;color:#f4f3f0}
@media (min-width:761px){ .tile--music .tile-foot .tile-title--foot{font-size:clamp(10px,6.6cqw,16px);letter-spacing:-.01em} }
@media (min-width:761px){
  .tile--music{container-type:inline-size}
  .tile--music .tile-over{padding:clamp(6px,4cqw,10px) var(--cap-x) clamp(3px,2cqw,5px)}
  .tile--music .tile-tag{font-size:clamp(9px,5cqw,12px);margin-bottom:clamp(3px,2.5cqw,6px)}
  .tile--music .tile-title{font-size:clamp(12.5px,8cqw,19px);line-height:1.1;height:1.1em}
  .tile--music .tile-foot{height:clamp(22px,14cqw,34px);gap:8px}
  .tile--music .tile-foot .tile-sub{font-size:clamp(10.5px,6.2cqw,14px);line-height:1.2;height:1.2em}
  .tile--music .tile-foot .feed-act{font-size:clamp(10px,4.8cqw,11px)}
}
/* Premiere cards, desktop only: a slightly more compact text block (number · artist · track) so
   long artist names fit on one line; PLAY row and card structure unchanged. */
@media (min-width:1024px){
  .home-level--premieres .tile--music .tile-over{padding-top:clamp(5px,3cqw,7px);padding-bottom:clamp(2px,1cqw,3px)}
  .home-level--premieres .tile--music .tile-tag{font-size:clamp(8.5px,4.5cqw,11px);margin-bottom:clamp(2px,1.6cqw,4px)}
  .home-level--premieres .tile--music .tile-title{font-size:clamp(10.5px,6.9cqw,17px);letter-spacing:-.01em;line-height:1.05;height:1.05em}
  .home-level--premieres .tile--music .tile-foot{height:clamp(20px,12.5cqw,30px)}
}
/* Mobile (square 3 × 2 cards): SOLID black text area (#000, no transparency) of ~1/3 of the card;
   type and spacing scale with the card width (container units), one fixed line per row. */
@media (max-width:760px){
  .home-level--premieres .tile--music,.home-level--podcasts .tile--music{container-type:inline-size;--mfoot:clamp(12px,11.5cqw,16px)}
  .home-level--premieres .tile--music .tile-over,.home-level--podcasts .tile--music .tile-over{bottom:var(--mfoot);padding:clamp(2px,2.5cqw,4px) var(--cap-x) clamp(1px,.8cqw,2px);background:#000}
  .home-level--premieres .tile--music .tile-tag,.home-level--podcasts .tile--music .tile-tag{font-size:clamp(6.5px,6cqw,8px);margin-bottom:clamp(1px,1.5cqw,2px)}
  .home-level--premieres .tile--music .tile-title,.home-level--podcasts .tile--music .tile-title{font-size:clamp(9px,9cqw,11.5px);line-height:1.05;height:1.05em;letter-spacing:-.01em}
  .home-level--premieres .tile--music .tile-foot,.home-level--podcasts .tile--music .tile-foot{height:var(--mfoot);gap:4px;background:#000}
  .home-level--premieres .tile--music .tile-foot .tile-sub,.home-level--podcasts .tile--music .tile-foot .tile-sub{font-size:clamp(7.5px,7cqw,9.5px);letter-spacing:.02em;line-height:1.2;height:1.2em}
  .home-level--premieres .tile--music .feed-act,.home-level--podcasts .tile--music .feed-act{min-height:var(--mfoot)}
}

/* ── AGENDA archive cards (/agenda/, artist & label pages): poster first, untouched, no overlay;
   the facts below it — DATE · CITY / EVENT / VENUE. Three per row (desktop), two (tablet). */
.ag-cards--archive{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 12px}
.ag-card{min-width:0}
.ag-card-meta{margin:12px 0 5px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}
.ag-card-meta time{color:var(--ink)}
.ag-card-past{color:var(--accent)}
.ag-card-title{margin:0;font-size:17px;font-weight:800;font-stretch:85%;text-transform:uppercase;letter-spacing:.01em;line-height:1.15}
.ag-card-title a:hover{color:var(--accent)}
.ag-card-sub{margin:5px 0 0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}
@media (min-width:761px) and (max-width:1023px){ .ag-cards--archive{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:760px){ .ag-cards--archive{grid-template-columns:minmax(0,1fr);gap:24px} }
/* Interviews archive: FORMAT · DATE above the archive text (desktop / tablet) */
.iv-split-meta{margin:0 0 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}
.iv-split-meta time{color:var(--ink-soft)}
@media (max-width:760px){ .iv-split-meta{display:none} }


/* FEATURED — horizontal navigation (only rendered when more than three pieces are Featured).
   Each view is the unchanged MAIN + 2 SECONDARY block; the track scrolls inside itself (swipe /
   arrows), the page never scrolls sideways. */
.feat{position:relative}
.feat-track{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:flex-start;min-width:0;max-width:100%}
.feat-track::-webkit-scrollbar{display:none}
.feat-track:focus{outline:none}
.feat-view{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.feat-nav{position:absolute;top:-10px;right:0;display:flex;gap:2px}
.feat-nav[hidden]{display:none}
.feat-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;background:none;color:var(--ink,#111);font:inherit;font-size:18px;line-height:1;cursor:pointer}
.feat-btn:hover:not(:disabled){color:var(--accent)}
.feat-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}
.feat-btn:disabled{opacity:.25;cursor:default}
@media (prefers-reduced-motion:reduce){ .feat-track{scroll-behavior:auto} }

/* INTERVIEW + PREMIERE — closing block of the article (the music): large artwork | artist, track,
   version · label, the ECM player. Same width as the article column; no card, no frame. */
.pc{margin:52px 0 0}
.pc .section-title{margin-bottom:18px}
.pc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:end}
.pc-art .thumb{aspect-ratio:1 / 1;display:block}
.pc-art .thumb img{width:100%;height:100%;object-fit:cover;object-position:var(--focal,50% 50%)}
.pc-info{min-width:0;padding-bottom:2px}
.pc-artist{margin:0;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}
.pc-title{margin:6px 0 0;font-size:clamp(34px,4vw,48px);font-weight:800;font-stretch:85%;text-transform:uppercase;letter-spacing:.005em;line-height:.98;overflow-wrap:anywhere}
.pc-title a{color:var(--ink);text-decoration:none}
.pc-title a:hover{color:var(--accent)}
.pc-meta{margin:12px 0 0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.pc-meta a{color:var(--ink-soft)}
.pc-desc{margin:16px 0 0;font-size:15px;line-height:1.55;color:var(--ink-soft)}
.pc .player-shell{margin-top:22px}
@media (max-width:760px){
  .pc{margin-top:40px}
  .pc-grid{grid-template-columns:minmax(0,1fr);gap:18px}
  .pc-title{font-size:34px}
}

/* MOBILE · FEATURED — image-led cards: the photograph is the protagonist (main card square, ~70 %
   image), the solid caption is compact — smaller format label, artist kept strongest, the title on
   up to two lines instead of being cut, a small date row. Desktop / tablet unchanged. */
@media (max-width:760px){
  .home-lead .tile--primary .tile-media .thumb{aspect-ratio:1 / 1}
  .home-lead .tile--primary{--cap-tag:10px;--cap-artist:20px;--cap-title:12px}
  .home-lead .tile--secondary{--cap-x:9px;--cap-tag:8.5px;--cap-artist:14px;--cap-title:10.5px}
  .home-lead .tile--secondary .tile-media .thumb{aspect-ratio:3 / 4}
  .home-lead .tile-over{padding:8px var(--cap-x) 7px}
  .home-lead .tile-tag{margin-bottom:5px}
  .home-lead .tile--secondary .tile-tag{margin-bottom:4px}
  .home-lead .tile-sub,.home-lead .tile--secondary .tile-sub{margin-top:3px;height:auto;max-height:2.4em;line-height:1.2;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:clip}
  .home-lead .tile-foot{height:22px}
  .home-lead .tile-meta{font-size:9px;letter-spacing:.1em}
}

/* MOBILE · HOME AGENDA — two equal posters per row (half the content width each, 8px gap). The
   card is 9:10, between the square and the 4:5 poster formats, so either kind is trimmed only a
   little at its edges (centred, or at the CMS crop position) and fills the card. Desktop unchanged. */
@media (max-width:760px){
  .ag-cards--posters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .ag-cards--posters .ag-poster .thumb{aspect-ratio:9 / 10}
}

/* ══ EDITORIAL REFINEMENT — compact masthead, less inner white, continuous section rhythm ══════
   Desktop and mobile are set separately; card designs and grids are untouched. */
/* Inner gutter of the sheet: content sits closer to the grey frame */
:root{--pad:16px}
@media (max-width:760px){ :root{--pad:10px} }
/* Compact masthead: the complete logo, centred, with less black around it */
/* Section rhythm: one continuous publication — smaller gaps and separators */
.home-latest{padding-top:20px;padding-bottom:26px}
.home-break{margin:24px 0 20px}
@media (max-width:1023px){ .home-break{margin:22px 0 18px} }
@media (max-width:760px){ .home-latest{padding-top:16px;padding-bottom:22px} .home-break{margin:18px 0 14px} .home-more{margin-top:12px} }
/* PREMIERES / PODCASTS: "View all →" on the title row (right), small and secondary */
.home-level--headall{position:relative}
.home-headall{position:absolute;right:0;top:3px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;line-height:1.2;color:var(--ink);border-bottom:1px solid var(--rule-strong);padding:2px 0;white-space:nowrap}
.home-headall:hover{color:var(--accent);border-bottom-color:var(--accent)}
@media (max-width:760px){ .home-headall{top:2px;font-size:10px;letter-spacing:.1em} }
/* ECM editorial frame: the sheet's side edges follow long, slow, asymmetric curves (a different
   rhythm left and right, ~1600 / 2200 px periods, ≤7px deep) — read as architecture, not ornament.
   CSS only (pseudo-elements painting frame colour into the sheet margin); never over content. */
.page-sheet{position:relative;border-radius:0 0 14px 22px}
.page-sheet::before,.page-sheet::after{content:"";position:absolute;top:0;bottom:0;width:10px;pointer-events:none;z-index:2}
.page-sheet::before{left:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='1600' viewBox='0 0 10 1600' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1.5C5 220 6 420 3 640C.6 780 1.2 900 4.2 1080C6 1250 5.2 1420 1.5 1600H0Z' fill='%23e4e1da'/%3E%3C/svg%3E") repeat-y 0 0/10px 1600px}
.page-sheet::after{right:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='2200' viewBox='0 0 10 2200' preserveAspectRatio='none'%3E%3Cpath d='M10 0H8.6C6 340 4 560 5.4 860C6.6 1120 8.8 1260 7.4 1560C6.2 1840 4.6 2010 8.6 2200H10Z' fill='%23e4e1da'/%3E%3C/svg%3E") repeat-y 0 -700px/10px 2200px}
@media (max-width:760px){ .page-sheet{border-radius:0} .page-sheet::before,.page-sheet::after{width:3px;background-size:3px 1600px} .page-sheet::after{background-size:3px 2200px} }
/* Content almost to the sheet edge (just clear of the organic edge) */
:root{--pad:8px}
@media (max-width:760px){ :root{--pad:6px} }
/* Premiere page: the editorial description sits under the player (no source row there) */
.lead-desc{margin-top:22px;max-width:62ch}
.lead-desc > :first-child{margin-top:0}
/* ══ DENSITY PASS — one continuous editorial flow: tighter masthead, section rhythm and headers ══ */
.home-latest{padding-top:14px;padding-bottom:22px}
.home-break{margin:18px 0 16px}
.home-level > .section-title{margin-bottom:10px;padding-bottom:9px}
@media (max-width:1023px){ .home-break{margin:16px 0 14px} }
@media (max-width:760px){
  .home-latest{padding-top:12px;padding-bottom:18px}
  .home-break{margin:14px 0 12px}
  .home-level > .section-title{margin-bottom:10px;padding-bottom:9px}
}

/* FINAL MASTER PASS ─ VIEW ALL: full label on desktop/tablet, short on mobile (same heading row) */
@media (max-width:760px){ .home-headall-noun{display:none} }

/* INTERVIEW PAGE ─ less dead space between hero, Q&A and the closing Premiere */
.iv-body{margin-top:30px}
.iv-qa{margin-top:26px}
.iv-item{padding-top:24px}
.pc{margin-top:40px}
@media (max-width:760px){ .iv-body{margin-top:22px} .iv-item{padding-top:20px} .pc{margin-top:32px} }

/* ═══ FINAL ART DIRECTION ─ lighter typography, natural-case headlines, editorial index ═══ */
/* section headers + titles: confident, not heavy */
.home-level > .section-title{font-size:14px;font-weight:700;letter-spacing:.1em}
.page-title{font-weight:700;letter-spacing:.01em}
.tile-title{font-weight:700}
.prem-title,.pod-guest,.ag-card-title,.embed-title{font-weight:700}
/* editorial headlines in their natural case (never forced uppercase) */
.home-lead .tile-sub,.tile--cover .tile-sub{text-transform:none;letter-spacing:0;font-weight:400}
.lead-title,.pc-title{font-weight:700}
.ed-lead-title,.feed-title,.feature-title{font-weight:600;font-stretch:100%}

/* INTERVIEWS INDEX — compact head, then one 3 / 2 / 1-column grid of equal cards */
.iv-archive-page .page-head{margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--rule)}
.iv-grid{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 26px}
.ivc article{display:flex;flex-direction:column;height:100%}
.ivc-fig{position:relative}
.ivc-media{display:block;background:#0b0b0b;overflow:hidden}
.ivc-media .thumb{display:block;aspect-ratio:4 / 3}
.ivc-media .thumb img{width:100%;height:100%;object-fit:cover;object-position:var(--focal,50% 30%);transition:opacity .2s}
.ivc-media:hover .thumb img{opacity:.92}
.ivc-media:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
/* date marker: a small paper notch cut into the image's lower-left corner, accent hairline on top */
.dmark{position:absolute;left:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:50px;height:50px;background:var(--bg);border-top:2px solid var(--accent);line-height:1;color:var(--ink)}
.dmark-d{font-size:19px;font-weight:600;font-variant-numeric:tabular-nums}
.dmark-m{margin-top:3px;font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.16em;padding-left:.16em;color:var(--ink-soft)}
.ivc-label{margin:12px 0 0;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft)}
.ivc-kind{color:var(--accent)}
.ivc-title{margin:8px 0 0;font-size:19px;font-weight:600;line-height:1.28;letter-spacing:-.005em;overflow-wrap:anywhere}
.ivc-label + .ivc-title{margin-top:6px}
.ivc-fig + .ivc-title{margin-top:14px}
.ivc-title a{color:var(--ink);text-decoration:none}
.ivc-title a:hover{color:var(--accent)}
.ivc-desc{margin:9px 0 0;font-size:14.5px;line-height:1.55;color:var(--ink-soft)}
.ivx-read{display:inline-block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ink);border-bottom:1px solid var(--rule-strong);padding:2px 0;text-decoration:none}
.ivx-read:hover{color:var(--accent);border-bottom-color:var(--accent)}
.ivc .ivx-read{margin-top:14px;align-self:flex-start}
@media (max-width:1023px){ .iv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px} }
@media (max-width:760px){
  .iv-archive-page .page-head{margin-bottom:14px;padding-bottom:12px}
  .iv-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .ivc-title{font-size:18px}
  .dmark{width:44px;height:44px}.dmark-d{font-size:17px}
}

/* INTERVIEW Q&A — one system for every interview: Q1 open, then a hairline between blocks */
.iv-qa{margin-top:22px}
.iv-item{padding:28px 0 26px;border-top:1px solid var(--rule)}
.iv-item:first-child{border-top:0;padding-top:4px}
.iv-qn{margin-bottom:6px}
.iv-q{font-weight:600;line-height:1.4}
.iv-a{margin-top:14px}
.iv-who{margin-bottom:6px}
@media (max-width:760px){ .iv-item{padding:22px 0 20px} .iv-item:first-child{padding-top:2px} }
/* inner pages start closer to the masthead */
.page{padding-top:28px}
@media (max-width:760px){ .page{padding-top:18px} }
.iv-archive-page .page-head{max-width:none}

/* ═══ MASTHEAD ─ one thin black band (≥761): wordmark · navigation · search · menu ═══════════
   Wide (≥1180): the navigation sits inside the band. Tablet (761–1179): the navigation folds into
   the menu panel, so the band never wraps to a second row. Mobile (≤760): unchanged (ECM logo
   centred, menu left, search right). The background carries one very faint off-centre orbital
   arc — tone on tone, CSS gradients only. */
@media (min-width:761px){
  .site-header{background:
    radial-gradient(circle at 71% 340%, transparent 0 196px, rgba(244,243,240,.075) 197px, rgba(244,243,240,.02) 206px, transparent 232px),
    radial-gradient(ellipse 420px 90px at 69% 112%, rgba(244,243,240,.045), transparent 72%),
    radial-gradient(ellipse 300px 140px at 12% -40%, rgba(244,243,240,.03), transparent 70%),
    var(--masthead)}
  .brand-type{display:block;font-size:11.5px;font-weight:400;letter-spacing:.38em;text-transform:uppercase;color:#f4f3f0;white-space:nowrap}
  .main-nav > ul > li > a{position:relative;display:inline-flex;align-items:center;padding:19px 0 18px;border:0;font-size:11px;font-weight:500;font-stretch:100%;letter-spacing:.16em;line-height:1;color:rgba(244,243,240,.86)}
  /* the sections panel (menu): a slim black drop under the band, right-aligned */
  .menu-panel a{display:block;padding:10px 0;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,243,240,.86);border-bottom:1px solid rgba(244,243,240,.1)}
}
@media (min-width:761px) and (max-width:1179px){
  .main-nav{display:none}
}
@media (min-width:1180px){ .brand-type{font-size:12px;letter-spacing:.42em} .main-nav ul{gap:0 22px} }

/* ECM DATE MARKER ─ a small printed label laid on the image (upper-left, inset): day over month,
   warm paper, hairline border, a short accent tick. Replaces the black date strip everywhere. */
.tile-media{position:relative}
.dmark{position:absolute;left:12px;top:12px;bottom:auto;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;width:38px;height:40px;padding-top:1px;background:rgba(244,243,240,.94);border:1px solid rgba(11,11,11,.14);border-top:0;border-radius:2px;box-shadow:none;line-height:1;color:var(--ink)}
.dmark::before{content:"";position:absolute;left:-1px;right:-1px;top:0;height:2px;background:var(--accent);border-radius:2px 2px 0 0}
.dmark-d{font-size:15px;font-weight:600;letter-spacing:.01em;font-variant-numeric:tabular-nums}
.dmark-m{margin-top:3px;font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.16em;padding-left:.16em;color:var(--ink-soft)}
@media (max-width:760px){ .dmark{left:10px;top:10px;width:34px;height:36px} .dmark-d{font-size:14px} .dmark-m{font-size:7.5px} }
/* Featured / cover tiles: the tag moves clear of the marker */
.tile--lead .tile-over,.home-lead .tile-over{padding-bottom:16px}

/* INTERVIEW CARD ─ fixed rhythm: label line, title (≤2 lines), description area = exactly 4 lines,
   READ INTERVIEW → on one baseline across the row */
.ivc-label{min-height:1.2em;line-height:1.2}
.ivc-desc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden;height:calc(4 * 1.55em);margin-bottom:0}
.ivc-title{font-weight:500;font-size:18.5px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:calc(2 * 1.28em)}
.ivc .ivx-read{margin-top:14px}
@media (max-width:760px){ .ivc-title{font-size:17.5px;min-height:0} }

/* ═══ FEATURED ─ the homepage cover: same language as the interview index, stronger hierarchy ═══
   Primary: the photograph + a slim caption over its foot (category, headline in natural case).
   Secondary: image + text on the paper. Date: the ECM marker on the image. No date footer. */
.home-lead .tile--feat .tile-over.feat-over{position:absolute;left:0;right:0;bottom:0;padding:16px 22px 17px;background:rgba(11,11,11,.72);height:auto}
.feat-tag{margin:0;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.16em;line-height:1.2;color:rgba(244,243,240,.82)}
.feat-who{color:inherit}
.feat-title{margin:7px 0 0;font-size:clamp(20px,1.9vw,26px);font-weight:500;line-height:1.22;letter-spacing:-.005em;text-transform:none;max-width:40ch}
.feat-title a{color:#f4f3f0;text-decoration:none}
.feat-title a:hover{color:var(--accent)}
.home-lead .tile--featcard{background:transparent;display:flex;flex-direction:column}
.home-lead .tile--featcard .tile-media{flex:1 1 auto;min-height:0}
.home-lead .tile--featcard .tile-media .thumb{position:absolute;inset:0;aspect-ratio:auto;height:100%}
.home-lead .tile--featcard .thumb img{width:100%;height:100%;object-fit:cover;object-position:var(--focal,50% 30%)}
.featcard-text{padding:12px 0 2px}
.featcard-text .feat-tag{color:var(--ink-soft)}
.featcard-title{margin:6px 0 0;font-size:17px;font-weight:500;line-height:1.3;letter-spacing:-.005em}
.featcard-title a{color:var(--ink);text-decoration:none}
.featcard-title a:hover{color:var(--accent)}
/* two stories: cover 2/3 · second story 1/3, the same height */
@media (min-width:761px){
  .home-lead.home-lead--2{grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:auto}
  .home-lead.home-lead--2 > .tile--primary{grid-column:1;grid-row:1;aspect-ratio:3 / 2}
  .home-lead--2 .tile--primary .tile-media{position:relative;height:100%}
  .home-lead--2 .tile--primary .tile-media .thumb{position:absolute;inset:0;aspect-ratio:auto;height:100%}
  .home-lead--2 .tile--primary .thumb img{width:100%;height:100%;object-fit:cover;object-position:var(--focal,50% 30%)}
  .home-lead.home-lead--2 > .tile--featcard:nth-child(2){grid-column:2;grid-row:1}
}
@media (min-width:761px) and (max-width:1023px){
  .home-lead.home-lead--2{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
  .feat-title{font-size:19px}
}
/* mobile: cover first, full width; the second story as a compact row (image · text) */
@media (max-width:760px){
  .home-lead.home-lead--2{grid-template-columns:minmax(0,1fr)}
  .home-lead--2 .tile--primary .tile-media .thumb{aspect-ratio:1 / 1}
  .home-lead .tile--feat .tile-over.feat-over{padding:11px 14px 12px}
  .feat-tag{font-size:9.5px;letter-spacing:.14em}
  .feat-title{margin-top:5px;font-size:17px;line-height:1.25}
  .home-lead .tile--featcard{flex-direction:row;align-items:center;gap:14px}
  .home-lead .tile--featcard .tile-media{flex:0 0 40%;aspect-ratio:4 / 3}
  .featcard-text{padding:0}
  .featcard-title{font-size:15.5px}
}
/* desktop masthead = wordmark · navigation · search (the menu button only where the nav folds) */

/* ═══ FINAL SYSTEM ═════════════════════════════════════════════════════════════════════════ */
/* masthead: the complete ECM logo, small, at the left of the one band (no text wordmark) */

/* ECM date notation: day · hairline · month, tiny, on a soft dark veil (no box, no sticker) */
.dmark{left:10px;top:10px;width:auto;height:auto;min-width:0;padding:5px 6px 5px;background:rgba(11,11,11,.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border:0;border-radius:1px;color:#f4f3f0;gap:0}
.dmark::before{content:none}
.dmark-d{font-size:13px;font-weight:500;letter-spacing:.02em;line-height:1}
.dmark-m{position:relative;margin-top:7px;font-size:7.5px;font-weight:500;letter-spacing:.18em;color:rgba(244,243,240,.86)}
.dmark-m::before{content:"";position:absolute;left:50%;top:-4.5px;width:10px;height:1px;margin-left:-5px;background:var(--accent)}
@media (max-width:760px){ .dmark{left:8px;top:8px;width:auto;height:auto;padding:4px 5px} .dmark-d{font-size:12px} .dmark-m{font-size:7px} }

/* AGENDA (home): the poster stays clean; the date is one small notation under it */
.ag-when{display:flex;align-items:baseline;gap:10px;margin:7px 0 0;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);line-height:1.2}
.ag-when b{font-size:13px;font-weight:500;letter-spacing:.02em;color:var(--ink)}
.ag-when time{display:inline-flex;align-items:baseline;gap:5px;padding-right:10px;border-right:1px solid var(--accent)}
.ag-when span{font-weight:500;letter-spacing:.12em}

/* homepage rhythm: tighter transitions */
.home-break{margin:16px 0 14px}
.home-level > .section-title{margin-bottom:10px}
@media (max-width:760px){ .home-break{margin:12px 0 10px} }

/* FEATURED secondary story: image on top, then category · title · excerpt (4 lines) · READ → */
.home-lead--2 .tile--featcard .tile-media{flex:1 1 auto;min-height:180px}
.featcard-text{padding:11px 0 0;flex:0 0 auto}
.featcard-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.featcard-desc{margin:7px 0 0;font-size:14px;line-height:1.55;color:var(--ink-soft);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.tile--featcard .ivx-read{margin-top:10px}
@media (min-width:761px) and (max-width:1023px){ .featcard-desc{-webkit-line-clamp:3;font-size:13.5px} }
@media (max-width:760px){
  /* the second story follows the cover as a compact row: image · text (cover stays dominant) */
  .home-lead .tile--featcard{flex-direction:row;align-items:flex-start;gap:12px}
  .home-lead .tile--featcard .tile-media{flex:0 0 38%;aspect-ratio:4 / 5;min-height:0}
  .featcard-text{padding:0;flex:1 1 auto;min-width:0}
  .featcard-title{font-size:15.5px;margin-top:5px}
  .featcard-desc{font-size:13px;line-height:1.5;-webkit-line-clamp:3;margin-top:5px}
  .tile--featcard .ivx-read{margin-top:8px}
  .tile--featcard .dmark{left:6px;top:6px}
}
/* desktop navigation: one compact group set towards the right, clear of SEARCH */

/* ═══ FEATURED = a triptych of identical image-led cards (3 equal columns; an absent third story
   leaves its slot empty). Each: photograph · date notation · dark strip with category + title. */
.home-feat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.home-feat .tile--feat{position:relative;background:#0b0b0b;min-width:0}
.home-feat .tile--feat .tile-media{position:relative}
.home-feat .tile--feat .tile-media .thumb{display:block;aspect-ratio:4 / 5}
.home-feat .tile--feat .thumb img{width:100%;height:100%;object-fit:cover;object-position:var(--focal,50% 30%);transition:opacity .2s}
.home-feat .tile--feat:hover .thumb img{opacity:.94}
.home-feat .tile--feat .tile-over.feat-over{position:absolute;left:0;right:0;bottom:0;height:auto;padding:14px 18px 16px;background:rgba(11,11,11,.72)}
.home-feat .feat-title{font-size:18px;line-height:1.28;margin-top:6px;max-width:none;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
@media (min-width:761px) and (max-width:1023px){ .home-feat{gap:10px} .home-feat .feat-title{font-size:15.5px} .home-feat .tile--feat .tile-over.feat-over{padding:11px 13px 12px} }
@media (max-width:760px){
  .home-feat{grid-template-columns:minmax(0,1fr);gap:10px}
  .home-feat .tile--feat .tile-media .thumb{aspect-ratio:1 / 1}
  .home-feat .tile--feat .tile-over.feat-over{padding:11px 14px 12px}
  .home-feat .feat-title{font-size:17px}
}
/* FEATURED overlay as a fixed component: the lower 27% of every image, text set from the top
   (category, then title ≤2 lines) — same height, padding and rhythm on every card */
.home-feat .tile--feat .tile-over.feat-over{top:auto;bottom:0;height:25%;display:flex;flex-direction:column;justify-content:flex-start;padding:20px 20px 0;background:rgba(11,11,11,.66);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow:hidden}
.home-feat .feat-tag{font-size:10px;font-weight:500;letter-spacing:.14em;color:rgba(244,243,240,.78)}
.home-feat .feat-title{margin-top:8px;font-size:17px;font-weight:500;line-height:1.3;letter-spacing:0;-webkit-line-clamp:2}
@media (min-width:761px) and (max-width:1023px){ .home-feat .tile--feat .tile-over.feat-over{padding:12px 13px 0} .home-feat .feat-title{font-size:14.5px;margin-top:6px} }
@media (max-width:760px){ .home-feat .tile--feat .tile-over.feat-over{height:28%;padding:13px 14px 0} .home-feat .feat-tag{font-size:9.5px} .home-feat .feat-title{font-size:16px;margin-top:6px} }
/* FEATURED on phones: the same component, 4:3 covers, overlay ≈30%, compact stack */
@media (max-width:760px){
  .home-feat{gap:8px}
  .home-feat .tile--feat .tile-media .thumb{aspect-ratio:4 / 3}
  .home-feat .tile--feat .tile-over.feat-over{height:30%;padding:11px 14px 0}
  .home-feat .feat-tag{font-size:9px;letter-spacing:.13em}
  .home-feat .feat-title{font-size:15.5px;line-height:1.28;margin-top:5px}
}
/* FEATURED hook (phones only): category · title · first sentence of the Editorial description,
   one compact block; overlay 35% of the 4:3 cover */
.feat-intro{display:none}
@media (max-width:760px){
  .home-feat .tile--feat .tile-over.feat-over{height:35%;padding:9px 14px 0}
  .home-feat .feat-title{margin-top:3px;font-size:15px;line-height:1.25}
  .feat-intro{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;margin:3px 0 0;font-size:12px;font-weight:400;line-height:1.35;color:rgba(244,243,240,.74)}
}
@media (min-width:420px) and (max-width:760px){ .feat-intro{-webkit-line-clamp:2} }
/* FEATURED on phones: the caption hugs its text (same padding/spacing logic on every card),
   no empty band under the last line; hook = one line */
@media (max-width:760px){
  .home-feat .tile--feat .tile-over.feat-over{height:auto;padding:8px 14px 9px}
  .home-feat .feat-title{margin-top:2px}
  .feat-intro{margin-top:2px;-webkit-line-clamp:1}
}
@media (min-width:420px) and (max-width:760px){ .feat-intro{-webkit-line-clamp:1} }
/* FEATURED on phones — a fixed caption (27% of the 4:3 cover) on every card. Its lines are a
   wrapping column: the one-line hook appears whenever it fits whole under the title and drops out
   entirely (never clipped mid-line) when a two-line title already fills the caption. Text sits
   at the foot of the caption, close to the bottom edge. */
@media (max-width:760px){
  .home-feat .tile--feat .tile-over.feat-over{height:27%;padding:0 0 9px;display:flex;flex-flow:column wrap;justify-content:flex-end;align-content:flex-start;overflow:hidden}
  .home-feat .tile--feat .tile-over.feat-over > *{width:100%;flex:none;box-sizing:border-box;padding-left:14px;padding-right:14px}
  .home-feat .feat-tag{font-size:9px;line-height:1.2;margin:0}
  .home-feat .feat-title{font-size:14.5px;line-height:1.24;margin-top:2px}
  .feat-intro{font-size:11.5px;line-height:1.3;margin:2px 0 0;-webkit-line-clamp:1}
}

/* ═══ MASTER PASS ═══ */
/* technical breadcrumbs: kept for SEO / screen readers, never shown */
.crumbs{position:absolute!important;width:1px;height:1px;margin:0!important;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.page-head{margin-bottom:16px}
.iv-archive-page .page-head{padding-bottom:12px}

/* NEWS — cards (home 4 across, archive 3 across) and article byline; all values from the CMS */
.nw-grid{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px}
.nw-grid--home{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 18px}
.nw article{display:flex;flex-direction:column}
.nw-fig{position:relative;background:#0b0b0b;overflow:hidden}
.nw-fig .thumb{display:block;aspect-ratio:3 / 2}
.nw-fig .thumb img{width:100%;height:100%;object-fit:cover;object-position:var(--focal,50% 35%)}
.nw-cat{margin:11px 0 0;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--accent)}
.nw-title{margin:6px 0 0;font-size:17px;font-weight:500;line-height:1.3;letter-spacing:-.005em}
.nw-title a{color:var(--ink);text-decoration:none}
.nw-title a:hover{color:var(--accent)}
.nw-by{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;margin:8px 0 0;font-size:12px;line-height:1.4;color:var(--ink-soft)}
.nw-who{font-weight:600;color:var(--ink)}
.nw-who a{color:inherit}
.nw-role::before,.nw-by time::before{content:"·";margin-right:8px;color:var(--muted)}
.nw-by time{font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.nw-dek{margin:7px 0 0;font-size:14px;line-height:1.5;color:var(--ink-soft);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.news .nw-h1{margin:8px 0 0;font-size:clamp(26px,3.2vw,38px);font-weight:600;line-height:1.15;letter-spacing:-.01em}
.news .nw-standfirst{margin:12px 0 0;font-size:18px;line-height:1.45;color:var(--ink-soft)}
.news .nw-by{margin-top:14px;font-size:13px}
@media (max-width:1023px){ .nw-grid,.nw-grid--home{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:760px){ .nw-grid,.nw-grid--home{grid-template-columns:minmax(0,1fr);gap:22px} .nw-title{font-size:16.5px} }
.ag-when time{padding:0;border:0}

/* ═══ CARD REFINEMENT ═══ */
/* podcast number: small, secondary, before the artist (CMS episode number) */
.pod-no{margin-right:7px;font-size:.72em;font-weight:500;letter-spacing:.08em;color:rgba(244,243,240,.6);font-variant-numeric:tabular-nums}
/* FEATURED: CATEGORY → ARTIST → TITLE in a genuinely translucent panel (no blur, no solid black);
   fixed panel height on every card, text set at its foot */
.home-feat .tile--feat .tile-over.feat-over{background:rgba(8,8,8,.64);-webkit-backdrop-filter:none;backdrop-filter:none;height:27%;padding:0 0 13px;display:flex;flex-flow:column wrap;justify-content:flex-end;align-content:flex-start;overflow:hidden}
.home-feat .tile--feat .tile-over.feat-over > *{width:100%;flex:none;box-sizing:border-box;padding-left:18px;padding-right:18px}
.home-feat .feat-tag{font-size:9.5px;font-weight:500;letter-spacing:.15em;line-height:1.2;color:rgba(244,243,240,.8);margin:0}
.home-feat .feat-who{margin:3px 0 0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;line-height:1.2;color:#f4f3f0}
.home-feat .feat-title{margin-top:3px;font-size:15px;font-weight:400;line-height:1.25;letter-spacing:-.005em;-webkit-line-clamp:2;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.home-feat .feat-tag,.home-feat .feat-who{text-shadow:0 1px 2px rgba(0,0,0,.35)}
@media (min-width:761px) and (max-width:1023px){ .home-feat .tile--feat .tile-over.feat-over{height:30%;padding-bottom:10px} .home-feat .tile--feat .tile-over.feat-over > *{padding-left:12px;padding-right:12px} .home-feat .feat-title{font-size:13px} .home-feat .feat-who{font-size:11.5px} }
@media (max-width:760px){
  .home-feat .tile--feat .tile-over.feat-over{height:36%;padding:0 0 9px}
  .home-feat .tile--feat .tile-over.feat-over > *{padding-left:14px;padding-right:14px}
  .home-feat .feat-tag{font-size:9px}
  .home-feat .feat-who{font-size:12.5px;margin-top:2px}
  .home-feat .feat-title{font-size:14.5px;margin-top:2px}
  .feat-intro{margin-top:2px}
}

/* ═══ HEADER + MEGA DROPDOWN REFINEMENT ═══ */
/* staging note: tiny and quiet */
.env-banner{padding:3px 12px;font-size:9px;font-weight:400;letter-spacing:.16em;color:rgba(244,243,240,.55)}
@media (min-width:761px){
  /* masthead: a larger complete logo, centred in its own area; a lighter, quieter navigation */
  .main-nav > ul > li > a{padding:25px 0 24px;font-size:10.5px;font-weight:400;letter-spacing:.14em;color:rgba(244,243,240,.8)}

  /* dropdown = an editorial preview: CATEGORY → name → title (natural case) → date; light weights */
  .nav-dd-inner{padding:20px var(--pad) 18px}
  .nav-dd-cards{gap:18px}
  .nav-dd-item a{gap:3px}
  .nav-dd-media{aspect-ratio:4 / 3;margin-bottom:9px}
  .nav-dd-kicker{font-size:9.5px;font-weight:500;letter-spacing:.14em;color:rgba(244,243,240,.55)}
  .nav-dd-name{font-size:13px;font-weight:500;line-height:1.25;letter-spacing:0;text-transform:none;color:#f4f3f0}
  .nav-dd-title{font-size:13px;font-weight:400;line-height:1.35;letter-spacing:0;text-transform:none;color:rgba(244,243,240,.82);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
  .nav-dd-date{margin-top:2px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(244,243,240,.5)}
  .nav-dd-all{margin-top:16px}
  .nav-dd-all a{font-size:10px;font-weight:500;letter-spacing:.14em}
  .nav-dd-empty{font-size:11px;text-transform:none;letter-spacing:.02em}
}

/* ═══ ONE ECM EDITORIAL PANEL: dark, genuinely translucent (alpha), no blur, no gradient ═══ */
:root{--panel:rgba(8,8,8,.6)}
/* Premiere / Podcast cards (home): the caption and the PLAY row sit OVER the artwork as one
   translucent panel, on every breakpoint (the artwork stays visible through it) */
.home-level--premieres .tile--music,.home-level--podcasts .tile--music{position:relative;background:#0b0b0b}
.home-level--premieres .tile--music .tile-foot,.home-level--podcasts .tile--music .tile-foot{position:absolute;left:0;right:0;bottom:0;z-index:2;background:var(--panel)!important}
.home-level--premieres .tile--music .tile-over,.home-level--podcasts .tile--music .tile-over{background:var(--panel)!important;background-image:none}
@media (min-width:761px){
  .home-level--podcasts .tile--music{--mf:clamp(22px,14cqw,34px)}
  .home-level--premieres .tile--music{--mf:clamp(20px,12.5cqw,30px)}
  .home-level--premieres .tile--music .tile-foot,.home-level--podcasts .tile--music .tile-foot{height:var(--mf)}
  .home-level--premieres .tile--music .tile-over,.home-level--podcasts .tile--music .tile-over{bottom:var(--mf)}
  .home-level--premieres .tile--music .tile-media .thumb,.home-level--podcasts .tile--music .tile-media .thumb{display:block}
}
@media (max-width:760px){
  .home-level--premieres .tile--music .tile-over,.home-level--podcasts .tile--music .tile-over{bottom:var(--mfoot)}
}
.tile-over--pod{grid-template-rows:auto}
.tile-over--pod .tile-tag{margin:0;font-weight:500;color:rgba(244,243,240,.82)}

/* FEATURED: the panel is an inset caption inside the photograph — ~92% wide, compact, translucent */
.home-feat .tile--feat .tile-over.feat-over{left:4%;right:4%;bottom:4%;width:auto;height:auto;min-height:21%;padding:11px 0 12px;background:var(--panel);justify-content:center}
.home-feat .tile--feat .tile-over.feat-over > *{padding-left:14px;padding-right:14px}
.home-feat .feat-title{font-size:14.5px}
@media (min-width:761px) and (max-width:1023px){ .home-feat .tile--feat .tile-over.feat-over{min-height:26%;height:auto;padding:9px 0 10px} .home-feat .tile--feat .tile-over.feat-over > *{padding-left:10px;padding-right:10px} }
@media (max-width:760px){
  .home-feat .tile--feat .tile-over.feat-over{left:3%;right:3%;bottom:4%;height:auto;min-height:34%;padding:8px 0 9px}
  .home-feat .tile--feat .tile-over.feat-over > *{padding-left:12px;padding-right:12px}
  .home-feat .feat-intro{display:none}
}
@media (min-width:1024px) and (max-width:1279px){ .home-feat .tile--feat .tile-over.feat-over{min-height:26%} }

/* FEATURED panel — final: full width, bottom-anchored, as tall as its two rows
   (CATEGORY · ARTIST / title on one line), translucent; no fixed or minimum height */
.home-feat .tile--feat .tile-over.feat-over{left:0;right:0;bottom:0;top:auto;width:auto;height:auto!important;min-height:0!important;display:block;padding:10px 16px 11px!important;background:var(--panel);overflow:hidden}
.home-feat .tile--feat .tile-over.feat-over > *{width:auto;padding-left:0!important;padding-right:0!important}
.home-feat .feat-tag{margin:0;font-size:9.5px;font-weight:500;letter-spacing:.14em;line-height:1.25;color:rgba(244,243,240,.8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-feat .feat-sep{color:rgba(244,243,240,.5)}
.home-feat .feat-who{display:inline;margin:0;font-size:inherit;font-weight:600;letter-spacing:inherit;color:#f4f3f0}
.home-feat .feat-title{display:block;margin:4px 0 0;font-size:15px;font-weight:400;line-height:1.3;white-space:nowrap;overflow:visible;-webkit-line-clamp:unset}
.home-feat .feat-intro{display:none!important}
@media (max-width:1023px){ .home-feat .tile--feat .tile-over.feat-over{padding:9px 12px 10px!important} .home-feat .feat-title{font-size:14px} }
@media (max-width:760px){ .home-feat .tile--feat .tile-over.feat-over{padding:8px 12px 9px!important} .home-feat .feat-tag{font-size:9px} .home-feat .feat-title{font-size:15px;margin-top:3px} }

/* ═══ NEWS rows — same container as FEATURED; IMAGE + (author · date) | CATEGORY + headline ═══ */
.nw-grid,.nw-grid--home{display:block;margin:0;padding:0;list-style:none}
.nw + .nw{margin-top:22px;padding-top:22px;border-top:1px solid var(--rule)}
.nw .nw-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:0 28px;align-items:start}
.nw-fig .thumb{aspect-ratio:4 / 3}
.nw-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;margin:9px 0 0;font-size:11px;font-weight:500;letter-spacing:.06em;line-height:1.2;color:var(--ink-soft)}
.nw-meta-i{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.nw-meta a{color:var(--ink)}
.nw-meta a:hover{color:var(--accent)}
.nw-meta time{text-transform:uppercase;letter-spacing:.1em}
.nw-ic{width:12px;height:12px;flex:none;color:var(--muted)}
.nw-text{max-width:620px;padding-top:2px}
.nw-cat{margin:0}
.nw-title{margin:8px 0 0;font-size:clamp(20px,1.9vw,26px);font-weight:500;line-height:1.22;letter-spacing:-.01em;max-width:24ch}
.nw-dek{margin:10px 0 0;font-size:15px;line-height:1.55;-webkit-line-clamp:3;max-width:56ch}
.nw-by{display:none}
@media (max-width:760px){
  .nw .nw-row{grid-template-columns:minmax(0,1fr);gap:0}
  .nw-text{padding-top:12px}
  .nw-title{font-size:19px;max-width:none}
  .nw-dek{font-size:14px}
}
/* NEWS article: headline → one metadata row (author · role · date, with icons) → hero, tight rhythm */
.news .nw-meta--article{margin:12px 0 0;font-size:12px}
.nw-meta .nw-role{margin-left:8px;font-weight:400;color:var(--muted)}
.nw-meta .nw-role::before{content:"·";margin-right:8px}
.news-hero{margin:14px 0 0}
/* FEATURED: three editorial levels — CONTENT TYPE / ARTIST / title (panel still content-height) */
.home-feat .feat-who{display:block;margin:4px 0 0;font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;line-height:1.2;color:#f4f3f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-feat .feat-title{margin-top:4px}
@media (max-width:760px){ .home-feat .feat-who{font-size:12px;margin-top:3px} .home-feat .feat-title{margin-top:3px} }

/* ═══ SHARED EDITORIAL TOKENS — one typography + rhythm for Featured, News and article pages ═══ */
:root{
  --t-cat-size:10px; --t-cat-weight:600; --t-cat-track:.14em;           /* category labels */
  --t-meta-size:11.5px; --t-meta-weight:500; --t-meta-track:.06em;      /* author / role / date */
  --t-head-card:15px;                                                   /* Featured headline (fitted to one line) */
  --t-head-list:clamp(19px,1.7vw,23px);                                 /* News list headline */
  --t-h1:clamp(24px,2.3vw,30px);                                        /* article H1 */
  --t-head-weight:500; --t-head-lh:1.22;
  --s-1:6px; --s-2:12px; --s-3:18px;                                    /* vertical rhythm */
}
.nw-cat,.news .kicker{font-size:var(--t-cat-size);font-weight:var(--t-cat-weight);letter-spacing:var(--t-cat-track);text-transform:uppercase;color:var(--accent);margin:0}
.nw-meta,.news .nw-meta--article{font-size:var(--t-meta-size);font-weight:var(--t-meta-weight);letter-spacing:var(--t-meta-track)}
.nw-title{margin-top:var(--s-1);font-size:var(--t-head-list);font-weight:var(--t-head-weight);line-height:var(--t-head-lh)}
.news .nw-h1{margin:var(--s-1) 0 0;font-size:var(--t-h1);font-weight:var(--t-head-weight);line-height:var(--t-head-lh);letter-spacing:-.01em;max-width:30ch}
.news .nw-standfirst{margin-top:var(--s-2);font-size:17px}
.news .nw-meta--article{margin-top:var(--s-2)}
.news-hero{margin-top:var(--s-3)}
.news-body{margin-top:24px}
.nw-meta{margin-top:var(--s-1)}
@media (max-width:760px){ .news .nw-h1{font-size:23px} }
/* headline sizes reuse the existing card-title scale (Interviews index title 18.5px · 500) */
:root{--t-head-list:18.5px;--t-h1:clamp(22px,2vw,26px)}
.nw-title{max-width:none}
.nw-text{max-width:none}
.nw-dek{max-width:62ch}
/* bold from the CMS body (Markdown **…** → <strong>): same font, size and colour as the body text */
.prose strong,.prose b{font:inherit;font-weight:700;color:inherit;letter-spacing:inherit}

/* ═══ ONE EDITORIAL TYPE SYSTEM (Featured = reference) ═══════════════════════════════════════
   Titles, artist / contributor names, track and event names: as written in the CMS (no forced
   capitals), light weights, restrained sizes. Uppercase stays only on small labels / navigation. */
:root{--t-card-title:16px;--t-card-name:13px;--t-card-weight:400}
.home-feat .feat-who{text-transform:none;letter-spacing:0;font-size:var(--t-card-name);font-weight:600}
.tile-title,.tile-sub,.prem-title,.pod-guest,.embed-title,.ag-card-title,.ag-card-sub,.lead-title,.lead-track,
.pc-artist,.pc-title,.page-sub,.ag-artist,.ag-city,.ag-venue,.iv-who,.nav-dd-title,.nav-dd-sub,.nav-dd-name,
.ivc-label,.ivf-artist,.ivc-artist{text-transform:none;font-stretch:100%}
.tile-title,.prem-title,.pod-guest,.ag-card-title,.embed-title{font-weight:600;letter-spacing:0}
.tile-sub{letter-spacing:0;font-weight:400}
.ag-artist,.ag-city,.ag-venue,.ag-card-sub,.pc-artist,.iv-who{letter-spacing:.01em}
.lead-title,.pc-title{font-weight:500;letter-spacing:-.005em;line-height:1.15;font-size:clamp(24px,2.4vw,32px)}
.lead-track{letter-spacing:0}
.pc-artist{font-size:14px;font-weight:600}
/* Interviews index cards = Featured scale */
.ivc-label{font-size:var(--t-card-name);font-weight:600;letter-spacing:0;color:var(--ink)}
.ivc-title{font-size:var(--t-card-title);font-weight:var(--t-card-weight);line-height:1.3}
.ivc-desc{font-size:14px}
/* News list headline on the same card scale */
:root{--t-head-list:17px}
.nw-title{font-weight:var(--t-card-weight)}
/* page / archive titles and section headings: compact, restrained */
.page-title{font-size:clamp(22px,2.2vw,28px);font-weight:500;letter-spacing:.01em}
.home-level > .section-title,.section-title{font-weight:600}
.page-head .page-title{font-size:18px;font-weight:600;letter-spacing:.08em;line-height:1.2}

/* ═══ INTERVIEW ARTICLE HEAD — the Featured system on the article page ══════════════════════════
   hero image + one translucent panel: CONTENT TYPE · artist (as in the CMS) · real intro.
   Q&A starts right after it. One template for every interview. */
.iv-head{position:relative;margin:0;background:#0b0b0b}
.iv-head-media .thumb{aspect-ratio:3 / 2}
.iv-head-media .thumb img{object-position:var(--focal,50% 30%)}
.iv-panel{position:absolute;left:0;right:0;bottom:0;padding:14px 22px 16px;background:var(--panel,rgba(8,8,8,.6));color:#f4f3f0}
.iv-panel .feat-tag{font-size:10px;font-weight:500;letter-spacing:.14em;color:rgba(244,243,240,.8);margin:0}
.iv-name{margin:5px 0 0;font-size:var(--t-card-name,13px);font-weight:600;letter-spacing:0;line-height:1.25;text-transform:none;color:#f4f3f0}
.iv-ptitle{margin:4px 0 0;font-size:var(--t-card-title,16px);font-weight:400;line-height:1.3;color:#f4f3f0}
.iv-pintro{margin:6px 0 0;max-width:68ch;font-size:15px;font-weight:400;line-height:1.5;color:rgba(244,243,240,.9)}
.interview .iv-body{margin-top:8px}
.interview .iv-qa .iv-item:first-child{border-top:0;padding-top:18px}
@media (max-width:1023px){ .iv-head-media .thumb{aspect-ratio:4 / 3} }
@media (max-width:760px){
  .iv-head-media .thumb{aspect-ratio:4 / 5}
  /* the intro is real reading text: on phones the panel sits directly under the photo, same panel */
  .iv-panel{position:static;padding:12px 14px 14px;background:#141414}
  .iv-panel .feat-tag{font-size:9.5px}
  .iv-pintro{font-size:14px}
  .interview .iv-qa .iv-item:first-child{padding-top:14px}
}
/* interview questions: distinguishable, not oversized (card scale) */
.interview .iv-q{font-size:18px;font-weight:500;line-height:1.4;letter-spacing:0}
.interview .iv-qa .iv-item:first-child{padding-top:10px}
@media (max-width:760px){ .interview .iv-q{font-size:16.5px} }
/* NEWS = the Featured card (same grid, column width, image, panel, type scale) */
.home-feat--news{row-gap:12px}
@media (max-width:760px){ .home-feat--news{row-gap:10px} }
/* NEWS carries one more line of real editorial text: the standfirst, under the image, card scale */
.home-feat .feat-ex{margin:10px 0 0;font-size:14px;font-weight:400;line-height:1.5;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:760px){ .home-feat .feat-ex{font-size:13.5px;margin-top:8px} }
.home-feat--news .tile--feat{background:transparent}
.home-feat--news .tile--feat .tile-media{background:#0b0b0b}

/* ═══ CARD TYPE +≈12 % (editorial content only; labels and metadata stay compact) ══════════════ */
:root{--t-card-name:14.5px;--t-card-title:18px}
.home-feat .feat-who{font-size:14.5px;line-height:1.25}
.home-feat .feat-title{font-size:16.5px;line-height:1.3;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (min-width:761px) and (max-width:1023px){ .home-feat .feat-title{font-size:15.5px} .home-feat .feat-who{font-size:14px} }
@media (max-width:760px){ .home-feat .feat-title{font-size:16px} .home-feat .feat-who{font-size:14px} }
/* NEWS: the same card, a calmer image (Featured keeps the stronger portrait image) */
.home-feat--news .tile--feat .tile-media .thumb,.home-feat--news .tile--feat .thumb{aspect-ratio:4 / 3}
.home-feat .feat-ex{display:none}
/* Premieres / Podcasts: names and track titles a step larger (still fitted to the card) */
@media (min-width:761px){
  .tile--music .tile-title{font-size:clamp(13.5px,8.8cqw,20.5px)}
  .tile--music .tile-foot .tile-title--foot{font-size:clamp(11px,7.2cqw,17.5px)}
  .tile--music .tile-foot .tile-sub{font-size:clamp(11.5px,6.8cqw,15.5px)}
}
@media (min-width:1024px){ .home-level--premieres .tile--music .tile-title{font-size:clamp(11.5px,7.6cqw,18.5px)} }
@media (max-width:760px){
  .home-level--premieres .tile--music .tile-title,.home-level--podcasts .tile--music .tile-title{font-size:clamp(9.5px,9.8cqw,12.5px)}
}
/* Interview article panel: name at the card scale */
.iv-name{font-size:16px}
.iv-ptitle{font-size:18px}
@media (max-width:760px){ .home-feat--news .tile--feat .tile-media .thumb{aspect-ratio:16 / 10} }

/* ═══ ECM CARD PANEL — the one component for FEATURED and NEWS ══════════════════════════════════
   A fixed three-row grid at the foot of the image: TYPE / NAME / TITLE. Each row has a fixed height
   (the title row always holds two lines), so every panel in a grid has the same height and every
   row starts at the same y — whatever the content. Same padding, same left axis, same translucency. */
.home-feat .tile--feat .tile-over.feat-over{
  position:absolute;left:0;right:0;bottom:0;top:auto;height:auto!important;min-height:0!important;
  display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;justify-content:stretch;justify-items:stretch;align-content:start;row-gap:4px;
  padding:10px 16px 11px!important;background:var(--panel,rgba(8,8,8,.6));
}
.home-feat .tile--feat .feat-over > *{margin:0;padding:0;position:static}
.home-feat .feat-tag{height:1.25em;line-height:1.25em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-feat .feat-who{height:1.25em;line-height:1.25em}
.home-feat .feat-title{height:2.6em;line-height:1.3em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}
@media (max-width:1023px){ .home-feat .tile--feat .tile-over.feat-over{padding:9px 12px 10px!important} }
/* mega-dropdown thumbnails: framed on the subject — the CMS focal point when set, otherwise
   upper-centre for photographs (heads stay in frame), centre for artwork / posters */
.nav-dd-media img{object-fit:cover;object-position:var(--focal,50% 22%)}
/* the panel edge stays readable on dark photographs too (same translucency, a hairline at its top) */
.home-feat .tile--feat .tile-over.feat-over{box-shadow:inset 0 1px 0 rgba(244,243,240,.16)}

/* ═══ P1.4 FEATURED FULL-SCREEN — one exceptional piece at the top of Featured ═════════════════
   The standard Featured card at full width: the photograph, the ECM date notation on it and the
   card panel across the whole foot of the image — category · headline · standfirst, no link line.
   Type comes from the SAME tokens as the standard Featured cards (--t-feat-*, --t-card-name), so
   the hero and the cards below never drift apart. Scoped to .feat-full. */
:root{--t-feat-tag:9.5px;--t-feat-title:16.5px}
@media (min-width:761px) and (max-width:1023px){ :root{--t-feat-title:15.5px} }
@media (max-width:760px){ :root{--t-feat-tag:9px;--t-feat-title:16px} }
.home-feat .feat-tag{font-size:var(--t-feat-tag)}
.home-feat .feat-title{font-size:var(--t-feat-title)}
.feat-full{position:relative;margin:0 0 12px;background:#0b0b0b;color:#f4f3f0;overflow:hidden}
.feat-full-media{position:relative;height:clamp(364px,calc((100svh - 170px) * .7),602px)}
.feat-full-media .thumb{display:block;width:100%;height:100%;aspect-ratio:auto}
.feat-full-media .thumb img{object-position:var(--focal,50% 40%)}
.feat-full-panel{position:absolute;left:0;right:0;bottom:0;padding:14px 18px 16px;background:rgba(8,8,8,.64);box-shadow:inset 0 1px 0 rgba(244,243,240,.16);color:#f4f3f0}
.feat-full-panel > *{max-width:none}
.feat-full .feat-tag{margin:0;font-size:var(--t-feat-tag);font-weight:500;letter-spacing:.14em;line-height:1.25;color:rgba(244,243,240,.8);text-shadow:0 1px 2px rgba(0,0,0,.35)}
.feat-full .feat-who{margin:4px 0 0;font-size:var(--t-card-name);font-weight:600;line-height:1.25;color:#f4f3f0}
.feat-full .feat-title{margin:4px 0 0;max-width:none;font-size:var(--t-feat-title);font-weight:var(--t-card-weight,400);line-height:1.3;letter-spacing:-.005em;text-transform:none;text-shadow:0 1px 2px rgba(0,0,0,.35);overflow-wrap:break-word}
.feat-full .feat-title a{color:#f4f3f0;text-decoration:none;border:0;background:none}
.feat-full .feat-title a:hover{color:var(--accent)}
.feat-full-intro{margin:6px 0 0;max-width:none;font-size:var(--t-card-name);line-height:1.4;color:rgba(244,243,240,.86)}
@media (min-width:761px) and (max-width:1023px){
  .feat-full-media{height:clamp(294px,calc((100svh - 170px) * .7),448px)}
  .feat-full-panel{padding:12px 12px 13px}
}
@media (max-width:760px){
  /* phones: the photo upright, the same translucent panel over its foot */
  .feat-full{margin-bottom:10px}
  .feat-full-media{height:auto}
  .feat-full-media .thumb{aspect-ratio:4 / 5;height:auto}
  .feat-full-panel{padding:11px 14px 13px}
  .feat-full-intro{font-size:13px}
}

/* News article header: the approved Featured full-screen block (same classes, sizes and panel) —
   the photograph at the width of the article column (.iv-col, the same column as the body text),
   category · headline · standfirst in the panel over it. */
.news--head .nw-head{margin:16px 0 0}
.news--head .nw-head .feat-title{color:#f4f3f0}
.news--head .nw-head-credit{margin:8px 0 0}
.news--head .nw-head + .nw-meta,.news--head .nw-head ~ .nw-byline{margin-top:20px}

/* Editorial body size (interviews, news, features): 15 px — the size of the interview intro text —
   with the same 1.7 line height; section titles (16 px), pull quotes and every other .prose use stay. */
.interview .prose,.feature .prose{font-size:15px}
/* interview questions: the same 15 px / 1.7 as the answers, set apart by their weight (500) */
.interview .iv-q{font-size:15px;line-height:1.7}

/* ═══ P1.4 NEWS IMAGES — editorial photographs placed in the article text (“After paragraph N”) ══
   One image per row, full column width, generous space around it. The optional headline sits over
   the foot of its own image in the ECM card panel (translucent black, hairline, terracotta rule). */
.nw-gal{position:relative;margin:64px 0;min-width:0}
.nw-gal picture,.nw-gal img{display:block;width:100%;height:auto}
.nw-gal img{object-fit:cover;object-position:var(--focal,50% 50%);background:#0b0b0b}
.nw-gal-cap{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:4px;padding:14px 20px 15px;background:var(--panel,rgba(8,8,8,.6));box-shadow:inset 0 1px 0 rgba(244,243,240,.16);color:#f4f3f0}
.nw-gal-head{display:block;padding-left:12px;border-left:2px solid var(--accent);font-size:var(--t-card-title,18px);font-weight:var(--t-card-weight,400);line-height:1.35;color:#f4f3f0;overflow-wrap:break-word}
.nw-gal-cap .credit{margin:0;font-size:12px;line-height:1.35;color:rgba(244,243,240,.74)}
.nw-gal-head + .credit{padding-left:14px}
.news-hero{position:relative}
.news-hero > .nw-gal-cap{margin:0}
/* Editorial pair: the photograph (45 %, i.e. the original third enlarged by ~35 %) beside the text
   that follows it (55 %), image left, the next pair image right, vertically centred on each other.
   Stacks only when the column is too narrow for a readable text column (phones). */
/* CMS layout per image (inline custom properties, only when set): --pw/--pt column shares, --pg gap,
   --pmt/--pmb space above / below; nw-pair--va-top|bottom vertical alignment. Defaults = 45/55, 32, 56. */
.nw-pair{display:grid;grid-template-columns:minmax(0,var(--pw,45fr)) minmax(0,var(--pt,55fr));column-gap:var(--pg,32px);align-items:center;margin:var(--pmt,56px) 0 var(--pmb,56px)}
.nw-pair--right{grid-template-columns:minmax(0,var(--pt,55fr)) minmax(0,var(--pw,45fr))}
.nw-pair--va-top{align-items:start}
.nw-pair--va-bottom{align-items:end}
.nw-pair--right > .nw-gal{order:2}
.nw-pair > .nw-gal{margin:0}
.nw-pair > .nw-pair-text{margin:0}
.nw-pair > .nw-pair-text > :first-child{margin-top:0}
.nw-pair > .nw-pair-text > :last-child{margin-bottom:0}
.nw-pair .nw-gal-cap{padding:10px 12px 11px}
.nw-pair .nw-gal-head{padding-left:10px;font-size:var(--t-feat-title,16px);line-height:1.3}
@media (min-width:761px) and (max-width:1023px){ .nw-gal{margin:52px 0} }
@media (min-width:561px) and (max-width:1023px){ .nw-pair{column-gap:min(var(--pg,32px),24px);margin:min(var(--pmt,56px),48px) 0 min(var(--pmb,56px),48px)} }
@media (max-width:560px){ .nw-pair,.nw-pair--right{grid-template-columns:minmax(0,1fr);row-gap:20px;margin:min(var(--pmt,56px),40px) 0 min(var(--pmb,56px),40px)} .nw-pair--right > .nw-gal{order:0} }
@media (max-width:760px){
  .nw-gal{margin:40px 0}
  .nw-gal-cap{padding:10px 12px 11px}
  .nw-gal-head{padding-left:10px;font-size:15px;line-height:1.3}
}

/* ═══ BACKGROUND LINES — fine, dense, curved contour lines (original pattern) behind all content ══════
   One transparent SVG tile (1200×900, seamless; generated by scripts/contours.mjs — v4: equidistant,
   near-parallel contours with soft edges): only thin lines at
   low opacity, no grain or image. It sits on the outer frame (a fixed layer under everything) and on
   the editorial sheet (background-image only — the sheet keeps its --bg colour), so the lines also run
   behind text. Cards, images and the black masthead keep their own backgrounds. Hidden in print and
   when the visitor asks for more contrast. */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url(../texture/ecm-lines-v4.svg) 0 0/1200px 900px repeat}
.page-sheet{background-image:url(../texture/ecm-lines-v4.svg);background-size:1200px 900px;background-repeat:repeat}
@media print{ body::before{display:none} .page-sheet{background-image:none} }
@media (prefers-contrast:more){ body::before{display:none} .page-sheet{background-image:none} }
/* ═══ INTERVIEW VIDEO — optional YouTube video (CMS youtube_url), click-to-load, 16:9 ═══════════════ */
.iv-video{margin:28px 0 0}
.iv-video-frame{position:relative;aspect-ratio:16/9;width:100%;background:#121212;overflow:hidden}
.iv-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.iv-video.is-loading .iv-video-load{cursor:progress;pointer-events:none}
.iv-video.is-loading .iv-video-icon{opacity:.6}
.iv-video-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.iv-video-load{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;padding:24px;border:0;background:transparent;color:#f4f3f0;font:inherit;cursor:pointer}
.iv-video-poster~.iv-video-load{background:radial-gradient(ellipse 60% 60% at 50% 50%,rgba(18,18,18,.62) 0%,rgba(18,18,18,.38) 55%,rgba(18,18,18,.22) 100%);text-shadow:0 1px 3px rgba(0,0,0,.7)}
.iv-video-poster~.iv-video-load .iv-video-icon{background:rgba(18,18,18,.55);border-color:#f4f3f0}
.iv-video-poster~.iv-video-load .iv-video-label{padding:5px 10px;background:rgba(18,18,18,.6)}
.iv-video-poster~.iv-video-load:hover .iv-video-icon,.iv-video-poster~.iv-video-load:focus-visible .iv-video-icon{background:#f4f3f0;color:#121212}
.iv-video-icon{width:30px;height:30px;padding:17px;box-sizing:content-box;border:1px solid rgba(244,243,240,.75);border-radius:50%}
.iv-video-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em}
.iv-video-load:hover .iv-video-icon,.iv-video-load:focus-visible .iv-video-icon{background:#f4f3f0;color:#121212}
.iv-video-load:focus-visible{outline:2px solid #f4f3f0;outline-offset:-6px}
.iv-video-note{margin:10px 0 0;font-size:12.5px;line-height:1.5;color:var(--muted)}
.iv-video-note a{color:inherit;text-decoration:underline}
@media (max-width:760px){ .iv-video{margin-top:22px} .iv-video-icon{width:24px;height:24px;padding:14px} }
@media print{ .iv-video{display:none} }

/* ═══ ECM v2 · homepage pack for production (the staging-approved homepage on the production base) ═══
   Tokens and home-tile rules the v2 homepage uses that this stylesheet did not have yet; then the v2 system. */
:root{--night:#0b0b0b;--cream:#f4f3f0;--accent-night:#e8834a;--fs-sec:13px;--fs-label:12px;--fs-small:15px;--fs-section:22px;--section:72px;--wide:94%;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px}
@media (max-width:1023px){ :root{--section:56px} }
@media (max-width:760px){ :root{--section:48px} }
.home-level--premieres .home-grid4,.home-level--podcasts .home-grid4{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--sp-5) var(--sp-4)}
.home-level--premieres .home-grid4 > *,.home-level--podcasts .home-grid4 > *{display:block}
.home-level--premieres .home-grid4 > :nth-child(n+6),.home-level--podcasts .home-grid4 > :nth-child(n+6){display:none}
.ag-solo-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--sp-5);align-items:end}
.ag-solo{padding-bottom:var(--sp-2)}
.ag-solo-date{margin:0;font-size:var(--fs-label);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}
.ag-solo-title{margin:var(--sp-2) 0 0;font-size:var(--fs-section);font-weight:700;font-stretch:var(--wide);line-height:1.15;letter-spacing:0}
.ag-solo-title a{color:var(--ink)}
.ag-solo-title a:hover{text-decoration:underline}
.ag-solo-place{margin:var(--sp-2) 0 0;font-size:var(--fs-small);color:var(--ink-soft)}
@media (max-width:560px){ .ag-solo-item{grid-template-columns:minmax(0,1fr);gap:var(--sp-3)} }
.mtile{position:relative;min-width:0}
.mtile-media{position:relative}
.mtile-media .thumb{display:block;width:100%;height:auto;aspect-ratio:1 / 1}
.mtile-play{position:absolute;right:10px;bottom:10px;z-index:2;display:flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);padding:0;border:1px solid rgba(244,243,240,.6);border-radius:50%;background:rgba(11,11,11,.78);color:#f4f3f0;cursor:pointer;transition:background .2s,color .2s,transform .2s cubic-bezier(.2,.8,.2,1)}
.mtile-play-ic{display:block;width:0;height:0;margin-left:3px;border-left:12px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent}
.mtile-play:hover,.mtile-play:focus-visible{background:var(--cream);color:var(--night);transform:scale(1.06)}
.mtile-play[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--cream)}
.mtile-play:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.mtile-text{padding-top:10px}
.mtile-tag{margin:0 0 var(--sp-1);font-size:var(--fs-label);font-weight:600;line-height:1.3;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}
.mtile-title,.mtile-sub{margin:0;font-size:var(--fs-small);line-height:1.3;letter-spacing:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.mtile-title{font-weight:600}
.mtile-title a{color:var(--ink)}
.mtile-title a:hover{text-decoration:underline;text-underline-offset:3px}
.mtile-sub{margin-top:2px;font-weight:400;color:var(--ink-soft)}
@media (max-width:1023px){
  .home-level--premieres .home-grid4,.home-level--podcasts .home-grid4{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:560px){
  .home-level--premieres .home-grid4,.home-level--podcasts .home-grid4{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-5) var(--sp-3)}
}

/* ═══ ECM v2 · F1 — shared system (direction: the Impeccable homepage reference) ════════════════════
   One masthead, one section head, one link-with-arrow, one button, one meta line, one Play button.
   Display widths use --wide (94 %, approved); the reference's colours, scale and spacing otherwise. */

/* Masthead ------------------------------------------------------------------------------------------ */
.env-banner{background:var(--night);color:rgba(244,243,240,.55);text-align:center;padding:3px 12px;font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.08em}
.site-header{position:relative;background:var(--night);color:var(--cream)}
@media (min-width:761px){
  .site-header{background:
    radial-gradient(circle at 71% 340%, transparent 0 196px, rgba(244,243,240,.075) 197px, rgba(244,243,240,.02) 206px, transparent 232px),
    radial-gradient(ellipse 420px 90px at 69% 112%, rgba(244,243,240,.045), transparent 72%),
    radial-gradient(ellipse 300px 140px at 12% -40%, rgba(244,243,240,.03), transparent 70%),
    var(--night)}
}
.header-inner{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:0 24px;min-height:88px}
.brand{--h:72px;display:flex;align-items:center;gap:14px;flex:0 0 auto;color:var(--cream);line-height:1}
.brand-logo{display:block;flex:0 0 auto;width:var(--h);height:var(--h);max-width:none;margin:-4px -6px -4px -8px}
.brand-type{display:block;max-width:15ch;font-size:12px;font-weight:700;font-stretch:var(--wide);line-height:1.35;text-transform:uppercase;letter-spacing:.14em;color:var(--cream)}
.main-nav{order:1;margin-left:auto;min-width:0}
.main-nav > ul{display:flex;gap:28px}
.main-nav > ul > li > a{display:inline-flex;align-items:center;padding:10px 0;border-bottom:2px solid transparent;font-size:12px;font-weight:600;line-height:1.2;text-transform:uppercase;letter-spacing:.1em;color:var(--cream);white-space:nowrap;transition:color .2s,border-color .2s}
.main-nav > ul > li > a:hover{color:var(--accent-night);border-bottom-color:var(--accent-night)}
.main-nav > ul > li > a[aria-current="page"]{border-bottom-color:var(--accent-night)}
.nav-chev{display:none}
@media (min-width:1024px){
  .main-nav:not(.dd-js) .has-dd:hover > .nav-dd,.main-nav:not(.dd-js) .has-dd:focus-within > .nav-dd,.has-dd.dd-open > .nav-dd{display:block;animation:nav-dd-in .14s ease-out}
}
.header-search{order:2;margin-right:-10px}
.header-search,.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);flex:0 0 auto;color:var(--cream)}
.header-search svg{width:20px;height:20px}
.header-search:hover{color:var(--accent-night)}
.nav-toggle{display:none}
.nav-toggle-bars{display:flex;flex-direction:column;justify-content:space-between;width:20px;height:14px}
.nav-toggle-bars span{display:block;height:1.5px;background:var(--cream);transition:transform .2s,opacity .2s}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars span:nth-child(1){transform:translateY(6.25px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars span:nth-child(3){transform:translateY(-6.25px) rotate(-45deg)}
.site-header .socials{display:none}
.menu-panel{display:none}
.main-nav a:focus-visible,.menu-panel a:focus-visible,.brand:focus-visible,.nav-toggle:focus-visible,.header-search:focus-visible{outline:2px solid var(--cream);outline-offset:3px}
@media (max-width:1023px){
  /* tablet: the sections behind the menu button, opened as a band under the masthead */
  .main-nav{display:none}
  .nav-toggle{display:inline-flex;order:2;margin-left:auto}
  .header-search{order:3;margin-left:-8px}
  .menu-panel:not([hidden]){display:block;order:4;flex:1 0 100%;padding:8px 0 16px;border-top:1px solid rgba(244,243,240,.16)}
  .menu-panel a,.main-nav.open a{display:block;padding:12px 0;font-size:14px;font-weight:600;line-height:1.2;text-transform:uppercase;letter-spacing:.1em;color:var(--cream);border:0}
  .menu-panel a:hover,.menu-panel a[aria-current="page"],.main-nav.open a:hover,.main-nav.open a[aria-current="page"]{color:var(--accent-night)}
}
@media (max-width:760px){
  /* phone: menu · centred logo · search; the menu opens the main navigation under the bar */
  .header-inner{justify-content:space-between;gap:0 8px;min-height:64px}
  .brand{--h:48px;position:absolute;left:50%;top:8px;transform:translateX(-50%)}
  .brand-type{display:none}
  .nav-toggle{order:-1;margin:0 0 0 -10px}
  .header-search{order:1;margin-right:-10px}
  .main-nav.open{display:block;order:4;flex:1 0 100%;margin:0;padding:8px 0 16px;border-top:1px solid rgba(244,243,240,.16)}
  .main-nav.open > ul{flex-direction:column;gap:0}
  .main-nav.open > ul > li > a{display:block;border:0}
}

/* Section head: a 2px rule, the title in capitals, "All …" with the arrow on the same line ----------- */
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px;padding-top:12px;border-top:2px solid var(--ink)}
.section-title{margin:0 0 16px;padding:0;font-size:var(--fs-sec);font-weight:700;font-stretch:var(--wide);line-height:1.2;text-transform:uppercase;letter-spacing:.12em}
.section-title::after{content:none}
.sec-head .section-title{margin:0}
.home-latest{padding-top:28px}
.home-latest > .home-level + .home-level{margin-top:var(--section)}
/* the link with the arrow: section heads, column heads ("View all") */
.arrow{display:inline-flex;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.arrow svg{display:block;width:14px;height:10px}
.home-headall,.view-all,.section-head .cta{position:static;display:inline-flex;align-items:center;gap:8px;min-height:var(--tap);margin:-14px 0;padding:0;border:0;background:none;font-size:14px;font-weight:500;line-height:1.2;text-transform:none;letter-spacing:0;color:var(--ink);text-decoration:none;white-space:nowrap}
.home-headall:hover,.view-all:hover,.section-head .cta:hover{color:var(--accent);background:none}
.col-head h2,.col-head h3{font-size:var(--fs-sec);font-weight:700;font-stretch:var(--wide);text-transform:uppercase;letter-spacing:.12em}

/* Button: one outlined button for every call to action -------------------------------------------- */
.cta{display:inline-flex;align-items:center;gap:10px;min-height:var(--tap);padding:0 20px;border:1px solid var(--ink);background:transparent;font-size:12px;font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:.12em;color:var(--ink);text-decoration:none;transition:background .2s,color .2s}
.cta:hover{background:var(--ink);color:var(--cream)}
/* inside a card the call to action stays a text link (the whole card is the target) */
.feat .cta{min-height:24px;padding:0;border:0;font-weight:600;letter-spacing:.08em}
.feat .cta:hover{background:none;color:var(--accent)}

/* Meta line: category · date, in the accent (used by the cards from F2 on) --------------------------- */
.meta-line{margin:8px 0 0;font-size:12px;font-weight:600;line-height:1.3;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}
.meta-line .sep{margin:0 .35em;opacity:.55}
.meta-line time{white-space:nowrap}

/* ── ECM v2 · F2 HOME (homepage only; every rule is scoped to .is-home) ─────────────────────
   Reference: Impeccable homepage. Hero with the text on a gradient over the photograph; Featured
   and News cards with the image alone and the text underneath; single Agenda date; Podcasts and
   the ECM Playlist inside the black band. Headlines keep the approved 94% width (--wide). */
.is-home{--hc-gap:20px;--cream-soft:rgba(244,243,240,.72)}
@media (max-width:1023px){.is-home{--hc-gap:16px}}
@media (max-width:760px){.is-home{--hc-gap:12px}}

/* hero (Featured full-screen) */
.is-home .home-latest .feat-full{margin:0;background:var(--night);color:var(--cream)}
.is-home .home-latest .feat-full-media{height:clamp(420px,calc(100svh - 220px),640px)}
.is-home .home-latest .feat-full-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(11,11,11,0) 32%,rgba(11,11,11,.6) 60%,rgba(11,11,11,.92) 100%)}
.is-home .home-latest .feat-full-panel{z-index:1;padding:0 40px 36px;background:none;box-shadow:none}
.is-home .home-latest .feat-full .feat-who{margin:0 0 10px;font-size:14px;font-weight:600;line-height:1.3;color:var(--cream);text-shadow:none}
.is-home .home-latest .feat-full .feat-title{margin:0;max-width:26ch;font-size:clamp(30px,3.2vw,42px);font-weight:800;font-stretch:var(--wide);line-height:1.02;letter-spacing:-.02em;text-shadow:none;text-wrap:balance}
.is-home .home-latest .feat-full .feat-title a{color:var(--cream)}
.is-home .home-latest .feat-full .feat-title a:hover{color:var(--cream);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.is-home .home-latest .feat-full-intro{max-width:62ch;margin:16px 0 0;font-size:16px;line-height:1.5;color:var(--cream-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.is-home .home-latest .feat-full .feat-tag.meta-line{margin:16px 0 0;font-size:12px;font-weight:600;letter-spacing:.1em;line-height:1.3;color:var(--accent-night);text-shadow:none;white-space:normal}
@media (max-width:760px){
  .is-home .home-latest .feat-full-media{height:auto}
  .is-home .home-latest .feat-full-media .thumb{aspect-ratio:4 / 3;height:auto}
  .is-home .home-latest .feat-full-media::after{display:none}
  .is-home .home-latest .feat-full-panel{position:static;padding:20px 16px 22px}
  .is-home .home-latest .feat-full .feat-title{font-size:28px;line-height:1.08}
  .is-home .home-latest .feat-full-intro{margin-top:12px;font-size:15px}
}

/* Featured and News cards: image, then name · line · orange meta */
.is-home .hc-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px var(--hc-gap)}
.is-home .feat-full + .hc-row,.is-home .feat-full + .feat-nav + .feat-track{margin-top:var(--hc-gap)}
.is-home .hc-row .tile--feat{display:flex;flex-direction:column;min-width:0;background:none}
.is-home .hc-media{position:relative;overflow:hidden;background:var(--night)}
.is-home .hc-media .thumb{display:block;aspect-ratio:4 / 5;height:auto}
.is-home .hc-media .thumb img{width:100%;height:100%;object-fit:cover;object-position:var(--focal,50% 30%);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.is-home .hc-row .tile--feat:hover .hc-media .thumb img{transform:scale(1.03)}
.is-home .hc-row .feat-title{display:block;height:auto;max-width:none;margin:14px 0 0;font-size:22px;font-weight:700;font-stretch:var(--wide);line-height:1.1;letter-spacing:-.01em;white-space:normal;overflow:visible;-webkit-line-clamp:unset;text-shadow:none;text-transform:none}
.is-home .hc-row .feat-title a{color:var(--ink)}
.is-home .hc-row .feat-title a:hover{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.is-home .hc-line{margin:6px 0 0;min-height:2.8em;font-size:15px;line-height:1.4;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.is-home .hc-row .meta-line{margin-top:10px}
.is-home .hc-row--news{grid-template-columns:repeat(2,minmax(0,1fr))}
.is-home .hc-row--news.hc-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.is-home .hc-row--news.hc-row--1{grid-template-columns:minmax(0,1fr)}
.is-home .hc-row--news .hc-media .thumb{aspect-ratio:3 / 2}
.is-home .hc-row--news .feat-title{font-stretch:105%;line-height:1.18;text-wrap:balance}
.is-home .hc-row--news .meta-line{margin-top:auto;padding-top:8px}
@media (prefers-reduced-motion:reduce){.is-home .hc-media .thumb img{transition:none}.is-home .hc-row .tile--feat:hover .hc-media .thumb img{transform:none}}
@media (max-width:760px){
  .is-home .hc-row--feat{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin-left:calc(var(--pad) * -1);margin-right:calc(var(--pad) * -1);padding:0 var(--pad) 6px;scroll-padding:0 var(--pad);scrollbar-width:thin}
  .is-home .hc-row--feat > .tile--feat{flex:0 0 78%;scroll-snap-align:start}
  .is-home .hc-row .feat-title{font-size:20px}
  .is-home .hc-row--news,.is-home .hc-row--news.hc-row--3{grid-template-columns:minmax(0,1fr)}
  .is-home .hc-row--news .feat-title{font-size:18px}
}

/* Agenda — one upcoming date */
.is-home .ag-cards--posters.ag-cards--n1{display:block}
.is-home .ag-solo-item{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:40px;align-items:start}
.is-home .ag-solo-item .ag-poster .thumb{aspect-ratio:4 / 5}
.is-home .ag-solo{display:flex;flex-direction:column;padding:4px 0 6px}
.is-home .ag-solo-date{margin:0;color:var(--accent);text-transform:none;letter-spacing:0}
.is-home .ag-solo-date time{display:flex;align-items:flex-end;gap:16px;line-height:.82}
.is-home .ag-solo-day{font-size:48px;font-weight:800;font-stretch:125%;letter-spacing:-.04em}
.is-home .ag-solo-month{padding-bottom:.35em;font-size:14px;font-weight:700;line-height:1.3;text-transform:uppercase;letter-spacing:.14em}
.is-home .ag-solo-month span{display:block;font-weight:600;color:var(--muted)}
.is-home .ag-solo-title{max-width:36ch;margin:20px 0 0;font-size:20px;font-weight:800;font-stretch:var(--wide);line-height:1.04;letter-spacing:-.02em;text-wrap:balance}
.is-home .ag-solo-place{margin:12px 0 0;font-size:16px;color:var(--ink-soft)}
.is-home .ag-solo-cta{margin:20px 0 0}
@media (max-width:760px){
  .is-home .ag-solo-item{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:16px}
  .is-home .ag-solo-month{font-size:12px}
  .is-home .ag-solo-title{margin-top:14px;overflow-wrap:anywhere}
  .is-home .ag-solo-place{margin-top:6px;font-size:14px}
  .is-home .ag-solo-cta{margin-top:16px}
}

/* Black band: Podcasts + ECM Playlist */
.is-home .home-latest{padding-bottom:0;border-bottom:0}
.is-home .home-night{margin-top:var(--section);padding:40px 0 48px;background:var(--night);color:var(--cream)}
.is-home .home-night .home-level{margin:0}
.is-home .home-night .sec-head{border-top-color:var(--cream)}
.is-home .home-night .section-title,.is-home .home-night .home-headall{color:var(--cream)}
.is-home .home-night .home-headall:hover{color:var(--accent-night)}
.is-home .home-night .mtile-media{background:#1a1a1a}
.is-home .home-night .mtile-title a{color:var(--cream)}
.is-home .pod-num{margin:0;font-size:23px;font-weight:800;font-stretch:125%;line-height:1;letter-spacing:-.02em;text-transform:none;color:var(--accent-night)}
.is-home .pod-num span{margin-right:6px;font-size:11px;font-weight:700;font-stretch:100%;letter-spacing:.14em;text-transform:uppercase;vertical-align:.45em;color:var(--cream-soft)}
.is-home .home-night .mtile-tag + .mtile-title{margin-top:6px}
.is-home .home-night .mtile-play[aria-pressed="true"]{background:var(--accent-night);border-color:var(--accent-night);color:var(--night)}
.is-home .home-night .home-level--playlist{margin-top:56px}
.is-home .pl-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 40px;padding-top:28px;border-top:1px solid rgba(244,243,240,.18)}
.is-home .pl-title{margin:0;font-size:clamp(26px,3vw,36px);font-weight:800;font-stretch:var(--wide);line-height:1.05;letter-spacing:-.02em;color:var(--cream)}
.is-home .pl-row .ecm-playlist-note{max-width:48ch;margin:8px 0 0;font-size:14px;line-height:1.5;color:var(--cream-soft)}
.is-home .pl-row .ecm-playlist-note a{color:var(--cream);text-decoration:underline;text-underline-offset:3px}
.is-home .pl-row .ecm-playlist-note a:hover{color:var(--accent-night)}
.is-home .pl-row .ecm-playlist--facade{display:block;width:auto;min-height:0;padding:0;border:0;background:none}
.is-home .pl-row .ecm-playlist-load{border-color:var(--cream);background:none;color:var(--cream);font-size:12px;letter-spacing:.12em}
.is-home .pl-row .ecm-playlist-load:hover,.is-home .pl-row .ecm-playlist-load:focus-visible{background:var(--cream);color:var(--night)}
.is-home .pl-row .ecm-playlist:not(.ecm-playlist--facade){flex:1 0 100%}
/* home: every Premiere / Podcast the CMS sends is shown (8), 5 / 3 / 2 columns */
.is-home .home-level--premieres .home-grid4 > *,.is-home .home-level--podcasts .home-grid4 > *{display:block}
/* production base: older rules that the v2 masthead / home do not use */
.site-header .brand-type{white-space:normal}
.is-home .arrow{color:inherit}
.is-home .home-empty{font-size:15px;line-height:1.5;letter-spacing:normal;text-transform:none}

/* HOME MOBILE (<=560px) — final responsive pass: interviews one per screen, Premieres / Podcasts as a swipe row of exactly 2 cards, more air before ECM Playlist */
@media (max-width:560px){
  .is-home .feat .feat-track{gap:var(--sp-3)}
  .is-home .feat .feat-view,.is-home .feat .hc-row--feat{display:contents}
  .is-home .feat .hc-row--feat > .tile{flex:0 0 100%;width:auto;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
  .is-home .home-level--premieres .home-grid4,.is-home .home-level--podcasts .home-grid4{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - var(--sp-3)) / 2);gap:var(--sp-3);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -6px;padding:0 6px 8px;scroll-padding-inline:6px}
  .is-home .home-level--premieres .home-grid4::-webkit-scrollbar,.is-home .home-level--podcasts .home-grid4::-webkit-scrollbar{display:none}
  .is-home .home-level--premieres .home-grid4 > *,.is-home .home-level--podcasts .home-grid4 > *{display:block;scroll-snap-align:start}
  .is-home .home-level--podcasts + .home-level--playlist{margin-top:72px}
  .is-home .home-level--playlist .pl-row{padding-top:36px}
}

/* ═══ INTERIOR PAGES — approved staging design (Phase 2 + interior typography + interview heads +
   clean photographs with the text underneath) ═══
   Integrated on top of the production stylesheet: the staging rules production does not have, plus
   the shared ones that cascade onto the same elements (so their order matches staging), each scoped to
   body:not(.is-home) main. The homepage (including the Featured with its gradient and overlaid text)
   and the shared header, menu and footer keep production's rules.
   The approved interior blocks keep their staging precedence (html body:not(.is-home):not(.is-home) main).
   No @font-face (production already loads Archivo). */
body:not(.is-home) main{--bg: #f4f3f0; --frame: #e4e1da; --masthead: #0b0b0b; --ink: #111111; --ink-soft: #3b3b3b; --muted: #6f6c66; --accent: #ad521d; --rule: #d6d3cc; --rule-strong: #b9b5ad; --max: 1320px; --gap: 40px; --pad: 28px; --tap: 44px; --focus: #111111; --night: #0b0b0b; --cream: #f4f3f0; --accent-night: #e8834a; --fs-sec: 13px; --section: 72px; --d1: clamp(24px, 2.1vw, 30px); --d1-track: 17px;}
body:not(.is-home) main{margin: 0px; color: var(--ink); font-family: Archivo, "Helvetica Neue", Helvetica, Arial, sans-serif; font-stretch: 100%; font-size: 15px; line-height: 1.5; -webkit-font-smoothing: antialiased;}
body:not(.is-home) main a{color: inherit; text-decoration: none;}
body:not(.is-home) main h1,body:not(.is-home) main h2,body:not(.is-home) main h3{margin: 0px; font-weight: 600; letter-spacing: 0px;}
body:not(.is-home) main .skip-link{position: absolute; left: 12px; top: -100px; z-index: 100; background: var(--ink); color: var(--bg); padding: 12px 16px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em;}
body:not(.is-home) main .skip-link:focus{top: 12px;}
body:not(.is-home) main .arrow{display: inline-block; transition: transform 0.25s;}
body:not(.is-home) main a:hover .arrow,body:not(.is-home) main button:hover .arrow{transform: translateX(5px);}
body:not(.is-home) main .cta{display: inline-flex; align-items: center; gap: 12px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; min-height: 24px;}
body:not(.is-home) main .cta--lg{font-size: 12px; letter-spacing: 0.08em;}
body:not(.is-home) main .section-title{margin-bottom: 26px; position: relative;}
body:not(.is-home) main .section-title::after{position: absolute; left: 0px; bottom: 0px; width: 26px; height: 2px; background: var(--accent);}
body:not(.is-home) main .num{font-weight: 600; color: var(--ink);}
body:not(.is-home) main .kicker{margin: 0px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft);}
body:not(.is-home) main .feat-date{margin-left: auto; font-size: 12px; font-weight: 400; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft);}
body:not(.is-home) main .thumb{display: block; aspect-ratio: 1 / 1; background: rgb(11, 11, 11); overflow: hidden; transition: opacity 0.3s;}
body:not(.is-home) main a.thumb:hover{opacity: 0.82;}
body:not(.is-home) main .thumb picture,body:not(.is-home) main .thumb img,body:not(.is-home) main .mini picture,body:not(.is-home) main .mini img{display: block; width: 100%; height: 100%; object-fit: cover;}
body:not(.is-home) main .feat-title{font-size: 24px; font-weight: 700; font-stretch: 85%; letter-spacing: 0px; text-transform: uppercase; margin: 20px 0px 8px; overflow-wrap: anywhere;}
body:not(.is-home) main .feat-title a{transition: color 0.2s;}
body:not(.is-home) main .feat-title a:hover{color: var(--accent);}
body:not(.is-home) main .feat-sub{margin: 0px; font-size: 14px; text-transform: uppercase; letter-spacing: 0px; color: var(--ink-soft);}
body:not(.is-home) main .feat .cta{margin-top: 26px; align-self: flex-start;}
body:not(.is-home) main .latest-grid{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: var(--gap);}
body:not(.is-home) main .latest-grid .col + .col{border-left: 1px solid var(--rule); padding-left: var(--gap);}
body:not(.is-home) main .view-all{display: inline-flex; align-items: center; gap: 9px; min-height: 24px; color: var(--ink-soft);}
body:not(.is-home) main .list li{border-bottom: 1px solid var(--rule);}
body:not(.is-home) main .list li:last-child{border-bottom: 0px;}
body:not(.is-home) main .list a,body:not(.is-home) main .list li > .txt{display: flex; gap: 16px; align-items: flex-start; padding: 15px 0px; transition: opacity 0.2s;}
body:not(.is-home) main .list a:hover{opacity: 0.62;}
body:not(.is-home) main .mini{flex: 0 0 58px; width: 58px; height: 58px; background: rgb(11, 11, 11); display: block; overflow: hidden;}
body:not(.is-home) main .txt{display: flex; flex-direction: column; gap: 2px; padding-top: 2px; min-width: 0px;}
body:not(.is-home) main .txt strong,body:not(.is-home) main .t-artist,body:not(.is-home) main .ev-txt strong{font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em;}
body:not(.is-home) main .txt em,body:not(.is-home) main .t-track,body:not(.is-home) main .t-label,body:not(.is-home) main .ev-txt em{font-style: normal; font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft);}
body:not(.is-home) main .tracks li{display: grid; grid-template-columns: 34px minmax(0px, 1.1fr) minmax(0px, 1.1fr) minmax(0px, 1fr) auto; align-items: center; gap: 14px; padding: 13px 0px; border-bottom: 1px solid var(--rule);}
body:not(.is-home) main .t-num{font-size: 12px; font-weight: 600; color: var(--muted); letter-spacing: 0.08em;}
body:not(.is-home) main .tracks a:hover,body:not(.is-home) main .ev-txt a:hover,body:not(.is-home) main .meta a:hover{color: var(--accent);}
body:not(.is-home) main .tracks a,body:not(.is-home) main .ev-txt a,body:not(.is-home) main .meta dd a,body:not(.is-home) main .crumbs a,body:not(.is-home) main .txt a{display: inline-block; padding: 5px 0px; margin: -5px 0px;}
body:not(.is-home) main .selects .cta--lg{margin-top: 26px;}
body:not(.is-home) main .event-list li{display: flex; gap: 22px; align-items: center; padding: 16px 0px; border-bottom: 1px solid var(--rule);}
body:not(.is-home) main .date{display: flex; flex-direction: column; align-items: center; min-width: 44px; line-height: 1;}
body:not(.is-home) main .date strong{font-size: 25px; font-weight: 600; letter-spacing: 0px;}
body:not(.is-home) main .date em{font-style: normal; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft); margin-top: 5px;}
body:not(.is-home) main .date .date-year{position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%);}
body:not(.is-home) main .event-list--past .date .date-year{position: static; width: auto; height: auto; clip-path: none; margin-top: 3px; letter-spacing: 0.08em;}
body:not(.is-home) main .ev-txt{display: flex; flex-direction: column; gap: 3px;}
body:not(.is-home) main .events .cta--lg{margin-top: 24px;}
body:not(.is-home) main .label-row{display: flex; align-items: center; justify-content: space-between; padding-top: 6px;}
body:not(.is-home) main .label-row li{flex: 1 1 0px; min-width: 0px;}
body:not(.is-home) main .label-row li + li{border-left: 1px solid var(--rule);}
body:not(.is-home) main .label-row a{display: block; text-align: center; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; padding: 6px 4px; transition: color 0.2s;}
body:not(.is-home) main .label-row a:hover{color: var(--accent);}
body:not(.is-home) main .footer-mark{font-size: 24px; font-weight: 700; letter-spacing: 0px; line-height: 1;}
body:not(.is-home) main .footer-name{font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft);}
body:not(.is-home) main .footer-sections ul{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 0px 24px;}
body:not(.is-home) main .footer-sections a{display: inline-block; padding: 5px 0px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em;}
body:not(.is-home) main .footer-sections a:hover{color: var(--accent);}
body:not(.is-home) main .copy{margin: 0px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft); line-height: 1.7;}
body:not(.is-home) main .footer-nav ul{display: flex; gap: 4px 32px; flex-wrap: wrap;}
body:not(.is-home) main .footer-nav a{display: inline-block; padding: 6px 0px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft);}
body:not(.is-home) main .footer-nav a:hover{color: var(--accent);}
body:not(.is-home) main .page-head{margin-bottom: 44px; max-width: 760px;}
body:not(.is-home) main .page-head .kicker{margin-top: 14px;}
body:not(.is-home) main .page-title{font-size: var(--d1); font-weight: 700; font-stretch: 85%; letter-spacing: 0px; text-transform: uppercase; line-height: 1.08; margin: 10px 0px 0px; overflow-wrap: anywhere;}
body:not(.is-home) main .page-title-sub{display: block; margin-top: 12px; font-size: var(--d1-track); font-weight: 400; font-stretch: 100%; letter-spacing: 0px; line-height: 1.3; color: var(--ink-soft);}
body:not(.is-home) main .page-sub{margin: 10px 0px 0px; font-size: 14px; text-transform: uppercase; letter-spacing: 0px; color: var(--ink-soft);}
body:not(.is-home) main .page-intro{margin: 14px 0px 0px; max-width: 60ch; color: var(--ink-soft);}
body:not(.is-home) main .crumbs ol{display: flex; flex-wrap: wrap; gap: 4px 10px; margin-bottom: 6px;}
body:not(.is-home) main .crumbs li{font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft);}
body:not(.is-home) main .crumbs li + li::before{content: "/"; margin-right: 10px; color: var(--rule-strong);}
body:not(.is-home) main .crumbs a:hover{color: var(--accent);}
body:not(.is-home) main .detail > .crumbs{margin-bottom: 34px;}
body:not(.is-home) main .card-grid{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 56px var(--gap);}
body:not(.is-home) main .card-grid .feat-title{font-size: 22px;}
body:not(.is-home) main .detail-grid{display: grid; grid-template-columns: minmax(0px, 5fr) minmax(0px, 7fr); gap: 56px; align-items: start;}
body:not(.is-home) main .detail-media .thumb{max-width: 480px;}
body:not(.is-home) main .credit{margin: 8px 0px 0px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft);}
body:not(.is-home) main .detail-main .feat-meta{margin-bottom: 6px;}
body:not(.is-home) main .detail-main .feat-date{margin-left: 0px;}
body:not(.is-home) main .meta{margin: 28px 0px 0px; border-top: 1px solid var(--rule);}
body:not(.is-home) main .meta > div{display: grid; grid-template-columns: 130px minmax(0px, 1fr); gap: 16px; padding: 11px 0px; border-bottom: 1px solid var(--rule);}
body:not(.is-home) main .meta dt{padding-top: 2px;}
body:not(.is-home) main .meta dd{margin: 0px;}
body:not(.is-home) main .meta a{text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: var(--rule-strong); text-underline-offset: 3px;}
body:not(.is-home) main .ext-links .kicker{margin-bottom: 8px;}
body:not(.is-home) main .play-line{display: flex; align-items: center; gap: 10px; margin: 24px 0px 0px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em;}
body:not(.is-home) main .prose{margin-top: 32px; max-width: 62ch; font-size: 16px; line-height: 1.7;}
body:not(.is-home) main .prose > :first-child{margin-top: 0px;}
body:not(.is-home) main .prose p{margin: 0px 0px 1.1em;}
body:not(.is-home) main .prose h2{font-size: 16px; font-weight: 600; letter-spacing: 0px; margin: 2em 0px 0.6em;}
body:not(.is-home) main .prose h3,body:not(.is-home) main .prose h4{font-size: 15px; font-weight: 600; margin: 1.6em 0px 0.5em;}
body:not(.is-home) main .prose a{text-decoration: underline; text-underline-offset: 3px;}
body:not(.is-home) main .prose blockquote{margin: 1.6em 0px; padding-left: 20px; border-left: 2px solid var(--accent); font-size: 22px; line-height: 1.45; font-weight: 600; letter-spacing: 0px;}
body:not(.is-home) main .prose blockquote p{margin: 0px;}
body:not(.is-home) main .prose ul,body:not(.is-home) main .prose ol{margin: 0px 0px 1.1em; padding-left: 1.2em;}
body:not(.is-home) main .prose ul{list-style: disc;}
body:not(.is-home) main .prose ol{list-style: decimal;}
body:not(.is-home) main .prose hr{border-right: 0px; border-bottom: 0px; border-left: 0px; border-image: none; border-top: 1px solid var(--rule); margin: 2em 0px;}
body:not(.is-home) main .tracklist li{padding: 6px 0px; border-bottom: 1px solid var(--rule); font-size: 14px;}
body:not(.is-home) main .related{margin-top: 72px; padding-top: 40px; border-top: 1px solid var(--rule-strong);}
body:not(.is-home) main .page-head + .block,body:not(.is-home) main .page-head + .selects{margin-top: 0px;}
body:not(.is-home) main .notice{display: inline-block; margin: 0px 0px 28px; padding: 9px 14px; border: 1px solid var(--rule-strong); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft);}
body:not(.is-home) main .list--plain a,body:not(.is-home) main .list--plain li > .txt{padding: 14px 0px;}
body:not(.is-home) main .pager-count{font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft);}
body:not(.is-home) main .mini-player iframe,body:not(.is-home) main .mini-player audio{display: block; width: 100%; border: 0px;}
body:not(.is-home) main .mini-player-close{flex: 0 0 auto; min-width: var(--tap); min-height: var(--tap); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em;}
body:not(.is-home) main .tag-demo{display: inline-block; margin-left: 10px; padding: 1px 6px; border: 1px solid var(--rule-strong); font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); vertical-align: 1px; line-height: 1.5;}
body:not(.is-home) main .home-latest{padding-top: 26px; padding-bottom: 36px; border-bottom: 1px solid var(--rule-strong);}
body:not(.is-home) main .home-latest > .section-title{margin-bottom: 16px;}
body:not(.is-home) main .home-lead{grid-template-columns: repeat(3, minmax(0px, 1fr));}
body:not(.is-home) main .tile{min-width: 0px; display: flex; flex-direction: column; background: var(--masthead);}
body:not(.is-home) main .home-lead .tile--primary{grid-area: 1 / 1 / span 2 / span 2;}
body:not(.is-home) main .home-lead .tile--secondary:nth-child(2){grid-area: 1 / 3;}
body:not(.is-home) main .home-lead .tile--secondary:nth-child(3){grid-area: 2 / 3;}
body:not(.is-home) main .tile-media{position: relative; flex: 1 1 auto; min-height: 0px; background: rgb(11, 11, 11); overflow: hidden;}
body:not(.is-home) main .tile-media .thumb{display: block; width: 100%; height: 100%; aspect-ratio: 1 / 1;}
body:not(.is-home) main .home-lead .tile--secondary .tile-media .thumb{aspect-ratio: 5 / 4;}
body:not(.is-home) main .tile--primary .tile-media .thumb{aspect-ratio: auto; position: absolute; inset: 0px;}
body:not(.is-home) main .tile-media .thumb img{width: 100%; height: 100%; object-fit: cover; object-position: var(--focal,50% 40%);}
body:not(.is-home) main .home-level > .section-title{font-stretch: 85%; line-height: 1.1;}
@media (min-width: 1024px){
body:not(.is-home) main .home-lead{grid-template-rows: repeat(2, minmax(0px, 1fr));}
body:not(.is-home) main .home-lead .tile--primary{aspect-ratio: 5 / 4;}
body:not(.is-home) main .home-lead .tile--secondary .tile-media .thumb{position: absolute; inset: 0px; aspect-ratio: auto;}
}
body:not(.is-home) main .home-grid4{grid-template-columns: repeat(4, minmax(0px, 1fr));}
body:not(.is-home) main .tile{--cap-x: 16px; --cap-tag: 12px; --cap-artist: 20px; --cap-title: 14px;}
body:not(.is-home) main .tile--primary{--cap-x: 22px; --cap-tag: 12.5px; --cap-artist: clamp(22px,2vw,26px); --cap-title: 16px;}
body:not(.is-home) main .tile--grid{--cap-x: 14px; --cap-tag: 12px; --cap-artist: 19px; --cap-title: 14px;}
body:not(.is-home) main .home-empty{margin: 0px; padding: 6px 0px 4px; color: var(--ink-soft);}
body:not(.is-home) main .tile-over{position: absolute; left: 0px; right: 0px; bottom: 0px; display: grid; grid-template-rows: auto auto auto; align-content: end; padding: 14px var(--cap-x) 12px; background: rgba(11, 11, 11, 0.8); color: rgb(244, 243, 240);}
body:not(.is-home) main .tile-tag{margin: 0px 0px 8px; font-size: var(--cap-tag); font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; line-height: 1; height: 1em; white-space: nowrap;}
body:not(.is-home) main .tile-tag .num{color: rgb(244, 243, 240); font-variant-numeric: tabular-nums; margin-left: 3px;}
body:not(.is-home) main .tile-title{margin: 0px; font-size: var(--cap-artist); font-weight: 700; font-stretch: 85%; line-height: 1.1; height: 1.1em; text-transform: uppercase; letter-spacing: 0px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
body:not(.is-home) main .tile-title a{color: inherit;}
body:not(.is-home) main .tile-title a::after{content: ""; position: absolute; inset: 0px;}
body:not(.is-home) main .tile-title a:hover,body:not(.is-home) main .tile-title a:focus-visible{text-decoration: underline 1px; text-underline-offset: 3px;}
body:not(.is-home) main .tile-sub{margin: 5px 0px 0px; font-size: var(--cap-title); line-height: 1.25; height: 1.25em; text-transform: uppercase; letter-spacing: 0px; color: rgba(244, 243, 240, 0.86); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
body:not(.is-home) main .tile-foot{display: flex; align-items: center; gap: 12px; height: 38px; padding: 0 var(--cap-x); background: var(--masthead); color: rgba(244, 243, 240, 0.62);}
body:not(.is-home) main .tile-meta{margin: 0px; flex: 1 1 auto; min-width: 0px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
body:not(.is-home) main .tile-meta a{color: rgba(244, 243, 240, 0.8);}
body:not(.is-home) main .tile-meta a:hover{color: rgb(244, 243, 240);}
body:not(.is-home) main .tile-foot .feed-act{flex: 0 0 auto; margin-left: auto; position: relative; z-index: 1; min-height: 38px; color: rgb(244, 243, 240);}
body:not(.is-home) main .tile-foot .feed-act:hover{color: var(--accent);}
@media (max-width: 1023px){
body:not(.is-home) main .home-lead,body:not(.is-home) main .home-grid4{grid-template-columns: repeat(2, minmax(0px, 1fr));}
body:not(.is-home) main .home-lead .tile--primary{grid-area: auto / 1 / auto / -1;}
body:not(.is-home) main .home-lead .tile--secondary:nth-child(2),body:not(.is-home) main .home-lead .tile--secondary:nth-child(3){grid-area: auto;}
body:not(.is-home) main .tile--primary .tile-media .thumb{position: static; aspect-ratio: 5 / 4;}
body:not(.is-home) main .home-lead .tile--secondary .tile-media .thumb{aspect-ratio: 1 / 1;}
}
body:not(.is-home) main .lead{display: grid; grid-template: "media head" "media body" 1fr / minmax(0px, 1fr) minmax(0px, 1fr); column-gap: 32px; align-items: start;}
body:not(.is-home) main .lead-body{grid-area: body; min-width: 0px;}
body:not(.is-home) main .lead-meta{display: flex; align-items: baseline; gap: 10px; margin: 0px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft);}
body:not(.is-home) main .lead-meta time{margin-left: auto; font-weight: 400;}
body:not(.is-home) main .lead-title{margin: 18px 0px 0px; font-size: var(--d1); font-weight: 700; font-stretch: 85%; line-height: 1.05; text-transform: uppercase; overflow-wrap: anywhere;}
body:not(.is-home) main .lead-title a:hover{color: var(--accent);}
body:not(.is-home) main .lead-track{margin: 4px 0px 0px; font-size: var(--d1-track); line-height: 1.3; text-transform: uppercase; letter-spacing: 0px; color: var(--ink-soft);}
body:not(.is-home) main .lead-info{margin: 12px 0px 0px; color: var(--ink-soft);}
body:not(.is-home) main .lead-info a{color: var(--ink);}
body:not(.is-home) main .lead-info a:hover{color: var(--accent);}
body:not(.is-home) main .lead .cta{margin-top: 20px;}
body:not(.is-home) main .detail--premieres .lead{margin-top: 28px; grid-template-columns: minmax(0px, 5fr) minmax(0px, 7fr); column-gap: 48px;}
body:not(.is-home) main .detail--premieres .lead-media .thumb{max-width: 480px;}
body:not(.is-home) main .prem-text{max-width: 66ch; margin-top: 40px;}
body:not(.is-home) main .prem-text > * + *{margin-top: 36px;}
body:not(.is-home) main .prem-text .prose{margin-top: 0px;}
body:not(.is-home) main .prem-text .section-title{margin-bottom: 14px;}
body:not(.is-home) main .side-head .section-title{margin-bottom: 4px;}
body:not(.is-home) main .home-side > .cta{margin-top: 14px;}
body:not(.is-home) main .side-list li{border-bottom: 1px solid var(--rule);}
body:not(.is-home) main .side-list li:last-child{border-bottom: 0px;}
body:not(.is-home) main .side-item .mini{flex-basis: 56px; width: 56px; height: 56px;}
body:not(.is-home) main .side-title a:hover{color: var(--accent);}
body:not(.is-home) main .side-meta{margin: 5px 0px 0px; font-size: 12px; font-weight: 400; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted);}
body:not(.is-home) main .side-list--grid li:last-child{border-bottom: 1px solid var(--rule);}
body:not(.is-home) main .side-list--grid .side-meta{margin: 0px 0px 4px;}
body:not(.is-home) main .ps-label{margin: 0px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em;}
body:not(.is-home) main .ps-time{margin: 0px 0px 0px auto; font-size: 12px; letter-spacing: 0.08em; color: var(--muted); font-variant-numeric: tabular-nums;}
body:not(.is-home) main .ps-sources{margin: 10px 0px 0px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted);}
body:not(.is-home) main .ps-sources a{display: inline-block; padding: 5px 0px; margin: -5px 0px; font-weight: 600; color: var(--ink);}
body:not(.is-home) main .ps-sources a:hover{color: var(--accent);}
body:not(.is-home) main .section-head--major{border-top: 2px solid var(--ink); padding-top: 14px;}
body:not(.is-home) main .section-head--major .section-title{font-size: 17px; font-weight: 700; font-stretch: 85%; letter-spacing: 0px; padding-bottom: 0px;}
body:not(.is-home) main .section-head--major .section-title::after{display: none;}
body:not(.is-home) main .section-head .section-title{margin-bottom: 0px;}
body:not(.is-home) main .section-note{margin: 0px; font-size: 12px; color: var(--muted);}
body:not(.is-home) main .section-head .cta{margin-left: auto; flex: 0 0 auto;}
body:not(.is-home) main .prem-art .mini{width: 72px; height: 72px;}
body:not(.is-home) main .prem-kicker{margin: 0px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft);}
body:not(.is-home) main .prem-kicker .num{font-size: 12px; margin-right: 4px;}
body:not(.is-home) main .prem-title{margin: 3px 0px 0px; font-size: 17px; font-weight: 700; font-stretch: 85%; text-transform: uppercase; letter-spacing: 0px; line-height: 1.25; overflow-wrap: anywhere;}
body:not(.is-home) main .prem-title span{font-weight: 400; color: var(--ink-soft);}
body:not(.is-home) main .prem-title a:hover,body:not(.is-home) main .prem-title a:hover span{color: var(--accent);}
body:not(.is-home) main .prem-meta{margin: 5px 0px 0px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted);}
body:not(.is-home) main .prem-meta a{color: var(--ink-soft);}
body:not(.is-home) main .prem-meta a:hover{color: var(--accent);}
body:not(.is-home) main .prem-dur{margin: 0px; font-size: 12px; letter-spacing: 0.08em; color: var(--muted); font-variant-numeric: tabular-nums;}
body:not(.is-home) main .pod-row .mini{width: 64px; height: 64px;}
body:not(.is-home) main .pod-num{font-size: 17px; font-weight: 600; letter-spacing: 0px; line-height: 1; color: var(--ink); font-variant-numeric: tabular-nums;}
body:not(.is-home) main .pod-kicker{margin: 0px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft);}
body:not(.is-home) main .pod-guest{margin: 3px 0px 0px; font-size: 17px; font-weight: 700; font-stretch: 85%; text-transform: uppercase; letter-spacing: 0px; overflow-wrap: anywhere;}
body:not(.is-home) main .pod-guest a:hover{color: var(--accent);}
body:not(.is-home) main .pod-meta{display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 0px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); font-variant-numeric: tabular-nums;}
body:not(.is-home) main .ed-lead-title{margin: 12px 0px 8px; font-size: 22px; font-weight: 700; font-stretch: 90%; line-height: 1.15; letter-spacing: 0px;}
body:not(.is-home) main .ed-lead-title a:hover{color: var(--accent);}
body:not(.is-home) main .ed-lead-rel{margin: 0px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft);}
body:not(.is-home) main .ed-lead-rel a:hover{color: var(--accent);}
body:not(.is-home) main .ed-lead .cta{margin-top: 18px;}
body:not(.is-home) main .ed-kicker{margin: 0px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent);}
body:not(.is-home) main .ed-title{margin: 6px 0px 0px; font-size: 17px; font-weight: 600; line-height: 1.25; letter-spacing: 0px;}
body:not(.is-home) main .ed-title a:hover{color: var(--accent);}
body:not(.is-home) main .ed-meta{margin: 6px 0px 0px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted);}
body:not(.is-home) main .ed-stack .thumb{max-width: 420px;}
body:not(.is-home) main .selects-edition{margin: -10px 0px 12px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted);}
body:not(.is-home) main .feed-col-title{margin: 0px 0px 12px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink);}
body:not(.is-home) main .feed-art .mini{width: 144px; height: 144px;}
body:not(.is-home) main .feed-kicker{margin: 0px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink);}
body:not(.is-home) main .feed-title{margin: 10px 0px 0px; font-size: 20px; font-weight: 700; font-stretch: 90%; line-height: 1.15; letter-spacing: 0px; overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;}
body:not(.is-home) main .feed-title span{font-weight: 400; color: var(--ink-soft);}
body:not(.is-home) main .feed-title a:hover,body:not(.is-home) main .feed-title a:hover span{color: var(--accent);}
body:not(.is-home) main .feed-meta{margin: 10px 0px 0px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; line-height: 1.5; color: var(--muted);}
body:not(.is-home) main .feed-meta a{color: var(--ink-soft);}
body:not(.is-home) main .feed-meta a:hover{color: var(--accent);}
body:not(.is-home) main .feed-text{margin: 10px 0px 0px; font-size: 14px; line-height: 1.5; color: var(--ink-soft); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;}
body:not(.is-home) main .feed-act{display: inline-flex; align-items: center; gap: 8px; min-height: var(--tap); padding: 0px; border: 0px; background: none; cursor: pointer; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink); white-space: nowrap;}
body:not(.is-home) main .feed-act:hover{color: var(--accent);}
body:not(.is-home) main .feed-act[aria-pressed="true"] .feed-act-ic{clip-path: polygon(0px 0px, 35% 0px, 35% 100%, 0px 100%, 0px 0px, 65% 0px, 100% 0px, 100% 100%, 65% 100%, 65% 0px);}
body:not(.is-home) main .feed-list--compact .feed-art,body:not(.is-home) main .feed-list--compact .feed-art .mini{width: 72px; height: 72px;}
body:not(.is-home) main .feed-list--compact .feed-title{margin-top: 5px; font-size: 17px; font-weight: 600; font-stretch: 100%; line-height: 1.25; letter-spacing: 0px;}
body:not(.is-home) main .feed-list--compact .feed-meta{margin-top: 5px;}
body:not(.is-home) main .feed-more .cta{justify-content: center; min-height: var(--tap); padding: 0px 18px; border: 1px solid var(--rule-strong);}
body:not(.is-home) main .feed-more .cta:hover{border-color: var(--accent);}
body:not(.is-home) main .feed-more .cta[aria-busy="true"]{opacity: 0.5;}
body:not(.is-home) main .connect .section-title{margin-bottom: 14px;}
body:not(.is-home) main .connect-list li + li{border-left: 1px solid var(--rule);}
body:not(.is-home) main .connect-name{font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em;}
body:not(.is-home) main .connect-act{margin-left: auto; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent); white-space: nowrap;}
body:not(.is-home) main a.connect-item:hover .connect-name{color: var(--accent);}
body:not(.is-home) main .connect-item.is-pending .connect-act{color: var(--muted);}
body:not(.is-home) main .feature-title{margin: 14px 0px 0px; font-size: var(--d1); font-weight: 700; font-stretch: 90%; line-height: 1.1; letter-spacing: 0px;}
body:not(.is-home) main .feature-byline{margin: 18px 0px 0px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft);}
body:not(.is-home) main .feature-byline a{text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: var(--rule-strong); text-underline-offset: 3px;}
body:not(.is-home) main .feature-media .thumb{max-width: 480px;}
body:not(.is-home) main .feature-body{max-width: 66ch;}
body:not(.is-home) main .feature-body h2{font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; margin: 2.6em 0px 1em; padding-top: 14px; border-top: 1px solid var(--ink);}
body:not(.is-home) main .feature-body p > strong:only-child{display: block; font-size: 16px;}
body:not(.is-home) main .embed .thumb{width: 160px;}
body:not(.is-home) main .embed-kicker{color: var(--accent);}
body:not(.is-home) main .embed-title{font-size: 17px; font-stretch: 85%; font-weight: 700; text-transform: uppercase; line-height: 1.25; margin: 8px 0px 0px !important;}
body:not(.is-home) main .embed-title span{font-weight: 400; color: var(--ink-soft);}
body:not(.is-home) main .embed-title a{text-decoration: none !important;}
body:not(.is-home) main .embed-meta{font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); margin: 6px 0px 0px !important;}
body:not(.is-home) main .prose .embed a{text-decoration: none;}
@media (max-width: 1179px){
body:not(.is-home) main .lead{grid-template-columns: minmax(0px, 5fr) minmax(0px, 7fr);}
}
@media (max-width: 980px){
body:not(.is-home) main .featured,body:not(.is-home) main .latest-grid{grid-template-columns: repeat(2, minmax(0px, 1fr));}
body:not(.is-home) main .latest-grid .col:nth-child(3){grid-column: 1 / -1; border-left: 0px; padding-left: 0px; border-top: 1px solid var(--rule); padding-top: 26px; margin-top: 8px;}
body:not(.is-home) main .latest-grid--2 .col:nth-child(3){grid-column: auto;}
body:not(.is-home) main .card-grid{grid-template-columns: repeat(2, minmax(0px, 1fr));}
body:not(.is-home) main .detail-grid{gap: 40px;}
body:not(.is-home) main .pod-row .mini{width: 56px; height: 56px; grid-row: 1 / 3;}
body:not(.is-home) main .pod-num{grid-row: 1 / 3;}
body:not(.is-home) main .pod-meta{grid-area: 2 / 3;}
body:not(.is-home) main .ed-lead .thumb{max-width: 300px;}
}
@media (max-width: 760px){
body:not(.is-home) main .feed-art,body:not(.is-home) main .feed-art .mini{width: 112px; height: 112px;}
body:not(.is-home) main .feed-title{font-size: 18px;}
body:not(.is-home) main .connect-list li + li{border-left: 0px; border-top: 1px solid var(--rule);}
body:not(.is-home) main .featured,body:not(.is-home) main .latest-grid,body:not(.is-home) main .latest-grid--2,body:not(.is-home) main .card-grid{grid-template-columns: minmax(0px, 1fr); gap: 44px;}
body:not(.is-home) main .latest-grid .col + .col{border-left: 0px; padding-left: 0px; border-top: 1px solid var(--rule); padding-top: 26px;}
body:not(.is-home) main .latest-grid .col:nth-child(3){margin-top: 0px;}
body:not(.is-home) main .tracks li{grid-template-columns: 28px minmax(0px, 1fr) auto; row-gap: 4px;}
body:not(.is-home) main .t-track{grid-column: 2;}
body:not(.is-home) main .t-label{grid-column: 2;}
body:not(.is-home) main .label-row{flex-wrap: wrap; justify-content: flex-start;}
body:not(.is-home) main .label-row li{flex: 0 0 50%;}
body:not(.is-home) main .label-row li + li{border-left: 0px;}
body:not(.is-home) main .label-row a{text-align: left; padding: 13px 0px; border-bottom: 1px solid var(--rule);}
body:not(.is-home) main .footer-sections ul{grid-template-columns: repeat(2, minmax(0px, 1fr));}
body:not(.is-home) main .footer-sections a{padding: 10px 0px;}
body:not(.is-home) main .footer-nav ul{gap: 4px 20px;}
body:not(.is-home) main .footer-nav a{padding: 10px 0px;}
body:not(.is-home) main .detail-grid{grid-template-columns: minmax(0px, 1fr); gap: 32px;}
body:not(.is-home) main .meta > div{grid-template-columns: 110px minmax(0px, 1fr);}
body:not(.is-home) main .view-all{min-height: var(--tap);}
body:not(.is-home) main .home-latest{padding-top: 24px; padding-bottom: 32px;}
body:not(.is-home) main .lead,body:not(.is-home) main .detail--premieres .lead{grid-template-columns: minmax(0px, 1fr); grid-template-areas: "head" "media" "body"; grid-template-rows: auto;}
body:not(.is-home) main .lead-title{margin-top: 14px;}
body:not(.is-home) main .section-head--major .section-title{font-size: 17px;}
body:not(.is-home) main .section-note{order: 3; flex-basis: 100%;}
body:not(.is-home) main .section-head .cta{min-height: var(--tap);}
body:not(.is-home) main .prem-art .mini{width: 56px; height: 56px;}
body:not(.is-home) main .prem-dur{display: none;}
body:not(.is-home) main .prem-title{font-size: 15px;}
body:not(.is-home) main .pod-row .mini{display: none;}
body:not(.is-home) main .pod-num{font-size: 14px; grid-row: 1 / 3;}
body:not(.is-home) main .pod-meta{grid-area: 2 / 2; gap: 12px; flex-wrap: wrap;}
body:not(.is-home) main .pod-guest{font-size: 17px;}
body:not(.is-home) main .pod-meta span:nth-child(2){display: none;}
body:not(.is-home) main .ed-lead .thumb{max-width: 260px;}
body:not(.is-home) main .ed-lead-title{font-size: 22px;}
body:not(.is-home) main .ed-stack .thumb{max-width: none;}
body:not(.is-home) main .embed .thumb{width: 96px;}
body:not(.is-home) main .embed .player-shell,body:not(.is-home) main .embed .ps-sources{grid-column: 1 / -1;}
}
body:not(.is-home) main .search-status{margin: 18px 0px 0px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted);}
body:not(.is-home) main .search-results li{border-bottom: 1px solid var(--rule);}
body:not(.is-home) main .search-results a{display: grid; gap: 4px; padding: 14px 0px;}
body:not(.is-home) main .sr-kind{font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink);}
body:not(.is-home) main .sr-name span{font-weight: 400; color: var(--ink-soft);}
body:not(.is-home) main .sr-meta{font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted);}
@media (max-width: 760px){
body:not(.is-home) main .home-latest{padding-top: 20px; padding-bottom: 30px;}
body:not(.is-home) main .home-latest > .section-title{margin-bottom: 14px;}
body:not(.is-home) main .home-lead,body:not(.is-home) main .home-grid4{grid-template-columns: minmax(0px, 1fr);}
body:not(.is-home) main .home-lead:not(.home-lead--1){grid-template-columns: repeat(2, minmax(0px, 1fr));}
body:not(.is-home) main .home-lead .tile--primary{grid-area: auto / 1 / auto / -1;}
body:not(.is-home) main .home-lead .tile--secondary:nth-child(2),body:not(.is-home) main .home-lead .tile--secondary:nth-child(3){grid-area: auto;}
body:not(.is-home) main .home-lead .tile--secondary .tile-media .thumb{aspect-ratio: 4 / 5;}
body:not(.is-home) main .home-lead .tile--secondary{--cap-x: 10px; --cap-tag: 12px; --cap-artist: 15px; --cap-title: 12px;}
body:not(.is-home) main .home-lead .tile--secondary .tile-tag{letter-spacing: 0.08em;}
body:not(.is-home) main .home-lead .tile--secondary .tile-sub{height: 2.5em; white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; text-overflow: clip;}
body:not(.is-home) main .tile,body:not(.is-home) main .tile--primary{--cap-x: 14px; --cap-tag: 12px; --cap-artist: 18px; --cap-title: 13px;}
body:not(.is-home) main .tile--primary{--cap-artist: 21px;}
}
body:not(.is-home) main .footer-bar{display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; padding-top: 22px; padding-bottom: 26px;}
body:not(.is-home) main .footer-bar .copy{margin: 0px; display: flex; align-items: center; gap: 12px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft);}
body:not(.is-home) main .footer-bar .footer-mark{font-size: 18px; font-weight: 700; letter-spacing: 0px; color: var(--ink); text-transform: none;}
body:not(.is-home) main .footer-bar .footer-logo{display: block; align-self: center; width: auto; height: 30px;}
body:not(.is-home) main .footer-legal ul{display: flex; gap: 4px 24px;}
body:not(.is-home) main .footer-legal a{display: inline-block; padding: 8px 0px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft);}
body:not(.is-home) main .footer-legal a:hover{color: var(--accent);}
@media (min-width: 561px) and (max-width: 760px){
body:not(.is-home) main .home-lead,body:not(.is-home) main .home-grid4{grid-template-columns: repeat(2, minmax(0px, 1fr));}
body:not(.is-home) main .home-lead .tile--primary{grid-column: 1 / -1;}
}
@media (max-width: 760px){
body:not(.is-home) main .home-level > .section-title{}
}
@media (min-width: 1024px) and (max-width: 1279px){
body:not(.is-home) main .tile--grid{--cap-x: 12px; --cap-artist: 16.5px; --cap-title: 13px; --cap-tag: 12px;}
}
@media (max-width: 359px){
body:not(.is-home) main .home-lead .tile--secondary{--cap-x: 9px; --cap-tag: 12px;}
body:not(.is-home) main .home-lead .tile--secondary .tile-tag{letter-spacing: 0.08em;}
}
body:not(.is-home) main .interview .crumbs{margin-bottom: 24px;}
body:not(.is-home) main .tile--cover{--cap-x: 24px; --cap-tag: 12.5px; --cap-artist: clamp(26px,3vw,34px); --cap-title: 16px; position: relative;}
body:not(.is-home) main .tile--cover .tile-media .thumb{aspect-ratio: 3 / 2;}
body:not(.is-home) main .tile--cover .tile-over{padding: 18px var(--cap-x) 18px;}
body:not(.is-home) main .tile--cover .tile-title{height: auto; white-space: normal; overflow: visible; overflow-wrap: anywhere;}
body:not(.is-home) main .tile--cover .tile-sub{height: auto; white-space: normal; overflow: visible; margin-top: 8px;}
body:not(.is-home) main .iv-body{margin-top: 44px;}
body:not(.is-home) main .iv-qa{margin: 36px 0px 0px; padding: 0px; list-style: none;}
body:not(.is-home) main .iv-item{padding: 30px 0px 6px; border-top: 1px solid var(--rule);}
body:not(.is-home) main .iv-qn{margin: 0px 0px 8px; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; color: var(--ink);}
body:not(.is-home) main .iv-q{margin: 0px; font-size: 18px; font-weight: 700; line-height: 1.4; letter-spacing: 0px;}
body:not(.is-home) main .iv-a{margin-top: 16px;}
body:not(.is-home) main .iv-who{margin: 0px 0px 8px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft);}
body:not(.is-home) main .iv-a .prose{margin-top: 0px; max-width: none;}
body:not(.is-home) main .iv-body .prose{max-width: none;}
body:not(.is-home) main .iv-split-media .thumb,body:not(.is-home) main .iv-split-media.tile--cover .tile-media .thumb{display: block; aspect-ratio: 1 / 1;}
body:not(.is-home) main .iv-split-media .tile-over{z-index: 2;}
body:not(.is-home) main .iv-split-media .thumb img{width: 100%; height: 100%; object-fit: cover; object-position: var(--focal,50% 40%); transition: opacity 0.2s;}
body:not(.is-home) main .iv-split-media:hover .thumb img{opacity: 0.92;}
body:not(.is-home) main .iv-entry-tag{position: absolute; top: 22px; left: 24px; z-index: 2; margin: 0px; --cap-tag: 12.5px; color: rgb(244, 243, 240);}
@media (max-width: 760px){
body:not(.is-home) main .tile--cover{--cap-x: 16px; --cap-tag: 12px; --cap-artist: 24px; --cap-title: 13px;}
body:not(.is-home) main .tile--cover .tile-media .thumb{aspect-ratio: 4 / 5;}
body:not(.is-home) main .tile--cover .tile-over{padding: 14px var(--cap-x) 14px;}
body:not(.is-home) main .iv-body{margin-top: 30px;}
body:not(.is-home) main .iv-item{padding-top: 26px;}
body:not(.is-home) main .iv-q{font-size: 17px;}
body:not(.is-home) main .iv-entry-tag{top: 16px; left: 16px; --cap-tag: 12px;}
}
body:not(.is-home) main .home-viewall{display: none;}
@media (max-width: 760px){
body:not(.is-home) main .home-level--premieres .home-grid4,body:not(.is-home) main .home-level--podcasts .home-grid4{--tgap: 6px;}
body:not(.is-home) main .home-level--premieres .home-grid4 > :nth-child(n+7),body:not(.is-home) main .home-level--podcasts .home-grid4 > :nth-child(n+7){display: none;}
body:not(.is-home) main .home-grid4 .tile--grid{--cap-x: 7px; --cap-tag: 12px; --cap-artist: 12px; --cap-title: 12px;}
body:not(.is-home) main .home-grid4 .tile--grid .tile-media{flex: 0 0 auto; overflow: visible;}
body:not(.is-home) main .home-grid4 .tile--grid .tile-media .thumb{height: auto; aspect-ratio: 1 / 1; overflow: hidden;}
body:not(.is-home) main .home-grid4 .tile--grid .tile-over{position: static; padding: 8px var(--cap-x) 6px; background: var(--masthead);}
body:not(.is-home) main .home-grid4 .tile--grid .tile-tag{margin-bottom: 6px; letter-spacing: 0.08em;}
body:not(.is-home) main .home-grid4 .tile--grid .tile-title{height: 2.2em; line-height: 1.1; white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; text-overflow: clip; letter-spacing: 0px;}
body:not(.is-home) main .home-grid4 .tile--grid .tile-sub{margin-top: 4px; letter-spacing: 0px;}
body:not(.is-home) main .home-grid4 .tile--grid .tile-foot{height: 28px; gap: 4px;}
body:not(.is-home) main .home-grid4 .tile--grid .tile-meta{font-size: 12px; letter-spacing: 0.08em;}
body:not(.is-home) main .home-grid4 .tile--grid .feed-act{min-height: 28px; font-size: 0px; gap: 0px;}
body:not(.is-home) main .home-grid4 .tile--grid .feed-act-ic{width: 8px; height: 9px;}
body:not(.is-home) main .home-viewall{display: block; margin: 16px 0px 0px;}
body:not(.is-home) main .home-viewall a{font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink); border-bottom: 1px solid var(--rule-strong); padding-bottom: 2px;}
body:not(.is-home) main .home-viewall a:hover{color: var(--accent); border-bottom-color: var(--accent);}
}
body:not(.is-home) main .news .page-title{margin-top: 8px;}
body:not(.is-home) main .news-hero .thumb{aspect-ratio: 3 / 2;}
body:not(.is-home) main .news-hero .thumb img{width: 100%; height: 100%; object-fit: cover; object-position: var(--focal,50% 40%);}
body:not(.is-home) main .news-body{max-width: none;}
body:not(.is-home) main .ag-date{font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em;}
body:not(.is-home) main .ag-date strong{font-size: 18px; font-weight: 700; letter-spacing: 0px; margin-right: 4px;}
body:not(.is-home) main .ag-artist,body:not(.is-home) main .ag-city,body:not(.is-home) main .ag-venue{font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft);}
body:not(.is-home) main .home-more{margin: 18px 0px 0px;}
@media (min-width: 761px){
body:not(.is-home) main .home-more{margin-top: 14px;}
body:not(.is-home) main .footer-bar{padding-top: 18px; padding-bottom: 20px;}
}
body:not(.is-home) main .home-more a{font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink); border-bottom: 1px solid var(--rule-strong); padding-bottom: 2px;}
body:not(.is-home) main .home-more a:hover{color: var(--accent); border-bottom-color: var(--accent);}
@media (max-width: 760px){
body:not(.is-home) main .ag-city,body:not(.is-home) main .ag-venue{grid-column: 2;}
body:not(.is-home) main .ag-date strong{font-size: 16px; display: block;}
}
body:not(.is-home) main .ecm-playlist iframe{display: block; width: 100%; height: 466px; border: 0px;}
@media (min-width: 1024px){
@keyframes nav-dd-in { 
  0% { opacity: 0; transform: translateY(-4px); }
  100% { opacity: 1; transform: none; }
}
body:not(.is-home) main .nav-dd-item a{display: flex; flex-direction: column; gap: 4px; padding: 0px; border: 0px; color: rgb(244, 243, 240); font-size: inherit; font-weight: inherit; letter-spacing: 0px; text-transform: none; white-space: normal;}
body:not(.is-home) main .nav-dd-item a:hover .nav-dd-title{color: var(--accent);}
body:not(.is-home) main .nav-dd-kicker{font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(244, 243, 240, 0.62);}
body:not(.is-home) main .nav-dd-title{font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0px; line-height: 1.25;}
body:not(.is-home) main .nav-dd-sub{font-size: 12px; text-transform: uppercase; letter-spacing: 0px; color: rgba(244, 243, 240, 0.75);}
body:not(.is-home) main .nav-dd-empty{margin: 0px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(244, 243, 240, 0.62);}
body:not(.is-home) main .nav-dd-all{margin: 20px 0px 0px;}
body:not(.is-home) main .nav-dd-all a{display: inline; padding: 0px 0px 2px; font-size: 12px; font-weight: 600; letter-spacing: 0.08em; color: rgb(244, 243, 240); border-bottom: 1px solid rgba(244, 243, 240, 0.4);}
body:not(.is-home) main .nav-dd-all a:hover{color: var(--accent); border-bottom-color: var(--accent);}
body:not(.is-home) main .nav-dd .ag-row a{display: inline; padding: 0px; border: 0px; font-size: 15px; letter-spacing: 0px; text-transform: none;}
body:not(.is-home) main .nav-dd .ag-artist,body:not(.is-home) main .nav-dd .ag-city,body:not(.is-home) main .nav-dd .ag-venue{color: rgba(244, 243, 240, 0.62);}
body:not(.is-home) main .nav-dd .ag-row a,body:not(.is-home) main .nav-dd .ag-row span{white-space: normal; overflow-wrap: anywhere;}
}
@media (min-width: 1024px){
body:not(.is-home) main .home-level--premieres .home-viewall,body:not(.is-home) main .home-level--podcasts .home-viewall{display: block; margin: 18px 0px 0px;}
body:not(.is-home) main .home-viewall a{font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink); border-bottom: 1px solid var(--rule-strong); padding-bottom: 2px;}
body:not(.is-home) main .home-viewall a:hover{color: var(--accent); border-bottom-color: var(--accent);}
}
body:not(.is-home) main .ag-cards > li{min-width: 0px;}
body:not(.is-home) main .tile--event{--cap-x: 18px; --cap-tag: 12px; --cap-artist: 19px; --cap-title: 12px; height: 100%;}
body:not(.is-home) main .tile--event .tile-media .thumb{aspect-ratio: 1 / 1;}
body:not(.is-home) main .tile--event .tile-over{padding: 14px var(--cap-x) 14px;}
body:not(.is-home) main .tile--event .tile-title{height: auto; white-space: normal; text-overflow: clip; overflow: visible; line-height: 1.12;}
body:not(.is-home) main .tile--event .tile-sub{height: auto; white-space: normal; margin-top: 8px; letter-spacing: 0.08em; font-weight: 600; line-height: 1.4;}
body:not(.is-home) main .tile--event .tile-sub .sep{color: rgba(244, 243, 240, 0.5);}
@media (min-width: 1280px){
body:not(.is-home) main .tile--event{--cap-x: 22px; --cap-artist: 22px; --cap-title: 12.5px;}
}
@media (max-width: 760px){
body:not(.is-home) main .tile--event{--cap-x: 14px; --cap-artist: 16.5px; --cap-title: 12px;}
body:not(.is-home) main .tile--event .tile-over{padding: 12px var(--cap-x) 12px;}
body:not(.is-home) main .tile--event .tile-tag{margin-bottom: 6px;}
body:not(.is-home) main .tile--event .tile-sub{margin-top: 6px;}
}
body:not(.is-home) main .ag-cards--posters > li{min-width: 0px;}
body:not(.is-home) main .detail--events .detail-media .thumb{aspect-ratio: auto; height: auto;}
body:not(.is-home) main .detail--events .detail-media .thumb img{height: auto; object-fit: contain;}
body:not(.is-home) main .detail--events .meta + .ev-desc{margin: 22px 0px 0px;}
body:not(.is-home) main .detail--events .ev-desc + .meta{margin-top: 10px;}
@media (min-width: 1024px){
body:not(.is-home) main .home-level--playlist{}
}
@media (max-width: 1023px){
body:not(.is-home) main .home-level--playlist{}
}
@media (max-width: 760px){
body:not(.is-home) main .home-level--playlist{}
}
body:not(.is-home) main .ag-poster .thumb{aspect-ratio: 4 / 5; height: auto;}
body:not(.is-home) main .ag-poster .thumb img{height: 100%; object-fit: cover; object-position: var(--focal,50% 50%);}
@media (max-width: 760px){
body:not(.is-home) main .home-level--premieres .home-grid4 .tile--grid,body:not(.is-home) main .home-level--podcasts .home-grid4 .tile--grid{position: relative; aspect-ratio: 1 / 1; overflow: hidden;}
body:not(.is-home) main .home-level--premieres .tile--grid .tile-media,body:not(.is-home) main .home-level--podcasts .tile--grid .tile-media{position: absolute; inset: 0px; overflow: hidden;}
body:not(.is-home) main .home-level--premieres .tile--grid .tile-media .thumb,body:not(.is-home) main .home-level--podcasts .tile--grid .tile-media .thumb{height: 100%; aspect-ratio: auto;}
body:not(.is-home) main .home-level--premieres .tile--grid .tile-over,body:not(.is-home) main .home-level--podcasts .tile--grid .tile-over{position: absolute; left: 0px; right: 0px; bottom: 22px; padding: 5px var(--cap-x) 3px; background: rgba(11, 11, 11, 0.8);}
body:not(.is-home) main .home-level--premieres .tile--grid .tile-tag,body:not(.is-home) main .home-level--podcasts .tile--grid .tile-tag{margin-bottom: 3px;}
body:not(.is-home) main .home-level--premieres .tile--grid .tile-title,body:not(.is-home) main .home-level--podcasts .tile--grid .tile-title{height: 1.1em; white-space: nowrap; display: block; -webkit-line-clamp: unset; text-overflow: ellipsis;}
body:not(.is-home) main .home-level--premieres .tile--grid .tile-sub,body:not(.is-home) main .home-level--podcasts .tile--grid .tile-sub{margin-top: 2px;}
body:not(.is-home) main .home-level--premieres .tile--grid .tile-foot,body:not(.is-home) main .home-level--podcasts .tile--grid .tile-foot{position: absolute; left: 0px; right: 0px; bottom: 0px; height: 22px; z-index: 1;}
body:not(.is-home) main .home-level--premieres .tile--grid .feed-act,body:not(.is-home) main .home-level--podcasts .tile--grid .feed-act{min-height: 22px;}
}
body:not(.is-home) main .tile--music{position: relative;}
body:not(.is-home) main .tile--music .tile-over{background: var(--masthead);}
body:not(.is-home) main .tile--music .tile-title,body:not(.is-home) main .tile--music .tile-foot .tile-sub{white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
body:not(.is-home) main .tile--music .tile-foot .tile-sub{flex: 1 1 auto; min-width: 0px; margin: 0px; color: rgba(244, 243, 240, 0.86);}
body:not(.is-home) main .tile--music .tile-foot .feed-act{align-self: stretch; min-height: 0px;}
body:not(.is-home) main .tile--music.tile--music-pod .tile-over .tile-tag{margin-bottom: 0px;}
body:not(.is-home) main .tile--music .tile-foot .tile-title--foot{flex: 1 1 auto; min-width: 0px; color: rgb(244, 243, 240);}
@media (min-width: 761px){
body:not(.is-home) main .tile--music .tile-foot .tile-title--foot{font-size: clamp(12px, 6.6cqw, 16px); letter-spacing: 0px;}
}
@media (min-width: 761px){
body:not(.is-home) main .tile--music{container-type: inline-size;}
body:not(.is-home) main .tile--music .tile-over{padding: clamp(6px,4cqw,10px) var(--cap-x) clamp(3px,2cqw,5px);}
body:not(.is-home) main .tile--music .tile-tag{font-size: clamp(12px, 5cqw, 12px); margin-bottom: clamp(3px, 2.5cqw, 6px);}
body:not(.is-home) main .tile--music .tile-title{font-size: clamp(12.5px, 8cqw, 19px); line-height: 1.1; height: 1.1em;}
body:not(.is-home) main .tile--music .tile-foot{height: clamp(22px, 14cqw, 34px); gap: 8px;}
body:not(.is-home) main .tile--music .tile-foot .tile-sub{font-size: clamp(12px, 6.2cqw, 14px); line-height: 1.2; height: 1.2em;}
body:not(.is-home) main .tile--music .tile-foot .feed-act{font-size: clamp(12px, 4.8cqw, 12px);}
}
@media (min-width: 1024px){
body:not(.is-home) main .home-level--premieres .tile--music .tile-over{padding-top: clamp(5px, 3cqw, 7px); padding-bottom: clamp(2px, 1cqw, 3px);}
body:not(.is-home) main .home-level--premieres .tile--music .tile-tag{font-size: clamp(12px, 4.5cqw, 12px); margin-bottom: clamp(2px, 1.6cqw, 4px);}
body:not(.is-home) main .home-level--premieres .tile--music .tile-title{font-size: clamp(12px, 6.9cqw, 17px); letter-spacing: 0px; line-height: 1.05; height: 1.05em;}
body:not(.is-home) main .home-level--premieres .tile--music .tile-foot{height: clamp(20px, 12.5cqw, 30px);}
}
@media (max-width: 760px){
body:not(.is-home) main .home-level--premieres .tile--music,body:not(.is-home) main .home-level--podcasts .tile--music{container-type: inline-size; --mfoot: clamp(12px,11.5cqw,16px);}
body:not(.is-home) main .home-level--premieres .tile--music .tile-over,body:not(.is-home) main .home-level--podcasts .tile--music .tile-over{bottom: var(--mfoot); padding: clamp(2px,2.5cqw,4px) var(--cap-x) clamp(1px,.8cqw,2px); background: rgb(0, 0, 0);}
body:not(.is-home) main .home-level--premieres .tile--music .tile-tag,body:not(.is-home) main .home-level--podcasts .tile--music .tile-tag{font-size: clamp(12px, 6cqw, 12px); margin-bottom: clamp(1px, 1.5cqw, 2px);}
body:not(.is-home) main .home-level--premieres .tile--music .tile-title,body:not(.is-home) main .home-level--podcasts .tile--music .tile-title{font-size: clamp(12px, 9cqw, 12px); line-height: 1.05; height: 1.05em; letter-spacing: 0px;}
body:not(.is-home) main .home-level--premieres .tile--music .tile-foot,body:not(.is-home) main .home-level--podcasts .tile--music .tile-foot{height: var(--mfoot); gap: 4px; background: rgb(0, 0, 0);}
body:not(.is-home) main .home-level--premieres .tile--music .tile-foot .tile-sub,body:not(.is-home) main .home-level--podcasts .tile--music .tile-foot .tile-sub{font-size: clamp(12px, 7cqw, 12px); letter-spacing: 0px; line-height: 1.2; height: 1.2em;}
body:not(.is-home) main .home-level--premieres .tile--music .feed-act,body:not(.is-home) main .home-level--podcasts .tile--music .feed-act{min-height: var(--mfoot);}
}
body:not(.is-home) main .ag-card-meta{margin: 12px 0px 5px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft);}
body:not(.is-home) main .ag-card-meta time{color: var(--ink);}
body:not(.is-home) main .ag-card-title{margin: 0px; font-size: 17px; font-weight: 700; font-stretch: 85%; text-transform: uppercase; letter-spacing: 0px; line-height: 1.15;}
body:not(.is-home) main .ag-card-title a:hover{color: var(--accent);}
body:not(.is-home) main .ag-card-sub{margin: 5px 0px 0px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft);}
body:not(.is-home) main .iv-split-meta{margin: 0px 0px 12px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent);}
body:not(.is-home) main .iv-split-meta time{color: var(--ink-soft);}
@media (max-width: 760px){
body:not(.is-home) main .iv-split-meta{display: none;}
}
body:not(.is-home) main .pc .section-title{margin-bottom: 18px;}
body:not(.is-home) main .pc-art .thumb{aspect-ratio: 1 / 1; display: block;}
body:not(.is-home) main .pc-art .thumb img{width: 100%; height: 100%; object-fit: cover; object-position: var(--focal,50% 50%);}
body:not(.is-home) main .pc-artist{margin: 0px; font-size: 15px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft);}
body:not(.is-home) main .pc-title{margin: 6px 0px 0px; font-size: clamp(34px, 4vw, 48px); font-weight: 700; font-stretch: 85%; text-transform: uppercase; letter-spacing: 0px; line-height: 0.98; overflow-wrap: anywhere;}
body:not(.is-home) main .pc-title a{color: var(--ink); text-decoration: none;}
body:not(.is-home) main .pc-title a:hover{color: var(--accent);}
body:not(.is-home) main .pc-meta{margin: 12px 0px 0px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted);}
body:not(.is-home) main .pc-meta a{color: var(--ink-soft);}
@media (max-width: 760px){
body:not(.is-home) main .pc-title{font-size: 34px;}
}
@media (max-width: 760px){
body:not(.is-home) main .home-lead .tile--primary .tile-media .thumb{aspect-ratio: 1 / 1;}
body:not(.is-home) main .home-lead .tile--primary{--cap-tag: 12px; --cap-artist: 20px; --cap-title: 12px;}
body:not(.is-home) main .home-lead .tile--secondary{--cap-x: 9px; --cap-tag: 12px; --cap-artist: 14px; --cap-title: 12px;}
body:not(.is-home) main .home-lead .tile--secondary .tile-media .thumb{aspect-ratio: 3 / 4;}
body:not(.is-home) main .home-lead .tile-over{padding: 8px var(--cap-x) 7px;}
body:not(.is-home) main .home-lead .tile-tag{margin-bottom: 5px;}
body:not(.is-home) main .home-lead .tile--secondary .tile-tag{margin-bottom: 4px;}
body:not(.is-home) main .home-lead .tile-sub,body:not(.is-home) main .home-lead .tile--secondary .tile-sub{margin-top: 3px; height: auto; max-height: 2.4em; line-height: 1.2; white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; text-overflow: clip;}
body:not(.is-home) main .home-lead .tile-foot{height: 22px;}
body:not(.is-home) main .home-lead .tile-meta{font-size: 12px; letter-spacing: 0.08em;}
}
@media (max-width: 760px){
body:not(.is-home) main .ag-cards--posters .ag-poster .thumb{aspect-ratio: 9 / 10;}
}
body:not(.is-home) main .home-latest{padding-top: 20px; padding-bottom: 26px;}
@media (max-width: 1023px){
body:not(.is-home) main .home-break{}
}
@media (max-width: 760px){
body:not(.is-home) main .home-latest{padding-top: 16px; padding-bottom: 22px;}
body:not(.is-home) main .home-break{}
body:not(.is-home) main .home-more{margin-top: 12px;}
}
body:not(.is-home) main .home-headall{position: absolute; right: 0px; color: var(--ink); padding: 2px 0px; white-space: nowrap;}
body:not(.is-home) main .home-headall:hover{border-bottom-color: var(--accent);}
@media (max-width: 760px){
body:not(.is-home) main .home-headall{}
}
body:not(.is-home) main .home-latest{padding-top: 14px; padding-bottom: 22px;}
@media (max-width: 1023px){
body:not(.is-home) main .home-break{}
}
@media (max-width: 760px){
body:not(.is-home) main .home-latest{padding-top: 12px; padding-bottom: 18px;}
}
body:not(.is-home) main .iv-body{margin-top: 30px;}
body:not(.is-home) main .iv-qa{margin-top: 26px;}
body:not(.is-home) main .iv-item{padding-top: 24px;}
@media (max-width: 760px){
body:not(.is-home) main .iv-body{margin-top: 22px;}
body:not(.is-home) main .iv-item{padding-top: 20px;}
}
body:not(.is-home) main .page-title{font-weight: 700; letter-spacing: 0px;}
body:not(.is-home) main .tile-title{font-weight: 700;}
body:not(.is-home) main .prem-title,body:not(.is-home) main .pod-guest,body:not(.is-home) main .ag-card-title,body:not(.is-home) main .embed-title{font-weight: 700;}
body:not(.is-home) main .home-lead .tile-sub,body:not(.is-home) main .tile--cover .tile-sub{text-transform: none; letter-spacing: 0px; font-weight: 400;}
body:not(.is-home) main .lead-title,body:not(.is-home) main .pc-title{font-weight: 700;}
body:not(.is-home) main .ed-lead-title,body:not(.is-home) main .feed-title,body:not(.is-home) main .feature-title{font-weight: 600; font-stretch: 100%;}
body:not(.is-home) main .iv-archive-page .page-head{margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--rule);}
body:not(.is-home) main .ivc-fig{position: relative;}
body:not(.is-home) main .ivc-media .thumb{display: block; aspect-ratio: 4 / 3;}
body:not(.is-home) main .ivc-media .thumb img{width: 100%; height: 100%; object-fit: cover; object-position: var(--focal,50% 30%); transition: opacity 0.2s;}
body:not(.is-home) main .ivc-media:hover .thumb img{opacity: 0.92;}
body:not(.is-home) main .dmark{position: absolute; left: 0px; bottom: 0px; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 50px; height: 50px; background: var(--bg); border-top: 2px solid var(--accent); line-height: 1; color: var(--ink);}
body:not(.is-home) main .dmark-d{font-weight: 600; font-variant-numeric: tabular-nums;}
body:not(.is-home) main .dmark-m{font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; padding-left: 0.16em; color: var(--ink-soft);}
body:not(.is-home) main .ivc-label{margin: 12px 0px 0px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft);}
body:not(.is-home) main .ivc-kind{color: var(--accent);}
body:not(.is-home) main .ivc-title{margin: 8px 0px 0px; font-size: 19px; font-weight: 600; line-height: 1.28; letter-spacing: 0px; overflow-wrap: anywhere;}
body:not(.is-home) main .ivc-label + .ivc-title{margin-top: 6px;}
body:not(.is-home) main .ivc-fig + .ivc-title{margin-top: 14px;}
body:not(.is-home) main .ivc-title a{color: var(--ink); text-decoration: none;}
body:not(.is-home) main .ivc-title a:hover{color: var(--accent);}
body:not(.is-home) main .ivc-desc{margin: 9px 0px 0px; font-size: 14.5px; line-height: 1.55; color: var(--ink-soft);}
body:not(.is-home) main .ivx-read{display: inline-block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink); border-bottom: 1px solid var(--rule-strong); padding: 2px 0px; text-decoration: none;}
body:not(.is-home) main .ivx-read:hover{color: var(--accent); border-bottom-color: var(--accent);}
body:not(.is-home) main .ivc .ivx-read{margin-top: 14px; align-self: flex-start;}
@media (max-width: 760px){
body:not(.is-home) main .iv-archive-page .page-head{margin-bottom: 14px; padding-bottom: 12px;}
body:not(.is-home) main .ivc-title{font-size: 18px;}
body:not(.is-home) main .dmark{width: 44px; height: 44px;}
body:not(.is-home) main .dmark-d{}
}
body:not(.is-home) main .iv-qa{margin-top: 22px;}
body:not(.is-home) main .iv-item{padding: 28px 0px 26px; border-top: 1px solid var(--rule);}
body:not(.is-home) main .iv-item:first-child{border-top: 0px; padding-top: 4px;}
body:not(.is-home) main .iv-qn{margin-bottom: 6px;}
body:not(.is-home) main .iv-q{font-weight: 600; line-height: 1.4;}
body:not(.is-home) main .iv-a{margin-top: 14px;}
body:not(.is-home) main .iv-who{margin-bottom: 6px;}
@media (max-width: 760px){
body:not(.is-home) main .iv-item{padding: 22px 0px 20px;}
body:not(.is-home) main .iv-item:first-child{padding-top: 2px;}
}
body:not(.is-home) main .iv-archive-page .page-head{max-width: none;}
body:not(.is-home) main .tile-media{position: relative;}
body:not(.is-home) main .dmark{position: absolute; left: 12px; top: 12px; bottom: auto; z-index: 3; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 38px; height: 40px; padding-top: 1px; background: rgba(244, 243, 240, 0.94); border-width: 0px 1px 1px; border-style: none solid solid; border-color: currentcolor rgba(11, 11, 11, 0.14) rgba(11, 11, 11, 0.14); border-image: none; border-radius: 2px; box-shadow: none; line-height: 1; color: var(--ink);}
body:not(.is-home) main .dmark::before{content: ""; position: absolute; left: -1px; right: -1px; top: 0px; height: 2px; background: var(--accent); border-radius: 2px 2px 0px 0px;}
body:not(.is-home) main .dmark-d{font-weight: 600; letter-spacing: 0px; font-variant-numeric: tabular-nums;}
body:not(.is-home) main .dmark-m{font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; padding-left: 0.16em; color: var(--ink-soft);}
@media (max-width: 760px){
body:not(.is-home) main .dmark{left: 10px; top: 10px; width: 34px; height: 36px;}
body:not(.is-home) main .dmark-d{}
body:not(.is-home) main .dmark-m{}
}
body:not(.is-home) main .tile--lead .tile-over,body:not(.is-home) main .home-lead .tile-over{padding-bottom: 16px;}
body:not(.is-home) main .ivc-label{min-height: 1.2em; line-height: 1.2;}
body:not(.is-home) main .ivc-desc{display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; height: calc(6.2em); margin-bottom: 0px;}
body:not(.is-home) main .ivc-title{font-weight: 600; font-size: 18.5px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; min-height: calc(2.56em);}
body:not(.is-home) main .ivc .ivx-read{margin-top: 14px;}
@media (max-width: 760px){
body:not(.is-home) main .ivc-title{font-size: 17.5px; min-height: 0px;}
}
body:not(.is-home) main .home-lead .tile--feat .tile-over.feat-over{position: absolute; left: 0px; right: 0px; bottom: 0px; padding: 16px 22px 17px; background: rgba(11, 11, 11, 0.72); height: auto;}
body:not(.is-home) main .feat-tag{margin: 0px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; line-height: 1.2; color: rgba(244, 243, 240, 0.82);}
body:not(.is-home) main .feat-who{color: inherit;}
body:not(.is-home) main .feat-title{margin: 7px 0px 0px; font-size: clamp(20px, 1.9vw, 26px); font-weight: 600; line-height: 1.22; letter-spacing: 0px; text-transform: none; max-width: 40ch;}
body:not(.is-home) main .feat-title a{color: rgb(244, 243, 240); text-decoration: none;}
body:not(.is-home) main .feat-title a:hover{color: var(--accent);}
body:not(.is-home) main .home-lead .tile--featcard{background: transparent; display: flex; flex-direction: column;}
body:not(.is-home) main .home-lead .tile--featcard .tile-media{flex: 1 1 auto; min-height: 0px;}
body:not(.is-home) main .home-lead .tile--featcard .tile-media .thumb{position: absolute; inset: 0px; aspect-ratio: auto; height: 100%;}
body:not(.is-home) main .home-lead .tile--featcard .thumb img{width: 100%; height: 100%; object-fit: cover; object-position: var(--focal,50% 30%);}
body:not(.is-home) main .featcard-text .feat-tag{color: var(--ink-soft);}
body:not(.is-home) main .featcard-title{margin: 6px 0px 0px; font-size: 17px; font-weight: 600; line-height: 1.3; letter-spacing: 0px;}
body:not(.is-home) main .featcard-title a{color: var(--ink); text-decoration: none;}
body:not(.is-home) main .featcard-title a:hover{color: var(--accent);}
@media (min-width: 761px){
body:not(.is-home) main .home-lead.home-lead--2{grid-template-columns: minmax(0px, 2fr) minmax(0px, 1fr); grid-template-rows: auto;}
body:not(.is-home) main .home-lead.home-lead--2 > .tile--primary{grid-area: 1 / 1; aspect-ratio: 3 / 2;}
body:not(.is-home) main .home-lead--2 .tile--primary .tile-media{position: relative; height: 100%;}
body:not(.is-home) main .home-lead--2 .tile--primary .tile-media .thumb{position: absolute; inset: 0px; aspect-ratio: auto; height: 100%;}
body:not(.is-home) main .home-lead--2 .tile--primary .thumb img{width: 100%; height: 100%; object-fit: cover; object-position: var(--focal,50% 30%);}
body:not(.is-home) main .home-lead.home-lead--2 > .tile--featcard:nth-child(2){grid-area: 1 / 2;}
}
@media (min-width: 761px) and (max-width: 1023px){
body:not(.is-home) main .home-lead.home-lead--2{grid-template-columns: minmax(0px, 3fr) minmax(0px, 2fr);}
body:not(.is-home) main .feat-title{font-size: 19px;}
}
@media (max-width: 760px){
body:not(.is-home) main .home-lead.home-lead--2{grid-template-columns: minmax(0px, 1fr);}
body:not(.is-home) main .home-lead--2 .tile--primary .tile-media .thumb{aspect-ratio: 1 / 1;}
body:not(.is-home) main .home-lead .tile--feat .tile-over.feat-over{padding: 11px 14px 12px;}
body:not(.is-home) main .feat-tag{font-size: 12px; letter-spacing: 0.08em;}
body:not(.is-home) main .feat-title{margin-top: 5px; font-size: 17px; line-height: 1.25;}
body:not(.is-home) main .home-lead .tile--featcard{flex-direction: row; align-items: center; gap: 14px;}
body:not(.is-home) main .home-lead .tile--featcard .tile-media{flex: 0 0 40%; aspect-ratio: 4 / 3;}
body:not(.is-home) main .featcard-title{font-size: 15.5px;}
}
body:not(.is-home) main .dmark{left: 10px; top: 10px; width: auto; height: auto; min-width: 0px; padding: 5px 6px; background: rgba(11, 11, 11, 0.42); backdrop-filter: blur(3px); border: 0px; border-radius: 1px; color: rgb(244, 243, 240); gap: 0px;}
body:not(.is-home) main .dmark::before{content: none;}
body:not(.is-home) main .dmark-d{font-weight: 600; letter-spacing: 0px; line-height: 1;}
body:not(.is-home) main .dmark-m{position: relative; font-weight: 600; letter-spacing: 0.08em; color: rgba(244, 243, 240, 0.86);}
body:not(.is-home) main .dmark-m::before{content: ""; position: absolute; left: 50%; top: -4.5px; width: 10px; height: 1px; margin-left: -5px; background: var(--accent);}
@media (max-width: 760px){
body:not(.is-home) main .dmark{left: 8px; top: 8px; width: auto; height: auto; padding: 4px 5px;}
body:not(.is-home) main .dmark-d{}
body:not(.is-home) main .dmark-m{}
}
body:not(.is-home) main .ag-when{display: flex; align-items: baseline; gap: 10px; margin: 7px 0px 0px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft); line-height: 1.2;}
body:not(.is-home) main .ag-when b{font-size: 13px; font-weight: 600; letter-spacing: 0px; color: var(--ink);}
body:not(.is-home) main .ag-when time{display: inline-flex; align-items: baseline; gap: 5px; padding-right: 10px;}
body:not(.is-home) main .ag-when span{font-weight: 600; letter-spacing: 0.08em;}
@media (max-width: 760px){
body:not(.is-home) main .home-break{}
}
body:not(.is-home) main .home-lead--2 .tile--featcard .tile-media{flex: 1 1 auto; min-height: 180px;}
body:not(.is-home) main .featcard-title{display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;}
body:not(.is-home) main .tile--featcard .ivx-read{margin-top: 10px;}
@media (max-width: 760px){
body:not(.is-home) main .home-lead .tile--featcard{flex-direction: row; align-items: flex-start; gap: 12px;}
body:not(.is-home) main .home-lead .tile--featcard .tile-media{flex: 0 0 38%; aspect-ratio: 4 / 5; min-height: 0px;}
body:not(.is-home) main .featcard-title{font-size: 15.5px; margin-top: 5px;}
body:not(.is-home) main .tile--featcard .ivx-read{margin-top: 8px;}
body:not(.is-home) main .tile--featcard .dmark{left: 6px; top: 6px;}
}
body:not(.is-home) main .home-feat{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 12px;}
body:not(.is-home) main .home-feat .tile--feat{position: relative; background: rgb(11, 11, 11); min-width: 0px;}
body:not(.is-home) main .home-feat .tile--feat .tile-media{position: relative;}
body:not(.is-home) main .home-feat .tile--feat .tile-media .thumb{display: block; aspect-ratio: 4 / 5;}
body:not(.is-home) main .home-feat .tile--feat .thumb img{width: 100%; height: 100%; object-fit: cover; object-position: var(--focal,50% 30%); transition: opacity 0.2s;}
body:not(.is-home) main .home-feat .tile--feat:hover .thumb img{opacity: 0.94;}
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over{position: absolute; left: 0px; right: 0px; bottom: 0px; height: auto; padding: 14px 18px 16px; background: rgba(11, 11, 11, 0.72);}
body:not(.is-home) main .home-feat .feat-title{line-height: 1.28; margin-top: 6px; max-width: none; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;}
@media (min-width: 761px) and (max-width: 1023px){
body:not(.is-home) main .home-feat{gap: 10px;}
body:not(.is-home) main .home-feat .feat-title{}
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over{padding: 11px 13px 12px;}
}
@media (max-width: 760px){
body:not(.is-home) main .home-feat{grid-template-columns: minmax(0px, 1fr); gap: 10px;}
body:not(.is-home) main .home-feat .tile--feat .tile-media .thumb{aspect-ratio: 1 / 1;}
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over{padding: 11px 14px 12px;}
}
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over{top: auto; bottom: 0px; height: 25%; display: flex; flex-direction: column; justify-content: flex-start; padding: 20px 20px 0px; background: rgba(11, 11, 11, 0.66); backdrop-filter: blur(6px); overflow: hidden;}
body:not(.is-home) main .home-feat .feat-tag{font-size: 12px; font-weight: 600; letter-spacing: 0.08em; color: rgba(244, 243, 240, 0.78);}
body:not(.is-home) main .home-feat .feat-title{margin-top: 8px; line-height: 1.3; letter-spacing: 0px; -webkit-line-clamp: 2;}
@media (min-width: 761px) and (max-width: 1023px){
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over{padding: 12px 13px 0px;}
body:not(.is-home) main .home-feat .feat-title{margin-top: 6px;}
}
@media (max-width: 760px){
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over{height: 28%; padding: 13px 14px 0px;}
body:not(.is-home) main .home-feat .feat-tag{font-size: 12px;}
body:not(.is-home) main .home-feat .feat-title{margin-top: 6px;}
}
@media (max-width: 760px){
body:not(.is-home) main .home-feat{gap: 8px;}
body:not(.is-home) main .home-feat .tile--feat .tile-media .thumb{aspect-ratio: 4 / 3;}
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over{height: 30%; padding: 11px 14px 0px;}
body:not(.is-home) main .home-feat .feat-tag{font-size: 12px; letter-spacing: 0.08em;}
body:not(.is-home) main .home-feat .feat-title{line-height: 1.28; margin-top: 5px;}
}
body:not(.is-home) main .feat-intro{display: none;}
@media (max-width: 760px){
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over{height: 35%; padding: 9px 14px 0px;}
body:not(.is-home) main .home-feat .feat-title{margin-top: 3px; line-height: 1.25;}
body:not(.is-home) main .feat-intro{display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; margin: 3px 0px 0px; font-size: 12px; font-weight: 400; line-height: 1.35; color: rgba(244, 243, 240, 0.74);}
}
@media (min-width: 420px) and (max-width: 760px){
body:not(.is-home) main .feat-intro{-webkit-line-clamp: 2;}
}
@media (max-width: 760px){
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over{height: auto; padding: 8px 14px 9px;}
body:not(.is-home) main .home-feat .feat-title{margin-top: 2px;}
body:not(.is-home) main .feat-intro{margin-top: 2px; -webkit-line-clamp: 1;}
}
@media (min-width: 420px) and (max-width: 760px){
body:not(.is-home) main .feat-intro{-webkit-line-clamp: 1;}
}
@media (max-width: 760px){
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over{height: 27%; padding: 0px 0px 9px; display: flex; flex-flow: column wrap; place-content: flex-start flex-end; overflow: hidden;}
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over > *{width: 100%; flex: 0 0 auto; box-sizing: border-box; padding-left: 14px; padding-right: 14px;}
body:not(.is-home) main .home-feat .feat-tag{font-size: 12px; line-height: 1.2; margin: 0px;}
body:not(.is-home) main .home-feat .feat-title{line-height: 1.24; margin-top: 2px;}
body:not(.is-home) main .feat-intro{font-size: 12px; line-height: 1.3; margin: 2px 0px 0px; -webkit-line-clamp: 1;}
}
body:not(.is-home) main .crumbs{width: 1px; height: 1px; padding: 0px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); clip-path: inset(50%); white-space: nowrap; border: 0px; position: absolute !important; margin: 0px !important;}
body:not(.is-home) main .page-head{margin-bottom: 16px;}
body:not(.is-home) main .iv-archive-page .page-head{padding-bottom: 12px;}
body:not(.is-home) main .nw-fig .thumb{display: block; aspect-ratio: 3 / 2;}
body:not(.is-home) main .nw-fig .thumb img{width: 100%; height: 100%; object-fit: cover; object-position: var(--focal,50% 35%);}
body:not(.is-home) main .nw-cat{margin: 11px 0px 0px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent);}
body:not(.is-home) main .nw-title{margin: 6px 0px 0px; font-size: 17px; font-weight: 600; line-height: 1.3; letter-spacing: 0px;}
body:not(.is-home) main .nw-title a{color: var(--ink); text-decoration: none;}
body:not(.is-home) main .nw-title a:hover{color: var(--accent);}
body:not(.is-home) main .nw-by{display: flex; flex-wrap: wrap; align-items: baseline; gap: 0px 8px; margin: 8px 0px 0px; font-size: 12px; line-height: 1.4; color: var(--ink-soft);}
body:not(.is-home) main .nw-who a{color: inherit;}
body:not(.is-home) main .nw-role::before,body:not(.is-home) main .nw-by time::before{content: "·"; margin-right: 8px; color: var(--muted);}
body:not(.is-home) main .nw-by time{font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em;}
body:not(.is-home) main .news .nw-h1{margin: 8px 0px 0px; font-size: clamp(26px, 3.2vw, 38px); font-weight: 600; line-height: 1.15; letter-spacing: 0px;}
body:not(.is-home) main .news .nw-standfirst{margin: 12px 0px 0px; font-size: 18px; line-height: 1.45; color: var(--ink-soft);}
body:not(.is-home) main .news .nw-by{margin-top: 14px; font-size: 13px;}
@media (max-width: 760px){
body:not(.is-home) main .nw-title{font-size: 16.5px;}
}
body:not(.is-home) main .ag-when time{padding: 0px; border: 0px;}
body:not(.is-home) main .pod-no{margin-right: 7px; font-size: 0.72em; font-weight: 600; letter-spacing: 0.08em; color: rgba(244, 243, 240, 0.6); font-variant-numeric: tabular-nums;}
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over{background: rgba(8, 8, 8, 0.64); backdrop-filter: none; height: 27%; padding: 0px 0px 13px; display: flex; flex-flow: column wrap; place-content: flex-start flex-end; overflow: hidden;}
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over > *{width: 100%; flex: 0 0 auto; box-sizing: border-box; padding-left: 18px; padding-right: 18px;}
body:not(.is-home) main .home-feat .feat-tag{font-size: 12px; font-weight: 600; letter-spacing: 0.08em; line-height: 1.2; color: rgba(244, 243, 240, 0.8); margin: 0px;}
body:not(.is-home) main .home-feat .feat-who{margin: 3px 0px 0px; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; line-height: 1.2; color: rgb(244, 243, 240);}
body:not(.is-home) main .home-feat .feat-title{margin-top: 3px; line-height: 1.25; letter-spacing: 0px; -webkit-line-clamp: 2; text-shadow: rgba(0, 0, 0, 0.35) 0px 1px 2px;}
body:not(.is-home) main .home-feat .feat-tag,body:not(.is-home) main .home-feat .feat-who{text-shadow: rgba(0, 0, 0, 0.35) 0px 1px 2px;}
@media (min-width: 761px) and (max-width: 1023px){
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over{height: 30%; padding-bottom: 10px;}
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over > *{padding-left: 12px; padding-right: 12px;}
body:not(.is-home) main .home-feat .feat-title{}
body:not(.is-home) main .home-feat .feat-who{font-size: 12px;}
}
@media (max-width: 760px){
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over{height: 36%; padding: 0px 0px 9px;}
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over > *{padding-left: 14px; padding-right: 14px;}
body:not(.is-home) main .home-feat .feat-tag{font-size: 12px;}
body:not(.is-home) main .home-feat .feat-who{font-size: 12.5px; margin-top: 2px;}
body:not(.is-home) main .home-feat .feat-title{margin-top: 2px;}
body:not(.is-home) main .feat-intro{margin-top: 2px;}
}
@media (min-width: 761px){
body:not(.is-home) main .nav-dd-item a{gap: 3px;}
body:not(.is-home) main .nav-dd-kicker{font-size: 12px; font-weight: 600; letter-spacing: 0.08em; color: rgba(244, 243, 240, 0.55);}
body:not(.is-home) main .nav-dd-name{font-size: 13px; font-weight: 600; line-height: 1.25; letter-spacing: 0px; text-transform: none; color: rgb(244, 243, 240);}
body:not(.is-home) main .nav-dd-title{font-size: 13px; font-weight: 400; line-height: 1.35; letter-spacing: 0px; text-transform: none; color: rgba(244, 243, 240, 0.82); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;}
body:not(.is-home) main .nav-dd-date{margin-top: 2px; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(244, 243, 240, 0.5);}
body:not(.is-home) main .nav-dd-all{margin-top: 16px;}
body:not(.is-home) main .nav-dd-all a{font-size: 12px; font-weight: 600; letter-spacing: 0.08em;}
body:not(.is-home) main .nav-dd-empty{font-size: 12px; text-transform: none; letter-spacing: 0px;}
}
body:not(.is-home) main .home-level--premieres .tile--music,body:not(.is-home) main .home-level--podcasts .tile--music{position: relative; background: rgb(11, 11, 11);}
body:not(.is-home) main .home-level--premieres .tile--music .tile-foot,body:not(.is-home) main .home-level--podcasts .tile--music .tile-foot{position: absolute; left: 0px; right: 0px; bottom: 0px; z-index: 2; background: var(--panel) !important;}
body:not(.is-home) main .home-level--premieres .tile--music .tile-over,body:not(.is-home) main .home-level--podcasts .tile--music .tile-over{background: var(--panel) !important;}
@media (min-width: 761px){
body:not(.is-home) main .home-level--podcasts .tile--music{--mf: clamp(22px,14cqw,34px);}
body:not(.is-home) main .home-level--premieres .tile--music{--mf: clamp(20px,12.5cqw,30px);}
body:not(.is-home) main .home-level--premieres .tile--music .tile-foot,body:not(.is-home) main .home-level--podcasts .tile--music .tile-foot{height: var(--mf);}
body:not(.is-home) main .home-level--premieres .tile--music .tile-over,body:not(.is-home) main .home-level--podcasts .tile--music .tile-over{bottom: var(--mf);}
body:not(.is-home) main .home-level--premieres .tile--music .tile-media .thumb,body:not(.is-home) main .home-level--podcasts .tile--music .tile-media .thumb{display: block;}
}
@media (max-width: 760px){
body:not(.is-home) main .home-level--premieres .tile--music .tile-over,body:not(.is-home) main .home-level--podcasts .tile--music .tile-over{bottom: var(--mfoot);}
}
body:not(.is-home) main .tile-over--pod{grid-template-rows: auto;}
body:not(.is-home) main .tile-over--pod .tile-tag{margin: 0px; font-weight: 600; color: rgba(244, 243, 240, 0.82);}
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over{left: 4%; right: 4%; bottom: 4%; width: auto; height: auto; min-height: 21%; padding: 11px 0px 12px; background: var(--panel); justify-content: center;}
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over > *{padding-left: 14px; padding-right: 14px;}
@media (min-width: 761px) and (max-width: 1023px){
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over{min-height: 26%; height: auto; padding: 9px 0px 10px;}
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over > *{padding-left: 10px; padding-right: 10px;}
}
@media (max-width: 760px){
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over{left: 3%; right: 3%; bottom: 4%; height: auto; min-height: 34%; padding: 8px 0px 9px;}
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over > *{padding-left: 12px; padding-right: 12px;}
body:not(.is-home) main .home-feat .feat-intro{display: none;}
}
@media (min-width: 1024px) and (max-width: 1279px){
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over{min-height: 26%;}
}
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over{inset: auto 0px 0px; width: auto; display: block; background: var(--panel); overflow: hidden; height: auto !important; min-height: 0px !important; padding: 10px 16px 11px !important;}
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over > *{width: auto; padding-left: 0px !important; padding-right: 0px !important;}
body:not(.is-home) main .home-feat .feat-tag{margin: 0px; font-size: 12px; font-weight: 600; letter-spacing: 0.08em; line-height: 1.25; color: rgba(244, 243, 240, 0.8); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
body:not(.is-home) main .home-feat .feat-sep{color: rgba(244, 243, 240, 0.5);}
body:not(.is-home) main .home-feat .feat-who{display: inline; margin: 0px; font-size: inherit; font-weight: 600; letter-spacing: inherit; color: rgb(244, 243, 240);}
body:not(.is-home) main .home-feat .feat-title{display: block; margin: 4px 0px 0px; line-height: 1.3; white-space: nowrap; overflow: visible; -webkit-line-clamp: unset;}
body:not(.is-home) main .home-feat .feat-intro{display: none !important;}
@media (max-width: 1023px){
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over{padding: 9px 12px 10px !important;}
body:not(.is-home) main .home-feat .feat-title{}
}
@media (max-width: 760px){
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over{padding: 8px 12px 9px !important;}
body:not(.is-home) main .home-feat .feat-tag{font-size: 12px;}
body:not(.is-home) main .home-feat .feat-title{margin-top: 3px;}
}
body:not(.is-home) main .nw-fig .thumb{aspect-ratio: 4 / 3;}
body:not(.is-home) main .nw-meta{display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; margin: 9px 0px 0px; font-size: 12px; font-weight: 600; letter-spacing: 0.08em; line-height: 1.2; color: var(--ink-soft);}
body:not(.is-home) main .nw-meta-i{display: inline-flex; align-items: center; gap: 6px; white-space: nowrap;}
body:not(.is-home) main .nw-meta a{color: var(--ink);}
body:not(.is-home) main .nw-meta a:hover{color: var(--accent);}
body:not(.is-home) main .nw-meta time{text-transform: uppercase; letter-spacing: 0.08em;}
body:not(.is-home) main .nw-cat{margin: 0px;}
body:not(.is-home) main .nw-title{margin: 8px 0px 0px; font-size: clamp(20px, 1.9vw, 26px); font-weight: 600; line-height: 1.22; letter-spacing: 0px; max-width: 24ch;}
body:not(.is-home) main .nw-by{display: none;}
@media (max-width: 760px){
body:not(.is-home) main .nw-title{font-size: 19px; max-width: none;}
}
body:not(.is-home) main .news .nw-meta--article{margin: 12px 0px 0px; font-size: 12px;}
body:not(.is-home) main .nw-meta .nw-role{margin-left: 8px; font-weight: 400; color: var(--muted);}
body:not(.is-home) main .nw-meta .nw-role::before{content: "·"; margin-right: 8px;}
body:not(.is-home) main .home-feat .feat-who{display: block; margin: 4px 0px 0px; font-size: 12.5px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; line-height: 1.2; color: rgb(244, 243, 240); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
body:not(.is-home) main .home-feat .feat-title{margin-top: 4px;}
@media (max-width: 760px){
body:not(.is-home) main .home-feat .feat-who{font-size: 12px; margin-top: 3px;}
body:not(.is-home) main .home-feat .feat-title{margin-top: 3px;}
}
body:not(.is-home) main{--t-cat-size: 12px; --t-cat-weight: 600; --t-cat-track: .08em; --t-meta-size: 12px; --t-meta-weight: 500; --t-meta-track: .08em; --t-head-card: 15px; --t-head-list: clamp(19px,1.7vw,23px); --t-h1: clamp(24px,2.3vw,30px); --t-head-weight: 500; --t-head-lh: 1.22; --s-1: 6px; --s-2: 12px; --s-3: 18px;}
body:not(.is-home) main .nw-cat,body:not(.is-home) main .news .kicker{font-size: var(--t-cat-size); font-weight: var(--t-cat-weight); letter-spacing: var(--t-cat-track); text-transform: uppercase; color: var(--accent); margin: 0px;}
body:not(.is-home) main .nw-meta,body:not(.is-home) main .news .nw-meta--article{font-size: var(--t-meta-size); font-weight: var(--t-meta-weight); letter-spacing: var(--t-meta-track);}
body:not(.is-home) main .nw-title{margin-top: var(--s-1); font-size: var(--t-head-list); font-weight: var(--t-head-weight); line-height: var(--t-head-lh);}
body:not(.is-home) main .news .nw-h1{margin: var(--s-1) 0 0; font-size: var(--t-h1); font-weight: var(--t-head-weight); line-height: var(--t-head-lh); letter-spacing: 0px; max-width: 30ch;}
body:not(.is-home) main .news .nw-standfirst{margin-top: var(--s-2); font-size: 17px;}
body:not(.is-home) main .news .nw-meta--article{margin-top: var(--s-2);}
body:not(.is-home) main .news-body{margin-top: 24px;}
body:not(.is-home) main .nw-meta{margin-top: var(--s-1);}
@media (max-width: 760px){
body:not(.is-home) main .news .nw-h1{font-size: 23px;}
}
body:not(.is-home) main .nw-title{max-width: none;}
body:not(.is-home) main .prose strong,body:not(.is-home) main .prose b{font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-weight: 700; color: inherit; letter-spacing: inherit;}
body:not(.is-home) main .home-feat .feat-who{text-transform: none; letter-spacing: 0px; font-size: var(--t-card-name); font-weight: 600;}
body:not(.is-home) main .tile-title,body:not(.is-home) main .tile-sub,body:not(.is-home) main .prem-title,body:not(.is-home) main .pod-guest,body:not(.is-home) main .embed-title,body:not(.is-home) main .ag-card-title,body:not(.is-home) main .ag-card-sub,body:not(.is-home) main .lead-title,body:not(.is-home) main .lead-track,body:not(.is-home) main .pc-artist,body:not(.is-home) main .pc-title,body:not(.is-home) main .page-sub,body:not(.is-home) main .ag-artist,body:not(.is-home) main .ag-city,body:not(.is-home) main .ag-venue,body:not(.is-home) main .iv-who,body:not(.is-home) main .nav-dd-title,body:not(.is-home) main .nav-dd-sub,body:not(.is-home) main .nav-dd-name,body:not(.is-home) main .ivc-label,body:not(.is-home) main .ivf-artist,body:not(.is-home) main .ivc-artist{text-transform: none; font-stretch: 100%;}
body:not(.is-home) main .tile-title,body:not(.is-home) main .prem-title,body:not(.is-home) main .pod-guest,body:not(.is-home) main .ag-card-title,body:not(.is-home) main .embed-title{font-weight: 600; letter-spacing: 0px;}
body:not(.is-home) main .tile-sub{letter-spacing: 0px; font-weight: 400;}
body:not(.is-home) main .ag-artist,body:not(.is-home) main .ag-city,body:not(.is-home) main .ag-venue,body:not(.is-home) main .ag-card-sub,body:not(.is-home) main .pc-artist,body:not(.is-home) main .iv-who{letter-spacing: 0px;}
body:not(.is-home) main .lead-title,body:not(.is-home) main .pc-title{font-weight: 600; letter-spacing: 0px; line-height: 1.15; font-size: clamp(24px, 2.4vw, 32px);}
body:not(.is-home) main .lead-track{letter-spacing: 0px;}
body:not(.is-home) main .pc-artist{font-size: 14px; font-weight: 600;}
body:not(.is-home) main .ivc-label{font-size: var(--t-card-name); font-weight: 600; letter-spacing: 0px; color: var(--ink);}
body:not(.is-home) main .ivc-title{font-size: var(--t-card-title); font-weight: var(--t-card-weight); line-height: 1.3;}
body:not(.is-home) main .ivc-desc{font-size: 14px;}
body:not(.is-home) main .nw-title{font-weight: var(--t-card-weight);}
body:not(.is-home) main .page-title{font-size: clamp(22px, 2.2vw, 28px); font-weight: 600; letter-spacing: 0px;}
body:not(.is-home) main .home-level > .section-title,body:not(.is-home) main .section-title{font-weight: 600;}
body:not(.is-home) main .iv-head{position: relative; margin: 0px; background: rgb(11, 11, 11);}
body:not(.is-home) main .iv-head-media .thumb{aspect-ratio: 3 / 2;}
body:not(.is-home) main .iv-head-media .thumb img{object-position: var(--focal,50% 30%);}
body:not(.is-home) main .iv-panel{position: absolute; left: 0px; right: 0px; bottom: 0px; padding: 14px 22px 16px; background: var(--panel,rgba(8,8,8,.6)); color: rgb(244, 243, 240);}
body:not(.is-home) main .iv-panel .feat-tag{font-size: 12px; font-weight: 600; letter-spacing: 0.08em; color: rgba(244, 243, 240, 0.8); margin: 0px;}
body:not(.is-home) main .iv-name{margin: 5px 0px 0px; text-transform: none; color: rgb(244, 243, 240);}
body:not(.is-home) main .iv-ptitle{margin: 4px 0px 0px; font-size: var(--t-card-title,16px); font-weight: 400; line-height: 1.3; color: rgb(244, 243, 240);}
body:not(.is-home) main .iv-pintro{margin: 6px 0px 0px; max-width: 68ch; font-size: 15px; font-weight: 400; line-height: 1.5; color: rgba(244, 243, 240, 0.9);}
body:not(.is-home) main .interview .iv-body{margin-top: 8px;}
body:not(.is-home) main .interview .iv-qa .iv-item:first-child{border-top: 0px; padding-top: 18px;}
@media (max-width: 1023px){
body:not(.is-home) main .iv-head-media .thumb{aspect-ratio: 4 / 3;}
}
@media (max-width: 760px){
body:not(.is-home) main .iv-head-media .thumb{aspect-ratio: 4 / 5;}
body:not(.is-home) main .iv-panel{position: static; padding: 12px 14px 14px; background: rgb(20, 20, 20);}
body:not(.is-home) main .iv-panel .feat-tag{font-size: 12px;}
body:not(.is-home) main .iv-pintro{font-size: 14px;}
body:not(.is-home) main .interview .iv-qa .iv-item:first-child{padding-top: 14px;}
}
body:not(.is-home) main .interview .iv-q{font-size: 18px; font-weight: 600; line-height: 1.4; letter-spacing: 0px;}
body:not(.is-home) main .interview .iv-qa .iv-item:first-child{padding-top: 10px;}
@media (max-width: 760px){
body:not(.is-home) main .interview .iv-q{font-size: 16.5px;}
}
body:not(.is-home) main .home-feat--news{row-gap: 12px;}
@media (max-width: 760px){
body:not(.is-home) main .home-feat--news{row-gap: 10px;}
}
body:not(.is-home) main .home-feat .feat-ex{margin: 10px 0px 0px; font-size: 14px; font-weight: 400; line-height: 1.5; color: var(--ink-soft); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;}
@media (max-width: 760px){
body:not(.is-home) main .home-feat .feat-ex{font-size: 13.5px; margin-top: 8px;}
}
body:not(.is-home) main .home-feat--news .tile--feat{background: transparent;}
body:not(.is-home) main .home-feat--news .tile--feat .tile-media{background: rgb(11, 11, 11);}
body:not(.is-home) main .home-feat .feat-who{font-size: 14.5px; line-height: 1.25;}
body:not(.is-home) main .home-feat .feat-title{line-height: 1.3; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;}
@media (min-width: 761px) and (max-width: 1023px){
body:not(.is-home) main .home-feat .feat-title{}
body:not(.is-home) main .home-feat .feat-who{font-size: 14px;}
}
@media (max-width: 760px){
body:not(.is-home) main .home-feat .feat-title{}
body:not(.is-home) main .home-feat .feat-who{font-size: 14px;}
}
body:not(.is-home) main .home-feat--news .tile--feat .tile-media .thumb,body:not(.is-home) main .home-feat--news .tile--feat .thumb{aspect-ratio: 4 / 3;}
body:not(.is-home) main .home-feat .feat-ex{display: none;}
@media (min-width: 761px){
body:not(.is-home) main .tile--music .tile-title{font-size: clamp(13.5px, 8.8cqw, 20.5px);}
body:not(.is-home) main .tile--music .tile-foot .tile-title--foot{font-size: clamp(12px, 7.2cqw, 17.5px);}
body:not(.is-home) main .tile--music .tile-foot .tile-sub{font-size: clamp(12px, 6.8cqw, 15.5px);}
}
@media (min-width: 1024px){
body:not(.is-home) main .home-level--premieres .tile--music .tile-title{font-size: clamp(12px, 7.6cqw, 18.5px);}
}
@media (max-width: 760px){
body:not(.is-home) main .home-level--premieres .tile--music .tile-title,body:not(.is-home) main .home-level--podcasts .tile--music .tile-title{font-size: clamp(12px, 9.8cqw, 12.5px);}
}
body:not(.is-home) main .iv-ptitle{font-size: 18px;}
@media (max-width: 760px){
body:not(.is-home) main .home-feat--news .tile--feat .tile-media .thumb{aspect-ratio: 16 / 10;}
}
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over{position: absolute; inset: auto 0px 0px; display: grid; grid-template-columns: minmax(0px, 1fr); grid-template-rows: auto auto auto; place-content: start stretch; justify-items: stretch; row-gap: 4px; background: var(--panel,rgba(8,8,8,.6)); height: auto !important; min-height: 0px !important; padding: 10px 16px 11px !important;}
body:not(.is-home) main .home-feat .tile--feat .feat-over > *{margin: 0px; padding: 0px; position: static;}
body:not(.is-home) main .home-feat .feat-tag{height: 1.25em; line-height: 1.25em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
body:not(.is-home) main .home-feat .feat-who{height: 1.25em; line-height: 1.25em;}
body:not(.is-home) main .home-feat .feat-title{height: 2.6em; line-height: 1.3em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; white-space: normal;}
@media (max-width: 1023px){
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over{padding: 9px 12px 10px !important;}
}
body:not(.is-home) main .home-feat .tile--feat .tile-over.feat-over{box-shadow: rgba(244, 243, 240, 0.16) 0px 1px 0px inset;}
body:not(.is-home) main{--t-feat-tag: 12px; --t-feat-title: 16.5px;}
@media (max-width: 760px){
body:not(.is-home) main{--t-feat-tag: 12px; --t-feat-title: 16px;}
}
body:not(.is-home) main .home-feat .feat-tag{font-size: var(--t-feat-tag);}
body:not(.is-home) main .feat-full{position: relative; margin: 0px 0px 12px; background: rgb(11, 11, 11); color: rgb(244, 243, 240); overflow: hidden;}
body:not(.is-home) main .feat-full-media{position: relative; height: clamp(364px, -119px + 70svh, 602px);}
body:not(.is-home) main .feat-full-media .thumb{display: block; width: 100%; height: 100%; aspect-ratio: auto;}
body:not(.is-home) main .feat-full-media .thumb img{object-position: var(--focal,50% 40%);}
body:not(.is-home) main .feat-full-panel{position: absolute; left: 0px; right: 0px; bottom: 0px; padding: 14px 18px 16px; background: rgba(8, 8, 8, 0.64); box-shadow: rgba(244, 243, 240, 0.16) 0px 1px 0px inset; color: rgb(244, 243, 240);}
body:not(.is-home) main .feat-full-panel > *{max-width: none;}
body:not(.is-home) main .feat-full .feat-tag{margin: 0px; font-size: var(--t-feat-tag); font-weight: 600; letter-spacing: 0.08em; line-height: 1.25; color: rgba(244, 243, 240, 0.8); text-shadow: rgba(0, 0, 0, 0.35) 0px 1px 2px;}
body:not(.is-home) main .feat-full .feat-who{margin: 4px 0px 0px; font-size: var(--t-card-name); font-weight: 600; line-height: 1.25; color: rgb(244, 243, 240);}
body:not(.is-home) main .feat-full .feat-title{margin: 4px 0px 0px; max-width: none; font-size: var(--t-feat-title); font-weight: var(--t-card-weight,400); line-height: 1.3; letter-spacing: 0px; text-transform: none; text-shadow: rgba(0, 0, 0, 0.35) 0px 1px 2px; overflow-wrap: break-word;}
body:not(.is-home) main .feat-full .feat-title a{color: rgb(244, 243, 240); text-decoration: none; border: 0px; background: none;}
body:not(.is-home) main .feat-full .feat-title a:hover{color: var(--accent);}
body:not(.is-home) main .feat-full-intro{margin: 6px 0px 0px; max-width: none; font-size: var(--t-card-name); line-height: 1.4; color: rgba(244, 243, 240, 0.86);}
@media (min-width: 761px) and (max-width: 1023px){
body:not(.is-home) main .feat-full-media{height: clamp(294px, -119px + 70svh, 448px);}
body:not(.is-home) main .feat-full-panel{padding: 12px 12px 13px;}
}
@media (max-width: 760px){
body:not(.is-home) main .feat-full{margin-bottom: 10px;}
body:not(.is-home) main .feat-full-media{height: auto;}
body:not(.is-home) main .feat-full-media .thumb{aspect-ratio: 4 / 5; height: auto;}
body:not(.is-home) main .feat-full-panel{padding: 11px 14px 13px;}
body:not(.is-home) main .feat-full-intro{font-size: 13px;}
}
body:not(.is-home) main .news--head .nw-head{margin: 16px 0px 0px;}
body:not(.is-home) main .news--head .nw-head .feat-title{color: rgb(244, 243, 240);}
body:not(.is-home) main .news--head .nw-head + .nw-meta,body:not(.is-home) main .news--head .nw-head ~ .nw-byline{margin-top: 20px;}
body:not(.is-home) main .interview .prose,body:not(.is-home) main .feature .prose{font-size: 15px;}
body:not(.is-home) main .interview .iv-q{font-size: 15px; line-height: 1.7;}
body:not(.is-home) main .nw-gal{position: relative; margin: 64px 0px; min-width: 0px;}
body:not(.is-home) main .nw-gal picture,body:not(.is-home) main .nw-gal img{display: block; width: 100%; height: auto;}
body:not(.is-home) main .nw-gal img{object-fit: cover; object-position: var(--focal,50% 50%); background: rgb(11, 11, 11);}
body:not(.is-home) main .nw-gal-cap{position: absolute; left: 0px; right: 0px; bottom: 0px; display: flex; flex-direction: column; gap: 4px; padding: 14px 20px 15px; background: var(--panel,rgba(8,8,8,.6)); box-shadow: rgba(244, 243, 240, 0.16) 0px 1px 0px inset; color: rgb(244, 243, 240);}
body:not(.is-home) main .nw-gal-head{display: block; padding-left: 12px; border-left: 2px solid var(--accent); font-size: var(--t-card-title,18px); font-weight: var(--t-card-weight,400); line-height: 1.35; color: rgb(244, 243, 240); overflow-wrap: break-word;}
body:not(.is-home) main .nw-gal-cap .credit{margin: 0px; font-size: 12px; line-height: 1.35; color: rgba(244, 243, 240, 0.74);}
body:not(.is-home) main .nw-gal-head + .credit{padding-left: 14px;}
body:not(.is-home) main .news-hero > .nw-gal-cap{margin: 0px;}
body:not(.is-home) main .nw-pair--right > .nw-gal{order: 2;}
body:not(.is-home) main .nw-pair > .nw-gal{margin: 0px;}
body:not(.is-home) main .nw-pair .nw-gal-cap{padding: 10px 12px 11px;}
body:not(.is-home) main .nw-pair .nw-gal-head{padding-left: 10px; font-size: var(--t-feat-title,16px); line-height: 1.3;}
@media (min-width: 761px) and (max-width: 1023px){
body:not(.is-home) main .nw-gal{margin: 52px 0px;}
}
@media (max-width: 560px){
body:not(.is-home) main .nw-pair--right > .nw-gal{order: 0;}
}
@media (max-width: 760px){
body:not(.is-home) main .nw-gal{margin: 40px 0px;}
body:not(.is-home) main .nw-gal-cap{padding: 10px 12px 11px;}
body:not(.is-home) main .nw-gal-head{padding-left: 10px; font-size: 15px; line-height: 1.3;}
}
body:not(.is-home) main .consent{position: fixed; left: 0px; right: 0px; bottom: 0px; z-index: 60; padding: 0px 16px 16px; pointer-events: none;}
body:not(.is-home) main .consent[hidden]{display: none;}
body:not(.is-home) main .consent-in{pointer-events: auto; max-width: 1184px; margin: 0px auto; display: flex; align-items: center; gap: 16px 28px; padding: 16px 18px; background: rgba(8, 8, 8, 0.94); color: rgb(244, 243, 240); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 28px;}
body:not(.is-home) main .consent-text{margin: 0px; flex: 1 1 auto; font-size: 13px; line-height: 1.5; color: rgba(244, 243, 240, 0.9);}
body:not(.is-home) main .consent-text a{color: rgb(244, 243, 240); text-decoration: underline; text-underline-offset: 2px;}
body:not(.is-home) main .consent-actions{display: flex; gap: 10px; flex: 0 0 auto;}
body:not(.is-home) main .consent-btn{min-width: 112px; padding: 10px 16px; border: 1px solid rgba(244, 243, 240, 0.75); background: transparent; color: rgb(244, 243, 240); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; cursor: pointer;}
body:not(.is-home) main .consent-btn:hover,body:not(.is-home) main .consent-btn:focus-visible{background: rgb(244, 243, 240); color: rgb(11, 11, 11);}
@media (max-width: 760px){
body:not(.is-home) main .consent{padding: 0px 8px 8px;}
body:not(.is-home) main .consent-in{flex-direction: column; align-items: stretch; padding: 14px;}
body:not(.is-home) main .consent-actions{display: grid; grid-template-columns: 1fr 1fr;}
body:not(.is-home) main .consent-btn{min-width: 0px;}
}
body:not(.is-home) main .footer-consent{display: inline-block; padding: 8px 0px; border: 0px; background: none; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft); cursor: pointer;}
body:not(.is-home) main .footer-consent:hover{color: var(--accent);}
body:not(.is-home) main .ecm-playlist--facade{display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; text-align: center;}
body:not(.is-home) main .ecm-playlist-name{margin: 0px;}
body:not(.is-home) main .ecm-playlist-load{padding: 12px 20px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-weight: 600; text-transform: uppercase; cursor: pointer;}
body:not(.is-home) main .ecm-playlist-note{margin: 0px; max-width: 44ch; line-height: 1.5;}
body:not(.is-home) main .ecm-playlist-note a{text-decoration: underline;}
body:not(.is-home) main .iv-video-frame iframe{position: absolute; inset: 0px; width: 100%; height: 100%; border: 0px;}
body:not(.is-home) main .iv-video-poster ~ .iv-video-load .iv-video-label{padding: 5px 10px; background: rgba(18, 18, 18, 0.6);}
body:not(.is-home) main .iv-video-label{font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em;}
body:not(.is-home) main .iv-video-note a{color: inherit; text-decoration: underline;}
body:not(.is-home) main{--fs-label: 12px; --fs-data: 13px; --fs-link: 14px; --fs-small: 15px; --fs-read: 17px; --fs-card: 18px; --fs-q: 20px; --fs-section: 22px; --t-ficha: clamp(30px,2.9vw,40px); --t-iv: clamp(28px,2.6vw,36px); --t-list: clamp(26px,2.3vw,32px); --t-lead: clamp(22px,2vw,28px); --wide: 94%; --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 24px; --sp-6: 32px; --sp-7: 48px; --sp-8: 64px;}
body:not(.is-home) main .interview .iv-qa,body:not(.is-home) main .interview .iv-body > .prose{max-width: 640px;}
body:not(.is-home) main .interview .iv-qa .iv-item{margin: var(--sp-6) 0 0; padding: var(--sp-7) 0 0; border-top: 1px solid var(--rule);}
body:not(.is-home) main .interview .iv-qa .iv-item:first-child{margin-top: 0px; padding-top: var(--sp-5); border-top: 0px;}
body:not(.is-home) main .interview .iv-q{margin: var(--sp-2) 0 0; font-size: var(--fs-q); font-weight: 600; font-stretch: var(--wide); line-height: 1.35; letter-spacing: 0px;}
body:not(.is-home) main .interview .iv-a{margin-top: var(--sp-4);}
body:not(.is-home) main .interview .iv-who{margin: 0 0 var(--sp-2); font-size: var(--fs-data); font-weight: 400; line-height: 1.4; text-transform: none; letter-spacing: 0px; color: var(--muted);}
body:not(.is-home) main .interview .iv-a .prose,body:not(.is-home) main .interview .iv-body > .prose{font-size: var(--fs-read); line-height: 1.6;}
body:not(.is-home) main .interview .iv-a .prose > :last-child{margin-bottom: 0px;}
body:not(.is-home) main .detail .page-title,body:not(.is-home) main .detail--premieres .lead-title{font-size: var(--t-ficha); font-weight: 700; font-stretch: var(--wide); line-height: 1.08; letter-spacing: 0px; text-transform: none;}
body:not(.is-home) main .detail .page-title-sub{display: block; margin-top: var(--sp-2); font-size: var(--fs-q); font-weight: 400; font-stretch: 100%; line-height: 1.3; letter-spacing: 0px; text-transform: none; color: var(--ink-soft);}
body:not(.is-home) main .page-head .page-title{font-size: var(--t-list); font-weight: 700; font-stretch: var(--wide); line-height: 1.1; letter-spacing: 0px; text-transform: none;}
body:not(.is-home) main .iv-name{font-size: var(--t-iv); font-weight: 700; font-stretch: var(--wide); line-height: 1.08; letter-spacing: 0px;}
body:not(.is-home) main .home-latest .feat-full .feat-title{font-size: var(--t-lead); font-weight: 600; font-stretch: var(--wide); line-height: 1.2;}
body:not(.is-home) main .home-feat .feat-title{font-size: var(--fs-card); font-weight: 600;}
body:not(.is-home) main .home-feat .feat-who{font-size: var(--t-lead); font-weight: 600;}
body:not(.is-home) main .feat-full-intro,body:not(.is-home) main .home-feat--3 .feat-title{font-size: var(--t-card-name); font-weight: 400; font-stretch: 100%; line-height: 1.4;}
@media (max-width: 760px){
body:not(.is-home) main .feat-full-intro,body:not(.is-home) main .home-feat--3 .feat-title{font-size: 13px;}
}
body:not(.is-home) main .meta dt{font-size: var(--fs-data); font-weight: 400; text-transform: none; letter-spacing: 0px; color: var(--muted);}
body:not(.is-home) main .meta dd{font-size: var(--fs-small);}
body:not(.is-home) main .footer-legal a,body:not(.is-home) main .footer-consent,body:not(.is-home) main .footer-bar .copy{font-size: var(--fs-data); text-transform: none; letter-spacing: 0px;}
body:not(.is-home) main .home-empty{font-size: var(--fs-small); text-transform: none; letter-spacing: 0px;}
body:not(.is-home) main .lead-track,body:not(.is-home) main .page-sub{text-transform: none; letter-spacing: 0px;}
body:not(.is-home) main .lead-info{font-size: var(--fs-small); font-weight: 400; text-transform: none; letter-spacing: 0px;}
body:not(.is-home) main .dmark-d{font-size: 15px;}
body:not(.is-home) main .dmark-m{margin-top: 5px; font-size: var(--fs-label);}
body:not(.is-home) main .home-level--premieres .home-grid4,body:not(.is-home) main .home-level--podcasts .home-grid4{display: grid; grid-template-columns: repeat(5, minmax(0px, 1fr)); gap: var(--sp-5) var(--sp-4);}
body:not(.is-home) main .home-level--premieres .home-grid4 > *,body:not(.is-home) main .home-level--podcasts .home-grid4 > *{display: block;}
body:not(.is-home) main .home-level--premieres .home-grid4 > :nth-child(n+6),body:not(.is-home) main .home-level--podcasts .home-grid4 > :nth-child(n+6){display: none;}
@media (max-width: 1023px){
body:not(.is-home) main .home-level--premieres .home-grid4,body:not(.is-home) main .home-level--podcasts .home-grid4{grid-template-columns: repeat(3, minmax(0px, 1fr));}
body:not(.is-home) main .home-level--premieres .home-grid4 > :nth-child(-n+6),body:not(.is-home) main .home-level--podcasts .home-grid4 > :nth-child(-n+6){display: block;}
body:not(.is-home) main .home-level--premieres .home-grid4 > :nth-child(n+7),body:not(.is-home) main .home-level--podcasts .home-grid4 > :nth-child(n+7){display: none;}
}
@media (max-width: 560px){
body:not(.is-home) main .home-level--premieres .home-grid4,body:not(.is-home) main .home-level--podcasts .home-grid4{grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: var(--sp-5) var(--sp-3);}
}
@media (min-width: 761px) and (max-width: 1023px){
body:not(.is-home) main .home-feat--3:not(.home-feat--news){grid-template-columns: repeat(2, minmax(0px, 1fr));}
body:not(.is-home) main .home-feat--3:not(.home-feat--news) > :first-child{grid-column: 1 / -1;}
body:not(.is-home) main .home-feat--3:not(.home-feat--news) > :first-child .tile-media .thumb{aspect-ratio: 3 / 2;}
body:not(.is-home) main .feat-full + .home-feat--3:not(.home-feat--news){grid-template-columns: repeat(3, minmax(0px, 1fr));}
body:not(.is-home) main .feat-full + .home-feat--3:not(.home-feat--news) > :first-child{grid-column: auto;}
body:not(.is-home) main .feat-full + .home-feat--3:not(.home-feat--news) > :first-child .tile-media .thumb{aspect-ratio: revert-layer;}
}
@media (min-width: 761px){
body:not(.is-home) main .home-feat--news.home-feat--2{grid-template-columns: repeat(2, minmax(0px, 1fr));}
}
body:not(.is-home) main .ag-cards--n1{display: block; max-width: none;}
body:not(.is-home) main .ag-solo-title a{color: var(--ink);}
body:not(.is-home) main .ag-solo-title a:hover{text-decoration: underline;}
@media (min-width: 1024px){
body:not(.is-home) main .detail--podcasts .detail-grid,body:not(.is-home) main .detail--artists .detail-grid{grid-template-columns: minmax(0px, 2fr) minmax(0px, 3fr);}
body:not(.is-home) main .detail--premieres .lead{grid-template-columns: minmax(0px, 2fr) minmax(0px, 3fr);}
}
body:not(.is-home) main .detail-main .related,body:not(.is-home) main .lead-body .related{margin-top: var(--sp-7); padding-top: var(--sp-5); border-top: 1px solid var(--rule-strong);}
body:not(.is-home) main .detail-main .latest-grid,body:not(.is-home) main .lead-body .latest-grid{grid-template-columns: minmax(0px, 1fr); gap: var(--sp-6);}
body:not(.is-home) main .detail-main .latest-grid .col + .col,body:not(.is-home) main .lead-body .latest-grid .col + .col{border-left: 0px; padding-left: 0px; border-top: 1px solid var(--rule); padding-top: var(--sp-5);}
body:not(.is-home) main .lead-body .prem-text{max-width: none; margin-top: var(--sp-6);}
body:not(.is-home) main .list:not(.list--plain) .mini{flex: 0 0 64px; width: 64px; height: 64px;}
body:not(.is-home) main .list:not(.list--plain) .txt strong{display: block; font-size: var(--fs-small); font-weight: 600; line-height: 1.3; text-transform: none; letter-spacing: 0px; color: var(--ink);}
body:not(.is-home) main .list:not(.list--plain) .txt em{display: block; font-style: normal; font-size: var(--fs-small); font-weight: 400; line-height: 1.3; text-transform: none; letter-spacing: 0px; color: var(--ink-soft);}
body:not(.is-home) main .list:not(.list--plain) .txt em + em{font-size: var(--fs-data); color: var(--muted);}
body:not(.is-home) main .mtile-media .thumb{display: block; width: 100%; height: auto; aspect-ratio: 1 / 1;}
body:not(.is-home) main .mtile-title a{color: var(--ink);}
body:not(.is-home) main .mtile-title a:hover{text-decoration: underline; text-underline-offset: 3px;}
body:not(.is-home) main .home-level--playlist{width: auto; max-width: none; margin-left: 0px; margin-right: 0px;}
body:not(.is-home) main .ecm-playlist{width: 100%; max-width: none; border-radius: 0px; overflow: hidden;}
body:not(.is-home) main .ecm-playlist:not(.ecm-playlist--facade){background: rgb(18, 18, 18);}
body:not(.is-home) main .ecm-playlist iframe{border-radius: 0px;}
body:not(.is-home) main .ecm-playlist--facade{height: auto; min-height: 220px; padding: var(--sp-6) var(--sp-5); border: 1px solid var(--rule-strong); border-radius: 0px; background: transparent; color: var(--ink);}
body:not(.is-home) main .ecm-playlist-name{color: var(--ink); font-size: var(--fs-card); font-weight: 600;}
body:not(.is-home) main .ecm-playlist-load{border: 1px solid var(--ink); background: transparent; color: var(--ink); font-size: var(--fs-label); letter-spacing: 0.08em;}
body:not(.is-home) main .ecm-playlist-load:hover,body:not(.is-home) main .ecm-playlist-load:focus-visible{background: var(--ink); color: var(--bg);}
body:not(.is-home) main .ecm-playlist-note{font-size: var(--fs-data); color: var(--ink-soft);}
body:not(.is-home) main .ecm-playlist-note a{color: var(--ink);}
body:not(.is-home) main .arrow{color: inherit;}
body:not(.is-home) main .dmark::before,body:not(.is-home) main .dmark-m::before{content: none;}
body:not(.is-home) main .ag-when time{border-right: 0px;}
body:not(.is-home) main .prose a{text-decoration-color: var(--ink-soft);}
body:not(.is-home) main .prose blockquote,body:not(.is-home) main .nw-gal-head{border-left-color: var(--ink);}
body:not(.is-home) main .ed-kicker,body:not(.is-home) main .ivc-kind,body:not(.is-home) main .iv-split-meta,body:not(.is-home) main .embed-kicker,body:not(.is-home) main .connect-act,body:not(.is-home) main .nw-cat{color: var(--ink-soft);}
body:not(.is-home) main .main-nav > ul > li > a{display: inline-flex; align-items: center; padding: 10px 0px; border-bottom: 2px solid transparent; font-size: 12px; font-weight: 600; line-height: 1.2; text-transform: uppercase; letter-spacing: 0.1em; color: var(--cream); white-space: nowrap; transition: color 0.2s, border-color 0.2s;}
body:not(.is-home) main .main-nav > ul > li > a:hover{color: var(--accent-night); border-bottom-color: var(--accent-night);}
body:not(.is-home) main .main-nav > ul > li > a[aria-current="page"]{border-bottom-color: var(--accent-night);}
body:not(.is-home) main .nav-toggle-bars span{display: block; height: 1.5px; background: var(--cream); transition: transform 0.2s, opacity 0.2s;}
body:not(.is-home) main .nav-toggle[aria-expanded="true"] .nav-toggle-bars span:nth-child(1){transform: translateY(6.25px) rotate(45deg);}
body:not(.is-home) main .nav-toggle[aria-expanded="true"] .nav-toggle-bars span:nth-child(2){opacity: 0;}
body:not(.is-home) main .nav-toggle[aria-expanded="true"] .nav-toggle-bars span:nth-child(3){transform: translateY(-6.25px) rotate(-45deg);}
body:not(.is-home) main .main-nav a:focus-visible,body:not(.is-home) main .menu-panel a:focus-visible,body:not(.is-home) main .brand:focus-visible,body:not(.is-home) main .nav-toggle:focus-visible,body:not(.is-home) main .header-search:focus-visible{outline: 2px solid var(--cream); outline-offset: 3px;}
@media (max-width: 1023px){
body:not(.is-home) main .menu-panel a,body:not(.is-home) main .main-nav.open a{display: block; padding: 12px 0px; font-size: 14px; font-weight: 600; line-height: 1.2; text-transform: uppercase; letter-spacing: 0.1em; color: var(--cream); border: 0px;}
body:not(.is-home) main .menu-panel a:hover,body:not(.is-home) main .menu-panel a[aria-current="page"],body:not(.is-home) main .main-nav.open a:hover,body:not(.is-home) main .main-nav.open a[aria-current="page"]{color: var(--accent-night);}
}
@media (max-width: 760px){
body:not(.is-home) main .main-nav.open > ul > li > a{display: block; border: 0px;}
}
body:not(.is-home) main .section-title{margin: 0px 0px 16px; padding: 0px; font-size: var(--fs-sec); font-weight: 700; font-stretch: var(--wide); line-height: 1.2; text-transform: uppercase; letter-spacing: 0.12em;}
body:not(.is-home) main .section-title::after{content: none;}
body:not(.is-home) main .sec-head .section-title{margin: 0px;}
body:not(.is-home) main .home-latest{padding-top: 28px;}
body:not(.is-home) main .home-latest > .home-level + .home-level{margin-top: var(--section);}
body:not(.is-home) main .arrow{display: inline-flex; transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);}
body:not(.is-home) main .arrow svg{display: block; width: 14px; height: 10px;}
body:not(.is-home) main .home-headall,body:not(.is-home) main .view-all,body:not(.is-home) main .section-head .cta{position: static; display: inline-flex; align-items: center; gap: 8px; min-height: var(--tap); margin: -14px 0px; padding: 0px; border: 0px; background: none; font-size: 14px; font-weight: 500; line-height: 1.2; text-transform: none; letter-spacing: 0px; color: var(--ink); text-decoration: none; white-space: nowrap;}
body:not(.is-home) main .home-headall:hover,body:not(.is-home) main .view-all:hover,body:not(.is-home) main .section-head .cta:hover{color: var(--accent); background: none;}
body:not(.is-home) main .col-head h2,body:not(.is-home) main .col-head h3{font-size: var(--fs-sec); font-weight: 700; font-stretch: var(--wide); text-transform: uppercase; letter-spacing: 0.12em;}
body:not(.is-home) main .cta{display: inline-flex; align-items: center; gap: 10px; min-height: var(--tap); padding: 0px 20px; border: 1px solid var(--ink); background: transparent; font-size: 12px; font-weight: 700; line-height: 1.2; text-transform: uppercase; letter-spacing: 0.12em; color: var(--ink); text-decoration: none; transition: background 0.2s, color 0.2s;}
body:not(.is-home) main .cta:hover{background: var(--ink); color: var(--cream);}
body:not(.is-home) main .feat .cta{min-height: 24px; padding: 0px; border: 0px; font-weight: 600; letter-spacing: 0.08em;}
body:not(.is-home) main .feat .cta:hover{background: none; color: var(--accent);}
body:not(.is-home) main .meta-line time{white-space: nowrap;}
html body:not(.is-home):not(.is-home) main .detail .page-title,html body:not(.is-home):not(.is-home) main .detail--premieres .lead-title,html body:not(.is-home):not(.is-home) main .iv-name,html body:not(.is-home):not(.is-home) main .page-head .page-title{font-weight: 800; font-stretch: var(--wide); letter-spacing: -0.02em; line-height: 1.04; text-wrap: balance;}
html body:not(.is-home):not(.is-home) main .page-head .page-title{line-height: 1.06;}
html body:not(.is-home):not(.is-home) main .news .nw-head .feat-title{font-size: var(--t-iv); font-weight: 800; font-stretch: var(--wide); line-height: 1.04; letter-spacing: -0.02em; text-wrap: balance;}
html body:not(.is-home):not(.is-home) main .card-grid .feat-title,html body:not(.is-home):not(.is-home) main .ivc-title,html body:not(.is-home):not(.is-home) main .home-feat--news .feat-title{font-weight: 700; font-stretch: var(--wide); letter-spacing: -0.01em;}
html body:not(.is-home):not(.is-home) main .card-grid .feat-title{line-height: 1.12;}
html body:not(.is-home):not(.is-home) main .ivc-title,html body:not(.is-home):not(.is-home) main .home-feat--news .feat-title{font-size: var(--fs-card);}
html body:not(.is-home):not(.is-home) main .ag-card-title{font-size: 20px; font-weight: 800; font-stretch: var(--wide); letter-spacing: -0.02em; line-height: 1.04;}
html body:not(.is-home):not(.is-home) main .prem-title,html body:not(.is-home):not(.is-home) main .pod-guest,html body:not(.is-home):not(.is-home) main .feed-title{font-weight: 700; font-stretch: var(--wide); letter-spacing: -0.01em; line-height: 1.2;}
html body:not(.is-home):not(.is-home) main .prem-title span,html body:not(.is-home):not(.is-home) main .feed-title span{font-weight: 400; font-stretch: 100%; letter-spacing: 0px;}
html body:not(.is-home):not(.is-home) main .interview .iv-q,html body:not(.is-home):not(.is-home) main .news-body h2{font-size: var(--fs-q); font-weight: 700; font-stretch: var(--wide); line-height: 1.25; letter-spacing: -0.01em;}
html body:not(.is-home):not(.is-home) main .news .feat-full-intro,html body:not(.is-home):not(.is-home) main .iv-pintro,html body:not(.is-home):not(.is-home) main .page-intro{font-size: 16px; line-height: 1.5;}
html body:not(.is-home):not(.is-home) main .feed-text{font-size: var(--fs-small); line-height: 1.4;}
html body:not(.is-home):not(.is-home) main .ivc-desc{font-size: var(--fs-small);}
html body:not(.is-home):not(.is-home) main .ag-card-sub{font-size: 14px; line-height: 1.4;}
html body:not(.is-home):not(.is-home) main :is(.crumbs li, .feat-tag, .kicker, .lead-meta, .feat-meta, .feed-kicker, .feed-meta, .feed-act, .prem-kicker, .prem-meta, .pod-kicker, .pod-meta, .ag-card-meta, .pager-count, .ps-label, .iv-video-label, .ivx-read),html body:not(.is-home):not(.is-home) main :is(.crumbs li, .feat-tag, .kicker, .lead-meta, .feat-meta, .feed-kicker, .feed-meta, .prem-kicker, .prem-meta, .pod-kicker, .pod-meta, .ag-card-meta) :is(a, span, time){letter-spacing: 0.1em; line-height: 1.3;}
html body:not(.is-home):not(.is-home) main .ivc-kind{font-size: var(--fs-label); font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; line-height: 1.3;}
html body:not(.is-home):not(.is-home) main .nw-meta .nw-meta-i{letter-spacing: 0px;}
html body:not(.is-home):not(.is-home) main .nw-meta time{letter-spacing: 0.1em;}
html body:not(.is-home):not(.is-home) main .pod-num{font-weight: 800; font-stretch: 125%; letter-spacing: -0.02em;}
@media (max-width: 760px){
html body:not(.is-home):not(.is-home) main .news .feat-full-intro,html body:not(.is-home):not(.is-home) main .iv-pintro,html body:not(.is-home):not(.is-home) main .page-intro{font-size: 15px;}
html body:not(.is-home):not(.is-home) main .card-grid .feat-title{font-size: 20px;}
}
html body:not(.is-home):not(.is-home) main .news .feat-full-panel .feat-tag{color: var(--accent-night);}
html body:not(.is-home):not(.is-home) main .news .feat-full-intro{color: rgba(244, 243, 240, 0.86);}
html body:not(.is-home):not(.is-home) main .interview .iv-head{background: none;}
html body:not(.is-home):not(.is-home) main .interview .iv-panel{position: static; padding: 20px 0px 0px; background: none; color: var(--ink);}
html body:not(.is-home):not(.is-home) main .interview .iv-panel .feat-tag{color: var(--accent);}
html body:not(.is-home):not(.is-home) main .interview .iv-name,html body:not(.is-home):not(.is-home) main .interview .iv-ptitle{color: var(--ink);}
html body:not(.is-home):not(.is-home) main .interview .iv-pintro{color: var(--ink-soft);}
@media (max-width: 760px){
html body:not(.is-home):not(.is-home) main .interview .iv-panel{padding: 16px 0px 0px;}
}
html body:not(.is-home):not(.is-home) main .interview .iv-q strong{font-weight: inherit;}
html body:not(.is-home):not(.is-home) main .news .nw-meta .nw-meta-i{font-size: 14px; font-weight: 600; color: var(--ink);}
html body:not(.is-home):not(.is-home) main .news .nw-meta .nw-role{font-weight: 400; color: var(--ink-soft);}
html body:not(.is-home):not(.is-home) main .news .nw-meta time{font-size: 12px; font-weight: 600; line-height: 1.3; letter-spacing: 0.1em; color: var(--accent);}
@media (max-width: 760px){
html body:not(.is-home):not(.is-home) main .news .nw-head .feat-title{font-size: 22px; line-height: 1.08;}
html body:not(.is-home):not(.is-home) main .news .feat-full-intro{font-size: 14px; line-height: 1.45;}
}
html body:not(.is-home):not(.is-home) main .news .nw-head{background: none;}
html body:not(.is-home):not(.is-home) main .news .nw-head .feat-full-media::after{content: none; display: none; background: none;}
html body:not(.is-home):not(.is-home) main .news .nw-head .feat-full-panel{position: static; padding: 20px 0px 0px; background: none; box-shadow: none; color: var(--ink);}
html body:not(.is-home):not(.is-home) main .news .nw-head .feat-full-panel .feat-tag{color: var(--accent); text-shadow: none;}
html body:not(.is-home):not(.is-home) main .news .nw-head .feat-title{color: var(--ink); text-shadow: none;}
html body:not(.is-home):not(.is-home) main .news .nw-head .feat-full-intro{color: var(--ink-soft); text-shadow: none;}
@media (max-width: 760px){
html body:not(.is-home):not(.is-home) main .news .nw-head .feat-full-panel{padding: 16px 0px 0px;}
}
body:not(.is-home) main .nw-gal .nw-gal-cap{position: static; padding: 8px 0px 0px; background: none; color: var(--ink); text-shadow: none;}
body:not(.is-home) main .nw-gal .nw-gal-cap *{color: inherit; text-shadow: none;}
body:not(.is-home) main .home-feat .tile--feat .tile-media{display: grid; grid-template-columns: minmax(0px, 1fr); background: none; overflow: visible;}
body:not(.is-home) main .home-feat .tile--feat .tile-media > .thumb{order: 0; background: rgb(11, 11, 11);}
body:not(.is-home) main .home-feat .tile--feat .tile-media .tile-over.feat-over{order: 1; position: static; inset: auto; width: auto; background: none; box-shadow: none; backdrop-filter: none; height: auto !important; min-height: 0px !important; padding: 12px 0px 0px !important;}
body:not(.is-home) main .home-feat .tile--feat .tile-media .tile-over.feat-over .feat-tag{color: var(--accent); text-shadow: none;}
body:not(.is-home) main .home-feat .tile--feat .tile-media .tile-over.feat-over .feat-title,body:not(.is-home) main .home-feat .tile--feat .tile-media .tile-over.feat-over .feat-title a{color: var(--ink); text-shadow: none;}
body:not(.is-home) main .home-feat .tile--feat .tile-media .dmark{order: 2;}
body:not(.is-home) main .tile-media .dmark,body:not(.is-home) main .ivc-fig .dmark{position: static; inset: auto; display: flex; flex-direction: row; align-items: baseline; justify-content: flex-start; place-self: start; text-align: left; gap: 4px; width: auto; height: auto; margin: 8px 0px 0px; padding: 0px; background: none; color: var(--accent); text-shadow: none; backdrop-filter: none;}
body:not(.is-home) main .tile-media .dmark *,body:not(.is-home) main .ivc-fig .dmark *{color: inherit; margin: 0px; text-shadow: none;}

/* ═══ HOMEPAGE CAROUSELS — desktop (≥1024px) ════════════════════════════════════════════════════
   Premieres and Podcasts: one horizontal row, 5 cards in view (same card size as before), the rest
   reached with the arrows next to "All premieres" / "All podcasts". Interviews: the same 3-up row,
   scrollable with arrows only when it holds more cards than fit. Tablet and phone keep their
   published layouts and show the same 5 cards as before; the arrows are desktop only. */
@media (max-width:1023px){
  .is-home .home-level--premieres .home-grid4 > :nth-child(n+6),.is-home .home-level--podcasts .home-grid4 > :nth-child(n+6){display:none}
}
.is-home .car-nav{display:none}
@media (min-width:1024px){
  .is-home .home-level--premieres .home-grid4,.is-home .home-level--podcasts .home-grid4{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 4 * var(--sp-4)) / 5);column-gap:var(--sp-4);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}
  .is-home .home-level--premieres .home-grid4 > *,.is-home .home-level--podcasts .home-grid4 > *{display:block;scroll-snap-align:start}
  .is-home .hc-row--feat{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 2 * var(--hc-gap)) / 3);column-gap:var(--hc-gap);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}
  .is-home .hc-row--feat > .tile--feat{scroll-snap-align:start}
  .is-home .home-level--premieres .home-grid4::-webkit-scrollbar,.is-home .home-level--podcasts .home-grid4::-webkit-scrollbar,.is-home .hc-row--feat::-webkit-scrollbar{display:none}
  .is-home .car-nav{display:flex;gap:6px;align-items:center}
  .is-home .car-nav[hidden]{display:none}
  .is-home .sec-head .car-nav{margin:-8px 16px -8px auto;align-self:center}
  .is-home .car-nav--row{justify-content:flex-end;margin-top:6px}
  .is-home .car-btn{width:36px;height:36px;border:1px solid currentColor}
  .is-home .car-btn svg{display:block;width:14px;height:10px}
  .is-home .car-btn[data-dir="-1"] svg{transform:scaleX(-1)}
  .is-home .car-btn:hover:not(:disabled){background:var(--ink);color:var(--cream);border-color:var(--ink)}
  .is-home .car-btn:disabled{opacity:.3}
  .is-home .home-night .car-btn{color:var(--cream)}
  .is-home .home-night .car-btn:hover:not(:disabled){background:var(--cream);color:var(--night);border-color:var(--cream)}
}

/* ═══ FEATURED — two independent carousels: MAIN FEATURED (full-screen items, one per slide, arrows in
   the Featured head) and SMALL FEATURES (one row, arrows underneath). Arrows desktop only, as above. ═══ */
.is-home .feat-main{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}
.is-home .feat-main::-webkit-scrollbar{display:none}
.is-home .feat-main > .feat-full{min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.is-home .feat-main + .hc-row{margin-top:var(--hc-gap)}
@media (min-width:1024px){ .is-home .sec-head .car-nav:last-child{margin-right:0} }
/* phone: the small features keep one card per screen, as before */
@media (max-width:560px){
  .is-home .home-latest .hc-row--feat{gap:var(--sp-3);margin-left:0;margin-right:0;padding:0;scroll-padding:0;scrollbar-width:none}
  .is-home .home-latest .hc-row--feat::-webkit-scrollbar{display:none}
  .is-home .home-latest .hc-row--feat > .tile--feat{flex:0 0 100%;width:auto;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
}

/* Interviews listing card: the artist line sits right under the category */
body:not(.is-home) .ivc .ivc-label + .ivc-artist{margin-top:4px}

/* Interviews listing card: date and category on one orange line; artist name at the homepage card size */
body:not(.is-home) .ivc .ivc-when{display:flex;flex-wrap:wrap;align-items:baseline;margin:8px 0 0;color:var(--accent)}
body:not(.is-home) .ivc .ivc-when .dmark{margin:0}
body:not(.is-home) .ivc .ivc-when .sep{margin:0 6px;font-size:12px;font-weight:600;color:var(--accent)}
body:not(.is-home) .ivc .ivc-when .ivc-kind{color:var(--accent)}
body:not(.is-home) .ivc .ivc-artist{font-size:22px;font-weight:700;font-stretch:94%;line-height:1.1;letter-spacing:-.01em;color:var(--ink)}
@media (max-width:760px){ body:not(.is-home) .ivc .ivc-artist{font-size:20px} }
/* Interviews listing card: category first, then the date, in the homepage meta style (INTERVIEW · 07 OCT) */
body:not(.is-home) .ivc .ivc-when .ivc-kind{order:-2}
body:not(.is-home) .ivc .ivc-when .sep{order:-1}
body:not(.is-home) .ivc .ivc-when .dmark{gap:.3em}
body:not(.is-home) .ivc .ivc-when .dmark-d,body:not(.is-home) .ivc .ivc-when .dmark-m{font-size:12px;font-weight:600;line-height:1.3;letter-spacing:.1em;text-transform:uppercase}
body:not(.is-home) .ivc .ivc-when .dmark{align-self:baseline}

/* Podcasts listing: episode number in orange; the duration (first item of the info column) is not shown */
html body:not(.is-home) main .pod-row .pod-num{color:var(--accent)}
body:not(.is-home) main .pod-row .pod-meta > span:first-child{display:none}
/* Homepage Podcasts cards: the number alone, without the "No." prefix */
.is-home .home-level--podcasts .pod-num > span{display:none}

/* ═══ Cookie consent banner + "Cookie settings" (GA4, P1.5) — the banner and the footer sit outside <main>,
   so these rules are not scoped. "Cookie settings" takes the production footer-link style. ═══ */
.consent { position: fixed; left: 0px; right: 0px; bottom: 0px; z-index: 60; padding: 0px 16px 16px; pointer-events: none; }
.consent[hidden] { display: none; }
.consent-in { pointer-events: auto; max-width: 1184px; margin: 0px auto; display: flex; align-items: center; gap: 16px 28px; padding: 16px 18px; background: rgba(8, 8, 8, 0.94); color: rgb(244, 243, 240); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 28px; }
.consent-text { margin: 0px; flex: 1 1 auto; font-size: 13px; line-height: 1.5; color: rgba(244, 243, 240, 0.9); }
.consent-text a { color: rgb(244, 243, 240); text-decoration: underline; text-underline-offset: 2px; }
.consent-actions { display: flex; gap: 10px; flex: 0 0 auto; }
.consent-btn { min-width: 112px; padding: 10px 16px; border: 1px solid rgba(244, 243, 240, 0.75); background: transparent; color: rgb(244, 243, 240); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; cursor: pointer; }
.consent-btn:hover, .consent-btn:focus-visible { background: rgb(244, 243, 240); color: rgb(11, 11, 11); }
@media (max-width:760px){
  .consent { padding: 0px 8px 8px; }
  .consent-in { flex-direction: column; align-items: stretch; padding: 14px; }
  .consent-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .consent-btn { min-width: 0px; }
}
.footer-consent{display:inline-block;padding:8px 0;border:0;background:none;font:inherit;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);cursor:pointer}
.footer-consent:hover{color:var(--accent)}

/* ═══ AUDIT 26/10 — production port (taste-skill audit, approved points). Everything below is additive;
   the homepage keeps its structure and editorial order. Areas: A images · B type & heads ·
   C archive cards · D Agenda · E Podcasts · F article heads · G touch targets · H masthead ═══ */

/* A · Images: while a real image loads, its frame shows the paper tone, not a black block
   (on the night band and the dark hero it stays dark). Placeholders for items WITHOUT an image
   (.thumb--default and the other named placeholders) are left as they were. */
:root{--ph:var(--frame)}
.thumb--image,.mini--image,.ag-poster,.hc-media{background:var(--ph)}
.home-feat .tile--feat .tile-media > .thumb.thumb--image,.is-home .hc-media{background:var(--ph)}
.is-home .home-night .thumb--image,.is-home .home-night .mini--image,.is-home .home-night .mtile-media{background:#1a1a1a}
.feat-full .thumb--image,.is-home .home-latest .feat-full .thumb--image{background:var(--night)}
/* the news article head shares .feat-full but sits on the paper since the no-overlay pass */
html body:not(.is-home):not(.is-home) main .news .nw-head .thumb--image,.nw-gal img,.nw-fig{background:var(--ph)}
/* production only: interior frames have a dark base (body:not(.is-home) main .thumb); the paper tone
   takes over at the same weight for real images, dark heads stay dark */
body:not(.is-home) main .thumb--image,body:not(.is-home) main .mini--image{background:var(--ph)}
body:not(.is-home) main .feat-full .thumb--image{background:var(--night)}

/* B · One type system for every interior page (homepage = reference) ---------------------------- */
/* headlines and names keep the case written in the CMS: never forced to capitals */
:is(.page-title,.feat-title,.ag-card-title,.ag-solo-title,.iv-name,.iv-ptitle,.prem-title,.pod-guest,.hc-line,.lead-title,.tile-title,.nw-h1){text-transform:none}
/* archive heads (News, Interviews, Premieres, Podcasts, Agenda…): title + one-line intro, same size
   and spacing everywhere; sub-sections use the homepage section head (rule + capitals) */
html body:not(.is-home):not(.is-home) main .page--archive .page-head{max-width:none;margin:0 0 36px;padding:0;border:0}
html body:not(.is-home):not(.is-home) main .page--archive .page-title{margin:0;font-size:var(--t-list)}
html body:not(.is-home):not(.is-home) main .page--archive .page-intro{margin:10px 0 0;max-width:60ch;font-size:16px;line-height:1.5;color:var(--ink-soft)}
html body:not(.is-home):not(.is-home) main .page--agenda .block{margin:0}
html body:not(.is-home):not(.is-home) main .page--agenda .block + .block{margin-top:var(--section)}
html body:not(.is-home):not(.is-home) main .page--agenda .sec-head{margin-bottom:20px}
/* reading text: news, interviews and features at the same size and leading */
html body:not(.is-home):not(.is-home) main .news .prose,html body:not(.is-home):not(.is-home) main .feature .prose,
html body:not(.is-home):not(.is-home) main .interview .iv-a .prose,html body:not(.is-home):not(.is-home) main .interview .iv-body > .prose{font-size:var(--fs-read);line-height:1.6}
@media (max-width:760px){
  html body:not(.is-home):not(.is-home) main .page--archive .page-head{margin-bottom:24px}
  html body:not(.is-home):not(.is-home) main .page--archive .page-intro{font-size:15px}
  html body:not(.is-home):not(.is-home) main .news .prose,html body:not(.is-home):not(.is-home) main .feature .prose,
  html body:not(.is-home):not(.is-home) main .interview .iv-a .prose,html body:not(.is-home):not(.is-home) main .interview .iv-body > .prose{font-size:16px}
}

/* C · Archive cards = the homepage card (image · name · line · TYPE · DATE), News and Interviews ---- */
html body:not(.is-home):not(.is-home) main .hc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 20px}
html body:not(.is-home):not(.is-home) main .hc-grid.hc-row--2{grid-template-columns:repeat(2,minmax(0,1fr))}
html body:not(.is-home):not(.is-home) main .hc-grid.hc-row--1{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
html body:not(.is-home):not(.is-home) main .hc-grid .tile--feat{display:flex;flex-direction:column;min-width:0;height:auto;background:none}
html body:not(.is-home):not(.is-home) main .hc-grid .hc-media{position:relative;overflow:hidden}
html body:not(.is-home):not(.is-home) main .hc-grid .hc-media .thumb{display:block;aspect-ratio:4 / 5;height:auto}
html body:not(.is-home):not(.is-home) main .hc-grid--news .hc-media .thumb{aspect-ratio:3 / 2}
html body:not(.is-home):not(.is-home) main .hc-grid .hc-media .thumb img{width:100%;height:100%;object-fit:cover;object-position:var(--focal,50% 30%);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
html body:not(.is-home):not(.is-home) main .hc-grid .tile--feat:hover .hc-media .thumb img{transform:scale(1.03)}
html body:not(.is-home):not(.is-home) main .hc-grid .feat-title{display:block;height:auto;max-width:none;margin:14px 0 0;font-size:22px;font-weight:700;font-stretch:var(--wide);line-height:1.1;letter-spacing:-.01em;white-space:normal;overflow:visible;-webkit-line-clamp:unset;text-shadow:none;text-transform:none}
html body:not(.is-home):not(.is-home) main .hc-grid--news .feat-title{font-stretch:105%;line-height:1.18;text-wrap:balance}
html body:not(.is-home):not(.is-home) main .hc-grid .feat-title a{color:var(--ink)}
html body:not(.is-home):not(.is-home) main .hc-grid .feat-title a:hover{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
html body:not(.is-home):not(.is-home) main .hc-grid .hc-line{margin:6px 0 0;font-size:15px;line-height:1.4;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html body:not(.is-home):not(.is-home) main .hc-grid .hc-dek{margin:8px 0 0;font-size:15px;line-height:1.5;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
html body:not(.is-home):not(.is-home) main .hc-grid .meta-line{margin-top:10px}
@media (prefers-reduced-motion:reduce){ html body:not(.is-home):not(.is-home) main .hc-grid .hc-media .thumb img{transition:none} html body:not(.is-home):not(.is-home) main .hc-grid .tile--feat:hover .hc-media .thumb img{transform:none} }
@media (max-width:1023px){
  html body:not(.is-home):not(.is-home) main .hc-grid,html body:not(.is-home):not(.is-home) main .hc-grid.hc-row--1{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}
}
@media (max-width:760px){
  html body:not(.is-home):not(.is-home) main .hc-grid,html body:not(.is-home):not(.is-home) main .hc-grid.hc-row--1,html body:not(.is-home):not(.is-home) main .hc-grid.hc-row--2{grid-template-columns:minmax(0,1fr);gap:32px}
  html body:not(.is-home):not(.is-home) main .hc-grid .feat-title{font-size:20px}
  html body:not(.is-home):not(.is-home) main .hc-grid--news .feat-title{font-size:18px}
}

/* D · Agenda: one event alone takes the homepage Agenda layout (poster | date · name · place ·
   line-up · View event) on /agenda/ and artist / label pages, instead of a card beside empty space */
.ag-cards--solo{display:block;max-width:none}
.ag-cards--solo .ag-solo-item{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:40px;align-items:start}
.ag-cards--solo .ag-poster .thumb{aspect-ratio:4 / 5}
.ag-cards--solo .ag-solo{display:flex;flex-direction:column;padding:4px 0 6px}
.ag-cards--solo .ag-solo-past{margin:0 0 12px;font-size:var(--fs-label);font-weight:600;line-height:1.3;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.ag-cards--solo .ag-solo-date{margin:0;color:var(--accent);text-transform:none;letter-spacing:0}
.ag-cards--solo .ag-solo-date time{display:flex;align-items:flex-end;gap:16px;line-height:.82}
.ag-cards--solo .ag-solo-day{font-size:48px;font-weight:800;font-stretch:125%;letter-spacing:-.04em}
.ag-cards--solo .ag-solo-month{padding-bottom:.35em;font-size:14px;font-weight:700;line-height:1.3;text-transform:uppercase;letter-spacing:.14em}
.ag-cards--solo .ag-solo-month span{display:block;font-weight:600;color:var(--muted)}
.ag-cards--solo .ag-solo-title{max-width:28ch;margin:20px 0 0;font-size:var(--t-lead);font-weight:800;font-stretch:var(--wide);line-height:1.04;letter-spacing:-.02em;text-wrap:balance}
.ag-cards--solo .ag-solo-place{margin:12px 0 0;font-size:16px;color:var(--ink-soft)}
.ag-cards--solo .ag-solo-lineup{max-width:60ch;margin:16px 0 0;font-size:15px;line-height:1.5;color:var(--ink)}
.ag-cards--solo .ag-solo-lineup a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.ag-cards--solo .ag-solo-lineup a:hover{color:var(--accent)}
.ag-cards--solo .ag-solo-cta{margin:24px 0 0}
.ag-cards--solo .ag-poster:hover{opacity:.92}
@media (max-width:760px){
  .ag-cards--solo .ag-solo-item{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:16px}
  .ag-cards--solo .ag-solo-day{font-size:40px}
  .ag-cards--solo .ag-solo-month{font-size:12px}
  .ag-cards--solo .ag-solo-title{margin-top:14px;font-size:20px;overflow-wrap:anywhere}
  .ag-cards--solo .ag-solo-place{margin-top:6px;font-size:14px}
  .ag-cards--solo .ag-solo-lineup{margin-top:10px;font-size:14px}
  .ag-cards--solo .ag-solo-cta{margin-top:16px}
}

/* E · Podcasts archive: two columns on wide screens (as Premieres), artwork back on phones;
   on phones the style is the item left out (duration and date stay), whatever is filled in */
.pod-row .pod-main{align-self:end}
@media (min-width:1024px){
  html body:not(.is-home):not(.is-home) main .pod-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
  html body:not(.is-home):not(.is-home) main .pod-row{grid-template-columns:52px 64px minmax(0,1fr) auto;gap:4px 18px}
  html body:not(.is-home):not(.is-home) main .pod-row .mini{grid-column:2;grid-row:1 / 3}
  html body:not(.is-home):not(.is-home) main .pod-num{grid-column:1;grid-row:1 / 3}
  html body:not(.is-home):not(.is-home) main .pod-main{grid-column:3;grid-row:1}
  html body:not(.is-home):not(.is-home) main .pod-meta{grid-column:3;grid-row:2;align-self:start}
  html body:not(.is-home):not(.is-home) main .pod-listen{grid-column:4;grid-row:1 / 3}
}
/* production only: its rule hiding the first meta item (the empty duration of the old markup) would
   now hide a real value; the new markup prints only the items that are filled in */
@media (min-width:761px){
  html body:not(.is-home):not(.is-home) main .pod-row .pod-meta > span{display:block}
}
@media (max-width:760px){
  html body:not(.is-home):not(.is-home) main .pod-row{grid-template-columns:36px 56px minmax(0,1fr) auto;gap:4px 12px}
  html body:not(.is-home):not(.is-home) main .pod-row .mini{display:block;width:56px;height:56px;grid-column:2;grid-row:1 / 3}
  html body:not(.is-home):not(.is-home) main .pod-num{grid-column:1;grid-row:1 / 3}
  html body:not(.is-home):not(.is-home) main .pod-main{grid-column:3;grid-row:1}
  html body:not(.is-home):not(.is-home) main .pod-meta{grid-column:3;grid-row:2;align-self:start}
  html body:not(.is-home):not(.is-home) main .pod-listen{grid-column:4;grid-row:1 / 3}
  html body:not(.is-home):not(.is-home) main .pod-meta span.pod-dur,html body:not(.is-home):not(.is-home) main .pod-meta span.pod-date{display:inline}
  html body:not(.is-home):not(.is-home) main .pod-meta span.pod-genre{display:none}
}

/* F · News and interview pages: the headline reaches the first screen — the head photograph is
   capped in height (cropped at its CMS focal point), wider than tall on phones */
@media (min-width:761px){
  html body:not(.is-home):not(.is-home) main .news .nw-head .feat-full-media{height:clamp(300px,calc(100svh - 440px),460px)}
  html body:not(.is-home):not(.is-home) main .interview .iv-head-media .thumb{aspect-ratio:auto;height:clamp(300px,calc(100svh - 440px),460px)}
  html body:not(.is-home):not(.is-home) main .interview .iv-head-media .thumb img{width:100%;height:100%;object-fit:cover}
}
@media (max-width:760px){
  html body:not(.is-home):not(.is-home) main .news .nw-head .feat-full-media .thumb,
  html body:not(.is-home):not(.is-home) main .interview .iv-head-media .thumb{aspect-ratio:4 / 3;height:auto}
}

/* G · Touch targets on phones and tablets: at least 44 × 44px, with no change to the layout
   (text links grow their hit area with padding balanced by a negative margin) */
@media (max-width:1023px){
  .is-home .car-btn{width:44px;height:44px}
  .footer-legal a,.footer-consent{display:inline-flex;align-items:center;min-height:44px}
  .is-home .pl-row .ecm-playlist-note a{display:inline-block;padding:14px 0;margin:-14px 0}
  .is-home .mtile-title a,.is-home .hc-row .feat-title a{display:inline-block;padding:14px 0;margin:-14px 0}
  .is-home .hc-row--news .feat-title a{display:inline;padding:0;margin:0}
  .brand{min-height:44px}
}

/* H · Masthead: the wordmark is the homepage h1 (no visual change) and returns on phones,
   next to the logo, so the brand is named in text on every width */
.brand-h1{flex:0 0 auto;margin:0;font-size:inherit;font-weight:inherit;line-height:1;letter-spacing:0}
@media (max-width:760px){
  .brand{gap:8px}
  .brand-type{display:block;max-width:13ch;font-size:10px;line-height:1.25;letter-spacing:.12em}
}

/* I · Interview head (26/10): name and quote one step above the homepage card (22 / 15 px), not two;
   the quote takes a reading measure and balanced line breaks instead of one line the width of the
   column. Interview pages only (.iv-* is rendered only there); weights, colours and images as they were. */
html body:not(.is-home):not(.is-home) main .interview .iv-name{font-size:clamp(26px,2.2vw,30px)}
html body:not(.is-home):not(.is-home) main .interview .iv-ptitle{max-width:36em;font-size:17px;line-height:1.4;text-wrap:balance;overflow-wrap:break-word}
@media (max-width:760px){ html body:not(.is-home):not(.is-home) main .interview .iv-ptitle{font-size:16px} }
/* J · Footer: ECM's own channels as small icons, between the copyright and the legal links
   (config/site.json → social). Same quiet ink as the legal links; touch targets 44 px on phones. */
.footer-socials{display:flex;align-items:center;gap:2px;margin:0;padding:0;list-style:none}
.footer-socials a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--ink-soft)}
.footer-socials a:hover,.footer-socials a:focus-visible{color:var(--accent)}
.footer-socials svg{display:block;width:20px;height:20px}
@media (max-width:1023px){ .footer-socials a{width:44px;height:44px} }

/* K · Masthead: ECM's channels next to the search on wide screens, and inside the open menu on
   tablets and phones. Same cream ink, weights and hairlines as the navigation; no new colours.
   Wide screens: a thin rule separates the utility group (search + channels) from the sections. */
@media (min-width:1180px){
  .site-header .socials{position:relative;order:3;display:flex;align-items:center;margin:0 -10px 0 -10px;padding:0 0 0 13px;list-style:none}
  .site-header .socials::before{content:"";position:absolute;left:0;top:50%;width:1px;height:14px;margin-top:-7px;background:rgba(244,243,240,.22)}
  .site-header .socials li{display:flex}
  .site-header .socials a{display:flex;align-items:center;justify-content:center;width:38px;height:44px;color:rgba(244,243,240,.72);transition:color .15s cubic-bezier(.2,.8,.2,1)}
  .site-header .socials a:hover,.site-header .socials a:focus-visible{color:#f4f3f0}
  .site-header .socials svg{display:block;width:18px;height:18px}
  .site-header .header-search{margin-right:0}
}
/* open menu: one row of channels under the sections, after the same hairline the menu uses */
.nav-socials{display:none}
.main-nav.open .nav-socials,.menu-panel .nav-socials{align-items:center;gap:4px;margin:10px 0 0;padding:10px 0 0;border-top:1px solid rgba(244,243,240,.16)}
.main-nav.open .nav-socials a,.menu-panel .nav-socials a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;color:rgba(244,243,240,.8);letter-spacing:0;transition:color .15s cubic-bezier(.2,.8,.2,1)}
.main-nav.open .nav-socials a:first-child,.menu-panel .nav-socials a:first-child{margin-left:-11px}
.main-nav.open .nav-socials a:hover,.main-nav.open .nav-socials a:focus-visible,.menu-panel .nav-socials a:hover,.menu-panel .nav-socials a:focus-visible{color:var(--accent-night,#e8834a)}
.main-nav.open .nav-socials svg,.menu-panel .nav-socials svg{display:block;width:22px;height:22px}
@media (max-width:760px){ .main-nav.open .nav-socials{display:flex} }
@media (min-width:761px) and (max-width:1179px){ .menu-panel .nav-socials{display:flex} }
/* optical balance: the SoundCloud mark fills less of its box than the other two, so it is scaled up
   a touch wherever the channels appear (masthead, menu, footer) to read at the same weight */
.site-header .socials a[href*="soundcloud.com"] svg,.nav-socials a[href*="soundcloud.com"] svg,.footer-socials a[href*="soundcloud.com"] svg{transform:scale(1.25)}

/* L · Podcasts list on phones: duration and date on one line (narrower thumb and gaps, tighter tracking;
   they still wrap gracefully on very narrow screens). Masthead on wide screens: the sections and search
   sit centred in the bar (brand and channels take equal sides); the channels a touch larger, in the
   night accent. */
@media (max-width:760px){
  html body:not(.is-home):not(.is-home) main .pod-row{grid-template-columns:36px 48px minmax(0,1fr) auto;column-gap:8px}
  html body:not(.is-home):not(.is-home) main .pod-row .mini{width:48px;height:48px}
  html body:not(.is-home):not(.is-home) main .pod-row .pod-meta{column-gap:8px}
  html body:not(.is-home):not(.is-home) main .pod-row .pod-meta>span{letter-spacing:.07em}
}
@media (min-width:1180px){
  .site-header .brand{flex:1 1 0;min-width:max-content}
  .site-header .main-nav{margin-left:0}
  .site-header .socials{flex:1 1 0;justify-content:flex-end;padding-left:0}
  .site-header .socials::before{display:none}
  .site-header .socials a{width:40px;color:var(--accent-night,#e8834a)}
  .site-header .socials a:hover,.site-header .socials a:focus-visible{color:#f4f3f0}
  .site-header .socials svg{width:21px;height:21px}
}

/* M · Masthead, refined: on the home page the brand sits inside its h1, so the equal-sides rule
   targets that wrapper too (the sections stay centred on every page). From 1420px the sections
   read a step larger and the channels get more air, as in the approved mock. */
@media (min-width:1180px){
  .site-header .header-inner > .brand,.site-header .brand-h1{flex:1 1 0;min-width:max-content}
  .site-header .brand-h1 .brand{flex:none;width:max-content}
}
@media (min-width:1420px){
  .site-header .main-nav > ul{gap:34px}
  .site-header .main-nav > ul > li > a{font-size:14px;letter-spacing:.12em}
  .site-header .socials{gap:14px}
  .site-header .socials a{width:44px}
  .site-header .socials svg{width:23px;height:23px}
}
