/* Canonical website header. Keep page-specific styles from changing navigation. */
.nav {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    z-index: 1000 !important;
    width: 100% !important;
    height: 72px !important;
    background: #dddddd !important;
    border-bottom: 1px solid rgba(27, 23, 18, .08) !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .7) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    transition: background-color .28s ease, border-color .28s ease, box-shadow .28s ease,
    backdrop-filter .28s ease !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
    "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif !important;
}

.nav.scrolled {
    background: rgba(221, 221, 221, .9) !important;
    border-bottom-color: rgba(27, 23, 18, .06) !important;
    box-shadow: 0 8px 28px rgba(18, 24, 38, .1) !important;
    -webkit-backdrop-filter: blur(20px) saturate(165%) !important;
    backdrop-filter: blur(20px) saturate(165%) !important;
}

.nav .nav-inner {
    display: flex !important;
    align-items: center !important;
    width: calc(100% - 32px) !important;
    max-width: none !important;
    height: 72px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: 24px !important;
}

.nav .nav-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 112px !important;
    height: 72px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    flex: 0 0 112px !important;
}

.nav .nav-logo img {
    display: block !important;
    width: auto !important;
    height: 44px !important;
    max-width: 112px !important;
    max-height: 44px !important;
    margin: 0 !important;
    object-fit: contain !important;
}

.nav .nav-menu {
    position: static !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;
    height: 72px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 2px !important;
    list-style: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    flex: 1 1 auto !important;
}

.nav .nav-menu > li {
    position: relative !important;
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
}

.nav .nav-menu > li > a {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    height: 72px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    color: #3a352d !important;
    background: transparent !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: .01em !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

.nav .nav-menu > li > a::after {
    content: '' !important;
    position: absolute !important;
    right: auto !important;
    bottom: 0 !important;
    left: 50% !important;
    display: block !important;
    width: 60% !important;
    height: 3px !important;
    background: #32c6ff !important;
    border: 0 !important;
    border-radius: 2px 2px 0 0 !important;
    opacity: 0 !important;
    transform: translateX(-50%) !important;
}

.nav .nav-menu > li > a:hover,
.nav .nav-menu > li:focus-within > a,
.nav .nav-menu > li > a.active,
.nav .nav-menu > li > a.is-current {
    color: #009dd8 !important;
}

.nav .nav-menu > li > a.active,
.nav .nav-menu > li > a.is-current {
    color: #00aeea !important;
    font-weight: 700 !important;
}

.nav .nav-menu > li > a.active::before,
.nav .nav-menu > li > a.is-current::before {
    content: '' !important;
    position: absolute !important;
    bottom: 4px !important;
    left: 50% !important;
    display: block !important;
    width: 0 !important;
    height: 0 !important;
    border-right: 7px solid transparent !important;
    border-bottom: 8px solid #32c6ff !important;
    border-left: 7px solid transparent !important;
    transform: translateX(-50%) !important;
}

.nav .nav-menu > li > a:hover::after,
.nav .nav-menu > li:focus-within > a::after,
.nav .nav-menu > li > a.active::after,
.nav .nav-menu > li > a.is-current::after {
    width: 52% !important;
    min-width: 44px !important;
    height: 4px !important;
    background: #32c6ff !important;
    box-shadow: 0 -2px 8px rgba(50, 198, 255, .28) !important;
    opacity: 1 !important;
}

.nav .nav-caret {
    display: none !important;
}

.nav .nav-sub-toggle {
    display: none !important;
}

.mobile-submenu-panel {
    display: none;
}

.nav .nav-sub {
    position: absolute !important;
    top: calc(100% - 1px) !important;
    left: 50% !important;
    z-index: 1010 !important;
    display: flex !important;
    min-width: 180px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 8px !important;
    gap: 0 !important;
    flex-direction: column !important;
    background: rgba(255, 255, 255, .98) !important;
    border: 1px solid rgba(27, 23, 18, .1) !important;
    border-top: 3px solid #32c6ff !important;
    border-radius: 0 !important;
    box-shadow: 0 18px 44px rgba(27, 23, 18, .14) !important;
    list-style: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    overflow: visible !important;
    transform: translateX(-50%) translateY(8px) !important;
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease !important;
}

.nav .nav-dropdown:hover > .nav-sub,
.nav .nav-dropdown:focus-within > .nav-sub {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(-50%) translateY(0) !important;
}

.nav .nav-sub li {
    display: block !important;
    width: 100% !important;
}

.nav .nav-sub a {
    display: flex !important;
    align-items: center !important;
    min-height: 42px !important;
    padding: 10px 16px !important;
    color: #4d4943 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.nav .nav-sub a::after,
.nav .nav-sub a::before {
    display: none !important;
}

.nav .nav-sub a:hover,
.nav .nav-sub a:focus-visible,
.nav .nav-sub a.active,
.nav .nav-sub a.is-current {
    color: #009dd8 !important;
    background: #edeef9 !important;
}

.nav .nav-right {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    gap: 14px !important;
    flex: 0 0 auto !important;
}

.nav .nav-lang {
    display: block !important;
    margin: 0 !important;
    padding-left: 20px !important;
    color: #777 !important;
    border-left: 1px solid rgba(27, 23, 18, .1) !important;
    font-size: 14px !important;
    line-height: 1 !important;
    letter-spacing: .5px !important;
    white-space: nowrap !important;
}

.nav .nav-lang a {
    color: inherit !important;
    text-decoration: none !important;
}

.nav .nav-lang a.active {
    color: #222 !important;
    font-weight: 600 !important;
}

.nav .nav-lang .sep {
    margin: 0 8px !important;
    padding: 0 !important;
    color: #c7c1b8 !important;
}

.nav .nav-toggle {
    display: none !important;
}

@media (max-width: 1180px) and (min-width: 1025px) {
    .nav .nav-inner {
        width: calc(100% - 24px) !important;
        gap: 10px !important;
    }

    .nav .nav-logo {
        width: 72px !important;
        flex-basis: 72px !important;
    }

    .nav .nav-menu > li > a {
        padding: 0 8px !important;
        font-size: 16px !important;
    }

    .nav .nav-lang {
        padding-left: 10px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 1024px) {
    .nav,
    .nav .nav-inner {
        height: 64px !important;
    }

    .nav .nav-inner {
        width: 100% !important;
        padding: 0 18px !important;
    }

    .nav .nav-logo {
        width: 64px !important;
        height: 64px !important;
        flex-basis: 64px !important;
    }

    .nav .nav-logo img {
        height: 38px !important;
    }

    .nav .nav-menu {
        position: absolute !important;
        top: 64px !important;
        right: 0 !important;
        left: 0 !important;
        display: flex !important;
        height: auto !important;
        max-height: 0 !important;
        padding: 0 22px !important;
        flex-direction: column !important;
        background: rgba(255, 255, 255, .98) !important;
        border-bottom: 1px solid rgba(27, 23, 18, .08) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }

    .nav .nav-menu.open {
        max-height: calc(100vh - 64px) !important;
        padding-top: 10px !important;
        padding-bottom: 20px !important;
        opacity: 1 !important;
        visibility: visible !important;
        overflow-y: auto !important;
        pointer-events: auto !important;
    }

    .nav .nav-menu > li,
    .nav .nav-menu > li > a {
        display: block !important;
        width: 100% !important;
        height: auto !important;
    }

    .nav .nav-menu > li > a {
        min-height: 46px !important;
        font-size: 17px !important;
        padding: 14px 2px !important;
        border-bottom: 1px solid rgba(27, 23, 18, .08) !important;
    }

    .nav .nav-menu > li > a::after {
        display: none !important;
    }

    .nav .nav-menu > li > a.active::before,
    .nav .nav-menu > li > a.is-current::before {
        top: 50% !important;
        right: 4px !important;
        bottom: auto !important;
        left: auto !important;
        width: 7px !important;
        height: 7px !important;
        background: #32c6ff !important;
        border: 0 !important;
        border-radius: 50% !important;
        transform: translateY(-50%) !important;
    }

    .nav .nav-sub {
        position: static !important;
        display: flex !important;
        min-width: 0 !important;
        padding: 0 0 6px 14px !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    .nav .nav-sub a {
        min-height: 40px !important;
        padding: 10px 12px !important;
    }

    .nav .nav-lang {
        padding-left: 0 !important;
        border-left: 0 !important;
        font-size: 12px !important;
    }

    .nav .nav-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        flex-direction: column !important;
        gap: 5px !important;
        background: #ecf9fe !important;
        border: 1px solid rgba(50, 198, 255, .12) !important;
        border-radius: 12px !important;
    }

    .nav .nav-toggle span {
        display: block !important;
        width: 19px !important;
        height: 2px !important;
        background: #222 !important;
    }
}

.nav-backdrop { display:none; }
@media(max-width:1024px) {
 html.menu-open,html.menu-open body {overflow:hidden;}
 .nav .nav-inner {box-sizing:border-box;justify-content:space-between!important;}
 .nav .nav-right {margin-left:auto!important;}
 .nav .nav-toggle {display:flex!important;cursor:pointer;}
 .nav-backdrop {position:fixed;inset:64px 0 0;z-index:999;background:rgba(0,0,0,.4);}
 html.menu-open .nav-backdrop {display:block;}
 .nav .nav-menu,.nav .nav-menu.open {position:fixed!important;top:64px!important;right:0!important;left:auto!important;width:min(340px,86vw)!important;height:calc(100vh - 64px)!important;height:calc(100dvh - 64px)!important;max-height:none!important;box-sizing:border-box;padding:16px 20px env(safe-area-inset-bottom)!important;justify-content:flex-start!important;overflow-y:auto!important;transform:translateX(100%)!important;transition:transform .25s ease,visibility .25s!important;visibility:hidden!important;opacity:1!important;pointer-events:none!important;background:#fff!important;z-index:1001!important;}
 .nav .nav-menu.open {transform:none!important;visibility:visible!important;pointer-events:auto!important;}
 .nav .nav-menu>li {flex:0 0 auto!important;}
 .nav .nav-menu>li>a {box-sizing:border-box;padding:16px 46px 16px 4px!important;line-height:1.4!important;white-space:normal!important;}
 .nav .nav-menu>li>a::before {display:none!important;}
 .nav .nav-sub-toggle {display:flex!important;position:absolute;right:0;top:4px;width:44px;height:44px;align-items:center;justify-content:center;border:0;background:transparent;cursor:pointer;}
 .nav .nav-sub-toggle span {width:8px;height:8px;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg);}
 .nav .submenu-open>.nav-sub-toggle span {transform:rotate(225deg);}
 .nav .nav-sub,.nav .nav-dropdown:hover>.nav-sub,.nav .nav-dropdown:focus-within>.nav-sub {display:none!important;transform:none!important;}
 .nav .submenu-open>.nav-sub {display:flex!important;}
 body:not(.has-mobile-page-nav) .hero,.mobile-page-nav {margin-top:64px!important;}
}
@media(prefers-reduced-motion:reduce) {.nav .nav-menu {transition:none!important;}}

/* Override legacy link decorations and hover rules inside the mobile drawer. */
@media (max-width: 1024px) {
    .nav .nav-menu > li > a::before,
    .nav .nav-menu > li > a::after,
    .nav .nav-menu > .nav-dropdown > .nav-drop-toggle::before,
    .nav .nav-menu > .nav-dropdown > .nav-drop-toggle::after,
    .nav .nav-menu > .nav-dropdown.submenu-open > .nav-drop-toggle::after {
        content: none !important;
        display: none !important;
    }
    .nav .nav-menu > .nav-dropdown > .nav-sub,
    .nav .nav-menu > .nav-dropdown:hover > .nav-sub,
    .nav .nav-menu > .nav-dropdown:focus-within > .nav-sub {
        display: none !important;
    }
    .nav .nav-menu > .nav-dropdown.submenu-open > .nav-sub,
    .nav .nav-menu > .nav-dropdown.submenu-open:hover > .nav-sub,
    .nav .nav-menu > .nav-dropdown.submenu-open:focus-within > .nav-sub {
        display: flex !important;
        position: static !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        width: 100% !important;
        box-sizing: border-box;
    }
    .nav .nav-menu > .nav-dropdown > .nav-sub-toggle {
        position: absolute !important;
        right: 0 !important;
        top: 4px !important;
        margin: 0 !important;
        color: #39352f;
    }
}

/* Shared language switch: visible selection and comfortable touch targets. */
.nav .nav-right .nav-lang {
    display: inline-flex !important;
    align-items: stretch !important;
    flex: 0 0 auto !important;
    gap: 3px !important;
    padding: 3px !important;
    border: 1px solid #b9c8d2 !important;
    border-radius: 12px !important;
    background: #f2f6f9 !important;
    letter-spacing: 0 !important;
}

.nav .nav-right .nav-lang a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box;
    min-width: 54px;
    min-height: 44px;
    padding: 0 12px !important;
    border-radius: 8px !important;
    color: #263744 !important;
    background: transparent !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}

.nav .nav-right .nav-lang a.active {
    color: #fff !important;
    background: #0079b5 !important;
    box-shadow: 0 2px 5px rgba(0, 80, 130, .2);
    font-weight: 700 !important;
}

.nav .nav-right .nav-lang a:not(.active):hover {
    background: #dcebf4 !important;
}

.nav .nav-right .nav-lang a:focus-visible {
    outline: 2px solid #005b91 !important;
    outline-offset: 2px;
}

@media (max-width: 480px) {
    .nav .nav-right .nav-lang a {
        min-width: 46px;
        padding: 0 9px !important;
        font-size: 13px !important;
    }
}

/* Balance the shared phone/tablet header without changing desktop navigation. */
@media (max-width: 1024px) {
    .nav .nav-inner {
        align-items: center !important;
        gap: 12px !important;
        padding: 0 16px !important;
    }
    .nav .nav-logo {
        width: 58px !important;
        flex: 0 0 58px !important;
    }
    .nav .nav-logo img {
        height: 44px !important;
        max-height: 44px !important;
    }
    .nav .nav-right {
        align-items: center !important;
        gap: 10px !important;
    }
    .nav .nav-right .nav-lang {
        gap: 2px !important;
        padding: 2px !important;
        border-radius: 10px !important;
    }
    .nav .nav-right .nav-lang a {
        min-width: 42px;
        min-height: 38px;
        padding: 0 8px !important;
        border-radius: 7px !important;
        font-size: 12px !important;
    }
    .nav .nav-right .nav-toggle {
        flex: 0 0 44px !important;
        width: 44px !important;
        height: 44px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }
    .nav .nav-right .nav-toggle span {
        width: 22px !important;
        background: #263744 !important;
    }
    .nav .nav-right .nav-toggle:focus-visible {
        outline: 2px solid #0079b5;
        outline-offset: -2px;
    }
}
