/* Home Page Advanced Animation Styles */

/* Hero Title Word-by-Word Animation */
.hero-title-word {
  opacity: 0;
  transform: translateY(50px) rotateX(45deg);
  animation: slideUpWords 0.8s ease-out forwards;
  display: inline-block;
  transform-origin: center bottom;
}

.hero-title-word:nth-child(1) { animation-delay: 0.3s; }
.hero-title-word:nth-child(2) { animation-delay: 0.5s; }
.hero-title-word:nth-child(3) { animation-delay: 0.7s; }
.hero-title-word:nth-child(4) { animation-delay: 0.9s; }

@keyframes slideUpWords {
  to {
    opacity: 1;
    transform: translateY(0) rotateX(0deg);
  }
}

/* Animated Grid Background */
.grid-pattern-animate {
  animation: gridPulse 4s ease-in-out infinite;
}

@keyframes gridPulse {
  0%, 100% { 
    opacity: 0.4;
    stroke-width: 1;
  }
  50% { 
    opacity: 0.7;
    stroke-width: 1.5;
  }
}

/* Hero Icon Floating Animation */
.hero-icon-float {
  animation: floatIcon 3s ease-in-out infinite;
}

@keyframes floatIcon {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  33% { transform: translateY(-8px) rotate(2deg); }
  66% { transform: translateY(8px) rotate(-2deg); }
}

/* National Teams Cards - 3D Staggered Reveals */
.team-card-container {
  opacity: 0;
  transform: translateY(100px) rotateX(45deg) scale(0.8);
  transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform-origin: center bottom;
}

.team-card-container.animate-in {
  opacity: 1;
  transform: translateY(0) rotateX(0deg) scale(1);
}

.team-card-container:nth-child(1) { transition-delay: 0.2s; }
.team-card-container:nth-child(2) { transition-delay: 0.4s; }
.team-card-container:nth-child(3) { transition-delay: 0.6s; }

/* Team Card Hover Enhancement */
.team-card-container:hover {
  transform: translateY(-10px) rotateX(-5deg) scale(1.02);
}

/* About Us Section - Split Animations */
.about-card-left {
  transform: translateX(-120px) rotate(-8deg) scale(0.9);
  opacity: 0;
  transition: all 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.about-card-right {
  transform: translateX(120px) rotate(8deg) scale(0.9);
  opacity: 0;
  transition: all 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.about-card-left.animate-in,
.about-card-right.animate-in {
  transform: translateX(0) rotate(0deg) scale(1);
  opacity: 1;
}

.about-card-left.animate-in { transition-delay: 0.2s; }
.about-card-right.animate-in { transition-delay: 0.4s; }

/* News Section - Simple Fade and Slide Up */
.news-grid-container {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.news-grid-container.animate-in {
  opacity: 1;
  transform: translateY(0);
}

.news-item {
  opacity: 0;
  transform: translateY(50px) scale(0.95);
  transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.news-item.animate-in {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Staggered animation delays for news items */
.news-item:nth-child(1) { transition-delay: 0.1s; }
.news-item:nth-child(2) { transition-delay: 0.25s; }
.news-item:nth-child(3) { transition-delay: 0.4s; }

/* CTA Button Microanimations - Shine Sweep Effect */
.cta-button-1, .cta-button-2 {
  position: relative;
  overflow: hidden;
  transform: translateX(-100px);
  opacity: 0;
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.cta-button-1.animate-in { 
  transform: translateX(0);
  opacity: 1;
  transition-delay: 1.2s;
}

.cta-button-2.animate-in { 
  transform: translateX(0);
  opacity: 1;
  transition-delay: 1.4s;
}

.cta-button-1::before,
.cta-button-2::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
  transition: left 0.6s ease;
  z-index: 1;
}

.cta-button-1:hover::before,
.cta-button-2:hover::before {
  left: 100%;
}

/* Contact and Map Section - Synchronized Animation */
.contact-map-container {
  transform: translateY(50px);
  opacity: 0;
  transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.contact-map-container.animate-in {
  transform: translateY(0);
  opacity: 1;
}

/* Individual contact info and map animations within the container */
.contact-map-container .contact-info {
  transform: translateX(-50px);
  opacity: 0;
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-delay: 0.2s;
}

.contact-map-container.animate-in .contact-info {
  transform: translateX(0);
  opacity: 1;
}

.contact-map-container .map-container {
  transform: translateX(50px) scale(0.95);
  opacity: 0;
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-delay: 0.3s;
}

.contact-map-container.animate-in .map-container {
  transform: translateX(0) scale(1);
  opacity: 1;
}

/* Enhanced Angular Divider Animation */
.angular-divider {
  position: relative;
  overflow: hidden;
}

.angular-divider::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.6), transparent);
  animation: dividerSweep 3s ease-in-out infinite;
  animation-delay: 2s;
}

@keyframes dividerSweep {
  0% { left: -100%; }
  50% { left: 100%; }
  100% { left: 100%; }
}

/* Section Title Reveal Animation */
.section-title-container {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.section-title-container.animate-in {
  opacity: 1;
  transform: translateY(0);
}

/* Performance Optimizations */
.will-animate {
  will-change: transform, opacity;
}

/* Smooth scrolling for anchor links */
html {
  scroll-behavior: smooth;
}

/* Mobile Responsive Adjustments */
@media (max-width: 768px) {
  .hero-title-word {
    transform: translateY(30px) rotateX(30deg);
  }
  
  .team-card-container,
  .about-card-left,
  .about-card-right {
    transform: translateY(50px) scale(0.95);
  }
  
  .team-card-container.animate-in,
  .about-card-left.animate-in,
  .about-card-right.animate-in {
    transform: translateY(0) scale(1);
  }
  
  .map-container {
    transform: translateY(50px) scale(0.9);
  }
  
  .map-container.animate-in {
    transform: translateY(0) scale(1);
  }

  /* Section Title Mobile Centering */
  .section-title-container {
    text-align: center;
  }
  
  .section-title-container .flex {
    justify-content: center;
  }
  
  .section-title-container .items-center {
    justify-content: center;
  }
} 