.vi-nav-list{list-style:none;margin:0;padding:0;min-width:0}
.vi-nav-list li{position:relative;min-width:0;list-style:none}
.vi-nav-list a{overflow-wrap:anywhere}
.vi-nav-list .sub-menu{display:none;list-style:none;margin:0}
.vi-nav-list .sub-menu[data-ready]:not([hidden]){display:block}
.vi-nav-list .vi-has-submenu{display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:center}
.vi-nav-list .vi-has-submenu>.sub-menu{grid-column:1/-1}
.vi-submenu-toggle{display:grid;place-items:center;width:36px;min-height:44px;padding:0;border:0;border-radius:0;background:none;color:inherit;font:inherit;font-size:1.25rem;line-height:1;cursor:pointer}
.vi-submenu-toggle:focus-visible,.vi-nav-list a:focus-visible{outline:1px solid currentColor;outline-offset:3px}
.desktop-nav{min-width:0}
.desktop-nav>.vi-nav-list{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px clamp(16px,2vw,32px)}
.desktop-nav .vi-nav-list a{display:block;white-space:normal;max-width:24rem}
.desktop-nav .sub-menu{position:absolute;z-index:2;top:100%;right:0;width:min(320px,calc(100vw - 40px));max-height:min(480px,65dvh);overflow:auto;padding:12px 18px;border:1px solid #d8d3c9;background:#f7f5f1;color:#171715;box-shadow:0 12px 32px #0002;text-transform:none;letter-spacing:.02em;font-size:.9375rem}
.desktop-nav .sub-menu a{padding-block:12px;line-height:1.45}
.desktop-nav .sub-menu a::after{display:none}
.desktop-nav .sub-menu a:hover{text-decoration:underline;text-underline-offset:4px}
.desktop-nav .sub-menu .sub-menu{position:static;width:auto;max-height:none;overflow:visible;border:0;border-left:1px solid #d8d3c9;box-shadow:none;padding:0 0 0 16px;margin:0 0 6px}
.mobile-menu .vi-nav-list{counter-reset:vi-menu}
.mobile-menu .vi-nav-list>li{counter-increment:vi-menu}
.mobile-menu .vi-nav-list>li>a::before{content:counter(vi-menu,decimal-leading-zero);align-self:start;margin-top:.4em;color:#f5f3ef7a;font-size:.75rem;letter-spacing:.1em}
.mobile-menu .vi-nav-list>li>a{min-width:0;overflow-wrap:anywhere;grid-template-columns:36px minmax(0,1fr)}
.mobile-menu .vi-submenu-toggle{width:36px;min-height:48px;font-size:1.5rem;border-bottom:1px solid #ffffff2e}
.mobile-menu .sub-menu{padding:0 0 8px 36px}
.mobile-menu .sub-menu a{display:block;font-size:1.125rem;letter-spacing:-.01em;line-height:1.4;padding:14px 0}
.mobile-menu .sub-menu .sub-menu{padding-left:16px}
.footer-nav{min-width:0;max-width:100%}
.footer-nav>.vi-nav-list{display:flex;gap:12px 24px;justify-content:center;align-items:center;flex-wrap:wrap}
.footer-nav .sub-menu{padding:8px 0 0;min-width:0}
.footer-nav .sub-menu a{display:block;padding:10px 0}
@media(min-width:901px){.footer-nav>.vi-nav-list{justify-content:flex-start}}
@media(max-width:640px){.mobile-menu .vi-nav-list>li>a{font-size:clamp(1.5rem,6.5vw,2rem);line-height:1.22}}
