/* Published Banner media remains a separate framed window below hero copy. */
.home-v4-hero > figure.native-banner-media-window {
  position: relative;
  inset: auto;
  width: min(1200px, calc(100% - 56px));
  height: auto;
  margin: 36px auto 0;
  border: 1px solid var(--pudding-line);
  border-radius: 26px;
  overflow: hidden;
  background: var(--pudding-white);
  isolation: isolate;
}
.home-v4-hero > figure.native-banner-media-window::after {
  display: none;
}
.native-banner-art {
  position: relative;
  width: 100%;
  height: clamp(220px, 28vw, 380px);
  overflow: hidden;
  background: var(--pudding-surface-2, #201915);
}
.native-banner-art .banner-picture {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.native-banner-art .banner-media {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.native-banner-controls {
  display: flex;
  justify-content: flex-end;
  padding: 12px 16px;
  border-top: 1px solid var(--pudding-line);
}
.native-banner-controls .banner-play {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 18px;
  border: 1px solid var(--pudding-line);
  border-radius: 999px;
  background: var(--pudding-surface-2, #201915);
  color: var(--pudding-cocoa);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.native-banner-controls .banner-play:disabled {
  opacity: 0.65;
  cursor: default;
}
.native-banner-controls .banner-play:focus-visible {
  outline: 2px solid var(--pudding-golden);
  outline-offset: 3px;
}
.native-banner-status {
  padding: 16px 20px;
  border-top: 1px solid var(--pudding-line);
  color: var(--pudding-taupe);
  font-size: 14px;
  text-align: left;
}
