header .brand { flex-shrink: 0; }
header:not(.compact-header) nav a { white-space: nowrap; }
header.compact-header .menu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: var(--text); cursor: pointer; flex-shrink: 0; }
header.compact-header .menu-toggle > span { display: block; position: relative; width: 22px; height: 16px; font-size: 0; }
header.compact-header .menu-toggle > span::before, header.compact-header .menu-toggle > span::after { content: ""; position: absolute; left: 0; width: 22px; height: 1px; background: currentColor; transition: transform .22s ease, top .22s ease; }
header.compact-header .menu-toggle > span::before { top: 4px; }
header.compact-header .menu-toggle > span::after { top: 12px; }
header.compact-header .menu-toggle[aria-expanded="true"] > span::before { top: 8px; transform: rotate(45deg); }
header.compact-header .menu-toggle[aria-expanded="true"] > span::after { top: 8px; transform: rotate(-45deg); }
header.compact-header nav, header.compact-header #main-navigation { position: absolute; inset: 100% 0 auto; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; padding: 10px 24px 20px; background: rgba(8,18,27,.97); border-bottom: 1px solid rgba(255,255,255,.12); max-height: calc(100dvh - 100px); overflow: auto; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-8px); transition: opacity .22s ease, transform .22s ease, visibility .22s; }
header.compact-header.menu-open nav, header.compact-header.open nav, header.compact-header.menu-open #main-navigation { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
header.compact-header nav a, header.compact-header #main-navigation a { padding: 14px 0; font-size: 15px; line-height: 1.4; border-radius: 0; border-bottom: 1px solid rgba(255,255,255,.08); }
header.compact-header nav a:last-child { border-bottom: 0; }
@media(prefers-reduced-motion:reduce) { header.compact-header nav { transition: none; } }
