Per the user's request:
- Page scroll is locked when the mobile menu is open: add an
:has() selector that applies overflow: hidden + touch-action: none to
the <body> when the .nav-main__toggle has aria-expanded=true. Verified
with mouse wheel and PageDown: window.scrollY stays at 0.
- Menu scrolls internally when its content overflows: switch
.menu-vdi's 'overflow-hidden' to 'overflow-y: auto' with
'overscroll-behavior: contain' so scroll gestures feed the menu
rather than chain-scroll to the body behind it.
- Cap the menu at viewport height instead of growing: change
'min-height: calc(100vh - var(--hgtHeader))' to
'max-height: calc(100vh - var(--hgtHeader))' so the menu fills the
visible space below the header and any overflowing items become
scrollable inside the menu.