@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;700;800&family=Inter:wght@400;500;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap');

body {
  font-family: 'Inter', sans-serif;
  background-color: #f8f9fa;
  color: #191c1d;
}

h1,
h2,
h3,
.font-headline {
  font-family: 'Manrope', sans-serif;
}

.font-body {
  font-family: 'Inter', sans-serif;
}

.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  vertical-align: middle;
}

.glass-nav,
.glass-header {
  background: rgba(248, 249, 250, 0.8);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
}

.nav-link-active {
  color: #1d4ed8 !important;
  border-bottom: 2px solid #1d4ed8;
  padding-bottom: 0.25rem;
}

.dark .nav-link-active {
  color: #60a5fa !important;
  border-color: #60a5fa;
}

.footer-link-active {
  color: #1d4ed8 !important;
  font-weight: 600;
}

.dark .footer-link-active {
  color: #60a5fa !important;
}

[data-reveal] {
  opacity: 0;
  transform: translateY(32px) scale(0.98);
  transition: opacity 400ms ease-out, transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--reveal-delay, 0ms);
}

[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal],
  [data-reveal].is-visible {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
