.nav-link {
  position: relative;
  transition: all 0.3s ease;
  display: inline-block;
}

.nav-link:hover {
  opacity: 0.8;
}

.nav-link.active {
  font-weight: 600;
}

.nav-link.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 9vh;
  height: 2px;
  background: var(--fallback-p, oklch(var(--p)/1));
  border-radius: 1px;
}

/* Mobile responsive adjustments */
@media (max-width: 640px) {
  .nav-link {
    padding-bottom: 0.25rem;
  }

  .nav-link.active::after {
    width: 20px;
  }
}