/* Design baseline: 1440 wide, 1rem = 10px at baseline.
   Scale = viewport width / 1440; hero height follows the viewport. */
html {
    font-size: calc(100vw / 144);
}

.section_36 {
    width: 100%;
    min-height: 61rem;
    background: #f5f3f2;
    border-radius: .8rem .8rem 0 0;
}
.text-wrapper_62 { position: relative; width: 43.8rem; flex-shrink: 0; margin-top: 3.9rem; }
.text_72 { margin: 6.1rem 0 0 3rem; color: #1f1f1f; font: 700 3.2rem/1.4 Source Han Serif CN-Bold; }
.text_73 { margin: -.1rem 0 0 3rem; color: rgba(184,184,184,.5); font: 1.6rem/1.4 Source Han Serif CN-SemiBold; }
.text_74 { margin: 10.9rem 0 0 4rem; color: #1f1f1f; font: 700 2.4rem/1.4 Source Han Serif CN-Bold; }
.text_75 { width: 39.8rem; margin: 2.3rem 0 0 4rem; color: #525252; font: 500 1.6rem/2.4rem Source Han Serif CN-Medium; text-align: justify; }
.text_76 { position: absolute; top: 2.1rem; left: 0; width: 20.7rem; height: auto;  }
.group_69 { width: 8rem; height: 49rem; flex-shrink: 0; margin: 6rem 0 0 20.8rem; }
.text-wrapper_63 { width: 8rem; }
.paragraph_18, .paragraph_19 { color: #1f1f1f; font: 3.6rem/1.08 FZKai-Z03S-Regular, serif; }
.image-text_47 { width: 5.6rem; margin-left: 2.4rem; text-align: center; }
.image_29 { width: 5rem; height: 5rem; margin: 0 auto; object-fit: contain; }
.text-group_148 { color: #525252; white-space: nowrap; font: 1.4rem/2rem Source Han Serif CN-Medium; }
.group_70 {
    box-sizing: border-box; width: 65.4rem; height: 49rem; flex-shrink: 0; margin: 6rem 3rem 0;
    background: url("../images/top-seller-product.png") center/cover no-repeat;
    align-items: flex-end; padding: 0 7.7rem 2.4rem 8.5rem; justify-content: space-between;
}
.text-group_149, .text-group_150, .text-group_151 { height: 4.8rem; color: #fff; text-align: center; white-space: nowrap; font: 1.6rem/2.2rem Arial, "Microsoft YaHei", sans-serif; }
.text_77, .text_79, .text_81 { font-weight: 700; }
.box_59, .box_60 { width: .1rem; height: 3.2rem; margin-bottom: .8rem; background: rgba(255,255,255,.8); }

/* ===== 基础重置 ===== */
.page {
    background: #fff;
    position: relative;
    width: 100%;
    overflow: hidden
}

.box_1 {
    width: 100%
}

.group_1 {
    width: 100%;
    height: 100vh;
    position: relative;
    overflow: hidden
}

.group_1-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.5);
    transform-origin: center;
    z-index: 0;
    pointer-events: none
}

.group_1::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .05);
    z-index: 1;
    pointer-events: none;
}

.group_1>:not(.group_1-video) {
    position: relative;
    z-index: 2
}

.group_2 {
    margin: 3rem 3rem 0
}

.site-header {
    position: fixed;
    top: 3rem;
    left: 3rem;
    right: 3rem;
    width: auto;
    margin: 0;
    z-index: 1000;
    isolation: isolate;
}

.site-header {
    height: 3.4rem;
}

.nav-reveal-panel {
    position: absolute;
    inset: -3rem -3rem -1.2rem;
    padding: 3rem 15.8rem 1.2rem 3rem;
    align-items: flex-start;
    background: #F5F3F2;
    clip-path: inset(0 0 100% 0);
    transition: clip-path 450ms cubic-bezier(.22, 1, .36, 1), background-color 250ms ease;
    pointer-events: none;
}

.site-header.is-nav-open .nav-reveal-panel {
    clip-path: inset(0);
    pointer-events: auto;
}

.site-header.is-at-top .nav-reveal-panel {
    background-color: transparent;
}

.site-header > .text-wrapper_1 {
    position: relative;
    margin-left: auto;
}

.header-logo {
    width: 11.6rem;
    flex-shrink: 0;
}

.header-fade.is-hidden {
    pointer-events: none;
}
.group_2 a[aria-current="location"] {
    font-family: Source Han Serif CN-Bold;
    font-weight: 700
}

.group_2 a:not([aria-current="location"]) {
    font-family: Source Han Serif CN-Medium;
    font-weight: 500
}

.label_1 {
    width: 3.6rem
}

.image_1 {
    width: 6.8rem;
    margin: 0.6rem 0 0 1.2rem
}

.text_1 {
    width: 3.2rem;
    overflow-wrap: break-word;
    color: #02321f;
    font-size: 1.6rem;
    font-family: Source Han Serif CN-Bold;
    font-weight: 700;
    text-align: left;
    white-space: nowrap;
    line-height: 2.4rem;
    margin: 0.5rem 0 0 auto
}

.text_2,
.text_3,
.text_4 {
    width: 6.4rem;
    overflow-wrap: break-word;
    color: #02321f;
    font-size: 1.6rem;
    font-family: Source Han Serif CN-Medium;
    font-weight: 500;
    text-align: left;
    white-space: nowrap;
    line-height: 2.4rem;
    margin: 0.5rem 0 0 1.2rem
}

.box_2,
.box_3,
.box_4 {
    background: rgba(2, 50, 31, .2);
    border-radius: 0.4rem;
    width: 0.1rem;
    height: 1rem;
    align-self: flex-start;
    margin: 1.2rem 0 0 1.2rem
}

.text-wrapper_1 {
    background: #02321f;
    border-radius: 2.4rem;
    width: 9.6rem;
    margin: 0 0 0 3.2rem;
    height: 3.2rem;
    cursor: pointer
}

.text-wrapper_1 .text_5 {
    display: block;
    transition: opacity .2s ease, transform .2s ease
}

.text-wrapper_1.is-changing .text_5 {
    opacity: 0;
    transform: translateY(-0.4rem)
}

.text_5 {
    overflow-wrap: break-word;
    color: #fff;
    font-size: 1.6rem;
    font-family: Source Han Serif CN-Medium;
    font-weight: 500;
    text-align: center;
    white-space: nowrap;
    line-height: 3rem
}

.group_3 {
    position: relative;
    margin: auto 3rem 6rem
}

.group_3>.paragraph_1,
.group_3>.text-wrapper_2,
.group_3>.paragraph_3,
.group_3>.text-wrapper_3 {
    animation: hero-copy-fade-in 1.2s ease-out .2s both
}

.group_3>.paragraph_5 {
    animation: hero-copy-fade-in 1.2s ease-out .2s both
}

@keyframes hero-copy-fade-in {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.paragraph_1,
.paragraph_2,
.text_6,
.paragraph_3,
.paragraph_4,
.text_7 {
    width: 4.0rem;
    overflow-wrap: break-word;
    color: #fff;
    font-size: 4.0rem;
    font-family: FZKai-Z03S-Regular;
    font-weight: 400;
    text-align: left
}

.text-wrapper_2,
.text-wrapper_3 {
    width: 4.8rem;
    overflow-wrap: break-word;
    font-size: 0;
    font-family: FZKai-Z03S-Regular;
    font-weight: 400;
    text-align: left
}

.paragraph_3 {
    margin-left: 1.2rem
}

.text-wrapper_3 {
    margin-left: 1.2rem
}

.paragraph_1 {
    margin-top: 0.1rem
}

.text-wrapper_2 {
    margin-left: 1.3rem
}

.text_6,
.text_7 {
    line-height: 4.8rem
}

.paragraph_5 {
    width: 52.9rem;
    overflow-wrap: break-word;
    color: #fff;
    font-size: 2.0rem;
    font-family: FZKai-Z03S-Regular;
    font-weight: 500;
    text-align: right;
    line-height: 3.0rem;
    margin: 9.7rem 0 0 auto
}

.block_1 {
    position: absolute;
    left: 0;
    top: 0;
    width: 22.9rem
}

.group_4 {
    position: absolute;
    left: 3rem;
    top: 3rem;
    width: 11.6rem
}

.box_5 {
    background: #fff;
    width: 100%;
    position: relative
}

.image-wrapper_1 {
    width: 11.6rem;
    margin: 6rem 0 0 3rem
}

.label_2 {
    width: 3.6rem;
    height: 3.6rem
}

.image_2 {
    width: 11.6rem;
    margin: 0
}

.group_5 {
    position: relative;
    margin: 3.4rem 3rem 6rem
}

.image_3 {
    width: 67.8rem;
    height: 56.3rem;
}

.paragraph_6,
.paragraph_7,
.text_8 {
    width: 3.6rem;
    overflow-wrap: break-word;
    color: #1f1f1f;
    font-size: 3.6rem;
    font-family: FZKai-Z03S-Regular;
    font-weight: 400;
    text-align: left
}

.paragraph_6 {
    margin-left: 3rem
}

.text-wrapper_4 {
    width: 3.6rem;
    overflow-wrap: break-word;
    font-size: 0;
    font-family: FZKai-Z03S-Regular;
    font-weight: 400;
    text-align: left;
    margin-left: 0.8rem
}

.text_8 {
    line-height: 3.6rem
}

.group_6 {
    margin-right: 1.6rem;
    margin-left: auto
}

.text_9 {
    width: 12.8rem;
    overflow-wrap: break-word;
    color: #1f1f1f;
    font-size: 3.2rem;
    font-family: Source Han Serif CN-SemiBold;
    font-weight: 400;
    text-align: left;
    white-space: nowrap;
    line-height: 4.8rem;
    margin-left: 6.5rem
}

.text_10 {
    width: 7.3rem;
    overflow-wrap: break-word;
    color: rgba(31, 31, 31, .5);
    font-size: 1.6rem;
    font-family: Source Han Serif CN-SemiBold;
    font-weight: 400;
    text-align: left;
    white-space: nowrap;
    line-height: 1.6rem;
    margin-left: 12rem
}

.section_1 {
    position: absolute;
    right: 0;
    bottom: 0;
    background: url("../images/bg_logo@4.png") center/contain no-repeat;
    aspect-ratio: 240/414;
    width: 24rem;
    pointer-events: none
}

.box_6 {
    margin-top: 1.1rem;
    width: 24.1rem
}

.box_7 {
    width: 24rem;
    margin: 0.3rem 0 0 0.1rem
}

.paragraph_8 {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 48.5rem;
    overflow-wrap: break-word;
    color: #1f1f1f;
    font-size: 1.6rem;
    font-family: Source Han Serif CN-Medium;
    font-weight: 500;
    text-align: right;
    line-height: 2.4rem;
    z-index: 1
}

.box_8 {
    background: #F5F3F2;
    border-radius: 0.8rem;
    width: 100%
}

.group_7 {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: url("../images/environment-video-poster.png?v=20261029") center/contain no-repeat;
    width: 100%
}

.environment-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #000;
}

.group_8.is-playing .group_9 {
    background: linear-gradient(#fff, #fff) 25% center / 24% 80% no-repeat,
                linear-gradient(#fff, #fff) 75% center / 24% 80% no-repeat;
}

.environment-video[hidden],
.group_8[hidden] { display: none; }

.group_8 {
    border: 0;
    padding: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, .5);
    border-radius: 50%;
    aspect-ratio: 1;
    width: 6.8rem;
    margin: 0;
    transition: transform 200ms ease;
    cursor: pointer
}

.group_9 {
    width: 2.2rem;
    aspect-ratio: 1;
    margin: auto;
    transform: translateX(0);
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3.8c0-1.5 1.6-2.4 2.9-1.6l12 7.4a2.8 2.8 0 0 1 0 4.8l-12 7.4A1.9 1.9 0 0 1 6 20.2V3.8Z' fill='white'/%3E%3C/svg%3E") center/contain no-repeat
}

.group_8:hover {
    transform: translate(-50%, -50%) scale(0.9)
}

.group_10 {
    position: relative;
    margin-top: 4.75rem
}

.text-wrapper_5 {
    width: 91.3rem;
    margin: 1.25rem 3rem 6rem auto
}

.text_11 {
    width: 16rem;
    overflow-wrap: break-word;
    color: #1F1F1F;
    font-size: 3.2rem;
    font-family: Source Han Serif CN-SemiBold;
    font-weight: 400;
    text-align: left;
    white-space: nowrap;
    line-height: 3.2rem
}

.paragraph_9 {
    overflow-wrap: break-word;
    color: #1F1F1F;
    font-size: 1.6rem;
    font-family: Source Han Serif CN-Medium;
    font-weight: 500;
    text-align: left;
    line-height: 2.4rem;
    margin-top: 2.4rem
}

.reveal-character {
    display: inline-block
}

.brand-intro-ready,
.environment-title-ready {
    opacity: 0
}

.text-reveal-ready .reveal-character {
    opacity: 0
}

.text_12 {
    width: 9.7rem;
    overflow-wrap: break-word;
    color: #1F1F1F;
    font-size: 1.6rem;
    font-family: Source Han Serif CN-SemiBold;
    font-weight: 400;
    text-align: right;
    white-space: nowrap;
    line-height: 1.6rem;
    margin: 2.1rem 0 0 30.3rem
}

.box_9 {
    position: relative;
    width: 100%;
    margin-bottom: 0.1rem
}

.image_4 {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 61.2rem;
    aspect-ratio: 612/284
}

.group_11 {
    width: 100%;
    position: relative
}

#box_10 .contact-link {
    position: relative;
    width: max-content;
    color: #fff;
    text-decoration: none;
    cursor: pointer
}

#box_10 .contact-link:hover,
#box_10 .contact-link:focus-visible {
    color: #fff;
    text-decoration: none
}

.contact-entry-ready .group_12,
.contact-entry-ready .group_13 :is(.text_15, .text_16, .text_17, .text_18) {
    opacity: 0;
    visibility: hidden;
    transition: opacity .9s ease-out, visibility 0s
}

.contact-entry-ready .group_13 :is(.text_15, .text_17) {
    transition-delay: .9s
}

.contact-entry-ready .group_13 :is(.text_16, .text_18) {
    transition-delay: .9s
}

.contact-entry-visible .group_12,
.contact-entry-visible .group_13 :is(.text_15, .text_16, .text_17, .text_18) {
    opacity: 1;
    visibility: visible
}

.contact-copyright {
    position: absolute;
    bottom: 2.4rem;
    left: 3rem;
    right: 3rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .6rem 2rem;
    color: rgba(255, 255, 255, .65);
    font-size: 1.2rem;
    line-height: 1.8;
    text-align: center;
}

.contact-copyright a {
    color: inherit;
    text-decoration: none;
}

.contact-copyright a:hover,
.contact-copyright a:focus-visible {
    color: inherit;
    text-decoration: none;
}

.contact-copy {
    overflow: visible;
    padding: 0;
    border: 0;
    background: none;
}

.contact-action-hint {
    position: absolute;
    left: calc(100% + 1rem);
    top: 0;
    font-size: inherit;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: opacity 450ms ease, visibility 0s 450ms;
}

.contact-link:hover .contact-action-hint,
.contact-link:focus-visible .contact-action-hint {
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
}

.contact-background {
    display: block;
    width: 100%;
    height: auto
}

.group_12 {
    position: absolute;
    top: 10rem;
    left: 3rem;
    width: 14.6rem
}

.text-group_1 {
    width: 14.6rem
}

.text_13 {
    width: 9.6rem;
    overflow-wrap: break-word;
    color: #fff;
    font-size: 2.4rem;
    font-family: Source Han Serif CN-Bold;
    font-weight: 700;
    text-align: left;
    white-space: nowrap;
    line-height: 2.4rem
}

.text_14 {
    width: 14.6rem;
    overflow-wrap: break-word;
    color: #fff;
    font-size: 1.6rem;
    font-family: Source Han Serif CN-Medium;
    font-weight: 500;
    text-align: left;
    white-space: nowrap;
    line-height: 3.6rem
}

.group_13 {
    position: absolute;
    top: 18.4rem;
    left: 49.1rem;
    width: 42.8rem
}

.text-group_2 {
    width: 9.7rem;
    z-index: 999
}

.text_15,
.text_16 {
    width: 9.7rem;
    overflow-wrap: break-word;
    color: #fff;
    font-size: 1.6rem;
    font-family: Source Han Serif CN-Bold;
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
    line-height: 1.6rem
}

.text_16 {
    margin-top: 1.2rem
}

.text-group_3 {
    width: 28.3rem
}

.text_17 {
    width: 28.3rem;
    overflow-wrap: break-word;
    color: #fff;
    font-size: 1.6rem;
    font-family: Source Han Serif CN-Bold;
    font-weight: 700;
    text-align: left;
    white-space: nowrap;
    line-height: 1.6rem;
    cursor: pointer
}

.text_18 {
    width: 12.4rem;
    overflow-wrap: break-word;
    color: #fff;
    font-size: 1.6rem;
    font-family: Source Han Serif CN-Bold;
    font-weight: 700;
    text-align: left;
    white-space: nowrap;
    line-height: 1.6rem;
    margin-top: 1.2rem;
    cursor: pointer
}

.box_10 {
    background: #fff;
    width: 100%;
    position: relative;
    justify-content: center
}

.section_2 {
    margin: 6rem 0 0 3rem
}

.group_14 {
    width: 27.8rem;
    margin-right: 11.2rem
}

.text_19 {
    width: 22.4rem;
    overflow-wrap: break-word;
    color: #1f1f1f;
    font-size: 3.2rem;
    font-family: Source Han Serif CN-Medium;
    font-weight: 500;
    text-align: left;
    white-space: nowrap;
    line-height: 3.2rem
}

.text-wrapper_7 {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    width: 26.1rem;
    margin: 1.4rem 0 0
}

.process-box {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0.4rem;
    width: 4rem;
    flex: 0 0 4rem
}

.text_20,
.text_21,
.text_22,
.text_23 {
    width: auto;
    overflow-wrap: break-word;
    color: rgba(31, 31, 31, .2);
    font-size: 1.2rem;
    font-family: Source Han Serif CN-Medium;
    font-weight: 500;
    text-align: left;
    white-space: nowrap;
    line-height: 1.2rem;
    writing-mode: vertical-rl;
    text-orientation: mixed
}

.paragraph_10,
.paragraph_11,
.paragraph_12,
.paragraph_13 {
    position: static;
    width: 2.4rem;
    overflow-wrap: break-word;
    color: #1f1f1f;
    font-size: 2.4rem;
    font-family: FZKai-Z03S-Regular;
    font-weight: 400;
    text-align: left
}

.step-image {
    cursor: pointer;
    width: 30rem;
    height: 30rem;
    margin: 2.5rem 0 2.5rem 2rem;
    flex: 0 0 auto;
    object-fit: cover;
    transition: width 450ms ease, height 450ms ease, margin 450ms ease
}

.step-image.is-active {
    width: 35rem;
    height: 35rem;
    margin: 0
}

.step-image.is-before-active {
    margin-left: 0;
    margin-right: 2rem
}

.text-wrapper_8 {
    position: relative;
    width: auto;
    margin-left: 42rem
}

.step-copy {
    position: relative;
    flex: 0 0 auto;
    width: 30rem;
    margin: 0 0 0 2rem;
    padding: 2rem 0 1.4rem;
    transition: width 450ms ease, margin 450ms ease
}

.step-copy.is-active {
    width: 35rem;
    margin: 0
}

.step-copy.is-before-active {
    margin-left: 0;
    margin-right: 2rem
}

.step-image.is-active+.step-image,
.step-copy.is-active+.step-copy {
    margin-left: 2.8rem
}

.step-image.is-before-active:has(+ .step-image.is-active),
.step-copy.is-before-active:has(+ .step-copy.is-active) {
    margin-right: 2.8rem
}

.step-image.image_5:has(+ .image_6.is-active),
.step-copy:first-child:has(+ .step-copy.is-active) {
    margin-right: 2.4rem
}

.step-image.image_6.is-active+.step-image,
.step-copy:nth-child(2).is-active+.step-copy {
    margin-left: 2.4rem
}

.step-copy .step-heading {
    display: block;
    width: auto;
    margin: 0
}

.step-copy .step-number {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    pointer-events: none
}

.step-copy .step-description {
    display: block;
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    margin-top: 2.2rem
}

.text_24,
.text_26,
.text_28 {
    overflow-wrap: break-word;
    color: #525252;
    font-size: 2.4rem;
    font-family: Source Han Serif CN-Bold;
    font-weight: 700;
    text-align: left;
    white-space: nowrap;
    line-height: 2.4rem;
    margin-top: 2rem
}

.text_24 {
    width: 14.4rem
}

.text_26 {
    width: 12rem;
    margin: 2rem 0 0 2.8rem
}

.text_28 {
    width: 12rem;
    margin: 2rem 0 0 2rem
}

.text_25,
.text_27,
.text_29 {
    overflow-wrap: break-word;
    color: rgba(31, 31, 31, .05);
    font-size: 12.8rem;
    font-family: "STIX Two Text-Medium Italic";
    font-weight: 400;
    text-align: left;
    white-space: nowrap;
    line-height: 12.8rem
}

.text_25 {
    width: 5.1rem;
    margin-left: 15.5rem
}

.text_27 {
    width: 6.2rem;
    margin-left: 11.8rem
}

.text_29 {
    width: 6.3rem;
    margin-left: 11.7rem
}

.text_30,
.text_31,
.text_32 {
    position: absolute;
    top: 6.6rem;
    overflow-wrap: break-word;
    color: #1f1f1f;
    font-size: 1.6rem;
    font-family: Source Han Serif CN-Medium;
    font-weight: 500;
    text-align: justify;
    line-height: 2.4rem
}

.text_30 {
    left: 0;
    width: 35rem
}

.text_31 {
    left: 37.8rem;
    width: 30rem
}

.text_32 {
    left: 69.8rem;
    width: 30rem
}

.section_3 {
    width: auto;
    margin: 3.4rem 0 5.9rem 3rem;
    align-items: center
}

.image-text_1 {
    width: 8.4rem;
    flex-shrink: 0;
    margin-top: 2.9rem
}

.image_8 {
    width: 8rem;
    height: 8rem;
    margin-left: 0.2rem
}

.text-group_4 {
    width: 8.4rem;
    overflow-wrap: break-word;
    color: #525252;
    font-size: 1.4rem;
    font-family: Source Han Serif CN-Medium;
    font-weight: 500;
    text-align: right;
    white-space: nowrap;
    line-height: 1.4rem;
    margin-top: 0.8rem
}

.text-wrapper_9 {
    width: 14.6rem;
    flex-shrink: 0;
    margin-left: 9.3rem;
    transform: translateY(-4rem)
}

.text_33 {
    width: 9.6rem;
    overflow-wrap: break-word;
    color: #1f1f1f;
    font-size: 2.4rem;
    font-family: Source Han Serif CN-Bold;
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
    line-height: 4.2rem;
    margin-left: 5rem
}

.text_34 {
    width: 14.6rem;
    overflow-wrap: break-word;
    color: rgba(31, 31, 31, .5);
    font-size: 1.6rem;
    font-family: Source Han Serif CN-Medium;
    font-weight: 500;
    text-align: right;
    white-space: nowrap;
    line-height: 1.6rem
}

.image_9,
.image_10,
.image_11 {
    width: 12rem;
    object-fit: contain;
    aspect-ratio: 1;
    flex: 0 0 25%
}

.product-card {
    display: flex;
    flex: 0 0 auto;
    width: max-content;
    align-items: center;
    gap: 1.6rem;
    box-sizing: border-box;
    padding: 0.8rem 1.2rem;
    margin: 0;
    border: 0.1rem solid #eee;
    border-radius: 0.8rem
}

.product-carousel {
    position: relative;
    flex: 1;
    min-width: 0;
    margin-left: 6.4rem;
}

.product-arrow {
    position: absolute;
    top: calc(50% - .6rem);
    transform: translateY(-50%) scale(.9);
    width: 4.2rem;
    height: 4.2rem;
    border: 0;
    border-radius: 50%;
    background: transparent;
    padding: 0;
    display: grid;
    place-items: center;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 280ms ease, transform 280ms ease, background-color 200ms ease, visibility 0s 280ms;
}

.product-carousel .product-arrow {
    transform: translateY(-50%) scale(1);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
    cursor: pointer;
}

.product-carousel:has(.product-scroll.is-dragging) .product-arrow,
.product-carousel .product-arrow:disabled {
    transform: translateY(-50%) scale(.9);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition-delay: 0s, 0s, 0s, 280ms;
}

.product-arrow-prev { left: 1.2rem; }
.product-arrow-next { right: 2.2rem; }
.product-arrow img {
    grid-area: 1 / 1;
    width: 100%;
    height: 100%;
    transition: opacity 200ms ease;
}
.product-arrow .arrow-default { opacity: 1; }
.product-arrow .arrow-hover { opacity: 0; }
.product-arrow:disabled { cursor: default; }
.product-arrow:hover .arrow-default { opacity: 0; }
.product-arrow:hover .arrow-hover { opacity: 1; }
.product-arrow:focus-visible { outline: .2rem solid #365b4b; outline-offset: .3rem; }

.product-scroll {
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    display: flex;
    flex: 1;
    min-width: 0;
    gap: 1.2rem;
    overflow-x: auto;
    scrollbar-width: none;
    padding-bottom: 1.2rem
}

.product-scroll::-webkit-scrollbar {
    display: none
}

.product-scroll.is-dragging {
    cursor: grabbing;
}

.product-track {
    display: flex;
    flex: 0 0 auto;
    width: max-content;
    padding-right: 2.2rem;
    gap: 1.2rem
}

.product-entry-ready>.image-text_1,
.product-entry-ready>.text-wrapper_9,
.product-entry-ready .product-track {
    opacity: 0
}

.product-entry-ready .product-scroll {
    overflow-x: hidden
}

.product-scroll .product-card>img {
    flex: 0 0 auto
}

.product-scroll .product-card>div {
    flex: 0 0 auto;
    width: max-content;
    max-width: 31.5rem
}

.text-wrapper_10,
.text-wrapper_11,
.text-wrapper_12 {
    flex: 1;
    min-width: 0
}

.text_35,
.text_37,
.text_39 {
    width: 10rem;
    overflow-wrap: break-word;
    color: #525252;
    font-size: 2rem;
    font-family: Source Han Serif CN-Bold;
    font-weight: 700;
    text-align: left;
    white-space: nowrap;
    line-height: 2rem
}

.text_36,
.text_38,
.text_40 {
    width: 100%;
    overflow-wrap: break-word;
    color: #1f1f1f;
    font-size: 1.4rem;
    font-family: Source Han Serif CN-Medium;
    font-weight: 500;
    text-align: justify;
    line-height: 2.4rem;
    margin-top: 0.8rem
}

/* Featured product collection added from the supplied Lanhu layout. */
.hot-products {
    width: 100%;
    height: 63.5rem;
    padding: 6rem 3rem 3.1rem;
    overflow: hidden;
    background: #fff;
}
.hot-products-header {
    width: 100%;
    height: 7rem;
    margin: 0 auto 2.9rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.hot-products-heading {
    width: 14.6rem;
    height: 6.9rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.hot-products-heading h2 {
    height: 4.6rem;
    color: #1f1f1f;
    font: 700 3.2rem/3.2rem "Source Han Serif CN-Bold", serif;
}
.hot-products-heading > span {
    height: 2.3rem;
    color: #b8b8b8;
    font: 500 1.6rem/1.6rem "Source Han Serif CN-Medium", serif;
}
.hot-products-qr {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    width: 5.6rem;
    height: 7rem;
    color: #525252;
    font: 500 1.4rem/1.4rem "Source Han Serif CN-Medium", serif;
}
.hot-products-qr img { width: 5rem; height: 5rem; object-fit: contain; }
.hot-products-qr > span { height: 2rem; }
.hot-products-carousel {
    position: relative;
    width: 137.4rem;
    height: 39.7rem;
    margin: 0 auto;
}
.hot-products-scroll {
    margin: 0 5.1rem;
    height: 100%;
    overflow-x: auto;
    scrollbar-width: none;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
}
.hot-products-scroll::-webkit-scrollbar { display: none; }
.hot-products-scroll.is-dragging { cursor: grabbing; }
.hot-products-scroll:focus-visible { outline: .2rem solid #365b4b; outline-offset: .2rem; }
.hot-products-track {
    display: flex;
    width: max-content;
    height: 100%;
    gap: 2.4rem;
    padding: 0;
}
.hot-product-card {
    display: flex;
    flex: 0 0 30rem;
    width: 30rem;
    flex-direction: column;
    height: 39.7rem;
}
.hot-product-image,
.hot-product-art {
    display: block;
    flex: 0 0 30rem;
    width: 30rem;
    height: 30rem;
    object-fit: cover;
    border-radius: .7rem;
}
.hot-product-art {
    position: relative;
    overflow: hidden;
}
.hot-product-overlay {
    position: absolute;
    inset: 0;
    background: rgba(2, 50, 31, .8);
    padding: 2.4rem 2rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity 220ms ease;
}
.hot-product-art:hover .hot-product-overlay,
.hot-product-art:focus-visible .hot-product-overlay { opacity: 1; }
.hot-product-art:focus-visible { outline: .2rem solid #365b4b; outline-offset: -.2rem; }
.hot-product-overlay > p {
    width: 26rem;
    height: 10.8rem;
    color: #fff;
    font: 500 2.4rem/3.6rem "Source Han Serif CN-Medium", serif;
}
.hot-product-facts {
    position: absolute;
    left: 2rem;
    bottom: 2.4rem;
    width: 26rem;
    height: 4.8rem;
    display: flex;
    justify-content: space-between;
    color: #fff;
}
.hot-product-facts div { position: relative; text-align: center; }
.hot-product-facts div:nth-child(1) { width: 4.8rem; }
.hot-product-facts div:nth-child(2) { width: 6.1rem; }
.hot-product-facts div:nth-child(3) { width: 6.3rem; }
.hot-product-facts div + div::before {
    content: "";
    position: absolute;
    left: -2.2rem;
    top: .8rem;
    width: .1rem;
    height: 3.2rem;
    border-radius: .2rem;
    background: rgba(255,255,255,.5);
}
.hot-product-facts dt,
.hot-product-facts dd {
    height: 2.2rem;
    white-space: nowrap;
    font: 500 1.6rem/1.6rem "Alibaba PuHuiTi", "Microsoft YaHei", sans-serif;
}
.hot-product-facts dd { margin-top: .4rem; font-weight: 400; }
.hot-product-copy { padding-top: 1.6rem; }
.hot-product-copy h3 {
    height: 2.9rem;
    color: #1f1f1f;
    font: 700 2rem/2rem "Source Han Serif CN-Bold", serif;
}
.hot-product-copy p {
    height: 4.8rem;
    margin-top: .4rem;
    color: #1f1f1f;
    font: 500 1.4rem/2.4rem "Source Han Serif CN-Medium", serif;
}
.hot-products-arrow {
    position: absolute;
    z-index: 1;
    top: 15.2rem;
    display: grid;
    width: 4.2rem;
    height: 4.2rem;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}
.hot-products-prev { left: -1.5rem; }
.hot-products-next { right: -1.5rem; top: 14.1rem; }
.hot-products-arrow img { grid-area: 1 / 1; width: 100%; height: 100%; transition: opacity .2s ease; }
.hot-products-arrow .arrow-default { opacity: 1; }
.hot-products-arrow .arrow-hover { opacity: 0; }
.hot-products-arrow:not(:disabled):hover .arrow-default { opacity: 0; }
.hot-products-arrow:not(:disabled):hover .arrow-hover { opacity: 1; }
.hot-products-arrow:disabled { opacity: 0; visibility: hidden; pointer-events: none; }
.hot-products-arrow:focus-visible { outline: .2rem solid #365b4b; outline-offset: .3rem; }
.hot-products-rule {
    width: 127.2rem;
    height: .4rem;
    margin: 4.4rem auto 0;
    background: #e3e3e3;
    position: relative;
    overflow: hidden;
}
.hot-products-progress {
    position: absolute;
    height: 100%;
    width: 0;
    left: 0;
    background: #02321f;
}
body * {
    box-sizing: border-box;
    flex-shrink: 0
}

body {
    font-family: PingFangSC-Regular, Roboto, "Helvetica Neue", Helvetica, Tahoma, Arial, "PingFang SC-Light", "Microsoft YaHei"
}

input {
    background-color: transparent;
    border: 0
}

button {
    margin: 0;
    padding: 0;
    border: 0.1rem solid transparent;
    outline: none;
    background-color: transparent
}

button:active {
    opacity: .6
}

.flex-col {
    display: flex;
    flex-direction: column
}

.flex-row {
    display: flex;
    flex-direction: row
}

.justify-start {
    display: flex;
    justify-content: flex-start
}

.justify-center {
    display: flex;
    justify-content: center
}

.justify-end {
    display: flex;
    justify-content: flex-end
}

.justify-evenly {
    display: flex;
    justify-content: space-evenly
}

.justify-around {
    display: flex;
    justify-content: space-around
}

.justify-between {
    display: flex;
    justify-content: space-between
}

.align-start {
    display: flex;
    align-items: flex-start
}

.align-center {
    display: flex;
    align-items: center
}

.align-end {
    display: flex;
    align-items: flex-end
}

