:root{--bg:#faf9f7;--fg:#1c1b19;--muted:#6b665f;--border:#e3e0da;--gold:#b08d57;--paper:#f4f2ee}
*{box-sizing:border-box;margin:0}body{background:var(--bg);color:var(--fg);font-family:Montserrat,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}
.font-display{font-weight:600;text-transform:uppercase;letter-spacing:.06em;line-height:1.1}
.label-caps{font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500}
.muted{color:var(--muted)}.small{font-size:.8rem;margin-top:.3rem}.gold{color:var(--gold)}.muted-light{opacity:.7;font-size:.9rem;margin-top:.5rem}
.container{max-width:80rem;margin:0 auto;padding:0 1.5rem}
.site-header{position:sticky;top:0;z-index:40;height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;background:rgba(250,249,247,.92);border-bottom:1px solid var(--border)}
.logo{font-size:.95rem;letter-spacing:.14em}.site-nav{display:flex;gap:2.25rem}
.nav-link{position:relative;padding:.5rem 0;opacity:.8;transition:opacity .3s;background:none;border:0;cursor:pointer}
.nav-link:hover,.nav-link-active{opacity:1}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);opacity:0;transform:scaleX(0);transition:transform .42s cubic-bezier(.22,.61,.36,1),opacity .25s}
.nav-link:hover::after,.nav-link-active::after{opacity:1;transform:scaleX(1)}
.mobile-menu{display:none}
@media(max-width:767px){.site-header{padding:0 1.25rem}.site-nav{display:none}.mobile-menu{display:block}.mobile-menu summary{list-style:none;cursor:pointer;font-size:1.3rem}.mobile-menu div{position:absolute;left:0;right:0;top:60px;background:var(--bg);padding:1rem 1.5rem;border-bottom:1px solid var(--border)}.mobile-menu div a{display:block;padding:1rem 0;border-bottom:1px solid var(--border)}}
.hero{position:relative;height:86svh;min-height:560px;max-height:920px;overflow:hidden;background:var(--paper);color:var(--fg)}
.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,249,247,.88),rgba(250,249,247,.45) 58%,rgba(250,249,247,.08))}
.hero-content{position:absolute;left:0;right:0;bottom:0;padding:3rem 2.5rem}
.hero-title{font-size:clamp(1.5rem,3.6vw,2.8rem);margin:.75rem 0;max-width:18ch}
.hero-sub{max-width:28rem;font-size:.85rem;line-height:1.6;opacity:.9}
.hero-cta{display:inline-flex;align-items:center;height:2.75rem;padding:0 1.75rem;margin-top:1.25rem;border:1px solid var(--fg);background:var(--fg);color:var(--bg);transition:.35s;cursor:pointer}
.hero-cta:hover{background:transparent;color:var(--fg)}
.hero-cta.dark{border-color:var(--fg);background:transparent;color:var(--fg)}.hero-cta.dark:hover{background:var(--fg);color:var(--bg)}
.section-head{display:flex;justify-content:space-between;align-items:end;padding-top:4rem;padding-bottom:1.75rem}
.section-head h1,.section-head h2{font-size:clamp(1.3rem,2.6vw,2rem)}
.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;max-width:72rem;margin:0 auto;background:var(--border);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
@media(min-width:1024px){.product-grid{grid-template-columns:repeat(3,1fr)}}
.product-card{background:var(--bg)}.card-media{position:relative;aspect-ratio:4/5;overflow:hidden;background:#eeece8}
.card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.product-hover-image{opacity:0;transition:opacity 1.2s}.product-card:hover .product-hover-image{opacity:1}
.card-info{padding:.75rem 1rem 1.1rem}.card-title{font-weight:600;letter-spacing:.12em;font-size:.72rem}.card-media img{transition:transform 1.2s}.product-card:hover .card-media img{transform:scale(1.04)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:1px;max-width:80rem;margin:4rem auto}.duo-item{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--paper)}
.duo-item img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s}.duo-item:hover img{transform:scale(1.03)}
.duo-label{position:absolute;left:1.5rem;bottom:1.5rem;color:#fff;font-size:clamp(.9rem,1.8vw,1.3rem);text-shadow:0 1px 14px rgba(0,0,0,.45)}
.promise{background:var(--paper);color:var(--fg);padding:4rem 0}
.promise-grid{display:grid;gap:3rem;align-items:center}@media(min-width:900px){.promise-grid{grid-template-columns:1fr 1fr}}
.promise-title{font-size:clamp(1.3rem,2.6vw,2rem);margin:.75rem 0 1rem}.promise-text{opacity:.8;max-width:30rem;line-height:1.7;font-size:.9rem}
.promise-img{overflow:hidden;max-width:460px;margin-left:auto}.promise-img img{width:100%;transition:transform 1.4s}.promise-img:hover img{transform:scale(1.025)}
.promise-cols{display:grid;gap:2rem;margin-top:4rem;padding-top:3rem;border-top:1px solid rgba(0,0,0,.12)}@media(min-width:768px){.promise-cols{grid-template-columns:repeat(3,1fr)}}
.promise-cols .font-display{font-size:.9rem;margin-top:.5rem}
.product{display:grid;gap:3rem;padding-top:3rem;padding-bottom:6rem}@media(min-width:900px){.product{grid-template-columns:1.3fr 1fr}.product-info{position:sticky;top:100px;align-self:start}}
.product-gallery{display:grid;gap:1px}.product-info h1{font-size:clamp(1.2rem,2.2vw,1.7rem)}.product-gallery img{max-height:620px;object-fit:cover;width:100%}.price{margin:1rem 0 2rem;font-size:.95rem}
.variant-select{display:block;width:100%;padding:.9rem 1rem;margin:.5rem 0 1rem;border:1px solid var(--border);background:transparent;font:inherit}
.rte{margin:1.5rem 0;line-height:1.7;font-size:.9rem;color:var(--muted)}.rte p{margin-bottom:1rem}
.page{padding-top:5rem;padding-bottom:6rem}.page h1{font-size:clamp(2.2rem,6vw,4.5rem);margin-bottom:2rem}
.cart-row{display:grid;grid-template-columns:80px 1fr 70px 100px;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--border)}
.qty{width:60px;padding:.5rem;border:1px solid var(--border);background:transparent}.cart-total{font-size:1.3rem;margin:2rem 0 1rem}
.pagination{padding:2rem 1.5rem;text-align:center}
.site-footer{background:var(--paper);border-top:1px solid var(--border);padding:4rem 0 2rem}
.footer-grid{display:grid;gap:3rem}@media(min-width:768px){.footer-grid{grid-template-columns:2fr 1fr}}.footer-grid a{display:block;margin-top:.6rem;font-size:.9rem}
.footer-grid .muted{margin-top:1rem;max-width:24rem;line-height:1.6;font-size:.9rem}.footer-bottom{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border);font-size:.75rem}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.hero video{display:none}}

.hero-media.kenburns,.hero img.hero-media{animation:kb 18s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.08) translate(-1%,-1%)}}
.usp{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;padding:1.1rem 1.5rem;border-bottom:1px solid var(--border);text-align:center;color:var(--muted)}@media(min-width:768px){.usp{grid-template-columns:repeat(4,1fr)}}
.clist{display:grid;grid-template-columns:1fr;gap:1px;max-width:80rem;margin:0 auto}@media(min-width:700px){.clist{grid-template-columns:repeat(3,1fr)}}
.iwt{display:grid;max-width:80rem;margin:5rem auto;align-items:center;gap:3rem;padding:0 1.5rem}@media(min-width:900px){.iwt{grid-template-columns:1fr 1fr}.iwt.reverse .iwt-img{order:2}}
.iwt-img{overflow:hidden;aspect-ratio:4/5}.iwt-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s}.iwt-img:hover img{transform:scale(1.03)}
.iwt-text h2{font-size:clamp(1.3rem,2.6vw,2rem);margin:.75rem 0 1rem}.iwt-text p{line-height:1.7;font-size:.9rem;color:var(--muted);max-width:30rem}
.newsletter{text-align:center;padding-top:5rem;padding-bottom:5rem;border-top:1px solid var(--border)}.newsletter h2{font-size:clamp(1.3rem,2.6vw,2rem);margin:.75rem 0}.newsletter .muted{font-size:.9rem}
.nl-row{display:flex;gap:.5rem;max-width:30rem;margin:1.5rem auto 0}.nl-row input{flex:1;padding:0 1rem;background:transparent;border:1px solid var(--border);color:var(--fg);font:inherit;margin-top:1.25rem}
.variant-select,.qty{color:var(--fg)}
@media(prefers-reduced-motion:reduce){.kenburns{animation:none}}

.featured{padding:1rem 0 3rem}
.featured .product-grid{gap:2rem 1.5rem;background:transparent;border:0}
@media(min-width:1024px){.featured .product-grid{grid-template-columns:repeat(4,1fr)}}
.featured .card-media{aspect-ratio:4/5;background:#f1efeb;overflow:hidden}
.featured .card-media img{object-fit:cover;transition:transform 1.2s}
.featured .product-card:hover .card-media img{transform:scale(1.04)}
.featured .card-info{text-align:center;padding:.9rem .75rem 0}
.featured .card-info .muted{text-transform:capitalize}
