.guest-book{padding-block:82px 60px;border-bottom:1px solid var(--line)}
.mosaic-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:32px}
.mosaic-heading h2{font-size:clamp(50px,6vw,82px);letter-spacing:-2px;margin-top:16px}
.mosaic-heading>p{font-size:14px;line-height:1.7;color:var(--muted);padding-bottom:4px}
.cover-mosaic{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;list-style:none;padding:0;margin:0}
.mosaic-tile{min-width:0;aspect-ratio:1}
.mosaic-cover{position:relative;display:block;width:100%;height:100%;background:#102431;isolation:isolate}
.mosaic-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;text-align:center;border:1px solid var(--line);font-family:var(--serif);font-size:clamp(13px,2vw,28px);line-height:1;color:var(--gold);z-index:-1}
.mosaic-cover img{display:block;width:100%;height:100%;object-fit:contain;background:var(--navy)}
.mosaic-caption{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:flex-end;gap:10px;padding:28px 12px 12px;background:linear-gradient(transparent,#08131cf5 65%);color:var(--cream);font-size:12px;line-height:1.4;opacity:0;transition:opacity .16s ease}
.mosaic-cover:hover .mosaic-caption,.mosaic-cover:focus-visible .mosaic-caption,.mosaic-cover.image-unavailable .mosaic-caption{opacity:1}
.mosaic-cover:focus-visible{outline:3px solid var(--gold);outline-offset:2px;z-index:2}
.mosaic-cover.image-unavailable img{visibility:hidden}
.mosaic-end{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px}
.mosaic-end p{font-size:11px;color:var(--muted)}
.episode-archive{margin-top:36px;padding-top:25px;border-top:1px solid var(--line)}
.episode-archive h3{font-family:var(--serif);font-size:30px;font-weight:400;margin:0 0 16px}
.episode-archive ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;list-style:none;padding:0;margin:0}
.episode-archive a{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);height:100%;text-decoration:none;color:var(--cream)}
.episode-archive strong{font-size:14px;font-weight:500}.archive-detail{display:block;margin-top:5px;font-size:11px;line-height:1.5;color:var(--muted)}
.episode-archive a>span:last-child{color:var(--gold)}.episode-archive a:hover strong{color:var(--gold)}
.episode-archive a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:900px){.mosaic-heading h2{font-size:64px}.mosaic-heading>p{font-size:12px}.episode-archive ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.guest-book{padding-block:52px 42px}.mosaic-heading{display:block;margin-bottom:24px}.mosaic-heading h2{font-size:55px;margin-top:13px}.mosaic-heading>p{margin-top:18px;font-size:13px}.mosaic-heading .eyebrow{font-size:9px;letter-spacing:1.6px}.cover-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.mosaic-caption{font-size:11px;padding:24px 9px 9px}.mosaic-end{display:block;margin-top:21px}.mosaic-end .text-link{margin-top:12px;font-size:11px}.mosaic-end p{font-size:10px}.episode-archive ul{column-gap:20px}.episode-archive strong{font-size:13px}.archive-detail{font-size:10px}}
@media(max-width:380px){.episode-archive ul{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.mosaic-caption{transition:none}}
@media print{.guest-book{break-inside:auto}.mosaic-tile{break-inside:avoid}.mosaic-caption{display:none}.mosaic-end{display:none}}
