/**
 * Content-section block: H2 + optional image + text.
 * The image always renders directly under the H2, at the full width of the
 * text column, uncropped (natural aspect ratio) — the same on every
 * breakpoint. Text content continues below the image.
 */

.content-section__grid {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.content-section__body {
  min-width: 0;
}

.content-section__media {
  margin-block: var(--space-h2-gap);
  border-radius: var(--radius-card);
  overflow: hidden;
  background-color: var(--color-bg-dark);
}

.content-section__media img {
  display: block;
  width: 100%;
  height: auto;
}

.content-section__body h2 {
  margin-block-end: 0;
}

.content-section__cta {
  margin-block-start: var(--space-h2-gap);
  display: flex;
  justify-content: flex-start;
}
