/* Small interaction refinements; the existing page layout and imagery stay intact. */
header #navigation > a,
header #navigation > .family-nav > summary {
  border-radius: 4px;
  cursor: pointer;
  text-decoration: none;
  transition: background-color 180ms ease, box-shadow 180ms ease, color 180ms ease;
}

header #navigation > a:hover,
header #navigation > .family-nav > summary:hover {
  color: var(--ink);
  background: #f0f4f1;
  box-shadow: 0 0 0 8px #f0f4f1;
  text-decoration: none;
}

header #navigation > a[aria-current="page"],
header #navigation > .family-nav[open] > summary,
header #navigation > .family-nav.is-current > summary {
  color: var(--ink);
  background: #fff2c4;
  box-shadow: 0 0 0 8px #fff2c4;
  text-decoration: none;
}

header #navigation > a:focus-visible,
header #navigation > .family-nav > summary:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 8px;
}

/* Fixed-size chevrons stay centered independently of font glyph metrics. */
header #navigation > .family-nav > summary > span {
  display: inline-flex;
  flex: 0 0 12px;
  align-items: center;
  justify-content: center;
  width: 12px;
  height: 12px;
  line-height: 0;
  transition: transform 180ms ease;
}

header #navigation > .family-nav > summary > span > svg {
  display: block;
  width: 12px;
  height: 12px;
}

header #navigation .family-nav-panel a {
  text-decoration: none;
}

header .family-nav-head a {
  border-radius: 3px;
  transition: background-color 180ms ease, box-shadow 180ms ease;
}

header .family-nav-head a:hover {
  background: #fff2c4;
  box-shadow: 0 0 0 6px #fff2c4;
}

header .site-tools-actions a {
  transition: color 180ms ease;
}

header .site-tools-actions a:hover {
  color: #705800;
  text-decoration: none;
}

header .site-tools-search:focus-within {
  border-color: var(--ink);
  box-shadow: 0 0 0 3px #10263112;
}

.top .language-switch a {
  border-color: #ffffff30;
  border-radius: 5px;
  text-decoration: none;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.top .language-switch a:hover {
  background: #ffffff12;
  border-color: #ffffff80;
}

.top .language-switch a[aria-current="page"] {
  color: var(--ink);
  background: var(--yellow);
  border-color: var(--yellow);
}

@media (min-width: 1001px) {
  header .family-nav-panel {
    border-radius: 0 0 8px 8px;
    box-shadow: 0 20px 40px #10263124;
  }
}

@media (max-width: 1000px) {
  header #navigation > a,
  header #navigation > .family-nav > summary {
    min-height: 36px;
  }
}

@media (prefers-reduced-motion: reduce) {
  header #navigation > a,
  header #navigation > .family-nav > summary,
  header #navigation > .family-nav > summary > span,
  header .family-nav-head a,
  header .site-tools-actions a,
  .top .language-switch a {
    transition: none;
  }
}
