@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');:root{--ink:#24302b;--sage:#728b79;--cream:#f5f0e7;--rust:#b65f42;--paper:#fffdf8;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem clamp(1rem,6vw,6rem);position:relative;z-index:2}.logo{text-decoration:none;color:var(--ink);font-family:'Playfair Display',serif;font-size:1.25rem}.logo span{display:block;font:700 .62rem 'DM Sans';letter-spacing:.32em;color:var(--rust)}nav{display:flex;gap:1.5rem;align-items:center}nav a{text-decoration:none;color:inherit;font-size:.9rem}.cart{border:1px solid #d6d3ca;padding:.65rem 1rem;border-radius:2rem}.cart b{background:var(--rust);color:white;border-radius:50%;padding:.08rem .38rem}.hero{min-height:76vh;padding:5rem clamp(1rem,8vw,9rem);display:grid;grid-template-columns:1.05fr .95fr;gap:5vw;align-items:center;background:linear-gradient(105deg,var(--cream) 0 58%,#d6dfd3 58%)}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-weight:700;color:var(--rust);font-size:.72rem}.hero h1,.detail h1,.message h1{font:600 clamp(3rem,7vw,6.5rem)/.94 'Playfair Display',serif;margin:1rem 0}.hero h1 em{color:var(--rust)}.lead{font-size:1.1rem;line-height:1.75;max-width:650px;color:#56615c}.button,button{display:inline-block;background:var(--ink);color:white;border:0;padding:1rem 1.5rem;text-decoration:none;margin-top:1.5rem;font-weight:700}.hero-art{aspect-ratio:4/5;background:linear-gradient(140deg,rgba(35,55,45,.05),rgba(35,55,45,.7)),repeating-linear-gradient(115deg,#98aa95 0 22px,#afbea9 22px 44px);box-shadow:2rem 2rem 0 var(--rust);display:flex;align-items:flex-end;padding:2rem;color:white;text-transform:uppercase;letter-spacing:.15em}.promise{display:flex;justify-content:space-around;gap:1rem;flex-wrap:wrap;padding:1.2rem;background:var(--ink);color:white;font-size:.85rem}.products{padding:7rem clamp(1rem,8vw,9rem)}h2{font:600 clamp(2.3rem,5vw,4.5rem)/1.05 'Playfair Display',serif;max-width:800px;margin:.7rem 0 3rem}.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.product-grid article{display:grid;grid-template-columns:1fr 1.2fr;border:1px solid #dedbd2;background:white}.product-image,.detail-image{min-height:0;background:#d8e0d5;display:grid;place-items:center;padding:1rem;color:#627064;text-align:center;overflow:hidden}.product-image{position:relative;isolation:isolate;height:clamp(240px,28vw,360px)}.detail-image{height:clamp(320px,55vw,560px)}.product-image img,.detail-image img{display:block;width:100%;height:100%;object-fit:contain}.product-image .product-image-backdrop{position:absolute;inset:-1rem;width:calc(100% + 2rem);height:calc(100% + 2rem);object-fit:cover;filter:blur(18px);opacity:.2;transform:scale(1.08);z-index:0}.product-image .product-image-main{position:relative;z-index:1;max-width:calc(100% - 1rem);max-height:calc(100% - 1rem);filter:drop-shadow(0 .75rem 1rem rgba(16,40,45,.18))}.product-copy{padding:2rem}.product-copy h3{font:600 1.8rem 'Playfair Display',serif}.product-copy strong,.product-copy a{display:block;margin-top:1rem;color:var(--rust)}.story{background:var(--cream);padding:7rem clamp(1rem,8vw,9rem);display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end}.story p:last-child{line-height:1.8}.detail{padding:5rem clamp(1rem,8vw,9rem);display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}.detail h1{font-size:clamp(2.8rem,5vw,5rem)}.price{display:block;font-size:1.8rem;color:var(--rust);margin:2rem 0}.note{font-size:.85rem;color:#707a75}.message{padding:8rem clamp(1rem,10vw,12rem);min-height:70vh}footer{background:var(--ink);color:white;padding:4rem clamp(1rem,8vw,9rem);display:grid;grid-template-columns:2fr 1fr;gap:2rem}footer .logo{color:white}footer a{display:block;color:#d8e0da;margin:.5rem 0;text-decoration:none}footer small{grid-column:1/-1;color:#9eaaa4}@media(max-width:760px){nav>a:not(.cart){display:none}.hero{grid-template-columns:1fr;background:var(--cream);padding-top:3rem}.hero-art{max-height:430px}.story,.detail{grid-template-columns:1fr}.product-grid article{grid-template-columns:1fr}footer{grid-template-columns:1fr}}

/* Product media */
.product-image-stack{padding:clamp(1.5rem,3vw,2.5rem)}
.product-image .product-image-layer{position:absolute;width:72%;height:78%;object-fit:cover;border:.4rem solid #fff;background:#fff;box-shadow:0 1rem 2rem rgba(16,40,45,.18);transition:transform .25s ease}
.product-image .product-image-layer:nth-of-type(1){z-index:3;transform:translate(-12%,-6%) rotate(-2deg)}
.product-image .product-image-layer:nth-of-type(2){z-index:2;transform:translate(8%,4%) rotate(3deg)}
.product-image .product-image-layer:nth-of-type(3){z-index:1;transform:translate(18%,10%) rotate(6deg)}
.product-image-stack:hover .product-image-layer:nth-of-type(1){transform:translate(-16%,-8%) rotate(-3deg)}
.product-image-stack:hover .product-image-layer:nth-of-type(2){transform:translate(10%,5%) rotate(4deg)}
.product-image-count{position:absolute;right:1rem;bottom:1rem;z-index:4;padding:.4rem .65rem;border-radius:2rem;background:var(--ink);color:#fff;font-weight:700}
.product-gallery{min-width:0}
.product-gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:.25rem}
.product-gallery-track::-webkit-scrollbar{display:none}
.product-gallery-track .detail-image{flex:0 0 100%;width:100%;margin:0;scroll-snap-align:start;scroll-snap-stop:always}
.product-gallery-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}
.product-gallery-controls .gallery-arrow{display:grid;place-items:center;width:2.75rem;height:2.75rem;margin:0;padding:0;border-radius:50%;font-size:1.2rem;cursor:pointer}
@media(max-width:760px){.detail{padding-top:2rem}.detail-image{height:min(110vw,520px)}.product-gallery{order:-1}.product-gallery-track{touch-action:pan-x}}
