.no-scrollbar {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.no-scrollbar::-webkit-scrollbar {
  display: none;
}

@keyframes cd-pop {
  0% { transform: scale(1); }
  40% { transform: scale(1.12); }
  100% { transform: scale(1); }
}

.cd-pop {
  animation: cd-pop .35s ease;
}

.hero-carousel-slide {
  transition: opacity .75s cubic-bezier(.4, 0, .2, 1), transform .75s cubic-bezier(.4, 0, .2, 1);
  transform: scale(.94);
}

.hero-carousel-slide.is-active {
  opacity: 1;
  transform: scale(1);
  z-index: 10;
}

.hero-carousel-slide:not(.is-active) {
  opacity: 0;
  z-index: 0;
}

.hero-stage {
  background:
    radial-gradient(ellipse 80% 60% at 50% 100%, rgba(51, 156, 215, .14), transparent 70%),
    linear-gradient(180deg, #ffffff 0%, #ecf5fb 100%);
}

.hero-stage::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 35%, rgba(51, 156, 215, .12), transparent 55%);
  pointer-events: none;
}

@keyframes dni-tape {
  0% { background-position: 0 0; }
  100% { background-position: 48px 0; }
}

.dni-tape {
  background-image: repeating-linear-gradient(
    -45deg,
    #339cd7 0 12px,
    #1e6794 12px 24px
  );
  background-size: 48px 48px;
  animation: dni-tape .55s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
  .dni-tape {
    animation: none;
  }

  .cd-pop {
    animation: none;
  }

  .hero-carousel-slide {
    transition: none;
    transform: none;
  }
}

@supports (padding: env(safe-area-inset-bottom)) {
  #stickyCta {
    padding-bottom: calc(0.75rem + env(safe-area-inset-bottom));
  }

  #modal > .relative {
    padding-bottom: env(safe-area-inset-bottom);
  }
}

