:root { --ink: #1d1d1f; --muted: #6b6b70; --accent: #c8102e; --bg: #fafaf8; --rule: #e4e4e0; }
* { box-sizing: border-box; }
body { margin: 0; font: 17px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color: var(--ink); background: var(--bg); }
a { color: var(--accent); }
.wrap { max-width: 760px; margin: 0 auto; padding: 0 20px; }
.hero { background: #111; padding: 14px 0; }
.brand { display: flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; font-weight: 700; font-size: 1.1rem; }
.brand img { width: 40px; height: 40px; border-radius: 6px; }
main.wrap { padding-top: 40px; padding-bottom: 16px; }
h1 { line-height: 1.25; margin: .2em 0 .5em; }
.intro { display: grid; grid-template-columns: 220px 1fr; gap: 28px; align-items: start; }
.intro img { width: 100%; height: auto; border-radius: 10px; }
@media (max-width: 640px) { .intro { grid-template-columns: 1fr; } .intro img { max-width: 220px; } }
.listen { font-size: .95rem; }
.listen a { white-space: nowrap; margin-right: .6em; }
.episodes { list-style: none; padding: 0; margin: 0; }
.episodes li { border-top: 1px solid var(--rule); }
.episodes a { display: block; padding: 14px 0; color: var(--ink); text-decoration: none; }
.episodes a:hover strong { color: var(--accent); }
.meta { display: block; color: var(--muted); font-size: .9rem; }
audio { width: 100%; margin: 8px 0 4px; }
.dl { font-size: .9rem; margin-top: 0; }
.notes { margin-top: 16px; }
footer { color: var(--muted); font-size: .9rem; border-top: 1px solid var(--rule); padding-top: 12px; margin-top: 32px; }
.host { margin: 32px 0 8px; padding-top: 8px; border-top: 1px solid var(--rule); }
