@keyframes fadeSlideUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes float {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

.anim-fade-up {
  opacity: 0;
  transform: translateY(24px);
}

.anim-fade-up.is-visible {
  animation: fadeSlideUp 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.anim-stagger-1 { animation-delay: 0.05s; }
.anim-stagger-2 { animation-delay: 0.12s; }
.anim-stagger-3 { animation-delay: 0.19s; }
.anim-stagger-4 { animation-delay: 0.26s; }
.anim-stagger-5 { animation-delay: 0.33s; }
.anim-stagger-6 { animation-delay: 0.40s; }

.anim-float {
  animation: float 5s ease-in-out infinite;
}

.anim-float-slow {
  animation: float 7s ease-in-out infinite;
  animation-delay: -2s;
}

.anim-hero-1 {
  animation: fadeSlideUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: 0.1s;
  opacity: 0;
}

.anim-hero-2 {
  animation: fadeSlideUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: 0.25s;
  opacity: 0;
}

.anim-hero-3 {
  animation: fadeSlideUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: 0.4s;
  opacity: 0;
}

.anim-hero-4 {
  animation: fadeSlideUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: 0.55s;
  opacity: 0;
}

.marquee-outer {
  overflow-x: clip;
  overflow-y: visible;
  width: 100%;
  padding-bottom: 1.25rem;
}

.marquee-outer .widget_customerlogos_logo {
  height: 2.75rem;
  width: auto;
  filter: none;
}

.marquee-outer .widget_customerlogos_logo.is-flatiron {
  height: 1.75rem;
}

.marquee-outer .widget_customerlogos_logo.is-guidewheel,
.marquee-outer .widget_customerlogos_logo.is-informdata {
  height: 1.5rem;
}

.marquee-outer .link-block-3.is-oct25home {
  position: relative;
}

.marquee-outer .case-pill {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 100%;
  margin-top: 2px;
  max-width: 62px;
  padding: 1px 5px 1px 7px;
}

.marquee-outer .case-pill-text {
  font-size: 8px;
}

.marquee-track > * {
  flex-shrink: 0;
}

.marquee-track {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  width: max-content;
  animation: marquee 28s linear infinite;
}

.marquee-track:hover {
  animation-play-state: paused;
}

@media (prefers-reduced-motion: reduce) {
  .anim-fade-up,
  .anim-fade-up.is-visible,
  .anim-hero-1,
  .anim-hero-2,
  .anim-hero-3,
  .anim-hero-4 {
    animation: none;
    opacity: 1;
    transform: none;
  }

  .anim-float,
  .anim-float-slow {
    animation: none;
  }

  .marquee-track {
    animation: none;
  }
}
