@import url(styles.css);

.nav-toggle {
  display: none;
  background: none;
  border: none;
  font-family: "SpaceMonoReg";
  font-size: .85rem;
  line-height: 1.375rem;
  color: var(--black);
  padding: var(--space-xs) var(--space-sm);
  cursor: pointer;
}

.nav-close {
  display: none;
  position: absolute;
  top: var(--space-md);
  right: calc(var(--space-lg) - var(--space-sm));
  background: none;
  border: none;
  font-family: "SpaceMonoReg";
  font-size: .8rem;
  line-height: 1.375rem;
  color: var(--black);
  padding: var(--space-xs) var(--space-sm);
  cursor: pointer;
}

@media only screen and (max-width: 767.98px) {
  .nav-toggle {
    display: block;
  }

  .nav-container {
    position: relative;
    z-index: 101;
  }

  .nav-toggle:has(~ .nav-links.is-open) {
    visibility: hidden;
  }

  body.nav-open {
    overflow: hidden;
  }

  body.nav-open .nav-container {
    pointer-events: none;
  }

  body.nav-open .logo {
    pointer-events: auto;
  }

  .nav-links {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-lg);
    background: var(--white);
    opacity: 0;
    transform: translateY(-16px);
    pointer-events: none;
    transition: opacity 0.35s ease, transform 0.35s ease;
  }

  .nav-links.is-open {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }

  .nav-links a {
    font-size: 1.4rem;
    line-height: 1.8rem;
    padding: var(--space-sm) var(--space-lg);
  }

  .nav-close {
    display: block;
  }
}
