.nav__bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: var(--layer-fixed);
  background: var(--color-surface);
  border-bottom: var(--border-width) solid var(--color-border);
}

.nav__grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: var(--space-2) var(--space-gutter);
  align-items: stretch;
  width: 100%;
  max-width: var(--width-content);
  margin: 0 auto;
  padding: 0 var(--space-gutter);
  text-align: center;
}

.nav__offset {
  display: block;
  width: 100%;
  height: var(--dimension-md);
}

.nav__slot {
  min-width: 0;
}

.nav__slot--spacer {
  pointer-events: none;
}

.nav__slot--spacer .nav__item {
  border-bottom-color: transparent;
  cursor: default;
}

.nav__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: var(--space-1);
  min-height: var(--dimension-md);
  padding: var(--space-2) var(--space-1) 0;
  border-bottom: var(--border-width-strong) solid transparent;
  color: var(--color-text);
  font: var(--type-label);
  text-decoration: none;
  white-space: nowrap;
}

.nav__item:hover {
  color: var(--color-text-hover);
  border-bottom-color: color-mix(
    in srgb,
    var(--color-secondary) 55%,
    transparent
  );
}

.nav__item.is-active {
  color: var(--color-text-strong);
  border-bottom-color: var(--color-secondary);
}

/* Definite height + width breaks the circular sizing of viewBox-only SVGs. */
.nav__media {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: var(--dimension-sm);
}

.nav__media:has(img[src=""]),
.nav__media:not(:has(img)) {
  display: none;
}

.nav__logo {
  display: block;
  max-height: 100%;
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  margin: 0;
  opacity: var(--opacity-medium);
  transition: opacity 0.15s ease;
}

.nav__item:hover .nav__logo,
.nav__item.is-active .nav__logo {
  opacity: var(--opacity-strong);
}

.nav__label:empty {
  display: none;
}

.nav__item[data-variant="brand"],
.nav__item[data-variant="cta"] {
  color: var(--color-text-strong);
}
