/* The header's menus (scripts/site-nav/site-nav.mjs renders the markup). Desktop: each top item opens its panel on
   hover or keyboard focus, no script. Mobile (<= 900px): the menu sheet lists every group with its links. */
.nav .nm-top{position:relative}
.nav .nm-top>a{display:inline-block;padding:8px 0}
.nav .nm-here>a{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.nav .nm-panel{position:absolute;top:calc(50% + var(--nav-h)/2);left:-20px;min-width:280px;padding:10px 8px;background:var(--plum);border-radius:0 0 16px 16px;box-shadow:0 0 0 1px rgba(238,234,227,.14),0 24px 48px rgba(0,0,0,.34);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .18s,transform .25s var(--ease),visibility 0s .25s}
.nav .nm-panel::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:calc(var(--nav-h)/2 - 19px)} /* the hover bridge spans only the gap below the link, never the link */
.nav .nm-top:is(:hover,:focus-within)>.nm-panel{opacity:1;visibility:visible;transform:none;transition:opacity .18s,transform .25s var(--ease)}
.nav .nm-panel ul{display:grid;gap:2px;align-items:stretch}
.nav .nm-panel li{display:block}
.nav .nm-panel ul a{display:grid;gap:3px;padding:10px 12px;border-radius:10px;color:var(--chalk)}
.nav .nm-panel a,.nav .nm-panel a:hover{text-decoration:none}
.nav .nm-panel ul a:hover,.nav .nm-panel ul a:focus-visible{background:#2E2938}
.nav .nm-panel ul a[aria-current]{background:rgba(238,234,227,.07)}
.nav nav>ul:has(.nm-top:hover) .nm-here:not(:hover)>a{text-decoration:none}
.nav .nm-t{font-size:14px;font-weight:460;line-height:1.3}
.nav .nm-d{font-size:13px;font-weight:400;line-height:1.35;color:rgba(238,234,227,.66)}
.nav .nm-wide{width:min(420px,calc(100vw - 2*var(--gut)))}
.nav .nm-papers .nm-t{font-size:15px;letter-spacing:-.01em}
.nav .nm-more{display:flex;align-items:center;gap:8px;margin:6px 4px 2px;padding:12px 8px 6px;border-top:1px solid rgba(238,234,227,.14);font-size:14px;font-weight:460;color:var(--chalk)}
.nav .nm-more .arr{transition:transform .25s var(--ease)}
.nav .nm-more:hover .arr{transform:translateX(3px)}
.nav .nm-signin a{color:rgba(238,234,227,.82)}
.nav .nm-signin a:hover{color:var(--chalk)}

.menu ul ul{position:static;inset:auto;z-index:auto;padding:0;margin-top:12px;background:none;display:flex;flex-direction:column;gap:12px;overflow:visible}
.menu ul ul a{font-size:19px;font-weight:460;letter-spacing:-.01em;color:rgba(238,234,227,.72)}
.menu ul ul a:hover,.menu ul ul a[aria-current]{color:var(--chalk)}
.menu ul ul .nm-paper a{display:block;font-size:16px;line-height:1.35;max-width:34ch}
.menu .nm-here>a{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}
.menu .nm-signin a{font-size:24px;color:rgba(238,234,227,.82)}

@media (prefers-reduced-motion:reduce){.nav .nm-panel,.nav .nm-top:is(:hover,:focus-within)>.nm-panel,.nav .nm-more .arr{transition:none;transform:none}}
.nav .nm-top.nm-off>.nm-panel{opacity:0;visibility:hidden;transition:none}
.nav .nm-panel{background:linear-gradient(180deg,#2B2635,#241F2C);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 0 0 1px rgba(238,234,227,.12),0 28px 56px -16px rgba(0,0,0,.55)}
