.hero-bg { background-size: cover; background-position: center; }

/* Animation Utilities */
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s cubic-bezier(0.5, 0, 0, 1);
}
.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }

/* Hero Animation */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.animate-fade-up {
  animation: fadeUp 0.8s ease-out forwards;
  opacity: 0; /* Start hidden */
}

/* Typography Extras */
.prose .lead {
  font-size: 1.25em;
  line-height: 1.6;
  color: #374151; /* gray-700 */
  font-weight: 500;
  margin-bottom: 2em;
}