html {
  scroll-padding-top: 80px;
}

html:not(.js) .animate-on-scroll {
  opacity: 1 !important;
  transform: none !important;
}

@keyframes jstMenuIn {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}

#mobileMenu.is-open {
  display: block !important;
  position: fixed !important;
  top: 72px !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 60 !important;
  overflow-y: auto !important;
  background: rgba(255, 255, 255, 0.98) !important;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  animation: jstMenuIn 0.28s cubic-bezier(.4, 0, .2, 1);
}

body.menu-open {
  overflow: hidden;
  touch-action: none;
}

#navToggle:focus-visible,
#mobileMenu a:focus-visible {
  outline: 2px solid #A8B5A0;
  outline-offset: 2px;
  border-radius: 4px;
}

.faq-answer {
  display: grid;
  grid-template-rows: 0fr;
  max-height: none !important;
  transition: grid-template-rows 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

.faq-answer > * {
  overflow: hidden;
}

.faq-item.active .faq-answer {
  grid-template-rows: 1fr;
}

@media (hover: none) {
  .hover\:-translate-y-0\.5:hover,
  .hover\:-translate-y-1:hover,
  .hover\:-translate-y-1\.5:hover,
  .hover\:scale-105:hover,
  .hover\:scale-110:hover {
    transform: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }

  .animate-on-scroll {
    opacity: 1 !important;
    transform: none !important;
  }
}
