.image-with-text {
  position: relative;
  min-height: 40lvh;
  /* margin: 0 auto; */
}

.image-with-text__text {
  h1, h2, h3, h4, h5, h6 {
    a {
      text-decoration-line: underline;
      text-decoration-style: wavy;
      text-decoration-skip-ink: auto;
      text-decoration-color: var(--colors-secondary);

      text-decoration-thickness: 5%;
      text-underline-offset: 0.1em;
      text-underline-position: from-font;

      &:hover,
      &:focus {
        text-decoration-color: currentColor;
      }
    }

    img {
      width: 1em;
      height: 1em;
      display: inline-block;
      vertical-align: middle;
      line-height: 0;
      background-color: var(--colors-body);
      border-radius: 50%;
    }
  }
}

.image-with-text:has(> .image-with-text__curves) {
  /* overflow-x: hidden; */
}

.image-with-text__grid {
  @media screen and (min-width: 990px) {
    flex-wrap: wrap;
  }
}

.image-with-text__curves {
  position: absolute;
  bottom: calc(100% - 2vw);
  left: -1px;
  right: 0;
  width: calc(100% + 1px);
  height: auto;
  pointer-events: none;
  z-index: 1;
}

.image-with-text__text {
  width: auto;
}

.image-with-text__subheading {
  color: var(--colors-body-inverse);
}

.text-right .image-with-text__media-item {
  order: -1;
}

.image-with-text__media-item--bleed .image-with-text__image {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
}

.image-with-text__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media only screen and (max-width: 749px) {
  .image-with-text,
  .image-with-text__grid,
  .image-with-text__text {
    display: block !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    width: 100% !important;
  }

  .image-with-text__text * {
    text-align: center !important;
  }
}
