/* Teaching3D — the main menu (js/menu.js builds it). Shared by every page of the new site. */
.menu-btn, .nav-burger {
  display: inline-flex; flex-direction: column; justify-content: center; align-items: center; gap: 3px;
  width: 40px; height: 40px; flex: none; border-radius: 50%; cursor: pointer;
  border: 1px solid rgba(10, 14, 19, .12); background: #fff; padding: 0;
}
.menu-btn span, .nav-burger span { display: block; width: 16px; height: 2px; margin: 0; background: #0a0e13; border-radius: 2px; transition: transform .18s, opacity .18s; }
[aria-expanded="true"] > span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }
[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }
.menu-btn:focus-visible, .nav-burger:focus-visible { outline: 2px solid #2172e5; outline-offset: 2px; }

.menu-panel {
  position: fixed; z-index: 1000; min-width: 250px; max-width: calc(100vw - 24px);
  max-height: calc(100vh - 90px); overflow-y: auto;
  display: flex; flex-direction: column; padding: 8px;
  background: rgba(255, 255, 255, .96); border: 1px solid rgba(10, 14, 19, .1); border-radius: 18px;
  box-shadow: 0 18px 50px rgba(10, 14, 19, .18); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
  font-family: "Inter", "Segoe UI", system-ui, sans-serif;
}
.menu-panel[hidden] { display: none; }
.menu-panel a { color: #26313b; text-decoration: none; font-size: .98rem; font-weight: 500; padding: .6em .9em; border-radius: 10px; }
.menu-panel a:hover, .menu-panel a:focus-visible { background: rgba(10, 14, 19, .06); color: #0a0e13; outline: none; }
.menu-panel a[aria-current] { font-weight: 600; color: #0a0e13; }
.menu-panel hr { border: 0; border-top: 1px solid rgba(10, 14, 19, .09); margin: 6px 8px; }
