.text-image-column__container {
  display: flex;
  flex-direction: column;
  gap: var(--box-gap);

  .text-image-column__body {
    --block-gap: 4rem;
    --context-gap: 4.5rem;
    --content-gap: 3.5rem;
    display: flex;
    flex-direction: column;
    gap: var(--box-gap);

    .text-image-column__block {
      align-items: center;
      display: grid;
      gap: var(--box-gap);
      grid-template-columns: repeat(2, 1fr);
      justify-content: space-between;
    }

    .text-image-column__image-wrapper {
      order: var(--image-order, 0);
      width: 100%;

      img {
        height: auto;
        width: 100%;
      }

      .text-image-column__image-inner {
        display: grid;
        grid-template-columns: repeat(9, 1fr);
        max-width: var(--image-size, 100%);

        .text-image-column__image-container {
          grid-area: 1 / 1 / 1 / 10;
          margin: var(--image-margin, 0);
          max-width: var(--image-size, 100%);
          position: relative;
          width: 100%;

          .text-image-column__image-media {
            padding-bottom: 100%;
            position: relative;
            width: 100%;

            &.text-image-column__image-round {
              border-radius: 50%;
              overflow: hidden;
            }

            .text-image-column__image {
              height: 100%;
              left: 50%;
              position: absolute;
              top: 50%;
              translate: -50% -50%;
              width: 100%;
            }
          }

          .text-image-column__image-bagde {
            height: auto;
            position: absolute;
            right: var(--badge-right, 0);
            top: var(--badge-top, 0);
            translate: var(--badge-translate, 22% -37%);
            width: var(--badge-width, 30rem);
          }
        }

        .text-image-column__text-image-column {
          display: flex;
          flex-direction: column;
          font-size: var(--block-size, 1.4rem);
          font-weight: var(--block-weight);
          gap: var(--block-gap, 2rem);
          grid-area: 1 / 1 / 1 / 6;
          justify-content: center;
          line-height: var(--block-height, 1.1);
          z-index: 2;

          .text-image-column__image-block {
            border-bottom: 1px solid currentColor;
            padding-bottom: 1rem;
          }
        }
      }
    }

    .text-image-column__image-block {
      font-size: var(--block-size, 1.8rem);
      font-weight: var(--block-weight);
      line-height: var(--block-height, 1.1);
    }

    .text-image-column__context-wrapper {
      display: flex;
      flex-direction: column;
      gap: var(--context-gap, 2rem);
      line-height: 1.8;

      .text-image-column__heading {
        font-size: var(--heading-size, 1.4rem);
        font-weight: var(--heading-weight);
        line-height: var(--heading-height, 1.3);
      }

      .text-image-column__content {
        display: grid;
        font-size: var(--content-size, 2rem);
        font-weight: var(--content-weight);
        gap: var(--content-gap, 2rem);
        line-height: var(--content-height, 1.75);

        a {
          color: inherit;
        }

        b,
        strong {
          font-weight: var(--content-bold-weight, 400);
        }
      }

      .text-image-column__text-image-column {
        display: grid;
        gap: 3rem;

        .text-image-column__image-block {
          align-items: center;
          display: grid;
          gap: 1.3em;
          grid-template-columns: 1.6em 1fr;
        }
      }
    }

    @media screen and (width < 1024px) {
      .text-image-column__block {
        grid-template-columns: 100%;
      }

      .text-image-column__image-wrapper {
        --badge-right: 50%;
        --badge-translate: 50% -30%;
        --badge-width: 29rem;

        .text-image-column__image-inner {
          margin: 0 auto;

          .text-image-column__text-image-column {
            grid-area: 1 / 1 / 1 / 4;
            margin-left: -9rem;
          }
        }
      }
    }

    @media screen and (width < 768px) {
      .text-image-column__image-wrapper {
        --badge-right: 0;
        --badge-translate: 10% -42%;
        --badge-width: 22rem;

        .text-image-column__image-inner .text-image-column__text-image-column {
          grid-area: 1 / 1 / 1 / 7;
          margin-left: 0rem;
        }
      }
    }
  }
}