.mobile-nav__toolbar, .mobile-nav__panel { display: none; }

@media screen and (max-width: 930px) {
  header .nav { gap: 8px; flex-wrap: wrap; padding-top: 8px; padding-bottom: 8px; }
  header .nav__links { display: none; }
  header .brand > span:last-child { display: none; }
  .mobile-nav__toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; max-width: 100%; margin-left: auto; }
  .mobile-nav__toolbar > a { display: flex; align-items: center; min-height: 44px; font-size: 0.95rem; font-weight: 700; text-decoration: none; }
  .mobile-nav__toggle { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); color: var(--ink); cursor: pointer; }
  .mobile-nav__icon { display: grid; gap: 5px; width: 22px; }
  .mobile-nav__icon > span { display: block; width: 100%; height: 2px; background: currentColor; }
  .mobile-nav__toggle[aria-expanded="true"] { background: var(--ink); color: var(--paper); }
  .mobile-nav__panel:not([hidden]) { position: absolute; top: 100%; right: 0; left: 0; display: grid; max-height: calc(100dvh - 150px); overflow-y: auto; overscroll-behavior: contain; padding: 12px max(14px, calc((100vw - var(--max)) / 2)); border-bottom: 1px solid var(--line); background: var(--paper); box-shadow: 0 18px 30px rgba(23,23,23,0.16); }
  .mobile-nav__panel > a { display: flex; align-items: center; min-height: 48px; padding: 12px 16px; border-radius: 10px; font-size: 1rem; font-weight: 700; line-height: 1.4; text-decoration: none; overflow-wrap: anywhere; }
  .mobile-nav__panel > .mobile-nav__seminar { padding-left: 30px; font-weight: 500; }
  .mobile-nav__panel > a:hover, .mobile-nav__panel > a[aria-current="page"] { background: var(--cream); color: var(--blue); }
  .mobile-nav__toolbar a:focus-visible, .mobile-nav__toggle:focus-visible, .mobile-nav__panel a:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }
}

@media screen and (max-width: 380px) {
  .mobile-nav__toolbar { gap: 8px; }
  .mobile-nav__toolbar > a { font-size: 0.875rem; }
}

@media screen and (max-width: 340px) {
  header .brand__mark { width: 72px; }
}
