/* ================= NAVBAR ================= */

/* position:fixed em vez de sticky: sticky quebra com uma variedade de
   situações de ancestrais (overflow, transform, filter etc. em qualquer
   elemento entre o nav e o viewport) e não é confiável em todos os
   navegadores. fixed garante o cabeçalho sempre visível e clicável,
   em qualquer ponto de rolagem da página. */
.nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  background: rgba(10, 10, 10, .88);
  backdrop-filter: blur(20px) saturate(1.5);
  border-bottom: 1px solid var(--border);
  transition: background .3s var(--ease-out);
}

/* Compensa o espaço que o nav deixou de ocupar no fluxo normal ao virar
   fixed, mantendo o restante da página exatamente na mesma posição
   visual de antes (equivalente ao comportamento em repouso do sticky). */
body {
  padding-top: var(--nav-height);
}
.nav.scrolled {
  background: rgba(10, 10, 10, .97);
}

.nav__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 66px;
}

.brand {
  font-family: var(--font-display);
  font-size: 1.75rem;
  letter-spacing: .04em;
  color: #fff;
}
.brand span {
  color: var(--red);
}

.nav__links {
  display: flex;
  gap: 0;
}
.nav__links a {
  color: var(--text-muted);
  font-family: var(--font-sub);
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  /* padding vertical maior que o original: aproxima o alvo de toque dos
     ~44px recomendados para dedo em touchscreen, sem alterar a altura de
     66px do .nav__inner (centralizado via align-items:center). */
  padding: .75rem 1rem;
  position: relative;
  transition: color .2s;
}
.nav__links a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 1rem;
  right: 1rem;
  height: 1px;
  background: var(--red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s var(--ease-out);
}
.nav__links a:hover {
  color: #fff;
}
.nav__links a:hover::after {
  transform: scaleX(1);
}
