.duo__outer-wrapper {
  &.duo__outer-wrapper--has-images {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    align-items: center;

    &.duo__outer-wrapper--image-bottom {
      .duo__image-wrapper {
        order: 2;
      }

      .duo__wrapper {
        order: 1;
      }
    }


    &.duo__outer-wrapper--image-left,
    &.duo__outer-wrapper--image-right {
      @media screen and (min-width: 750px) {
        grid-template-columns: 1fr 1fr;
        gap: 6rem;
      }

      @media screen and (min-width: 990px) {
        grid-template-columns: minmax(0, 3fr) minmax(0, 5fr);

        &.duo__outer-wrapper--image-60 {
          grid-template-columns: minmax(0, 5fr) minmax(0, 3fr);
        }

        &.duo__outer-wrapper--image-right {
          grid-template-columns: minmax(0, 5fr) minmax(0, 3fr);

          &.duo__outer-wrapper--image-60 {
            grid-template-columns: minmax(0, 3fr) minmax(0, 5fr);
          }
        }
      }

      .duo__wrapper {
        display: block;
      }
    }

    &.duo__outer-wrapper--image-right {
      .duo__image-wrapper {
        order: 2;
      }

      .duo__wrapper {
        order: 1;
      }
    }
  }
}

.duo__image-wrapper {
  display: flex;
  position: relative;
  height: auto;

  .duo__outer-wrapper--multiple-images & {
    padding-bottom: 10rem;
  }

  img {
    width: 100%;
    height: auto;
    border-radius: var(--border-radius);
    overflow: hidden;
  }

  .image-one {
    width: 60%;
  }

  .image-two {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 60%;
  }
}

.duo__wrapper {
  display: grid;
  grid-template-columns: 1fr;

  @media screen and (min-width: 750px) {
    grid-template-columns: 1fr 1fr;
    gap: 6rem;
  }

  @media screen and (min-width: 990px) {
    grid-template-columns: minmax(0, 3fr) minmax(0, 5fr);
  }

  .title-wrapper--no-top-margin {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;

    h1 {
      font-weight: var(--font-hero-weight);

      strong {
        font-weight: var(--font-hero-weight);
      }
    }
  }

  .title {
    padding-right: 15%;

    @media screen and (min-width: 990px) {
      padding-right: 13%;
    }
  }

  .intro-text {
    margin-top: 0;
    margin-bottom: 0;

    &:has(+ .rte),
    &:has(+ .button) {
      margin-bottom: 3rem;
    }

    @media screen and (min-width: 990px) {
      padding-right: 15%;
    }
  }

  .duo__text-wrapper {
    container-type: inline-size;
    container-name: duo-text-container;

    >.rte {
      container-type: inline-size;
      container-name: rte-container;

      &:has(+ .button),
      &:has(+ .steps) {
        margin-bottom: 3rem;
      }
    }
  }

  .steps {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;

    &:has(+ .button) {
      margin-bottom: 3rem;
    }

    .step {
      display: flex;
      align-items: center;
      gap: 1.2rem;
      padding: 1rem;
      border: 1px solid rgb(var(--color-foreground));
      border-radius: 1rem;

      .step__number {
        width: 5.6rem;
        height: 5.6rem;
        background-color: var(--color-tertiary);
        color: var(--color-primary);
        flex-shrink: 0;
        border-radius: 1rem;
        font-size: 3rem;
        display: flex;
        justify-content: center;
      }
    }
  }
}

@container duo-text-container (min-width: 600px) {
  .rte:not(.rte--intro) {
    columns: 2;
    column-gap: 2rem;
    column-fill: balance;
  }
}
