.image-with-text-section {
  word-break: break-word;
  background-color: rgb(var(--color-background));
}
.image-with-text-section .block-image .empty-image-class {
  display: block;
  width: 473px;
  max-width: 100%;
  background-color: rgb(var(--color-image-background));
}
.image-with-text-section .subheading {
  text-transform: uppercase;
  letter-spacing: 0.3em;
}
.image-with-text__image {
  position: relative;
  display: flex;
}
.image-with-text__image > img {
  max-width: 100%;
  height: auto;
  aspect-ratio: var(--aspect-ratio);
  object-fit: cover;
}
.image-with-text__image .hover-scale__image {
  width: 100%;
}
.image-with-text__group {
  flex: 1;
  min-width: 0;
  min-height: 0;
}
.image-with-text-section.overlap .image-with-text__group {
  width: unset;
  height: unset;
  background-color: rgb(var(--color-background));
}
@media (min-width: 960px) {
  .image-with-text-section.overlap .image-with-text__group {
    transform: translateX(-36px);
  }
}
@media (max-width: 959px) {
  .image-with-text-section.overlap .image-with-text__group {
    width: auto;
    margin-inline: 10.5px;
    transform: translateY(-36px);
  }
}

/* Design: the media column is locked to 44% x full height and the image fills the
   box edge to edge — no letterboxing, even when the source ratio differs. */
@media (min-width: 960px) {
  .image-with-text-section .block-image {
    flex: 0 0 44%;
    align-self: stretch;
    align-items: stretch;
    width: 44%;
    max-width: 44%;
    height: auto;
  }

  .image-with-text-section .block-image > img {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: 50% 55%;
  }
}

@media (max-width: 959px) {
  .image-with-text-section .block-image > img {
    width: 100%;
    object-fit: cover;
  }
}

/* Squared buttons — border-radius also lives on the ::after border layer. */
.image-with-text-section .button,
.image-with-text-section .button::after,
.image-with-text-section .button:not(.button--link, .button--text, .button--icon)::after {
  border-radius: 0;
}

.image-with-text-section .button:not([disabled], .button--icon):hover {
  color: #fff;
  background-color: #6b6560;
}

.image-with-text-section
  .button:not([disabled], .button--link, .button--text, .button--icon):hover::after {
  box-shadow: 0 0 0 var(--button-border-thickness, 1px) transparent;
}