:root {
  --nav-bg: rgba(19, 4, 107, 0.75);
  --nav-text: #ffffff;       
  --nav-accent: #c89cec;     
  --nav-hover: rgba(124, 3, 194, 0.212);     
  --nav-border: #374151;      
  --nav-shadow: 0 6px 24px rgba(0, 0, 0, 0.06);
}

.site-navbar {
  position: sticky;
  top: 0;
  z-index: 1030;
  backdrop-filter: saturate(180%) blur(10px);
  -webkit-backdrop-filter: saturate(180%) blur(10px);
  background: var(--nav-bg);
  border-bottom: 1px solid var(--nav-border);
  box-shadow: var(--nav-shadow);
}

.site-navbar .navbar-collapse {
  background: transparent;
}

.site-navbar .navbar-nav .nav-link {
  color: var(--nav-text) !important;
  font-weight: 500;
  letter-spacing: 0.01em;
  padding: .6rem .9rem;
  border-radius: .6rem;
  position: relative;
  transition: background-color .2s ease, color .2s ease, transform .05s ease;
  text-decoration: none;
}

.site-navbar .navbar-nav .nav-link:hover {
  background-color: var(--nav-hover);
  text-decoration: none;
}

.site-navbar .navbar-nav .nav-link:active {
  transform: translateY(1px);
}

/* underlines on hover */
.site-navbar .navbar-nav .nav-link::after {
  content: "";
  position: absolute;
  left: .9rem;
  right: .9rem;
  bottom: .35rem;
  height: 2px;
  background: transparent;
  transition: background-color .2s ease, width .2s ease;
}

.site-navbar .navbar-nav .nav-link:hover::after,
.site-navbar .navbar-nav .nav-link:focus::after {
  background: var(--nav-accent);
}

.site-navbar .navbar-nav .nav-link.active,
.site-navbar .navbar-nav .nav-link[aria-current="page"] {
  color: var(--nav-accent) !important;
  background-color: transparent;
}

.site-navbar .navbar-nav .nav-link.active::after,
.site-navbar .navbar-nav .nav-link[aria-current="page"]::after {
  background: var(--nav-accent);
}

.site-navbar .navbar-toggler:focus {
  outline: 2px solid var(--nav-accent);
  outline-offset: 2px;
}

.site-navbar .navbar-nav {
  gap: .25rem;
}

.navbar-logo {
  height: 50px;
  width: auto;
  transition: transform .2s ease;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}

.navbar-brand:hover .navbar-logo {
  transform: scale(1.05);
}