/* Actual video stills; preserve full frames and their embedded credits. */
.media-content .character-hero__stage { display: block; min-width: 0; }
.media-hero__preview { margin: 0; overflow: hidden; border: 1px solid var(--line-strong); border-radius: var(--radius-lg); background: var(--bg-2); }
.media-hero__preview img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; }
.media-hero__preview figcaption { padding: 16px 20px; color: var(--fg-2); font-size: .82rem; line-height: 1.6; }
.media-profiles { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; padding-top: 32px; }
.media-content .character-profile { display: block; min-width: 0; padding: 24px 0 32px; }
.media-content .character-profile__body { gap: 16px; }
.media-content .character-profile__name { font-size: clamp(2.4rem,3.5vw,3.4rem); }
.media-content .character-profile__line { font-size: clamp(1.15rem,1.7vw,1.45rem); }
.media-content .character-profile__facts > div { grid-template-columns: 84px minmax(0,1fr); }
.media-content .asset-grid { grid-template-columns: repeat(4,minmax(0,1fr)); align-items: start; }
.media-content .asset-card__open { padding: 0; background: #0c0913; }
.media-content .asset-card__open img { display: block; width: 100%; height: auto; object-fit: contain; }
.media-content [data-media-kind="shorts"] .asset-card__open img { aspect-ratio: 9 / 16; }
.media-content [data-media-kind="mv"] .asset-card__open img { aspect-ratio: 16 / 9; }
.media-content .asset-card__zoom { right: 8px; top: 8px; bottom: auto; }
.asset-card__credit { color: var(--fg-2); font-size: .7rem; line-height: 1.6; overflow-wrap: anywhere; }
a.asset-card__credit { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width:1100px) { .media-content .asset-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) {
  .media-profiles { grid-template-columns: 1fr; gap: 0; }
  .media-content .asset-grid { gap: 16px; }
  .media-content .character-profile__facts > div { grid-template-columns: 72px minmax(0,1fr); gap: 12px; }
  .media-content .asset-card__type { flex-wrap: wrap; gap: 4px; }
  .media-content .asset-card__zoom { font-size: .65rem; padding: 2px 6px; }
}
