/* Podcast lists share the portfolio's type, colors, and flat section borders. */
.podcast-intro { max-width: 580px; margin: 0 0 28px; font-size: 14px; line-height: 1.7; }
.podcast-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--border-neutral); }
.podcast-list li { border-bottom: 1px solid var(--border-neutral); }
.podcast-entry { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 24px; align-items: center; padding: 20px 0; color: #fff; text-decoration: none; }
.podcast-thumb { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #201d26; }
.podcast-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.podcast-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: #0002; }
.podcast-play svg { width: 34px; height: 24px; filter: drop-shadow(0 1px 4px #0008); }
.podcast-copy { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.podcast-title { margin: 0; font: 500 16px/1.45 var(--font-sans); text-wrap: pretty; }
.podcast-meta { display: flex; flex-wrap: wrap; gap: 6px 16px; color: #b6b3bf; font: 11px/1.5 var(--font-mono); }
.podcast-watch { color: #b6b3bf; font: 11px/1.5 var(--font-mono); }
.podcast-entry:hover .podcast-title { text-decoration: underline; text-underline-offset: 4px; }
.podcast-entry:hover .podcast-watch { color: #fff; }
.podcast-entry:focus-visible, .podcast-link:focus-visible { outline: 2px solid #ff570a; outline-offset: 4px; }
.podcast-more { margin-top: 20px; }
.podcast-page .nav-inner { flex-wrap: wrap; gap: 16px; }
.podcast-page .hero-title { text-transform: none; }
.podcast-page .body { padding-top: 32px; }
#all-podcasts { scroll-margin-top: 100px; }
.podcast-actions { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 24px; }
.podcast-link { display: inline-flex; align-items: center; min-height: 40px; color: #fff; font: 12px/1.5 var(--font-mono); text-decoration: none; }
.podcast-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.podcast-feature { margin-bottom: 52px; }
.podcast-feature h2, .podcast-archive-heading { margin: 0 0 20px; font: 600 22px/1.35 var(--font-mono); letter-spacing: -0.02em; }
.podcast-player { aspect-ratio: 16 / 9; background: #201d26; }
.podcast-player iframe { display: block; width: 100%; height: 100%; border: 0; }
.podcast-feature-title { margin: 16px 0 8px; font: 500 18px/1.5 var(--font-sans); }
.podcast-feature-note { margin: 8px 0 0; color: #b6b3bf; font-size: 13px; line-height: 1.65; }
.podcast-feature-note a { text-underline-offset: 3px; }
.podcast-source { margin: 24px 0 0; color: #b6b3bf; font: 11px/1.7 var(--font-mono); }
.podcast-source a { color: inherit; text-underline-offset: 3px; }
@media (max-width: 560px) {
  #all-podcasts { scroll-margin-top: 185px; }
  .podcast-entry { grid-template-columns: 104px minmax(0, 1fr); gap: 16px; align-items: start; padding: 18px 0; }
  .podcast-title { font-size: 14px; }
  .podcast-copy { gap: 8px; }
  .podcast-meta { gap: 4px 10px; }
  .podcast-page .hero-title { font-size: 30px; }
  .podcast-page .foot { flex-wrap: wrap; gap: 16px; }
}
@media (max-width: 360px) {
  .podcast-entry { grid-template-columns: 88px minmax(0, 1fr); gap: 12px; }
}
