.vah-menu {
  --vah-bg: #d3d3e8;
  --vah-text: #25274d;
  --vah-hover-text: #fff;
  --vah-hover-bg: #25274d;
  --vah-active: #6b3fd6;
  --vah-separator: #b7b7ce;
  --vah-overlay: #15152fcc;
  --vah-trigger-bg: #d3d3e8;
  --vah-trigger-hover-bg: #25274d;
  --vah-trigger-text: #25274d;
  --vah-trigger-hover-text: #fff;
  --vah-trigger-icon: #25274d;
  --vah-trigger-hover-icon: #fff;
  --vah-font-size: 16px;
  --vah-trigger-font-size: 16px;
  --vah-trigger-icon-size: 18px;
  --vah-item-gap: 4px;
  --vah-logo-gap: 18px;
  --vah-logo-top-gap: 0px;
  --vah-menu-width: 360px;
  --vah-radius: 10px;
  --vah-logo-width: 150px;
  --vah-drawer-top: 0px;
  --vah-drawer-safe-top: env(safe-area-inset-top);
  --vah-separators: 0px;
  color: var(--vah-text);
  font-size: var(--vah-font-size);
  line-height: 1.35;
  position: relative;
  width: 100%;
  z-index: 50;
}

.vah-menu *, .vah-menu *::before, .vah-menu *::after { box-sizing: border-box; }
.vah-menu button, .vah-menu a { -webkit-tap-highlight-color: transparent; font: inherit; }
.vah-menu svg { display: block !important; fill: none; height: 1.15em !important; max-height: none !important; max-width: none !important; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 1.15em !important; }
.vah-menu .vah-menu__item::before, .vah-menu .vah-menu__item::after { content: none !important; display: none !important; }
.vah-menu [hidden] { display: none !important; }

.vah-menu .vah-menu__mobile-toggle { align-items: center; background: var(--vah-trigger-bg); border: 0; border-radius: var(--vah-radius); color: var(--vah-trigger-text); cursor: pointer; display: none; font-size: var(--vah-trigger-font-size); gap: 8px; min-height: 44px; padding: 9px 14px; }
.vah-menu__mobile-toggle:hover, .vah-menu__mobile-toggle:focus-visible { background: var(--vah-trigger-hover-bg); color: var(--vah-trigger-hover-text); outline: none; }
.vah-menu__trigger-icon { align-items: center; color: var(--vah-trigger-icon); display: inline-flex; flex: 0 0 auto; justify-content: center; }
.vah-menu .vah-menu__trigger-icon svg { height: var(--vah-trigger-icon-size) !important; width: var(--vah-trigger-icon-size) !important; }
.vah-menu__mobile-toggle:hover .vah-menu__trigger-icon, .vah-menu__mobile-toggle:focus-visible .vah-menu__trigger-icon { color: var(--vah-trigger-hover-icon); }
.vah-menu--trigger-icon-after .vah-menu__trigger-icon { order: 2; }
.vah-menu--trigger-icon-after .vah-menu__trigger-label { order: 1; }
.vah-menu__panel { align-items: center; background: var(--vah-bg); border-radius: var(--vah-radius); display: flex; gap: var(--vah-logo-gap); min-height: 54px; overflow: visible; padding: 6px 10px; position: relative; }
.vah-menu--has-logo:not(.is-drawer) .vah-menu__panel { padding-top: calc(6px + var(--vah-logo-top-gap)); }
.vah-menu__mobile-head { display: contents; }
.vah-menu__mobile-head > strong, .vah-menu__mobile-head > button { display: none; }
.vah-menu__logo { align-items: center; display: inline-flex; flex: 0 0 auto; line-height: 0; max-width: 100%; position: relative; width: var(--vah-logo-width); }
.vah-menu__logo img { display: block !important; height: auto !important; max-height: 80px !important; max-width: 100% !important; object-fit: contain; width: 100% !important; }
.vah-menu__logo-normal, .vah-menu__logo-hover { transition: opacity .2s ease; }
.vah-menu__logo-hover { inset: 0; opacity: 0; position: absolute; }
.vah-menu__logo--has-hover:focus-visible .vah-menu__logo-normal { opacity: 0; }
.vah-menu__logo--has-hover:focus-visible .vah-menu__logo-hover { opacity: 1; }
@media (hover: hover) {
  .vah-menu__logo--has-hover:hover .vah-menu__logo-normal { opacity: 0; }
  .vah-menu__logo--has-hover:hover .vah-menu__logo-hover { opacity: 1; }
}

.vah-menu .vah-menu__list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.vah-menu__root { align-items: center; display: flex; flex: 1 1 auto; gap: var(--vah-item-gap); min-width: 0; }
.vah-menu__item { margin: 0 !important; position: relative; }
.vah-menu__row { align-items: stretch; border-radius: calc(var(--vah-radius) * .7); display: flex; min-height: 40px; overflow: hidden; transition: background-color .16s ease, color .16s ease; }
.vah-menu__primary { align-items: center; background: transparent; border: 0; color: inherit; cursor: pointer; display: flex; flex: 1 1 auto; gap: 9px; min-width: 0; padding: 9px 12px; text-decoration: none !important; }
.vah-menu__folder-label { cursor: default; }
.vah-menu__primary:hover, .vah-menu__primary:focus-visible { color: inherit; outline: none; text-decoration: none; }
.vah-menu__row:hover, .vah-menu__row:focus-within { background: var(--vah-hover-bg); color: var(--vah-hover-text); }
.vah-menu__item.is-current > .vah-menu__row { box-shadow: inset 0 -3px 0 var(--vah-active); color: var(--vah-active); }
.vah-menu__item.is-current > .vah-menu__row:hover, .vah-menu__item.is-current > .vah-menu__row:focus-within { color: var(--vah-hover-text); }
.vah-menu__icon { align-items: center; display: inline-flex; flex: 0 0 1.15em; justify-content: center; }
.vah-menu__label { min-width: 0; overflow-wrap: anywhere; }
.vah-menu--icons-after .vah-menu__icon { order: 2; }
.vah-menu--icons-after .vah-menu__label { order: 1; }
.vah-menu--text-left .vah-menu__primary { justify-content: flex-start; text-align: left; }
.vah-menu--text-center .vah-menu__primary { justify-content: center; text-align: center; }
.vah-menu--text-right .vah-menu__primary { justify-content: flex-end; text-align: right; }
.vah-menu__branch-toggle { align-items: center; align-self: stretch; background: transparent; border: 0; color: inherit; cursor: pointer; display: flex; justify-content: center; min-width: 34px; padding: 0 8px; }
.vah-menu__branch-toggle:hover, .vah-menu__branch-toggle:focus-visible { background: rgba(255,255,255,.14); outline: none; }
.vah-menu__chevron { align-items: center; display: flex; pointer-events: none; padding: 0 9px 0 0; }
.vah-menu__branch-toggle svg, .vah-menu__chevron svg { height: .85em !important; transition: transform .2s ease; width: .85em !important; }
.vah-menu__item.is-open > .vah-menu__row .vah-menu__branch-toggle svg,
.vah-menu__item.is-open > .vah-menu__row .vah-menu__chevron svg { transform: rotate(90deg); }
.vah-menu__submenu { background: var(--vah-bg); border-radius: var(--vah-radius); box-shadow: 0 14px 35px rgba(24,25,48,.17); display: flex; flex-direction: column; gap: 0; left: 0; min-width: 230px; padding: 7px !important; position: absolute; top: calc(100% + 5px); z-index: 5; }
.vah-menu__submenu > .vah-menu__item { padding-block: calc(var(--vah-item-gap) / 2); }
.vah-menu__submenu .vah-menu__submenu { left: calc(100% + 5px); top: -7px; }
.vah-menu__submenu .vah-menu__item + .vah-menu__item,
.vah-menu__item.has-divider { border-top: max(1px, var(--vah-separators)) solid var(--vah-separator); }
.vah-menu__submenu .vah-menu__item:not(.has-divider) + .vah-menu__item { border-top-width: var(--vah-separators); }

.vah-menu--horizontal > .vah-menu__panel { flex-wrap: wrap; }
.vah-menu--horizontal > .vah-menu__panel > .vah-menu__root { flex-wrap: wrap; }
.vah-menu--horizontal > .vah-menu__panel > .vah-menu__root > .vah-menu__item { flex: 0 0 auto; }
.vah-menu--horizontal > .vah-menu__panel > .vah-menu__root > .vah-menu__item.has-divider { border-left: 1px solid var(--vah-separator); border-top: 0; padding-left: var(--vah-item-gap); }
.vah-menu--horizontal > .vah-menu__panel > .vah-menu__root > .vah-menu__item:not(.has-divider) + .vah-menu__item { border-left: var(--vah-separators) solid var(--vah-separator); }

.vah-menu--vertical { max-width: var(--vah-menu-width); }
.vah-menu--vertical .vah-menu__panel { align-items: stretch; flex-direction: column; }
.vah-menu--vertical .vah-menu__logo { align-self: flex-start; margin: 4px 6px 0; order: -1; }
.vah-menu--vertical .vah-menu__root { align-items: stretch; display: flex; flex-direction: column; gap: 0; width: 100%; }
.vah-menu--vertical .vah-menu__root > .vah-menu__item { padding-block: calc(var(--vah-item-gap) / 2); }
.vah-menu--vertical .vah-menu__item + .vah-menu__item { border-top: var(--vah-separators) solid var(--vah-separator); }
.vah-menu--vertical .vah-menu__item.has-divider { border-top: 1px solid var(--vah-separator); }
.vah-menu--vertical .vah-menu__submenu { background: transparent; border-left: 1px solid var(--vah-separator); border-radius: 0; box-shadow: none; margin: 2px 0 5px 19px !important; min-width: 0; padding: 0 0 0 8px !important; position: static; }

.vah-menu__overlay { background: var(--vah-overlay); bottom: 0; left: 0; opacity: 0; position: fixed; right: 0; top: var(--vah-drawer-top); transition: opacity .22s ease; z-index: 2147483645; }
.vah-menu.is-drawer-open .vah-menu__overlay { opacity: 1; }
.vah-menu.is-drawer { align-items: center; display: flex; }
.vah-menu.vah-menu__portal { display: block !important; height: 0 !important; position: static !important; width: 0 !important; z-index: auto !important; }
.vah-menu.is-drawer.vah-menu--dock-right { justify-content: flex-end; }
.vah-menu.is-drawer.vah-menu--dock-left { justify-content: flex-start; }
.vah-menu.is-drawer .vah-menu__mobile-toggle { display: inline-flex; }
.vah-menu.is-drawer .vah-menu__panel { align-items: stretch; border-radius: 0; display: flex; flex-direction: column; gap: 0; height: calc(100vh - var(--vah-drawer-top)); height: calc(100dvh - var(--vah-drawer-top)); max-width: calc(100vw - 24px); overscroll-behavior: contain; overflow-x: hidden; overflow-y: auto; padding: 10px 12px 24px; padding-bottom: calc(24px + env(safe-area-inset-bottom)); padding-left: calc(12px + env(safe-area-inset-left)); padding-right: calc(12px + env(safe-area-inset-right)); padding-top: calc(10px + var(--vah-drawer-safe-top)); pointer-events: none; position: fixed; top: var(--vah-drawer-top); transition: transform .28s cubic-bezier(.22,.76,.34,1), visibility 0s linear .28s; visibility: hidden; width: var(--vah-menu-width); z-index: 2147483646; -webkit-overflow-scrolling: touch; }
.vah-menu.is-drawer.vah-menu--dock-right .vah-menu__panel { box-shadow: -18px 0 50px rgba(13,15,31,.2); left: auto; right: 0; transform: translateX(105%); }
.vah-menu.is-drawer.vah-menu--dock-left .vah-menu__panel { box-shadow: 18px 0 50px rgba(13,15,31,.2); left: 0; right: auto; transform: translateX(-105%); }
.vah-menu.is-drawer.is-drawer-open .vah-menu__panel { pointer-events: auto; transform: translateX(0); transition-delay: 0s; visibility: visible; }
.vah-menu.is-drawer .vah-menu__mobile-head { align-items: center; border-bottom: 1px solid var(--vah-separator); display: flex; flex: 0 0 auto; justify-content: space-between; margin-bottom: var(--vah-logo-gap); min-height: 70px; padding: var(--vah-logo-top-gap) 4px 8px; }
.vah-menu.is-drawer .vah-menu__mobile-head strong { display: block; font-size: .82em; letter-spacing: .04em; text-transform: uppercase; }
.vah-menu.is-drawer .vah-menu__mobile-head button { align-items: center; background: transparent; border: 0; border-radius: 50%; color: inherit; cursor: pointer; display: flex; flex: 0 0 auto; font-size: 32px; height: 42px; justify-content: center; line-height: 1; width: 42px; }
.vah-menu.is-drawer .vah-menu__mobile-head button:hover, .vah-menu.is-drawer .vah-menu__mobile-head button:focus-visible { background: var(--vah-hover-bg); color: var(--vah-hover-text); outline: none; }
.vah-menu.is-drawer .vah-menu__logo { display: inline-flex; margin: 2px 12px 2px 4px; }
.vah-menu__portal .vah-menu__mobile-head { display: flex !important; }
.vah-menu__portal .vah-menu__mobile-head > strong { display: block !important; }
.vah-menu__portal .vah-menu__mobile-head > button { display: flex !important; }
.vah-menu__portal .vah-menu__logo { display: inline-flex !important; opacity: 1 !important; visibility: visible !important; }
.vah-menu__portal .vah-menu__logo-normal { display: block !important; opacity: 1; visibility: visible !important; }
.vah-menu.is-drawer .vah-menu__root { align-items: stretch; display: flex; flex: 0 0 auto; flex-direction: column; gap: 0; width: 100%; }
.vah-menu.is-drawer .vah-menu__root > .vah-menu__item { padding-block: calc(var(--vah-item-gap) / 2); }
.vah-menu.is-drawer .vah-menu__item + .vah-menu__item { border-left: 0; border-top: var(--vah-separators) solid var(--vah-separator); }
.vah-menu.is-drawer .vah-menu__item.has-divider { border-left: 0; border-top: 1px solid var(--vah-separator); padding-left: 0; }
.vah-menu.is-drawer .vah-menu__submenu { background: transparent; border-left: 1px solid var(--vah-separator); border-radius: 0; box-shadow: none; margin: 2px 0 5px 19px !important; min-width: 0; padding: 0 0 0 8px !important; position: static; }
.vah-menu.is-drawer .vah-menu__submenu .vah-menu__submenu { margin-left: 15px !important; }
.vah-menu.is-drawer .vah-menu__level-2 { font-size: .94em; }
.vah-menu.is-drawer .vah-menu__level-3 { font-size: .92em; }
.vah-menu.is-drawer .vah-menu__level-4 { font-size: .9em; }

.vah-menu--text-right.is-drawer .vah-menu__submenu,
.vah-menu--text-right.vah-menu--vertical .vah-menu__submenu { border-left: 0; border-right: 1px solid var(--vah-separator); margin-left: 0 !important; margin-right: 19px !important; padding-left: 0 !important; padding-right: 8px !important; }
.vah-menu--text-right.is-drawer .vah-menu__submenu .vah-menu__submenu { margin-left: 0 !important; margin-right: 15px !important; }

.vah-menu--animation-fade.is-drawer .vah-menu__panel { opacity: 0; transform: none; transition: opacity .22s ease, visibility .22s ease; visibility: hidden; }
.vah-menu--animation-fade.is-drawer.is-drawer-open .vah-menu__panel { opacity: 1; visibility: visible; }
.vah-menu--animation-reveal.is-drawer .vah-menu__panel { transform: none; transition: clip-path .3s cubic-bezier(.22,.76,.34,1), visibility .3s ease; visibility: hidden; }
.vah-menu--animation-reveal.is-drawer.vah-menu--dock-right .vah-menu__panel { clip-path: inset(0 0 0 100%); }
.vah-menu--animation-reveal.is-drawer.vah-menu--dock-left .vah-menu__panel { clip-path: inset(0 100% 0 0); }
.vah-menu--animation-reveal.is-drawer.is-drawer-open .vah-menu__panel { clip-path: inset(0); visibility: visible; }
.vah-menu--animation-none.is-drawer .vah-menu__panel, .vah-menu--animation-none .vah-menu__overlay { transition: none; }
.vah-menu.is-vah-pending .vah-menu__panel, .vah-menu.is-vah-pending .vah-menu__overlay { transition: none !important; }

.vah-menu.is-oxygen-preview .vah-menu__mobile-toggle,
.vah-menu.is-oxygen-preview .vah-menu__overlay { display: none !important; }
.vah-menu.is-oxygen-preview .vah-menu__mobile-head { display: contents !important; }
.vah-menu.is-oxygen-preview .vah-menu__panel { clip-path: none !important; height: auto !important; inset: auto !important; max-width: 100% !important; opacity: 1 !important; position: relative !important; transform: none !important; visibility: visible !important; width: 100% !important; }
.vah-menu.is-oxygen-preview .vah-menu__logo { display: inline-flex !important; }
.vah-menu--mode-drawer.is-oxygen-preview .vah-menu__panel { align-items: stretch; flex-direction: column; }
.vah-menu--mode-drawer.is-oxygen-preview .vah-menu__root { align-items: stretch; display: flex; flex-direction: column; width: 100%; }
.vah-menu--mode-drawer.is-oxygen-preview { max-width: var(--vah-menu-width); }

html.vah-menu-lock, body.vah-menu-lock { overflow: hidden; overscroll-behavior: none; }
body.vah-menu-lock .vah-menu__overlay { touch-action: none; }
body.vah-menu-lock .vah-menu__panel { touch-action: pan-y; }

@media (prefers-reduced-motion: reduce) {
  .vah-menu *, .vah-menu *::before, .vah-menu *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
