/* Persistent sector wayfinding. Contrast tokens are enforced by contrast-contract.css. */
.site-header nav { position: relative; }
.sectors-toggle {
  min-height: 48px;
  padding: .65rem .85rem;
  border: 1px solid var(--line, #a9dfff);
  background: #07101e;
  color: #ffffff;
  font: 700 .72rem/1 var(--mono, monospace);
  letter-spacing: .11em;
  cursor: pointer;
}
.sectors-toggle span { color: #d7ff3f; margin-inline-start: .35rem; }
.sectors-toggle:hover, .sectors-toggle:focus-visible { background: #153151; outline: 2px solid #d7ff3f; outline-offset: 3px; }
.sector-menu {
  position: absolute;
  z-index: 20;
  inset-block-start: calc(100% + .8rem);
  inset-inline-end: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(13rem, 1fr));
  width: min(34rem, calc(100vw - 2rem));
  border: 1px solid #a9dfff;
  background: #07101e;
  box-shadow: 0 1.1rem 3rem rgba(0, 0, 0, .6);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-.45rem);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
.sector-menu.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
.sector-menu-link {
  display: grid;
  grid-template-columns: 2.4rem 1fr;
  gap: .12rem .55rem;
  min-height: 5.25rem;
  padding: .8rem;
  border-inline-end: 1px solid #35546d;
  border-block-end: 1px solid #35546d;
  color: #ffffff;
  text-decoration: none;
}
.sector-menu-link:nth-child(2n) { border-inline-end: 0; }
.sector-menu-link:nth-last-child(-n + 2) { border-block-end: 0; }
.sector-menu-link > span { grid-row: span 2; color: #d7ff3f; font: 700 .8rem/1 var(--mono, monospace); }
.sector-menu-link b { font: 700 .82rem/1.1 var(--mono, monospace); letter-spacing: .05em; }
.sector-menu-link small { color: #d9efff; font-size: .78rem; line-height: 1.25; }
.sector-menu-link:hover, .sector-menu-link:focus-visible, .sector-menu-link.is-current { background: #153151; outline: 2px solid #d7ff3f; outline-offset: -2px; }
@media (max-width: 760px) {
  .sectors-toggle { width: 100%; margin-block: .5rem; }
  .sector-menu { position: static; width: 100%; grid-template-columns: 1fr; margin-block: .35rem; }
  .sector-menu-link, .sector-menu-link:nth-child(2n) { border-inline-end: 0; border-block-end: 1px solid #35546d; }
  .sector-menu-link:last-child { border-block-end: 0; }
}
