/* Podcast: inherits the existing Bodoni / Hanken / Plex type system. */
.podcast{scroll-margin-top:24px}
.podcast *{box-sizing:border-box}
.podcast-head{display:block;max-width:42rem;margin-bottom:30px}
.podcast-head h2{font-size:clamp(34px,4.8vw,52px);margin-top:9px;max-width:none}
.podcast-head h2 em{font-weight:400}
.podcast-intro{max-width:42rem;margin-top:16px;color:var(--muted);font-size:16px;line-height:1.6}
.podcast-intro p{margin-bottom:12px}
.podcast-more{font-size:14px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:3px;display:inline-block}
.podcast-meta{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.075em;line-height:1.6;display:flex;flex-wrap:wrap;gap:8px;color:var(--muted)}
.podcast-meta span+span:before{content:'·';margin-right:8px}
.podcast a:focus-visible,.podcast button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.podcast-play{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border:0;border-radius:999px;background:var(--chartreuse);color:var(--ink);padding:11px 19px;font-family:var(--body);font-size:15px;font-weight:700;cursor:pointer;line-height:1.3}
.podcast-play:hover{filter:brightness(.94)}
.podcast-play svg{width:15px;height:15px;fill:currentColor;flex:none}
.podcast-title-link{text-decoration:none}
.podcast-title-link:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.podcast-feature{background:var(--forest);color:var(--cream);border-radius:16px;padding:30px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:36px;align-items:start;--muted:#b8cbc5;--accent:var(--chartreuse)}
.podcast-art{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;background:var(--cream);border-radius:4px}
.podcast-feature .podcast-meta{color:#c9d7d2}
.podcast-feature h3{font-size:clamp(28px,3.4vw,39px);line-height:1.13;margin:13px 0 15px}
.podcast-feature h3 .podcast-guest{display:block;color:var(--chartreuse);font-size:18px;font-family:var(--body);font-weight:500;margin-bottom:9px}
.podcast-feature .podcast-summary,.podcast-description-full{font-size:15px;line-height:1.65;color:#c9d7d2}
.podcast-description{margin-bottom:22px;min-width:0}
.podcast-feature .podcast-summary[hidden],.podcast-description-full[hidden]{display:none}
.podcast-description-full p+p{margin-top:14px}
.podcast-read-more{font:inherit;font-size:13px;font-weight:600;background:none;border:0;border-bottom:1px solid #8cae9f;color:var(--cream);padding:4px 0;margin-top:8px;min-height:36px;cursor:pointer}
.podcast-read-more:hover{color:var(--chartreuse)}
.podcast-recent{display:grid;grid-template-columns:1fr 1fr;margin-top:22px;gap:28px}
.podcast-mini{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 0;border-top:1px solid var(--line)}
.podcast-mini h3{font-size:22px;line-height:1.2;margin-top:7px}
.podcast-mini .podcast-topic{font-family:var(--body);font-size:14px;line-height:1.45;color:var(--muted);margin-top:6px}
.podcast-play.icon-only{width:44px;height:44px;min-width:44px;padding:0;background:transparent;border:1px solid var(--line);color:var(--accent)}
.podcast-caption{font-size:13px;color:var(--muted);margin-top:18px}
/* Direction 2: a listening list with the cover as a small anchor. */
.podcast[data-layout="list"] .podcast-head{display:block}
.podcast[data-layout="list"] .podcast-head h2{font-size:clamp(32px,4vw,44px)}
.podcast[data-layout="list"] .podcast-intro{max-width:42rem}
.podcast-list-shell{display:grid;grid-template-columns:1fr 1.75fr;gap:54px;align-items:start}
.podcast-show-card{display:flex;gap:16px;align-items:center;font-size:14px;color:var(--muted)}
.podcast-show-card img{width:94px;flex:none;box-shadow:3px 5px 0 var(--forest)}
.podcast-show-card strong{display:block;color:var(--fg);font-size:15px;font-weight:600;margin-bottom:4px}
.podcast-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.podcast-list li{padding:22px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:20px;align-items:center}
.podcast-list h3{font-family:var(--body);font-size:19px;font-weight:600;line-height:1.25;margin:7px 0 5px}
.podcast-list .podcast-topic{font-size:15px;line-height:1.45;color:var(--muted)}
.podcast-list .latest-text{color:var(--accent);font-weight:500}
/* Direction 3: each conversation becomes a typographic sleeve. */
.podcast-shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.podcast-sleeve{position:relative;isolation:isolate;display:flex;flex-direction:column;min-width:0;min-height:365px;padding:24px;border-radius:12px;overflow:hidden;background:var(--forest);color:var(--cream);--muted:#c9d7d2;--accent:var(--chartreuse)}
.podcast-sleeve:nth-child(2){background:var(--navy);--muted:#c4cbe7}
.podcast-sleeve:nth-child(3){background:var(--chartreuse);color:var(--forest);--muted:#3a5140;--accent:var(--forest)}
.podcast-sleeve:before{content:'&';position:absolute;font-family:var(--display);font-style:italic;font-size:255px;line-height:1;right:-8px;top:25px;opacity:.075;z-index:-1;pointer-events:none}
.podcast-sleeve-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:26px}
.podcast-sleeve-top img{width:48px;border-radius:2px}
.podcast-sleeve .podcast-meta{font-size:10px;display:block;text-align:right}
.podcast-sleeve h3{font-size:clamp(29px,3.4vw,38px);line-height:1.08;overflow-wrap:anywhere;max-width:12ch;margin-bottom:14px}
.podcast-sleeve .podcast-topic{font-size:15px;line-height:1.5;color:var(--muted);margin-bottom:28px}
.podcast-sleeve-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px}
.podcast-sleeve .podcast-play{min-height:42px;padding:10px 16px;font-size:14px}
.podcast-sleeve:nth-child(3) .podcast-play{background:var(--forest);color:var(--cream)}
.podcast-length{font-family:var(--mono);font-size:11px;color:var(--muted)}
.podcast-player{scroll-margin-block:20px 100px;margin-top:22px;border:1px solid var(--line);border-radius:14px;padding:24px;background:var(--surface)}
.podcast-player[hidden]{display:none}
.podcast-player-heading{margin-bottom:20px;max-width:64ch}
.podcast-playing-title{font-size:16px;font-weight:600;line-height:1.45;margin-top:6px}
.podcast-transport{display:flex;align-items:center;gap:14px}
.podcast-toggle,.podcast-skip,.podcast-speed{font:inherit;border:0;cursor:pointer;flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--accent);background:transparent;min-width:44px;min-height:44px;border-radius:50%}
.podcast-toggle{background:var(--accent);color:var(--bg);width:48px;height:48px}
.podcast-toggle svg{width:19px;height:19px;fill:currentColor}
.podcast-toggle:disabled{opacity:.65;cursor:wait}
.podcast-skip svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.podcast-skip text{fill:currentColor;stroke:none;font:8px var(--body);font-weight:600}
.podcast-speed{font-family:var(--mono);font-size:12px;border:1px solid var(--line);border-radius:8px;min-width:48px}
.podcast-skip:hover,.podcast-speed:hover{background:var(--bg)}
.podcast-timeline{flex:1;min-width:40px}
.podcast-time{display:flex;justify-content:space-between;gap:8px;font:11px var(--mono);color:var(--muted);font-variant-numeric:tabular-nums}
.podcast-timeline input[type="range"]{-webkit-appearance:none;appearance:none;display:block;box-sizing:border-box;width:100%;height:28px;margin:0 0 2px;cursor:pointer;background:transparent;--progress:0%}
.podcast-timeline input[type="range"]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(to right,var(--accent) var(--progress),var(--line) var(--progress))}
.podcast-timeline input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;margin-top:-4px;width:12px;height:12px;border-radius:50%;border:0;background:var(--accent)}
.podcast-timeline input[type="range"]::-moz-range-track{height:4px;border-radius:4px;background:var(--line)}
.podcast-timeline input[type="range"]::-moz-range-progress{height:4px;border-radius:4px;background:var(--accent)}
.podcast-timeline input[type="range"]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;border:0;background:var(--accent)}
.podcast-timeline input[type="range"]:disabled{opacity:.5;cursor:default}
.podcast-platforms{display:flex;align-items:center;gap:18px;white-space:nowrap;font-size:13px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted)}
.podcast-platforms a{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:var(--fg);font-weight:600;min-height:32px}
.podcast-platforms a:hover{text-decoration:underline;text-underline-offset:4px}
.podcast-platforms svg{width:19px;height:19px;flex:none}.podcast-platforms .podcast-spotify{color:var(--accent)}
.podcast-player audio{display:none}
.podcast-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.podcast-status{font-size:13px;color:var(--muted);margin-top:12px}
.podcast-status:empty{display:none}
@media(max-width:760px){
 .podcast-head{display:block}.podcast-intro{margin-top:16px}
 .podcast-feature{grid-template-columns:clamp(100px,22vw,155px) minmax(0,1fr);gap:20px;padding:22px;align-items:start}
 .podcast-feature .podcast-feature-copy{display:contents}
 .podcast-feature>.podcast-art{grid-column:1;grid-row:1;align-self:start}
 .podcast-feature-heading{grid-column:2;grid-row:1;min-width:0;align-self:start}
 .podcast-feature .podcast-meta{display:flex;align-items:start;gap:3px 6px;font-size:9px;letter-spacing:.04em}
 .podcast-feature .podcast-meta .latest-text{flex-basis:100%;margin-bottom:3px}
 .podcast-feature .podcast-meta span:nth-child(2):before{display:none}
 .podcast-feature h3{font-size:clamp(18px,3.4vw,26px);line-height:1.16;margin:8px 0 0;text-wrap:pretty}
 .podcast-feature h3 .podcast-guest{font-size:clamp(14px,2.5vw,17px);line-height:1.2;margin-bottom:6px}
 .podcast-feature .podcast-description,.podcast-feature .podcast-actions{grid-column:1/-1;margin:0}
 .podcast-feature .podcast-summary,.podcast-description-full{font-size:14px}
 .podcast-feature .podcast-play{width:100%}
 .podcast-recent{grid-template-columns:1fr;gap:0;margin-top:14px}
 .podcast[data-layout="list"] .podcast-head,.podcast-list-shell{display:block}
 .podcast-show-card{margin:24px 0 30px}.podcast-show-card img{width:76px}
 .podcast-shelf{grid-template-columns:1fr}.podcast-sleeve{min-height:300px;padding:26px}
 .podcast-sleeve h3{font-size:38px;max-width:unset}.podcast-sleeve-top{margin-bottom:24px}
 .podcast-sleeve:before{font-size:280px;right:12px;top:-10px}
 .podcast-player{padding:18px 16px}.podcast-transport{gap:4px}.podcast-toggle{min-width:42px;width:42px;height:42px;min-height:42px}.podcast-skip{min-width:32px}.podcast-speed{min-width:40px}.podcast-platforms{gap:14px;font-size:12px}
}

@media(max-width:380px){
 .podcast-feature{grid-template-columns:88px minmax(0,1fr);padding:18px;gap:16px}
 .podcast-feature h3{font-size:17px}
 .podcast-feature .podcast-meta{font-size:8px;letter-spacing:0}
 .podcast-feature h3 .podcast-guest{font-size:13px}
}
