@charset "utf-8";
/* ==========================================================================
   BAO100 mobile · Luchiana 720 theme
   Components for the four reference pages.
   ========================================================================== */

/* ---------- header / drawer ---------- */
.site-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--lu-header-h);
    padding: 0 .3rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 40;
    color: var(--lu-black);
}

.brand-wordmark {
    display: block;
    color: currentColor;
    font-size: .26rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.menu-toggle {
    width: .3rem;
    height: .22rem;
    padding: 0;
    border: 0;
    background: transparent;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.menu-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    background: currentColor;
}

.drawer {
    position: fixed;
    top: 0;
    right: 0;
    width: 5.4rem;
    max-width: 86%;
    height: 100%;
    padding: .4rem .36rem;
    background: #fff;
    z-index: 1001;
    transform: translateX(105%);
    transition: transform .35s cubic-bezier(.22, .61, .36, 1);
    overflow-y: auto;
}

.drawer.is-open {
    transform: translateX(0);
}

.drawer-mask {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .42);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
}

.drawer-mask.is-open {
    opacity: 1;
    visibility: visible;
}

.drawer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: .3rem;
    border-bottom: 1px solid var(--lu-line);
}

.drawer-close {
    width: .5rem;
    height: .5rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--lu-black);
    font-size: .34rem;
    line-height: .5rem;
}

.drawer-nav {
    padding-top: .2rem;
}

.drawer-nav a {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: .24rem 0;
    border-bottom: 1px solid var(--lu-line);
    font-size: .2rem;
    letter-spacing: .08em;
}

.drawer-nav a em {
    color: var(--lu-light);
    font-size: .11rem;
    font-style: normal;
    letter-spacing: .2em;
}

/* ---------- page band ---------- */
.page-band {
    position: relative;
    width: 100%;
    height: 3.07rem;
    padding-top: var(--lu-header-h);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: var(--lu-sage);
    background-image:
        linear-gradient(30deg, rgba(255, 255, 255, .1) 12%, transparent 12.5%, transparent 87%, rgba(255, 255, 255, .1) 87.5%, rgba(255, 255, 255, .1)),
        linear-gradient(150deg, rgba(255, 255, 255, .1) 12%, transparent 12.5%, transparent 87%, rgba(255, 255, 255, .1) 87.5%, rgba(255, 255, 255, .1));
    background-size: 2.4rem 4.2rem;
    color: #fff;
    text-align: center;
}

.page-band--powder { background-color: var(--lu-powder); }
.page-band--sand { background-color: var(--lu-sand); }
.page-band--hero { background-color: var(--lu-hero); }

.page-band h1 {
    margin: 0;
    color: #fff;
    font-size: .36rem;
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.page-band .breadcrumb {
    margin-top: .2rem;
    color: rgba(255, 255, 255, .86);
    font-size: .12rem;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.page-band .breadcrumb i {
    margin: 0 .14rem;
    font-style: normal;
    opacity: .7;
}

/* ---------- home hero ---------- */
.hero {
    position: relative;
    width: 100%;
    height: 9.6rem;
    background: var(--lu-hero);
    overflow: hidden;
}

.hero::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 72%;
    height: 100%;
    background: linear-gradient(90deg, rgba(182, 165, 158, .99) 0%, rgba(182, 165, 158, .92) 48%, rgba(182, 165, 158, 0) 100%);
    z-index: 1;
    pointer-events: none;
}

.hero-image {
    position: absolute;
    right: -.5rem;
    bottom: -1rem;
    width: 5.5rem;
    height: auto;
    z-index: 0;
}

.hero-copy {
    position: relative;
    z-index: 2;
    width: 5.9rem;
    padding: 3.6rem 0 0 .3rem;
}

.hero-copy .eyebrow {
    color: var(--lu-black);
    font-weight: 400;
}

.hero-copy h1 {
    margin: .18rem 0 0;
    color: var(--lu-black);
    font-size: .48rem;
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.hero-copy p {
    width: 5.6rem;
    margin: .32rem 0 0;
    color: var(--lu-ink);
    font-size: .14rem;
    line-height: 1.7;
    letter-spacing: .02em;
}

.hero-copy .btn {
    margin-top: .34rem;
    min-width: 1.96rem;
}

.hero-scroll {
    position: absolute;
    left: .3rem;
    bottom: .32rem;
    z-index: 2;
    width: .52rem;
    height: .52rem;
    border: 1px solid rgba(0, 0, 0, .3);
    border-radius: 50%;
    color: var(--lu-black);
    font-size: .18rem;
    line-height: .5rem;
    text-align: center;
}

/* ---------- marquee ---------- */
.marquee {
    width: 100%;
    height: .72rem;
    border-top: 1px solid var(--lu-line);
    border-bottom: 1px solid var(--lu-line);
    background: #fff;
    overflow: hidden;
}

.marquee-track {
    display: flex;
    width: max-content;
    height: .72rem;
    animation: lu-marquee 28s linear infinite;
}

.marquee-track span {
    display: inline-flex;
    align-items: center;
    height: .72rem;
    padding: 0 .22rem;
    color: var(--lu-ink);
    font-size: .12rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    white-space: nowrap;
}

.marquee-track span::after {
    content: "✦";
    margin-left: .5rem;
    color: var(--lu-sand);
    font-size: .1rem;
}

/* ---------- section heading ---------- */
.section {
    padding: .8rem 0 .1rem;
    background: #fff;
}

.section-head {
    text-align: center;
}

.section-head .eyebrow {
    color: var(--lu-muted);
}

.section-head h2 {
    margin: .1rem 0 0;
    color: var(--lu-black);
    font-size: .36rem;
    font-weight: 300;
    line-height: 1.3;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.section-tabs {
    width: 5.66rem;
    margin: .42rem auto 0;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid var(--lu-line);
}

.section-tabs a {
    position: relative;
    padding: 0 0 .14rem;
    color: var(--lu-light);
    font-size: .13rem;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.section-tabs a.is-active {
    color: var(--lu-black);
}

.section-tabs a.is-active::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 1px;
    background: var(--lu-black);
}

/* ---------- product grid / card ---------- */
.product-grid {
    width: 5.66rem;
    margin: .5rem auto 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .38rem;
}

.product-card {
    position: relative;
    background: #fff;
    border: 0;
}

.product-media {
    position: relative;
    height: 2.62rem;
    background: #fff;
    overflow: hidden;
}

.product-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #fff;
}

.product-badge {
    position: absolute;
    top: 0;
    left: 0;
    min-width: .48rem;
    height: .26rem;
    padding: 0 .06rem;
    background: var(--lu-black);
    color: #fff;
    font-size: .12rem;
    line-height: .26rem;
    text-align: center;
    letter-spacing: .02em;
}

.product-badge--right {
    left: auto;
    right: 0;
    background: var(--lu-blush);
    color: #fff;
}

.product-actions {
    position: absolute;
    right: .12rem;
    bottom: .12rem;
    display: flex;
    flex-direction: column;
    gap: .1rem;
}

.product-actions span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: .28rem;
    height: .28rem;
    color: var(--lu-black);
    font-size: .16rem;
    line-height: 1;
}

.product-body {
    padding: .24rem .18rem .2rem;
    text-align: center;
}

.product-title {
    margin: 0;
    color: var(--lu-black);
    font-size: .18rem;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.product-subtitle {
    min-height: .42rem;
    margin: .1rem 0 0;
    color: var(--lu-light);
    font-size: .13rem;
    line-height: 1.55;
    letter-spacing: .01em;
}

.product-stars {
    margin: .12rem 0 0;
    color: var(--lu-blush);
    font-size: .12rem;
    letter-spacing: .08em;
}

.product-price {
    margin-top: .18rem;
    color: var(--lu-black);
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-size: .18rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: .02em;
}

.product-price del {
    margin-right: .06rem;
    color: var(--lu-light);
    font-weight: 400;
}

.product-cart {
    display: flex;
    align-items: center;
    justify-content: center;
    height: .66rem;
    margin-top: .22rem;
    border-top: 1px solid var(--lu-line);
    color: var(--lu-black);
    font-size: .12rem;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.product-cart:before {
    content: "+";
    margin-right: .12rem;
    font-size: .14rem;
    font-weight: 300;
}

/* ---------- shop toolbar ---------- */
.shop-toolbar {
    width: 5.66rem;
    margin: 0 auto;
    padding: .34rem 0 .26rem;
    background: var(--lu-body);
}

.shop-toolbar .showing {
    margin: 0;
    color: var(--lu-ink);
    font-size: .12rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.shop-toolbar .toolbar-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: .18rem;
}

.shop-toolbar .sorting {
    color: var(--lu-ink);
    font-size: .13rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.shop-toolbar .sorting:after {
    content: "⌄";
    margin-left: .1rem;
    font-size: .14rem;
}

.shop-toolbar .filter-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: .94rem;
    height: .34rem;
    border: 1px solid var(--lu-black);
    color: var(--lu-black);
    font-size: .11rem;
    letter-spacing: .14em;
    text-transform: uppercase;
}

/* ---------- product detail ---------- */
.gallery {
    position: relative;
    width: 100%;
    height: 6.36rem;
    background: #fff;
    overflow: hidden;
}

.gallery img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: .3rem;
    box-sizing: border-box;
}

.gallery-arrow {
    position: absolute;
    top: 50%;
    z-index: 2;
    width: .6rem;
    height: .6rem;
    margin-top: -.3rem;
    color: var(--lu-black);
    font-size: .36rem;
    line-height: .58rem;
    text-align: center;
    opacity: .55;
}

.gallery-arrow.prev { left: .04rem; }
.gallery-arrow.next { right: .04rem; }

.gallery-badge {
    position: absolute;
    top: 0;
    left: 0;
    height: .26rem;
    min-width: .48rem;
    padding: 0 .06rem;
    background: var(--lu-black);
    color: #fff;
    font-size: .12rem;
    line-height: .26rem;
    text-align: center;
}

.gallery-badge--right {
    left: auto;
    right: 0;
    background: var(--lu-blush);
}

.thumbs {
    display: flex;
    width: 100%;
    height: 1.0rem;
    background: #fff;
    overflow-x: auto;
}

.thumbs button {
    flex: 0 0 1.0rem;
    width: 1.0rem;
    height: 1.0rem;
    padding: 0;
    border: 1px solid transparent;
    background: #fff;
}

.thumbs button.is-active {
    border-color: var(--lu-black);
}

.thumbs img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-detail {
    padding: .3rem;
    background: var(--lu-body);
}

.product-detail .product-name {
    margin: 0;
    color: var(--lu-black);
    font-size: .3rem;
    font-weight: 300;
    line-height: 1.35;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.product-detail .product-desc {
    margin: .12rem 0 0;
    color: var(--lu-light);
    font-size: .14rem;
    line-height: 1.6;
}

.product-detail .review-row {
    display: flex;
    align-items: center;
    gap: .12rem;
    margin-top: .2rem;
    color: var(--lu-light);
    font-size: .12rem;
}

.product-detail .review-row .stars {
    color: var(--lu-blush);
    letter-spacing: .06em;
}

.product-detail .price-row {
    margin-top: .3rem;
    color: var(--lu-light);
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-size: .18rem;
}

.product-detail .price-row strong {
    margin-left: .1rem;
    color: var(--lu-black);
    font-size: .26rem;
    font-weight: 500;
}

.buy-box {
    width: 3.36rem;
    margin-top: .3rem;
}

.buy-row {
    display: flex;
    align-items: stretch;
    gap: .04rem;
    margin-top: .2rem;
}

.qty-box {
    display: flex;
    align-items: stretch;
    width: 1.6rem;
    height: .64rem;
    border: 1px solid var(--lu-black);
    background: #fff;
}

.qty-box button {
    width: .48rem;
    border: 0;
    background: transparent;
    color: var(--lu-black);
    font-size: .2rem;
}

.qty-box input {
    width: .64rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--lu-black);
    font-size: .13rem;
    text-align: center;
}

.buy-row .btn-dark {
    flex: 1;
    height: .64rem;
}

.detail-meta {
    margin-top: .24rem;
    color: var(--lu-light);
    font-size: .12rem;
    letter-spacing: .04em;
    line-height: 1.9;
    text-transform: uppercase;
}

.detail-meta strong {
    color: var(--lu-ink);
    font-weight: 400;
}

.wishlist {
    display: inline-flex;
    align-items: center;
    gap: .1rem;
    margin-top: .24rem;
    color: var(--lu-ink);
    font-size: .12rem;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.detail-tabs {
    display: flex;
    width: 100%;
    margin-top: .4rem;
    border-bottom: 1px solid var(--lu-line);
    background: #fff;
}

.detail-tabs a {
    position: relative;
    padding: .2rem .24rem;
    color: var(--lu-light);
    font-size: .11rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.detail-tabs a.is-active {
    color: var(--lu-black);
}

.detail-tabs a.is-active::after {
    content: "";
    position: absolute;
    left: .24rem;
    right: .24rem;
    bottom: -1px;
    height: 1px;
    background: var(--lu-black);
}

.detail-copy {
    padding: .28rem .3rem .5rem;
    background: #fff;
    color: var(--lu-muted);
    font-size: .14rem;
    line-height: 1.9;
}

/* ---------- cart empty ---------- */
.cart-band {
    height: 2.16rem;
}

.cart-empty {
    min-height: 4.9rem;
    padding: 1.5rem .3rem .8rem;
    background: #fff;
    text-align: center;
}

.cart-empty svg {
    width: 1.2rem;
    height: 1.2rem;
    color: var(--lu-ink);
    stroke: currentColor;
    fill: none;
    stroke-width: 1.2;
}

.cart-empty h2 {
    margin: .42rem 0 0;
    color: var(--lu-black);
    font-size: .26rem;
    font-weight: 300;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.cart-empty .btn {
    margin-top: .5rem;
    min-width: 2.2rem;
}

.cart-space {
    height: 3.4rem;
    background: var(--lu-body);
}

/* ---------- footer ---------- */
.site-footer {
    padding: .5rem .3rem .3rem;
    background: #000;
    color: #fff;
}

.footer-links {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: .1rem;
    padding-bottom: .34rem;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.footer-links a {
    color: #fff;
    font-size: .11rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    text-align: center;
}

.footer-brand {
    margin: .42rem 0 0;
    color: #fff;
    font-size: .24rem;
    font-weight: 300;
    letter-spacing: .24em;
    text-align: center;
    text-transform: uppercase;
}

.footer-note {
    margin: .18rem 0 0;
    color: rgba(255, 255, 255, .55);
    font-size: .11rem;
    line-height: 1.8;
    text-align: center;
}

/* ---------- animations ---------- */
@keyframes lu-marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@media (max-width: 360px) {
    .hero-copy h1 { font-size: .42rem; }
    .hero-copy p { width: 4.9rem; }
    .hero-image { width: 5rem; }
    .product-grid { gap: .26rem; }
}
.buy-box {
    width: 6.43rem;
    margin-top: .3rem;
}

.buy-row {
    display: flex;
    align-items: stretch;
    gap: .04rem;
    margin-top: .2rem;
}

.qty-box {
    display: flex;
    align-items: stretch;
    width: 3.36rem;
    height: .64rem;
    border: 1px solid var(--lu-black);
    background: #fff;
}

.qty-box button {
    width: .72rem;
    border: 0;
    background: transparent;
    color: var(--lu-black);
    font-size: .2rem;
}

.qty-box input {
    width: 1.92rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--lu-black);
    font-size: .13rem;
    text-align: center;
}

.buy-row .btn-dark {
    flex: 0 0 3.03rem;
    width: 3.03rem;
    height: .64rem;
}
.thumbs {
    margin-top: -1rem;
    position: relative;
    z-index: 3;
    background: transparent;
}

.thumbs button {
    background: #fff;
}

.cart-empty {
    min-height: 5.35rem;
    padding: 1.2rem .3rem .6rem;
}

.cart-space {
    height: 1.05rem;
}
.sort-links {
    display: flex;
    align-items: center;
    gap: .18rem;
}

.sort-links a {
    position: relative;
    padding-bottom: .06rem;
    color: var(--lu-light);
    font-size: .12rem;
    letter-spacing: .08em;
}

.sort-links a.on {
    color: var(--lu-black);
}

.sort-links a.on::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: var(--lu-black);
}
/* Production header must not inherit the legacy blue <header> bar. */
.site-header {
    background: transparent !important;
    border: 0 !important;
}

body.lu720-goods .ps-style .four-steps ol li span,
body.lu720-goods .ps-style .five-steps ol li span {
    color: var(--lu-sage);
}

body.lu720-goods .ps-style .four-steps ol li:nth-child(even) span,
body.lu720-goods .ps-style .five-steps ol li:nth-child(even) span {
    color: var(--lu-line);
}

body.lu720-cart .order-items .product-items .product-name {
    color: var(--lu-ink);
    font-size: .18rem;
    font-weight: 400;
    line-height: .34rem;
}

body.lu720-cart .order-items .product-items .product-price {
    color: var(--lu-black);
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-size: .16rem;
    font-weight: 500;
}

body.lu720-cart .order-items .product-items .product-spec {
    color: var(--lu-light);
    font-size: .12rem;
}

body.lu720-cart .order-items .product-items .product-number .num,
body.lu720-cart .order-items .product-items .product-number .op-num {
    color: var(--lu-ink);
}
/* The legacy global footer is fixed; the Luchiana footer is in normal flow. */
.site-footer {
    position: static !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    float: none !important;
    clear: both;
    transform: none !important;
    padding: .5rem .3rem .3rem;
    background: #000;
    color: #fff;
    z-index: auto;
}
/* High-specificity reset for the legacy footer element and its <p> children. */
body.lu720 footer.site-footer {
    position: static !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    float: none !important;
    clear: both;
    display: block !important;
    padding: .5rem .3rem .3rem !important;
    background: #000 !important;
    color: #fff !important;
    z-index: auto !important;
    transform: none !important;
    list-style: none;
}

body.lu720 footer.site-footer p,
body.lu720 footer.site-footer p:nth-child(1),
body.lu720 footer.site-footer p:nth-child(2),
body.lu720 footer.site-footer p:nth-child(3),
body.lu720 footer.site-footer p:nth-child(4) {
    float: none !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    margin: .42rem 0 0 !important;
    border: 0 !important;
    background: none !important;
    color: #fff !important;
    font-size: .24rem !important;
    line-height: 1.6 !important;
    text-align: center !important;
    display: block !important;
}

body.lu720 footer.site-footer p.footer-note,
body.lu720 footer.site-footer p.footer-note:nth-child(3) {
    margin-top: .18rem !important;
    color: rgba(255, 255, 255, .55) !important;
    font-size: .11rem !important;
    line-height: 1.8 !important;
}

body.lu720 footer.site-footer .footer-brand {
    color: #fff !important;
    font-size: .24rem !important;
    font-weight: 300 !important;
    letter-spacing: .24em !important;
    text-transform: uppercase !important;
}

body.lu720 footer.site-footer p a {
    color: inherit !important;
}

/* filing block (home only) should not inherit the blue footer styles */
body.lu720 .gf-filing {
    background: #000 !important;
    color: rgba(255, 255, 255, .45) !important;
    padding: .12rem .3rem .3rem !important;
    font-size: .11rem !important;
}

body.lu720 .gf-filing a {
    color: rgba(255, 255, 255, .45) !important;
}
/* Production shop: legacy paragraph margins add 18px; pull cards back to the 720 reference. */
body.lu720-shop .shop-toolbar {
    padding-bottom: .08rem;
}
/* Backend-managed 720 hero carousel */
.hero-slider {
    position: relative;
    width: 100%;
    height: 9.6rem;
    overflow: hidden;
}

.hero-slider .swiper-wrapper,
.hero-slider .swiper-slide {
    width: 100%;
    height: 9.6rem;
}

.hero-slider .swiper-slide {
    position: relative;
    overflow: hidden;
}

.hero-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 0;
}

.hero-slider .hero-copy {
    position: relative;
    z-index: 2;
    height: 100%;
    box-sizing: border-box;
}

.hero-pagination {
    display: none;
}
.hero-slider .hero-copy h1 {
    font-size: .46rem;
    letter-spacing: .08em;
    white-space: nowrap;
}

.hero-slider .hero-copy p {
    width: 5.55rem;
}
.hero-slider .hero-copy p {
    margin-top: .26rem;
}

.hero-slider .hero-copy .btn {
    margin-top: .2rem;
}
/* Exact 720 vertical rhythm for the production home/shop cards */
body.lu720 .marquee,
body.lu720 .marquee-track,
body.lu720 .marquee-track span {
    height: .62rem;
}

body.lu720-home .section {
    padding-top: .9rem;
}

body.lu720 .product-media {
    height: 2.6rem;
}

body.lu720 .product-body {
    padding-top: .1rem;
}
body.lu720 .footer-contact {
    margin-top: .22rem;
    color: rgba(255, 255, 255, .62) !important;
    font-size: .12rem;
    line-height: 1.9;
    text-align: center;
}

body.lu720 .footer-contact span {
    display: block;
}

body.lu720 .footer-social {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .18rem;
    margin-top: .12rem;
}

body.lu720 .footer-social a {
    color: rgba(255, 255, 255, .75);
    font-size: .14rem;
}

body.lu720 footer.site-footer .footer-about {
    max-width: 5.2rem;
    margin: .2rem auto 0 !important;
    color: rgba(255, 255, 255, .52) !important;
    font-size: .1rem !important;
    line-height: 1.8 !important;
    text-align: center !important;
}

body.lu720 .footer-read {
    display: block;
    margin-top: .1rem;
    color: #fff !important;
    font-size: .1rem;
    letter-spacing: .16em;
    text-align: center;
    text-transform: uppercase;
}

body.lu720 footer.site-footer .footer-copy {
    margin: .24rem 0 0 !important;
    color: rgba(255, 255, 255, .45) !important;
    font-size: .09rem !important;
    text-align: center !important;
}

body.lu720 .footer-legal {
    display: flex;
    justify-content: center;
    gap: .28rem;
    margin-top: .12rem;
}

body.lu720 .footer-legal a {
    color: #fff !important;
    font-size: .09rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

body.lu720 footer.site-footer {
    min-height: 6.33rem;
}
.brand-wordmark {
    font-size: .28rem;
    letter-spacing: .26em;
}
body.lu720 footer.site-footer {
    min-height: 6.4rem;
}
body.lu720 .footer-links a {
    font-size: .09rem !important;
    letter-spacing: .08em;
    white-space: nowrap;
}
/* ---------- full homepage modules ---------- */
.module {
    background: #fff;
    padding: .7rem .3rem;
}

.module-head {
    text-align: center;
}

.module-head .eyebrow {
    color: var(--lu-muted);
}

.module-head h2 {
    margin: .08rem 0 0;
    color: var(--lu-black);
    font-size: .3rem;
    font-weight: 300;
    line-height: 1.35;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.promo-split {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    background: #fff;
}

.promo-panel {
    position: relative;
    height: 4.2rem;
    background: #e8e1d8;
    overflow: hidden;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.promo-panel img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.72) brightness(.82);
}

.promo-panel .promo-copy {
    position: relative;
    z-index: 2;
}

.promo-panel .eyebrow {
    color: rgba(255, 255, 255, .85);
}

.promo-panel h2 {
    margin: .08rem 0 .18rem;
    color: #fff;
    font-size: .34rem;
    font-weight: 300;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.promo-panel .btn {
    border-color: #fff;
    color: #fff;
}

.service-list {
    background: #fff;
}

.service-item {
    display: grid;
    grid-template-columns: .56rem 1fr;
    gap: .2rem;
    align-items: center;
    padding: .35rem .3rem;
    border-bottom: 1px solid var(--lu-line);
    text-align: center;
}

.service-item .service-icon {
    width: .56rem;
    height: .56rem;
    border: 1px solid var(--lu-line);
    color: var(--lu-ink);
    font-size: .26rem;
    line-height: .54rem;
    text-align: center;
}

.service-item h3 {
    margin: 0;
    color: var(--lu-ink);
    font-size: .14rem;
    font-weight: 400;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.service-item p {
    margin: .06rem 0 0;
    color: var(--lu-light);
    font-size: .11rem;
    line-height: 1.6;
}

.pink-banner {
    position: relative;
    min-height: 5.4rem;
    padding: 1.1rem .3rem .6rem;
    background: #f3dfe0;
    text-align: center;
    overflow: hidden;
}

.pink-banner > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .38;
}

.pink-banner .pink-copy {
    position: relative;
    z-index: 2;
    max-width: 5.4rem;
    margin: 0 auto;
}

.pink-copy h2 {
    margin: .08rem 0 .2rem;
    font-size: .4rem;
    font-weight: 300;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.pink-copy p {
    color: var(--lu-ink);
    font-size: .13rem;
    line-height: 1.8;
}

.about-shop {
    display: grid;
    grid-template-columns: 1fr;
    background: #fff;
}

.about-shop img {
    width: 100%;
    height: 4.2rem;
    object-fit: cover;
}

.about-copy {
    padding: .55rem .3rem .7rem;
    text-align: center;
}

.about-copy p {
    color: var(--lu-muted);
    font-size: .13rem;
    line-height: 1.8;
}

.reviews {
    padding: .55rem .3rem;
    background: #eee6e3;
    text-align: center;
}

.reviews .review-quote {
    max-width: 5.4rem;
    margin: .2rem auto;
    color: var(--lu-ink);
    font-size: .16rem;
    line-height: 1.7;
}

.review-person {
    display: inline-flex;
    align-items: center;
    gap: .12rem;
    color: var(--lu-muted);
    font-size: .11rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.review-person img {
    width: .5rem;
    height: .5rem;
    object-fit: cover;
    border-radius: 50%;
}

.promise-list {
    background: #fff;
}

.promise-item {
    padding: .32rem .3rem;
    border-bottom: 1px solid var(--lu-line);
    text-align: center;
}

.promise-item .promise-icon {
    display: block;
    margin: 0 auto .1rem;
    color: var(--lu-sand);
    font-size: .26rem;
}

.promise-item h3 {
    margin: 0;
    font-size: .13rem;
    font-weight: 400;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.promise-item p {
    margin: .08rem auto 0;
    max-width: 5.2rem;
    color: var(--lu-light);
    font-size: .11rem;
    line-height: 1.7;
}

.best-sellers {
    background: #f3f3f3;
    padding-top: .7rem;
}

.best-sellers .product-grid {
    margin-top: .3rem;
}

.category-tiles {
    background: #fff;
}

.category-tile {
    position: relative;
    height: 2.7rem;
    overflow: hidden;
}

.category-tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(.62) saturate(.7);
}

.category-tile span {
    position: absolute;
    left: .3rem;
    bottom: .25rem;
    color: #fff;
    font-size: .28rem;
    font-weight: 300;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.newsletter {
    padding: .6rem .3rem;
    background: #fff;
    text-align: center;
}

.newsletter .newsletter-icon {
    font-size: .3rem;
    color: var(--lu-ink);
}

.newsletter h2 {
    margin: .12rem 0;
    font-size: .24rem;
    font-weight: 300;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.newsletter p {
    color: var(--lu-light);
    font-size: .11rem;
}

.newsletter-form {
    display: flex;
    gap: .06rem;
    width: 5.2rem;
    margin: .2rem auto 0;
}

.newsletter-form input {
    flex: 1 1 0;
    height: .46rem;
    padding: 0 .14rem;
    border: 1px solid var(--lu-line);
    background: #fff;
    font-size: .12rem;
    outline: none;
}

.newsletter-form button {
    width: 1.3rem;
    height: .46rem;
    border: 1px solid var(--lu-black);
    background: #fff;
    color: var(--lu-black);
    font-size: .1rem;
    letter-spacing: .12em;
}

.news-card {
    width: 5.2rem;
    margin: .3rem auto 0;
    background: #fff;
    border: 1px solid var(--lu-line);
    text-align: center;
}

.news-card img {
    display: block;
    width: 100%;
    height: 2.6rem;
    object-fit: cover;
}

.news-card .news-date {
    display: inline-block;
    margin-top: -.18rem;
    padding: .06rem .14rem;
    background: #fff;
    color: var(--lu-muted);
    font-size: .1rem;
    letter-spacing: .08em;
    position: relative;
}

.news-card h3 {
    margin: .16rem .2rem 0;
    font-size: .16rem;
    font-weight: 400;
    letter-spacing: .08em;
}

.news-card p {
    margin: .1rem .2rem .2rem;
    color: var(--lu-light);
    font-size: .11rem;
    line-height: 1.7;
}

.brand-wall {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .2rem;
    align-items: center;
    padding: .6rem .3rem;
    background: #fff;
    border-top: 1px solid var(--lu-line);
}

.brand-wall img {
    width: 100%;
    max-height: .42rem;
    object-fit: contain;
    filter: grayscale(1);
    opacity: .75;
}

.instagram {
    padding: .5rem .3rem;
    background: #fff;
    border-top: 1px solid var(--lu-line);
    text-align: center;
}

.instagram-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .06rem;
    margin-top: .2rem;
}

.instagram-grid img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
}

body.lu720-goods .activity-bar {
    display: none !important;
}

body.lu720-goods .goods-title {
    text-transform: uppercase;
    word-break: normal;
    overflow-wrap: normal;
}

body.lu720 .product-title {
    word-break: normal;
    overflow-wrap: normal;
}
.product-subtitle {
    word-break: normal;
    overflow-wrap: normal;
}
/* reference layout corrections */
.promo-panel {
    height: 4.6rem;
    display: block;
    background: #f5f5f5;
    color: var(--lu-ink);
    text-align: left;
}

.promo-panel img {
    left: auto;
    right: 0;
    width: 50%;
    height: 100%;
    object-fit: cover;
    filter: none;
}

.promo-panel .promo-copy {
    position: absolute;
    left: 0;
    top: 0;
    width: 50%;
    height: 100%;
    padding: 0 .3rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.promo-panel .eyebrow {
    color: var(--lu-muted);
}

.promo-panel h2 {
    color: var(--lu-ink);
    margin: .06rem 0 .24rem;
    font-size: .32rem;
}

.promo-panel .btn {
    border-color: var(--lu-ink);
    color: var(--lu-ink);
}

.service-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .06rem;
    padding: .42rem .3rem;
    text-align: center;
}

.service-item .service-icon {
    width: .56rem;
    height: .56rem;
    margin-bottom: .08rem;
}

.service-item h3 {
    font-size: .14rem;
    letter-spacing: .16em;
}

.service-item p {
    max-width: 4.9rem;
    margin: .06rem auto 0;
}

.pink-banner {
    padding: 0;
    min-height: 0;
    background: #fff;
}

.pink-banner > img {
    position: static;
    display: block;
    width: 100%;
    height: 4.2rem;
    opacity: 1;
    object-fit: cover;
}

.pink-banner .pink-copy {
    max-width: none;
    padding: .45rem .3rem .6rem;
    background: #fff;
    text-align: left;
}

.pink-copy h2 {
    font-size: .34rem;
    margin: .06rem 0 .22rem;
}

.pink-copy p {
    color: var(--lu-muted);
    font-size: .13rem;
    line-height: 1.8;
}

.pink-copy .btn {
    margin-top: .24rem;
}

.reviews {
    padding: 0;
    background: #f0e4e2;
}

.reviews-photo {
    display: block;
    width: 100%;
    height: 4.2rem;
    object-fit: cover;
}

.reviews-inner {
    padding: .5rem .3rem .6rem;
    text-align: center;
}

.reviews .review-quote {
    margin: .3rem auto .25rem;
}

.promise-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.promise-item {
    border-bottom: 1px solid var(--lu-line);
    border-right: 1px solid var(--lu-line);
}

.promise-item:nth-child(2n) {
    border-right: 0;
}

.promise-item:nth-child(3) {
    grid-column: 1 / -1;
    border-right: 0;
}

.module-desc {
    max-width: 5.2rem;
    margin: .2rem auto 0;
    color: var(--lu-muted);
    font-size: .13rem;
    line-height: 1.8;
    text-align: center;
}

.module .module-cta {
    display: block;
    width: 1.8rem;
    margin: .24rem auto 0;
}

.about-copy .btn {
    margin-top: .26rem;
}
@font-face {
    font-family: "Marcellus";
    src: url("/resource/mobile/fonts/Marcellus.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

:root {
    --lu-muted: #616161;
    --lu-light: #8a8a8a;
    --lu-body: #f3f3f3;
}

.hero-copy .eyebrow {
    font-size: .14rem;
    letter-spacing: .82em;
    line-height: .18rem;
    margin-right: -.82em;
    margin-bottom: .2rem;
}

.hero-copy h1 {
    font-size: .42rem;
    font-weight: 300;
    line-height: 1.02;
    letter-spacing: .2em;
    margin: 0 0 .2rem;
}

.hero-copy p {
    font-size: .13rem;
    font-weight: 300;
    line-height: .23rem;
    letter-spacing: .025em;
    margin-top: 0;
    margin-bottom: .25rem;
    padding-right: 1rem;
}

.hero-copy .btn {
    height: .5rem;
    padding: 0 .3rem;
    font-size: .12rem;
    letter-spacing: .265em;
}

.section-head .eyebrow {
    font-size: .14rem;
    letter-spacing: .67em;
    line-height: .24rem;
    margin-right: -.67em;
}

.section-head h2 {
    font-size: .28rem;
    font-weight: 400;
    letter-spacing: .14em;
    line-height: 1.28;
}

.section-tabs a {
    font-size: .14rem;
}

.product-title {
    font-family: "Marcellus", serif;
    font-size: .14rem;
    font-weight: 400;
    line-height: .2rem;
    letter-spacing: .23em;
    margin-bottom: .1rem;
}

.product-subtitle {
    min-height: .4rem;
    font-size: .12rem;
    line-height: .2rem;
    color: rgba(0, 0, 0, .62);
}

.product-price {
    font-size: .14rem;
    font-weight: 500;
    line-height: .3rem;
    letter-spacing: .008em;
}

.product-cart {
    height: .6rem;
    font-size: .1rem;
    letter-spacing: .05em;
}

.product-body {
    padding: .17rem .08rem .16rem;
}

.product-badge {
    min-width: .44rem;
    height: .24rem;
    padding: 0 .07rem;
    font-size: .1rem;
    line-height: .24rem;
    font-weight: 700;
}

.product-badge--right {
    background: #e4c1b1;
}

.product-stars {
    font-size: .12rem;
}
@font-face {
    font-family: "Inter";
    src: url("/resource/mobile/fonts/Inter-300.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    src: url("/resource/mobile/fonts/Inter-400.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    src: url("/resource/mobile/fonts/Inter-500.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

body {
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.hero-copy p {
    width: 6.2rem;
    padding-right: 0;
    margin-bottom: 0;
}

.hero-copy .btn {
    margin-top: .17rem;
}
.hero-slider .hero-copy p {
    width: 6.2rem;
    padding-right: 0;
    margin-bottom: 0;
}

.hero-slider .hero-copy .btn {
    margin-top: .17rem;
}
:root {
    --lu-ink: #000000;
}

.eyebrow {
    font-size: .14rem;
    letter-spacing: .67em;
    line-height: .24rem;
    margin-right: -.67em;
}

.module-head h2,
.about-copy h2,
.pink-copy h2,
.newsletter h2 {
    font-size: .28rem;
    font-weight: 400;
    letter-spacing: .14em;
    line-height: 1.28;
}

.module-desc {
    font-size: .16rem;
    line-height: .3rem;
    max-width: 5.4rem;
}

.about-copy p,
.pink-copy p {
    font-size: .16rem;
    line-height: .3rem;
    letter-spacing: .015em;
}

.service-item h3 {
    font-size: .16rem;
    letter-spacing: .14em;
}

.service-item p {
    font-size: .13rem;
    line-height: 1.8;
}

.promise-item h3 {
    font-size: .16rem;
    letter-spacing: .14em;
}

.promise-item p {
    font-size: .12rem;
    line-height: 1.8;
}

.review-person {
    font-size: .12rem;
}

.newsletter p {
    font-size: .12rem;
}

.news-card h3 {
    font-size: .16rem;
    letter-spacing: .14em;
}

.news-card p {
    font-size: .12rem;
    line-height: 1.8;
}
.hero-copy p,
.hero-slider .hero-copy p {
    width: 6rem;
}
.hero-copy p,
.hero-slider .hero-copy p {
    width: 5.6rem;
    padding-right: 0;
}
.hero-slider .hero-copy h1 {
    font-size: .42rem;
    font-weight: 300;
    line-height: 1.02;
    letter-spacing: .2em;
    margin: 0 0 .2rem;
    white-space: nowrap;
}
body.lu720 .section {
    background: var(--lu-body);
}
.hero-copy p,
.hero-slider .hero-copy p {
    word-break: normal;
    overflow-wrap: normal;
}
.shop-toolbar .showing {
    font-size: .13rem;
}

.shop-toolbar .sorting {
    font-size: .14rem;
}

.shop-toolbar .filter-btn {
    font-size: .12rem;
}
.promo-panel img {
    left: 0;
    right: auto;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.promo-panel .promo-copy {
    width: 50%;
}
.service-list {
    background: var(--lu-body);
}

.service-item {
    border-bottom: 0;
    background: var(--lu-body);
}

.service-item .service-icon {
    width: .5rem;
    height: .5rem;
    border: 0;
    color: var(--lu-ink);
    line-height: 0;
}

.service-item .service-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.service-item h3::after {
    content: "◆";
    display: block;
    margin-top: .06rem;
    color: var(--lu-ink);
    font-size: .06rem;
    line-height: 1;
}
.service-item {
    padding: .5rem .3rem .55rem;
}
.pink-copy {
    text-align: left;
}

.pink-copy .eyebrow,
.pink-copy h2 {
    display: block;
    text-align: center;
}

.pink-copy .btn {
    display: flex;
    width: 1.96rem;
    margin: .24rem auto 0;
}

.about-copy {
    text-align: center;
}

.about-copy .eyebrow,
.about-copy h2 {
    display: block;
    text-align: center;
}

.about-copy p {
    text-align: left;
}

.about-copy .btn {
    display: flex;
    width: 1.96rem;
    margin: .26rem auto 0;
}

.review-quote {
    font-size: .16rem;
    line-height: .3rem;
}

.review-person {
    font-size: .14rem;
    line-height: .3rem;
}
.pink-copy p,
.about-copy p {
    font-weight: 300;
    color: #616161;
}

.reviews .review-quote {
    font-weight: 300;
    line-height: .3rem;
    color: #000;
}

.review-person {
    font-weight: 300;
    color: #616161;
}

.promise-list {
    background: #fff;
}

.promise-item {
    padding: .3rem .25rem .35rem;
}

.promise-item .promise-icon {
    width: .4rem;
    height: .4rem;
    margin: 0 auto .35rem;
    color: #e4c1b1;
    font-size: .4rem;
    line-height: 0;
}

.promise-item .promise-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.promise-item h3 {
    margin: 0 0 .15rem;
    font-size: .22rem;
    font-weight: 400;
    line-height: .3rem;
    letter-spacing: .14em;
    padding-left: .14em;
}

.promise-item h3::after {
    content: "◆";
    display: block;
    margin-top: .08rem;
    font-size: .06rem;
}

.promise-item p {
    max-width: 3.2rem;
    margin: 0 auto;
    color: #616161;
    font-size: .16rem;
    font-weight: 300;
    line-height: .3rem;
    letter-spacing: .015em;
}

.module-desc,
.service-item p,
.news-card p {
    font-weight: 300;
}

.service-item p {
    color: #616161;
}
.promise-item {
    border: 0 !important;
}
.eyebrow {
    color: #616161;
}

.hero-copy .eyebrow {
    color: #000000;
}
@font-face {
    font-family: "demo-icons";
    src: url("data:font/woff;base64,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") format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

[class^="fi-bd21-"]::before,
[class*=" fi-bd21-"]::before {
    font-family: "demo-icons";
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    display: inline-block;
}

.fi-bd21-natural::before { content: "\F108"; }
.fi-bd21-crown::before { content: "\F104"; }
.fi-bd21-cashback::before { content: "\F102"; }
.fi-bd21-ship::before { content: "\F10B"; }
.fi-bd21-24_7::before { content: "\F101"; }
.fi-bd21-money_back::before { content: "\F107"; }

.promise-icon,
.service-icon {
    font-size: .4rem;
    line-height: 1;
}

.promise-icon i,
.service-icon i {
    font-size: .4rem;
    line-height: 1;
}
/* ---------- product carousel ---------- */
.product-carousel {
    position: relative;
    width: 5.66rem;
    margin: .5rem auto 0;
}

.product-carousel .product-grid {
    width: 100%;
    margin: 0;
    display: flex;
    gap: .38rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.product-carousel .product-grid::-webkit-scrollbar {
    display: none;
}

.product-carousel .product-card {
    flex: 0 0 calc((100% - .38rem) / 2);
    min-width: 0;
    scroll-snap-align: start;
}

.product-arrow {
    position: absolute;
    top: 1.3rem;
    z-index: 5;
    width: .4rem;
    height: .4rem;
    padding: 0;
    border: 1px solid var(--lu-line);
    border-radius: 50%;
    background: rgba(255, 255, 255, .94);
    color: var(--lu-ink);
    font-size: .26rem;
    line-height: .38rem;
    text-align: center;
    cursor: pointer;
}

.product-arrow.prev { left: -.28rem; }
.product-arrow.next { right: -.28rem; }

.product-arrow[disabled] {
    opacity: .25;
    pointer-events: none;
}
.product-carousel .product-grid {
    scroll-snap-type: none;
    scroll-behavior: auto;
}
.product-arrow {
    width: .36rem;
    height: .4rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--lu-ink);
    font-size: .3rem;
    line-height: .4rem;
    opacity: .6;
}

.product-arrow.prev { left: -.34rem; }
.product-arrow.next { right: -.34rem; }

.product-arrow[disabled] {
    opacity: .2;
}
/* Hero copy is white on the demo image */
.hero-copy .eyebrow,
.hero-copy h1,
.hero-copy p {
    color: #fff;
}

.hero-scroll {
    color: #fff;
    border-color: rgba(255, 255, 255, .5);
}

/* HITS explore centered outline button */
.best-sellers .module-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.43rem;
    height: .44rem;
    margin: .45rem auto 0;
    padding: 0;
    border: 1px solid #000;
    background: #fff;
    color: #000;
    font-size: .12rem;
    letter-spacing: .2em;
}

/* Category tiles */
.category-tile {
    height: 2.2rem;
}

.category-tile img {
    filter: none;
}

.category-tile span {
    top: 50%;
    bottom: auto;
    left: .38rem;
    transform: translateY(-50%);
    color: #fff;
    font-size: .4rem;
    font-weight: 300;
    letter-spacing: .1em;
}

/* News carousel */
.news-section {
    background: #f3f3f3;
}

.news-carousel {
    position: relative;
    width: 3.6rem;
    margin: .4rem auto 0;
}

.news-track {
    display: flex;
    gap: .3rem;
    width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.news-track::-webkit-scrollbar {
    display: none;
}

.news-card {
    flex: 0 0 3.6rem;
    width: 3.6rem;
    margin: 0;
    border: 0;
    background: #fff;
    text-align: center;
}

.news-card .news-media {
    position: relative;
}

.news-card img {
    display: block;
    width: 100%;
    height: 2.05rem;
    object-fit: cover;
}

.news-card .news-date {
    position: absolute;
    left: 50%;
    bottom: -.21rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.66rem;
    height: .42rem;
    margin: 0;
    padding: 0;
    transform: translateX(-50%);
    background: #000;
    color: #fff;
    font-size: .12rem;
    letter-spacing: .1em;
}

.news-card h3 {
    margin: .4rem .3rem 0;
    font-size: .18rem;
    font-weight: 400;
    line-height: .3rem;
    letter-spacing: .14em;
}

.news-card p {
    margin: .2rem .3rem 0;
    color: #616161;
    font-size: .14rem;
    font-weight: 300;
    line-height: .3rem;
}

.news-card .news-tags {
    margin-top: .18rem;
    color: #8a8a8a;
    font-size: .12rem;
    letter-spacing: .08em;
}

.news-card .news-more {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: .44rem;
    margin: .25rem auto .3rem;
    border: 1px solid #000;
    color: #000;
    font-size: .12rem;
    letter-spacing: .2em;
}

.news-carousel .product-arrow {
    top: .85rem;
}
.newsletter {
    position: relative;
    padding: .65rem .3rem;
    background: #fff;
    text-align: left;
}

.newsletter .newsletter-icon {
    position: absolute;
    top: .62rem;
    left: .3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: .55rem;
    height: .55rem;
    color: #000;
    font-size: .48rem;
    line-height: 1;
}

.newsletter h2 {
    max-width: 3.8rem;
    margin: 0 0 .3rem .75rem;
    color: #000;
    font-size: .28rem;
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: .14em;
    text-align: left;
}

.newsletter p {
    margin: 0 0 .25rem;
    color: #616161;
    font-size: .16rem;
    font-weight: 300;
    line-height: .3rem;
    text-align: left;
}

.newsletter .newsletter-form {
    display: flex;
    flex-direction: column;
    gap: .14rem;
    width: auto;
    margin: 0;
}

.newsletter .newsletter-form input {
    width: 100%;
    height: .5rem;
    padding: 0 .16rem;
    border: 0;
    background: #f3f3f3;
    color: #000;
    font-size: .14rem;
}

.newsletter .newsletter-form button {
    width: 100%;
    height: .44rem;
    border: 1px solid #000;
    background: #fff;
    color: #000;
    font-size: .12rem;
    letter-spacing: .2em;
}
.promise-item p,
.news-card p,
.news-card h3,
.pink-copy p,
.about-copy p,
.service-item p,
.newsletter p,
.newsletter h2,
.module-desc,
.review-quote {
    word-break: normal;
    overflow-wrap: normal;
}

.newsletter h2 {
    max-width: 3.2rem;
}
.promise-item p,
.news-card p,
.news-card h3,
.pink-copy p,
.about-copy p,
.service-item p,
.newsletter p,
.newsletter h2,
.module-desc,
.review-quote {
    word-break: keep-all;
    overflow-wrap: break-word;
    hyphens: none;
}
.newsletter h2 {
    max-width: 2.8rem;
}
.fi-bd21-subscribe::before { content: "\F10C"; }

.newsletter .newsletter-icon {
    width: .8rem;
    font-size: .6rem;
}

.newsletter h2 {
    max-width: 2.5rem;
    margin-left: 1.13rem;
}
.newsletter .newsletter-icon {
    width: .9rem;
    height: .6rem;
    font-size: .72rem;
}
.category-tile img {
    height: 2.2rem !important;
    display: block;
}

.newsletter .newsletter-icon img {
    display: block;
    width: .94rem;
    height: .71rem;
}

.newsletter .newsletter-image {
    height: 4.3rem;
    margin: .4rem -.3rem -.65rem;
    overflow: hidden;
}

.newsletter .newsletter-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* brand wall: exact demo logos, no grayscale */
.brand-wall {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0;
    padding: .45rem .3rem;
    background: #fff;
    border: 0;
}

.brand-wall img {
    width: 33.3333%;
    max-height: .5rem;
    padding: .1rem .2rem;
    object-fit: contain;
    filter: none;
    opacity: 1;
}

/* instagram collage */
.instagram {
    position: relative;
    padding: .35rem 0 0;
    background: #fff;
    border: 0;
    overflow: hidden;
    text-align: center;
}

.instagram-collage {
    position: relative;
    display: flex;
    justify-content: center;
    height: 4.6rem;
    overflow: hidden;
}

.insta-item {
    flex: 0 0 33.3333%;
    width: 33.3333%;
    overflow: hidden;
}

.insta-item img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
}

.insta-item.insta-left { transform: translateY(.37rem); }
.insta-item.insta-center { transform: translateY(0); }
.insta-item.insta-right { transform: translateY(.75rem); }

.instagram-info {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 2.3rem;
    height: 2.3rem;
    transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, .95);
}

.instagram-info svg {
    width: .2rem;
    height: .2rem;
    color: #000;
}

.instagram-info .instagram-name {
    margin-top: .16rem;
    padding-left: .67em;
    font-family: "Marcellus", serif;
    font-size: .14rem;
    letter-spacing: .67em;
    line-height: .28rem;
}

.instagram-info .instagram-handle {
    margin-top: .12rem;
    font-size: .17rem;
    letter-spacing: .2em;
    line-height: .25rem;
}
.fi-bd21-phone::before { content: "\F10A"; }
.fi-bd21-map-pin::before { content: "\F106"; }
.fi-bd21-time::before { content: "\F10D"; }

body.lu720 footer.site-footer {
    min-height: 0 !important;
    background-color: #000 !important;
    background-image: url("/resource/mobile/images/luchiana/footer-pattern.png") !important;
    background-repeat: repeat !important;
    background-size: 2.9rem auto !important;
}

body.lu720 footer.site-footer .footer-links {
    border-bottom: 0;
}

body.lu720 footer.site-footer .footer-links a {
    font-size: .12rem !important;
    letter-spacing: .14em;
}

body.lu720 footer.site-footer .footer-contact {
    color: #fff !important;
    font-size: .13rem !important;
}

body.lu720 footer.site-footer .footer-contact i {
    font-size: .13rem;
    margin-right: .06rem;
}

body.lu720 footer.site-footer .footer-brand {
    font-size: .4rem !important;
    letter-spacing: .22em !important;
}

body.lu720 footer.site-footer .footer-about {
    max-width: 5.4rem;
    color: #868686 !important;
    font-size: .12rem !important;
    line-height: 1.6 !important;
}

body.lu720 footer.site-footer .footer-copy,
body.lu720 footer.site-footer .footer-legal {
    font-size: .1rem !important;
}

body.lu720 footer.site-footer .footer-social {
    margin-top: .3rem;
    color: #e4c1b1;
    font-size: .16rem;
}
body.lu720 footer.site-footer .footer-brand {
    font-size: .56rem !important;
    letter-spacing: .24em !important;
}
/* fixed header */
.site-header {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    background: transparent !important;
    transition: background-color .25s ease;
}

.site-header.is-scrolled {
    background: rgba(255, 255, 255, .94) !important;
}

/* promo: image only in right half */
.promo-panel {
    height: 3.7rem;
    background: #e5ebe9;
}

.promo-panel:nth-child(2) {
    background: #d7dfdf;
}

.promo-panel img {
    left: auto;
    right: 0;
    width: 50%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
}

.promo-panel .promo-copy {
    width: 50%;
}

/* brand / instagram gray background */
.brand-wall,
.instagram {
    background: #f3f3f3;
}

/* newsletter input height */
.newsletter .newsletter-form input {
    flex: 0 0 .5rem;
    min-height: .5rem;
    height: .5rem !important;
    line-height: .5rem;
    box-sizing: border-box;
}

.promo-panel:nth-child(2) {
    height: 3.3rem;
}
.promo-panel {
    height: 2.5rem;
    background: #e5ebe9;
}

.promo-panel:nth-child(2) {
    height: 2.3rem;
    background: #d7dfdf;
}

.promo-panel img {
    left: 0;
    right: auto;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}


.site-header.is-scrolled {
    background: #fff !important;
}









.brand-wordmark {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    color: #000 !important;
    line-height: 1;
    text-decoration: none;
}

.brand-wordmark .brand-cn {
    color: #000 !important;
    font-family: "Noto Sans SC", "Source Han Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: .34rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .08em;
}

.brand-wordmark .brand-en {
    margin-top: .06rem;
    color: #000 !important;
    font-family: "Inter", "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: .09rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .2em;
}
.brand-wordmark {
    display: inline-flex;
    align-items: center;
    color: #000 !important;
    line-height: 1;
    text-decoration: none;
}

.brand-wordmark img {
    display: block;
    width: auto;
    height: .42rem;
}









/* Mobile type scale: rem only, 375 baseline (1rem = 52.08px) */








/* Fluid single design: no per-device layout/type breakpoints */
.hero-slider,
.hero-slider .swiper-wrapper,
.hero-slider .swiper-slide {
    height: clamp(500px, 133.33vw, 960px);
    min-height: 0;
}

.hero-slider .hero-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding-top: 0;
    padding-bottom: clamp(8px, 2vw, 24px);
}

.hero-slider .hero-copy .eyebrow {
    font-size: 0.2112rem;
    letter-spacing: .82em;
    line-height: 1.3;
    margin-bottom: clamp(10px, 2.5vw, 20px);
}

.hero-slider .hero-copy h1 {
    width: calc(100% - clamp(20px, 4vw, 30px));
    margin: 0 0 clamp(12px, 2.5vw, 20px);
    font-size: 0.6144rem;
    font-weight: 300;
    line-height: 1.02;
    letter-spacing: .2em;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
}

.hero-slider .hero-copy p {
    width: min(70%, 5.6rem);
    max-width: calc(100% - clamp(20px, 4vw, 30px));
    margin: 0 0 clamp(12px, 2.5vw, 25px);
    padding: 0;
    font-size: 0.2304rem;
    line-height: 1.77;
}

.hero-slider .hero-copy .btn {
    min-width: clamp(140px, 27vw, 196px);
    height: clamp(42px, 7vw, 50px);
    padding: 0 clamp(20px, 4vw, 30px);
    font-size: 0.2112rem;
    letter-spacing: .265em;
}

.hero-slider .hero-scroll {
    bottom: clamp(18px, 4vw, 30px);
    width: clamp(34px, 5.3vw, 52px);
    height: clamp(34px, 5.3vw, 52px);
}

.hero-copy .eyebrow,
.section-head .eyebrow,
.module-head .eyebrow,
.eyebrow {
    font-size: 0.2112rem;
}

.section-head h2,
.module-head h2,
.about-copy h2,
.pink-copy h2,
.newsletter h2 {
    font-size: 0.4224rem;
    line-height: 1.28;
}

.module-desc,
.about-copy p,
.pink-copy p,
.newsletter p {
    font-size: 0.2688rem;
    line-height: 1.9;
}

.section-tabs a {
    font-size: 0.2304rem;
}

.product-title {
    font-size: 0.2496rem;
    line-height: 1.4;
}

.product-subtitle {
    font-size: 0.2112rem;
    line-height: 1.8;
}

.product-price {
    font-size: 0.2496rem;
}

.product-cart {
    height: clamp(48px, 8.3vw, 60px);
    font-size: 0.1728rem;
}

.product-badge {
    min-width: clamp(36px, 6.1vw, 44px);
    height: clamp(20px, 3.3vw, 24px);
    padding: 0 6px;
    font-size: 0.1728rem;
    line-height: clamp(20px, 3.3vw, 24px);
}

.product-stars {
    font-size: 0.192rem;
}

.category-tile {
    height: clamp(140px, 30.5vw, 220px);
}

.category-tile span {
    font-size: 0.5376rem;
}

.promise-item h3 {
    font-size: 0.3456rem;
}

.promise-item p {
    font-size: 0.2688rem;
    line-height: 1.9;
}

.service-item h3 {
    font-size: 0.2688rem;
}

.service-item p {
    font-size: 0.2304rem;
}

.news-card h3 {
    font-size: 0.288rem;
}

.news-card p {
    font-size: 0.2304rem;
}

.review-quote {
    font-size: 0.2688rem;
}

.review-person {
    font-size: 0.2304rem;
}

.product-carousel .product-card {
    flex: 0 0 clamp(230px, 72vw, 260px);
    width: clamp(230px, 72vw, 260px);
}

.product-media {
    height: auto;
    aspect-ratio: 1;
}

.product-media img {
    height: 100%;
    object-fit: cover;
}

.newsletter .newsletter-form input {
    height: clamp(38px, 6.7vw, 50px);
}

.newsletter .newsletter-form button {
    height: clamp(36px, 6.1vw, 44px);
}

.newsletter h2 {
    max-width: none;
    width: auto;
    margin-left: clamp(55px, 15vw, 113px);
    word-break: normal;
    overflow-wrap: normal;
}

.promise-list {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.promise-item:nth-child(3) {
    grid-column: 1 / -1;
}

.news-carousel {
    width: min(360px, calc(100vw - 20px));
}

.news-card {
    flex: 0 0 100%;
    width: 100%;
}

.news-card .news-date {
    width: min(220px, 60%);
}

.review-role {
    display: none;
}

.review-person {
    text-transform: none;
}

    .category-tile {
        height: clamp(200px, 58.67vw, 220px);
    }

    .category-tile img {
        height: 100% !important;
    }

    .category-tile span {
        font-size: 0.576rem;
    }

    .news-card img {
        height: clamp(190px, 54vw, 205px);
    }

    .newsletter .newsletter-image {
        height: clamp(300px, 60vw, 430px);
    }

    .newsletter h2 {
        margin-left: clamp(80px, 19vw, 143px);
    }

    .promise-item .promise-icon,
    .service-item .service-icon {
        width: clamp(30px, 7.7vw, 40px);
        height: clamp(30px, 7.7vw, 40px);
    }

.hero-slider,
.hero-slider .swiper-wrapper,
.hero-slider .swiper-slide {
    height: max(100vh, min(133.33vw, 960px));
    min-height: 0;
}
/* readable fluid bounds */
.hero-slider .hero-copy h1 { font-size: 0.7296rem; }
.hero-slider .hero-copy .eyebrow { font-size: 0.2304rem; }
.hero-slider .hero-copy p { font-size: 0.2496rem; }
.hero-slider .hero-copy .btn { font-size: 0.2304rem; }
.section-head h2,
.module-head h2,
.about-copy h2,
.pink-copy h2,
.newsletter h2 { font-size: 0.4992rem; }
.hero-copy .eyebrow,
.section-head .eyebrow,
.module-head .eyebrow,
.eyebrow { font-size: 0.2304rem; }
.module-desc,
.about-copy p,
.pink-copy p,
.newsletter p { font-size: 0.2688rem; }
.section-tabs a { font-size: 0.2304rem; }
.product-title { font-size: 0.2688rem; }
.product-subtitle { font-size: 0.2304rem; }
.product-price { font-size: 0.2496rem; }
.product-cart { font-size: 0.192rem; }
.category-tile span { font-size: 0.6912rem; }
.promise-item h3 { font-size: 0.384rem; }
.service-item p { font-size: 0.2496rem; }
.news-card h3 { font-size: 0.3072rem; }
.news-card p { font-size: 0.2496rem; }
.review-quote { font-size: 0.288rem; }
/* Match demo's 375 type while keeping one fluid layout */
.hero-slider .hero-copy h1 { font-size: 0.8064rem; }
.hero-slider .hero-copy p { font-size: 0.2496rem; line-height: 23px; width: clamp(240px, 70%, 300px); }
.hero-slider .hero-copy .btn { min-width: 196px; height: 50px; font-size: 0.2304rem; }
.section-head h2,
.module-head h2,
.about-copy h2,
.pink-copy h2,
.newsletter h2 { font-size: 0.5376rem; }
.hero-copy .eyebrow,
.section-head .eyebrow,
.module-head .eyebrow,
.eyebrow { font-size: 0.2688rem; }
.module-desc,
.about-copy p,
.pink-copy p,
.newsletter p { font-size: 0.3072rem; line-height: 30px; }
.section-tabs a { font-size: 0.2688rem; }
.product-title { font-size: 0.3072rem; }
.product-subtitle { font-size: 0.2304rem; }
.product-price { font-size: 0.2688rem; }
.product-cart { font-size: 0.192rem; height: 60px; }
.product-card { flex: 0 0 clamp(260px, 72vw, 270px); width: clamp(260px, 72vw, 270px); }
.product-title { max-width: 180px; margin-left: auto; margin-right: auto; line-height: 22px; }
.product-body { padding: 17px 25px 16px; }
.best-sellers .module-cta { width: 143px; min-width: 143px; height: 44px; font-size: 0.2304rem; }
.category-tile span { font-size: 0.768rem; }
.promise-item h3 { font-size: 0.4224rem; }
.promise-item p { font-size: 0.3072rem; line-height: 30px; }
.service-item h3 { font-size: 0.3072rem; }
.service-item p { font-size: 0.2496rem; }
.news-card h3 { font-size: 0.3456rem; }
.news-card p { font-size: 0.2688rem; }
.review-quote { font-size: 0.3072rem; }
.newsletter .newsletter-form input { height: 48px; }
.newsletter .newsletter-form button { height: 44px; }
body.lu720 footer.site-footer .footer-links a { font-size: 0.2304rem !important; }
body.lu720 footer.site-footer .footer-contact { font-size: 0.2496rem !important; }
body.lu720 footer.site-footer .footer-brand { font-size: 0.768rem !important; }
body.lu720 footer.site-footer .footer-about { font-size: 0.2304rem !important; line-height: 19px !important; }
.section-tabs {
    width: clamp(315px, 5.66rem, 566px);
    justify-content: space-between;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
}

.section-tabs::-webkit-scrollbar {
    display: none;
}

.section-tabs a {
    flex: 0 0 auto;
    white-space: nowrap;
    word-break: normal;
    font-size: 0.2688rem;
}
.promise-item .promise-icon,
.service-item .service-icon {
    width: 40px;
    height: 40px;
    font-size: 0.768rem;
}

.promise-item .promise-icon i,
.service-item .service-icon i {
    font-size: 0.768rem;
}
body.lu720 .product-media,
.product-media {
    height: auto !important;
    aspect-ratio: 1;
}

body.lu720 .product-media img,
.product-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.product-carousel {
    width: clamp(270px, calc(270px + (100vw - 375px) * .858), 566px);
}

.product-carousel .product-card,
.product-card {
    flex: 0 0 max(260px, calc(270px - (100vw - 375px) * .029));
    width: max(260px, calc(270px - (100vw - 375px) * .029));
}
.hero-slider,
.hero-slider .swiper-wrapper,
.hero-slider .swiper-slide {
    height: clamp(640px, 85vh, 960px);
    min-height: 0;
}
.hero-slider,
.hero-slider .swiper-wrapper,
.hero-slider .swiper-slide {
    height: min(max(100vh, 133.33vw), 960px);
    min-height: 0;
}
.news-carousel {
    width: min(360px, 84vw);
}

.news-card {
    flex: 0 0 100%;
    width: 100%;
}

.news-card img {
    width: 100%;
    height: auto;
    aspect-ratio: 760 / 428;
    object-fit: cover;
}

.news-card .news-date {
    width: 166px;
    height: 48px;
    bottom: -24px;
    font-size: 0.2304rem;
    line-height: 20px;
    white-space: normal;
    text-align: center;
}
.news-card h3 {
    margin-top: 40px;
}

.news-card .news-date {
    width: 150px;
    white-space: normal;
}
/* promo heights matching demo at 375/720 */
.promo-panel {
    height: clamp(250px, 51.4vw, 370px);
}

.promo-panel:nth-child(2) {
    height: clamp(230px, 45.8vw, 330px);
}

.promo-copy h2 {
    font-size: 0.4608rem;
}

.promo-copy .btn {
    width: 143px;
    min-width: 143px;
    height: 44px;
    padding: 0;
    font-size: 0.2304rem;
}

/* footer */
.footer-brand img {
    display: block;
    width: 200px;
    height: auto;
    margin: 0 auto;
}

.footer-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
}

.footer-social svg {
    width: 18px;
    height: 18px;
    color: #e4c1b1;
}

@media (max-width: 480px) {
    .footer-links {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 23px;
        padding-bottom: 30px;
    }

    .footer-links a {
        font-size: 0.2304rem !important;
        letter-spacing: 1.6px;
    }

    .footer-contact {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        width: 280px;
        max-width: 80%;
        margin: 30px auto 0;
        text-align: left;
    }

    .footer-contact span {
        display: flex;
        align-items: center;
        gap: 10px;
        width: 100%;
        font-size: 0.2496rem;
        line-height: 32px;
    }

    .footer-contact i {
        flex: 0 0 16px;
        width: 16px;
        font-size: 0.2496rem;
        margin: 0;
    }

    .footer-brand {
        margin-top: 20px !important;
    }

    .footer-social {
        margin-top: 15px;
        gap: 14px;
    }

    .footer-about {
        margin-top: 25px !important;
    }

    .footer-copy {
        font-size: 0.192rem !important;
    }

    .footer-legal {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        margin-top: 20px;
        font-size: 0.192rem !important;
    }
}
.promo-copy h2 {
    font-size: 0.5376rem;
}
.promo-copy {
    width: 55%;
}

.promo-copy .eyebrow {
    white-space: nowrap;
}

.footer-contact {
    padding-left: 30px;
    box-sizing: border-box;
}

.footer-contact span {
    justify-content: flex-start;
    text-align: left;
}

.footer-about {
    word-break: normal;
    overflow-wrap: normal;
}
.product-carousel .product-grid {
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
}

.product-carousel .product-card {
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.news-track {
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
}

.news-card {
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.footer-brand img {
    width: clamp(100px, 26vw, 150px);
}

.footer-legal,
.footer-legal a {
    font-size: 0.2304rem !important;
}

.footer-copy {
    font-size: 0.2112rem !important;
}
.product-carousel .product-grid,
.news-track {
    scroll-snap-type: none !important;
    scroll-behavior: auto;
    touch-action: pan-y;
}

.product-carousel .product-card,
.news-card {
    scroll-snap-align: none;
    scroll-snap-stop: normal;
}
html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

.section-head,
.module-head {
    max-width: 100%;
    overflow: hidden;
}

.footer-brand img {
    width: auto;
    height: .42rem;
    max-width: 100%;
}
.category-tile span {
    white-space: nowrap;
    word-break: keep-all;
    writing-mode: horizontal-tb;
}

.hero-timer {
    position: absolute;
    right: clamp(16px, 3vw, 30px);
    bottom: clamp(18px, 4vw, 30px);
    z-index: 4;
    width: clamp(26px, 4vw, 34px);
    height: clamp(26px, 4vw, 34px);
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 50%;
    pointer-events: none;
}

.hero-timer::before {
    content: "";
    position: absolute;
    inset: -1px;
    border: 1px solid transparent;
    border-top-color: #fff;
    border-radius: 50%;
    animation: hero-timer-spin 1.1s linear infinite;
}

@keyframes hero-timer-spin {
    to { transform: rotate(360deg); }
}
.hero-timer {
    display: none !important;
}

.hero-pagination {
    display: none !important;
}

.hero-progress {
    position: absolute;
    right: clamp(18px, 4vw, 30px);
    bottom: clamp(18px, 4vw, 30px);
    z-index: 5;
    display: flex;
    align-items: center;
    gap: clamp(8px, 1.6vw, 12px);
}

.hero-progress__item {
    position: relative;
    display: block;
    width: clamp(28px, 4.4vw, 36px);
    height: clamp(28px, 4.4vw, 36px);
    padding: 0;
    border: 0;
    background: transparent;
    color: #fff;
    cursor: pointer;
}

.hero-progress__item svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.hero-progress__bg {
    fill: none;
    stroke: rgba(255, 255, 255, .38);
    stroke-width: 1.5;
}

.hero-progress__ring {
    fill: none;
    stroke: #fff;
    stroke-width: 1.5;
    stroke-dasharray: 100.5;
    stroke-dashoffset: 100.5;
}

.hero-progress__item.is-active .hero-progress__ring {
    transition: stroke-dashoffset 5s linear;
    stroke-dashoffset: 0;
}

.hero-progress__item span {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.2112rem;
    line-height: 1;
}
.hero-progress__item {
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .45));
}

.hero-progress__item span {
    text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
}
