/* Tennessee National - Shared Styles */
html { scroll-behavior: smooth; }
body { font-family: 'Inter', system-ui, sans-serif; color: #2C2C29; -webkit-font-smoothing: antialiased; }
.font-serif { font-family: 'Playfair Display', Georgia, serif; }

/* Animations */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}
.fade-up { animation: fadeUp 0.8s ease-out forwards; }
.fade-up-delay { animation: fadeUp 0.8s ease-out 0.2s forwards; opacity: 0; }
.fade-up-delay-2 { animation: fadeUp 0.8s ease-out 0.4s forwards; opacity: 0; }

@keyframes countUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.stat-animate { opacity: 0; }
.stat-animate.visible { animation: countUp 0.6s ease-out forwards; }

@keyframes bounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-12px); }
}
.scroll-bounce { animation: bounce 2s infinite; }

/* Header */
.header-scrolled {
  background: rgba(25,50,74, 0.95) !important;
  backdrop-filter: blur(12px);
  box-shadow: 0 2px 20px rgba(0,0,0,0.15);
}

/* Image hover */
.img-zoom:hover img { transform: scale(1.05); }
.img-zoom img { transition: transform 0.5s ease; }

/* FAQ */
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.3s ease, padding 0.3s ease; }
.faq-answer.open { max-height: 500px; }

/* Page transition */
.page-enter { animation: fadeUp 0.5s ease-out forwards; }
