/* Companies is a compact text menu; imagery stays inside the destinations. */
#companyDirectory {
  inset: 0;
  width: 100%;
  height: 100dvh;
  padding: max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  border: 0;
  background: #000;
  box-shadow: none;
  z-index: 130;
  visibility: hidden;
  overflow-y: auto;
}
#companyDirectory.open { visibility: visible; }
#companyDirectory .directory-head,
#companyDirectory .directory-groups { width: min(100%, 520px); margin-inline: auto; }
#companyDirectory .directory-head { align-items: center; padding: 0 0 16px; flex-shrink: 0; }
#companyDirectory .directory-head span { color: #aaa; font-size: 12px; letter-spacing: .12em; }
#companyDirectory .directory-head h2 { color: #fff; font: 600 24px/1.2 system-ui, sans-serif; letter-spacing: 0; }
#companyDirectory .directory-head button { flex-shrink: 0; width: 44px; height: 44px; border: 1px solid #444; border-radius: 8px; background: #000; }
#companyDirectory .directory-groups { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: 8px; min-height: 0; padding: 3px; margin-top: 16px; overflow: visible; }
#companyDirectory .directory-row { display: block; min-width: 0; min-height: 70px; padding: 12px 14px; border: 1px solid #333; border-radius: 8px; background: #000; color: #fff; text-align: start; text-decoration: none; }
#companyDirectory .directory-row strong { font-size: 16px; font-weight: 650; line-height: 1.3; overflow-wrap: anywhere; }
#companyDirectory .directory-row small { margin-top: 5px; color: #bbb; font-size: 14px; line-height: 1.4; letter-spacing: 0; overflow-wrap: anywhere; }
#companyDirectory .directory-row:hover { background: #121212; border-color: #888; }
#companyDirectory .directory-row:focus-visible,
#companyDirectory button:focus-visible { outline: 2px solid #fff; outline-offset: 1px; }
@media (max-width: 620px) {
  #companyDirectory .directory-row { min-height: 68px; padding: 10px 12px; }
}
