/** Shopify CDN: Minification failed

Line 1298:0 All "@import" rules must come first

**/


/* =========================================================
   ROOT
========================================================= */

:root{
    --cream:#f8f5ef;
    --ivory:#fffdf9;
    --white:#ffffff;
    --black:#171614;
    --charcoal:#292724;
    --brown:#5a4a3e;
    --gold:#b79b63;
    --gold-light:#d7c39b;
    --line:#ded8cd;
    --muted:#77716a;

    --serif:'Cormorant Garamond', serif;
    --sans:'DM Sans', sans-serif;

    --container:1380px;
}

/* =========================================================
   RESET
========================================================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    background:var(--ivory);
    color:var(--black);
    font-family:var(--sans);
    overflow-x:hidden;
}

img{
    width:100%;
    display:block;
}

a{
    text-decoration:none;
    color:inherit;
}

button,
input,
textarea{
    font-family:inherit;
}

.container{
    width:min(92%, var(--container));
    margin:auto;
}

/* =========================================================
   ANNOUNCEMENT BAR
========================================================= */

.announcement{
    background:var(--black);
    color:#fff;
    text-align:center;
    padding:11px 15px;
    font-size:10px;
    letter-spacing:2.5px;
    text-transform:uppercase;
}

/* =========================================================
   HEADER
========================================================= */

.header{
    height:88px;
    background:rgba(255,253,249,.96);
    border-bottom:1px solid rgba(0,0,0,.08);
    position:sticky;
    top:0;
    z-index:1000;
    backdrop-filter:blur(12px);
}

.header-inner{
    height:100%;
    max-width:1450px;
    width:94%;
    margin:auto;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
}

/* Desktop nav */

.nav-left,
.nav-right{
    display:flex;
    align-items:center;
    gap:32px;
}

.nav-right{
    justify-content:flex-end;
}

.nav-link{
    font-size:11px;
    letter-spacing:1.8px;
    text-transform:uppercase;
    color:#3b3834;
    position:relative;
}

.nav-link:after{
    content:"";
    position:absolute;
    left:0;
    bottom:-7px;
    width:0;
    height:1px;
    background:var(--gold);
    transition:.35s;
}

.nav-link:hover:after{
    width:100%;
}

/* Logo */

.logo{
    font-family:var(--serif);
    font-size:36px;
    letter-spacing:4px;
    text-transform:uppercase;
    font-weight:600;
    white-space:nowrap;
}

.logo span{
    display:block;
    font-family:var(--sans);
    font-size:7px;
    letter-spacing:5px;
    text-align:center;
    margin-top:-4px;
    font-weight:500;
}

/* Header icons */

.header-icons{
    display:flex;
    gap:20px;
    align-items:center;
}

.icon-btn{
    border:0;
    background:none;
    cursor:pointer;
    font-size:19px;
    color:var(--black);
}

.cart-count{
    font-size:9px;
    vertical-align:top;
    margin-left:-4px;
}

/* Mobile toggle */

.mobile-toggle{
    display:none;
    border:0;
    background:none;
    cursor:pointer;
    width:28px;
}

.mobile-toggle span{
    height:1px;
    background:var(--black);
    display:block;
    margin:6px 0;
}

/* =========================================================
   MOBILE MENU
========================================================= */

.mobile-menu{
    position:fixed;
    top:88px;
    left:0;
    width:100%;
    background:var(--ivory);
    border-bottom:1px solid var(--line);
    padding:30px 25px;
    transform:translateY(-120%);
    transition:.45s ease;
    z-index:900;
}

.mobile-menu.active{
    transform:translateY(0);
}

.mobile-menu a{
    display:block;
    padding:17px 0;
    border-bottom:1px solid var(--line);
    font-family:var(--serif);
    font-size:25px;
}

/* =========================================================
   HERO
========================================================= */

.hero{
    min-height:calc(100vh - 110px);
    position:relative;
    background:
        linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.05)),
        var(--hero-image) center/cover no-repeat;
    display:flex;
    align-items:center;
    color:#fff;
}

.hero-content{
    width:min(90%,var(--container));
    margin:auto;
}

.hero-eyebrow{
    font-size:10px;
    letter-spacing:4px;
    text-transform:uppercase;
    margin-bottom:22px;
}

.hero h1{
    font-family:var(--serif);
    font-size:clamp(65px,8vw,125px);
    line-height:.82;
    font-weight:500;
    max-width:750px;
}

.hero h1 em{
    font-weight:400;
}

.hero-description{
    max-width:440px;
    font-size:13px;
    line-height:1.9;
    margin-top:30px;
    color:rgba(255,255,255,.86);
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:180px;
    padding:15px 28px;
    margin-top:32px;
    background:#fff;
    color:var(--black);
    font-size:10px;
    letter-spacing:2px;
    text-transform:uppercase;
    border:1px solid #fff;
    transition:.35s;
}

.btn:hover{
    background:transparent;
    color:#fff;
}

.hero-scroll{
    position:absolute;
    bottom:35px;
    left:50%;
    transform:translateX(-50%);
    font-size:9px;
    letter-spacing:3px;
    text-transform:uppercase;
}

/* =========================================================
   INTRO
========================================================= */

.intro{
    padding:120px 20px;
    text-align:center;
    background:var(--cream);
}

.eyebrow{
    font-size:9px;
    letter-spacing:3.5px;
    text-transform:uppercase;
    color:var(--gold);
    margin-bottom:18px;
}

.intro h2{
    font-family:var(--serif);
    font-size:clamp(42px,5vw,72px);
    line-height:1;
    font-weight:500;
    max-width:800px;
    margin:auto;
}

.intro p{
    max-width:610px;
    margin:28px auto 0;
    color:var(--muted);
    font-size:13px;
    line-height:2;
}

/* =========================================================
   CATEGORY VISUALS
========================================================= */

.visual-section{
    padding:110px 0;
}

.section-heading{
    display:flex;
    justify-content:space-between;
    align-items:end;
    margin-bottom:45px;
}

.section-heading h2{
    font-family:var(--serif);
    font-size:56px;
    font-weight:500;
}

.section-heading p{
    font-size:11px;
    color:var(--muted);
    max-width:300px;
    line-height:1.8;
}

.visual-grid{
    display:grid;
    grid-template-columns:1.3fr .7fr;
    gap:20px;
}

.visual-card{
    position:relative;
    overflow:hidden;
    min-height:650px;
}

.visual-card.small{
    min-height:650px;
}

.visual-card img{
    height:100%;
    object-fit:cover;
    transition:1s ease;
}

.visual-card:hover img{
    transform:scale(1.04);
}

.visual-overlay{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:end;
    padding:40px;
    color:#fff;
    background:linear-gradient(transparent 45%,rgba(0,0,0,.65));
}

.visual-overlay h3{
    font-family:var(--serif);
    font-size:46px;
    font-weight:500;
}

.visual-overlay span{
    font-size:9px;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-top:8px;
}

/* =========================================================
   PRODUCTS
========================================================= */

.products{
    padding:110px 0;
    background:var(--cream);
}

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

.product-card{
    position:relative;
}

.product-image{
    position:relative;
    overflow:hidden;
    aspect-ratio:3/4;
    background:#e9e3d9;
}

.product-image img{
    height:100%;
    object-fit:cover;
    transition:.7s;
}

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

.wishlist{
    position:absolute;
    top:15px;
    right:15px;
    width:35px;
    height:35px;
    border-radius:50%;
    border:0;
    background:rgba(255,255,255,.9);
    cursor:pointer;
    font-size:16px;
}

.product-tag{
    position:absolute;
    left:14px;
    top:14px;
    background:var(--black);
    color:#fff;
    padding:7px 10px;
    font-size:8px;
    letter-spacing:1.5px;
    text-transform:uppercase;
}

.product-info{
    padding:18px 3px 0;
}

.product-name{
    font-family:var(--serif);
    font-size:23px;
}

.product-meta{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:7px;
}

.product-price{
    font-size:12px;
    letter-spacing:.5px;
}

.product-rating{
    font-size:9px;
    letter-spacing:2px;
}

.quick-add{
    display:block;
    width:100%;
    border:1px solid var(--black);
    background:transparent;
    padding:13px;
    margin-top:16px;
    font-size:9px;
    letter-spacing:2px;
    text-transform:uppercase;
    cursor:pointer;
    transition:.3s;
}

.quick-add:hover{
    background:var(--black);
    color:#fff;
}

/* =========================================================
   MARQUEE
========================================================= */

.marquee{
    overflow:hidden;
    background:var(--black);
    color:#fff;
    padding:18px 0;
    white-space:nowrap;
}

.marquee-track{
    display:inline-block;
    animation:marquee 24s linear infinite;
}

.marquee span{
    font-family:var(--serif);
    font-size:27px;
    margin:0 35px;
}

.marquee small{
    font-family:var(--sans);
    font-size:8px;
    letter-spacing:3px;
}

@keyframes marquee{
    from{transform:translateX(0)}
    to{transform:translateX(-50%)}
}

/* =========================================================
   EDITORIAL BANNER
========================================================= */

.editorial{
    min-height:720px;
    background:
        linear-gradient(rgba(0,0,0,.15),rgba(0,0,0,.5)),
        var(--editorial-image) center/cover no-repeat;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#fff;
}

.editorial-content{
    max-width:750px;
    padding:30px;
}

.editorial h2{
    font-family:var(--serif);
    font-size:clamp(55px,7vw,100px);
    font-weight:400;
    line-height:.85;
}

.editorial p{
    max-width:500px;
    margin:25px auto;
    line-height:1.9;
    font-size:13px;
}

/* =========================================================
   BRAND STORY
========================================================= */

.story{
    padding:130px 0;
}

.story-grid{
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:90px;
    align-items:center;
}

.story-image{
    height:700px;
    overflow:hidden;
}

.story-image img{
    height:100%;
    object-fit:cover;
}

.story-content h2{
    font-family:var(--serif);
    font-size:70px;
    line-height:.9;
    font-weight:500;
    margin-bottom:30px;
}

.story-content p{
    color:var(--muted);
    font-size:13px;
    line-height:2;
    max-width:530px;
    margin-bottom:18px;
}

.text-link{
    display:inline-block;
    margin-top:18px;
    font-size:10px;
    letter-spacing:2px;
    text-transform:uppercase;
    border-bottom:1px solid var(--gold);
    padding-bottom:7px;
}

/* =========================================================
   SECOND PRODUCT SECTION
========================================================= */

.dark-products{
    background:var(--black);
    color:#fff;
    padding:110px 0;
}

.dark-products .section-heading p{
    color:#aaa;
}

.dark-products .product-image{
    background:#302d29;
}

.dark-products .product-name{
    color:#fff;
}

.dark-products .product-price{
    color:#ddd;
}

.dark-products .quick-add{
    color:#fff;
    border-color:#777;
}

.dark-products .quick-add:hover{
    background:#fff;
    color:#111;
}

/* =========================================================
   VALUES
========================================================= */

.values{
    padding:110px 0;
    background:var(--cream);
}

.values-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
}

.value{
    padding:50px 30px;
    border-right:1px solid var(--line);
}

.value:last-child{
    border-right:0;
}

.value-number{
    color:var(--gold);
    font-size:10px;
    letter-spacing:2px;
}

.value h3{
    font-family:var(--serif);
    font-size:29px;
    margin:20px 0 12px;
    font-weight:500;
}

.value p{
    color:var(--muted);
    font-size:11px;
    line-height:1.9;
}

/* =========================================================
   REVIEWS
========================================================= */

.reviews{
    padding:120px 0;
}

.review-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.review{
    border:1px solid var(--line);
    padding:45px 35px;
    background:#fff;
}

.stars{
    color:var(--gold);
    letter-spacing:4px;
    font-size:11px;
}

.review p{
    font-family:var(--serif);
    font-size:25px;
    line-height:1.3;
    margin:25px 0;
}

.review-author{
    font-size:9px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--muted);
}

/* =========================================================
   FAQ
========================================================= */

.faq{
    background:var(--cream);
    padding:110px 0;
}

.faq-layout{
    display:grid;
    grid-template-columns:.6fr 1.4fr;
    gap:100px;
}

.faq-title h2{
    font-family:var(--serif);
    font-size:65px;
    line-height:.9;
    font-weight:500;
}

.faq-item{
    border-top:1px solid var(--line);
}

.faq-question{
    width:100%;
    background:none;
    border:0;
    display:flex;
    justify-content:space-between;
    padding:24px 0;
    cursor:pointer;
    font-size:13px;
    text-align:left;
}

.faq-plus{
    font-size:20px;
    font-weight:300;
}

.faq-answer{
    max-height:0;
    overflow:hidden;
    transition:.4s ease;
}

.faq-answer p{
    color:var(--muted);
    font-size:12px;
    line-height:1.9;
    padding:0 40px 25px 0;
}

.faq-item.active .faq-answer{
    max-height:1000px;
}

/* =========================================================
   CONTACT
========================================================= */

.contact{
    padding:120px 0;
}

.contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:90px;
}

.contact-title h2{
    font-family:var(--serif);
    font-size:80px;
    line-height:.85;
    font-weight:500;
}

.contact-title p{
    max-width:430px;
    color:var(--muted);
    font-size:12px;
    line-height:2;
    margin-top:30px;
}

.contact-form{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.form-group{
    border-bottom:1px solid var(--line);
}

.form-group input,
.form-group textarea{
    width:100%;
    border:0;
    outline:0;
    background:transparent;
    padding:17px 0;
    font-size:12px;
    color:var(--black);
}

.form-group textarea{
    height:120px;
    resize:none;
}

.submit-btn{
    border:1px solid var(--black);
    background:var(--black);
    color:#fff;
    padding:17px;
    font-size:9px;
    letter-spacing:2px;
    text-transform:uppercase;
    cursor:pointer;
    transition:.3s;
}

.submit-btn:hover{
    background:transparent;
    color:var(--black);
}

/* =========================================================
   NEWSLETTER
========================================================= */

.newsletter{
    background:#e9e1d4;
    padding:80px 20px;
    text-align:center;
}

.newsletter h2{
    font-family:var(--serif);
    font-size:52px;
    font-weight:500;
}

.newsletter p{
    color:var(--muted);
    font-size:11px;
    margin:10px 0 28px;
}

.newsletter-form{
    max-width:480px;
    margin:auto;
    display:flex;
    border-bottom:1px solid var(--black);
}

.newsletter-form input{
    flex:1;
    border:0;
    background:transparent;
    padding:15px 0;
    outline:0;
}

.newsletter-form button{
    border:0;
    background:none;
    cursor:pointer;
    font-size:9px;
    letter-spacing:2px;
}

/* =========================================================
   FOOTER
========================================================= */

.footer{
    background:var(--black);
    color:#fff;
    padding:80px 0 25px;
}

.footer-top{
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr 1fr;
    gap:60px;
    padding-bottom:70px;
}

.footer-brand .footer-logo{
    font-family:var(--serif);
    font-size:45px;
    letter-spacing:4px;
}

.footer-brand p{
    max-width:320px;
    color:#999;
    font-size:11px;
    line-height:1.9;
    margin-top:20px;
}

.footer-column h4{
    font-size:9px;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:25px;
    color:var(--gold-light);
}

.footer-column a{
    display:block;
    color:#aaa;
    font-size:11px;
    margin-bottom:13px;
    transition:.2s;
}

.footer-column a:hover{
    color:#fff;
}

.footer-bottom{
    border-top:1px solid #333;
    padding-top:25px;
    display:flex;
    justify-content:space-between;
    color:#777;
    font-size:9px;
    letter-spacing:.5px;
}

/* =========================================================
   REVEAL ANIMATION
========================================================= */

.reveal{
    opacity:0;
    transform:translateY(30px);
    transition:opacity .8s ease, transform .8s ease;
}

.reveal.visible{
    opacity:1;
    transform:none;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1000px){

    .nav-left,
    .nav-right{
        display:none;
    }

    .header-inner{
        display:flex;
        justify-content:center;
        position:relative;
    }

    .logo{
        font-size:31px;
    }

    .mobile-toggle{
        display:block;
        position:absolute;
        right:0;
        top:50%;
        transform:translateY(-50%);
    }

    .header-icons{
        position:absolute;
        left:0;
    }

    .header-icons .search-icon{
        display:none;
    }

    .hero{
        min-height:80vh;
    }

    .product-grid{
        grid-template-columns:repeat(2,1fr);
        gap:30px 15px;
    }

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

    .story-grid,
    .faq-layout,
    .contact-grid{
        grid-template-columns:1fr;
        gap:50px;
    }

    .story-image{
        height:600px;
    }

    .values-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .value:nth-child(2){
        border-right:0;
    }

    .value:nth-child(-n+2){
        border-bottom:1px solid var(--line);
    }

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

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

}

@media(max-width:600px){

    .announcement{
        font-size:8px;
        letter-spacing:1.7px;
        padding:9px;
    }

    .header{
        height:76px;
    }

    .mobile-menu{
        top:76px;
    }

    .header-icons{
        left:2px;
    }

    .header-icons .icon-btn{
        font-size:17px;
    }

    .logo{
        font-size:27px;
        letter-spacing:3px;
    }

    .logo span{
        font-size:6px;
        letter-spacing:3px;
    }

    .hero{
        min-height:78vh;
        background-position:65% center;
    }

    .hero h1{
        font-size:65px;
        max-width:340px;
    }

    .hero-description{
        font-size:11px;
        max-width:300px;
    }

    .hero-scroll{
        bottom:22px;
    }

    .intro,
    .visual-section,
    .products,
    .story,
    .reviews,
    .faq,
    .contact,
    .values{
        padding:80px 0;
    }

    .section-heading{
        display:block;
    }

    .section-heading h2{
        font-size:46px;
        margin-bottom:12px;
    }

    .visual-card,
    .visual-card.small{
        min-height:500px;
    }

    .visual-overlay h3{
        font-size:40px;
    }

    .product-grid{
        gap:30px 10px;
    }

    .product-name{
        font-size:20px;
    }

    .product-meta{
        display:block;
    }

    .product-rating{
        margin-top:5px;
    }

    .quick-add{
        padding:12px 5px;
    }

    .editorial{
        min-height:600px;
    }

    .editorial h2{
        font-size:60px;
    }

    .story-content h2,
    .contact-title h2,
    .faq-title h2{
        font-size:58px;
    }

    .story-image{
        height:500px;
    }

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

    .value{
        border-right:0;
        border-bottom:1px solid var(--line);
    }

    .value:last-child{
        border-bottom:0;
    }

    .review{
        padding:35px 25px;
    }

    .review p{
        font-size:23px;
    }

    .faq-layout{
        gap:40px;
    }

    .newsletter h2{
        font-size:43px;
    }

    .footer-top{
        grid-template-columns:1fr 1fr;
        gap:45px 25px;
    }

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

    .footer-bottom{
        flex-direction:column;
        gap:10px;
    }

}

/* very small phones */

@media(max-width:380px){

    .logo{
        font-size:24px;
    }

    .hero h1{
        font-size:56px;
    }

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

    .product-name{
        font-size:18px;
    }

}



@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:wght@500;600;700&display=swap');

:root{
  --ink:#171714;
  --muted:#77746d;
  --cream:#f7f4ee;
  --white:#fff;
  --line:#e7e1d7;
  --gold:#b8945a;
  --deep:#123f4b;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"DM Sans",sans-serif;color:var(--ink);background:#fff;line-height:1.6}
a{text-decoration:none;color:inherit}
img{width:100%;display:block}
.container{width:min(1220px,92%);margin:auto}

/* Announcement */
.announcement{background:var(--ink);color:#fff;text-align:center;font-size:11px;letter-spacing:2px;text-transform:uppercase;padding:10px}

/* Header */
header{height:82px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);display:flex;align-items:center;position:sticky;top:0;z-index:20}
.nav{display:flex;align-items:center;justify-content:space-between;width:min(1220px,92%);margin:auto}
.logo{font-family:"Playfair Display",serif;font-size:28px;letter-spacing:1px}
.logo span{display:block;font:500 8px "DM Sans";letter-spacing:4px;text-align:center;text-transform:uppercase;margin-top:-5px}
.navlinks{display:flex;gap:30px;font-size:12px;text-transform:uppercase;letter-spacing:1.4px}
.navlinks a{position:relative}
.navlinks a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:var(--gold);transition:.3s}
.navlinks a:hover:after{width:100%}
.icons{display:flex;gap:18px;font-size:20px}
.icon-btn{border:0;background:none;cursor:pointer;font-size:19px}

/* Breadcrumb */
.breadcrumb{padding:25px 0;font-size:11px;color:var(--muted);letter-spacing:1px}
.breadcrumb span{margin:0 8px;color:#bbb}

/* Product */
.product{display:grid;grid-template-columns:1.05fr .95fr;gap:75px;padding:5px 0 90px}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:start}
.gallery .main{grid-column:1/-1;position:relative}
.gallery img{background:#f1eee8;display:block}
.gallery .main img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
.gallery .thumb img{width:100%;height:100%;aspect-ratio:1/1.12;object-fit:cover;object-position:center}
.badge{position:absolute;top:18px;left:18px;background:#fff;padding:8px 12px;font-size:10px;letter-spacing:1.5px;text-transform:uppercase}

.info{padding:12px 0;position:sticky;top:110px;height:max-content}
.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:3px;color:var(--gold);margin-bottom:13px}
h1{font:600 clamp(34px,4vw,53px)/1.08 "Playfair Display",serif;letter-spacing:-.5px;margin-bottom:17px}
.price{font-size:21px;font-weight:600;margin-bottom:25px}
.tax{font-size:11px;color:var(--muted);margin-left:8px;font-weight:400}
.rating{display:flex;align-items:center;gap:10px;font-size:12px;margin-bottom:27px}
.stars{letter-spacing:3px;color:#b18a4c}
.rule{height:1px;background:var(--line);margin:24px 0}
.short{font-size:14px;color:#59574f;max-width:550px;margin-bottom:25px}

/* Bullets */
.features{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 28px}
.features li{font-size:12px;padding-left:20px;position:relative;color:#45433e}
.features li:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--gold)}

.label{font-size:11px;text-transform:uppercase;letter-spacing:1.7px;font-weight:600;margin-bottom:10px}
.sizes{display:flex;gap:8px;margin-bottom:24px}
.size{border:1px solid var(--line);background:#fff;padding:11px 17px;min-width:52px;cursor:pointer;font-size:12px}
.size.active,.size:hover{border-color:var(--ink);background:var(--ink);color:#fff}

.buy-row{display:grid;grid-template-columns:110px 1fr;gap:10px}
.qty{display:flex;border:1px solid var(--line);align-items:center;justify-content:space-between}
.qty button{border:0;background:none;width:34px;height:50px;cursor:pointer;font-size:17px}
.qty span{font-size:13px}
.add{border:1px solid var(--ink);background:var(--ink);color:#fff;text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:600;cursor:pointer;transition:.25s}
.add:hover{background:var(--gold);border-color:var(--gold)}
.buy{width:100%;margin-top:10px;padding:16px;background:#fff;border:1px solid var(--ink);text-transform:uppercase;letter-spacing:2px;font-size:11px;cursor:pointer}

.delivery{background:var(--cream);padding:18px;margin-top:25px;font-size:11px;color:#57544d}
.delivery strong{color:var(--ink)}

/* Details */
.details{background:var(--cream);padding:85px 0}
.details-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}
.section-kicker{font-size:10px;text-transform:uppercase;letter-spacing:3px;color:var(--gold);margin-bottom:12px}
h2{font:600 clamp(31px,4vw,48px)/1.1 "Playfair Display",serif}
.desc{font-size:14px;color:#5d5a53;max-width:650px}
.desc p{margin-bottom:18px}
.detail-list{border-top:1px solid #ded8ce;margin-top:25px}
.detail-row{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid #ded8ce;font-size:12px}
.detail-row span:first-child{color:var(--muted)}

/* Trust */
.trust{padding:55px 0;border-bottom:1px solid var(--line)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;text-align:center}
.trust-item{font-size:11px}
.trust-item b{display:block;font-family:"Playfair Display";font-size:18px;margin-bottom:4px}
.trust-item span{color:var(--muted)}

/* Toast */
.toast{position:fixed;bottom:22px;right:22px;background:var(--ink);color:#fff;padding:14px 18px;font-size:12px;transform:translateY(120px);opacity:0;transition:.35s;z-index:50}
.toast.show{transform:translateY(0);opacity:1}

/* Mobile */
@media(max-width:850px){
  header{height:70px}
  .navlinks{display:none}
  .logo{font-size:25px}
  .nav{justify-content:center;position:relative}
  .icons{position:absolute;right:0}
  .breadcrumb{padding:18px 0}
  .product{grid-template-columns:1fr;gap:35px;padding-bottom:55px}
  .info{position:static;padding:0}
  .gallery{gap:8px}
  .gallery .main img{aspect-ratio:auto;height:auto;object-fit:contain}
  .gallery .thumb img{aspect-ratio:1/1.18;object-fit:cover}
  h1{font-size:37px}
  .details{padding:55px 0}
  .details-grid{grid-template-columns:1fr;gap:35px}
  .trust-grid{grid-template-columns:1fr 1fr;gap:32px 15px}
}
@media(max-width:480px){
  .announcement{font-size:9px;letter-spacing:1.2px}
  .container{width:90%}
  .gallery .main{grid-column:1/-1}
  .features{grid-template-columns:1fr}
  .buy-row{grid-template-columns:95px 1fr}
}

/* =========================================================
   ENHANCED MOTION
========================================================= */
.reveal { opacity:0; transform:translateY(34px); transition:opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1); }
.reveal.visible { opacity:1; transform:none; }
.reveal:nth-child(2){transition-delay:.08s}.reveal:nth-child(3){transition-delay:.16s}.reveal:nth-child(4){transition-delay:.24s}

.hero-image, .visual-card img, .banner-image img, .story-image img, .product-card img { transition:transform .9s cubic-bezier(.22,1,.36,1); }
.hero-image:hover, .visual-card:hover img, .banner-image:hover img, .story-image:hover img, .product-card:hover img { transform:scale(1.035); }

.product-card, .review-card, .value-card, .visual-card { transition:transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s ease; }
.product-card:hover, .review-card:hover, .value-card:hover, .visual-card:hover { transform:translateY(-5px); }

.faq-question { transition:padding-left .3s ease; }
.faq-question:hover { padding-left:8px; }
.faq-plus { transition:transform .35s ease; }
.faq-item.active .faq-plus { transform:rotate(180deg); }

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


/* Product gallery */
.gallery .main img{width:100%;height:auto;object-fit:contain;object-position:center;display:block;}
.gallery .thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px;}
.gallery .thumb{padding:0;border:1px solid transparent;background:none;cursor:pointer;overflow:hidden;aspect-ratio:3/4;}
.gallery .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease,opacity .35s ease;}
.gallery .thumb:hover img{transform:scale(1.04);}
.gallery .thumb.active{border-color:var(--black);}
@media(max-width:700px){.gallery .thumbs{grid-template-columns:repeat(4,1fr);gap:8px;}}

/* =========================================================
   PRODUCT ACTIONS + LUXURY CART
========================================================= */
.product-form .add,
.product-form .buy{
  color: #fff !important;
  background: var(--black) !important;
  border-color: var(--black) !important;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
.product-form .add:hover,
.product-form .buy:hover{
  background:var(--gold) !important;
  border-color:var(--gold) !important;
  color:#fff !important;
}
.product-form .buy{padding:16px;width:100%;margin-top:10px}

.cart-page{background:var(--ivory);min-height:75vh;padding:85px 0 120px}
.cart-shell{max-width:1240px}
.cart-heading{text-align:center;margin-bottom:55px}
.cart-heading .eyebrow{color:var(--gold);letter-spacing:3px;text-transform:uppercase;font-size:10px;margin-bottom:12px}
.cart-heading h1{font-family:var(--serif);font-size:clamp(44px,6vw,76px);font-weight:500;line-height:.95}
.cart-heading p{color:var(--muted);font-size:12px;letter-spacing:.5px;margin-top:14px}
.cart-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.75fr);gap:60px;align-items:start}
.cart-items{border-top:1px solid var(--line)}
.cart-item{display:grid;grid-template-columns:180px 1fr;gap:28px;padding:25px 0;border-bottom:1px solid var(--line)}
.cart-item-image{display:block;aspect-ratio:3/4;overflow:hidden;background:var(--cream)}
.cart-item-image img{height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.cart-item-image:hover img{transform:scale(1.035)}
.cart-item-info{padding:5px 0;display:flex;flex-direction:column;min-height:100%}
.cart-item-meta{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:9px}
.cart-item h2{font-family:var(--serif);font-size:28px;font-weight:500}
.cart-item h2 a:hover{color:var(--brown)}
.cart-variant{font-size:11px;color:var(--muted);margin-top:7px}
.cart-item-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:25px}
.cart-item-bottom strong{font-size:13px;font-weight:600}
.cart-qty{display:flex;align-items:center;border:1px solid var(--line);height:40px;background:#fff}
.cart-qty-btn{border:0;background:transparent;width:38px;height:38px;cursor:pointer;font-size:17px;color:var(--black)}
.cart-qty input{width:38px;height:38px;border:0;text-align:center;background:transparent;font-size:12px;outline:0}
.cart-qty input::-webkit-inner-spin-button,.cart-qty input::-webkit-outer-spin-button{appearance:none;margin:0}
.cart-remove{font-size:9px;text-transform:uppercase;letter-spacing:1.8px;color:var(--muted);margin-top:17px;text-decoration:underline;text-underline-offset:4px;width:max-content}
.cart-summary{position:sticky;top:120px;background:var(--cream);padding:34px 32px;border:1px solid var(--line)}
.summary-kicker{font-family:var(--serif);font-size:25px;margin-bottom:28px}
.summary-row{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0;font-size:12px}
.summary-row strong{font-size:14px}
.summary-note{font-size:10px;line-height:1.7;color:var(--muted);padding-bottom:24px}
.cart-primary,.cart-secondary{width:100%;min-height:50px;display:flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:600;cursor:pointer;transition:.3s}
.cart-primary{background:var(--black);color:#fff;border:1px solid var(--black)}
.cart-primary:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.cart-secondary{margin-top:10px;background:transparent;color:var(--black);border:1px solid var(--black)}
.cart-secondary:hover{background:#fff}
.continue-shopping{display:block;text-align:center;margin-top:22px;font-size:10px;letter-spacing:1.5px;text-transform:uppercase}
.empty-cart{text-align:center;max-width:560px;margin:0 auto;padding:65px 20px 80px;border-top:1px solid var(--line)}
.empty-mark{width:58px;height:58px;border:1px solid var(--gold);display:grid;place-items:center;margin:0 auto 25px;font-family:var(--serif);font-size:18px;letter-spacing:2px}
.empty-cart h2{font-family:var(--serif);font-size:38px;font-weight:500}
.empty-cart p{color:var(--muted);font-size:12px;line-height:1.8;margin:12px auto 28px;max-width:400px}
.empty-cart .cart-primary{width:auto;padding:0 30px;display:inline-flex}

@media(max-width:800px){
 .cart-page{padding:55px 0 80px}
 .cart-layout{grid-template-columns:1fr;gap:35px}
 .cart-summary{position:static}
 .cart-item{grid-template-columns:110px 1fr;gap:17px}
 .cart-item h2{font-size:23px}
 .cart-item-bottom{padding-top:18px}
}
@media(max-width:480px){
 .cart-item{grid-template-columns:92px 1fr;gap:14px}
 .cart-item-bottom{display:block}
 .cart-item-bottom strong{display:block;margin-top:12px}
 .cart-summary{padding:26px 20px}
}


/* Final product-card CTA visibility fix */
.product-card .quick-add{display:block !important;visibility:visible !important;opacity:1 !important;color:var(--black);background:transparent;}
.product-card .quick-add:hover{color:#fff;background:var(--black);}
/* Never crop the primary product image */
.gallery .main{height:auto;overflow:hidden;background:#f1eee8;}
.gallery .main img{max-width:100%;} 


/* Final Signature Pieces CTA visibility fix */
.dark-products .product-card .quick-add{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    color:#fff !important;
    background:transparent !important;
    border-color:#777 !important;
}
.dark-products .product-card .quick-add:hover{
    color:#111 !important;
    background:#fff !important;
    border-color:#fff !important;
}
