@layer base {
  html,
  body {
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;
  }

  body {
    overscroll-behavior: none;
  }

  main > :first-child {
    margin-top: 0 !important;
  }

  main > :last-child {
    margin-bottom: 0 !important;
  }
}

::-webkit-scrollbar {
  display: none;
}

html {
  scrollbar-width: none;
}

.js-reveal {
  opacity: 0;
  transform: translateY(1.5rem);
  transition: opacity 700ms ease, transform 700ms ease;
}

.js-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.project-card.is-hidden {
  display: none;
}

.project-filter.filter-active {
  background-color: #c8a96b;
  border-color: #c8a96b;
  color: #0e0e0e;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .js-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
