.banner-v41 {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(var(--color-background));
  color: #333;
  max-width: 60%;
  margin: 0 auto;
  padding: 5rem 0;
}
@media (max-width: 767px) {
  .banner-v41 {
    max-width: 100%;
    padding: 2rem;
  }
}

.banner-v41__icon {
  margin: 0 auto;
  max-width: 20rem;
}
.banner-v41__icon .xo-image {
  width: 100%;
}
.banner-v41__icon .xo-image img {
  transition: 0.3s;
}
@media (max-width: 767px) {
  .banner-v41__icon {
    max-width: 12rem;
  }
}

.banner-v41__title {
  font-size: clamp(4.2rem, calc(3.25vw + 2.9rem), 6.8rem);
  margin-bottom: 2rem;
  font-weight: 500;
  transition: 0.3s;
  letter-spacing: 0.1rem;
  text-align: center;
  line-height: 1.5;
}

.banner-v41__title:hover {
  color: rgba(var(--color-accent));
}

.banner-v41__description {
  font-size: clamp(1.6rem, calc(1vw + 1.2rem), 2.4rem);
  max-width: 65rem;
  text-align: center;
  font-weight: 300;
  line-height: 2.8rem;
  color: rgba(var(--color-foreground), 1);
  letter-spacing: 0.1rem;
}