/* LUCKY LION Phase UI-2: immersive brand shell, typography and RTL. */
:root {
    --ll-color-brand: var(--primary-color, #b5242c);
    --ll-color-brand-hover: var(--primaryHover-color, #941b22);
    --ll-color-brand-soft: #f8e9ea;
    --ll-color-carbon: #111318;
    --ll-color-carbon-2: #171a1f;
    --ll-color-carbon-3: #1d2126;
    --ll-color-carbon-soft: #252a31;
    --ll-color-ivory: #f5f2ec;
    --ll-color-text: #1f2328;
    --ll-color-text-secondary: #666a70;
    --ll-color-text-muted: #858b94;
    --ll-color-text-on-dark: #ffffff;
    --ll-color-text-on-dark-secondary: rgba(255, 255, 255, 0.68);
    --ll-color-bg: #ffffff;
    --ll-color-bg-soft: #f7f8fa;
    --ll-color-bg-subtle: #f2f4f6;
    --ll-color-border: #e6e8eb;
    --ll-color-border-strong: #d7dade;
    --ll-color-border-dark: rgba(255, 255, 255, 0.12);
    --ll-color-footer-dark: var(--ll-color-carbon);
    /* Effective content width plus its border-box safety gutters. */
    --site-content-max: 1360px;
    --site-container-gutter: 32px;
    --site-container-outer-max: calc(
        var(--site-content-max) + (var(--site-container-gutter) * 2)
    );
    --ll-page-gutter-desktop: var(--site-container-gutter);
    --ll-page-gutter-tablet: 24px;
    --ll-page-gutter-mobile: 18px;
    --ll-radius-sm: 4px;
    --ll-radius-md: 8px;
    --ll-shadow-dropdown: 0 8px 24px rgba(0, 0, 0, 0.08);
    --ll-shadow-search: 0 22px 56px rgba(17, 19, 24, 0.18);
    --ll-shadow-sticky: 0 2px 8px rgba(0, 0, 0, 0.06);
    --ll-space-1: 8px;
    --ll-space-2: 16px;
    --ll-space-3: 24px;
    --ll-space-4: 32px;
    --ll-space-5: 48px;
    --ll-space-6: 64px;
    --ll-space-7: 80px;
    --ll-space-8: 96px;
    --ll-font-h1: 48px;
    --ll-font-h2: 36px;
    --ll-font-h3: 26px;
    --ll-font-body: 16px;
    --ll-font-small: 14px;
    --ll-font-nav: 14px;
    --ll-font-button: 14px;
    --ll-header-utility-height: 32px;
    --ll-header-main-height: 78px;
    --ll-header-sticky-height: 68px;
    --ll-hero-overlay-top: rgba(7, 10, 14, 0.76);
    --ll-hero-overlay-side: rgba(7, 10, 14, 0.84);
}

html {
    color: var(--ll-color-text);
    font-family: "Noto Sans", Arial, sans-serif;
    scroll-padding-top: calc(var(--ll-header-sticky-height) + var(--ll-space-2));
}

html[lang="zh"],
html[lang^="zh-"] {
    font-family: "Noto Sans SC", "Noto Sans", "PingFang SC", sans-serif;
}

html[lang="ar"],
html[dir="rtl"] {
    font-family: "Noto Sans Arabic", "Noto Sans", sans-serif;
}

body {
    width: auto;
    min-width: 320px;
    color: var(--ll-color-text);
    background: var(--ll-color-bg);
    font-size: var(--ll-font-body);
    line-height: 1.6;
}

body.menu_open {
    overflow: hidden;
}

p {
    line-height: 1.6;
}

a {
    word-break: normal;
}

button,
input,
select,
textarea {
    font: inherit;
}

button {
    border: 0;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid rgba(168, 15, 26, 0.26);
    outline-offset: 2px;
}

.sr_only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.container {
    width: 100%;
    max-width: var(--site-container-outer-max);
    margin-inline: auto;
    padding-inline: var(--ll-page-gutter-desktop);
    box-sizing: border-box;
}

/* Header: utility bar */
.site_header {
    position: relative;
    z-index: 1000;
    background: var(--ll-color-bg);
    isolation: isolate;
}

.site_header.has_sticky_nav {
    padding-block-end: var(--ll-header-main-height);
}

.nav_top_menu {
    position: relative;
    z-index: 30;
    height: 32px;
    color: var(--ll-color-text-secondary);
    background: #f5f6f7;
    border-block-end: 1px solid var(--ll-color-border);
    font-size: 12px;
    overflow: visible;
}

.nav_top_menu .menu_box {
    padding-inline: var(--ll-page-gutter-desktop);
    overflow: visible;
}

.utility_contact_list,
.nav_top_menu .operation_list {
    display: flex;
    align-items: center;
    gap: var(--ll-space-3);
    height: 100%;
}

.utility_contact {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 32px;
    color: var(--ll-color-text-secondary);
    white-space: nowrap;
}

.utility_label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    border: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.utility_contact:hover {
    color: var(--ll-color-brand);
}

.nav_top_menu .operation_item,
.nav_top_menu .operation_item .item_box {
    height: 100%;
}

.nav_top_menu .operation_list,
.nav_top_menu .operation_item,
.nav_top_menu .lang_btn {
    position: relative;
}

.nav_top_menu .operation_item .item_box {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding-inline: 8px;
    color: var(--ll-color-text-secondary);
    background: transparent;
    cursor: pointer;
}

.nav_top_menu .operation_item .text {
    font-size: 12px;
}

.nav_top_menu .operation_item img {
    width: 20px;
    height: 14px;
    border-radius: 2px;
}

.utility_chevron {
    width: 6px;
    height: 6px;
    border-inline-end: 1px solid currentColor;
    border-block-end: 1px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
}

.nav_top_menu .lang_body {
    display: block;
    position: absolute;
    inset-block-start: calc(100% + 8px);
    inset-inline-end: 0;
    top: auto;
    z-index: 40;
    width: min(320px, calc(100vw - 36px));
    padding: 8px;
    border: 1px solid var(--ll-color-border);
    border-radius: var(--ll-radius-md);
    background: #fff;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.16);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-6px);
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.nav_top_menu .lang_btn:focus-within .lang_body,
.nav_top_menu .lang_btn.is_open .lang_body {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.nav_top_menu .lang_body .lang_list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2px;
    line-height: 1.3;
}

.nav_top_menu .lang_body .lang_list a {
    display: flex;
    align-items: center;
    gap: var(--ll-space-1);
    min-height: 40px;
    padding: 7px 10px;
    color: var(--ll-color-text);
    border-radius: var(--ll-radius-sm);
    overflow: visible;
    text-overflow: clip;
    -webkit-line-clamp: unset;
}

.nav_top_menu .lang_body .lang_list a:hover,
.nav_top_menu .lang_body .lang_list a.is_active {
    color: var(--ll-color-brand);
    background: var(--ll-color-brand-soft);
}

/* Header: primary navigation */
.nav_top,
.nav_top.nav_top_fff {
    position: relative;
    inset: auto;
    width: 100%;
    min-height: var(--ll-header-main-height);
    z-index: 20;
    color: var(--ll-color-text);
    background: var(--ll-color-bg) !important;
    border-block-end: 1px solid var(--ll-color-border);
    box-shadow: none;
}

.nav_top.is_sticky {
    position: fixed;
    inset-block-start: 0;
    inset-inline: 0;
    min-height: var(--ll-header-sticky-height);
    box-shadow: var(--ll-shadow-sticky);
    animation: ll-sticky-in 180ms ease-out;
}

@keyframes ll-sticky-in {
    from { transform: translateY(-8px); opacity: 0.94; }
    to { transform: translateY(0); opacity: 1; }
}

.nav_top .nav_box,
.nav_top.is_sticky .nav_box {
    display: flex;
    align-items: center;
    gap: clamp(18px, 2vw, 36px);
    min-height: var(--ll-header-main-height);
    padding-inline: var(--ll-page-gutter-desktop);
}

.nav_top.is_sticky .nav_box {
    min-height: var(--ll-header-sticky-height);
}

.nav_top .nav_logo {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    float: none;
    margin: 0;
    padding: 0;
}

.nav_top .nav_logo img {
    display: block;
    width: auto;
    height: 48px;
    max-width: 190px;
    object-fit: contain;
}

.nav_top.is_sticky .nav_logo img {
    height: 42px;
}

.nav_top .list_box {
    display: flex;
    flex: 1 1 auto;
    align-items: stretch;
    justify-content: flex-end;
    float: none;
    min-width: 0;
    flex-wrap: nowrap;
}

.nav_top .list_box .list_nav,
.drawer_languages,
.mobile_language,
.nav_top .menu_btn,
.nav_drawer_backdrop {
    display: none;
}

.nav_top .list_box .item {
    display: flex;
    align-items: stretch;
    height: var(--ll-header-main-height);
    color: var(--ll-color-text);
}

.nav_top.is_sticky .list_box .item {
    height: var(--ll-header-sticky-height);
}

.nav_top .list_box .item .item_text {
    display: flex;
    position: relative;
    align-items: center;
    gap: 3px;
    height: 100%;
    padding: 0 clamp(7px, 0.72vw, 12px);
    color: var(--ll-color-text);
    font-size: var(--ll-font-nav);
    font-weight: 600;
    text-transform: uppercase;
    white-space: nowrap;
}

.nav_top .list_box .item .item_text a,
.nav_top_fff .list_box .item .item_text a {
    display: flex;
    align-items: center;
    min-height: 44px;
    color: inherit !important;
}

.nav_top .list_box .item .item_text:hover,
.nav_top .list_box .item .item_text:hover a,
.nav_top_fff .list_box .item .item_text:hover,
.nav_top_fff .list_box .item .item_text:hover a {
    color: var(--ll-color-brand) !important;
}

.nav_top .list_box .item .item_text::after {
    content: "";
    position: absolute;
    left: 50%;
    inset-block-end: 13px;
    width: 28px;
    height: 2px;
    background: var(--ll-color-brand);
    border-radius: 999px;
    transform: translateX(-50%) scaleX(0);
    transform-origin: center;
    opacity: 0;
    transition: opacity 160ms ease, transform 180ms ease;
}

.nav_top .list_box > .item.is_current > .item_text,
.nav_top .list_box > .item.is_ancestor > .item_text {
    color: #171a1f;
    font-weight: 700;
}

.nav_top .list_box > .item.is_current > .item_text::after,
.nav_top .list_box > .item.is_ancestor > .item_text::after {
    opacity: 1;
    transform: translateX(-50%) scaleX(0.62);
}

.nav_top .list_box > .item:hover > .item_text,
.nav_top .list_box > .item:focus-within > .item_text {
    color: var(--ll-color-brand) !important;
}

.nav_top .list_box > .item:hover > .item_text::after,
.nav_top .list_box > .item:focus-within > .item_text::after {
    width: 28px;
    opacity: 1;
    transform: translateX(-50%) scaleX(1);
}

.nav_top .list_box.has_item_hover > .item.is_current:not(:hover) > .item_text::after,
.nav_top .list_box.has_item_hover > .item.is_ancestor:not(:hover) > .item_text::after,
.nav_top .list_box:focus-within > .item.is_current:not(:focus-within) > .item_text::after,
.nav_top .list_box:focus-within > .item.is_ancestor:not(:focus-within) > .item_text::after {
    opacity: 0;
    transform: translateX(-50%) scaleX(0.35);
}

.nav_top .submenu_toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 44px;
    padding: 0;
    color: currentColor;
    background: transparent;
    cursor: pointer;
}

.nav_top .submenu_toggle::before {
    font-size: 14px;
}

.nav_top .list_box .item .item_hide_box {
    display: block;
    position: absolute;
    inset-block-start: calc(100% - 1px);
    inset-inline-start: 0;
    left: auto;
    width: 230px;
    z-index: 35;
    padding-block-start: 8px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-5px);
    transition: opacity 150ms ease, transform 150ms ease, visibility 150ms ease;
}

.site_header.has_language_open .nav_top .item_hide_box {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.nav_top .list_box .item:hover .item_hide_box,
.nav_top .list_box .item:focus-within .item_hide_box,
.nav_top .list_box .item.is_open > .item_hide_box {
    display: block;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.nav_top .list_box .item .item_hide_box .hide_box {
    padding: 8px;
    overflow: visible;
    background: var(--ll-color-bg);
    border: 1px solid var(--ll-color-border);
    border-radius: var(--ll-radius-md);
    box-shadow: var(--ll-shadow-dropdown);
    animation: none;
}

.nav_top .list_box .item .item_hide_box .son_list .son_item_title {
    border-radius: var(--ll-radius-sm);
}

.nav_top .list_box .item .item_hide_box .son_list .son_item_title:hover {
    background: var(--ll-color-brand-soft);
}

.nav_top .list_box .item .item_hide_box .son_list .son_item_title .a {
    min-height: 42px;
    padding-inline: 12px 4px;
    line-height: 1.4;
    color: var(--ll-color-text);
}

.nav_top .list_box .item .item_hide_box .son_list .son_item_title .text {
    display: block;
    padding-block: 10px;
    color: var(--ll-color-text);
    overflow: visible;
    text-overflow: clip;
    -webkit-line-clamp: unset;
}

.nav_top .list_box .item .item_hide_box .son_list .son_item .son_children {
    display: block;
    position: absolute;
    inset-block-start: -8px;
    inset-inline-start: calc(100% + 9px);
    left: auto;
    width: 230px;
    padding: 8px;
    background: var(--ll-color-bg);
    border: 1px solid var(--ll-color-border);
    border-radius: var(--ll-radius-md);
    box-shadow: var(--ll-shadow-dropdown);
    opacity: 0;
    visibility: hidden;
    transform: translateX(-5px);
    transition: opacity 150ms ease, transform 150ms ease, visibility 150ms ease;
}

.nav_top .list_box .item .item_hide_box .son_list .son_item:hover .son_children,
.nav_top .list_box .item .item_hide_box .son_list .son_item:focus-within .son_children,
.nav_top .son_item.is_open > .son_children {
    display: block;
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.nav_top .list_box .item .item_hide_box .son_list .son_item .son_children_item {
    border-radius: var(--ll-radius-sm);
}

.nav_top .list_box .item .item_hide_box .son_list .son_item .son_children_item:hover {
    background: var(--ll-color-brand-soft);
}

.nav_top .list_box .item .item_hide_box .son_list .son_item .son_children_item a {
    display: block;
    min-height: 40px;
    padding: 10px 12px;
    color: var(--ll-color-text);
    border: 0;
    line-height: 1.4;
    overflow: visible;
    text-overflow: clip;
    -webkit-line-clamp: unset;
}

/* Global Product & News search entry. */
.nav_search_toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    padding: 0;
    color: var(--ll-color-brand);
    background: transparent;
    border-radius: 50%;
    cursor: pointer;
    transition: color 160ms ease, background 160ms ease, transform 160ms ease;
}

.nav_search_toggle:hover,
.nav_search_toggle:focus-visible {
    color: var(--ll-color-brand-hover);
    background: rgba(181, 36, 44, 0.08);
}

.nav_search_toggle:active {
    transform: scale(0.95);
}

.nav_top.search_panel_open .nav_search_desktop .nav_search_icon {
    width: 18px;
    height: 2px;
    border: 0;
    border-radius: 999px;
    background: currentColor;
    transform: rotate(45deg);
}

.nav_top.search_panel_open .nav_search_desktop .nav_search_icon::after {
    inset: 0;
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transform: rotate(90deg);
}

.nav_search_icon {
    position: relative;
    display: inline-block;
    width: 17px;
    height: 17px;
    color: currentColor;
    border: 2px solid currentColor;
    border-radius: 50%;
}

.nav_search_icon::after {
    position: absolute;
    inset-inline-end: -6px;
    inset-block-end: -4px;
    width: 8px;
    height: 2px;
    background: currentColor;
    border-radius: 999px;
    content: "";
    transform: rotate(45deg);
    transform-origin: center;
}

.site_header_home .nav_search_desktop,
.site_header_home .nav_search_drawer {
    color: #fff;
}

.site_header_home .nav_top.is_sticky .nav_search_desktop {
    color: var(--ll-color-brand);
}

.site_header_inner .nav_search_desktop {
    color: var(--ll-color-brand);
}

.nav_search_drawer {
    display: none;
}

/* The panel is removed from document flow so it cannot push nav or hero content. */
.header_search_panel {
    position: absolute;
    inset-block-start: 100%;
    inset-inline: 0;
    z-index: 40;
    padding-block: 12px 28px;
    background: transparent;
    border: 0;
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}

.header_search_panel.is_open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.header_search_panel .container {
    padding-inline: var(--ll-page-gutter-desktop);
}

.header_search_panel_inner {
    position: relative;
    width: 100%;
    max-width: var(--site-content-max);
    margin-inline: auto;
    padding: 24px 28px 28px;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.99);
    border: 1px solid rgba(17, 19, 24, 0.14);
    border-radius: 10px;
    box-shadow: var(--ll-shadow-search);
    pointer-events: auto;
}

.header_search_panel_inner::before {
    position: absolute;
    inset-block-start: -8px;
    inset-inline-end: 42px;
    width: 14px;
    height: 14px;
    background: #fff;
    border-block-start: 1px solid rgba(17, 19, 24, 0.14);
    border-inline-start: 1px solid rgba(17, 19, 24, 0.14);
    content: "";
    transform: rotate(45deg);
}

.header_search_panel_header {
    display: block;
    position: relative;
}

.header_search_form {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding-inline: 16px 10px;
    background: #fff;
    border: 1px solid var(--ll-color-border-strong);
    border-radius: 6px;
}

.header_search_form:focus-within {
    border-color: var(--ll-color-brand);
    box-shadow: 0 0 0 3px rgba(181, 36, 44, 0.1);
}

.header_search_form input {
    flex: 1 1 auto;
    min-width: 0;
    height: 46px;
    padding: 0;
    color: var(--ll-color-text);
    background: transparent;
    border: 0;
    outline: 0;
    font-size: 16px;
}

.header_search_form input::placeholder {
    color: var(--ll-color-text-muted);
}

.header_search_form button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    color: var(--ll-color-text-secondary);
    background: transparent;
    border-radius: 50%;
    cursor: pointer;
}

.header_search_form button:hover,
.header_search_form button:focus-visible {
    color: var(--ll-color-brand);
    background: var(--ll-color-brand-soft);
}

.header_search_close {
    display: none;
}

.header_search_columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-block-start: 24px;
}

.header_search_group {
    min-width: 0;
    padding-inline: 0 32px;
}

.header_search_group + .header_search_group {
    padding-inline: 32px 0;
    border-inline-start: 1px solid var(--ll-color-border);
}

.header_search_group h2 {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 34px;
    margin: 0 0 8px;
    color: var(--ll-color-carbon-2);
    font-size: 17px;
    font-weight: 700;
}

.header_search_group_icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: var(--ll-color-brand);
    font-size: 22px;
    line-height: 1;
}

.header_search_group ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.header_search_group li {
    border-block-start: 1px solid var(--ll-color-border);
}

.header_search_category_link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 42px;
    padding-block: 7px;
    color: var(--ll-color-text);
    line-height: 1.35;
    transition: color 150ms ease, padding-inline 150ms ease, background 150ms ease;
}

.header_search_category_link:hover,
.header_search_category_link:focus-visible {
    padding-inline: 8px;
    color: var(--ll-color-brand);
    background: var(--ll-color-brand-soft);
}

.header_search_arrow {
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    border-block-start: 1.5px solid currentColor;
    border-inline-end: 1.5px solid currentColor;
    transform: rotate(45deg);
}

html[dir="rtl"] .header_search_arrow {
    transform: rotate(225deg);
}

/* Neutral result cards used only by the Header Products + News search. */
.global_search_results {
    display: grid;
    gap: 16px;
    width: 100%;
    max-width: 1000px;
    margin-inline: auto;
}

.global_search_result {
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--ll-color-border);
    border-radius: var(--ll-radius-sm);
    box-shadow: 0 8px 24px rgba(17, 19, 24, 0.06);
}

.global_search_result_link,
.global_search_result_content {
    display: block;
    position: relative;
    padding: 22px 54px 22px 24px;
    color: var(--ll-color-text);
}

.global_search_result_link:hover,
.global_search_result_link:focus-visible {
    background: var(--ll-color-bg-soft);
}

.global_search_result_meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 14px;
    color: var(--ll-color-text-muted);
    font-size: 12px;
    line-height: 1.4;
}

.global_search_result_type {
    color: var(--ll-color-brand);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.global_search_result_title {
    margin: 8px 0 0;
    color: var(--ll-color-carbon-2);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.35;
}

.global_search_result_brief {
    max-width: 760px;
    margin: 8px 0 0;
    color: var(--ll-color-text-secondary);
    font-size: 14px;
    line-height: 1.65;
}

.global_search_result_arrow {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: 25px;
    width: 9px;
    height: 9px;
    border-block-start: 1.5px solid currentColor;
    border-inline-end: 1.5px solid currentColor;
    color: var(--ll-color-brand);
    transform: translateY(-50%) rotate(45deg);
}

html[dir="rtl"] .global_search_result_link,
html[dir="rtl"] .global_search_result_content {
    padding-inline: 54px 24px;
}

html[dir="rtl"] .global_search_result_arrow {
    inset-inline: 25px auto;
    transform: translateY(-50%) rotate(225deg);
}

.global_search_empty {
    margin: 0;
    padding: 36px 24px;
    color: var(--ll-color-text-secondary);
    background: #fff;
    border: 1px solid var(--ll-color-border);
    border-radius: var(--ll-radius-sm);
    text-align: center;
}

/* UI-2 Home Overlay Header */
.site_header_home {
    position: absolute;
    inset-block-start: 0;
    inset-inline: 0;
    z-index: 1000;
    color: var(--ll-color-text-on-dark);
    background: transparent;
}

.site_header_home::before {
    position: absolute;
    inset: 0 0 auto;
    z-index: 0;
    height: 156px;
    pointer-events: none;
    background: linear-gradient(
        180deg,
        rgba(6, 9, 13, 0.84) 0%,
        rgba(6, 9, 13, 0.6) 56%,
        rgba(6, 9, 13, 0) 100%
    );
    content: "";
}

.site_header_home > * {
    position: relative;
    z-index: 1;
}

.site_header .nav_top {
    z-index: 20;
}

.site_header .nav_top_menu {
    z-index: 30;
}

.site_header_home.has_sticky_nav {
    padding-block-end: 0;
}

.site_header_home.is_scrolled::before {
    display: none;
}

.site_header_home .nav_top_menu {
    color: var(--ll-color-text-on-dark-secondary);
    background: rgba(9, 12, 16, 0.28);
    border-block-end-color: var(--ll-color-border-dark);
}

.site_header_home .utility_contact,
.site_header_home .nav_top_menu .operation_item .item_box {
    color: rgba(255, 255, 255, 0.78);
}

.site_header_home .utility_contact:hover,
.site_header_home .nav_top_menu .operation_item .item_box:hover {
    color: #fff;
}

.site_header_home .nav_top:not(.is_sticky) {
    color: var(--ll-color-text-on-dark);
    background: transparent !important;
    border-block-end-color: rgba(255, 255, 255, 0.08);
}

.site_header_home .nav_top:not(.is_sticky) .list_box .item,
.site_header_home .nav_top:not(.is_sticky) .list_box .item .item_text {
    color: rgba(255, 255, 255, 0.82);
}

.site_header_home .nav_top:not(.is_sticky) .list_box > .item.is_current > .item_text,
.site_header_home .nav_top:not(.is_sticky) .list_box > .item.is_ancestor > .item_text {
    color: #fff;
}

.site_header_home .nav_top:not(.is_sticky) .submenu_toggle {
    color: rgba(255, 255, 255, 0.72);
}

/* UI-2 Solid and Sticky Header */
.site_header_inner,
.site_header_inner .nav_top,
.site_header_home .nav_top.is_sticky {
    background: #fff;
}

.site_header_inner .nav_top,
.site_header_home .nav_top.is_sticky {
    color: var(--ll-color-text);
    border-block-end-color: var(--ll-color-border);
}

/* Inner pages: a restrained carbon utility bar separates service details from navigation. */
.site_header_inner .nav_top_menu {
    color: rgba(255, 255, 255, 0.76);
    background: var(--ll-color-carbon);
    border-block-end-color: rgba(255, 255, 255, 0.1);
}

.site_header_inner .utility_contact,
.site_header_inner .nav_top_menu .operation_item .item_box {
    color: rgba(255, 255, 255, 0.76);
}

.site_header_inner .utility_contact:hover,
.site_header_inner .utility_contact:focus-visible,
.site_header_inner .nav_top_menu .operation_item .item_box:hover,
.site_header_inner .nav_top_menu .operation_item .item_box:focus-visible {
    color: #fff;
}

.site_header_inner .nav_top_menu .lang_body {
    border-color: rgba(17, 19, 24, 0.16);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.2);
}

.site_header_home .nav_top.is_sticky {
    box-shadow: 0 8px 24px rgba(17, 19, 24, 0.08);
}

.nav_logo {
    position: relative;
}

.nav_top .nav_logo .nav_logo_image {
    transition: opacity 160ms ease;
}

.nav_top .nav_logo .nav_logo_image_on_dark {
    position: absolute;
    inset: 0;
    opacity: 0;
}

.site_header_home .nav_top:not(.is_sticky) .nav_logo_image_on_dark {
    position: static;
    opacity: 1;
}

.site_header_home .nav_top:not(.is_sticky) .nav_logo_image_on_light {
    position: absolute;
    inset: 0;
    opacity: 0;
}

/* UI-2 Home Hero Protection */
.home_hero {
    position: relative;
    isolation: isolate;
    height: clamp(620px, 78vh, 820px);
    background: var(--ll-color-carbon);
    overflow: hidden;
}

.home_hero .slide-inner::after {
    z-index: 1;
    background:
        linear-gradient(
            90deg,
            rgba(7, 10, 14, 0.86) 0%,
            rgba(7, 10, 14, 0.64) 38%,
            rgba(7, 10, 14, 0.22) 72%,
            rgba(7, 10, 14, 0.12) 100%
        ),
        linear-gradient(
            180deg,
            rgba(7, 10, 14, 0.34) 0%,
            rgba(7, 10, 14, 0.06) 58%,
            rgba(7, 10, 14, 0.52) 100%
        );
}

.home_hero .slide-inner .pc,
.home_hero .slide-inner .phone {
    transform: scale(1.01);
}

.home_hero .banner_title_box,
.home_hero .banner_title_box.left,
.home_hero .banner_title_box.center,
.home_hero .banner_title_box.right {
    display: flex;
    inset-block-end: clamp(96px, 13vh, 142px);
    justify-content: flex-start;
    padding-inline: var(--ll-page-gutter-desktop);
    text-align: start;
}

.home_hero .banner_title_box .text_box,
.home_hero .banner_title_box.left .text_box,
.home_hero .banner_title_box.center .text_box,
.home_hero .banner_title_box.right .text_box {
    width: min(100%, 680px);
    max-width: 680px;
}

.home_hero .banner_tip {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-block-end: 20px;
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.04em;
}

.home_hero .banner_tip::before {
    width: 3px;
    height: 18px;
    background: var(--ll-color-brand);
    content: "";
}

.home_hero .banner_title {
    max-width: 660px;
    color: #fff !important;
    font-size: clamp(48px, 4.4vw, 72px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.03em;
    text-wrap: balance;
}

.home_hero .banner_title_min {
    max-width: 600px;
    margin-block-start: 22px;
    color: rgba(255, 255, 255, 0.78) !important;
    font-size: clamp(16px, 1.1vw, 18px);
    font-weight: 400;
    line-height: 1.65;
}

.home_hero .banner_btn_box {
    margin-block-start: 28px;
}

.home_hero .banner_btn {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    padding-inline: 24px;
    color: #fff;
    background: var(--ll-color-brand);
    border-radius: var(--ll-radius-sm);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
}

.home_hero .banner_btn::after {
    width: 7px;
    height: 7px;
    margin-inline-start: 16px;
    border-block-start: 1.5px solid currentColor;
    border-inline-end: 1.5px solid currentColor;
    content: "";
    transform: rotate(45deg);
}

.home_hero .banner_btn:hover {
    background: var(--ll-color-brand-hover);
}

.home_hero .swiper-button-prev,
.home_hero .swiper-button-next {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    color: #fff;
    background: rgba(8, 11, 15, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 50%;
    transition: color 150ms ease, background 150ms ease, border-color 150ms ease;
}

.home_hero .swiper-button-prev .iconfont,
.home_hero .swiper-button-next .iconfont {
    display: none;
}

.home_hero .swiper-button-prev::before,
.home_hero .swiper-button-next::before {
    width: 10px;
    height: 10px;
    border-block-start: 1.5px solid currentColor;
    border-inline-end: 1.5px solid currentColor;
    content: "";
}

.home_hero .swiper-button-prev::before {
    transform: rotate(225deg);
}

.home_hero .swiper-button-next::before {
    transform: rotate(45deg);
}

.home_hero .swiper-button-prev:hover,
.home_hero .swiper-button-next:hover {
    color: var(--ll-color-brand);
    background: rgba(8, 11, 15, 0.46);
    border-color: var(--ll-color-brand);
}

.home_hero .swiper-pagination-bullet {
    box-sizing: content-box;
    width: 8px;
    height: 8px;
    padding: 8px;
    border: 0;
    background: rgba(255, 255, 255, 0.62);
    background-clip: content-box;
    opacity: 1;
}

.home_hero .swiper-pagination-bullet::after {
    display: none;
}

.home_hero .swiper-pagination-bullet-active {
    background: var(--ll-color-brand);
    background-clip: content-box;
}

.home_hero .swiper-horizontal > .swiper-pagination-bullets,
.home_hero .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 28px;
}

.home_hero .double-bottom {
    display: none;
}

html[dir="rtl"] .home_hero .slide-inner::after {
    background:
        linear-gradient(
            270deg,
            rgba(7, 10, 14, 0.86) 0%,
            rgba(7, 10, 14, 0.64) 38%,
            rgba(7, 10, 14, 0.22) 72%,
            rgba(7, 10, 14, 0.12) 100%
        ),
        linear-gradient(
            180deg,
            rgba(7, 10, 14, 0.34) 0%,
            rgba(7, 10, 14, 0.06) 58%,
            rgba(7, 10, 14, 0.52) 100%
        );
}

html[dir="rtl"] .home_hero .banner_title_box {
    direction: rtl;
    justify-content: flex-start;
    text-align: start;
}

/* Footer */
.footer {
    color: var(--ll-color-text-secondary);
    background: var(--ll-color-bg-soft);
    border-block-start: 1px solid var(--ll-color-border);
}

.footer .link_box {
    display: flex;
    flex-wrap: wrap;
    min-height: 40px;
    padding: 7px var(--ll-page-gutter-desktop);
    color: var(--ll-color-text-secondary);
    background: var(--ll-color-bg-subtle);
    border-block-end: 1px solid var(--ll-color-border);
}

.footer .link_box * {
    color: var(--ll-color-text-secondary);
    font-size: 13px;
}

.footer .link_box a:hover {
    color: var(--ll-color-brand);
}

.footer .footer_body {
    display: grid;
    grid-template-columns: minmax(230px, 1.05fr) minmax(0, 3.2fr);
    gap: clamp(40px, 5vw, 80px);
    padding: 64px 0;
}

.footer_brand {
    min-width: 0;
}

.footer_logo {
    display: inline-flex;
    margin-block-end: var(--ll-space-3);
}

.footer_logo img {
    width: auto;
    height: 48px;
    max-width: 210px;
    object-fit: contain;
}

.footer .contact_us {
    display: grid;
    gap: 11px;
}

.footer .footer_body .footer_brand .contact_us {
    width: auto;
    padding: 0;
    background: transparent;
}

.footer .contact_us_item {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 9px;
    align-items: start;
    color: var(--ll-color-text-secondary);
    font-size: 14px;
    line-height: 1.55;
}

.footer .footer_body .contact_us .contact_us_item *,
.footer .footer_body .contact_us .contact_us_item .iconfont {
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

.footer a.contact_us_item:hover {
    color: var(--ll-color-brand);
}

.footer .contact_us_item .iconfont {
    color: var(--ll-color-text-muted);
    font-size: 15px;
    line-height: 1.55;
    text-align: center;
}

.footer_socials {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-block-start: var(--ll-space-3);
}

.footer_socials a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 10px;
    background: var(--ll-color-footer-dark);
    border: 1px solid var(--ll-color-footer-dark);
    border-radius: 50%;
    transition: border-color 150ms ease, background 150ms ease;
}

.footer_socials a:hover {
    background: var(--ll-color-brand);
    border-color: var(--ll-color-brand);
}

.footer_socials img {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.footer_content {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(400px, 1fr);
    gap: clamp(40px, 4vw, 72px);
    min-width: 0;
}

.footer .nav_body {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--ll-space-4);
}

.footer .footer_group_heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 32px;
    margin: 0 0 14px;
    padding: 0;
    color: var(--ll-color-text);
    background: transparent;
    text-align: start;
}

.footer .footer_group_heading .title {
    display: inline-flex;
    margin: 0;
    color: var(--ll-color-text);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
}

.footer .footer_group_heading a.title:hover {
    color: var(--ll-color-brand);
}

.footer_accordion_toggle,
.footer_accordion_icon {
    display: none;
}

.footer_group_links {
    display: grid;
    gap: 10px;
}

.footer .nav_list .item {
    display: block;
    margin: 0;
    color: var(--ll-color-text-secondary);
    font-size: 14px;
    line-height: 1.5;
    overflow: visible;
    text-overflow: clip;
    -webkit-line-clamp: unset;
}

.footer .nav_list .item:hover {
    color: var(--ll-color-brand);
}

.footer .inquiry_body {
    min-width: 0;
    align-self: start;
    padding: clamp(24px, 2vw, 32px);
    background: #fff;
    border: 1px solid var(--ll-color-border);
    border-block-start: 3px solid var(--ll-color-brand);
    border-radius: var(--ll-radius-md);
    box-shadow: 0 14px 36px rgba(31, 35, 40, 0.07);
}

.footer .footer_inquiry_heading {
    cursor: default;
    min-height: auto;
    margin-block-end: 20px;
}

.footer .footer_inquiry_heading .title {
    position: relative;
    padding-inline-start: 18px;
    font-size: 18px;
    line-height: 1.35;
    letter-spacing: 0.04em;
}

.footer .footer_inquiry_heading .title::before {
    position: absolute;
    inset-inline-start: 0;
    top: 50%;
    width: 4px;
    height: 20px;
    background: var(--ll-color-brand);
    border-radius: 999px;
    content: "";
    transform: translateY(-50%);
}

.footer .footer_form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.footer .footer_form .row {
    margin: 0;
}

.footer .footer_form .row:nth-child(3),
.footer .footer_form .btn_list {
    grid-column: 1 / -1;
}

.footer .footer_form input,
.footer .footer_form textarea {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: none;
    min-height: 46px;
    height: 46px;
    padding: 10px 12px;
    color: var(--ll-color-text);
    background: #fff;
    border: 1px solid var(--ll-color-border-strong);
    border-radius: var(--ll-radius-sm);
    box-shadow: none;
    font-size: 14px;
}

.footer .footer_form textarea {
    min-height: 88px;
    height: 88px;
    resize: vertical;
}

.footer .footer_form input::placeholder,
.footer .footer_form textarea::placeholder {
    color: var(--ll-color-text-muted);
}

.footer .footer_form input:focus,
.footer .footer_form textarea:focus {
    border-color: var(--ll-color-brand);
    box-shadow: 0 0 0 3px rgba(168, 15, 26, 0.12);
}

.footer .btn_list {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(96px, 1fr);
    gap: 10px;
    margin: 0;
}

.footer .btn_item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 8px 18px;
    color: var(--ll-color-text);
    background: #fff;
    border: 1px solid var(--ll-color-border-strong);
    border-radius: var(--ll-radius-sm);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
    cursor: pointer;
}

.footer .btn_item:hover {
    color: var(--ll-color-brand);
    background: var(--ll-color-brand-soft);
    border-color: rgba(168, 15, 26, 0.35);
}

.footer .btn_item:first-child {
    color: #fff;
    background: var(--ll-color-brand);
    border-color: var(--ll-color-brand);
}

.footer .btn_item:first-child:hover {
    color: #fff;
    background: var(--ll-color-brand-hover);
    border-color: var(--ll-color-brand-hover);
}

.footer .footer_bar {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 7px;
    min-height: 52px;
    margin: 0;
    padding: 12px var(--ll-page-gutter-desktop);
    color: #d2d5da;
    background: var(--ll-color-footer-dark);
    border: 0;
    text-align: center;
}

.footer .footer_bar * {
    color: #d2d5da !important;
    font-size: 12px;
    line-height: 1.5;
}

.footer .footer_bar a:hover {
    color: #fff !important;
    text-decoration: underline;
}

.footer .footer_bar img {
    width: 16px;
    height: 16px;
    margin: 0;
}

.footer .footer_bar span {
    margin: 0 2px;
}

/* UI-2 Desktop Footer */
.footer {
    color: var(--ll-color-text-on-dark-secondary);
    background:
        radial-gradient(circle at 18% 25%, rgba(255, 255, 255, 0.035), transparent 34%),
        var(--ll-color-carbon);
    border-block-start: 1px solid var(--ll-color-border-dark);
}

.footer .footer_body {
    grid-template-columns: minmax(180px, 0.72fr) minmax(0, 3.8fr);
    gap: clamp(40px, 4vw, 64px);
    padding: 80px 0;
}

.footer_logo {
    margin-block-end: 30px;
}

.footer_logo img {
    height: 58px;
    max-width: 220px;
}

.footer_socials {
    gap: 10px;
    margin-block-start: 0;
}

.footer_socials a {
    background: rgba(255, 255, 255, 0.035);
    border-color: var(--ll-color-border-dark);
}

.footer_socials a:hover {
    background: var(--ll-color-brand);
    border-color: var(--ll-color-brand);
}

.footer_content {
    grid-template-columns: minmax(230px, 0.85fr) minmax(280px, 1fr) minmax(380px, 1.25fr);
    gap: clamp(28px, 2.4vw, 42px);
}

.footer .nav_body {
    grid-template-columns: repeat(2, minmax(110px, 1fr));
    gap: clamp(24px, 2.5vw, 42px);
}

.footer .footer_group_heading,
.footer .footer_group_heading .title {
    color: var(--ll-color-text-on-dark);
}

.footer .footer_group_heading {
    margin-block-end: 18px;
}

.footer .footer_group_heading .title {
    font-size: 14px;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

.footer .footer_group_heading a.title:hover,
.footer .nav_list .item:hover,
.footer a.contact_us_item:hover {
    color: #fff;
}

.footer .nav_list .item,
.footer .contact_us_item {
    color: var(--ll-color-text-on-dark-secondary);
}

.footer .contact_us {
    gap: 14px;
}

.footer .footer_body .footer_contact_column .contact_us {
    width: auto;
    padding: 0;
    background: transparent;
}

.footer .contact_us_item {
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 10px;
}

.footer .contact_us_item .iconfont {
    color: rgba(255, 255, 255, 0.82);
    font-size: 17px;
}

.footer .contact_person_icon {
    color: rgba(255, 255, 255, 0.82);
    font-size: 15px;
    line-height: 1.55;
    text-align: center;
}

.footer .contact_address .text {
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: auto;
}

.footer .contact_email .text {
    overflow-wrap: anywhere;
}

.footer_contact_column {
    min-width: 0;
}

.footer_contact_heading {
    cursor: default;
}

.footer .inquiry_body {
    padding: clamp(24px, 2vw, 30px);
    background: rgba(255, 255, 255, 0.055);
    border-color: rgba(255, 255, 255, 0.1);
    border-block-start: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
}

.footer .footer_inquiry_heading {
    margin-block-end: 20px;
}

.footer .footer_inquiry_heading .title {
    color: #fff;
    font-size: 16px;
}

.footer .footer_form input,
.footer .footer_form textarea {
    color: #fff;
    background: rgba(255, 255, 255, 0.045);
    border-color: rgba(255, 255, 255, 0.12);
}

.footer .footer_form input::placeholder,
.footer .footer_form textarea::placeholder {
    color: rgba(255, 255, 255, 0.54);
}

.footer .footer_form input:focus,
.footer .footer_form textarea:focus {
    border-color: var(--ll-color-brand);
    box-shadow: 0 0 0 3px rgba(181, 36, 44, 0.18);
}

.footer .btn_item {
    color: rgba(255, 255, 255, 0.72);
    background: transparent;
    border-color: rgba(255, 255, 255, 0.16);
}

.footer .btn_item:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.3);
}

.footer #resetFooterForm {
    color: rgba(255, 255, 255, 0.58);
    background: transparent;
    border-color: rgba(255, 255, 255, 0.12);
}

.footer #resetFooterForm:hover {
    color: #fff;
    background: transparent;
    border-color: rgba(255, 255, 255, 0.32);
}

.footer .btn_item:first-child {
    position: relative;
    min-height: 46px;
    padding-inline-end: 42px;
}

.footer .btn_item:first-child::after {
    position: absolute;
    inset-inline-end: 20px;
    width: 7px;
    height: 7px;
    border-block-start: 1.5px solid currentColor;
    border-inline-end: 1.5px solid currentColor;
    content: "";
    transform: rotate(45deg);
}

html[dir="rtl"] .footer .btn_item:first-child::after {
    transform: rotate(225deg);
}

.footer .footer_bar {
    display: block;
    min-height: 0;
    padding: 0;
    color: var(--ll-color-text-on-dark-secondary);
    background: var(--ll-color-carbon-2);
    border-block-start: 1px solid var(--ll-color-border-dark);
}

.footer .footer_meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 30px;
    min-height: 64px;
    padding-block: 13px;
}

.footer .link_box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 12px;
    min-height: 0;
    padding: 0;
    color: var(--ll-color-text-on-dark-secondary);
    background: transparent;
    border: 0;
}

.footer .link_box *,
.footer .footer_legal * {
    color: var(--ll-color-text-on-dark-secondary) !important;
    font-size: 12px;
}

.footer .link_box a:hover,
.footer .footer_legal a:hover {
    color: #fff !important;
}

.footer_legal {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
}

#page_message_box {
    transition: opacity 180ms ease, visibility 180ms ease, transform 300ms ease;
}

#page_message_box.is_footer_occluded {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* RTL uses logical positioning and keeps phone/email readable. */
html[dir="rtl"] .nav_top .list_box,
html[lang="ar"] .nav_top .list_box {
    float: none;
}

html[dir="rtl"] .nav_top .nav_logo,
html[lang="ar"] .nav_top .nav_logo {
    float: none;
    margin: 0;
}

html[dir="rtl"] .nav_top .list_box .item .item_hide_box .son_list .son_item .son_children,
html[lang="ar"] .nav_top .list_box .item .item_hide_box .son_list .son_item .son_children {
    right: auto;
    left: auto;
}

html[dir="rtl"] .nav_top .list_box .item .item_hide_box .son_list .son_item .son_children {
    transform: translateX(5px);
}

html[dir="rtl"] .nav_top .list_box .item .item_hide_box .son_list .son_item:hover .son_children,
html[dir="rtl"] .nav_top .list_box .item .item_hide_box .son_list .son_item:focus-within .son_children {
    transform: translateX(0);
}

[dir="ltr"],
.ltr_text,
input[type="email"],
input[type="tel"] {
    unicode-bidi: isolate;
}

/* Responsive shell */
@media (max-width: 1180px) {
    .nav_top .nav_box {
        gap: 14px;
    }

    .nav_top .list_box .item .item_text {
        padding-inline: 5px;
        font-size: 13px;
    }

}

/* Keep the desktop navigation intact across the legacy 1100px breakpoint. */
@media (min-width: 1025px) and (max-width: 1100px) {
    .nav_top .nav_box {
        gap: 12px;
    }

    .nav_top .list_box {
        position: static;
        inset: auto;
        z-index: auto;
        width: auto;
        height: auto;
        padding: 0;
        color: var(--ll-color-text);
        background: transparent;
        box-shadow: none;
        overflow: visible;
        transform: none;
        visibility: visible;
        transition: none;
        flex-wrap: nowrap;
    }

    .nav_top .list_box .item .item_text {
        padding-inline: 3px;
        font-size: 12px;
    }

    /* Reclaim the desktop color contract from public.css at small desktop widths. */
    .site_header_inner .nav_top .list_box .item .item_text,
    .site_header_inner .nav_top .list_box .item .item_text a,
    .site_header_inner .nav_top .submenu_toggle,
    .site_header_home .nav_top.is_sticky .list_box .item .item_text,
    .site_header_home .nav_top.is_sticky .list_box .item .item_text a,
    .site_header_home .nav_top.is_sticky .submenu_toggle {
        color: var(--ll-color-text) !important;
    }

    .site_header_inner .nav_top .list_box .item .item_text:hover,
    .site_header_inner .nav_top .list_box .item .item_text:hover a,
    .site_header_home .nav_top.is_sticky .list_box .item .item_text:hover,
    .site_header_home .nav_top.is_sticky .list_box .item .item_text:hover a {
        color: var(--ll-color-brand) !important;
    }

}

@media (max-width: 1024px) {
    :root {
        --ll-header-main-height: 64px;
    }

    .container {
        padding-inline: var(--ll-page-gutter-tablet);
    }

    .nav_top_menu {
        display: none;
    }

    .nav_top .nav_box,
    .nav_top.is_sticky .nav_box {
        min-height: var(--ll-header-main-height);
        padding-inline: var(--ll-page-gutter-tablet);
    }

    .nav_top .nav_logo,
    html[lang="ar"] .nav_top .nav_logo {
        margin: 0;
        padding: 0;
    }

    .nav_top .nav_logo img,
    .nav_top.is_sticky .nav_logo img {
        height: 40px;
        max-width: 180px;
    }

    .nav_top .list_box {
        display: block;
        position: fixed;
        inset-block: 0;
        inset-inline-end: 0;
        inset-inline-start: auto;
        z-index: 1002;
        width: min(88vw, 380px);
        height: 100dvh;
        padding-block-end: 28px;
        color: var(--ll-color-text);
        background: var(--ll-color-bg);
        box-shadow: -12px 0 32px rgba(0, 0, 0, 0.12);
        overflow-y: auto;
        overscroll-behavior: contain;
        transform: translateX(105%);
        visibility: hidden;
        transition: transform 220ms ease, visibility 220ms ease;
    }

    html[dir="rtl"] .nav_top .list_box {
        box-shadow: 12px 0 32px rgba(0, 0, 0, 0.12);
        transform: translateX(-105%);
    }

    .nav_top .list_box.list_box_active,
    html[dir="rtl"] .nav_top .list_box.list_box_active {
        transform: translateX(0);
        visibility: visible;
    }

    .nav_drawer_backdrop {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 1001;
        width: 100%;
        height: 100%;
        background: rgba(15, 19, 24, 0.46);
        opacity: 0;
        visibility: hidden;
        cursor: pointer;
        transition: opacity 180ms ease, visibility 180ms ease;
    }

    .nav_drawer_backdrop.is_active {
        opacity: 1;
        visibility: visible;
    }

    .nav_top .list_box .list_nav {
        display: flex;
        position: sticky;
        inset-block-start: 0;
        z-index: 2;
        align-items: center;
        justify-content: space-between;
        height: 68px;
        margin: 0;
        padding-inline: var(--ll-page-gutter-mobile);
        background: #fff;
        border-block-end: 1px solid var(--ll-color-border);
    }

    html[dir="rtl"] .nav_top .list_box .list_nav {
        direction: rtl !important;
    }

    .nav_top .list_box .list_nav img {
        width: auto;
        height: 38px;
        max-width: 180px;
        object-fit: contain;
    }

    .nav_top .list_box .list_nav .close_btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        color: var(--ll-color-text);
        background: transparent;
        border-radius: var(--ll-radius-sm);
        cursor: pointer;
    }

    .nav_top .list_box .list_nav .close_btn .iconfont {
        color: inherit;
        font-size: 24px;
    }

    .nav_top .list_box .item,
    .nav_top.is_sticky .list_box .item {
        display: block;
        height: auto;
        margin-inline: var(--ll-page-gutter-mobile);
        border-block-end: 1px solid var(--ll-color-border);
    }

    .nav_top .list_box .item .item_text {
        display: flex;
        align-items: center;
        gap: 0;
        height: auto;
        min-height: 50px;
        padding: 0;
        color: var(--ll-color-text) !important;
        font-size: 15px;
        text-transform: none;
        white-space: normal;
    }

    .nav_top .list_box .item .item_text::after {
        display: none;
    }

    .nav_top .list_box .item .item_text a,
    .nav_top_fff .list_box .item .item_text a {
        flex: 1;
        min-width: 0;
        min-height: 50px;
        padding-block: 13px;
        color: var(--ll-color-text) !important;
        line-height: 1.5;
    }

    .nav_top .list_box .item .item_text a[aria-current="page"] {
        color: var(--ll-color-brand) !important;
        font-weight: 600;
    }

    .nav_top .list_box > .item.is_current > .item_text,
    .nav_top .list_box > .item.is_ancestor > .item_text {
        margin-block: 4px;
        padding-inline-start: 12px;
        color: var(--ll-color-brand) !important;
        background: var(--ll-color-brand-soft);
        border-inline-start: 3px solid var(--ll-color-brand);
        border-radius: var(--ll-radius-sm);
    }

    .nav_top .list_box .son_item a[aria-current="page"],
    .nav_top .list_box .son_children_item a[aria-current="page"] {
        color: var(--ll-color-brand);
        background: rgba(181, 36, 44, 0.07);
        font-weight: 600;
    }

    .nav_top .submenu_toggle {
        flex: 0 0 44px;
        width: 44px;
        min-height: 44px;
        color: var(--ll-color-text-secondary);
        transform: rotate(0);
        transition: transform 150ms ease;
    }

    .nav_top .submenu_toggle[aria-expanded="true"] {
        transform: rotate(180deg);
    }

    .nav_top .list_box .item .item_hide_box {
        display: none;
        position: static;
        width: 100%;
        padding: 0 0 10px;
        opacity: 1;
        visibility: visible;
        transform: none;
        transition: none;
    }

    .nav_top .list_box .item:hover .item_hide_box {
        display: none;
    }

    .nav_top .list_box .item.is_open > .item_hide_box {
        display: block;
    }

    .nav_top .list_box .item .item_hide_box .hide_box {
        padding: 4px 0;
        background: var(--ll-color-bg-soft);
        border: 0;
        border-radius: var(--ll-radius-sm);
        box-shadow: none;
    }

    .nav_top .list_box .item .item_hide_box .son_list .son_item_title .a {
        min-height: 44px;
        padding-inline: 16px 4px;
    }

    .nav_top .list_box .item .item_hide_box .son_list .son_item_title .text {
        padding-block: 11px;
        color: var(--ll-color-text-secondary);
    }

    .nav_top .list_box .item .item_hide_box .son_list .son_item .son_children,
    html[dir="rtl"] .nav_top .list_box .item .item_hide_box .son_list .son_item .son_children {
        display: none;
        position: static;
        width: 100%;
        padding: 2px 0 6px;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
    }

    .nav_top .list_box .item .item_hide_box .son_list .son_item:hover .son_children {
        display: none;
    }

    .nav_top .list_box .item .item_hide_box .son_list .son_item.is_open > .son_children {
        display: block;
    }

    .nav_top .list_box .item .item_hide_box .son_list .son_item .son_children_item a {
        min-height: 42px;
        padding: 10px 16px 10px 34px;
        color: var(--ll-color-text-secondary);
    }

    html[dir="rtl"] .nav_top .list_box .item .item_hide_box .son_list .son_item .son_children_item a {
        padding: 10px 34px 10px 16px;
    }

    .drawer_languages {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin: 22px var(--ll-page-gutter-mobile);
        padding-block-start: 20px;
        border-block-start: 1px solid var(--ll-color-border);
    }

    .drawer_languages a {
        display: inline-flex;
        align-items: center;
        min-height: 38px;
        padding: 7px 11px;
        color: var(--ll-color-text-secondary);
        background: var(--ll-color-bg-soft);
        border-radius: var(--ll-radius-sm);
        font-size: 13px;
    }

    .drawer_languages a[aria-current="page"] {
        color: var(--ll-color-brand);
        background: var(--ll-color-brand-soft);
    }

    .nav_top .nav_search_drawer {
        display: flex;
        justify-content: flex-start;
        width: auto;
        height: 48px;
        margin: 18px var(--ll-page-gutter-mobile) 0;
        padding-inline: 0;
        gap: 12px;
        color: var(--ll-color-brand);
        border-block-start: 1px solid var(--ll-color-border);
        border-radius: 0;
        font-size: 15px;
    }

    .nav_search_desktop {
        display: none;
    }

    .nav_top.search_panel_open .nav_search_desktop {
        display: inline-flex;
        color: var(--ll-color-brand);
    }

    .site_header_home .nav_top.search_panel_open .nav_search_desktop {
        color: var(--ll-color-brand);
    }

    .header_search_panel {
        position: fixed;
        inset-block-start: var(--ll-header-main-height);
        max-height: calc(100dvh - var(--ll-header-main-height));
        padding-block: 14px 20px;
        overflow-y: auto;
    }

    .header_search_panel .container {
        padding-inline: var(--ll-page-gutter-mobile);
    }

    .header_search_panel_inner {
        padding: 16px;
        border-radius: 8px;
    }

    .header_search_panel_inner::before {
        inset-inline-end: 54px;
    }

    .header_search_panel_header {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .header_search_panel_header .header_search_form {
        flex: 1 1 auto;
        min-width: 0;
    }

    .header_search_close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 40px;
        width: 40px;
        height: 40px;
        color: var(--ll-color-text-secondary);
        background: transparent;
        border-radius: 50%;
        cursor: pointer;
    }

    .header_search_close:hover,
    .header_search_close:focus-visible {
        color: var(--ll-color-brand);
        background: var(--ll-color-brand-soft);
    }

    .header_search_close_icon,
    .header_search_close_icon::after {
        display: block;
        width: 18px;
        height: 2px;
        border-radius: 999px;
        background: currentColor;
    }

    .header_search_close_icon {
        transform: rotate(45deg);
    }

    .header_search_close_icon::after {
        content: "";
        transform: rotate(90deg);
    }

    .header_search_columns {
        grid-template-columns: 1fr;
        margin-block-start: 18px;
    }

    .header_search_group,
    .header_search_group + .header_search_group {
        padding-inline: 0;
    }

    .header_search_group + .header_search_group {
        margin-block-start: 18px;
        padding-block-start: 18px;
        border-block-start: 1px solid var(--ll-color-border);
        border-inline-start: 0;
    }

    .global_search_result_link,
    .global_search_result_content {
        padding: 18px 42px 18px 18px;
    }

    html[dir="rtl"] .global_search_result_link,
    html[dir="rtl"] .global_search_result_content {
        padding-inline: 42px 18px;
    }

    .global_search_result_title {
        font-size: 18px;
    }

    .global_search_result_brief {
        font-size: 13px;
    }

    .global_search_result_arrow {
        inset-inline-end: 18px;
    }

    html[dir="rtl"] .global_search_result_arrow {
        inset-inline: 18px auto;
    }

    .mobile_language {
        display: block;
        position: relative;
        margin-inline-start: auto;
    }

    .mobile_language_btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 5px;
        min-width: 44px;
        height: 44px;
        padding: 0 8px;
        color: var(--ll-color-text);
        background: transparent;
        border-radius: var(--ll-radius-sm);
        font-size: 12px;
        font-weight: 600;
        cursor: pointer;
    }

    .mobile_language_list {
        position: absolute;
        inset-block-start: calc(100% + 5px);
        inset-inline-end: 0;
        z-index: 1004;
        width: 190px;
        padding: 7px;
        background: #fff;
        border: 1px solid var(--ll-color-border);
        border-radius: var(--ll-radius-md);
        box-shadow: var(--ll-shadow-dropdown);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-5px);
        transition: opacity 150ms ease, transform 150ms ease, visibility 150ms ease;
    }

    .mobile_language.is_open .mobile_language_list {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .mobile_language_list a {
        display: block;
        min-height: 40px;
        padding: 9px 10px;
        color: var(--ll-color-text);
        border-radius: var(--ll-radius-sm);
        font-size: 14px;
    }

    .mobile_language_list a:hover,
    .mobile_language_list a[aria-current="page"] {
        color: var(--ll-color-brand);
        background: var(--ll-color-brand-soft);
    }

    .nav_top .menu_btn {
        display: inline-flex;
        flex: 0 0 44px;
        float: none;
        width: 44px;
        height: 44px;
        margin: 0;
        color: var(--ll-color-text);
        background: transparent;
        border-radius: var(--ll-radius-sm);
    }

    .nav_top .menu_btn span {
        color: inherit;
        font-size: 26px;
    }

    .footer .footer_body {
        grid-template-columns: 1fr;
        gap: 44px;
        padding: 52px 0;
    }

    .footer_content {
        grid-template-columns: minmax(0, 1.6fr) minmax(360px, 1fr);
    }
}

@media (max-width: 768px) {
    :root {
        --ll-font-mobile-h1: 28px;
        --ll-font-mobile-h2: 20px;
        --ll-font-mobile-body: 16px;
        --ll-font-mobile-small: 14px;
        --ll-font-mobile-button: 16px;
    }

    body {
        padding-bottom: calc(64px + max(12px, env(safe-area-inset-bottom)));
        font-size: var(--ll-font-mobile-body);
    }

    #page_tabbar {
        padding-bottom: max(12px, env(safe-area-inset-bottom));
        background: #fff;
        border-block-start: 1px solid var(--ll-color-border);
        box-shadow: 0 -8px 24px rgba(31, 35, 40, 0.1);
    }

    #page_tabbar .body {
        height: 56px;
    }

    #page_tabbar .tabbar_item .icon {
        padding-top: 7px;
        line-height: 20px;
    }

    #page_tabbar .tabbar_item .name {
        font-size: 12px;
        line-height: 1.35;
    }

    .container {
        padding-inline: var(--ll-page-gutter-mobile);
    }

    .nav_top .nav_box,
    .nav_top.is_sticky .nav_box {
        padding-inline: var(--ll-page-gutter-mobile);
    }

    .nav_top .nav_logo img,
    .nav_top.is_sticky .nav_logo img {
        height: 36px;
        max-width: min(170px, 46vw);
    }

    .footer .link_box {
        display: flex;
    }

    .footer .footer_body {
        display: grid;
        padding: 40px 0;
    }

    .footer_logo {
        margin-block-end: 20px;
    }

    .footer_logo img {
        height: 44px;
    }

    .footer_content {
        display: block;
    }

    .footer .nav_body {
        display: block;
        border-block-start: 1px solid var(--ll-color-border);
    }

    .footer .nav_list,
    .footer .inquiry_body {
        border-block-end: 1px solid var(--ll-color-border);
    }

    .footer .inquiry_body {
        padding: 0;
        background: transparent;
        border: 0;
        border-block-end: 1px solid var(--ll-color-border);
        border-radius: 0;
        box-shadow: none;
    }

    .footer .footer_group_heading {
        min-height: 50px;
        margin: 0;
    }

    .footer .footer_group_heading .title {
        font-size: 15px;
    }

    .footer .footer_inquiry_heading {
        margin-block-end: 0;
    }

    .footer .footer_inquiry_heading .title {
        padding-inline-start: 0;
        font-size: 15px;
        letter-spacing: normal;
    }

    .footer .footer_inquiry_heading .title::before {
        display: none;
    }

    .footer_accordion_toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        color: var(--ll-color-text);
        background: transparent;
        cursor: pointer;
    }

    .footer_accordion_toggle span,
    .footer_accordion_icon {
        display: block;
        width: 8px;
        height: 8px;
        border-inline-end: 1.5px solid currentColor;
        border-block-end: 1.5px solid currentColor;
        transform: rotate(45deg) translate(-2px, -2px);
        transition: transform 150ms ease;
    }

    .footer_accordion_toggle[aria-expanded="true"] span,
    .footer_inquiry_heading[aria-expanded="true"] .footer_accordion_icon {
        transform: rotate(225deg) translate(-1px, -1px);
    }

    .footer_group_links,
    .footer .footer_form {
        display: none;
        grid-template-columns: 1fr;
        padding-block: 0 16px;
    }

    .footer .footer_form .row:nth-child(3),
    .footer .footer_form .btn_list {
        grid-column: auto;
    }

    .footer .nav_list.is_open .footer_group_links,
    .footer .inquiry_body.is_open .footer_form {
        display: grid;
    }

    .footer .nav_list .item {
        min-height: 40px;
        padding-block: 8px;
    }

    .footer_inquiry_heading {
        cursor: pointer !important;
    }

    .footer .footer_form {
        gap: 12px;
    }

    .footer .footer_bar {
        flex-direction: column;
        min-height: 0;
        padding: 16px var(--ll-page-gutter-mobile);
    }

    .footer .footer_bar > span {
        display: none;
    }
}

@media (max-width: 390px) {
    .nav_top .nav_box {
        gap: 8px;
    }

    .nav_top .nav_logo img,
    .nav_top.is_sticky .nav_logo img {
        height: 34px;
        max-width: 43vw;
    }

    .mobile_language_btn {
        padding-inline: 5px;
    }
}

/* UI-2 Responsive Header and Hero */
@media (max-width: 1024px) {
    .site_header_home {
        position: relative;
        color: var(--ll-color-text);
        background: #fff;
    }

    .site_header_home::before {
        display: none;
    }

    .site_header_home.has_sticky_nav {
        padding-block-end: var(--ll-header-main-height);
    }

    .site_header_home .nav_top:not(.is_sticky),
    .site_header_home .nav_top.is_sticky {
        color: var(--ll-color-text);
        background: #fff !important;
        border-block-end-color: var(--ll-color-border);
    }

    .site_header_home .nav_top:not(.is_sticky) .list_box .item,
    .site_header_home .nav_top:not(.is_sticky) .list_box .item .item_text {
        color: var(--ll-color-text);
    }

    .site_header_home .nav_top:not(.is_sticky) .nav_logo_image_on_dark {
        position: absolute;
        inset: 0;
        opacity: 0;
    }

    .site_header_home .nav_top:not(.is_sticky) .nav_logo_image_on_light {
        position: static;
        opacity: 1;
    }

    .footer .footer_body {
        grid-template-columns: 1fr;
    }

    .footer_content {
        grid-template-columns: minmax(0, 1fr) minmax(280px, 0.9fr);
    }

    .footer .inquiry_body {
        grid-column: 1 / -1;
    }
}

@media (max-width: 768px) {
    .home_hero {
        height: clamp(600px, 80svh, 760px);
    }

    .home_hero .slide-inner::after,
    html[dir="rtl"] .home_hero .slide-inner::after {
        background:
            linear-gradient(
                180deg,
                rgba(7, 10, 14, 0.12) 0%,
                rgba(7, 10, 14, 0.42) 42%,
                rgba(7, 10, 14, 0.82) 100%
            );
    }

    .home_hero .banner_title_box,
    .home_hero .banner_title_box.left,
    .home_hero .banner_title_box.center,
    .home_hero .banner_title_box.right,
    html[dir="rtl"] .home_hero .banner_title_box {
        inset-block-end: 88px;
        justify-content: center;
        padding-inline: 20px;
        text-align: center;
    }

    .home_hero .banner_title_box .text_box,
    .home_hero .banner_title_box.left .text_box,
    .home_hero .banner_title_box.center .text_box,
    .home_hero .banner_title_box.right .text_box {
        width: 100%;
        max-width: 520px;
    }

    .home_hero .banner_tip {
        justify-content: center;
        margin-block-end: 14px;
        font-size: 13px;
    }

    .home_hero .banner_title {
        margin-inline: auto;
        font-size: clamp(34px, 10vw, 42px);
        line-height: 1.1;
        letter-spacing: -0.025em;
    }

    .home_hero .banner_title_min {
        display: -webkit-box;
        max-width: 480px;
        margin: 16px auto 0;
        font-size: 15px;
        line-height: 1.55;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    .home_hero .banner_btn_box {
        margin-block-start: 22px;
    }

    .home_hero .banner_btn {
        min-height: 48px;
        padding-inline: 22px;
        font-size: 14px;
        line-height: 1.2;
    }

    .home_hero .swiper-horizontal > .swiper-pagination-bullets,
    .home_hero .swiper-pagination-bullets.swiper-pagination-horizontal {
        bottom: 24px;
    }

    .footer .footer_body {
        gap: 28px;
        padding: 52px 0;
    }

    .footer_brand {
        text-align: center;
    }

    .footer_logo {
        margin-block-end: 24px;
    }

    .footer_logo img {
        height: 52px;
    }

    .footer_socials {
        justify-content: center;
    }

    .footer_content {
        display: block;
    }

    .footer .nav_body {
        border-block-start-color: var(--ll-color-border-dark);
    }

    .footer .nav_list,
    .footer_contact_column,
    .footer .inquiry_body {
        border-block-end: 1px solid var(--ll-color-border-dark);
    }

    .footer .footer_group_heading,
    .footer .footer_group_heading .title {
        color: #fff;
    }

    .footer .footer_group_heading {
        margin: 0;
    }

    .footer_accordion_toggle,
    .footer_accordion_icon {
        color: rgba(255, 255, 255, 0.72);
    }

    .footer_group_links,
    .footer .footer_contact_content,
    .footer .footer_form {
        display: none;
        padding-block: 0 18px;
    }

    .footer .nav_list.is_open .footer_group_links,
    .footer_contact_column.is_open .footer_contact_content,
    .footer .inquiry_body.is_open .footer_form {
        display: grid;
    }

    .footer_contact_heading,
    .footer_inquiry_heading {
        cursor: pointer !important;
    }

    .footer .inquiry_body {
        padding: 0;
        background: transparent;
        border: 0;
        border-block-end: 1px solid var(--ll-color-border-dark);
        border-radius: 0;
        box-shadow: none;
    }

    .footer .footer_inquiry_heading .title {
        color: #fff;
    }

    .footer .footer_meta {
        display: grid;
        justify-items: center;
        min-height: 0;
        padding-block: 18px;
        text-align: center;
    }

    .footer .link_box,
    .footer_legal {
        justify-content: center;
    }

    .footer .link_box {
        display: flex !important;
    }

    .footer .link_box * {
        display: inline;
        line-height: 1.5;
    }

    #page_tabbar {
        background: #fff;
        border-block-start: 1px solid var(--ll-color-border);
    }

    #page_tabbar .body {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
        width: 100%;
    }

    #page_tabbar .tabbar_item {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-width: 0;
        height: 56px;
        padding: 0 4px;
        color: var(--ll-color-text-secondary);
        background: transparent;
        border: 0;
        border-block-start: 2px solid transparent;
        font: inherit;
        cursor: pointer;
    }

    #page_tabbar .tabbar_item:hover {
        color: var(--ll-color-brand);
        background: var(--ll-color-brand-soft);
    }

    #page_tabbar .tabbar_item_primary {
        color: var(--ll-color-brand);
        border-block-start-color: var(--ll-color-brand);
    }

    #page_tabbar .tabbar_item .icon {
        padding-top: 0;
        line-height: 20px;
    }

    #page_tabbar .tabbar_item .icon .iconfont {
        color: currentColor;
        font-size: 21px;
    }

    #page_tabbar .tabbar_item .name {
        max-width: 100%;
        color: currentColor;
        font-size: 11px;
        font-weight: 500;
        line-height: 1.3;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

/* Inner-page banner: enough contrast for the title without obscuring the CMS image. */
.son_banner .son_banner_img::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(8, 14, 20, 0.32), rgba(8, 14, 20, 0.12));
}

.son_banner .banner_title {
    z-index: 2;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.34);
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
