/* Shared navigation disclosure: contained, keyboard accessible, and usable without scripts. */
.topbar{position:relative;z-index:20}
.topbar .wrap{height:76px;min-height:76px;flex-wrap:nowrap;padding-block:0}
.site-menu{position:relative;margin-left:auto}
.site-menu summary{display:flex;align-items:center;gap:18px;min-height:44px;padding:10px 16px;border:1px solid #44536b;border-radius:5px;color:#f9f6eb;font:500 14px/1.4 var(--sans);letter-spacing:.04em;cursor:pointer;list-style:none;user-select:none}
.site-menu summary::-webkit-details-marker{display:none}
.site-menu summary:hover,.site-menu[open] summary{border-color:#e7bb62;color:#e7bb62}
.site-menu summary:focus-visible,.site-menu a:focus-visible{outline:2px solid #e7bb62;outline-offset:4px}
.menu-icon{display:grid;align-content:center;gap:6px;width:22px;height:22px}
.menu-icon::before,.menu-icon::after{content:"";display:block;height:1px;width:22px;background:currentColor;transform-origin:center}
.site-menu[open] .menu-icon::before{transform:translateY(3.5px) rotate(45deg)}
.site-menu[open] .menu-icon::after{transform:translateY(-3.5px) rotate(-45deg)}
.menu-panel{position:absolute;right:0;top:calc(100% + 20px);width:min(440px,calc(100vw - 40px));max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);overflow:auto;overscroll-behavior:contain;padding:24px;background:#122240;color:#f9f6eb;border:1px solid #3b4a63;border-top:2px solid #d6ab4e;border-radius:8px;box-shadow:0 20px 55px #0005}
.menu-eyebrow{margin:0 10px 12px;color:#aebed4;font:500 11px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.topbar .site-menu .nav-links{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;margin:0;padding:0;list-style:none}
.topbar .site-menu li{grid-column:1/-1;white-space:normal;text-transform:none;letter-spacing:0;min-width:0}
.topbar .site-menu .nav-links a{display:block;min-height:48px;padding:12px 10px;border:0;border-radius:4px;color:#f9f6eb;text-decoration:none;font:400 clamp(22px,3vw,27px)/1.25 var(--serif);overflow-wrap:break-word}
.topbar .site-menu .nav-links a.active{background:#1e3455;color:#e7bb62;box-shadow:inset 2px 0 #e7bb62}
.topbar .site-menu .nav-links a:hover{background:#1e3455;color:#e7bb62}
.topbar .site-menu li:nth-last-child(-n+2){grid-column:auto;margin-top:14px;padding-top:14px;border-top:1px solid #3b4a63}
.topbar .site-menu li:nth-last-child(-n+2) a{font:500 14px/1.5 var(--sans);min-height:44px}
@media(max-width:480px){.menu-panel{padding:18px}.topbar .wrap{height:68px;min-height:68px}.site-menu summary{padding:9px 12px}}
@media(prefers-reduced-motion:no-preference){
  .site-menu[open] .menu-panel{animation:menu-appear .2s ease-out both}
  .menu-icon::before,.menu-icon::after{transition:transform .2s ease}
  .site-menu summary,.topbar .site-menu .nav-links a{transition:background-color .18s ease,color .18s ease,border-color .18s ease}
  @keyframes menu-appear{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
}
