.banner-v177__text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  z-index: 10;
}

@media (max-width: 767px) {
  xo-grid:has(.banner-v177__item) {
    row-gap: 1.5rem;
  }
}

.banner-v177__btn {
  position: absolute;
  bottom: 0px;
  text-align: center;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.banner-v177__img {
  overflow: hidden;
  height: 100%;
}
.banner-v177__img a img {
  height: 100%;
  transition: transform 0.5s;
}

.banner-v177__img-link {
  display: grid;
  height: 100%;
}
@media (max-width: 992px) {
  .banner-v177__img-link {
    display: unset;
  }
}

.banner-v177__item {
  position: relative;
  height: 100%;
}
.banner-v177__item::before {
  content: "";
  background-color: rgba(255, 255, 255, 0.6);
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  top: 0;
  height: 100%;
  transition: left 0.5s ease 0s;
}

.banner-v177__item:hover .banner-v177__bg-title {
  width: 100%;
}

.banner-v177__title {
  position: relative;
  font-size: calc(var(--font-heading-scale) * var(--font-body-scale) * 6rem);
  margin-bottom: 3rem;
  color: rgb(var(--color-background));
  text-transform: uppercase;
  font-family: var(--font-custom-family);
}
@media (max-width: 991px) {
  .banner-v177__title {
    font-size: calc(var(--font-heading-scale) * var(--font-body-scale) * 4.8rem);
  }
}
@media (max-width: 767px) {
  .banner-v177__title {
    font-size: calc(var(--font-heading-scale) * var(--font-body-scale) * 4.2rem);
  }
}
@media (max-width: 575px) {
  .banner-v177__title {
    font-size: calc(var(--font-heading-scale) * var(--font-body-scale) * 3.6rem);
  }
}

.banner-v177__bg-title {
  position: absolute;
  display: block;
  height: 100%;
  background-color: rgb(var(--color-foreground));
  top: 0;
  width: 0;
  left: auto;
  z-index: -1;
  transition: 0.5s cubic-bezier(0.7, 0.13, 0.26, 0.88);
}