@keyframes hero-child-enter {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

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

  50% {
    transform: translateY(-8px);
  }
}

@keyframes orbit-pulse {
  0%,
  100% {
    opacity: 0.45;
    transform: scale(1);
  }

  50% {
    opacity: 0.85;
    transform: scale(1.06);
  }
}

@keyframes floating-card-one {
  0%,
  100% {
    transform: translate3d(0, 0, 0) rotate(-1deg);
  }

  50% {
    transform: translate3d(-4px, -12px, 0) rotate(1deg);
  }
}

@keyframes floating-card-two {
  0%,
  100% {
    transform: translate3d(0, 0, 0) rotate(1deg);
  }

  50% {
    transform: translate3d(5px, 10px, 0) rotate(-1deg);
  }
}

@keyframes chart-rise {
  from {
    opacity: 0.25;
    transform: scaleY(0.08);
  }

  to {
    opacity: 1;
    transform: scaleY(1);
  }
}

@keyframes marketplace-float {
  0%,
  100% {
    transform: translateY(0) rotate(0);
  }

  50% {
    transform: translateY(-9px) rotate(3deg);
  }
}

@keyframes button-shine {
  from {
    transform: translateX(-160%) skewX(-18deg);
  }

  to {
    transform: translateX(360%) skewX(-18deg);
  }
}

.hero__content.is-visible > .eyebrow,
.hero__content.is-visible > h1,
.hero__content.is-visible > .hero__lead,
.hero__content.is-visible > .hero__actions,
.hero__content.is-visible > .hero__assurances {
  opacity: 0;
  animation: hero-child-enter 720ms cubic-bezier(0.2, 0.75, 0.25, 1) forwards;
}

.hero__content.is-visible > h1 {
  animation-delay: 90ms;
}

.hero__content.is-visible > .hero__lead {
  animation-delay: 180ms;
}

.hero__content.is-visible > .hero__actions {
  animation-delay: 270ms;
}

.hero__content.is-visible > .hero__assurances {
  animation-delay: 360ms;
}

.hero-visual.is-visible .dashboard-shell {
  animation: dashboard-float 7s ease-in-out 700ms infinite;
}

.hero-orbit--one {
  animation: orbit-pulse 5s ease-in-out infinite;
}

.hero-orbit--two {
  animation: orbit-pulse 5s ease-in-out 1.4s infinite reverse;
}

.floating-card--order {
  animation: floating-card-one 4.6s ease-in-out 900ms infinite;
}

.floating-card--stock {
  animation: floating-card-two 5.2s ease-in-out 1.2s infinite;
}

.chart span {
  transform-origin: bottom;
  animation: chart-rise 850ms cubic-bezier(0.2, 0.8, 0.3, 1) both;
}

.chart span:nth-child(2) {
  animation-delay: 80ms;
}

.chart span:nth-child(3) {
  animation-delay: 160ms;
}

.chart span:nth-child(4) {
  animation-delay: 240ms;
}

.chart span:nth-child(5) {
  animation-delay: 320ms;
}

.chart span:nth-child(6) {
  animation-delay: 400ms;
}

.chart span:nth-child(7) {
  animation-delay: 480ms;
}

.chart span:nth-child(8) {
  animation-delay: 560ms;
}

.marketplace-node {
  animation: marketplace-float 4s ease-in-out infinite;
}

.marketplace-node:nth-of-type(2) {
  animation-delay: -800ms;
}

.marketplace-node:nth-of-type(3) {
  animation-delay: -1600ms;
}

.marketplace-node:nth-of-type(4) {
  animation-delay: -2400ms;
}

.marketplace-node:nth-of-type(5) {
  animation-delay: -3200ms;
}

.button:not(.button--disabled) {
  position: relative;
  overflow: hidden;
}

.button:not(.button--disabled)::after {
  position: absolute;
  inset: -40% auto -40% -35%;
  width: 22%;
  content: "";
  background: linear-gradient(90deg, transparent, rgb(255 255 255 / 32%), transparent);
  transform: translateX(-160%) skewX(-18deg);
}

.button--primary:not(.button--disabled)::after,
.button--light:not(.button--disabled)::after {
  animation: button-shine 4.8s ease-in-out 1.2s infinite;
}

.trust-grid > .reveal,
.feature-grid > .reveal,
.security-cards > .reveal {
  transition-delay: var(--reveal-delay, 0ms);
}

.trust-grid > div,
.feature-grid article,
.solution-card,
.package-card {
  will-change: transform, opacity;
}

.solution-card:hover .solution-icon {
  transform: rotate(-6deg) scale(1.08);
}

.solution-icon {
  transition: transform 220ms ease;
}
