.final-cta-bg {
    background: linear-gradient(115deg, #172448, #111a3b 65%, #29206c);
}

.final-cta-bg::before,
.final-cta-bg::after {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    border-radius: 45%;
    background: #5546e8;
    opacity: 0.25;
    transform: rotate(35deg);
}

.final-cta-bg::before {
    left: -100px;
    bottom: -140px;
}

.final-cta-bg::after {
    right: -120px;
    top: -140px;
}

.showcase-bg {
    /* background: linear-gradient(225deg, #abc8de 0.000%, #c7c9d8 16.667%, #e5cccf 33.333%, #ffd3c7 50.000%, #ffdbc2 66.667%, #ffe4c0 83.333%, #ffedc3 100.000%); */
    background: linear-gradient(159deg, #FAF7D5 0%, #FF6961 100%);
    /* background: linear-gradient(135deg, #ffffc4 0.000%, #ff6164 50.000%, #b00012 100.000%); */

}


@keyframes shine-infinite {
  0% {
    transform: translateX(-200px) skewX(-20deg);
  }
  100% {
    transform: translateX(200px) skewX(-20deg);
  }
}

.animate-shine-infinite {
  animation: shine-infinite 2.5s ease-in-out infinite;
}


.fade-in-card {
  opacity: 0;
  transform: scale(0.85) translateY(20px);
  transition:
    opacity 0.6s ease-out,
    transform 0.9s cubic-bezier(0.34, 1.56, 0.64, 1); /* overshoot */
  will-change: opacity, transform;
}

.fade-in-card.is-visible {
  opacity: 1;
  transform: scale(1) translateY(0);
}

.fade-in-card.is-visible:hover {
  transform: scale(1) translateY(-4px);
  box-shadow: 0 20px 40px -12px rgba(0, 0, 0, 0.12);
}

/* new */

.flip-up-card {
  opacity: 0;
  transform: perspective(1000px) rotateX(-18deg) translateY(30px);
  transform-origin: center bottom;
  transition:
    opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.flip-up-card.is-visible {
  opacity: 1;
  transform: perspective(1000px) rotateX(0) translateY(0);
}

.flip-up-card.is-visible:hover {
  transform: perspective(1000px) rotateX(0) translateY(-4px);
}