.flex-content {
  background-color: var(--color-background);
  background-image: var(--background-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  text-align: center;
  padding: 60px 0;
  color: var(--color-foreground);

  @media (min-width: 768px) {
    padding: 160px 0;
  }

  .flex-content__inner {
    display: grid;
    grid-gap: 28px;
    align-items: center;
  }

  .flex-content__content {
    display: flex;
    flex-direction: column;
    gap: 28px;
  }

  .flex-content__copy {
    p:not(:last-of-type) {
      margin-bottom: 1rem;
    }
  }

  &.flex-content--1col {
    .flex-content__inner {
      max-width: 560px;
      margin: 0 auto;
    }
  }

  &.flex-content--2col {
    .flex-content__inner {
      @media (min-width: 768px) {
        grid-gap: 40px;
        grid-template-columns: repeat(2, 1fr);
      }

      @media (min-width: 1024px) {
        grid-gap: 100px;
      }
    }
  }

  .flex-content__assets:has(> :nth-child(2)) {
    display: flex;
    flex-direction: column;
    gap: 54px;

    @media (min-width: 768px) {
      flex-direction: row;

      > :nth-child(2) {
        margin-top: 150px;
      }

      .flex-content__asset {
        flex-grow: 1;
        flex-basis: 0;
      }
    }
  }

  img,
  video {
    max-width: 200px;
    height: auto;

    @media (min-width: 768px) {
      max-width: 100%;
    }
  }

  p {
    font-size: 0.875rem;
    line-height: 1.35rem;
  }

  a.button {
    align-self: center;
  }
}
