.hero {
    display: block;
    min-height: 600px;
    background: #edf3ef;
    overflow: hidden;
}

.hero-slider {
    position: relative;
    width: 100%;
    min-height: 600px;
}

.hero-slide {
    display: none;
    grid-template-columns: 1fr 1fr;
    min-height: 600px;
}

.hero-slide.active {
    display: grid;
}

.hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 70px max(24px, calc((100vw - 1260px) / 2 + 24px));
    background: #f3f7f4;
}

.hero-copy h1 {
    font-family: "Playfair Display", serif;
    font-size: 45px;
    line-height: 1.28;
    margin: 12px 0 5px;
    color: #14241c;
}

.hero-copy p {
    max-width: 540px;
    color: #526057;
    line-height: 1.65;
    font-size: 12.8px;
    margin-bottom: 0;
    margin-top: 6px;
    text-align: justify;
}

.hero-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 22px;
}

.hero-visual {
    position: relative;
    min-height: 600px;
    background: #e5ece6;
    overflow: hidden;
}

.hero-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* không dùng absolute cho slide nữa */
.hero-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* dots */
.hero-dots {
    position: absolute;
    right: 40px;
    bottom: 24px;
    display: flex;
    gap: 10px;
    z-index: 20;
}

.hero-dot {
    width: 38px;
    height: 10px;
    border: none;
    border-radius: 999px;
    background: rgba(255,255,255,.45);
    cursor: pointer;
    transition: .3s;
}

.hero-dot.active {
    width: 60px;
    background: #224d3a;
}

.hero-dot:hover {
    background: #fff;
}

@media(max-width:980px) {
    .hero,
    .hero-slider,
    .hero-slide {
        min-height: 520px;
    }

    .hero-slide {
        grid-template-columns: 1fr;
    }

    .hero-copy {
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        z-index: 5;
        padding: 45px 24px;
        background: linear-gradient(180deg, rgba(20, 36, 28, .82), rgba(20, 36, 28, .05));
    }

    .hero-copy h1 {
        color: #fff;
        font-size: 44px;
        max-width: 760px;
    }

    .hero-copy p {
        color: #fff;
        max-width: 680px;
    }

    .hero-visual {
        min-height: 520px;
        grid-row: 1;
    }

    .hero-actions a.btn.outline {
        border: 1px solid #ffffff8f !important;
        color: #ffffff !important;
    }
}

@media(max-width:620px) {
    .hero,
    .hero-slider,
    .hero-slide {
        min-height: 430px;
    }

    .hero-copy {
        padding: 15px 14px;
        background: linear-gradient(180deg, #151e1a, transparent);
    }

    .hero-copy h1 {
        font-size: 25px;
        margin-top: 5px;
    }

    .hero-copy p {
        font-size: 12px;
        color: #fff !important;
    }

    .hero-visual {
        min-height: 430px;
    }

    .hero-dot {
        width: 28px;
        height: 8px;
    }

    .hero-dot.active {
        width: 45px;
    }

    .hero-dots {
        right: 16px;
        bottom: 14px;
    }
}

.editorial-row{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:16px;
}
.editorial-card{
    min-height:390px;
    position:relative;
    overflow:hidden;
    background:#e5ece6;
}
.editorial-card:after {
    content: attr(data-title);
    position: absolute;
    left: 20px;
    bottom: 16px;
    color: #fff;
    font-family: "Playfair Display", serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .85px;
    text-transform: none;
}
.story{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    align-items:stretch;
}
.story-img{min-height:440px;background:#e5ece6}
.story-copy{
    background:#fff;
    border:1px solid var(--line);
    padding:38px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.story-copy h2{
    font-family:"Playfair Display",serif;
    font-size:36px;
    line-height:1.05;
    margin:8px 0 12px;
}
.story-copy p{color:var(--muted);line-height:1.65}
.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.pill{
    border:1px solid var(--line);
    background:#fff;
    padding:8px 11px;
    font-size:12px;
    font-weight:500;
}
.benefits{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}
.benefit{
    background:#fff;
    border:1px solid var(--line);
    padding:20px;
}
.benefit i{font-size:20px;color:var(--brand)}
.benefit h3{font-size:15px;margin:12px 0 6px}
.benefit p{margin:0;color:var(--muted);line-height:1.55;font-size:13px}
@media(max-width:980px){
    .hero{grid-template-columns:1fr}
    .hero-copy h1{font-size:44px}
    .hero-visual{min-height:520px}
    .story{grid-template-columns:1fr}
    .editorial-row{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
    .hero-copy {
        padding: 15px 14px;
        position: absolute;
        z-index: 11111;
        background: linear-gradient(180deg, #151e1a, transparent);
    }
    .home-trust-strip {
        display: none;
    }
    .hero-copy h1{font-size:22px;margin-top: 5px;}
    .hero-visual{min-height:430px}
    .editorial-card{min-height:280px}
    .story-copy{padding:26px}
    .story-copy h2{font-size:28px}
    .category-head .kicker , .section-head .kicker{
        color: var(--brand) !important;
    }
    .hero-copy h1 {
        color: #fff;
    }
    .hero-copy p {
        color: #fff !important;
                margin-bottom: 10px !important;
    }
    .btn {
        min-height: 35px !important;
        padding: 0 15px !important;
        font-size: 12px !important;
    }
    .hero-copy .hero-actions a.btn.outline {
        border: 1px solid #ffffff8f !important;
        color: #ffffff !important;
    }
    .home-brand-grid , .editorial-row{
        gap: 10px !important;padding-bottom: 0px !important;
    }
    .home-trust-item i {
        font-size: 16px;
    }
    .brand-card-content h3 {
        margin: 0 0 0px;
        color: #173629;
        font-size: 18px;
        font-weight: 500;
        font-family: "Playfair Display", serif;
    }
    .brand-card-content p {
        font-size: 12px;
        text-align: justify;
    }
    .brand-card-content {
        padding: 12px;
    }
    .story-copy {
        background: #ffffff00 !important;
        border: 0px solid var(--line) !important;
        padding: 20px !important;
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin-top: -115% !important;
    }
    .story-img {
        min-height: 200px;
    }
    .editorial-card , .brand-card , .home-review-card{
        flex: 0 0 80% !important;
    }.home-review-card p {
        font-size: 12px;
    }
    .section-head {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: 28px;
        margin-bottom: 12px;
    }
    .category-head {
        margin-bottom: 15px !important;
    }
    .home-review-card {
        padding: 12px !important;
    }.home-review-grid {
    padding-bottom: 0px !important;
    }
    .benefits {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 8px;
        padding: 0px 0 0px 0;
        -webkit-overflow-scrolling: touch;
        margin: 0px 14px;
    }
    .benefit {
        flex: 0 0 66%;
        scroll-snap-align: center;
        display: flex;
        flex-direction: column;
        padding: 12px;
    }
    .footer {
        margin-top: 20px;
        background: #173629;
        color: #fff;
        padding-top: 20px;
    }

}

.category-section{
    background:#f7f8f6;
}

.category-head{
    margin-bottom:34px;
}

.category-showcase{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:18px;
}

.category-card{
    display:block;
    background:#f3f1eb;
    border:1px solid var(--line);
    overflow:hidden;
    transition:.25s ease;
}

.category-card:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 36px rgba(23,54,41,.12);
}

.category-image{
    height:239px;
    background:#173629;
    overflow:hidden;
}

.category-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.35s ease;
}

.category-card:hover .category-image img{
    transform:scale(1.035);
}

.category-content {
    min-height: 110px;
    padding: 16px;
    text-align: center;
    background: #f3f1eba6;
    color: #173629;
    position: relative;
    margin-top: -116px;
}

.category-content i {
    font-family: "Font Awesome 6 Free" !important;
    font-size: 25px;
    margin-bottom: 12px;
    color: #173629;
    font-weight: 400;
}

.category-content h3 {
    margin: 0;
    font-family: "Playfair Display",serif;
    font-size: 20px;
    line-height: 1.1;
    font-weight: 500;
    text-transform: none;
}

.category-content span {
    display: block;
    width: 50px;
    height: 1px;
    background: #173629;
    margin: 15px auto 8px;
}

.category-content p{
    margin:0 auto;
    max-width:220px;
    color:#4f5f56;
    font-size:15px;
    line-height:1.65;
}

@media(max-width:980px){


    .category-showcase{
        display:grid;
        grid-template-columns:repeat(6,1fr);
        gap:18px;
    }
    .collection-feature-content {
        background: #ffffff00 !important;
        border: 0px solid var(--line) !important;
        padding: 30px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin-top: -65%;
    }
    .collection-feature-content h2 {
        color: #ffffff !important;
    }
    .collection-feature-content p {
        color: #ffffff !important;
    }
    .collection-point {
        border: 1px solid #d8ddd800 !important;
        padding: 16px;
        color: #173629;
        font-size: 14px;
        background: #ffffff96;
    }
    .hero-actions a.btn.outline {
        border: 1px solid #ffffff5c !important;
        color: #fff !important;
    }
    .editorial-row {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 15px;
        padding: 0px 0 30px 0;
        -webkit-overflow-scrolling: touch;
    }
    .editorial-card {
        flex: 0 0 45%;
        scroll-snap-align: center;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    /* Hàng 1 */
    .category-card:nth-child(1),
    .category-card:nth-child(2){
        grid-column:span 3;
    }

    /* Hàng 2 */
    .category-card:nth-child(3),
    .category-card:nth-child(4),
    .category-card:nth-child(5){
        grid-column:span 2;
    }

    .category-image{
        height:360px;
    }
}

@media(max-width:620px){
    .category-showcase{
        grid-template-columns:1fr 1fr;
        gap: 10px;
    }

    .category-image{
        height:190px;
    }

    .category-content{
        min-height:auto;
        min-height: 110px;
        padding: 16px;
        text-align: center;
        background: linear-gradient(0deg, #173629, transparent);
        color: #ffffff;
        position: relative;
        margin-top: -116px;
    }
    .category-content i {
        color: #ffffff;
    }
    .category-content span {
        display: block;
        width: 50px;
        height: 1px;
        background: #ffffff;
        margin: 15px auto 8px;
    }
    .hero-actions {
        display: flex;
        gap: 12px;
        flex-wrap: wrap;
        margin-top: 0px;
    }
    a.btn.outline {
        display: none;
    }
}

.fa,
.fas,
.far,
.fab,
.fa-solid,
.fa-regular,
.fa-brands{
    font-family:"Font Awesome 6 Free" !important;
    font-style:normal !important;
}

.fa-solid,
.fas{
    font-weight:900 !important;
}

.fa-regular,
.far{
    font-weight:400 !important;
}.hero-visual{
    position:relative;
    min-height:600px;
    overflow:hidden;
}

.hero-slider{
    position:relative;
    width:100%;
    height:100%;
}

.hero-slide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transition:opacity .8s ease;
}

.hero-slide.active{
    opacity:1;
    visibility:visible;
}
.hero-copy p {
    color: #526057;
    line-height: 1.65;
    font-size: 12.8px;
    margin-bottom: 0px;
    margin-top: 6px;
    text-align: justify;
}
.hero-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.hero-dots{
    position:absolute;
    left:50%;
    bottom:24px;
    transform:translateX(-50%);
    display:flex;
    gap:10px;
    z-index:20;
}

.hero-dot{
    width:38px;
    height:10px;
    border:none;
    border-radius:999px;
    background:rgba(255,255,255,.35);
    cursor:pointer;
    transition:.3s;
}

.hero-dot.active{
    width:60px;
    background:#224d3a;
}

.hero-dot:hover{
    background:#fff;
}

@media(max-width:768px){

    .hero-visual{
        min-height:500px;
    }

    .hero-dot{
        width:28px;
        height:8px;
    }

    .hero-dot.active{
        width:45px;
    }
}

.about-hero{
    padding:50px 20px 50px;
    text-align:center;
}

.about-hero-inner{
    max-width:1000px;
    margin:auto;
}

.about-hero h1{
    font-family:"Playfair Display",serif;
    font-size:45px;
    line-height:1.35;
    margin:18px 0 28px;
    color:#173629;
}

.about-hero p {
    max-width: 1000px;
    margin: auto;
    color: #66736b;
    line-height: 1.8;
    font-size: 18px;
}

.about-banner img{
    width:100%;
    height:auto;
    object-fit:cover;
    display:block;
}

.about-story{
    padding:29px;
}

.narrow{
    max-width:1000px;
    margin:auto;
}

.story-label{
    color:#173629;
    margin-bottom:20px;
    font-size:14px;
    letter-spacing:2px;
    text-transform:uppercase;
}

.story-block h2 {
    font-family: "Playfair Display",serif;
    font-size: 41px;
    line-height: 1.35;
    margin-bottom: 20px;
}

.story-block p{
    color:#5f6d65;
    line-height:1.9;
    margin-bottom:22px;
}

.brand-values{
    background:#f7f8f6;
    padding:20px;
}

.section-head.center{
    text-align:center;
    display:block;
    margin-bottom:60px;
}

.value-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.value-item{
    background:#fff;
    border:1px solid #dfe4df;
    padding:40px 30px;
    text-align:center;
}

.value-item i{
    font-size:30px;
    color:#173629;
    margin-bottom:20px;
}

.value-item h3{
    font-size:22px;
    margin-bottom:10px;
}

.value-item p{
    color:#6d7872;
    line-height:1.7;
}

.about-quote{
    padding:20px;
}

.about-quote blockquote {
    font-family: "Playfair Display",serif;
    font-size: 28px;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 0px;
    color: #173629;
}
@media(max-width:768px){

    .about-hero{
        padding:70px 15px;
    }

    .about-hero h1{
        font-size:42px;
    }

    .about-banner img{
        height:420px;
    }

    .story-block h2{
        font-size:34px;
    }

    .value-grid{
        grid-template-columns:1fr;
    }

    .about-quote blockquote{
        font-size:30px;
    }
}
.home-trust-strip{background:#173629;color:#fff;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.home-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px}
.home-trust-item{padding:22px 18px;text-align:center;border-right:1px solid rgba(255,255,255,.12)}
.home-trust-item:last-child{border-right:0}
.home-trust-item i{font-size:22px;margin-bottom:10px;color:#edf3ef}
.home-trust-item h3{margin:0 0 6px;font-size:15px;font-weight:500}
.home-trust-item p{margin:0;color:#d7e3dc;font-size:13px;line-height:1.6}

.home-collection-feature{background:#f7f8f6}
.collection-feature-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:stretch}
.collection-feature-image{min-height:560px;background:#e5ece6;overflow:hidden}
.collection-feature-image img{width:100%;height:100%;object-fit:cover;display:block}
.collection-feature-content{background:#fff;border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;justify-content:center}
.collection-feature-content h2{font-family:"Playfair Display",serif;font-size:46px;line-height:1.08;color:#173629;margin:12px 0 18px}
.collection-feature-content p{color:#5f6d65;line-height:1.8;margin:0 0 26px}
.collection-points{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:28px}
.collection-point{border:1px solid var(--line);padding:16px;color:#173629;font-size:14px}
.collection-point i{margin-right:8px}

.home-brand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.brand-card{background:#fff;border:1px solid var(--line)}
.brand-card img{width:100%;height:360px;object-fit:cover;display:block}
.brand-card-content{padding:26px}
.brand-card-content h3{margin:0 0 10px;color:#173629;font-size:22px;font-weight:500}
.brand-card-content p{margin:0;color:#68736c;line-height:1.7}

.home-review-section{background:#fff}
.home-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.home-review-card{border:1px solid var(--line);padding:28px;background:#f7f8f6}
.home-review-card strong{display:block;color:#173629;margin-bottom:8px}
.home-review-card .stars{color:#173629;margin-bottom:14px;letter-spacing:1px}
.home-review-card p{margin:0;color:#5f6d65;line-height:1.75}

.home-final-cta{margin-top:0;background:#173629;color:#fff;text-align:center;padding:88px 20px}
.home-final-cta .kicker{color:#dce7df}
.home-final-cta h2{font-family:"Playfair Display",serif;font-size:28px;line-height:1.08;margin:14px auto 18px;max-width:760px}
.home-final-cta p{max-width:680px;margin:0 auto 28px;color:#dce7df;line-height:1.8}
.home-final-cta .btn{background:#fff;color:#173629;border-color:#fff}
.home-final-cta .btn.outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}

@media(max-width:980px){
    .home-trust-grid,.home-review-grid{grid-template-columns:repeat(2,1fr)}
    .collection-feature-grid{grid-template-columns:1fr}
    .home-brand-grid , .home-review-grid {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 15px;
        padding: 10px 0 30px 0;
        -webkit-overflow-scrolling: touch;
    }
    .brand-card {
        flex: 0 0 45%;
        scroll-snap-align: center;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    .story-copy {
        background: #ffffff00 !important;
        border: 0px solid var(--line) !important;
        padding: 38px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin-top: -39%;
    }
    .story-copy h2 {
        color: #fff;
            font-size: 30px;
    }
    .kicker {
        color: #ffffffc5 !important;
        font-weight: 300 !important;
    }
    .story-copy p {
        color: #ffffff !important;
        line-height: 1.65;
    }
}
@media(max-width:620px){
    .home-brand-grid {grid-template-columns:1fr}

    .home-trust-grid{
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 0px;
        padding: 0px 0 0px 0;
        -webkit-overflow-scrolling: touch;
    }
    .home-trust-item i{font-size:18px;margin-bottom:6px;        display: none;}
    .home-trust-item {
        flex: 0 0 50%;
        scroll-snap-align: center;
        display: flex;
        flex-direction: column;
        padding: 8px;
        text-align: left;
        padding-left: 14px;
    }
    .home-trust-item h3 {
        margin: 0 0 6px;
        font-size: 12px;
        font-weight: 500;
                color: #ffffffc5;
    }
    .home-trust-item p {
        margin: 0;
        color: #ffffff75;
        font-size: 10px;
        line-height: 1.6;
    }
    .category-card:nth-child(2) {
        grid-column: span 1;
    }
    .category-card:nth-child(1){
        grid-column: span 2;
    }
    .category-card:nth-child(3), .category-card:nth-child(4), .category-card:nth-child(5) {
        grid-column: span 1;
    }
    .collection-feature-image{min-height:380px}
    .collection-feature-content{padding:30px 22px}
    .collection-feature-content h2,.home-final-cta h2{        font-size: 22px;
        margin-bottom: 8px;
        line-height: 1.39;}
    .brand-card img{height:300px}
    .home-final-cta{padding:64px 16px}
    .collection-feature-content p {
        color: #5f6d65;
        line-height: 1.6;
        margin: 0 0 10px;
        font-size: 12px;
    }
    .collection-points {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 11px;
        margin-bottom: 0px;
    }
    .collection-point {
        border: 1px solid var(--line);
        padding: 9px;
        color: #173629;
        font-size: 12px;
    }
    .collection-point i {
        margin-right: 1px;
    }
    .collection-feature-content {
        padding: 12px 14px;        margin-top: -123%;
    }

}
.home-video-section {
    background: #fff;
}

.home-video-media{
    aspect-ratio: 9 / 16;
    overflow:hidden;
    border-radius:12px;
}

.home-video-card .product-media{
    aspect-ratio:9/16 !important;
}

.home-video-media video{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.home-video-card .product-media {
    background: #f4f1ec;
    overflow: hidden;
}
.home-video-section .home-video-card .product-media.home-video-media {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 9 / 16 !important;
    height: auto !important;
    padding: 0 !important;
    overflow: hidden;
    border-radius: 0;
    background: #f4f1ec;
}

.home-video-section .home-video-card .product-media.home-video-media video {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
}

.home-video-section .home-video-card .product-media.home-video-media img {
    display: none !important;
}

