.fa15-banner {
  display: block;
  padding: var(--PT) 0px var(--PB);

  .fa15-banner__container {
    align-items: center;
    display: grid;
    grid-template-columns: 1fr 1fr;

    .fa15-banner__badge-image {
      height: auto;
      max-width: 12rem;
    }

    .fa15-banner__heading-text {
      font-size: 13rem;
      font-weight: 300;
      line-height: 1.04;

      sup {
        font-size: 0.4em;
        vertical-align: top;
        line-height: 1;
        position: relative;
        top: 0.25em;
      }
    }

    .fa15-banner__content-text {
      font-size: 2.4rem;
      line-height: 1.6;
      margin-bottom: 4rem;
    }

    .fa15-banner__action .button {
      --button-radius: 0.7rem;
      --button-size: 1.6rem;
      --button-weight: 400;
      --PX: 2em 0.8em;
      --PY: 1.25em;
      cursor: pointer;
      min-width: 24rem;
    }

    .fa15-banner__media {
      position: relative;

      .fa15-banner__media-image {
        height: auto;
      }

      .img__accent {
        bottom: 29%;
        max-width: 600px;
        position: absolute;
        right: 50%;
        width: 39vw;
      }
    }

    @media (width < 1280px) {
      .fa15-banner__media .img__accent {
        width: 36vw;
      }
    }
  }

  @media (width < 992px) {
    .fa15-banner__container {
      grid-template-columns: 100%;

      .fa15-banner__context {
        order: 2;
        margin-top: -10rem;
        z-index: 2;
      }

      .fa15-banner__badge-image {
        max-width: 8.5rem;
      }

      .fa15-banner__heading-text {
        font-size: 9rem;
        line-height: 1.1;
      }

      .fa15-banner__content-text {
        font-size: 1.8rem;
      }

      .fa15-banner__media .img__accent {
        width: 26vw;
      }
    }
  }

  @media (width < 768px) {
    .fa15-banner__container .fa15-banner__media .img__accent {
      display: none;
    }
  }
}