.section.media-content-container {
  padding-block: var(--spacing-base-space-1000);
}

.media-content {
  display: flex;
  font-family: var(--typography-family-body-sans);
  align-items: center;
}

/* When the content column is taller than the media column, align to top on larger viewports. */
@media (width > 900px) {
  .media-content.is-content-taller {
    align-items: flex-start;
  }
}

.media-content-content.flow {
  --flow-space: var(--spacing-base-space-500);
}

.media-content.fifty-percent-media .media-content-content.flow {
  --flow-space: var(--spacing-base-space-200);
}

.media-content.fifty-percent-media {
  gap: 7.5rem; /* missing token */
}

.media-content.thirty-percent-media {
  gap: 5.75rem; /* missing token */
}

.media-content-media.flow {
  gap: var(--spacing-base-space-200);
}

.media-content.media-right {
  flex-direction: row;
}

.media-content.media-left {
  flex-direction: row-reverse;
}

.media-content-media {
  gap: var(--spacing-base-space-200);
}

.media-content-media figure {
  margin-block: var(--spacing-base-space-0);
  margin-inline: var(--spacing-base-space-0);
}

.media-content.fifty-percent-media .media-content-media {
  width: 31rem; /* missing token */
  flex-shrink: 0;
}

.media-content.thirty-percent-media .media-content-media {
  width: 23rem; /* missing token */
  flex-shrink: 0;
}

.media-content-media img,
.media-content-media picture {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius-radius-120);
}

.media-content-video {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: var(--radius-radius-120);
  overflow: hidden;
  background: lightgray;
  aspect-ratio: 16/9;
}

/* Layout 50% - fixed height */
.media-content.fifty-percent-media .media-content-video {
  height: 279px;
}

/* Layout 30% - fixed height */
.media-content.thirty-percent-media .media-content-video {
  height: 207px;
}

.media-content-video .video-js {
  width: 100% !important;
  height: 100% !important;
  display: block;
  border-radius: var(--radius-radius-120);
}

.media-content-video .video-js .vjs-big-play-button {
  width: 3.75rem !important;
  height: 3.75rem !important;
  border-radius: 3.75rem !important;
}

.media-content-video .video-js .vjs-big-play-button .vjs-icon-placeholder::before {
  width: 1.875rem !important;
  height: 1.875rem !important;
  font-size: 2.5rem !important;
}

.media-content .media-content-caption {
  font-size: var(--typography-font-size-body-16);
  font-weight: var(--typography-weight-regular);
  line-height: var(--typography-line-height-lh-24);
  letter-spacing: var(--typography-letter-spacing-0);
  margin-block: var(--spacing-base-space-150) 0;
  padding-block: var(--spacing-base-space-100);
}

/* Transcript styles live in styles/globals/objects/video-player.css (.video-transcript) */

.media-content h2,
.media-content h3,
.media-content h4 {
  font-family: var(--typography-family-title-slab);
  font-size: var(--typography-font-size-headlines-48);
  font-weight: var(--typography-weight-regular);
  line-height: var(--typography-line-height-lh-53);
  letter-spacing: var(--typography-letter-spacing-0-5);

  /* account for flow space */
  margin-block: 0 calc(var(--spacing-base-space-200) - var(--spacing-base-space-250));
}

.media-content > .cta-wrapper {
  align-self: end;
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-base-space-400);
  padding-inline: var(--spacing-base-space-700);
  padding-block-end: var(--spacing-base-space-700);
}

.media-content-content > p {
  /* account for flow space */
  margin-block-end: calc(var(--spacing-others-preheader-header-desktop) - var(--flow-space));
  font-size: var(--typography-font-size-headlines-18);
  line-height: var(--typography-line-height-lh-27);
  letter-spacing: var(--typography-letter-spacing-0);
  font-weight: var(--typography-weight-semi-bold);
}

.media-content-content .cta-wrapper {
  /* account for flow space */
  margin-block-start: calc(var(--spacing-base-space-500) - var(--flow-space));
}

.media-content-content > div:not(.cta-wrapper) {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-base-space-500);
}

.media-content.fifty-percent-media .media-content-content > div:not(.cta-wrapper) {
  gap: var(--spacing-base-space-250);
}

.media-content-content > div:not(.cta-wrapper) p:first-of-type {
  font-size: var(--typography-font-size-headlines-22);
  font-weight: var(--typography-weight-regular);
  line-height: var(--typography-line-height-lh-29);
  letter-spacing: var(--typography-letter-spacing-0);
}

@media (width <= 900px) {
  .media-content.fifty-percent-media,
  .media-content.thirty-percent-media {
    gap: var(--spacing-base-space-300);
  }

  .media-content-media.flow {
    gap: var(--spacing-base-space-150);
  }

  .media-content {
    gap: var(--spacing-base-space-300);
    flex-direction: column-reverse;
    justify-content: center;
  }

  .media-content.media-right,
  .media-content.media-left {
    flex-direction: column-reverse;
  }

  .media-content-content > p {
    font-size: var(--typography-font-size-headlines-18);
    line-height: var(--typography-line-height-lh-27);

    /* account for flow space */
    margin-block-end: calc(var(--spacing-others-preheader-header-mobile) - var(--flow-space));
  }

  .media-content-content.flow :is(div:not([class]), div[class='']) {
    row-gap: var(--spacing-base-space-200);
  }

  .media-content h2,
  .media-content h3,
  .media-content h4 {
    font-size: var(--typography-font-size-headlines-36);
    line-height: var(--typography-line-height-lh-40);
    margin-block-end: 0;
  }

  .media-content-content > div:not(.cta-wrapper) p {
    font-size: var(--typography-font-size-headlines-20);
    line-height: var(--typography-line-height-lh-28);
  }

  .media-content-video .video-js .vjs-tech {
    border-radius: var(--radius-radius-120);
  }

  /* Mobile layout - fixed height and aspect-ratio */
  .media-content-video {
    height: 193px;
    aspect-ratio: 343.11/193;
  }

  .media-content > .cta-wrapper {
    padding-inline: var(--spacing-base-space-700);
    padding-block-end: var(--spacing-base-space-700);
  }

  .media-content.fifty-percent-media .media-content-media,
  .media-content.thirty-percent-media .media-content-media {
    width: 100%;
    max-width: 31rem; /* missing token */
    flex-shrink: 0;
    align-self: center;
  }
}
