body {
  font-family: "Inter", sans-serif;
  background-color: #f7f9ff;
  color: #111d28;
}

.js [data-reveal] {
  opacity: 0;
  transform: translateY(12px);
  transition:
    opacity 260ms ease,
    transform 320ms ease;
  transition-delay: var(--reveal-delay, 0ms);
}

.js [data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

.js [data-reveal="image"] {
  transform: translateY(10px) scale(0.985);
}

.js [data-reveal="image"].is-visible {
  transform: translateY(0) scale(1);
}

.font-headline {
  font-family: "Plus Jakarta Sans", sans-serif;
}

.material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

.glass-nav {
  backdrop-filter: blur(20px);
}

.mobile-nav-panel {
  overflow: hidden;
  transition:
    max-height 220ms ease,
    opacity 220ms ease,
    transform 220ms ease;
}

.mobile-nav-panel[aria-hidden="true"] {
  max-height: 0;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-0.5rem);
}

.mobile-nav-panel[aria-hidden="false"] {
  max-height: 24rem;
  opacity: 1;
  transform: translateY(0);
}

.menu-line {
  display: block;
  width: 1.1rem;
  height: 2px;
  border-radius: 9999px;
  background-color: currentColor;
}

#mobile-menu-button {
  touch-action: manipulation;
}

@media (prefers-reduced-motion: reduce) {
  .js [data-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .mobile-nav-panel {
    transition: none;
  }
}
