/*  TOP BAR — the same on every page (_includes/topbar.html)
 *  ------------------------------------------------------------------
 *  Blue "E" square home, the menu in Instrument Sans, then EN / NL on
 *  every page: plain text, the current language in blue, the other in the
 *  muted blue (Ernest, 2026-10-13: a filled box read as a call to action).
 *  Self-contained, so the homepage (which doesn't load case.css) gets the
 *  same bar. Needs type.css first.
 *
 *    ┌───┐
 *    │ E │                              Work   Contact     EN / NL
 *    └───┘
 */

.topbar {
  --topbar-ink: #002FA7;
  --topbar-ground: #F5F4EC;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 32px 48px;
  color: var(--topbar-ink);
}

/* Homepage: over the hero, which keeps its full-viewport composition; the
   hero's own cream shows through. On phones the arc rises into the menu,
   so there the bar stays above the hero. */
@media (min-width: 701px) {
  .topbar--over {
    position: absolute;
    inset: 0 0 auto;
    z-index: 1;
  }
}

.topbar a:focus-visible { outline: 2px solid currentColor; outline-offset: 6px; }

.topbar__mark {
  display: flex;
  flex: none;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  background: var(--topbar-ink);
  color: var(--topbar-ground);
  text-decoration: none;
  font-family: var(--head);
  font-weight: 600;
  font-size: 28px;
  line-height: 32px;
}
.topbar__mark:hover { opacity: .68; }

.topbar__end {
  display: flex;
  align-items: center;
  gap: 40px;
}

.topbar__nav {
  display: flex;
  gap: 40px;
  list-style: none;
  font: var(--heading-xs);
  font-weight: 500;
}

/* Hover and the current page: the 4px-thick underline idea of the tiles,
   at nav size 2px. */
.topbar__nav a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: inherit;
  text-decoration: underline 2px transparent;
  text-underline-offset: 6px;
  transition: text-decoration-color .18s ease;
}
.topbar__nav a:hover,
.topbar__nav a[aria-current="page"] { opacity: 1; text-decoration-color: currentColor; }

/* Quiet: no box, no fill. The current language in the ink, the other one
   muted until hover. */
.topbar__lang {
  display: flex;
  align-items: center;
  gap: 8px;
  font: var(--heading-xs);
  font-weight: 500;
  color: #4566BA;
}

.topbar__lang-item {
  display: inline-flex;
  min-width: 24px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  color: inherit;
  text-decoration: underline 2px transparent;
  text-underline-offset: 6px;
  transition: color .18s ease, text-decoration-color .18s ease;
}
.topbar__lang-item[aria-current] { color: var(--topbar-ink); }
a.topbar__lang-item:hover { opacity: 1; color: var(--topbar-ink); text-decoration-color: currentColor; }

.topbar__lang-sep { opacity: .6; }

.topbar__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

@media (max-width: 700px) {
  .topbar { padding: 16px 24px; gap: 16px; }
  .topbar__end { gap: 24px; }
  .topbar__nav { gap: 16px; }
}
