/* Shared navigation treatment, based on the Approach page. */
.site-navigation.site-navigation {
  position: relative; inset: auto; transform: none;
  display: flex; align-items: center; justify-content: space-between; gap: 1.5rem;
  width: 100vw; max-width: none; min-height: 86px; height: auto;
  margin-left: calc(50% - 50vw); padding: 1.3rem 5vw;
  background: var(--paper); color: var(--ink);
  border: 0; border-bottom: 1px solid #aab3a0; border-radius: 0;
  box-shadow: none; backdrop-filter: none; z-index: 40;
}
.site-navigation .wordmark { background-color: var(--green); }
.site-navigation .wordmark .brand-mark { width: 48px; height: 48px; }
.site-navigation .return, .site-navigation nav a {
  color: var(--ink); font: 500 .7rem/1.4 var(--mono);
  letter-spacing: 0; text-transform: uppercase;
  text-decoration: underline; text-underline-offset: 5px;
}
.site-navigation .menu, .site-navigation .shelf-trigger { color: var(--ink); }
.site-navigation .nav-contact { background: transparent; color: var(--ink); border: 0; padding: 0; border-radius: 0; }
.site-navigation a:focus-visible, .site-navigation button:focus-visible { outline: 2px solid var(--green); outline-offset: 5px; }
@media (max-width: 760px) {
  .site-navigation.site-navigation { min-height: 72px; padding: 1rem 7vw; gap: 1rem; }
  .site-navigation .return { text-align: right; }
  .site-navigation nav { top: 100%; background: var(--paper); }
  .site-navigation nav a { color: var(--ink); }
}

/* Headers inside page containers sit flush with the top of the page. */
main:has(> .site-navigation) { padding-top: 0; }
main > .site-navigation { margin-bottom: 5rem; }

/* Homepage menu keeps a clean link treatment. */
.site-header.site-navigation nav a { text-decoration: none; }
