:root {
  --gg-green: #5b2166;
  --gg-green-dark: #2d1238;
  --gg-gold: #8a4f1d;
  --gg-gold-fill: #e1bd78;
  --gg-cream: #fff9f2;
}

body > header {
  min-height: 72px;
}

body > header .logo .tag {
  color: var(--gg-gold);
  letter-spacing: 2.2px;
}

body > header > nav {
  gap: clamp(12px, 1.45vw, 24px);
  font-size: clamp(12px, .92vw, 14px);
}

body > header > nav a {
  position: relative;
}

body > header > nav a:not(.give)::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -8px;
  left: 0;
  height: 2px;
  background: var(--gg-gold);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .18s ease;
}

body > header > nav a:not(.give):hover::after,
body > header > nav a:not(.give):focus-visible::after,
body > header > nav a[aria-current="page"]::after {
  transform: scaleX(1);
}

body > header > nav .give {
  border-radius: 8px;
  background: var(--gg-gold-fill);
  color: #2d1238 !important;
}

body > header > nav .campus-link {
  padding: 12px 17px;
  border: 2px solid var(--gg-green);
  border-radius: 8px;
  background: var(--gg-green);
  color: #ffffff !important;
}

body > header > nav .campus-link::after { display: none; }

@media (max-width: 1420px) and (min-width: 1201px) {
  body > header {
    padding-right: 18px;
    padding-left: 18px;
  }

  body > header .logo {
    min-width: 230px;
  }

  body > header > nav {
    gap: 11px;
    font-size: 12px;
  }

  body > header > nav .give {
    padding: 11px 14px;
  }
}

@media (max-width: 1200px) {
  body > header > nav a:not(.give)::after {
    display: none;
  }

  body > header > nav a[aria-current="page"] {
    background: rgba(91, 33, 102, .12);
  }
  body > header > nav .campus-link { justify-content: center; margin-top: 4px; }
}
