.banner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 400px;
  position: relative;

  .banner-content {
    width: 100%;
    position: absolute;

    .content-wrapper {
      width: 100%;
      max-width: 1000px;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      gap: 32px;

      .title-wrapper {
        display: flex;
        flex-direction: column;
        gap: 32px;
        text-align: center;

        .title {
          font-size: 52px;
          font-weight: bold;
          line-height: 120%;
        }

        .desc {
          font-size: 20px;

          line-height: 150%;
        }
      }
    }
  }

  .banner-image {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
}

@media screen and (max-width: 480px) {
  .banner {
    height: 400px;

    .banner-content {
      padding: 0 24px;
      height: 100%;
      display: flex;
      align-items: center;
      .content-wrapper {
        .title-wrapper {
          .title {
            font-size: 32px;
          }
          .desc {
            font-size: 16px;
          }
        }
      }
    }

    .button-line-wrapper {
      padding: 0;
    }
  }
}
