
/* podcast pages — extends /styles.css */
.pod-hero { padding-block: clamp(2.5rem,6vw,4rem) 1rem; }
.pod-subscribe { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.2rem; }
.pod-h2 { font-family: var(--font-display); font-size: clamp(1.5rem,3vw,2rem); color:var(--ink); margin:2.6rem 0 1rem; }
.ep-grid { display:grid; grid-template-columns: repeat(auto-fill,minmax(230px,1fr)); gap:1rem; }
.ep-card { display:block; background:#fff; border:1px solid var(--line-on-cream, #e6e0d2); border-radius:14px; overflow:hidden; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease; }
.ep-card:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(28,33,24,.08); }
.ep-card img, .ep-card .ph { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; background:var(--cream-deep,#efe9da); }
.ep-card-body { padding:.7rem .85rem .9rem; }
.ep-card-meta { margin:0; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted,#7a7264); }
.ep-card-title { font-family:var(--font-body,inherit); font-size:.95rem; line-height:1.32; margin:.3rem 0 0; color:var(--ink); font-weight:600; overflow-wrap:anywhere; }
.arch-year { font-family:var(--font-display); font-size:1.15rem; margin:1.6rem 0 .4rem; color:var(--ink); }
.arch-list { list-style:none; padding:0; margin:0; }
.arch-list li { display:flex; justify-content:space-between; gap:1rem; padding:.42rem 0; border-bottom:1px dashed var(--line-on-cream,#e6e0d2); }
.arch-list a { color:var(--ink); text-decoration:none; font-size:.95rem; }
.arch-list a:hover { color:var(--gold,#C4A44E); }
.arch-meta { color:var(--muted,#7a7264); font-size:.78rem; white-space:nowrap; }
.arch-yt { color:var(--gold,#C4A44E); text-transform:uppercase; font-size:.68rem; letter-spacing:.06em; }
/* episode page */
.ep { padding:2.4rem 0 4rem; overflow-wrap: anywhere; }
.crumbs { font-size:.8rem; letter-spacing:.05em; text-transform:uppercase; color:var(--muted,#7a7264); }
.crumbs a { color:var(--gold,#C4A44E); text-decoration:none; }
.ep-title { font-family:var(--font-display); font-size:clamp(1.7rem,4vw,2.6rem); line-height:1.15; color:var(--ink); margin:.5rem 0 .4rem; }
.ep-meta { color:var(--muted,#7a7264); font-size:.92rem; margin:0 0 1.4rem; }
.ep-player { border-radius:14px; overflow:hidden; background:#000; aspect-ratio:16/9; }
.ep-player iframe { width:100%; height:100%; border:0; display:block; }
.ep-player-audio { background:var(--cream-deep,#efe9da); aspect-ratio:auto; padding:1.1rem; }
.ep-player-audio audio { width:100%; }
.ep-links { font-size:.9rem; margin:.7rem 0 1.6rem; color:var(--muted,#7a7264); }
.ep-links a { color:var(--gold,#C4A44E); text-decoration:none; }
.ep-section { margin:2.2rem 0; }
.ep-section h2 { font-family:var(--font-display); font-size:1.4rem; color:var(--ink); margin:0 0 .8rem; }
.ep-section p { color:var(--text-on-cream,#3a3a33); line-height:1.65; }
.ep-moments { margin:0; padding-left:1.3rem; }
.ep-moments li { margin:.5rem 0; color:var(--text-on-cream,#3a3a33); line-height:1.5; }
.km-t { font-variant-numeric:tabular-nums; color:var(--gold,#C4A44E); font-weight:600; margin-right:.45rem; }
.ep-transcript { margin:2rem 0; border:1px solid var(--line-on-cream,#e6e0d2); border-radius:12px; background:#fff; }
.ep-transcript summary { cursor:pointer; padding:1rem 1.2rem; font-weight:600; color:var(--ink); }
.tr-note { padding:0 1.2rem; margin:.2rem 0 0; color:var(--muted,#7a7264); font-size:.85rem; }
.tr-body { max-height:540px; overflow:auto; padding:1rem 1.2rem 1.4rem; }
.tl { font-size:.9rem; line-height:1.55; color:var(--text-on-cream,#3a3a33); padding:.1rem 0; }
.ts { font-variant-numeric:tabular-nums; color:var(--gold,#C4A44E); margin-right:.6rem; font-size:.78rem; }
.ep-prevnext { display:flex; justify-content:space-between; gap:1rem; margin:2.6rem 0 1rem; flex-wrap:wrap; }
.ep-pn { color:var(--ink); text-decoration:none; font-size:.9rem; max-width:42%; }
.ep-pn:hover { color:var(--gold,#C4A44E); }
.ep-all a { color:var(--gold,#C4A44E); text-decoration:none; font-size:.85rem; text-transform:uppercase; letter-spacing:.06em; }
.ep-cta { background:var(--cream-deep,#efe9da); border-radius:14px; padding:1.4rem 1.5rem; margin-top:1.5rem; }
.ep-cta p { margin:.2rem 0 .8rem; color:var(--ink); }
.is-active { color:var(--gold,#C4A44E) !important; }
@media (max-width:640px){ .ep-grid{grid-template-columns:1fr 1fr;} .ep-prevnext .ep-all{order:-1;width:100%;text-align:center;margin-bottom:.4rem;} }
