.media-player-shell {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.11);
  background: #000;
  box-shadow: inset 0 0 0 1px rgba(237,51,39,.08);
}

.media-player-shell :is(video, iframe, .youtube-preview, .youtube-preview img, .youtube-host) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.media-player-shell :is(video, .youtube-preview img) {
  object-fit: contain;
  background: #000;
}

.youtube-preview {
  display: block;
  border: 0;
  padding: 0;
  cursor: pointer;
  color: #fff;
}

.youtube-preview::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0,0,0,.58), transparent 55%);
}

.player-launch,
.player-replay {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 50%;
  min-width: 7.5rem;
  min-height: 3rem;
  transform: translate(-50%, -50%);
  border: 2px solid rgba(255,255,255,.86);
  background: rgba(16,7,7,.9);
  color: #fff;
  padding: .7rem 1rem;
  font: 900 .76rem/1 Arial, sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
}

.youtube-preview + .player-title-strip + .player-launch {
  pointer-events: none;
}

.player-launch:hover,
.player-launch:focus-visible,
.player-replay:hover,
.player-replay:focus-visible {
  background: var(--ember, #ed3327);
  color: #130403;
  outline: 3px solid #fff;
  outline-offset: 3px;
}

.player-title-strip {
  position: absolute;
  z-index: 3;
  top: .55rem;
  left: .55rem;
  max-width: calc(100% - 1.1rem);
  background: rgba(0,0,0,.78);
  color: #fff;
  padding: .32rem .48rem;
  font: 800 .68rem/1.3 Arial, sans-serif;
  letter-spacing: .04em;
  pointer-events: none;
}

.media-player-shell[data-started="true"] .player-launch,
.player-replay[hidden] { display: none; }

.player-error {
  position: absolute;
  z-index: 5;
  inset: 0;
  display: grid;
  place-content: center;
  gap: .5rem;
  background: #090909;
  color: #fff;
  padding: 1rem;
  text-align: center;
}

.player-error strong { color: var(--ember-light, #ff766d); }
.player-error p { margin: 0; color: #d2c7c0; font-size: .88rem; line-height: 1.5; }

.player-status {
  min-height: 1.25rem;
  margin: .45rem 0 0;
  color: var(--muted, #bdb4ae);
  font-size: .74rem;
  line-height: 1.35;
}

.media-access {
  margin-top: .55rem;
  border-top: 1px solid rgba(255,255,255,.09);
  padding-top: .5rem;
}

.media-access summary {
  min-height: 2.75rem;
  display: flex;
  align-items: center;
  color: var(--ember-light, #ff766d);
  font-size: .72rem;
  font-weight: 850;
  cursor: pointer;
}

.media-access p { margin: 0 0 .4rem !important; font-size: .82rem !important; }

.featured-film .media-player-shell { min-width: 0; }
.video-card .media-player-shell { align-self: start; }

@media (max-width: 820px) {
  .video-card {
    grid-template-columns: 1fr !important;
  }
  .video-copy { padding: .7rem .1rem .1rem !important; }
  .video-card .media-player-shell { width: 100%; }
}

@media (max-width: 390px) {
  .player-title-strip { font-size: .64rem; }
  .player-launch, .player-replay { min-height: 2.75rem; }
}

@media (prefers-reduced-motion: reduce) {
  .media-player-shell *, .youtube-preview img { transition: none !important; animation: none !important; }
}
