:root{
  --bg:#11100e;
  --paper:#f1eadc;
  --muted:#aaa294;
  --gold:#d4a43a;
  --line:rgba(241,234,220,.16);
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  background:var(--bg);
  color:var(--paper);
  font-family:"DM Sans",system-ui,sans-serif;
  line-height:1.6;
}

a{color:inherit}

.site-header{
  width:min(1180px,calc(100% - 48px));
  margin:0 auto;
  height:84px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
}

.brand{
  text-decoration:none;
  font-size:12px;
  font-weight:700;
  letter-spacing:.18em;
}

nav{
  display:flex;
  gap:28px;
}

nav a{
  text-decoration:none;
  color:var(--muted);
  font-size:13px;
}

nav a:hover{color:var(--paper)}

main{
  width:min(1180px,calc(100% - 48px));
  margin:0 auto;
}

.hero{
  min-height:620px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  max-width:920px;
}

.eyebrow{
  margin:0 0 18px;
  color:var(--gold);
  font-size:11px;
  font-weight:700;
  letter-spacing:.19em;
}

h1,h2,h3{
  font-family:"Playfair Display",Georgia,serif;
}

h1{
  margin:0;
  font-size:clamp(76px,12vw,158px);
  line-height:.78;
  letter-spacing:-.065em;
}

h1 em{
  color:var(--gold);
  font-weight:700;
}

.hero-copy{
  max-width:640px;
  margin:42px 0 0;
  color:var(--muted);
  font-size:clamp(18px,2vw,23px);
  line-height:1.5;
}

.gold-rule{
  width:72px;
  height:3px;
  background:var(--gold);
  margin-top:42px;
}

.section{
  padding:120px 0;
  border-top:1px solid var(--line);
}

.section-heading{
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:64px;
  align-items:start;
}

.section-heading h2{
  margin:0;
  font-size:clamp(46px,6vw,78px);
  line-height:.98;
  letter-spacing:-.045em;
}

.intro{
  max-width:760px;
  margin:70px 0 0 auto;
  color:var(--muted);
  font-size:19px;
}

.hosts{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  margin-top:70px;
}

.host{
  border-top:2px solid var(--paper);
  padding-top:28px;
}

.host-label{
  color:var(--gold);
  font-size:11px;
  font-weight:700;
  letter-spacing:.2em;
}

.host h3{
  margin:10px 0 26px;
  font-size:52px;
  line-height:1;
}

.host p{
  max-width:520px;
  color:var(--muted);
}

.inline-link{
  display:inline-block;
  margin-top:8px;
  text-decoration:none;
  font-weight:600;
  border-bottom:1px solid var(--gold);
  padding-bottom:3px;
}

.inline-link:hover{color:var(--gold)}

.episodes-section{padding-bottom:150px}

.episode-list{
  margin-top:70px;
  border-top:1px solid var(--line);
}

.episode{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:40px;
  padding:44px 0;
  border-bottom:1px solid var(--line);
}

.episode-number{
  color:var(--gold);
  font-size:13px;
  font-weight:700;
  letter-spacing:.16em;
}

.episode-meta{
  margin:0 0 10px;
  color:var(--muted);
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
}

.episode h3{
  margin:0 0 14px;
  font-size:clamp(32px,4vw,48px);
  line-height:1.05;
}

.episode p:last-child{
  max-width:790px;
  margin-bottom:0;
  color:var(--muted);
}

.episode-player{
  margin-top:26px;
  max-width:790px;
}

.episode-player iframe{
  width:100% !important;
}

footer{
  width:min(1180px,calc(100% - 48px));
  margin:0 auto;
  padding:28px 0 42px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:24px;
  color:var(--muted);
  font-size:12px;
}

@media(max-width:760px){
  .site-header,
  main,
  footer{
    width:min(100% - 32px,1180px);
  }

  .site-header{height:72px}

  nav{gap:18px}

  .brand{font-size:10px}
  nav a{font-size:12px}

  .hero{
    min-height:560px;
    padding:70px 0;
  }

  h1{
    font-size:clamp(68px,22vw,110px);
  }

  .section{
    padding:84px 0;
  }

  .section-heading{
    grid-template-columns:1fr;
    gap:8px;
  }

  .intro{
    margin-top:42px;
  }

  .hosts{
    grid-template-columns:1fr;
    gap:58px;
    margin-top:56px;
  }

  .episode{
    grid-template-columns:52px 1fr;
    gap:18px;
    padding:34px 0;
  }

  footer{
    flex-direction:column;
    padding-bottom:32px;
  }
}


.hero-episode-link{
  margin-top:34px;
  padding:15px 0;
  max-width:640px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:18px;
  align-items:center;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  text-decoration:none;
}

.hero-episode-link span{
  color:var(--gold);
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.hero-episode-link strong{
  font-size:14px;
  font-weight:600;
}

.hero-episode-link:hover strong{
  color:var(--gold);
}

.episode-live-body{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:34px;
  align-items:start;
}

.episode-artwork{
  width:180px;
  aspect-ratio:1;
  object-fit:cover;
  border:1px solid var(--line);
}

.episode-copy{
  min-width:0;
}

@media(max-width:760px){
  .hero-episode-link{
    grid-template-columns:1fr auto;
  }

  .hero-episode-link strong{
    grid-column:1 / -1;
    grid-row:1;
  }

  .hero-episode-link span:first-child{
    grid-row:2;
  }

  .hero-episode-link span:last-child{
    grid-row:2;
    text-align:right;
  }

  .episode-live-body{
    grid-template-columns:1fr;
    gap:24px;
  }

  .episode-artwork{
    width:min(220px,70vw);
  }
}
