/* Shared MOSINTER header and footer copied from the homepage shell. */
.home-nav-update,
.home-footer {
    box-sizing: border-box;
}

.home-nav-update *,
.home-nav-update *::before,
.home-nav-update *::after,
.home-footer *,
.home-footer *::before,
.home-footer *::after {
    box-sizing: border-box;
}

.home-nav-update.navbar {
    position: fixed;
    z-index: 1000;
    inset: 0 0 auto;
    display: flex;
    width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    background: transparent;
    transition: opacity 220ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 260ms cubic-bezier(0.22, 1, 0.36, 1),
        background-color 280ms ease,
        border-color 280ms ease,
        box-shadow 280ms ease;
    will-change: opacity, transform;
}

.home-nav-update.navbar.transparent {
    opacity: 1 !important;
    transform: translateY(0) !important;
    pointer-events: auto;
}

.home-nav-update.navbar.light-gray.hidden {
    margin-top: 0;
    border-bottom-color: #eee9e6;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(34, 20, 10, 0.08);
    opacity: 0 !important;
    transform: translateY(-100%) !important;
    pointer-events: none;
}

.site-shell-scrolled .home-nav-update.navbar.transparent {
    opacity: 0 !important;
    transform: translateY(-100%) !important;
    pointer-events: none;
}

.site-shell-scrolled .home-nav-update.navbar.light-gray.hidden {
    opacity: 1 !important;
    transform: translateY(0) !important;
    pointer-events: auto;
}

/* Pages whose original design used a solid header keep that readable state at the top. */
.site-shell-solid-start .home-nav-update.navbar.transparent {
    opacity: 0 !important;
    transform: translateY(-100%) !important;
    pointer-events: none;
}

.site-shell-solid-start .home-nav-update.navbar.light-gray.hidden {
    opacity: 1 !important;
    transform: translateY(0) !important;
    pointer-events: auto;
}

.home-nav-update .nav-wrap {
    display: flex;
    width: calc(100% - 48px);
    align-items: center;
    justify-content: center;
    margin-inline: auto;
}

.home-nav-update .nav-menu-wrapper {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    align-items: center;
}

.home-nav-update .nav-menu,
.home-nav-update .menu-wrap {
    display: flex;
    align-items: center;
}

.home-nav-update .nav-menu {
    min-width: 0;
    flex: 0 1 auto;
    margin-left: auto;
}

.home-nav-update .menu-wrap {
    justify-content: flex-start;
}

.home-nav-update .nav-link,
.home-nav-update .nav-dropdown-primary,
.home-nav-update .nav-dropdown-caret,
.home-nav-update .nav-dropdown-link,
.home-nav-update .nav-button,
.home-nav-update .primary-button {
    font-family: "DM Mono", "Arial", sans-serif;
}

.home-nav-update .nav-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 0;
    color: #ffffff;
    font-weight: 600;
    line-height: 1.2;
    text-align: left;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    transition: color 220ms ease, opacity 220ms ease;
}

.home-nav-update.navbar.light-gray .nav-link,
.home-nav-update.navbar.light-gray .nav-dropdown-primary,
.home-nav-update.navbar.light-gray .nav-dropdown-caret {
    color: #171717 !important;
}

.home-nav-update .menu-wrap > .nav-link:hover,
.home-nav-update .menu-wrap > .nav-link:focus-visible,
.home-nav-update .nav-dropdown:hover > .nav-dropdown-primary,
.home-nav-update .nav-dropdown:hover > .nav-dropdown-caret,
.home-nav-update .nav-dropdown:focus-within > .nav-dropdown-primary,
.home-nav-update .nav-dropdown:focus-within > .nav-dropdown-caret {
    color: #bf4d0a !important;
    opacity: 1;
}

.home-nav-update .nav-dropdown {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.home-nav-update .nav-dropdown-primary {
    padding-right: 0;
}

.home-nav-update .nav-dropdown-caret {
    display: inline-flex;
    width: auto;
    min-width: 0;
    height: auto;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: #ffffff;
    cursor: pointer;
}

.home-nav-update .nav-dropdown-icon {
    position: static;
    display: block;
    width: 8px;
    height: 8px;
    margin: -4px 2px 0 0;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    transition: transform 220ms ease;
}

.home-nav-update .nav-dropdown:hover .nav-dropdown-icon,
.home-nav-update .nav-dropdown:focus-within .nav-dropdown-icon,
.home-nav-update .nav-dropdown.is-dropdown-open .nav-dropdown-icon {
    margin-top: 3px;
    transform: rotate(225deg);
}

.home-nav-update .nav-dropdown-list {
    position: absolute;
    z-index: 1100;
    top: calc(100% + 18px);
    left: 50%;
    display: none;
    width: min(560px, calc(100vw - 32px));
    max-height: calc(100vh - 92px);
    padding: 22px 24px;
    overflow-y: auto;
    border: 1px solid rgba(0, 0, 0, 0.12);
    background: #ffffff;
    box-shadow: 0 16px 38px rgba(38, 21, 9, 0.15);
    transform: translateX(-50%);
}

.home-nav-update .nav-dropdown--edge > .nav-dropdown-list {
    right: 0;
    left: auto;
    transform: none;
}

.home-nav-update .nav-dropdown:hover > .nav-dropdown-list,
.home-nav-update .nav-dropdown:focus-within > .nav-dropdown-list,
.home-nav-update .nav-dropdown.is-dropdown-open > .nav-dropdown-list,
.home-nav-update .nav-dropdown-list.mos--open {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 24px;
}

.home-nav-update .nav-dropdown-column,
.home-nav-update .nav-dropdown-link-wrapper {
    width: 100%;
    min-width: 0;
}

.home-nav-update .nav-dropdown-link-wrapper {
    display: flex;
    flex-direction: column;
}

.home-nav-update .nav-dropdown-link {
    display: flex;
    width: 100%;
    min-height: 40px;
    align-items: center;
    padding: 9px 8px;
    color: #171717 !important;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
    overflow-wrap: anywhere;
    text-decoration: none;
    white-space: normal;
    transition: color 220ms ease, background-color 220ms ease, transform 220ms ease;
}

.home-nav-update .nav-dropdown-link:hover,
.home-nav-update .nav-dropdown-link:focus-visible {
    color: #bf4d0a !important;
    background: rgba(144, 60, 5, 0.08);
    transform: translateX(3px);
}

.home-nav-update .nav-dropdown-link-line {
    width: 4px;
    height: 4px;
    flex: 0 0 auto;
    margin-right: 10px;
    background: #bf4d0a;
}

.home-nav-update .nav-empty-block {
    width: 1px;
}

.home-nav-update .nav-button-wrap {
    display: flex;
    flex: 0 0 auto;
    align-items: stretch;
}

.home-nav-update .nav-button,
.home-nav-update .primary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: #bf4d0a;
    color: #ffffff;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color 220ms ease, color 220ms ease;
}

.home-nav-update .nav-button:hover,
.home-nav-update .nav-button:focus-visible,
.home-nav-update .primary-button:hover,
.home-nav-update .primary-button:focus-visible {
    background: #171717;
    color: #ffffff;
}

.home-nav-update .menu-button,
.home-nav-update .tablet-menu,
.home-nav-update .nav-button-tablet {
    display: none;
}

.home-nav-update .mos-nav-overlay {
    display: none;
}

body.mos-mobile-menu-open {
    overflow: hidden;
}

.page-static-background {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

@media screen and (min-width: 1921px) {
    .home-nav-update .nav-wrap {
        width: calc(100% - 80px);
        max-width: 1760px;
        min-height: 82px;
    }

    .home-nav-update .nav-menu-wrapper {
        gap: 60px;
    }

    .home-nav-update .menu-wrap {
        column-gap: 48px;
    }

    .home-nav-update .nav-link {
        font-size: 19px !important;
    }

    .home-nav-update .nav-button-wrap {
        width: 200px;
        height: 82px;
        margin-left: 48px;
    }

    .home-nav-update .nav-button {
        width: 100%;
        font-size: 17px;
    }
}

@media screen and (min-width: 1920px) and (max-width: 1920px) {
    .home-nav-update .nav-wrap {
        width: calc(100% - 80px);
        max-width: 1760px;
        min-height: 82px;
    }

    .home-nav-update .nav-menu-wrapper {
        gap: 42px;
    }

    .home-nav-update .menu-wrap {
        column-gap: 38px;
    }

    .home-nav-update .nav-link {
        font-size: 17px !important;
    }

    .home-nav-update .nav-button-wrap {
        width: 200px;
        height: 82px;
        margin-left: 38px;
    }
}

@media screen and (min-width: 1440px) and (max-width: 1919px) {
    .home-nav-update .nav-wrap {
        width: calc(100% - 80px);
        max-width: 1760px;
        min-height: 76px;
    }

    .home-nav-update .nav-menu-wrapper {
        gap: 30px;
    }

    .home-nav-update .menu-wrap {
        column-gap: 30px;
    }

    .home-nav-update .nav-link {
        font-size: 16px !important;
    }

    .home-nav-update .nav-button-wrap {
        width: 180px;
        height: 76px;
        margin-left: 28px;
    }
}

@media screen and (min-width: 1200px) and (max-width: 1439px) {
    .home-nav-update .nav-wrap {
        width: calc(100% - 48px);
        min-height: 72px;
    }

    .home-nav-update .nav-menu-wrapper {
        gap: 20px;
    }

    .home-nav-update .menu-wrap {
        column-gap: 21px;
    }

    .home-nav-update .nav-link {
        font-size: 15px !important;
    }

    .home-nav-update .nav-button-wrap {
        width: 160px;
        height: 72px;
        margin-left: 20px;
    }
}

/* Keep the complete desktop navigation inside narrower laptop viewports. */
@media screen and (min-width: 1200px) and (max-width: 1299px) {
    .home-nav-update .nav-wrap {
        width: calc(100% - 64px);
    }

    .home-nav-update .brand-lockup {
        gap: 8px;
        padding-right: 0;
    }

    .home-nav-update .brand-lockup__mark {
        width: 5.25rem !important;
    }

    .home-nav-update .brand-lockup__cn {
        font-size: 1.02rem;
    }

    .home-nav-update .brand-lockup__en {
        margin-top: 0.24rem;
        font-size: 0.76rem;
    }

    .home-nav-update .nav-menu-wrapper {
        gap: 10px;
    }

    .home-nav-update .menu-wrap {
        column-gap: 11px;
    }

    .home-nav-update .nav-link {
        font-size: 13.5px !important;
    }

    .home-nav-update .nav-button-wrap {
        width: 145px;
        margin-left: 10px;
    }

    .home-nav-update .nav-button {
        padding-inline: 8px;
        font-size: 13px;
    }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
    .home-nav-update .nav-wrap {
        width: calc(100% - 24px);
        min-height: 68px;
    }

    .home-nav-update .brand-lockup {
        gap: 7px;
        padding-right: 0;
    }

    .home-nav-update .brand-lockup__mark {
        width: 4.8rem !important;
    }

    .home-nav-update .brand-lockup__cn {
        font-size: 0.96rem;
    }

    .home-nav-update .brand-lockup__en {
        font-size: 0.72rem;
    }

    .home-nav-update .nav-menu-wrapper {
        gap: 8px;
    }

    .home-nav-update .menu-wrap {
        column-gap: 7px;
    }

    .home-nav-update .nav-link {
        font-size: 13.5px !important;
    }

    .home-nav-update .nav-button-wrap {
        width: 138px;
        height: 68px;
        margin-left: 8px;
    }

    .home-nav-update .nav-button {
        padding-inline: 8px;
        font-size: 13px;
    }
}

@media screen and (max-width: 991px) {
    .home-nav-update .nav-wrap {
        width: calc(100% - 30px);
        min-height: 68px;
        justify-content: space-between;
    }

    .home-nav-update .nav-menu-wrapper {
        justify-content: space-between;
    }

    .home-nav-update .nav-menu {
        position: fixed;
        z-index: 1200;
        inset: 0 auto 0 0;
        display: block !important;
        width: min(430px, 100vw);
        height: 100vh;
        height: 100dvh;
        padding: 22px 24px 30px;
        overflow-y: auto;
        overscroll-behavior: contain;
        background: #ffffff;
        box-shadow: 20px 0 50px rgba(38, 21, 9, 0.18);
        visibility: hidden;
        transform: translate3d(-100%, 0, 0);
        transition: transform 400ms ease, visibility 0s linear 400ms;
        pointer-events: none;
        will-change: transform;
    }

    .home-nav-update.is-menu-open .nav-menu {
        visibility: visible;
        transform: translate3d(0, 0, 0);
        transition-delay: 0s;
        pointer-events: auto;
    }

    .home-nav-update .mos-nav-overlay {
        position: fixed;
        z-index: 1190 !important;
        inset: 0;
        display: block;
        background: rgba(31, 17, 7, 0.56);
        opacity: 0;
        visibility: hidden;
        transition: opacity 260ms ease, visibility 0s linear 400ms;
        pointer-events: none;
    }

    .home-nav-update.is-menu-open .mos-nav-overlay {
        opacity: 1;
        visibility: visible;
        transition-delay: 0s;
        pointer-events: auto;
    }

    .home-nav-update .tablet-menu,
    .home-nav-update .menu-wrap,
    .home-nav-update .mos-mobile-language,
    .home-nav-update .nav-button-tablet {
        opacity: 0;
        transform: translate3d(-16px, 0, 0);
        transition: opacity 240ms ease, transform 320ms ease;
    }

    .home-nav-update.is-menu-open .tablet-menu,
    .home-nav-update.is-menu-open .menu-wrap,
    .home-nav-update.is-menu-open .mos-mobile-language,
    .home-nav-update.is-menu-open .nav-button-tablet {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        transition-delay: 90ms;
    }

    .home-nav-update .tablet-menu {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 24px;
    }

    .home-nav-update .brand-tablet.brand-lockup {
        display: inline-flex !important;
    }

    .home-nav-update .close-menu-button,
    .home-nav-update .menu-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
    }

    .home-nav-update .close-menu-button {
        width: 42px;
        height: 42px;
    }

    .home-nav-update .menu-button {
        width: 46px;
        height: 46px;
        margin-left: auto;
    }

    .home-nav-update .menu-wrap {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
    }

    .home-nav-update .nav-link,
    .home-nav-update .nav-dropdown-primary,
    .home-nav-update .nav-dropdown-caret {
        color: #171717 !important;
    }

    .home-nav-update .menu-wrap > .nav-link,
    .home-nav-update .nav-dropdown-primary {
        min-height: 48px;
        flex: 1 1 auto;
        border-bottom: 1px solid #f0ebe7;
        font-size: 16px !important;
    }

    .home-nav-update .nav-dropdown {
        width: 100%;
        flex-wrap: wrap;
    }

    .home-nav-update .nav-dropdown-caret {
        width: 42px;
        height: 48px;
        flex: 0 0 42px;
        border-bottom: 1px solid #f0ebe7;
    }

    .home-nav-update .nav-dropdown-list,
    .home-nav-update .nav-dropdown:hover > .nav-dropdown-list,
    .home-nav-update .nav-dropdown:focus-within > .nav-dropdown-list {
        position: static;
        display: none;
        width: 100%;
        max-height: 360px;
        flex-basis: 100%;
        padding: 10px 0 12px 14px;
        overflow-y: auto;
        border: 0;
        box-shadow: none;
        transform: none;
    }

    .home-nav-update .nav-dropdown.is-dropdown-open > .nav-dropdown-list,
    .home-nav-update .nav-dropdown-list.mos--open {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
    }

    .home-nav-update .nav-button-tablet {
        display: block;
        margin-top: 24px;
    }

    .home-nav-update .nav-button-tablet .primary-button {
        width: 100%;
        min-height: 52px;
        padding: 12px 18px;
    }

    .home-nav-update .nav-button-wrap,
    .home-nav-update .nav-empty-block {
        display: none;
    }
}

/* Shared footer: contact-us.html is the source for scripts/sync-site-footer.mjs. */
.home-footer {
    padding: 0;
    border-top: 3px solid #bf4d0a;
    background: #221b17;
    color: #c1b6ae;
    font-family: var(--font-body, "DM Sans", sans-serif);
}

.home-footer .base-container {
    box-sizing: border-box;
    width: 100%;
    max-width: 1400px;
    margin-inline: auto;
    padding-inline: 24px;
}

/* Accessible, animated FAQ controls for legacy page markup. */
.faq-dropdown button.faq-dropdown-toggle {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.faq-dropdown button.faq-dropdown-toggle:focus-visible {
    outline: 2px solid #bf4d0a;
    outline-offset: 4px;
}
.faq-dropdown .faq-dropdown-list { overflow: hidden; }
.faq-dropdown .faq-dropdown-list[hidden] { display: none !important; }
.faq-dropdown .faq-arrow { transition: transform 320ms ease; }
.faq-dropdown.is-open .faq-arrow { transform: rotate(90deg); }
@media (prefers-reduced-motion: reduce) {
    .faq-dropdown .faq-arrow { transition: none; }
}

.home-footer__main {
    display: grid;
    grid-template-columns: minmax(290px, 1.3fr) minmax(190px, 0.9fr) minmax(190px, 0.9fr) minmax(260px, 1.1fr);
    gap: 44px;
    padding-block: 64px 52px;
}

.home-footer__brand-column,
.home-footer__column {
    min-width: 0;
}

.home-footer__column {
    font-size: 16px;
}

.home-footer__brand {
    display: inline-flex;
    width: auto;
    max-width: 100%;
    align-items: center;
    gap: 16px;
    margin-bottom: 26px;
}

.home-footer .brand-lockup__mark {
    width: 150px !important;
    height: auto !important;
    flex: none;
    object-fit: contain;
}

.home-footer__description {
    max-width: 390px;
    margin: 0;
    color: #c1b6ae;
    font-size: 15px;
    line-height: 1.65;
}

.home-footer__operator { margin-top: 18px; }

.home-footer__title {
    position: relative;
    margin: 0 0 22px;
    padding-bottom: 15px;
    color: #ffffff;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1.2;
}

.home-footer__title::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 36px;
    height: 2px;
    background: #bf4d0a;
    content: "";
}

.home-footer__links {
    margin: 0;
    padding: 0;
    list-style: none;
    background: transparent;
    -webkit-text-fill-color: currentColor;
    background-clip: border-box;
}

.home-footer__links li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.home-footer__links a {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: #d0c6c0 !important;
    -webkit-text-fill-color: currentColor;
    font-size: 16px;
    line-height: 1.4;
    text-decoration: none;
    transition: color 220ms ease;
}

.home-footer__column .home-footer__title {
    margin-bottom: 24px;
    font-size: 16px;
    letter-spacing: 0.07em;
}

.home-footer__links a::after {
    flex: none;
    color: #bf4d0a;
    content: "→";
    opacity: 0;
    transform: translateX(-5px);
    transition: opacity 220ms ease, transform 220ms ease;
}

.home-footer__links a:hover,
.home-footer__links a:focus-visible,
.home-footer__contact-list dd a:hover,
.home-footer__contact-list dd a:focus-visible,
.home-footer__bottom a:hover,
.home-footer__bottom a:focus-visible {
    color: #ec7525 !important;
}

.home-footer__links a:hover::after,
.home-footer__links a:focus-visible::after {
    opacity: 1;
    transform: translateX(0);
}

.home-footer__contact-list {
    display: grid;
    gap: 0;
    margin: 0 0 26px;
}

.home-footer__contact-list > div {
    display: grid;
    gap: 5px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.home-footer__contact-list dt,
.home-footer__contact-list dd {
    margin: 0;
}

.home-footer__contact-list dt {
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.home-footer__contact-list dd {
    color: #8f99a5;
    font-size: 16px;
    line-height: 1.5;
}

.home-footer__contact-list > div {
    gap: 7px;
    padding-block: 14px;
}

.home-footer__contact-list dt {
    font-size: 13px;
    letter-spacing: 0.06em;
}

/* Legacy detail-page contact markup is normalized to the homepage footer style. */
ul.home-footer__contact {
    display: grid;
    gap: 0;
    margin: 0 0 26px;
    padding: 0;
    list-style: none;
}

ul.home-footer__contact li {
    display: grid;
    gap: 7px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

ul.home-footer__contact strong {
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

ul.home-footer__contact a,
ul.home-footer__contact span {
    color: #c1b6ae;
    font-size: 16px;
    line-height: 1.5;
    text-decoration: none;
}

.home-footer__contact-list dd a,
.home-footer__contact-value {
    color: #c1b6ae;
    text-decoration: none;
    text-transform: none;
    transition: color 220ms ease;
}

.home-footer__quote {
    display: inline-flex;
    width: auto;
    max-width: 100%;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 12px 20px;
    border: 0;
    background: #bf4d0a;
    color: #ffffff;
    font-family: var(--font-body, "DM Sans", sans-serif);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

.home-footer__quote:hover,
.home-footer__quote:focus-visible {
    background: #a84909;
    color: #ffffff;
}

.home-footer__quote span {
    transition: transform 220ms ease;
}

.home-footer__quote:hover span {
    transform: translateX(4px);
}

.home-footer__bottom {
    background: #191410;
}

.home-footer__bottom-inner {
    display: flex;
    min-height: 68px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    color: #8f99a5;
    font-size: 13px;
}

.home-footer__bottom a {
    color: #d3cbc6;
    text-decoration: none;
    transition: color 220ms ease;
}

.home-footer__copyright {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
}

@media screen and (max-width: 1100px) {
    .home-footer__main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 48px 56px;
    }
}

@media screen and (max-width: 767px) {
    .home-footer .base-container {
        padding-inline: 18px;
    }

    .home-footer__main {
        grid-template-columns: 1fr;
        gap: 38px;
        padding-block: 48px 40px;
    }

    .home-footer .brand-lockup__mark {
        width: 126px !important;
    }

    .home-footer__bottom-inner {
        min-height: 0;
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
        padding-block: 20px;
    }
}

.mos-language-switcher {
    position: relative;
    z-index: 40;
    flex: 0 0 auto;
    align-self: center;
    margin-right: 12px;
    font-family: inherit;
}

.mos-language-switcher--mobile,
.mos-mobile-language {
    display: none;
}

.mos-language-switcher__trigger,
.mos-language-switcher__option {
    appearance: none;
    border: 0;
    font: inherit;
    cursor: pointer;
}

.mos-language-switcher__trigger {
    display: inline-flex;
    min-width: 48px;
    height: 42px;
    padding: 0 11px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid currentColor;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.08);
    color: inherit;
    transition: background-color 180ms ease, border-color 180ms ease;
}

.mos-language-switcher__trigger:hover,
.mos-language-switcher__trigger:focus-visible,
.mos-language-switcher.is-open .mos-language-switcher__trigger {
    background: rgba(255, 255, 255, 0.18);
    outline: none;
}

.home-nav-update.transparent .mos-language-switcher__trigger {
    color: #fff;
}

.home-nav-update.light-gray .mos-language-switcher__trigger {
    background: rgba(255, 255, 255, 0.78);
    color: #362418;
}

.home-nav-update.light-gray .mos-language-switcher__trigger:hover,
.home-nav-update.light-gray .mos-language-switcher__trigger:focus-visible,
.home-nav-update.light-gray .mos-language-switcher.is-open .mos-language-switcher__trigger {
    background: #fff;
}

.mos-language-switcher__current-flag,
.mos-language-switcher__option img {
    display: block;
    width: 24px;
    height: 16px;
    border: 1px solid rgba(0, 0, 0, 0.14);
    object-fit: cover;
    flex: 0 0 auto;
}

.mos-language-switcher__current-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.mos-language-switcher__chevron {
    width: 7px;
    height: 7px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform 180ms ease;
}

.mos-language-switcher.is-open .mos-language-switcher__chevron {
    transform: translateY(2px) rotate(225deg);
}

.mos-language-switcher__menu {
    position: absolute;
    top: calc(100% + 9px);
    right: 0;
    width: 172px;
    padding: 7px;
    border: 1px solid rgba(55, 34, 20, 0.12);
    background: #fff;
    box-shadow: 0 16px 42px rgba(48, 26, 12, 0.18);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-7px);
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
    pointer-events: none;
}

.mos-language-switcher.is-open .mos-language-switcher__menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.mos-language-switcher__option {
    display: grid;
    grid-template-columns: 24px 1fr 16px;
    width: 100%;
    min-height: 42px;
    padding: 8px 9px;
    align-items: center;
    gap: 10px;
    background: transparent;
    color: #362418;
    font-size: 14px;
    line-height: 1.2;
    text-align: left;
    transition: background-color 160ms ease, color 160ms ease;
}

.mos-language-switcher__option:hover,
.mos-language-switcher__option:focus-visible {
    background: #fbf3ed;
    color: var(--primary-color, #8a3700);
    outline: none;
}

.mos-language-switcher__option.is-selected {
    background: #fcf7f4;
    color: var(--primary-color, #8a3700);
}

.mos-language-switcher__check {
    opacity: 0;
    font-weight: 700;
    text-align: center;
}

.mos-language-switcher__option.is-selected .mos-language-switcher__check {
    opacity: 1;
}

body.mos-image-lightbox-open {
    overflow: hidden;
}

.mos-image-lightbox[hidden] {
    display: none;
}

.mos-image-lightbox {
    position: fixed;
    z-index: 5000;
    inset: 0;
    display: flex;
    padding: 64px 28px 28px;
    align-items: center;
    justify-content: center;
    background: rgba(28, 15, 6, 0.92);
}

.mos-image-lightbox__image {
    display: block;
    max-width: min(1240px, 94vw);
    max-height: calc(100vh - 96px);
    object-fit: contain;
    box-shadow: 0 20px 70px rgba(0, 0, 0, 0.35);
}

.mos-image-lightbox__close {
    position: absolute;
    top: 18px;
    right: 22px;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.65);
    background: transparent;
    color: #fff;
    font: 300 34px/1 Arial, sans-serif;
    cursor: pointer;
}

.mos-image-lightbox__close:hover,
.mos-image-lightbox__close:focus-visible {
    background: #fff;
    color: #111;
    outline: none;
}

@media screen and (max-width: 991px) {
    .mos-language-switcher--desktop {
        display: none;
    }

    .home-nav-update .menu-button {
        flex: 0 0 46px;
    }

    .mos-mobile-language {
        display: block;
        margin-top: 22px;
        padding-top: 18px;
        border-top: 1px solid #f0ebe7;
    }

    .mos-mobile-language__label {
        display: block;
        margin-bottom: 9px;
        color: #847164;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.14em;
        line-height: 1.2;
        text-transform: uppercase;
    }

    .mos-language-switcher--mobile {
        display: block;
        width: 100%;
        margin: 0;
        align-self: stretch;
    }

    .mos-language-switcher--mobile .mos-language-switcher__trigger {
        width: 100%;
        min-width: 0;
        height: 48px;
        padding: 0 14px;
        justify-content: flex-start;
        gap: 11px;
        border-color: #e7ded8;
        background: #fcf9f7;
        color: #362418;
    }

    .mos-language-switcher--mobile .mos-language-switcher__current-flag {
        width: 28px;
        height: 18px;
    }

    .mos-language-switcher--mobile .mos-language-switcher__current-label {
        position: static;
        width: auto;
        height: auto;
        margin: 0;
        overflow: visible;
        clip: auto;
        color: #362418;
        font-size: 14px;
        font-weight: 600;
        white-space: normal;
    }

    .mos-language-switcher--mobile .mos-language-switcher__chevron {
        display: block;
        margin-left: auto;
    }

    .mos-language-switcher--mobile .mos-language-switcher__menu {
        position: static;
        width: 100%;
        max-height: 0;
        margin-top: 0;
        padding: 0 7px;
        overflow: hidden;
        border-width: 0;
        box-shadow: none;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-6px);
        transition: max-height 240ms ease, margin-top 240ms ease, padding 240ms ease,
            opacity 180ms ease, transform 240ms ease, visibility 0s linear 240ms;
    }

    .mos-language-switcher--mobile.is-open .mos-language-switcher__menu {
        max-height: 190px;
        margin-top: 8px;
        padding: 7px;
        border-width: 1px;
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        transition-delay: 0s;
    }
}

@media screen and (max-width: 359px) {
    .home-nav-update .nav-wrap {
        width: calc(100% - 16px);
    }

    .home-nav-update .brand-lockup {
        gap: 5px;
    }

    .home-nav-update .brand-lockup__mark {
        width: 4.4rem !important;
    }

    .home-nav-update .brand-lockup__cn {
        font-size: 1rem;
    }

    .home-nav-update .brand-lockup__en {
        font-size: 0.68rem;
        font-weight: 700;
    }

}

/* Footer geometry belongs to the shared shell, never to a page's measured body. */
.home-footer .base-container {
    width: 100%;
    max-width: 1400px;
    margin-inline: auto;
}

/* Shared page-entry and scroll-reveal motion. */
html.mos-motion-capable .mos-section-reveal {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity 680ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 680ms cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: var(--mos-reveal-delay, 0ms);
    will-change: opacity, transform;
}

html.mos-motion-capable .mos-section-reveal.is-revealed {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    will-change: auto;
}

@media (prefers-reduced-motion: reduce) {
    html.mos-motion-capable .mos-section-reveal,
    html.mos-motion-capable .mos-section-reveal.is-revealed {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .home-nav-update.navbar,
    .home-nav-update .nav-menu,
    .home-nav-update .mos-nav-overlay,
    .home-nav-update .tablet-menu,
    .home-nav-update .menu-wrap,
    .home-nav-update .mos-mobile-language,
    .home-nav-update .nav-button-tablet,
    .home-nav-update .nav-link,
    .home-nav-update .nav-dropdown-icon,
    .home-nav-update .nav-dropdown-link,
    .home-footer a,
    .home-footer a::after {
        transition-duration: 1ms !important;
    }
}
.article-page-h1 {
  font-size: 56px;
  line-height: var(--_typography---line-height--line-height-s);
}

@media screen and (min-width: 1440px) {
  .article-page-h1 {
    font-size: 62px;
  }
}

@media screen and (max-width: 991px) {
  .article-page-h1 {
    font-size: 54px;
  }
}

@media screen and (max-width: 767px) {
  .article-page-h1 {
    font-size: var(--_typography---typography--h1);
  }
}

/* Keep the two About Us destinations side by side at every breakpoint. */
.home-nav-update .nav-dropdown-list--about > .nav-dropdown-column {
    grid-column: 1 / -1;
}

.home-nav-update .nav-dropdown-list--about .nav-dropdown-link-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 24px;
}

@media (max-width: 991px) {
    .home-nav-update .nav-dropdown-list--about .nav-dropdown-link-wrapper {
        gap: 0 12px;
    }
}

/* Shared compact banners and alignment with the actual content edges. */
@media (min-width: 992px) {
  .home-nav-update .nav-wrap {
    width: calc(100% - var(--site-shell-content-left, 24px) - var(--site-shell-content-right-inset, 24px));
    max-width: none;
    margin-left: var(--site-shell-content-left, 24px);
    margin-right: var(--site-shell-content-right-inset, 24px);
    padding-inline: 0;
  }
}
body .about-shared-hero, body .products-index-hero, body .crystallizer-hero,
body .inner-banner-section.news-hero, body .mos-ref-hero {
  height: auto !important;
  min-height: 360px !important;
  padding-top: 112px !important;
  padding-bottom: 36px !important;
}
body .about-shared-breadcrumb, body .products-index-breadcrumb { margin-bottom: 22px; }
body.mos-product-detail main .mos-product-detail__hero { min-height: 0 !important; }
body.mos-product-detail main .mos-product-detail__hero-inner {
  min-height: 0 !important;
  padding-top: 102px !important;
  padding-bottom: 28px !important;
}
body.mos-product-detail main .mos-product-detail__hero h1 {
  font-size: clamp(30px, 3.3vw, 52px) !important;
  line-height: 1.12 !important;
  margin-bottom: 12px !important;
}
body.mos-product-detail main .mos-product-detail__breadcrumb { margin-bottom: 14px !important; }
body.mos-product-detail main .mos-product-detail__hero-lede { max-width: 960px; font-size: 16px !important; line-height: 1.5 !important; }
@media (max-width: 767px) {
  body .about-shared-hero, body .products-index-hero, body .crystallizer-hero, body .inner-banner-section.news-hero, body .mos-ref-hero {
    min-height: 0 !important; padding-top: 96px !important; padding-bottom: 28px !important;
  }
  body.mos-product-detail main .mos-product-detail__hero-inner { padding-top: 94px !important; padding-bottom: 24px !important; }
}

body .home-banner-section { padding-top: 260px !important; padding-bottom: 194px !important; }
body .inner-banner-section.contacts-banner-section { padding-top: 108px !important; }
@media (max-width: 767px) { body .home-banner-section { padding-top: 170px !important; padding-bottom: 106px !important; } body .inner-banner-section.contacts-banner-section { padding-top: 94px !important; } }

/* Align bilingual text and place the quote action beyond the content edge when space allows. */
.brand-lockup .brand-lockup__names { align-items: flex-start !important; text-align: left !important; }
.brand-lockup .brand-lockup__cn, .brand-lockup .brand-lockup__en {
  margin-left: 0 !important; padding-left: 0 !important; text-indent: 0 !important;
  align-self: flex-start !important; text-align: left !important; transform: none !important;
}
@media (min-width: 992px) {
  .home-nav-update .nav-wrap { position: relative; }
  .home-nav-update .nav-empty-block { display: none; }
  .home-nav-update .mos-language-switcher--desktop { flex: 0 0 auto; margin-right: 0 !important; }
  .home-nav-update.nav-cta-outside .nav-button-wrap {
    position: absolute; left: calc(100% + 20px); top: 50%;
    transform: translateY(-50%); margin: 0;
  }
  .home-nav-update.nav-cta-outside .nav-menu-wrapper { flex: 1 1 auto; }
  .home-nav-update.nav-cta-outside .menu-wrap { justify-content: flex-end; }
}

/* Russian navigation uses a Cyrillic-capable face and wraps the full quote label. */
html[lang="ru"] .home-nav-update .nav-link,
html[lang="ru"] .home-nav-update .dropdown-toggle {
  font-family: Arial, sans-serif;
  word-spacing: normal;
}
html[lang="ru"] .home-nav-update .nav-button-wrap .nav-button {
  white-space: normal !important;
  text-transform: none !important;
  text-align: center;
  line-height: 1.2 !important;
  font-family: Arial, sans-serif !important;
  letter-spacing: 0 !important;
}

/* Chinese sets the lockup width; English characters fill exactly the same width. */
.brand-lockup .brand-lockup__names { display: grid !important; grid-template-columns: max-content; }
.brand-lockup .brand-lockup__cn { width: max-content !important; letter-spacing: 0 !important; }
.brand-lockup .brand-lockup__en[data-brand-justified] {
  display: flex !important; justify-content: space-between;
  width: 0 !important; min-width: 100%; letter-spacing: 0 !important;
}
.brand-lockup__en[data-brand-justified] > span { display: block; flex: 0 0 auto; }

/* The quote button never takes width from the menu and language row. */
@media (min-width: 992px) {
  .home-nav-update .nav-button-wrap {
    position: absolute !important; width: 152px !important; height: 44px !important;
    margin: 0 !important; flex: none !important;
  }
  .home-nav-update .nav-button-wrap .nav-button {
    box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center;
    width: 100% !important; height: 100% !important; min-height: 0 !important; max-height: none;
    margin: 0 !important; padding: 0 14px !important;
    font-family: "DM Sans", Arial, sans-serif; font-size: 13px !important;
    line-height: 1 !important; letter-spacing: 0.02em; white-space: nowrap;
    border-radius: 4px; align-self: center;
  }
  .home-nav-update.nav-cta-outside .nav-button-wrap { left: calc(100% + 20px); right: auto; top: 50%; transform: translateY(-50%); }
  .home-nav-update.nav-cta-stacked .nav-button-wrap { left: auto; right: 0; top: calc(100% + 8px); transform: none; }
  .home-nav-update .nav-menu-wrapper { flex: 1 1 auto !important; }
  .home-nav-update .menu-wrap { justify-content: flex-end; }
}

/* Legible bilingual wordmark with equal left and right text edges. */
@font-face { font-family: "MOS Brand Sans"; src: url('/assets/fonts/dm-sans-latin.woff2') format('woff2'); font-style: normal; font-weight: 300 700; font-display: swap; }
.brand-lockup .brand-lockup__en[data-brand-justified] { font-family: "MOS Brand Sans", Arial, sans-serif !important; font-weight: 700 !important; line-height: 1.15 !important; margin-top: 5px; }
@media (min-width: 1440px) { .home-nav-update .brand-lockup__cn { font-size: 24px; } }
.home-nav-update .nav-menu-wrapper { padding-left: 0 !important; }

/* Keep footer links consistent with text on pages using legacy typography. */
.home-footer__links a,
.home-footer__contact-list dd a,
.home-footer__bottom a {
  font-family: inherit;
  font-weight: 400;
  text-transform: none;
  letter-spacing: normal;
}

.home-footer__contact-list dd a {
  font-size: inherit;
  line-height: inherit;
}

/* Match Sitemap and the filing link to the copyright text. */
.home-footer .home-footer__bottom-inner > a,
.home-footer .home-footer__copyright,
.home-footer .home-footer__copyright > span,
.home-footer .home-footer__copyright > a {
  font-size: 13px !important;
  line-height: 1.5;
  font-weight: 400;
}

/* A single padding layer prevents the category banner from doubling its spacing. */
body .crystallizer-hero { padding: 0 !important; min-height: 0 !important; height: auto !important; }
body .crystallizer-hero > .container { padding-top: 124px !important; padding-bottom: 54px !important; }
body .crystallizer-hero .breadcrumb-wrap { margin-bottom: 14px !important; }
body .crystallizer-hero__content { grid-template-columns: minmax(0, 1fr); }
body .crystallizer-hero__content h1 { font-size: clamp(32px, 3.3vw, 52px); line-height: 1.12; margin: 0 0 12px; }
body .crystallizer-hero__summary { max-width: 960px; font-size: 16px; line-height: 1.5; }
body .about-shared-hero, body .products-index-hero, body .inner-banner-section.news-hero, body .mos-ref-hero { min-height: 0 !important; padding-top: 124px !important; padding-bottom: 54px !important; }
body .about-shared-hero h1, body .products-index-hero h1, body .news-hero h1 { font-size: clamp(32px, 3.3vw, 52px); line-height: 1.12; }
@media (max-width: 767px) {
  body .crystallizer-hero > .container { padding-top: 108px !important; padding-bottom: 38px !important; }
  body .about-shared-hero, body .products-index-hero, body .inner-banner-section.news-hero, body .mos-ref-hero { padding-top: 108px !important; padding-bottom: 38px !important; }
}

/* All page banners share the approved drying-equipment spacing and typography. */
html body section.mos-unified-banner {
  box-sizing: border-box; height: auto !important; min-height: 0 !important;
  padding-top: 124px !important; padding-bottom: 54px !important;
}
html body section.mos-unified-banner > .container,
html body section.mos-unified-banner .mos-product-detail__hero-inner,
html body section.mos-unified-banner .content-banner,
html body section.mos-unified-banner .mos-ref-banner-grid {
  height: auto !important; min-height: 0 !important;
  padding-top: 0 !important; padding-bottom: 0 !important;
}
html body section.mos-unified-banner h1 {
  max-width: 960px; font-size: clamp(32px, 3.3vw, 52px) !important;
  line-height: 1.12 !important; margin-top: 0 !important; margin-bottom: 12px !important;
}
html body section.mos-unified-banner .breadcrumb-wrap,
html body section.mos-unified-banner .about-shared-breadcrumb,
html body section.mos-unified-banner .products-index-breadcrumb,
html body section.mos-unified-banner .mos-product-detail__breadcrumb { margin-bottom: 14px !important; }
html body section.mos-unified-banner .crystallizer-hero__summary,
html body section.mos-unified-banner .about-shared-hero__lede,
html body section.mos-unified-banner .products-index-hero__lede,
html body section.mos-unified-banner .mos-product-detail__hero-lede,
html body section.mos-unified-banner .content-banner p,
html body section.mos-unified-banner .mos-ref-banner-copy > p,
html body section.mos-unified-banner .home-banner-paragraph {
  max-width: 960px; font-size: 16px !important; line-height: 1.5 !important;
}
@media (max-width: 767px) {
  html body section.mos-unified-banner { padding-top: 108px !important; padding-bottom: 38px !important; }
}

/* One banner structure, matching the drying equipment category. */
html body section.mos-standard-banner {
  position: relative; padding: 124px 0 54px; color: #fff;
  background: linear-gradient(90deg,rgba(42, 21, 7,.94),rgba(42, 21, 7,.76) 42%,rgba(42, 21, 7,.28)),url('/assets/images/products/drying-equipment/drying-equipment-banner-2172.webp') center/cover;
}
.mos-standard-banner > .container { width: calc(100% - 48px); max-width: 1400px; margin-inline: auto; padding: 0; }
.mos-standard-banner .breadcrumb-wrap { margin: 0 0 14px; border: 0; }
.mos-standard-banner nav, .mos-standard-banner nav ol { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.mos-standard-banner nav li + li::before { content: '/'; margin-right: 10px; opacity: .6; }
.mos-standard-banner nav, .mos-standard-banner nav a, .mos-standard-banner nav li { color: #fff; font-size: 15px; line-height: 1.45; text-decoration: none; }
.mos-standard-banner .crystallizer-hero__content { display: block; }
html body .mos-standard-banner h1 { margin: 0 0 12px; max-width: 960px; color: #fff; font-size: clamp(32px,3.3vw,52px); line-height: 1.12; }
html body .mos-standard-banner .crystallizer-hero__summary { max-width: 960px; margin: 0; color: rgba(255,255,255,.88); font-size: 16px; line-height: 1.5; }
html body .mos-contact-content { padding-top: 48px !important; background-color: #382010; }
@media (max-width:767px) { html body section.mos-standard-banner { padding: 108px 0 38px; } .mos-standard-banner > .container { width: calc(100% - 36px); } }

/* Match banner text to the body content, excluding the banner from measurements. */
html body .mos-standard-banner > .container {
  box-sizing: border-box;
  width: calc(100% - var(--site-shell-content-left, 32px) - var(--site-shell-content-right-inset, 32px));
  max-width: none; padding-inline: 0;
  margin-left: var(--site-shell-content-left, 32px);
  margin-right: var(--site-shell-content-right-inset, 32px);
}

/* Keep the shared photographic banner sharp without downloading its desktop size on phones. */
@media (max-width: 767px) {
  html body section.mos-standard-banner {
    background-image: linear-gradient(90deg,rgba(42,21,7,.94),rgba(42,21,7,.76) 42%,rgba(42,21,7,.28)), image-set(url('/assets/images/products/drying-equipment/drying-equipment-banner-960.webp') 1x, url('/assets/images/products/drying-equipment/drying-equipment-banner-1280.webp') 2x, url('/assets/images/products/drying-equipment/drying-equipment-banner-2172.webp') 3x);
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  html body section.mos-standard-banner {
    background-image: linear-gradient(90deg,rgba(42,21,7,.94),rgba(42,21,7,.76) 42%,rgba(42,21,7,.28)), image-set(url('/assets/images/products/drying-equipment/drying-equipment-banner-1280.webp') 1x, url('/assets/images/products/drying-equipment/drying-equipment-banner-2172.webp') 2x);
  }
}
