/* Video-ready layout. All colours inherit existing semantic tokens, including future themes. */
.page-media{margin:32px 0 44px;padding:32px;border:1px solid var(--color-border-default);border-radius:var(--radius);background:var(--color-bg-card);min-width:0}
.page-media .eyebrow{color:var(--color-text-accent);margin-bottom:12px}
.page-media h2{font-size:clamp(25px,3vw,36px);line-height:1.2;margin-bottom:16px;overflow-wrap:anywhere}
.media-description,.media-note,.media-transcript{font-size:16px;line-height:1.7;color:var(--color-text-secondary);max-width:75ch;overflow-wrap:anywhere}
.media-description{margin-bottom:22px}.media-note{margin-top:16px}
.media-frame{aspect-ratio:16/9;overflow:hidden;border-radius:var(--radius);background:var(--color-bg-page);border:1px solid var(--color-border-default);box-shadow:0 4px 18px var(--color-shadow-overlay)}
.media-frame>img,.media-frame>video,.media-frame>iframe{display:block;width:100%;height:100%;object-fit:contain;border:0}
.media-frame>img{object-fit:cover}
.media-note a{display:inline-block;min-height:24px;text-decoration:underline;text-underline-offset:4px}
.media-load{display:block;margin-top:18px;padding:12px 18px;min-height:44px;border:1px solid var(--color-button-bg);border-radius:var(--radius);background:var(--color-button-bg);color:var(--color-button-text);font:inherit;cursor:pointer}
.media-load[hidden]{display:none}.media-load:hover{background:var(--color-button-bg-hover)}
.media-load:focus-visible,.media-transcript summary:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:4px}
.media-transcript{margin-top:22px}.media-transcript summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--color-text-primary)}
.media-transcript p{white-space:pre-wrap;margin:12px 0}
@media(max-width:760px){.page-media{padding:20px;margin:24px 0 32px}.media-description,.media-note,.media-transcript{font-size:15px}}
@media print{.media-load{display:none}.page-media{break-inside:avoid;padding:16px}.media-frame{max-width:480px}.media-transcript:not([open])>p{display:block}}
/* Shared frame softens the transition from light artwork to either page theme. */
.channel-card .service-card-image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);margin-bottom:22px;border:1px solid var(--color-border-default);box-shadow:0 4px 18px var(--color-shadow-overlay)}
.channel-card .artwork-disclaimer{font-size:13px;line-height:1.55;color:var(--color-text-secondary);margin:-8px 0 20px}
