/* Shared public navigation; the disclosure also works without JavaScript. */
.public-header nav.primary-nav { gap: 8px 18px; min-width: 0; overflow: visible; flex-wrap: wrap; }
.public-header .nav-documents { position: relative; flex: none; }
.nav-documents > summary { display: flex; align-items: center; gap: 8px; padding: 6px 0; cursor: pointer; list-style: none; white-space: nowrap; }
.nav-documents > summary::-webkit-details-marker { display: none; }
.nav-documents > summary::after { content: ''; width: 6px; height: 6px; border-inline-end: 1.5px solid currentColor; border-block-end: 1.5px solid currentColor; transform: rotate(45deg); margin-top: -3px; }
.nav-documents[open] > summary::after { transform: rotate(225deg); margin-top: 3px; }
.nav-documents > summary:hover, .nav-documents > summary[aria-current] { color: var(--green); }
.nav-documents > summary[aria-current] { font-weight: 650; }
.nav-documents > summary:focus-visible { outline: 2px solid var(--green); outline-offset: 5px; border-radius: 3px; }
.nav-document-links { position: absolute; inset-block-start: 100%; inset-inline-start: -18px; width: 310px; max-width: calc(100vw - 32px); padding: 8px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface, #fff); box-shadow: 0 16px 40px #102a2020; z-index: 30; }
.public-header .nav-document-links a { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-radius: 7px; white-space: normal; line-height: 1.5; border: 0; }
.nav-document-links strong { font-size: 14px; color: var(--ink); }
.nav-document-links span { font-size: 12px; color: var(--muted); }
.public-header .nav-document-links a:hover, .public-header .nav-document-links a[aria-current] { background: var(--mint); }
.primary-nav .nav-launch { display: inline-flex; align-items: center; gap: 7px; color: var(--green); }
.nav-launch-badge { font-size: 9px; letter-spacing: .3px; line-height: 1.5; padding: 1px 5px; border: 1px solid var(--line); border-radius: 4px; }
@media (max-width: 1280px) {
  .public-page .public-header { grid-template-columns: auto 1fr; row-gap: 12px; }
  .public-header nav.primary-nav { grid-row: 2; grid-column: 1 / -1; justify-content: space-between; }
  .public-header .public-account { justify-content: flex-end; }
}
@media (max-width: 760px) {
  .public-header nav.primary-nav { flex-wrap: wrap; justify-content: flex-start; gap: 6px 20px; font-size: 13px; }
  .public-header .nav-documents { position: static; }
  .nav-document-links { inset-inline-start: 16px; inset-block-start: 100%; width: min(340px, calc(100vw - 32px)); }
  .public-header .primary-nav > a:first-child { display: inline; }
  .nav-launch-badge { display: none; }
}
@media (max-width: 440px) {
  .public-page .public-header { padding-inline: 14px; column-gap: 8px; }
  .public-header .brand { font-size: 16px; gap: 7px; }
  .public-header .brand-mark { width: 28px; height: 28px; }
  .public-header .public-account { gap: 6px; }
}
