/* Animations */
@keyframes fadeIn {
    from {
      opacity: 0;
      transform: translateY(2rem);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  @keyframes fadeInLeft {
    from {
      opacity: 0;
      transform: translateX(-2rem);
    }
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }
  
  @keyframes fadeInRight {
    from {
      opacity: 0;
      transform: translateX(2rem);
    }
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }
  
  @keyframes pulse {
    0% {
      transform: scale(1);
    }
    50% {
      transform: scale(1.05);
    }
    100% {
      transform: scale(1);
    }
  }
  
  /* Animation on Load */
  .animate-on-load {
    opacity: 0;
    animation: fadeIn 0.8s ease forwards;
  }
  
  .animate-on-load.delay-1 {
    animation-delay: 0.3s;
  }
  
  .animate-on-load.delay-2 {
    animation-delay: 0.6s;
  }
  
  .animate-on-load.delay-3 {
    animation-delay: 0.9s;
  }
  
  /* Animation on Scroll */
  .animate-on-scroll {
    opacity: 0;
    transform: translateY(4rem);
    transition: opacity 0.6s ease, transform 0.6s ease;
  }
  
  .animate-on-scroll.show {
    opacity: 1;
    transform: translateY(0);
  }
  
  /* Other Element Animations */
  .section-divider {
    position: relative;
    overflow: hidden;
  }
  
  .section-divider::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.3);
    transform: skewX(-25deg);
    animation: shine 3s infinite;
  }
  
  @keyframes shine {
    0% {
      left: -100%;
    }
    20% {
      left: 100%;
    }
    100% {
      left: 100%;
    }
  }
  
  /* Button Hover Animation */
  .cta-button, .submit-button {
    position: relative;
    overflow: hidden;
  }
  
  .cta-button::before, .submit-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
      90deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.2) 50%,
      rgba(255, 255, 255, 0) 100%
    );
    transition: left 0.7s ease;
  }
  
  .cta-button:hover::before, .submit-button:hover::before {
    left: 100%;
  }
  
  /* Card Hover Effects */
  .service-card:hover .service-icon,
  .team-card:hover .team-info h3,
  .contact-card:hover .contact-icon {
    animation: pulse 0.8s ease;
  }
  
  /* Form Field Focus Animation */
  .form-group input:focus + label,
  .form-group textarea:focus + label {
    color: var(--primary-blue);
    transform: translateY(-2rem) scale(0.9);
  }