body {
  font-family: 'Inter', system-ui, sans-serif;
}

.font-\[Oswald\] {
  font-family: 'Oswald', sans-serif;
}

/* Scroll reveal */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Navbar scrolled state */
#navbar.scrolled {
  background: rgba(9, 9, 11, 0.85);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid #27272a;
}

/* Schedule row hover */
.schedule-row {
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.schedule-row:hover {
  background-color: rgba(249, 115, 22, 0.06);
  border-color: rgba(249, 115, 22, 0.35);
}

/* FAQ accordion */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}
.faq-item.open .faq-answer {
  max-height: 200px;
}
.faq-item.open .faq-chevron {
  transform: rotate(180deg);
}
.faq-chevron {
  transition: transform 0.3s ease;
}