.ds24-section--custom-code .text-image {
  background: var(--pw-text-image-bg);
  padding: var(--pw-text-image-pad-top) var(--pw-pad-inline) var(--pw-text-image-pad-bottom);
}

.ds24-section--custom-code .text-image__content {
  grid-template-columns: var(--pw-text-image-cols);
  column-gap: var(--pw-text-image-col-gap);
  row-gap: var(--pw-text-image-stack-gap);
  align-items: center;
  display: grid;
}

.ds24-section--custom-code .text-image__text, .ds24-section--custom-code .text-image__media {
  min-width: 0;
}

.ds24-section--custom-code .text-image__text {
  gap: var(--pw-text-image-text-gap);
  flex-direction: column;
  display: flex;
}

.ds24-section--custom-code .text-image__head {
  gap: var(--pw-text-image-title-gap);
  flex-direction: column;
  display: flex;
}

.ds24-section--custom-code .text-image__eyebrow {
  font-size: var(--pw-type-eyebrow-size);
  font-weight: var(--pw-font-medium);
  line-height: var(--pw-lh-normal);
  letter-spacing: var(--pw-ls-eyebrow);
  color: var(--pw-color-squant);
  margin: 0;
}

.ds24-section--custom-code .text-image__title {
  font-size: var(--pw-type-h2-sm-size);
  font-weight: var(--pw-font-bold);
  line-height: var(--pw-lh-heading);
  letter-spacing: var(--pw-ls-heading);
  color: var(--pw-color-black);
  text-wrap: balance;
  margin: 0;
}

.ds24-section--custom-code .text-image__body {
  font-size: var(--pw-type-lead-sm-size);
  font-weight: var(--pw-font-regular);
  line-height: var(--pw-lh-tight);
  color: var(--pw-color-black);
  margin-inline-end: calc(-1 * var(--pw-text-image-body-bleed));
}

.ds24-section--custom-code .text-image__body p {
  text-wrap: pretty;
  margin: 0;
}

.ds24-section--custom-code .text-image__body p + p {
  margin-top: calc(1em * var(--pw-lh-tight));
}

.ds24-section--custom-code .text-image__body strong {
  font-weight: var(--pw-font-bold);
}

.ds24-section--custom-code .text-image__media {
  aspect-ratio: var(--pw-text-image-img-ratio);
  overflow: hidden;
}

.ds24-section--custom-code .text-image__img {
  object-fit: cover;
  object-position: top;
  width: 100%;
  height: 100%;
  display: block;
}

@media (width >= 1440px) {
  .ds24-section--custom-code .text-image__body p {
    text-wrap: wrap;
  }
}

@media (width <= 1023px) {
  .ds24-section--custom-code .text-image__media {
    order: -1;
  }
}
