/* Scoped overrides retain the existing header and service hierarchy. */
.wn-site-header *, .wn-site-header *::before, .wn-site-header *::after { box-sizing: border-box; }
.wn-site-header a, .wn-site-header button, .wn-site-header span, .wn-site-header strong { letter-spacing: 0 !important; }
.wn-site-header button { font-family: inherit; margin: 0; text-transform: none; }
.wn-site-header :is(a, button):focus-visible { outline: 2px solid #d4af37; outline-offset: 3px; }
body .wn-header-inner { gap: 20px; }
.wn-site-header .wn-brand { min-width: 0; }
.wn-site-header .wn-logo-container { flex-shrink: 0; }
.wn-site-header .wn-desktop-menu { gap: 24px; padding: 0; margin: 0; list-style: none; align-items: center; }
.wn-site-header .wn-desktop-menu > li { margin: 0; }
.wn-site-header .wn-desktop-menu > li > :is(a, button) { display: inline-flex; align-items: center; min-height: 48px; padding: 16px 0; font-size: 13px; line-height: 1.4; font-weight: 600; }
.wn-site-header .wn-menu-link-dropdown { background: transparent; border: 0; margin: 0; }
.wn-site-header .wn-desktop-menu > li > :is(a, button)::after { bottom: 6px; }
.wn-site-header .wn-menu-icon { flex-shrink: 0; }
.wn-site-header .wn-contact-link, .wn-site-header .wn-mobile-contact { font-size: 12px; min-height: 44px; padding: 0 20px; }
.wn-site-header .wn-custom-lang { gap: 4px !important; margin: 0 !important; }
.wn-site-header .wn-custom-lang a { display: flex !important; align-items: center; justify-content: center; width: 44px; min-height: 44px; }
.wn-site-header .wn-custom-lang li.inactive-lang img { filter: none !important; opacity: .8; }
.wn-site-header .wn-vertical-dropdown { width: 280px; border-radius: 8px; transform: translateX(-50%); }
.wn-site-header .wn-menu-has-dropdown:hover .wn-vertical-dropdown { transform: translateX(-50%); }
.wn-site-header .wn-sub-dropdown { width: 310px; border-radius: 8px; transition: opacity .2s ease, transform .2s ease; }
.wn-site-header .wn-vertical-dropdown { transition: opacity .2s ease; }
.wn-site-header .wn-sub-content { min-width: 0; }
.wn-site-header .wn-sub-title, .wn-site-header .wn-pillar-title { white-space: normal; overflow-wrap: anywhere; }
.wn-site-header .wn-sub-desc { font-size: 12px; line-height: 1.5; }
.wn-site-header .wn-sub-dropdown li { margin: 0; list-style: none; }
body .wn-site-header .wn-vertical-dropdown a.wn-pillar-link { color: #20242a !important; min-height: 48px; width: 100%; }
body .wn-site-header .wn-vertical-dropdown a.wn-sub-item { color: #444 !important; }
.wn-site-header .wn-vertical-pillar-item::after { display: none; }
.wn-site-header .wn-sub-dropdown::before { pointer-events: auto; }
.wn-site-header .wn-menu-has-dropdown.is-open > .wn-vertical-dropdown,
.wn-site-header .wn-vertical-pillar-item.is-open > .wn-sub-dropdown { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(0); }
.wn-site-header .wn-menu-has-dropdown.is-open > .wn-vertical-dropdown { transform: translateX(-50%); }
.wn-site-header .wn-vertical-dropdown.flyout-left .wn-sub-dropdown { left: auto; right: 100%; margin: 0 8px 0 0; }
.wn-site-header .wn-vertical-dropdown.flyout-left .wn-sub-dropdown::before { left: auto; right: -12px; }
.wn-site-header .wn-menu-has-dropdown.is-closed > .wn-vertical-dropdown,
.wn-site-header .wn-vertical-pillar-item.is-closed > .wn-sub-dropdown { opacity: 0; visibility: hidden; pointer-events: none; }
.wn-site-header .wn-mobile-menu { left: 0; width: 360px; max-width: calc(100% - 24px); height: 100dvh; transform: translateX(-105%); visibility: hidden; transition: transform .25s ease; }
.wn-site-header .wn-mobile-menu.active { transform: translateX(0); visibility: visible; }
.wn-site-header .wn-mobile-menu:not(.active) * { visibility: hidden !important; }
.wn-site-header .wn-mobile-menu * { transition-property: color, background-color, border-color, transform, opacity !important; }
.wn-site-header .wn-mobile-menu-body { scrollbar-width: thin; scrollbar-color: #686052 #09090a; }
.wn-site-header .wn-mobile-menu-header { flex-shrink: 0; height: 80px; gap: 12px; padding: 0 16px; }
.wn-site-header .wn-mobile-menu-header .wn-logo-container { width: 44px !important; height: 44px !important; }
.wn-site-header .wn-mobile-menu-header .wn-brand-name { font-size: 17px; }
.wn-site-header .wn-mobile-menu-header .wn-brand-tagline { font-size: 10px; }
.wn-site-header .wn-mobile-close, .wn-site-header .wn-mobile-toggle { width: 44px; height: 44px; min-width: 44px; flex-shrink: 0; }
.wn-site-header .wn-mobile-menu-body { min-height: 0; padding: 12px 16px max(24px, env(safe-area-inset-bottom)); overscroll-behavior: contain; }
.wn-site-header .wn-mobile-menu-body > a:not(.wn-mobile-contact), .wn-site-header .wn-mobile-dropdown-btn { min-height: 52px; font-size: 15px; }
.wn-site-header .wn-mobile-dropdown-content { padding-left: 10px; }
.wn-site-header .wn-mobile-pillar-accordion { padding: 0; border: 0; border-radius: 0; background: transparent; }
.wn-site-header .wn-mobile-pillar-btn { min-height: 56px; gap: 12px; padding: 10px 0; }
.wn-site-header .wn-mobile-pillar-btn-left { min-width: 0; }
.wn-site-header .wn-mobile-pillar-btn-left strong { font-size: 13px !important; white-space: normal; line-height: 1.5; text-transform: none; }
.wn-site-header .wn-mobile-pillar-btn-left .wn-sub-desc { padding-left: 0; font-size: 12px; color: #b8b8bd !important; }
.wn-site-header .wn-mobile-pillar-arrow { flex-shrink: 0; }
.wn-site-header .wn-mobile-child-link { background: transparent; border: 0; border-left: 1px solid #4d432a; border-radius: 0; }
.wn-site-header .wn-mobile-child-title { font-size: 13px; }
.wn-site-header .wn-mobile-child-desc { font-size: 12px; color: #b8b8bd !important; }
body.wn-navigation-open { overflow: hidden !important; }
@media (max-width: 1199px) {
  body .wn-site-header .wn-desktop-nav, .wn-site-header > .wn-header-inner > .wn-contact-link, .wn-site-header > .wn-header-inner > .wn-lang-switcher { display: none !important; }
  body .wn-site-header .wn-mobile-toggle { display: block !important; margin-left: auto; }
}
@media (max-width: 600px) {
  body .wn-header-inner { width: calc(100% - 32px) !important; gap: 12px; }
  .wn-site-header .wn-brand-name { font-size: 18px; }
  .wn-site-header .wn-brand-tagline { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .wn-site-header *, .wn-site-header *::before, .wn-site-header *::after { transition: none !important; animation: none !important; }
}
