@font-face {
  font-family:Vazirmatn;
  src:url('../assets/fonts/Vazirmatn-Regular.ttf') format('truetype');
  font-weight:400;
  font-display:swap;
}

@font-face {
  font-family:Vazirmatn;
  src:url('../assets/fonts/Vazirmatn-Bold.ttf') format('truetype');
  font-weight:700;
  font-display:swap;
}

html {
  scroll-padding-top:24px;
}

.podcast-page {
  height:auto;
  min-height:100vh;
  font-family:Vazirmatn,sans-serif;
  background:var(--color-bg);
  color:#243b35;
  font-size:17px;
  line-height:2;
}

.podcast-page a {
  color:inherit;
  text-underline-offset:5px;
}

.podcast-page a:focus-visible,.podcast-page summary:focus-visible,.podcast-page audio:focus-visible {
  outline:3px solid #365e51;
  outline-offset:5px;
}

.skip-link {
  position:absolute;
  top:-100px;
  right:16px;
  background:white;
  padding:8px 20px;
  z-index:5;
}

.skip-link:focus {
  top:10px;
}

.podcast-header,main,.podcast-footer {
  width:min(1120px,calc(100% - 64px));
  margin-inline:auto;
}

.podcast-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-block:26px;
  border-bottom:1px solid #b9ccc5;
  gap:24px;
}

.brand {
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  font:700 16px system-ui,sans-serif;
}

.podcast-header nav {
  display:flex;
  align-items:center;
  gap:26px;
  font-size:14px;
}

.podcast-header nav>a {
  text-decoration:none;
}

.podcast-menu {
  position:relative;
}

.podcast-menu summary {
  cursor:pointer;
  font-family:system-ui,sans-serif;
}

.podcast-menu>div {
  position:absolute;
  left:0;
  top:100%;
  width:220px;
  padding:14px 18px;
  background:#fff;
  border:1px solid #bdcec6;
  border-radius:8px;
  z-index:2;
}

.podcast-menu a {
  display:block;
}

.season-intro {
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);
  align-items:center;
  gap:64px;
  padding-block:80px 72px;
}

.eyebrow {
  font-size:13px;
  letter-spacing:.03em;
  color:#486b5d;
}

.season-intro h1 {
  font-size:clamp(40px,5.4vw,68px);
  line-height:1.45;
  letter-spacing:-1.7px;
  margin-block:16px 20px;
}

.byline {
  font-size:15px;
  margin-bottom:24px;
}

.intro-copy>p:not(.eyebrow):not(.byline) {
  max-width:65ch;
}

.english {
  font-family:system-ui,sans-serif;
  font-size:15px;
  line-height:1.85;
  color:#4b6057;
  text-align:left;
  margin-top:24px;
  padding-left:18px;
  border-left:2px solid #acc9bb;
}

.english h2,.english h3 {
  font-size:16px;
  line-height:1.5;
  margin-bottom:9px;
  color:#304f43;
}

.start-listening {
  display:inline-flex;
  gap:30px;
  margin-top:30px;
  background:#2f5144;
  color:#fff!important;
  text-decoration:none;
  padding:10px 22px;
  border-radius:5px;
  font-size:15px;
}

.season-art {
  color:#547b69;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:radial-gradient(ellipse,#d0e2d8,transparent 70%);
  min-width:0;
}

.season-art svg {
  width:100%;
  height:auto;
}

.season-art span {
  text-align:center;
  font:11px system-ui,sans-serif;
  letter-spacing:.24em;
  margin-top:15px;
}

.episodes-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid #9bb7a8;
  padding-top:28px;
  gap:20px;
}

.episodes-heading h2 {
  font-size:23px;
}

.episodes-heading span {
  font-size:13px;
  color:#52695f;
}

.episode-nav {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-block:22px 35px;
}

.episode-nav a {
  padding:7px 14px;
  border:1px solid #adc7b9;
  border-radius:30px;
  text-decoration:none;
  font-size:13px;
}

.episode {
  display:grid;
  grid-template-columns:70px minmax(0,1fr);
  gap:26px;
  padding:36px 0 45px;
  border-top:1px solid #bbcec3;
  scroll-margin-top:24px;
}

.episode-number {
  font:300 44px system-ui,sans-serif;
  color:#547b69;
  padding-top:20px;
}

.episode-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.permalink {
  font:12px system-ui,sans-serif;
  text-decoration:none;
  direction:ltr;
}

.episode h2 {
  font-size:27px;
  margin-block:7px 17px;
  line-height:1.7;
}

.episode-body>p {
  max-width:85ch;
}

.listen {
  display:grid;
  gap:12px;
  margin-top:28px;
  padding:20px 24px;
  background:#f5f8f4;
  border:1px solid #c7d7ca;
  border-radius:10px;
}

.listen>span {
  font-size:14px;
}

.listen audio {
  width:100%;
  min-width:0;
  direction:ltr;
}

.audio-fallback {
  font-size:12px;
  justify-self:start;
}

.audio-error {
  font-size:13px;
  color:#8b3329;
}

.podcast-footer {
  display:flex;
  justify-content:space-between;
  border-top:1px solid #b9ccc5;
  padding-block:25px 35px;
  font-size:13px;
  margin-top:20px;
}

@media(max-width:700px) {
  .podcast-header,main,.podcast-footer {
    width:calc(100% - 36px);
  }

  .podcast-header {
    gap:16px;
    flex-wrap:wrap;
    padding-block:20px;
  }

  .podcast-header nav {
    gap:20px;
  }

  .season-intro {
    grid-template-columns:1fr;
    gap:20px;
    padding-block:38px 40px;
  }

  .season-art {
    display:none;
  }

  .season-intro h1 {
    font-size:43px;
  }

  .podcast-page {
    font-size:16px;
  }

  .english {
    font-size:14px;
  }

  .episode {
    grid-template-columns:1fr;
    gap:8px;
    padding-block:24px 32px;
  }

  .episode-number {
    font-size:28px;
    padding:0;
  }

  .episode h2 {
    font-size:23px;
  }

  .listen {
    padding:16px 12px;
  }

  .episodes-heading h2 {
    font-size:20px;
  }

  .episodes-heading span {
    white-space:nowrap;
  }

  .podcast-footer {
    gap:18px;
  }

}
