/* VNTrust navigation: dimensions and interaction states checked against FLOS. */
:root{--vn-header-height:110px;--vn-symbol-height:40px;--vn-word-width:140px;--vn-menu-paper:#fff;--vn-menu-ink:#111;--vn-menu-line:rgba(0,0,0,.15)}
html{scroll-padding-top:126px}
body.vn-menu-open{overflow:hidden}
.site-menu{position:fixed;top:0;left:0;right:0;height:110px;width:100%;margin:0!important;z-index:960;background:linear-gradient(180deg,rgba(0,0,0,.2),transparent);color:white;transition:transform .5s linear,background-color .2s,color .2s}
.vn-header-solid .site-menu,.vn-menu-open .site-menu,.catalog-mode .site-menu{background:white;color:var(--vn-menu-ink)}
.vn-header-hidden .site-menu{transform:translate3d(0,-250%,0)}
.vn-menu-container{width:100%;max-width:1440px;padding:0 40px;margin:0 auto;box-sizing:border-box}
.site-menu .topline{height:50px;padding:0;border:0;background:none!important;color:inherit!important;position:static;display:flex;align-items:center;justify-content:space-between;gap:24px;letter-spacing:0}
.site-menu .topline .brand-slogan{font-size:14px;line-height:20px;font-style:italic;display:inline-flex;align-items:center;gap:4px;color:inherit}
.site-menu .topline .shield-check{height:18px;width:18px;margin-right:12px;flex:none}
.site-menu .topline>a{font-size:14px;border:0;padding:0;border-radius:0;background:none;color:inherit;white-space:nowrap}
.site-menu .topline .architect-label{margin-left:0;font-size:inherit;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.site-menu .header{position:relative;top:auto;height:60px;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:0;margin:0;padding:0;color:inherit;background:none!important;border:0;transition:none}
.vn-header-solid .header::after,.catalog-mode .header::after,.vn-menu-open .header::after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--vn-menu-line)}
.vn-header-left{display:flex;align-items:center;min-width:0}
.site-menu .brand{display:block;width:auto;margin:0 24px 0 0;flex:none;color:inherit}
.vn-brand{display:flex;align-items:flex-end;gap:10px;height:var(--vn-symbol-height);line-height:1}
.vn-brand-symbol{display:block;flex:none;width:calc(var(--vn-symbol-height)*.99127);height:var(--vn-symbol-height);background-image:url('assets/vntrust-approved-logo.png');background-repeat:no-repeat;background-size:calc(var(--vn-symbol-height)*5.47598) calc(var(--vn-symbol-height)*5.47598);background-position:calc(var(--vn-symbol-height)*-2.23581) calc(var(--vn-symbol-height)*-1.94323);-webkit-mask:url('assets/vntrust-symbol-mask.svg') center/100% 100% no-repeat;mask:url('assets/vntrust-symbol-mask.svg') center/100% 100% no-repeat}
.vn-brand-word{display:block;flex:none;width:var(--vn-word-width);height:calc(var(--vn-word-width)/6);background:currentColor;-webkit-mask:url('assets/vntrust-wordmark-mask.svg') center/100% 100% no-repeat;mask:url('assets/vntrust-wordmark-mask.svg') center/100% 100% no-repeat}
.site-menu .header nav{display:flex;height:60px;align-items:center;gap:0;margin:0;padding:0;font-size:14px;line-height:20px}
.site-menu .header nav>a,.site-menu .header nav>button{height:60px;display:inline-flex;align-items:center;gap:8px;padding:8px 16px;margin:0;font:inherit;color:inherit;border:0;background:none;white-space:nowrap;position:relative;letter-spacing:0}
.site-menu .header nav>a::after,.site-menu .header nav>button::after{display:none}
.vn-link-label{display:block;border-bottom:1px solid transparent;transition:border-color .3s}
.site-menu .header nav>a:hover .vn-link-label,.site-menu .header nav>button:hover .vn-link-label,.site-menu .header nav>button[aria-expanded=true] .vn-link-label{border-bottom-color:currentColor}
.vn-chevron{width:10px;height:5px;display:block;stroke:none;fill:currentColor;flex:none}
.site-menu .header-actions{display:flex;align-items:center;gap:12px;flex:none;margin-left:20px}
.site-menu .header-actions button{background:none;color:inherit;padding:0;border:0;min-height:36px;display:inline-flex;align-items:center;justify-content:center}
.site-menu .header-actions button svg{width:22px!important;height:22px!important;stroke-width:1.1}
.site-menu .header-actions #language-toggle{font-size:10px;gap:4px;height:36px}
.site-menu .header-actions #language-toggle svg{width:20px!important;height:20px!important}
.site-menu .consult{display:inline-flex;gap:12px;align-items:center;font-size:14px;line-height:20px;white-space:nowrap}
.site-menu .consult span{margin:0}
.site-menu #menu-toggle{display:none}
.vn-flyout{position:fixed;inset:110px 0 0;z-index:959;background:white;color:var(--vn-menu-ink);overflow-y:auto;overflow-x:hidden;opacity:0;transform:translate3d(0,-40px,0);pointer-events:none;transition:opacity .25s linear,transform .35s cubic-bezier(.25,.46,.45,.94);overscroll-behavior:contain}
.vn-flyout.is-open{transition-duration:.25s,.5s;opacity:1;transform:translate3d(0,0,0);pointer-events:auto}
.vn-flyout[hidden]{display:none!important}
.vn-panel-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);column-gap:0;align-items:start;padding-top:80px;padding-bottom:32px;min-height:100%}
.vn-panel-main{padding-right:32px}
.vn-panel-title{font-size:64px;font-weight:500;line-height:1;margin:0 0 48px;letter-spacing:-1.8px}
.vn-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 32px}
.vn-category{display:flex;align-items:center;gap:32px;padding:8px 0;border:0;background:none;font-size:16px;line-height:24px;text-align:left;text-decoration:none;width:100%;color:inherit}
.vn-thumb{width:64px;height:64px;flex:none;overflow:hidden;background:#f1f1ef;display:block}
.vn-thumb img{height:100%;width:100%;object-fit:contain;display:block;transition:transform .4s cubic-bezier(.25,.46,.45,.94)}
.vn-category:hover .vn-thumb img{transform:scale(1.08)}
.vn-panel-aside{margin:0;width:100%;aspect-ratio:307/484;background-repeat:no-repeat;background-size:500.33% auto;background-position:89.585% 56.4%}
.vn-panel-aside.vn-room-aside{background-size:cover;background-position:70% center}
.vn-panel-aside img{display:none}
.vn-panel-links{display:flex;gap:32px;flex-wrap:wrap;grid-column:1/-1;margin-top:40px;border-top:1px solid var(--vn-menu-line);padding-top:24px}
.vn-panel-links button{border:0;border-bottom:1px solid currentColor;padding:0 0 4px;background:none;color:inherit;display:inline-flex;gap:24px;font-size:14px;line-height:20px}
.vn-panel-mobile-head{display:none}
#mobile-menu{position:fixed;inset:0;z-index:1000;top:0!important;max-height:none;height:100dvh;background:white;color:#111;padding:0;overflow:hidden;box-shadow:none}
/* Translated subpages are clipped, never horizontally scrollable on touch devices. */
@supports(overflow:clip){#mobile-menu{overflow:clip}}
.vn-mobile-page{position:absolute;inset:0;display:flex;flex-direction:column;background:white;transform:translate3d(100%,0,0);transition:transform .4s cubic-bezier(.445,.05,.55,.95)}
.vn-mobile-page.is-current{transform:translate3d(0,0,0)}
.vn-mobile-page.is-previous{transform:translate3d(-30%,0,0)}
.vn-mobile-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:85px;padding:24px 24px 28px;border-bottom:1px solid var(--vn-menu-line)}
.vn-mobile-head h2{font-size:20px;font-weight:500;line-height:28px;letter-spacing:0}
#mobile-menu .vn-mobile-head button{padding:0;border:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:28px;flex:none;background:none;color:inherit}
.vn-mobile-head .vn-back{font-size:24px!important;margin-right:0}
.vn-mobile-scroll{padding:0 24px 32px;overflow-x:hidden;overflow-y:auto;flex:1;min-height:0;overscroll-behavior:contain}
#mobile-menu .vn-mobile-main-link{display:flex;align-items:center;justify-content:space-between;width:100%;padding:24px 0;border:0;border-bottom:1px solid var(--vn-menu-line);font-size:16px;font-weight:600;line-height:24px;background:none;color:inherit;text-decoration:none}
#mobile-menu .vn-mobile-category{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:24px;width:100%;padding:8px 0;border:0;border-bottom:1px solid var(--vn-menu-line);font-size:16px;font-weight:400;line-height:24px;min-height:81px;background:none;text-align:left;color:inherit}
#mobile-menu .vn-mobile-category .vn-thumb{margin:0;width:64px;height:64px}
.vn-mobile-additional{margin-top:48px;display:flex;flex-direction:column;align-items:start;gap:24px}
.vn-mobile-additional a,.vn-mobile-additional button{font-size:14px!important;padding:0 0 3px!important;border:0!important;border-bottom:1px solid!important;display:inline-block!important;width:auto!important;text-decoration:none}
.catalog-mode #catalog-page{padding-top:170px}
#selection-dialog{width:min(520px,90vw);padding:40px;border:1px solid #ddd;color:#111;background:white}
#selection-dialog h2{font-size:30px;margin-bottom:20px}
#selection-dialog p{font-size:15px;color:#666}
.selection-close{float:right;font-size:28px;background:none;border:0;padding:0 0 12px 20px}
.vn-room-note{font-size:14px;color:#74756a;margin:0 0 18px}
@media(min-width:1024px) and (max-width:1279px){:root{--vn-symbol-height:34px;--vn-word-width:110px}.site-menu .header nav>a,.site-menu .header nav>button{padding:8px 10px}.site-menu .consult{display:none}.site-menu .header-actions{gap:16px;margin-left:14px}.site-menu .brand{margin-right:14px}.vn-category{gap:20px;font-size:14px}.vn-category-grid{column-gap:20px}.vn-panel-main{padding-right:24px}.vn-panel-title{font-size:56px}}
@media(min-width:1280px) and (max-width:1439px){.site-menu .consult{display:none}.site-menu .header-actions{margin-left:16px;gap:20px}.site-menu .header nav>a,.site-menu .header nav>button{padding:8px 14px}.vn-panel-title{font-size:60px}}
@media(max-width:1023px){:root{--vn-symbol-height:30px;--vn-word-width:110px}.vn-menu-container{padding:0 24px}.site-menu .topline{height:50px;justify-content:center}.site-menu .topline .brand-slogan{font-size:12px;line-height:18px}.site-menu .topline>a{display:none}.site-menu .header{height:60px;min-height:60px}.site-menu .header nav{display:none}.site-menu .brand{margin:0}.site-menu .header-actions{gap:20px;margin:0}.site-menu .header-actions .language-picker,.site-menu .consult{display:none}.site-menu #menu-toggle{display:inline-flex}.site-menu .header-actions button{height:36px;width:24px}.vn-flyout{display:none!important}.catalog-mode #catalog-page{padding-top:140px}.vn-mobile-head{padding-left:24px;padding-right:24px}}
@media(max-width:359px){:root{--vn-symbol-height:27px;--vn-word-width:98px}.site-menu .header-actions{gap:14px}.site-menu .topline .shield-check{width:14px;height:14px;margin-right:6px}.site-menu .topline .brand-slogan{font-size:10px;gap:3px}}
@media(prefers-reduced-motion:reduce){.site-menu,.vn-flyout,.vn-mobile-page,.vn-thumb img{transition:none!important}}
/* Align desktop navigation with the bottom of the approved logo. */
@media(min-width:1024px){
 .site-menu .brand{margin-right:48px}
 .site-menu .header nav>a,.site-menu .header nav>button{align-items:flex-end;padding-top:0;padding-bottom:7px}
 .site-menu .header nav .vn-chevron{align-self:flex-end;margin-bottom:7px}
 .site-menu .header-actions{gap:12px;align-items:flex-end;align-self:stretch;padding-bottom:7px}
 .site-menu .header-actions button,.site-menu .header-actions #language-toggle{height:22px;min-height:22px;align-items:flex-end}
 .site-menu .header-actions .language-picker{height:22px;display:flex;align-items:flex-end}
 .site-menu .header-actions #language-code{line-height:18px}
 .site-menu .header-actions .consult{line-height:20px;align-items:baseline}
}
@media(min-width:1024px) and (max-width:1279px){
 .site-menu .brand{margin-right:28px}
 .site-menu .header nav>a,.site-menu .header nav>button{padding-bottom:10px}
 .site-menu .header-actions{gap:10px;padding-bottom:10px}
}
/* Equal SVG bounds and control boxes for the three utility icons. */
.site-menu .header-actions :is(#language-toggle,#search-open,#selection-open){display:inline-flex;align-items:center;justify-content:center;width:24px;height:22px;min-height:22px;padding:0;margin:0;line-height:1;flex:none}
.site-menu .header-actions #language-toggle{width:auto;gap:4px}
.site-menu .header-actions #language-code{display:block;line-height:22px}
.site-menu .header-actions :is(#language-toggle,#search-open,#selection-open) svg{display:block;width:22px!important;height:22px!important;flex:none;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1023px){.site-menu .header-actions :is(#language-toggle,#search-open,#selection-open){height:36px;min-height:36px}}
.vn-mobile-locales{display:flex;gap:24px;margin-top:32px;align-items:center}
/* Balance desktop navigation between the logo and utility controls. */
@media(min-width:1024px){
 .site-menu .vn-header-left{flex:1}
 .site-menu .header nav{margin-left:auto;margin-right:auto}
}
/* Add breathing room below the desktop menu without moving its contents. */
@media(min-width:1024px){
 :root{--vn-header-height:126px}
 .site-menu{height:var(--vn-header-height)}
 body .site-menu .header::after{bottom:-16px}
 .vn-flyout{top:var(--vn-header-height)}
 body.editorial-mode .ed-page{padding-top:var(--vn-header-height)}
}
#mobile-menu .vn-mobile-locales button{font-size:13px;padding:8px 0;border:0;border-bottom:1px solid transparent;width:auto}
#mobile-menu .vn-mobile-locales button[aria-pressed=true]{border-bottom-color:currentColor}
/* Keep the complete square subjects visible during the thumbnail hover. */
.vn-category:hover .vn-thumb img[src*="/menu-squares/"]{transform:none}
