* {
  font-family: 'Funnel Display', sans-serif;

}


.bbx-advantage-btn {
  --font-size: 16px;
  --duration: 0.44s;
  --move-hover: -4px;
  --font-shadow: var(--font-size);
  transform: translateY(var(--y)) translateZ(0);
}

.bbx-advantage-btn:hover {
  --y: var(--move-hover);
}

/* text animation only */
.bbx-text div {
  display: flex;
  overflow: hidden;
  text-shadow: 0 var(--font-shadow) 0 currentColor;
}

.bbx-text span {
  display: block;
  backface-visibility: hidden;
  transform: translateY(var(--m)) translateZ(0);
  transition: transform var(--duration) ease;
}

.bbx-advantage-btn:hover .bbx-text span {
  --m: calc(var(--font-size) * -1);
}

/* stagger */
.bbx-text span:nth-child(n) {
  transition-delay: calc(0.05s * var(--i));
}

/* Mobile: vertical line growth */
@keyframes lineGrowVertical {
  0% {
    height: 0;
  }

  100% {
    height: calc(100% - 4rem);
  }
}

/* Desktop: horizontal line growth */
@keyframes lineGrowHorizontal {
  0% {
    width: 0;
  }

  100% {
    width: calc(100% - 4rem);
  }
}

/* Animate class for vertical (default mobile) */
.animate-line {
  animation: lineGrowVertical 3s ease forwards;
}

/* Override on desktop using media query */
@media (min-width: 1024px) {
  .animate-line {
    animation: lineGrowHorizontal 3s ease forwards;
  }
}