/* Custom outlined inscription. Keep the wordmark crisp at header and footer sizes. */
.brand .brand-sigil { display: block; width: 48px; height: 64px; flex: 0 0 auto; object-fit: contain; }
/* The flex row centres the sigil on the whole wordmark block (letters, the dropped pin and the
   tagline), which sits it low. Lift it to centre on the letters; a share of its own height so
   it holds at every breakpoint. */
.brand .brand-sigil { translate: 0 -27%; }
.brand .brand-type { display: flex; flex-direction: column; align-items: flex-start; }
.brand .brand-wordmark { display: block; width: 255px; height: auto; max-width: none; }
.brand .brand-type small { font: 8px/1.5 'Consolas','Courier New',monospace; letter-spacing: .19em; margin-top: 7px; color: #b2bea8; white-space: nowrap; }
.brand { gap: 13px; }
.findings-page .brand { gap: 13px; }
footer .brand .brand-sigil { width: 37px; height: 49px; }
footer .brand .brand-wordmark { width: 215px; }
footer .brand .brand-type small { font-size: 7px; letter-spacing: .14em; }
@media(max-width:1050px) {
  .brand .brand-wordmark { width: 222px; }
  .brand .brand-sigil { width: 43px; height: 58px; }
  .brand .brand-type small { font-size: 7px; letter-spacing: .14em; }
}
@media(max-width:760px) {
  .brand .brand-wordmark { width: 190px; }
  .brand .brand-sigil { width: 35px; height: 51px; }
  .brand,.findings-page .brand { gap: 9px; }
  .brand .brand-type small { font-size: 6.5px; margin-top: 5px; letter-spacing: .11em; }
}
@media(max-width:360px) {
  .brand .brand-wordmark { width: 165px; }
  .brand .brand-sigil { width: 31px; height: 48px; }
  .brand .brand-type small { font-size: 6px; letter-spacing: .05em; }
}
/* Hovering anywhere on the logo (sigil or wordmark), keyboard focus or a tap lights the sigil
   alone in the archive's glow green; the wire wordmark stays unlit. A drop-shadow, not a
   box-shadow, so the glow follows the sigil's shape rather than its image frame.
   :active covers the touch press; on touch screens :hover also lands on tap. */
.brand .brand-sigil { transition: filter .25s ease; }
.brand:is(:hover, :focus-visible, :active) .brand-sigil {
  filter: drop-shadow(0 0 2px var(--glow)) drop-shadow(0 0 6px var(--glow)) drop-shadow(0 0 14px rgba(125, 230, 150, .6));
}
@media (prefers-reduced-motion: reduce) { .brand .brand-sigil { transition: none; } }

/* Shared header controls across the archive and generated pages. */
.site-header .archive-search { width: 28px; min-width: 28px; height: 44px; display: grid; place-items: center; }
.site-header .archive-search svg { width: 21px; fill: none; stroke: var(--dim); stroke-width: 1.4; }
.site-header #primary-nav { margin-left: auto; gap: 18px; }
.site-header #primary-nav a { font: 13px/1.5 Arial,sans-serif; color: #bec7b7; }
.site-header #primary-nav a[aria-current] { color: #eef0e5; }
.site-header .menu-toggle { display: none; }
@media(max-width:1050px) {
  .site-header { padding: 12px 20px; gap: 12px; }
  .site-header .archive-search { margin-left: auto; }
  .site-header #primary-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; margin: 0; padding: 15px 24px; background: #0c1513; border-bottom: 1px solid #5b715d; flex-direction: column; align-items: stretch; gap: 0; }
  .site-header #primary-nav.open { display: flex; }
  .site-header #primary-nav a { padding: 14px 0; }
  .site-header .menu-toggle { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 6px; padding: 10px; width: 44px; min-width: 44px; height: 44px; background: none; border: 0; }
  .site-header .menu-toggle span { width: 25px; height: 1px; background: var(--dim); }
  .site-header .menu-toggle[aria-expanded=true] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .site-header .menu-toggle[aria-expanded=true] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
}
@media(max-width:360px) {
  .site-header,.findings-page .site-header { padding: 12px; gap: 8px; }
  .site-header .brand-wordmark { width: 145px; }
}
