.lead-media,
.news-card-media {
  isolation: isolate;
}

.story-media-shade {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(0deg, rgba(5,5,5,.62), transparent 52%);
  pointer-events: none;
}

.lead-media .story-media-shade {
  background: linear-gradient(90deg, transparent 65%, #0a0a0a), linear-gradient(0deg, rgba(0,0,0,.45), transparent 48%);
}

.story-visual-placeholder {
  position: absolute;
  z-index: 0;
  inset: 0;
  padding: clamp(22px, 3vw, 46px);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 82% 18%, rgba(241,38,60,.34), transparent 28%),
    linear-gradient(135deg, #181818, #090909 55%, #120609);
}
.story-visual-placeholder::before {
  content: "";
  position: absolute;
  top: -22%;
  right: -8%;
  width: 62%;
  aspect-ratio: 1;
  border: 1px solid rgba(241,38,60,.44);
  border-radius: 50%;
  box-shadow: 0 0 0 36px rgba(241,38,60,.045), 0 0 0 80px rgba(241,38,60,.025);
}
.story-visual-placeholder small,
.story-visual-placeholder strong,
.story-visual-placeholder em { position: relative; z-index: 1; }
.story-visual-placeholder small { color: var(--red); font-size: 7px; font-weight: 900; letter-spacing: .15em; }
.story-visual-placeholder strong { margin-top: 11px; max-width: 88%; font: 900 clamp(32px, 4vw, 62px)/.84 "Barlow Condensed", sans-serif; text-transform: uppercase; }
.story-visual-placeholder em { margin-top: 13px; color: rgba(255,255,255,.52); font-size: 8px; font-style: normal; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.news-card-media .story-visual-placeholder strong { font-size: 36px; }
.is-resolving-story-image .story-visual-placeholder { animation: storyImagePulse 1.8s ease-in-out infinite; }
.has-no-story-image .editorial-image-note,
.lead-media:hover .editorial-image-note,
.news-card-media:hover .editorial-image-note { display: block; }

@keyframes storyImagePulse { 50% { filter: brightness(1.18); } }
@media (prefers-reduced-motion: reduce) { .is-resolving-story-image .story-visual-placeholder { animation: none; } }
