.home {
    --lx-ink: #3b2b1f;
    --lx-ink-soft: #4a3729;
    --lx-bone: #faf6ef;
    --lx-bone-2: #f2e8d8;
    --lx-bone-3: #e9dac0;
    --lx-wood: #5c4331;
    --lx-wood-light: #7a5a40;
    --lx-champagne: #e6d2a9;
    --lx-paper: #fffdf8;
    --lx-brass: #c6a46c;
    --lx-brass-light: #e3cb9b;
    --lx-brass-dark: #8e6d3a;
    --lx-crimson: #9a6b3c;
    --lx-muted: #8d8981;
    background: var(--lx-bone);
    color: var(--lx-ink);
}

.home .ajaxfeature,
.home .serverfeature {
    position: relative;
}

/* Shared inner-page surfaces use the same warm palette as the home page. */
.lx-page-surface {
    color: #3b2b1f;
    background: #faf6ef;
}

.lx-filter-panel {
    border: 1px solid rgba(59, 43, 31, .12);
    background: #e9dac0 !important;
    box-shadow: 0 18px 45px rgba(59, 43, 31, .1);
}

.lx-stone-detail-main {
    color: #3b2b1f;
    background: linear-gradient(to bottom, #3b2b1f 0, #3b2b1f 100px, #faf6ef 100px, #faf6ef 100%);
}

@media (max-width: 767px) {
    .lx-stone-detail-main {
        background: linear-gradient(to bottom, #3b2b1f 0, #3b2b1f 72px, #faf6ef 72px, #faf6ef 100%);
    }
}

.lx-container {
    width: min(100% - 40px, 1240px);
    margin-inline: auto;
}

.lx-section {
    position: relative;
    overflow: hidden;
    padding: 112px 0;
}

.lx-section--bone {
    background: var(--lx-bone);
    color: var(--lx-ink);
}

.lx-section--dark {
    background:
        radial-gradient(circle at 16% 15%, rgba(198, 164, 108, .08), transparent 27%),
        linear-gradient(135deg, #4a3729 0%, #2b1e14 60%, #3b2b1f 100%);
    color: #fff;
}

.lx-section--dark::before {
    position: absolute;
    inset: 0;
    pointer-events: none;
    content: "";
    opacity: .18;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.2'/%3E%3C/svg%3E");
}

/* Section palette matched to the approved warm stone reference. */
#trangchu_dichvu.lx-section--dark,
#trangchu_quytrinh.lx-section--dark,
#trangchu_thuvien.lx-section--dark {
    color: var(--lx-ink);
    background: var(--lx-bone);
}

#trangchu_dichvu.lx-section--dark {
    background: var(--lx-bone-2);
}

#trangchu_quytrinh.lx-section--dark {
    background: var(--lx-bone-3);
}

#trangchu_giaiphap.lx-section--dark {
    color: var(--lx-bone);
    background: var(--lx-wood);
}

#trangchu_giaiphap .lx-heading--light em,
#trangchu_giaiphap .lx-heading--light span {
    color: var(--lx-brass-light);
}

#trangchu_dichvu.lx-section--dark::before,
#trangchu_quytrinh.lx-section--dark::before,
#trangchu_thuvien.lx-section--dark::before {
    opacity: 0;
}

#trangchu_dichvu .lx-heading--light,
#trangchu_quytrinh .lx-heading--light,
#trangchu_thuvien .lx-heading--light {
    color: var(--lx-ink);
}

#trangchu_dichvu .lx-heading--light em,
#trangchu_dichvu .lx-heading--light span,
#trangchu_quytrinh .lx-heading--light em,
#trangchu_quytrinh .lx-heading--light span,
#trangchu_thuvien .lx-heading--light em,
#trangchu_thuvien .lx-heading--light span {
    color: var(--lx-brass-dark, #8e6d3a);
}

#trangchu_thuvien .lx-heading--light em {
    color: transparent;
    background: linear-gradient(96deg, #a9834b 0%, #e6cf9f 38%, #f7ebcf 52%, #c9a66b 72%, #a9834b 100%);
    background-clip: text;
    -webkit-background-clip: text;
}

#trangchu_dichvu .lx-copy,
#trangchu_quytrinh .lx-copy,
#trangchu_thuvien .lx-copy {
    color: rgba(59, 43, 31, .68);
}

#trangchu_dichvu .lx-activities,
#trangchu_dichvu .lx-activity + .lx-activity,
#trangchu_quytrinh .lx-process-grid,
#trangchu_quytrinh .lx-process-step {
    border-color: rgba(59, 43, 31, .16);
}

#trangchu_dichvu .lx-activity__number,
#trangchu_quytrinh .lx-process-step__number {
    color: var(--lx-brass-dark, #8e6d3a);
}

#trangchu_dichvu .lx-activity__copy,
#trangchu_quytrinh .lx-process-step__copy {
    color: rgba(59, 43, 31, .62);
}

#trangchu_quytrinh .lx-process-step__title {
    color: var(--lx-ink);
}

#trangchu_thuvien .lx-link {
    color: var(--lx-ink);
}

.lx-eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
    color: var(--lx-brass);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .24em;
    text-transform: uppercase;
}

.lx-eyebrow::before {
    width: 42px;
    height: 1px;
    content: "";
    background: currentColor;
}

.lx-eyebrow--center {
    justify-content: center;
}

.lx-heading {
    margin: 0;
    font-family: var(--font-sub), "Cormorant Garamond", serif;
    font-size: clamp(44px, 6vw, 78px);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -.015em;
    text-wrap: balance;
}

.lx-heading em,
.lx-heading span {
    color: var(--lx-brass);
}

.lx-heading em {
    font-weight: 300;
}

.lx-heading span {
    font-weight: 400;
}

.lx-heading--light em,
.lx-heading--light span {
    color: #a9a49b;
}

.lx-copy {
    color: #5c5851;
    font-size: 14px;
    line-height: 1.9;
}

    .lx-copy p:last-child {
        margin-bottom: 0;
        line-height: 1.9;
        font-weight:300;
    }

.lx-section--dark .lx-copy {
    color: #c7c1b7;
}

.lx-link {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    padding-bottom: 7px;
    border-bottom: 1px solid currentColor;
    color: var(--lx-ink);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    transition: color .25s ease, gap .25s ease;
}

.lx-link::after {
    content: "\2192";
    font-size: 16px;
}

.lx-link:hover {
    gap: 24px;
    color: var(--lx-brass);
}

.lx-section--dark .lx-link {
    color: #fff;
}

/* Home header */
.lx-home-header,
.lx-home-mobile-menu {
    --lx-ink: #3b2b1f;
    --lx-bone: #faf6ef;
    --lx-brass: #c6a46c;
    --lx-brass-light: #e3cb9b;
    --lx-crimson: #9a6b3c;
}

.lx-home-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1100;
    color: var(--lx-bone);
    border-bottom: 1px solid transparent;
    transition: background-color .35s ease, border-color .35s ease, backdrop-filter .35s ease;
}

.lx-home-header.is-scrolled,
.lx-menu-open .lx-home-header {
    background: var(--lx-ink);
    border-bottom-color: rgba(184, 152, 90, .18);
    backdrop-filter: blur(14px);
}

.lx-home-header__inner {
  
    height: 96px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: clamp(24px, 2vw, 34px);
    transition: height .35s ease;
}

.home #trangchu_banner > .container,
.home #trangchu_chisohero > .container {

}

.lx-home-header.is-scrolled .lx-home-header__inner {
    height: 72px;
}

.lx-home-header__logo {
    position: relative;
    width: 134px;
    min-height: 48px;
    flex: 0 0 134px;
    display: flex;
    align-items: center;
    color: var(--lx-bone);
    text-decoration: none;
}

.lx-home-header__wordmark {
    display: flex;
    flex-direction: column;
    max-width: 134px;
    font-family: var(--font-sub), "Cormorant Garamond", Georgia, serif;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.lx-home-header__wordmark small {
    display: block;
    margin-top: 6px;
    font-family: var(--font-main), sans-serif;
    font-size: 8px;
    font-weight: 500;
    letter-spacing: .45em;
}

.lx-home-header__nav {
    min-width: 0;
    flex: 1 1 auto;
}

.lx-home-header__nav > ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(18px, 1.65vw, 28px);
    margin: 0;
    padding: 0;
    list-style: none;
}

.lx-home-header__nav li {
    position: relative;
}

.lx-home-header__nav > ul > li > a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 13px 0;
    color: rgba(245, 241, 234, .78);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .13em;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    transition: color .25s ease;
}

.lx-home-header__nav > ul > li > a::after {
    position: absolute;
    right: 0;
    bottom: 6px;
    left: 0;
    height: 1px;
    content: "";
    background: var(--lx-brass);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .3s ease;
}

.lx-home-header__nav > ul > li:hover > a::after,
.lx-home-header__nav > ul > li:focus-within > a::after {
    transform: scaleX(1);
    transform-origin: left;
}

.lx-home-header__nav > ul > li > a:hover,
.lx-home-header__nav > ul > li:hover > a {
    color: #fff;
}

.lx-home-header__nav .fa-angle-down {
    color: var(--lx-brass);
    font-size: 11px;
}

.lx-home-header__submenu {
    position: absolute;
    top: 100%;
    left: -22px;
    min-width: 220px;
    margin: 0;
    padding: 10px 0;
    list-style: none;
    background: rgba(23, 20, 15, .98);
    border: 1px solid rgba(184, 152, 90, .22);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
}

.lx-home-header__nav li:hover > .lx-home-header__submenu,
.lx-home-header__nav li:focus-within > .lx-home-header__submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.lx-home-header__submenu a {
    display: block;
    padding: 10px 22px;
    color: rgba(245, 241, 234, .72);
    font-size: 12px;
    text-decoration: none;
    transition: color .25s ease, background-color .25s ease;
}

.lx-home-header__submenu a:hover {
    color: var(--lx-brass-light);
    background: rgba(255, 255, 255, .04);
}

.lx-home-header__tools {
    display: flex;
    align-items: center;
    gap: clamp(14px, 1.3vw, 22px);
    flex: 0 0 auto;
}

.lx-home-header__languages {
    display: flex;
    align-items: center;
    gap: 7px;
    color: rgba(245, 241, 234, .32);
}

.lx-home-header__languages button {
    padding: 0;
    color: rgba(245, 241, 234, .58);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .1em;
    background: transparent;
    border: 0;
    cursor: pointer;
}

.lx-home-header__languages button.is-active,
.lx-home-header__languages button:hover {
    color: var(--lx-brass-light);
}

.lx-home-header__languages button:focus-visible {
    outline: 1px solid var(--lx-brass-light);
    outline-offset: 4px;
}

.lx-home-header__separator {
    width: 1px;
    height: 20px;
    background: rgba(245, 241, 234, .22);
}

.lx-home-header__phone {
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(245, 241, 234, .72);
    font-size: 12px;
    letter-spacing: .08em;
    text-decoration: none;
    white-space: nowrap;
}

.lx-home-header__phone .fa {
    color: var(--lx-brass);
}

.lx-home-header__cta {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 0 24px;
    color: #fff;
    font-size: 11px;
    font-weight: 650;
    letter-spacing: .2em;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    background: var(--lx-crimson);
    transition: background-color .25s ease;
}

.lx-home-header__cta:hover {
    color: #fff;
    background: #7a5230;
}

.lx-home-header__burger {
    display: none;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    color: var(--lx-bone);
    background: transparent;
    cursor: pointer;
}

.lx-home-header__burger .fa {
    font-size: 20px;
}

.lx-home-mobile-menu {
    position: fixed;
    inset: 0;
    z-index: 1090;
    padding: 112px 0 44px;
    overflow-y: auto;
    color: var(--lx-bone);
    background: #15120f;
}

.lx-home-mobile-menu[hidden] {
    display: none;
}

.lx-home-mobile-menu nav {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.lx-home-mobile-menu nav > a,
.lx-home-mobile-menu nav > div > a {
    display: block;
    padding: 7px 0;
    color: var(--lx-bone);
    font-family: var(--font-sub), Georgia, serif;
    font-size: clamp(32px, 9vw, 42px);
    line-height: 1.05;
    text-decoration: none;
}

.lx-home-mobile-menu nav p {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    margin: 2px 0 8px;
}

.lx-home-mobile-menu nav p a {
    color: rgba(245, 241, 234, .5);
    font-size: 13px;
    text-decoration: none;
}

.lx-home-mobile-menu__contact {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 42px;
    padding-top: 28px;
    border-top: 1px solid rgba(245, 241, 234, .12);
}

.lx-home-mobile-menu__contact a {
    color: rgba(245, 241, 234, .62);
    font-size: 13px;
    text-decoration: none;
}

.lx-home-mobile-menu__contact a:first-child {
    color: var(--lx-brass-light);
    font-size: 18px;
    letter-spacing: .08em;
}

.lx-menu-open {
    overflow: hidden;
}

@media (min-width: 1200px) {
    .home #header,
    .home #navbar,
    .home .warp-menu_nav,
    .home > .bg-menu {
        display: none !important;
    }
}

@media (max-width: 1199px) {
    .lx-home-header,
    .lx-home-mobile-menu {
        display: none !important;
    }

    .lx-home-header__inner {
        height: 78px;
    }

 
    .lx-home-header.is-scrolled .lx-home-header__inner {
        height: 70px;
    }

    .lx-home-header__nav,
    .lx-home-header__phone,
    .lx-home-header__separator,
    .lx-home-header__cta {
        display: none;
    }

    .lx-home-header__tools {
        margin-left: auto;
    }

    .lx-home-header__burger {
        display: inline-flex;
    }
}

@media (max-width: 575px) {


    .lx-home-header__logo {
        width: 116px;
        flex-basis: 116px;
    }

    .lx-home-header__wordmark {
        font-size: 22px;
    }
}

/* Hero */
.lx-hero {
    position: relative;
    min-height: max(760px, 100svh);
    display: grid;
    isolation: isolate;
    overflow: hidden;
    background: #111;
    color: #fff;
}

.lx-hero__media,
.lx-hero__media img,
.lx-hero__veil {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.lx-hero__media {
    z-index: -3;
    overflow: hidden;
}

.lx-hero__skitter,
.lx-hero__skitter .container_skitter,
.lx-hero__skitter .image,
.lx-hero__skitter .image > a,
.lx-hero__skitter .image_main {
    width: 100% !important;
    height: 100% !important;
}

.lx-hero__skitter .container_skitter,
.lx-hero__skitter .image {
    position: relative;
    overflow: hidden;
}

.lx-hero__skitter {
    max-width: none;
    min-height: 0;
    pointer-events: none;
}

.lx-hero__skitter:not(.lx-hero__skitter--ready) ul {
    display: block;
    height: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lx-hero__skitter:not(.lx-hero__skitter--ready) li {
    display: none;
    height: 100%;
}

.lx-hero__skitter:not(.lx-hero__skitter--ready) li:first-child {
    display: block;
}

.lx-hero__media img {
    object-fit: cover;
    object-position: center center;
    animation: lx-hero-zoom 14s ease-out both;
}

.lx-hero__skitter .image_main {
    max-width: none;
}

.lx-hero__veil {
    z-index: -2;
    pointer-events: none;
    background: linear-gradient(90deg,
        rgba(0, 0, 0, .50) 0%,
        rgba(0, 0, 0, .42) 22%,
        rgba(0, 0, 0, .28) 40%,
        rgba(0, 0, 0, .12) 54%,
        rgba(0, 0, 0, .04) 62%,
        transparent 70%);
}

.lx-hero__inner {
    width: 100%;
    min-height: inherit;
    margin: 0 auto;
    display: flex;
    align-items: center;
    padding: 142px 0 168px;
}

.lx-hero__content {
    width: min(100%, 790px);
}

.lx-hero__kicker,
.lx-hero__title,
.lx-hero__desc {
}

.lx-hero__kicker {
    display: flex;
    align-items: center;
    gap: 17px;

    color: var(--lx-brass-light);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .3em;
    text-transform: uppercase;
}

.lx-hero__kicker::before {
    width: 48px;
    height: 1px;
    content: "";
    background: currentColor;
    opacity: .7;
}

.lx-hero__title {
    display: block;
    max-width: 790px;
    margin: 22px 0 0;
    font-family: var(--font-sub), "Cormorant Garamond", Georgia, serif;
    font-size: clamp(66px, 5.6vw, 108px);
    font-weight: 400;
    line-height: .86;
    letter-spacing: -.025em;
}

.lx-hero__title em {
    display: block;
    margin-top: .08em;
    color: transparent;
    font-weight: 300;
    line-height:1.2;
    background: linear-gradient(96deg, #d8ad68 0%, #f3dfb2 44%, #d0a15d 100%);
    background-clip: text;
    -webkit-background-clip: text;
}

.lx-hero__desc {
    max-width: 570px;
    margin-top: 28px;
    color: #fff;
    font-size: 16px;
    line-height: 1.72;
}

.lx-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 34px;
}

.lx-hero__button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 15px 30px;
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: .18em;
    text-transform: uppercase;
    text-decoration: none;
    border: 1px solid transparent;
    overflow: hidden;
    cursor: pointer;
    transition: color .45s cubic-bezier(.22, 1, .36, 1), border-color .45s, background-color .45s;
}
    .lx-hero__button:before {
        content: '';
        position: absolute;
        inset: 0;
        transform: translateY(101%);
        transition: transform .5s cubic-bezier(.22, 1, .36, 1);
    }
.lx-hero__button:hover::before {
    transform: translateY(0);
}
.lx-hero__button--primary::before {
    background: #7A5230;
}
.lx-hero__button span {
    position: relative;
    font-weight: 600;
    z-index: 1;
}
    .lx-hero__button .fa {
        transition: transform .3s ease;
    }

.lx-hero__button:hover .fa {
    transform: translateX(5px);
}

.lx-hero__button--primary {
    background: var(--lx-crimson);
    border: 1px solid var(--lx-crimson);
}



.lx-hero__button--ghost {
    color: var(--lx-bone);
    padding-right: 4px;
    padding-left: 4px;
    border-color: transparent;
    overflow: visible;
}

    .lx-hero__button--ghost::before {
        display: none;
    }

.lx-hero__button--ghost span {
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(245, 241, 234, .78);
    transition: color .3s ease, border-color .3s ease;
}


.lx-hero__button--ghost:hover {
    color: #d9b878;
    border-color: transparent;
}

.lx-hero__button--ghost:hover span {
    border-color: #d9b878;
}

.lx-hero__vertical {
    position: absolute;
    top: 50%;
    right: 72px;
    z-index: 1;
    color: rgba(245, 241, 234, .27);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .28em;
    text-transform: uppercase;
    transform: translateY(-50%);
    writing-mode: vertical-rl;
}

@keyframes lx-hero-zoom {
    from { transform: scale(1.07); }
    to { transform: scale(1); }
}

/* Hero statistics and material ticker */
.lx-hero-stats {
    position: relative;
    z-index: 2;
    min-height: 120px;
    margin-top: -120px;
    color: var(--lx-bone);
    background: linear-gradient(90deg, rgba(13, 11, 9, .82), rgba(21, 17, 13, .65));
    border-top: 1px solid rgba(255, 255, 255, .08);
    border-bottom: 1px solid rgba(255, 255, 255, .35);
    backdrop-filter: blur(2px);
}

.lx-hero-stats__inner {
    width: 100%;

    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.lx-hero-stats__list {
    display: flex;
    align-items: center;
    gap: clamp(54px, 6vw, 116px);
}

.lx-hero-stat {
    display: flex;
    align-items: baseline;
    gap: 11px;
    white-space: nowrap;
}

.lx-hero-stat__value {
    color: var(--lx-brass-light);
    font-family: var(--font-sub), "Cormorant Garamond", Georgia, serif;
    font-size: 28px;
    font-weight: 500;
    line-height: 1;
}

.lx-hero-stat__label {
    color: rgba(245, 241, 234, .42);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
}

@keyframes scrollCue {
    0% {
        transform: translateY(-100%);
        opacity: 0;
    }

    35% {
        opacity: 1;
    }

    100% {
        transform: translateY(100%);
        opacity: 0;
    }
}
.bg-brass {
    --tw-bg-opacity: 1;
    background-color: #c6a46c;
}
.bg-bone\/15 {
    background-color: rgb(250 246 239 / 0.15);
}
.lx-hero-stats__scroll i {
    width: 1px;
    height: 54px;
    display: block;
    background: rgba(245, 241, 234, .12);
}
.scroll-cue span {
    animation: scrollCue 2.4s cubic-bezier(.65, 0, .35, 1) infinite;
}


.lx-stone-marquee {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    overflow: hidden;
    padding: 20px 0;
    color: rgba(59, 43, 31, .6);
    background: var(--lx-champagne);
    border-top: 1px solid rgba(59, 43, 31, .1);
    border-bottom: 1px solid rgba(59, 43, 31, .1);
}

.lx-stone-marquee__track {
    width: max-content;
    display: flex;
    align-items: center;
    gap: 40px;
    animation: lx-stone-marquee 46s linear infinite;
    will-change: transform;
}

.lx-stone-marquee:hover .lx-stone-marquee__track {
    animation-play-state: paused;
}

.lx-stone-marquee__group,
.lx-stone-marquee__placeholder {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.lx-stone-marquee__group {
    display: flex;
    align-items: center;
    gap: 40px;
    padding-right: 40px;
}

.lx-stone-marquee__label {
    flex: 0 0 auto;
    color: inherit;
    font-size: 13px;
    font-weight: 300;
    line-height: 1.5;
    letter-spacing: .3em;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .2s ease;
    white-space: nowrap;
}

.lx-stone-marquee__label:hover,
.lx-stone-marquee__label:focus-visible {
    color: var(--lx-ink);
    outline: none;
}

.lx-stone-marquee__separator {
    flex: 0 0 auto;
    color: rgba(142, 109, 58, .6);
    font-size: 10px;
    line-height: 1;
}

.lx-stone-marquee__placeholder {
    width: min(calc(100% - 64px), 1490px);
    margin: 0 auto;
    justify-content: space-between;
    gap: 42px;
}

.lx-band-skeleton {
    display: block;
    overflow: hidden;
    background: rgba(255, 255, 255, .08);
}

.lx-band-skeleton--value { width: 70px; height: 28px; }
.lx-band-skeleton--label { width: 82px; height: 10px; }
.lx-band-skeleton--material { width: 128px; height: 11px; }

@keyframes lx-stone-marquee {
    to { transform: translateX(-50%); }
}

/* About */
.lx-about {
    position: relative;
    overflow: hidden;
    padding: clamp(80px, 11vw, 150px) 0 0;
    font-family: "Be Vietnam Pro", var(--font-main), sans-serif;
}

.lx-about .lx-container {
    width: min(calc(100% - 40px), 1176px);
}

.lx-about__head {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.lx-about__title {
    margin: 27px 0 0;
    color: var(--lx-ink);
    font-family: var(--font-sub), "Cormorant Garamond", Georgia, serif;
    font-size: clamp(36px, 5.4vw, 68px);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -.015em;
    text-wrap: balance;
}

.lx-about__title em {
    font-weight: 300;
}

.lx-about__lead {
    max-width: 900px;
    margin: 28px auto 0;
    color: rgba(59, 43, 31, .7);
    font-size: 17px;
    line-height: 1.625;
}

    .lx-about__lead p {
        margin: 0;
        color: rgba(59, 43, 31, .73);
        line-height: 1.9;
        font-weight:300;
    }

.lx-about__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    align-items: start;
    gap: clamp(48px, 6vw, 96px);
    margin-top: clamp(56px, 7vw, 104px);
}

.lx-about__story {
    padding-top: 4px;
}

.lx-about__copy {
    color: rgba(59, 43, 31, .74);
    font-size: 15.5px;
    line-height: 1.85;
}

    .lx-about__copy p {
        margin: 0;
        color: rgba(59, 43, 31, .73);
        font-size: 14px;
        line-height: 1.9;
        font-weight:300;
    }

.lx-about__copy p + p {
    margin-top: 26px;
}

.lx-about__culture {
    margin-top: 42px;
    padding-top: 36px;
    border-top: 1px solid rgba(59, 43, 31, .12);
}

.lx-about__culture-title {
    color: rgba(59, 43, 31, .42);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: .24em;
    text-transform: uppercase;
}

.lx-about__values {
    display: flex;
    flex-wrap: wrap;
    gap: 13px 12px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.lx-about__values li {
    position: relative;
    padding: 13px 20px;
    color: rgba(59, 43, 31, .72);
    border: 1px solid rgba(59, 43, 31, .16);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .15em;
    line-height: 1.4;
    text-transform: uppercase;
    overflow: hidden;
    isolation: isolate;
    transition: color .3s ease, border-color .3s ease, background-color .3s ease, transform .3s ease, box-shadow .3s ease;
}

.lx-about__values li::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    background: var(--lx-ink);
    transform: translateY(101%);
    transition: transform .3s ease;
}

.lx-about__values li:hover,
.lx-about__values li:focus-visible {
    color: var(--lx-bone);
    border-color: var(--lx-ink);
    background-color: var(--lx-ink);
    box-shadow: 0 12px 24px rgba(59, 43, 31, .12);
    transform: translateY(-4px);
}

.lx-about__values li:hover::before,
.lx-about__values li:focus-visible::before {
    transform: translateY(0);
}

.lx-about__media {
    position: relative;
    min-height: 0;
    aspect-ratio: 4 / 4.6;
    margin: 0;
    overflow: hidden;
}

.lx-about__image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 1.2s cubic-bezier(.2, .65, .25, 1);
}

.lx-about__media:hover .lx-about__image {
    transform: scale(1.045);
}

.lx-about__logo {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 238px;
    height: 206px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--lx-bone);
}

.lx-about__logo img {
    width: 118px;
    height: auto;
    display: block;
}

@media (prefers-reduced-motion: reduce) {
    .lx-about__values li,
    .lx-about__values li::before,
    .lx-about__image {
        transition: none;
    }
}

/* Metrics */
.lx-achievement {
    padding: clamp(56px, 7vw, 104px) 0 clamp(80px, 11vw, 150px);
    font-family: "Be Vietnam Pro", var(--font-main), sans-serif;
}

.lx-achievement .lx-container {
    width: min(calc(100% - 40px), 1176px);
}

.lx-metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    border: 1px solid #e5e7eb;
    background: transparent;
}

.lx-metric {
    position: relative;
    min-width: 0;
    padding: 44px 32px;
    text-align: left;
    background: var(--lx-bone);
}

.lx-metric__value {
    display: block;
    color: var(--lx-ink);
    font-family: var(--font-sub), "Cormorant Garamond", serif;
    font-size: clamp(40px, 5vw, 60px);
    font-weight: 400;
    line-height: 1;
}

.lx-metric__label {
    display: block;
    margin-top: 12px;
    color: rgba(59, 43, 31, .5);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .2em;
    line-height: 1.5;
    text-transform: uppercase;
}

/* Activities */
.lx-activities__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .65fr);
    gap: 60px;
    align-items: end;
    margin-bottom: 72px;
}

.lx-activities {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid rgba(255, 255, 255, .18);
    border-bottom: 1px solid rgba(255, 255, 255, .18);
}

.lx-activity {
    position: relative;
    min-height: 420px;
    padding: 46px 36px;
    overflow: hidden;
    color: inherit;
    text-decoration: none;
}

.lx-activity + .lx-activity {
    border-left: 1px solid rgba(255, 255, 255, .18);
}

.lx-activity__image {
    position: absolute;
    inset: 0;
    z-index: 0;
    opacity: 0;
    transition: opacity .45s ease, transform .7s ease;
}

.lx-activity__image::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(0deg, rgba(10, 8, 5, .9), rgba(10, 8, 5, .35));
}

.lx-activity__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lx-activity:hover .lx-activity__image {
    opacity: .58;
    transform: scale(1.035);
}

.lx-activity__content {
    position: relative;
    z-index: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.lx-activity__number {
    color: var(--lx-brass);
    font-family: var(--font-sub), serif;
    font-size: 21px;
}

.lx-activity__title {
    margin: auto 0 18px;
    font-family: var(--font-sub), serif;
    font-size: clamp(30px, 3vw, 43px);
    font-weight: 500;
    line-height: 1;
}

.lx-activity__copy {
    color: #aaa49a;
    font-size: 13px;
    line-height: 1.75;
}

/* Product lines */
.lx-lines__head {
    max-width: 880px;
    margin-bottom: 88px;
}

.lx-product-line {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    align-items: center;
    gap: clamp(42px, 8vw, 118px);
    margin-top: 90px;
}

.lx-product-line:first-child {
    margin-top: 0;
}

.lx-product-line:nth-child(even) .lx-product-line__media {
    order: 2;
}

.lx-product-line__media {
    min-height: 520px;
    overflow: hidden;
}

.lx-product-line__media img {
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
    transition: transform .7s ease;
}

.lx-product-line:hover .lx-product-line__media img {
    transform: scale(1.025);
}

.lx-product-line__index {
    margin-bottom: 24px;
    color: var(--lx-crimson);
    font-family: var(--font-sub), serif;
    font-size: 20px;
}

.lx-product-line__title {
    margin: 0;
    font-family: var(--font-sub), serif;
    font-size: clamp(43px, 5vw, 70px);
    font-weight: 500;
    line-height: .95;
}

.lx-product-line__subtitle {
    margin-top: 15px;
    color: var(--lx-brass);
    font-family: var(--font-sub), serif;
    font-size: 26px;
    font-style: italic;
}

.lx-product-line .lx-copy {
    margin-top: 24px;
}

.lx-product-line .lx-link {
    margin-top: 26px;
}

/* Gallery */
.lx-gallery__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 58px;
}

#trangchu_thuvien .lx-gallery__head .lx-heading,
#trangchu_giaiphap .lx-activities__head .lx-heading {
    margin-top: 28px;
    font-size: clamp(34px, 5vw, 64px);
}

.lx-gallery-grid {
    display: grid;
    grid-template-columns: 1.25fr .75fr 1fr;
    grid-template-rows: 300px 300px;
    gap: 10px;
}

.lx-gallery-card {
    position: relative;
    min-height: 0;
    overflow: hidden;
    color: #fff;
    text-decoration: none;
}

.lx-gallery-card:first-child {
    grid-row: span 2;
}

.lx-gallery-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .65s ease;
}

.lx-gallery-card::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(0deg, rgba(8, 7, 5, .86), transparent 66%);
}

.lx-gallery-card:hover img {
    transform: scale(1.045);
}

.lx-gallery-card__caption {
    position: absolute;
    z-index: 1;
    right: 24px;
    bottom: 22px;
    left: 24px;
}

.lx-gallery-card__caption strong {
    display: block;
    font-family: var(--font-sub), serif;
    font-size: 27px;
    font-weight: 500;
    line-height: 1.05;
}

.lx-gallery-card__caption span {
    display: block;
    margin-bottom: 7px;
    color: var(--lx-brass-light);
    font-size: 9px;
    letter-spacing: .17em;
    text-transform: uppercase;
}

/* Factory */
.lx-factory {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: var(--lx-ink);
}

.lx-factory__stage {
    position: relative;
    min-height: 520px;
    display: flex;
    align-items: flex-end;
}

.lx-factory__media,
.lx-factory__media img,
.lx-factory__veil {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.lx-factory__media img {
    object-fit: cover;
    object-position: center 68%;
}

.lx-factory__veil {
    z-index: 1;
    background: linear-gradient(to top, rgba(52, 37, 25, .96) 8%, rgba(52, 37, 25, .62) 46%, rgba(52, 37, 25, .34) 72%, rgba(52, 37, 25, .58) 100%);
}

.lx-factory__container {
    position: relative;
    z-index: 2;
    padding-top: clamp(120px, 16vw, 200px);
    padding-bottom: clamp(36px, 5vw, 64px);
}

.lx-factory__content {
    max-width: 620px;
}

.lx-factory__content .lx-heading {
    margin-top: 20px;
    font-size: clamp(28px, 3.8vw, 48px);
    line-height: 1.05;
}

.lx-factory__content .lx-heading em {
    color: transparent;
    background: linear-gradient(96deg, #a9834b 0%, #e6cf9f 38%, #f7ebcf 52%, #c9a66b 72%, #a9834b 100%);
    background-clip: text;
    -webkit-background-clip: text;
}

.lx-factory__content .lx-copy {
    max-width: 460px;
    margin-top: 16px;
    color: rgba(245, 241, 234, .6);
    font-size: 15px;
    line-height: 1.75;
}

/* Process */
.lx-process__head {
    display: grid;
    grid-template-columns: 1fr .7fr;
    align-items: end;
    gap: 70px;
    margin-bottom: 65px;
}

.lx-process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid rgba(255, 255, 255, .18);
    border-left: 1px solid rgba(255, 255, 255, .18);
}

.lx-process-step {
    min-height: 290px;
    padding: 32px 28px;
    border-right: 1px solid rgba(255, 255, 255, .18);
    border-bottom: 1px solid rgba(255, 255, 255, .18);
}

.lx-process-step__number {
    display: block;
    margin-bottom: 70px;
    color: var(--lx-brass);
    font-family: var(--font-sub), serif;
    font-size: 23px;
}

.lx-process-step__title {
    margin: 0 0 14px;
    color: #fff;
    font-family: var(--font-sub), serif;
    font-size: 29px;
    font-weight: 500;
    line-height: 1;
}

.lx-process-step__copy {
    color: #99948b;
    font-size: 12px;
    line-height: 1.7;
}

/* Contact */
.lx-contact {
    position: relative;
    overflow: clip;
    padding: clamp(80px, 11vw, 150px) 0;
    color: #fff;
    background: #3b2b1f;
    isolation: isolate;
}

.lx-contact__backdrop {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(3px) saturate(.6) sepia(.25);
    transform: scale(1.08);
}

.lx-contact::before {
    position: absolute;
    inset: 0;
    z-index: 0;
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
    mix-blend-mode: overlay;
    opacity: .05;
    pointer-events: none;
}

.lx-contact::after {
    position: absolute;
    inset: 0;
    z-index: -1;
    content: "";
    background:
        radial-gradient(120% 90% at 20% 15%, rgba(214, 180, 120, .26), transparent 62%),
        rgba(66, 47, 33, .8);
}

.lx-contact .lx-container {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1320px;
    padding-inline: clamp(20px, 5vw, 72px);
}

.lx-contact__grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: clamp(48px, 6vw, 104px);
}

@media (min-width: 992px) {
    .lx-contact__intro {
        position: sticky;
        top: 96px;
        align-self: start;
    }
}

.lx-contact__intro .lx-heading {
    margin-top: 28px;
    color: var(--lx-bone);
    font-size: clamp(34px, 4.6vw, 60px);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -.015em;
}

.lx-contact__intro .lx-heading em {
    display: block;
    color: transparent;
    background: linear-gradient(96deg, #a9834b 0%, #e6cf9f 38%, #f7ebcf 52%, #c9a66b 72%, #a9834b 100%);
    background-clip: text;
    -webkit-background-clip: text;
    font-weight: 300;
}

.lx-contact .lx-copy {
    max-width: 400px;
    margin-top: 28px;
    color: rgba(250, 246, 239, .6);
    font-size: 15.5px;
    line-height: 1.75;
}

.lx-contact__info {
    display: grid;
    gap: 28px;
    margin-top: 48px;
}

.lx-contact__info-item {
    display: block;
    color: rgba(250, 246, 239, .8);
    text-decoration: none;
}

.lx-contact__info-item span:first-child {
    display: block;
    margin-bottom: 5px;
    color: rgba(250, 246, 239, .4);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.lx-contact__info-item strong {
    display: block;
    max-width: 340px;
    color: inherit;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;
}

.lx-contact__info-item:first-child strong {
    color: var(--lx-brass-light);
    font-family: var(--font-sub), Georgia, serif;
    font-size: 30px;
    letter-spacing: .05em;
    line-height: 1.2;
}

.lx-contact__form {
    position: relative;
    padding: 48px;
    border: 1px solid rgba(198, 164, 108, .6);
    background: linear-gradient(160deg, rgba(64, 46, 33, .97), rgba(43, 30, 21, .97));
    box-shadow:
        0 0 0 6px rgba(198, 164, 108, .08),
        0 50px 90px -40px rgba(14, 8, 4, .85),
        inset 0 1px 0 rgba(227, 203, 155, .16);
    backdrop-filter: blur(4px);
}

.lx-contact__form::before {
    position: absolute;
    top: -1px;
    right: -1px;
    left: -1px;
    height: 3px;
    content: "";
    background: linear-gradient(90deg, var(--lx-brass-dark), var(--lx-brass-light) 50%, var(--lx-brass-dark));
}

.lx-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px 28px;
}

.lx-form-section {
    min-width: 0;
    margin: 0 0 48px;
    padding: 0;
    border: 0;
}

.lx-form-section legend {
    width: 100%;
    margin-bottom: 19px;
    color: var(--lx-brass-light);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.lx-form-section--last { margin-bottom: 0; }
.lx-form-section--last .lx-field + .lx-field { margin-top: 24px; }

.lx-form-grid--name { grid-template-columns: minmax(140px, .65fr) minmax(0, 1fr) minmax(0, 1fr); }
.lx-form-grid--name select { padding-right: 22px; }
.lx-field--company { margin-top: 25px; }

.lx-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.lx-choice-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lx-choice-grid--materials { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.lx-choice { position: relative; margin: 0; cursor: pointer; }
.lx-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; }

.lx-choice span {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 52px;
    padding: 11px 13px;
    border: 1px solid rgba(250, 246, 239, .27);
    color: rgba(250, 246, 239, .8);
    font-size: 12px;
    line-height: 1.4;
    transition: border-color .2s ease, background .2s ease, color .2s ease;
}

.lx-choice small { margin-top: 4px; color: rgba(250, 246, 239, .55); font-size: 10px; }
.lx-choice:hover span { border-color: var(--lx-brass-light); }
.lx-choice input:checked + span { border-color: var(--lx-brass-light); color: var(--lx-bone); background: rgba(198, 164, 108, .18); }
.lx-choice input:focus-visible + span { outline: 2px solid var(--lx-brass-light); outline-offset: 2px; }

.lx-phone { display: flex; align-items: flex-end; gap: 12px; }
.lx-phone #ProjectPhoneCode { flex: 0 0 66px; width: 66px; text-align: center; }
.lx-phone #ProjectPhone { flex: 1 1 auto; min-width: 0; }

.lx-form-hint {
    margin: 0 0 13px;
    color: rgba(250, 246, 239, .55);
    font-size: 12px;
    line-height: 1.5;
}

.lx-field--other { margin-top: 18px; }
.lx-file-upload {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 48px;
    border-bottom: 1px solid rgba(250, 246, 239, .3);
    cursor: pointer;
    transition: border-color .45s ease;
}

.lx-file-upload input[type="file"] {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    opacity: 0;
    cursor: pointer;
}

.lx-file-upload__button {
    flex: 0 0 auto;
    padding: 8px 12px;
    border: 1px solid rgba(198, 164, 108, .6);
    color: var(--lx-bone);
    background: transparent;
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.lx-file-upload__name {
    min-width: 0;
    overflow: hidden;
    color: rgba(250, 246, 239, .58);
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lx-file-upload:focus-within { border-color: var(--lx-brass-light); }
.lx-file-upload + .lx-form-hint { margin-top: 8px; }

.lx-form-message { margin: 17px 0 0; color: #f3c5af; font-size: 13px; line-height: 1.5; }

.lx-field--full {
    grid-column: 1 / -1;
}

.lx-field {
    position: relative;
    min-width: 0;
}

.lx-field label {
    display: block;
    margin-bottom: 9px;
    color: rgba(227, 203, 155, .85);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: .2em;
    text-transform: uppercase;
    transition: color .45s ease;
}

.lx-field input,
.lx-field textarea,
.lx-field select {
    display: block;
    width: 100%;
    padding: 14px 0 12px;
    border: 0;
    border-bottom: 1px solid rgba(250, 246, 239, .3);
    border-radius: 0;
    outline: 0;
    color: var(--lx-bone);
    background: transparent;
    font-family: inherit;
    font-size: 15px;
    font-weight: 300;
    transition: border-color .45s ease;
}

.lx-field input::placeholder,
.lx-field textarea::placeholder {
    color: rgba(250, 246, 239, .42);
    opacity: 1;
}

.lx-field select {
    appearance: none;
    color: var(--lx-bone);
    background-image: linear-gradient(45deg, transparent 50%, rgba(245,241,234,.5) 50%), linear-gradient(135deg, rgba(245,241,234,.5) 50%, transparent 50%);
    background-position: calc(100% - 8px) calc(50% - 2px), calc(100% - 3px) calc(50% - 2px);
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
}

.lx-field select option {
    color: #3b2b1f;
    background: var(--lx-bone);
}

.lx-field textarea {
    min-height: 74px;
    resize: none;
}

.lx-field input:focus,
.lx-field textarea:focus,
.lx-field select:focus {
    border-color: var(--lx-brass-light);
}

.lx-field:focus-within label {
    color: var(--lx-bone);
}

.lx-contact__form-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 40px;
}

.lx-contact__form-foot p {
    max-width: 250px;
    margin: 0;
    color: rgba(245, 241, 234, .38);
    font-size: 12px;
    line-height: 1.7;
}

.lx-submit {
    min-width: 155px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    min-height: 52px;
    margin-top: 0;
    padding: 0 25px;
    border: 1px solid var(--lx-crimson);
    color: #fff;
    background: var(--lx-crimson);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    cursor: pointer;
    transition: color .25s ease, background .25s ease;
}

.lx-submit:hover {
    color: #fff;
    border-color: #7a5230;
    background: #7a5230;
}

.lx-submit:disabled {
    cursor: wait;
    opacity: .65;
}

/* Product discovery keeps its current AJAX behavior */
.lx-products .list-category_products {
    margin: 40px auto 45px;
}

@media (max-width: 991px) {
    .lx-section { padding: 82px 0; }
    .lx-about__grid,
    .lx-contact__grid { grid-template-columns: 1fr; }
    .lx-about__media { width: min(100%, 680px); min-height: 0; }
    .lx-activities__head,
    .lx-process__head { grid-template-columns: 1fr; gap: 28px; }
    .lx-activities { grid-template-columns: 1fr; }
    .lx-activity { min-height: 340px; }
    .lx-activity + .lx-activity { border-top: 1px solid rgba(255,255,255,.18); border-left: 0; }
    .lx-product-line { gap: 46px; }
    .lx-product-line__media,
    .lx-product-line__media img { min-height: 430px; }
    .lx-gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 300px 260px 260px; }
    .lx-gallery-card:first-child { grid-row: span 2; }
    .lx-process-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
    .lx-container,
    .lx-hero__inner {  }
    .home #trangchu_banner > .container,
    .home #trangchu_chisohero > .container {
        padding-right: 24px;
        padding-left: 24px;
    }
    .lx-section { padding: 68px 0; }
    .lx-heading {
        font-size: clamp(34px, 5vw, 64px);
    }
    .lx-hero {
        height: auto;
        min-height: 0;
    }
    .lx-hero__media img { object-position: 62% center; }
    .lx-hero__inner {
        height: auto;
        min-height: 0;
        padding: 102px 0 142px;
    }
    .lx-hero__content { min-width: 0; }
    .lx-hero__veil {
        background: linear-gradient(90deg,
            rgba(0, 0, 0, .52) 0%,
            rgba(0, 0, 0, .40) 54%,
            rgba(0, 0, 0, .18) 78%,
            transparent 100%);
    }
    .lx-hero__title,
    .lx-hero__desc { overflow-wrap: anywhere; }
    .lx-hero__kicker {
        gap: 10px;
        font-size: 9px;
        letter-spacing: .24em;
    }
    .lx-hero__kicker::before { width: 30px; }
    .lx-hero__title {
        margin-top: 20px;
        font-size: clamp(40px, 10.8vw, 50px);
        line-height: .94;
    }
    .lx-hero__title em { margin-top: .12em; }
    .lx-hero__desc {
        max-width: 92%;
        margin-top: 26px;
        font-size: 12px;
        line-height: 1.65;
    }
    #trangchu_banner .lx-hero__actions {
        display: flex;
        flex-wrap: nowrap;
        gap: clamp(14px, 4vw, 18px);
        margin-top: 30px;
        visibility: visible !important;
        opacity: 1 !important;
        animation: none !important;
        transform: none !important;
    }
    .lx-hero__button {
        width: auto;
        min-width: 0;
        min-height: 42px;
        gap: 7px;
        padding: 10px 18px;
        font-size: 8.5px;
        line-height: 1.35;
        letter-spacing: .1em;
        text-align: center;
        white-space: nowrap;
    }
    .lx-hero__button--ghost {
        padding-right: 2px;
        padding-left: 2px;
    }
    .lx-hero__vertical { display: none; }
    .lx-hero-stats { min-height: 72px; margin-top: -72px; }

    #trangchu_chisohero .lx-hero-stats__inner {
        padding-top: 15px !important;
        padding-bottom: 15px !important;
    }
    .lx-hero-stats__list { width: 100%; justify-content: space-between; gap: 0; }
    .lx-hero-stat {
        position: relative;
        width: 33.333%;
        display: grid;
        justify-items: start;
        gap: 4px;
    }
    .lx-hero-stat:not(:first-child) {
        padding-left: 20px;
    }
    .lx-hero-stat:not(:first-child)::before {
        position: absolute;
        top: 2px;
        bottom: 2px;
        left: 0;
        width: 1px;
        content: "";
        background: rgba(245, 241, 234, .24);
    }
    .lx-hero-stat__value { font-size: 21px; }
    .lx-hero-stat__label { font-size: 7.5px; letter-spacing: .1em; }
    .lx-hero-stats__scroll { display: none; }
    .lx-about { padding: 72px 0 0; }
    .lx-about__head { text-align: left; }
    .lx-eyebrow--center { justify-content: flex-start; }
    .lx-about__title { margin-top: 22px; font-size: clamp(36px, 5.4vw, 68px); }
    .lx-about__lead { margin-top: 27px; font-size: 15px; }
    .lx-about__grid { gap: 45px; margin-top: 54px; }
    .lx-about__copy { font-size: 14.5px; }
    .lx-about__culture { margin-top: 34px; padding-top: 29px; }
    .lx-about__values { gap: 10px; }
    .lx-about__values li { padding: 11px 14px; font-size: 9px; }
    .lx-about__media { min-height: 0; aspect-ratio: 4 / 5; }
    .lx-about__logo { width: 160px; height: 145px; }
    .lx-about__logo img { width: 82px; }
    .lx-achievement { padding: 56px 0 80px; }
    .lx-metrics { grid-template-columns: 1fr 1fr; }
    .lx-metric { padding: 32px 22px; }
    .lx-metric__value { font-size: clamp(40px, 12vw, 52px); }
    .lx-metric__label { font-size: 9px; letter-spacing: .14em; }
    .lx-activities__head { margin-bottom: 44px; }
    .lx-activity { min-height: 300px; padding: 30px 24px; }
    .lx-product-line,
    .lx-product-line:nth-child(even) { grid-template-columns: 1fr; gap: 30px; margin-top: 65px; }
    .lx-product-line:nth-child(even) .lx-product-line__media { order: 0; }
    .lx-product-line__media,
    .lx-product-line__media img { min-height: 390px; }
    .lx-lines__head { margin-bottom: 55px; }
    .lx-gallery__head { display: block; margin-bottom: 38px; }
    .lx-gallery__head .lx-link { margin-top: 25px; }
    .lx-gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 320px 190px 190px; }
    .lx-gallery-card:first-child { grid-column: span 2; grid-row: auto; }
    .lx-gallery-card:nth-child(4),
    .lx-gallery-card:nth-child(5) { grid-column: auto; }
    .lx-gallery-card__caption { right: 14px; bottom: 14px; left: 14px; }
    .lx-gallery-card__caption strong { font-size: 21px; }
    .lx-factory__stage { min-height: 380px; }
    .lx-factory__media img { object-position: 63% center; }
    .lx-process-grid { grid-template-columns: 1fr 1fr; }
    .lx-process-step { min-height: 250px; padding: 25px 19px; }
    .lx-process-step__number { margin-bottom: 48px; }
    .lx-process-step__title { font-size: 24px; }
    .lx-contact { padding: 72px 0; }
    .lx-contact__grid { gap: 48px; }
    .lx-contact__form { padding: 30px 22px; }
    .lx-form-grid { grid-template-columns: 1fr; gap: 22px; }
    .lx-form-grid--name { grid-template-columns: minmax(140px, .65fr) minmax(0, 1fr) minmax(0, 1fr); }
    .lx-field--full { grid-column: auto; }
    .lx-contact__form-foot { align-items: stretch; flex-direction: column; }
    .lx-contact__form-foot p { max-width: none; }
    .lx-submit { width: 100%; }
}

@media (max-width: 640px) {
    .lx-form-grid--name { grid-template-columns: 1fr 1fr; }
    .lx-form-grid--name .lx-field:first-child { grid-column: 1 / -1; }
    .lx-choice-grid--three, .lx-choice-grid--materials { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 420px) {
    .lx-gallery-grid { grid-template-columns: 1fr; grid-template-rows: repeat(5, 255px); }
    .lx-gallery-card:first-child,
    .lx-gallery-card:nth-child(5) { grid-column: auto; }
}

/* Home footer */
.lx-home-footer {
    --lx-ink: #3b2b1f;
    --lx-bone: #faf6ef;
    --lx-brass: #c6a46c;
    --lx-brass-light: #e3cb9b;
    padding: 0 0 calc(28px + env(safe-area-inset-bottom, 0px));
    color: var(--lx-ink);
    background: var(--lx-bone);
}

.lx-home-footer__map {
    position: relative;
    height: 400px;
    overflow: hidden;
    background: #e9dac0;
}

.lx-home-footer__map-media,
.lx-home-footer__map-media iframe {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
}

.lx-home-footer__map-media {
    pointer-events: auto;
}

.lx-home-footer__map-shell {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    padding-bottom: 28px;
    pointer-events: none;
}

.lx-home-footer__address-card {
    width: min(420px, 100%);
    padding: 20px 24px;
    border: 1px solid rgba(59, 43, 31, .12);
    background: rgba(250, 246, 239, .95);
    box-shadow: 0 18px 40px -24px rgba(59, 43, 31, .5);
    backdrop-filter: blur(4px);
    pointer-events: auto;
}

.lx-home-footer__address-card > span {
    color: #8e6d3a;
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.lx-home-footer__address-card p {
    margin: 8px 0 0;
    color: rgba(59, 43, 31, .8);
    font-size: 14px;
    line-height: 1.7;
}

.lx-home-footer__address-card a {
    display: inline-block;
    margin-top: 12px;
    border-bottom: 1px solid rgba(59, 43, 31, .25);
    color: var(--lx-ink);
    font-size: 14px;
    text-decoration: none;
}

.lx-home-footer__body {
    padding-top: clamp(56px, 7vw, 96px);
}

.lx-home-footer__grid {
    display: grid;
    grid-template-columns: 1.3fr .8fr .8fr 1.1fr;
    gap: 56px 40px;
}

.lx-home-footer__brand > img {
    width: 124px;
    height: auto;
    margin-left: -4px;
    mix-blend-mode: multiply;
}

.lx-home-footer__about {
    max-width: 310px;
    margin-top: 24px;
    color: rgba(59, 43, 31, .6);
    font-size: 14px;
    line-height: 1.8;
}

.lx-home-footer__about p {
    margin: 0;
}

.lx-home-footer__socials {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 32px;
}

.lx-home-footer__socials a {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid rgba(59, 43, 31, .15);
    color: rgba(59, 43, 31, .62);
    font-size: 11px;
    font-weight: 600;
    text-decoration: none;
    transition: color .3s ease, background-color .3s ease, border-color .3s ease;
}

.lx-home-footer__socials i {
    font-size: 15px;
    line-height: 1;
}

.lx-home-footer__social-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .04em;
}

.lx-home-footer__socials a:hover {
    border-color: var(--lx-ink);
    color: var(--lx-bone);
    background: var(--lx-ink);
}

.lx-home-footer__socials img {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.lx-home-footer h2 {
    margin: 0;
    color: rgba(59, 43, 31, .4);
    font-family: var(--font-main), sans-serif;
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.lx-home-footer__nav ul {
    display: grid;
    gap: 14px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.lx-home-footer__content {
    margin-top: 24px;
    color: rgba(59, 43, 31, .7);
    font-size: 14px;
    line-height: 1.75;
}

.lx-home-footer__content > :first-child {
    margin-top: 0;
}

.lx-home-footer__content > :last-child {
    margin-bottom: 0;
}

.lx-home-footer__content :is(h1, h2, h3, h4, h5, h6) {
    margin: 0 0 18px;
    color: rgba(59, 43, 31, .4);
    font-family: var(--font-main), sans-serif;
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.lx-home-footer__content :is(ul, ol) {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lx-home-footer__content p {
    margin: 0 0 10px;
}

.lx-home-footer__nav a,
.lx-home-footer__contact a {
    color: rgba(59, 43, 31, .7);
    font-size: 14px;
    text-decoration: none;
    transition: color .25s ease;
}

.lx-home-footer__nav a:hover,
.lx-home-footer__contact a:hover {
    color: var(--lx-ink);
}

.lx-home-footer__contact address {
    display: grid;
    gap: 9px;
    margin-top: 24px;
    color: rgba(59, 43, 31, .7);
    font-size: 14px;
    font-style: normal;
    line-height: 1.75;
}

.lx-home-footer__contact-content {
    max-width: 360px;
}

.lx-home-footer__contact address span {
    display: block;
}

.lx-home-footer__contact address a {
    border-bottom: 1px solid rgba(59, 43, 31, .25);
    color: var(--lx-ink);
}

.lx-home-footer__directions {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-top: 26px;
    border-bottom: 1px solid rgba(59, 43, 31, .22);
    padding-bottom: 5px;
    color: var(--lx-ink) !important;
    font-size: 11px !important;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.lx-home-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px 40px;
    margin-top: clamp(48px, 6vw, 80px);
    padding-top: 28px;
    border-top: 1px solid rgba(59, 43, 31, .12);
}

.lx-home-footer__bottom p,
.lx-home-footer__bottom div {
    margin: 0;
    color: rgba(59, 43, 31, .45);
    font-size: 12.5px;
}

.lx-home-footer__bottom a {
    border-bottom: 1px solid rgba(142, 109, 58, .35);
    color: #8e6d3a;
    text-decoration: none;
}

@media (max-width: 991px) {
    .lx-home-footer__grid {
        grid-template-columns: 1.3fr 1fr 1fr;
    }

    .lx-home-footer__contact {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    .lx-home-footer__map {
        height: 300px;
    }

    .lx-home-footer__map-shell {
        display: none;
    }

    .lx-home-footer__grid {
        grid-template-columns: 1fr 1fr;
    }

    .lx-home-footer__brand,
    .lx-home-footer__contact {
        grid-column: 1 / -1;
    }

    .lx-home-footer__bottom {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 479px) {
    .lx-home-footer__grid {
        grid-template-columns: 1fr;
    }

    .lx-home-footer__brand,
    .lx-home-footer__contact {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lx-hero__media img { animation: none; }
    .lx-stone-marquee { overflow-x: auto; }
    .lx-stone-marquee__track { animation: none; }
    .lx-stone-marquee__group[aria-hidden="true"] { display: none; }
    .lx-activity__image,
    .lx-gallery-card img,
    .lx-product-line__media img { transition: none; }
}
