/* Keyframe Animations */
@keyframes float {
    0% {
        transform: translateY(0) rotate(0deg);
    }
    50% {
        transform: translateY(-20px) rotate(5deg);
    }
    100% {
        transform: translateY(0) rotate(0deg);
    }
}

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

@keyframes pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
    100% {
        transform: scale(1);
    }
}

:root {
  /* Animation Properties */
  --hover-anim-duration: 0.6s;
  --hover-anim-easing: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --word-anim-delay: 0.1s;
  --word-anim-duration: 0.8s;
}

.hero-title {
  transition: all 0.3s ease;
}

/* Hover-triggered animations */
.hero:hover .hero-title .solutions {
  display: inline-block;
  animation: wordPop var(--word-anim-duration) var(--hover-anim-easing) calc(var(--word-anim-delay) * 0) forwards;
}

.hero:hover .hero-title .today {
  display: inline-block;
  animation: wordPop var(--word-anim-duration) var(--hover-anim-easing) calc(var(--word-anim-delay) * 1) forwards;
}

.hero:hover .hero-title .success {
  display: inline-block;
  animation: wordPop var(--word-anim-duration) var(--hover-anim-easing) calc(var(--word-anim-delay) * 2) forwards;
}

.hero:hover .hero-title .tomorrow {
  display: inline-block;
  animation: wordPop var(--word-anim-duration) var(--hover-anim-easing) calc(var(--word-anim-delay) * 3) forwards;
}

@keyframes wordPop {
  0% {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
  50% {
    transform: translateY(-8px) scale(1.05);
    opacity: 0.9;
  }
  100% {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
}

/* Container animation on hover */
.hero-content {
  transition: transform var(--hover-anim-duration) var(--hover-anim-easing);
}

.hero:hover .hero-content {
  transform: translateY(-5px);
}
.hero-image {
    animation: fadeIn 1s ease-out 0.3s forwards;
    opacity: 0;
}

.hero-title span {
    display: inline-block;
}

.stat-item {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.5s ease;
}

.stat-item.animated {
    opacity: 1;
    transform: translateY(0);
}

.scale-on-scroll {
    transform: scale(0.95);
    transition: transform 0.5s ease, opacity 0.5s ease;
    opacity: 0.8;
}

.scale-on-scroll.animated {
    transform: scale(1);
    opacity: 1;
}

.parallax {
    transition: transform 0.3s ease-out;
}

/* Delay Animations */
.hero-buttons a:nth-child(1) {
    animation: fadeIn 0.8s ease-out 0.6s forwards;
    opacity: 0;
}

.hero-buttons a:nth-child(2) {
    animation: fadeIn 0.8s ease-out 0.9s forwards;
    opacity: 0;
}

.features-list li:nth-child(1) {
    animation: fadeIn 0.5s ease-out 0.3s forwards;
    opacity: 0;
}

.features-list li:nth-child(2) {
    animation: fadeIn 0.5s ease-out 0.6s forwards;
    opacity: 0;
}

.features-list li:nth-child(3) {
    animation: fadeIn 0.5s ease-out 0.9s forwards;
    opacity: 0;
}

.features-list li:nth-child(4) {
    animation: fadeIn 0.5s ease-out 1.2s forwards;
    opacity: 0;
}

.client-logos .logo-item:nth-child(1) {
    animation: fadeIn 0.5s ease-out 0.3s forwards;
    opacity: 0;
}

.client-logos .logo-item:nth-child(2) {
    animation: fadeIn 0.5s ease-out 0.4s forwards;
    opacity: 0;
}

.client-logos .logo-item:nth-child(3) {
    animation: fadeIn 0.5s ease-out 0.5s forwards;
    opacity: 0;
}

.client-logos .logo-item:nth-child(4) {
    animation: fadeIn 0.5s ease-out 0.6s forwards;
    opacity: 0;
}

.client-logos .logo-item:nth-child(5) {
    animation: fadeIn 0.5s ease-out 0.7s forwards;
    opacity: 0;
}