:root{--walnut:#3B2A20;--copper:#C8894B;--oat:#F6F1EA;--linen:#E9DCC8;--bark:#8A6A4F;--sage:#7C8B6F}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--oat);color:var(--walnut);line-height:1.6;font-size:16px}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:500;line-height:1.15;letter-spacing:-.01em;margin:.2em 0 .4em}
h1{font-size:clamp(2rem,7vw,3.6rem)}h2{font-size:clamp(1.5rem,4.5vw,2.2rem)}a{color:inherit}
.bar{background:var(--walnut);color:var(--linen);text-align:center;font-size:.78rem;letter-spacing:.08em;padding:.45rem 1rem}
header{position:sticky;top:0;z-index:10;background:rgba(246,241,234,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--linen)}
.nav{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.1rem}
.brand{display:flex;align-items:center;gap:.55rem;text-decoration:none}.brand img{width:38px;height:38px}
.brand b{font-family:Fraunces,serif;font-weight:600;font-size:1.15rem;display:block;line-height:1}.brand small{font-size:.62rem;letter-spacing:.25em;color:var(--bark)}
.links{display:none;gap:1.6rem}.links a{text-decoration:none;font-size:.92rem}
.cartbtn{text-decoration:none;font-size:.9rem;border:1px solid var(--walnut);border-radius:99px;padding:.35rem .9rem}
.menu{background:none;border:0;font-size:1.4rem;color:var(--walnut);padding:.2rem .4rem}
.drawer{display:none;flex-direction:column;padding:.5rem 1.1rem 1rem}.drawer a{padding:.7rem 0;border-bottom:1px solid var(--linen);text-decoration:none;font-family:Fraunces,serif;font-size:1.2rem}
.drawer.open{display:flex}
@media(min-width:760px){.links{display:flex}.menu,.drawer{display:none!important}}
main{max-width:1180px;margin:auto;padding:1.2rem 1.1rem 3rem}
.hero{display:grid;gap:1.4rem;padding:.6rem 0 2rem}.hero img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px}
.eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--copper);font-weight:600}
.lead{color:var(--bark);font-size:1.05rem;max-width:34em}
@media(min-width:900px){.hero{grid-template-columns:1fr 1.1fr;align-items:center;padding:3rem 0}}
.btn{display:inline-block;background:var(--walnut);color:var(--oat);border:0;border-radius:99px;padding:.9rem 1.6rem;font:600 .95rem Inter,sans-serif;text-decoration:none;cursor:pointer;text-align:center}
.btn.ghost{background:transparent;color:var(--walnut);border:1px solid var(--walnut)}.btn.full{width:100%}
.trust{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin:1rem 0 2.5rem}
.trust div{background:#fff;border-radius:14px;padding:1rem;font-size:.85rem}.trust b{display:block;font-family:Fraunces,serif;font-size:1.05rem;font-weight:500}
@media(min-width:760px){.trust{grid-template-columns:repeat(4,1fr)}}
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-bottom:2.5rem}
.cats a{position:relative;border-radius:14px;overflow:hidden;text-decoration:none;color:#fff}.cats img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.cats span{position:absolute;left:.7rem;bottom:.6rem;font-family:Fraunces,serif;font-size:clamp(.95rem,3vw,1.4rem);text-shadow:0 1px 8px #0008}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 0.8rem}
@media(min-width:900px){.grid{grid-template-columns:repeat(4,1fr);gap:2rem 1.4rem}}
.card{text-decoration:none;display:block}.card .im{position:relative;border-radius:14px;overflow:hidden;background:var(--linen)}
.card img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform .5s}.card:hover img{transform:scale(1.04)}
.tag{position:absolute;top:.5rem;left:.5rem;background:rgba(246,241,234,.92);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .5rem;border-radius:99px;font-weight:600}
.card h3{font-family:Inter,sans-serif;font-size:.92rem;font-weight:500;margin:.6rem 0 .1rem}.card .meta{display:flex;justify-content:space-between;font-size:.85rem;color:var(--bark)}
.filters{display:flex;gap:.5rem;overflow-x:auto;padding:.3rem 0 1rem;scrollbar-width:none}
.chip{flex:none;border:1px solid var(--walnut);background:transparent;border-radius:99px;padding:.5rem 1rem;font:500 .88rem Inter,sans-serif;color:var(--walnut);cursor:pointer}.chip.active{background:var(--walnut);color:var(--oat)}
.story{display:grid;gap:1.4rem;background:var(--linen);border-radius:18px;padding:1.6rem;margin:3rem 0}.story img{width:100%;border-radius:12px;aspect-ratio:1;object-fit:cover}
@media(min-width:900px){.story{grid-template-columns:1fr 1fr;align-items:center;padding:3rem}}
.pd{display:grid;gap:1.4rem}.pd img{width:100%;border-radius:16px;aspect-ratio:1;object-fit:cover}
@media(min-width:900px){.pd{grid-template-columns:1.2fr 1fr;gap:3rem;align-items:start}}
.price{font-family:Fraunces,serif;font-size:1.6rem}.ul{padding-left:1.1rem;color:var(--bark);font-size:.92rem}
.note{background:#fff;border-left:4px solid var(--copper);padding:1rem 1.2rem;border-radius:10px;font-size:.92rem}
.line{display:grid;grid-template-columns:72px 1fr auto;gap:.8rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--linen)}
.line img{width:72px;height:72px;object-fit:cover;border-radius:10px}.qty{display:inline-flex;border:1px solid var(--bark);border-radius:99px;margin-top:.3rem}
.qty button{background:none;border:0;width:32px;height:30px;font-size:1rem;cursor:pointer;color:var(--walnut)}.qty span{min-width:22px;text-align:center;line-height:30px}
.rm{background:none;border:0;color:var(--bark);text-decoration:underline;font-size:.8rem;cursor:pointer}
.summary{background:#fff;border-radius:16px;padding:1.3rem;margin-top:1.4rem}
.summary .row{display:flex;justify-content:space-between;margin:.4rem 0}
input,textarea{width:100%;padding:.85rem 1rem;margin:.3rem 0 1rem;border:1px solid var(--linen);border-radius:12px;font:1rem Inter,sans-serif;background:#fff}
label{font-size:.85rem;font-weight:500}
footer{background:var(--walnut);color:var(--linen);padding:2.5rem 1.1rem;font-size:.85rem}
footer .in{max-width:1180px;margin:auto;display:grid;gap:1.4rem}footer img{width:44px}footer a{display:block;text-decoration:none;opacity:.85;padding:.15rem 0}
@media(min-width:760px){footer .in{grid-template-columns:2fr 1fr 1fr}}
/* mobile-first enhancements */
button,.btn,.chip,.drawer a{min-height:44px}
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(246,241,234,.97);backdrop-filter:blur(10px);border-top:1px solid var(--linen);padding-bottom:env(safe-area-inset-bottom)}
.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:58px;text-decoration:none;font-size:.7rem;font-weight:500}
.tabbar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.tabbar a.on{color:var(--copper)}
body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
.gal{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.5rem;border-radius:16px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.gal::-webkit-scrollbar{display:none}.gal img{flex:0 0 100%;scroll-snap-align:center}
.dots{display:flex;justify-content:center;gap:6px;margin:.6rem 0}.dots i{width:7px;height:7px;border-radius:50%;background:var(--linen)}.dots i.on{background:var(--walnut)}
.buybar{position:fixed;left:0;right:0;bottom:calc(58px + env(safe-area-inset-bottom));z-index:19;display:flex;gap:.8rem;align-items:center;background:#fff;border-top:1px solid var(--linen);padding:.6rem 1rem;box-shadow:0 -4px 16px #0001}
.buybar .btn{flex:1}.buybar b{font-family:Fraunces,serif;font-size:1.2rem}
body.pdp{padding-bottom:140px}
@media(min-width:760px){.tabbar{display:none}body{padding-bottom:0}.buybar{position:static;box-shadow:none;border:0;padding:0;margin:1rem 0}body.pdp{padding-bottom:0}.buybar b{display:none}}
@media(max-width:759px){.menu{display:none}.drawer{display:none!important}}
.tabbar a{height:60px;min-height:60px;white-space:nowrap}.buybar{bottom:calc(60px + env(safe-area-inset-bottom))}
/* ===== v3 ===== */
.fhero{position:relative;margin:-1.2rem calc(50% - 50vw) 2rem;width:100vw;min-height:min(88svh,760px);display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.fhero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center}
.fhero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,20,14,.05) 20%,rgba(30,20,14,.78))}
.fhero .in{position:relative;z-index:1;max-width:1180px;margin:auto;width:100%;padding:2rem 1.2rem 2.6rem}
.fhero h1{font-size:clamp(2.5rem,10vw,5.2rem);max-width:11ch;color:#fff}.fhero .lead{color:#f1e7da}.fhero .eyebrow{color:#f0c18f}
.fhero .btn{background:var(--oat);color:var(--walnut)}.fhero .btn.ghost{background:transparent;color:#fff;border-color:#fff}
.fhero .credit{position:absolute;top:.8rem;right:.8rem;z-index:1;font-size:.62rem;letter-spacing:.1em;background:rgba(0,0,0,.35);padding:.2rem .55rem;border-radius:99px}
@media(min-width:900px){.fhero{align-items:center}.fhero:after{background:linear-gradient(90deg,rgba(30,20,14,.75),rgba(30,20,14,.1) 65%)}}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.in-view{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
.tests{display:flex;gap:.8rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem;scrollbar-width:none}
.tests blockquote{flex:0 0 85%;scroll-snap-align:start;margin:0;background:#fff;border-radius:16px;padding:1.3rem}
.tests .stars{color:var(--copper);letter-spacing:.15em}.tests cite{display:block;margin-top:.6rem;font-style:normal;font-size:.82rem;color:var(--bark)}
@media(min-width:900px){.tests blockquote{flex:1}}
.faq details{border-bottom:1px solid var(--linen);padding:.2rem 0}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:56px;font-weight:500}
.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:1.4rem;color:var(--copper);transition:transform .2s}.faq details[open] summary:after{transform:rotate(45deg)}
.faq p{margin:0 0 1rem;color:var(--bark)}
.news{background:var(--walnut);color:var(--linen);border-radius:18px;padding:1.8rem 1.3rem;margin:3rem 0;text-align:center}.news h2{color:#fff}
.news form{display:flex;flex-direction:column;gap:.6rem;max-width:460px;margin:auto}.news input{margin:0;border:0}.news .btn{background:var(--copper)}
@media(min-width:600px){.news form{flex-direction:row}}
.related{margin-top:3rem}.hscroll{display:grid;grid-auto-flow:column;grid-auto-columns:46%;gap:.8rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.hscroll .card{scroll-snap-align:start}@media(min-width:900px){.hscroll{grid-auto-columns:23.5%}}
.scrim{position:fixed;inset:0;background:rgba(30,20,14,.45);opacity:0;pointer-events:none;transition:opacity .3s;z-index:40}
.drawerc{position:fixed;top:0;right:0;bottom:0;width:min(420px,92vw);background:var(--oat);z-index:41;transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;box-shadow:-8px 0 30px #0002}
body.cart-open .scrim{opacity:1;pointer-events:auto}body.cart-open .drawerc{transform:none}body.cart-open{overflow:hidden}
.drawerc .hd{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.1rem;border-bottom:1px solid var(--linen)}
.drawerc .hd button{background:none;border:0;font-size:1.6rem;width:44px;color:var(--walnut);cursor:pointer}
.drawerc .bd{flex:1;overflow-y:auto;padding:0 1.1rem}.drawerc .ft{padding:1rem 1.1rem calc(1rem + env(safe-area-inset-bottom));border-top:1px solid var(--linen);background:#fff}
.drawerc .ft .row{display:flex;justify-content:space-between;margin-bottom:.7rem}.drawerc .ft .btn{margin-top:.4rem}
.toast{font-size:.85rem;color:var(--sage);padding:.6rem 0 0;font-weight:500}

/* ---- phone flow fixes (Android) ---- */
html{scroll-behavior:auto;overscroll-behavior-y:none}
body{-webkit-tap-highlight-color:transparent;text-rendering:optimizeLegibility}
a,button{touch-action:manipulation}
img{max-width:100%;height:auto}
@media(max-width:759px){
 header{position:relative;backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--oat)}
 .nav{padding:.55rem 1rem}.brand img{width:32px;height:32px}.cartbtn{display:none}
 .bar{font-size:.68rem;letter-spacing:.05em;padding:.4rem .8rem}
 .tabbar{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff;transform:translateZ(0);box-shadow:0 -2px 12px rgba(59,42,32,.08)}
 .buybar{transform:translateZ(0);padding:.5rem 1rem}
 main{padding:1rem 1rem 2rem}
 main>section,main>h2,main>.grid,main>.cats,main>.trust{margin-top:0}
 h2{margin-top:2.2rem}.hero{padding:0 0 1.2rem;gap:1rem}.hero img{border-radius:14px;aspect-ratio:4/3}
 .trust{gap:.6rem;margin:.4rem 0 0}.trust div{padding:.8rem}
 .cats{margin-bottom:0}.story{margin:2.4rem 0 0;padding:1.2rem}
 .card h3{font-size:.88rem}.grid{gap:1.1rem .7rem}
 footer{padding-bottom:calc(76px + env(safe-area-inset-bottom))}body{padding-bottom:0}
 body.pdp footer{padding-bottom:calc(140px + env(safe-area-inset-bottom))}body.pdp{padding-bottom:0}
}
@media(max-width:899px){.fhero:after{background:linear-gradient(180deg,rgba(30,20,14,.25),rgba(30,20,14,.55) 35%,rgba(30,20,14,.85))}.fhero{min-height:calc(100svh - 150px)}}
