@property --angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}
.banner-v183__text {
  position: relative;
  box-shadow: 0 0 1.5rem rgba(110, 110, 110, 0.1490196078);
  padding: 4.5rem 6rem 5rem;
  text-align: left;
  background: rgba(var(--color-background));
  margin-top: 1rem;
}
@media (max-width: 767px) {
  .banner-v183__text {
    padding: 2.5rem 2rem 2rem;
  }
}

@media (max-width: 991px) {
  xo-grid:has(.banner-v183__item) {
    row-gap: 0;
  }
}

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

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

.banner-v183__item {
  position: relative;
}

.banner-v183__subtitle {
  display: inline-block;
  margin-bottom: 0.5rem;
  font-size: calc(var(--font-body-scale) * 1.8rem);
  font-style: italic;
}

.banner-v183__description {
  font-size: clamp(1.6rem, calc(0.25vw + 1.5rem), 1.8rem);
  font-weight: 400;
  margin-bottom: 3rem;
  padding: 0 2rem 0 0;
}

.banner-v183__title {
  font-weight: 600;
  font-family: var(--font-custom-family);
  font-size: clamp(3rem, calc(1.25vw + 2.5rem), 4rem);
  color: rgba(var(--color-foreground));
  margin-bottom: 2rem;
  filter: drop-shadow(0px 0px 0px currentColor);
}

.banner-v183__content {
  display: flex;
  text-align: center;
  gap: 3rem;
}
@media (max-width: 575px) {
  .banner-v183__content {
    flex-direction: column;
    gap: 0;
  }
}

.banner-v183__content-price {
  font-size: calc(var(--font-body-scale) * 3rem);
  font-weight: 500;
  display: inline-block;
  margin-right: 3rem;
  color: rgba(var(--color-accent));
}
@media (max-width: 767px) {
  .banner-v183__content-price {
    margin-bottom: 3rem;
    margin-right: 0;
  }
}

@keyframes spin {
  from {
    --angle: 0deg;
  }
  to {
    --angle: 360deg;
  }
}