/* Shared public navigation, independent of each page's CSS framework. */
.om-site-nav { position:sticky; top:0; z-index:50; margin:0; padding:0 24px; border-bottom:1px solid rgba(255,255,255,.1); background:rgba(10,10,11,.96); backdrop-filter:blur(20px); color:#9ca3af; font:500 14px/1.5 Inter,system-ui,sans-serif; }
.om-site-nav a { position:relative; display:block; padding:12px 18px; color:#9ca3af; text-decoration:none; border-radius:8px; white-space:nowrap; }
.om-site-nav a:hover, .om-site-nav a[aria-current="page"] { color:#fff; background:rgba(255,255,255,.05); }
.om-site-nav a[aria-current="page"]::after { content:""; position:absolute; bottom:0; left:12px; right:12px; height:2px; border-radius:2px; background:linear-gradient(90deg,#a78bfa,#f472b6); }
.om-site-nav a:focus-visible, .om-site-nav summary:focus-visible { outline:2px solid #c4b5fd; outline-offset:2px; }
.om-site-nav__desktop { display:flex; justify-content:center; max-width:1280px; margin:auto; }
.om-site-nav__mobile { display:none; }
@media(max-width:1023px) {
 .om-site-nav__desktop { display:none; }
 .om-site-nav__mobile { display:block; }
 .om-site-nav__mobile summary { display:flex; justify-content:space-between; align-items:center; padding:13px 0; cursor:pointer; list-style:none; color:#d1d5db; }
 .om-site-nav__mobile summary::-webkit-details-marker { display:none; }
 .om-site-nav__mobile > div { padding:4px 0 12px; max-height:75vh; overflow-y:auto; }
 .om-site-nav__mobile a { padding:11px 16px; white-space:normal; }
}
@media print { .om-site-nav { display:none; } }
