/* Breadcrumb (top of main on grants/blog/static pages).
   Uses .breadcrumb to override the existing `nav { sticky/blurred ... }` rule. */
nav.breadcrumb { display: flex; align-items: center; justify-content: flex-start; gap: 6px; flex-wrap: wrap; font-size: 13px; color: #888; max-width: 760px; margin: 0 auto; padding: 16px 24px 0; position: static; top: auto; background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; border-bottom: none; z-index: auto; }
nav.breadcrumb a { color: #888; text-decoration: none; transition: color 0.2s; }
nav.breadcrumb a:hover { color: #22C55E; text-decoration: underline; }
nav.breadcrumb [aria-current="page"] { color: #f5f5f5; font-weight: 500; }
nav.breadcrumb .breadcrumb-sep { color: #555; user-select: none; font-size: 12px; }
@media (max-width: 600px) { nav.breadcrumb { padding: 12px 20px 0; font-size: 12px; } }

/* Mobile hamburger nav.
   Adds new rules only — existing `nav` / `.nav-links` / `.nav-link` rules are untouched.
   Selectors are scoped to `nav ...` to win specificity over per-page inline `<style>`
   rules that load after this stylesheet. On desktop the toggle button is `display: none`,
   so layout is identical to before. */

nav .nav-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  margin: 0;
  background: transparent;
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 8px;
  color: #888;
  cursor: pointer;
  font-family: inherit;
  -webkit-tap-highlight-color: transparent;
  transition: color 0.15s, border-color 0.15s;
}
nav .nav-toggle:hover { color: #f5f5f5; border-color: rgba(255,255,255,0.3); }
nav .nav-toggle:focus-visible { outline: 2px solid #22C55E; outline-offset: 2px; }
nav .nav-toggle svg { width: 20px; height: 20px; flex-shrink: 0; pointer-events: none; }

@media (max-width: 600px) {
  nav .nav-toggle { display: inline-flex; }

  nav .nav-links {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1001;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 4px 0 8px;
    background: rgba(10,10,10,0.97);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255,255,255,0.08);
    display: none;
  }
  nav .nav-links.is-open { display: flex; }
  nav .nav-links .nav-link {
    padding: 14px 24px;
    font-size: 15px;
    border-top: 1px solid rgba(255,255,255,0.04);
  }
  nav .nav-links .nav-link:first-child { border-top: none; }
}
