.sports-section body {
  font-family: 'Source Sans Pro', sans-serif;
}

.sports-section {
  background-color: #f9fafb;
  padding: 60px 20px;
  color: var(--brand-dark);
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.container {
  max-width: 900px;
  margin: 0 auto;
}

.section-title {
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--brand-dark);
  margin-bottom: 1rem;
  border-left: 5px solid var(--brand-yellow);
  padding-left: 15px;
  font-family: 'Merriweather', serif;
}
.subheading {
  font-size: 1.5rem;
  margin-top: 2.5rem;
  margin-bottom: 0.5rem;
  color: var(--brand-blue-dark);
  font-family: 'Merriweather', serif;
}

.section-text {
  font-size: 1rem;
  line-height: 1.75;
}


.sports-list {
  list-style: disc;
  padding-left: 2rem;
  margin-bottom: 1.5rem;
}

.sports-list li {
  margin-bottom: 0.5rem;
}

/* Fade-in animation */
.animate-fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1s ease, transform 1s ease;
}

.animate-fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

.yellow-card {
  background-color: var(--brand-yellow);
  color: #000;
  padding: 1rem 1.5rem;
  margin: 1.5rem 0;
  border-radius: 8px;
  font-weight: 600;
  text-align: center;
  font-style: italic;
}

/* ======================
   ANIMATION BASE STATES
   ====================== */

/* Slide Up Animation */
.slide-up {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s ease-out;
}

.slide-up.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Text Fade Animation */
.text-fade {
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.4s ease-out 0.2s;
}

.text-fade.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Card Animation */
.card-animate {
  opacity: 0;
  transform: translateY(20px) scale(0.98);
  transition: all 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.card-animate.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Image Scale Animation */
.image-scale {
  opacity: 0;
  transform: scale(0.95);
  transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.image-scale.visible {
  opacity: 1;
  transform: scale(1);
}

/* Existing fade-in animation */
.animate-fade-in {
  opacity: 0;
  transition: opacity 0.6s ease-out;
}

.animate-fade-in.visible {
  opacity: 1;
}