/* Shared public navigation: normal links without JS, disclosure on small screens. */
.site-navigation [hidden] { display: none !important; }
.site-navigation .site-menu-toggle { align-items: center; background: transparent; border: 1px solid currentColor; border-radius: .65rem; color: inherit; cursor: pointer; display: inline-flex; flex: none; font: inherit; font-weight: 750; gap: .5rem; justify-content: center; min-height: 2.75rem; padding: .5rem .8rem; }
.site-menu-icon { display: inline-block; font-family: sans-serif; font-size: 1.2rem; line-height: 1; text-align: center; width: 1.2rem; }
.site-menu-icon::before { content: "☰"; }
[aria-expanded="true"] .site-menu-icon::before { content: "×"; }
.search-home.directory-section { padding-block: clamp(1.5rem, 3vw, 2.5rem) 2.5rem; }
.search-home-heading { margin-bottom: 1.25rem; max-width: 46rem; }
.search-home-heading .eyebrow { margin-bottom: .4rem; }
.search-home-heading h1 { font-size: clamp(1.9rem, 4vw, 2.8rem); letter-spacing: -.045em; line-height: 1.15; margin: 0; overflow-wrap: anywhere; }
.search-home-heading > p:last-child { color: var(--muted); margin: .65rem 0 0; }
.search-home .result-heading h2 { font-size: clamp(1.45rem, 4vw, 2rem); margin: 0; overflow-wrap: anywhere; }
.search-home .bistro-content h3 { font-size: 1.55rem; letter-spacing: -.03em; margin: .35rem 0; }
@media (max-width: 65rem) {
  .site-navigation { display: grid; gap: .6rem 1rem; grid-template-columns: minmax(0, 1fr) auto; min-height: 4.5rem; padding-block: .75rem; }
  .site-navigation > .wordmark, .site-navigation > .directory-logo { min-width: 0; }
  .site-navigation .wordmark > span:last-child { display: block; max-width: none; min-width: 0; }
  .site-navigation .wordmark-mark, .site-navigation .logo-mark { flex: none; }
  .site-navigation [data-nav-links] { align-items: stretch; border-top: 1px solid currentColor; display: flex; flex-direction: column; gap: .25rem; grid-column: 1 / -1; max-height: 70vh; overflow-y: auto; padding-block: .75rem .25rem; }
  .site-navigation [data-nav-links] > a { display: flex; font-size: 1rem; justify-content: flex-start; margin: 0; min-height: 2.75rem; padding: .6rem .8rem; }
  .site-navigation [data-nav-links] > a:hover { text-decoration: underline; }
}
