:root{--brand:#C00248;--brand-deep:#9B003A;--gold:#D4932A;--gold-text:#8A5A0E;--gold-soft:#F3DDB0;--ink:#2A1B22;--muted:#7A6A71;--line:#EFE6E9;--blush:#FFF3F6;--display:'Cormorant Garamond',Georgia,serif;--body:'Jost',system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500 600;font-display:swap;src:url(/assets/fonts/cormorant-500.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(/assets/fonts/cormorant-italic-500.woff) format('woff')}
@font-face{font-family:'Jost';font-style:normal;font-weight:300 500;font-display:swap;src:url(/assets/fonts/jost.woff2) format('woff2')}
body{margin:0;font-family:var(--body);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;line-height:1.55}
img{max-width:100%;display:block}a{color:inherit}button{font:inherit;cursor:pointer}ul{list-style:none;margin:0;padding:0}
.wrap{max-width:1280px;margin:0 auto;padding:0 28px}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 14px;z-index:200}.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

/* header */
.announce{background:var(--brand);color:#fff;text-align:center;font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:9px 12px}
header.top{position:sticky;top:0;background:#fffffff2;backdrop-filter:blur(10px);z-index:50;border-bottom:1px solid var(--line)}
.bar-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:84px;gap:24px}
.left{display:flex;align-items:center;gap:8px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--brand)}.brand img{height:52px;width:auto}.brand span{font-family:var(--body);font-weight:500;font-size:19px;letter-spacing:.16em;white-space:nowrap;-webkit-text-stroke:.5px currentColor}
nav.main{display:flex;justify-content:center;gap:28px;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
nav.main a{text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}
nav.main a:hover,nav.main a[aria-current]{border-color:var(--brand);color:var(--brand)}
.logo img{height:72px;width:auto}
.tools{display:flex;gap:18px;justify-content:flex-end;align-items:center}
.tools button,.tools a{background:none;border:0;padding:4px;position:relative;color:var(--ink);display:grid}
.tools svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.5}
.tools .n{position:absolute;top:-4px;right:-6px;background:var(--brand);color:#fff;font-size:10px;min-width:17px;height:17px;border-radius:9px;display:grid;place-items:center}
.burger{display:none}
#searchbar{display:none;border-top:1px solid var(--line);padding:12px 0}
#searchbar.on{display:block}
#searchbar input{width:100%;border:1px solid var(--line);padding:14px 16px;font:inherit;outline:0}
#searchbar input:focus{border-color:var(--brand)}
#sresults{display:grid;gap:4px;margin-top:8px}
#sresults a{display:flex;gap:12px;align-items:center;text-decoration:none;padding:6px;border:1px solid transparent}
#sresults a:hover{border-color:var(--line);background:var(--blush)}
#sresults img{width:44px;height:55px;object-fit:cover}

/* buttons */
.btn{display:inline-block;background:var(--brand);color:#fff;text-decoration:none;padding:16px 38px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;transition:.25s;border:1px solid var(--brand);width:max-content;cursor:pointer}
.btn:hover{background:var(--brand-deep)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff}
.eyebrow{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-text);font-weight:500;margin:0}

/* hero */
.hero{display:grid;grid-template-columns:1fr 1.1fr;min-height:620px;background:var(--blush)}
.hero .copy{display:flex;flex-direction:column;justify-content:center;padding:60px clamp(28px,6vw,96px);gap:18px}
.hero h1{font-family:var(--display);font-weight:500;font-size:clamp(44px,5.4vw,78px);line-height:1;margin:0}
.hero h1 em{color:var(--brand)}
.hero p.lead{max-width:440px;color:var(--muted);font-size:17px;margin:0}
.hero .pic{overflow:hidden}.hero .pic img{width:100%;height:100%;object-fit:cover;object-position:35% center}
.trust{border-bottom:1px solid var(--line)}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:26px;padding-bottom:26px;text-align:center;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.trust span{color:var(--gold-text);margin-right:8px}
section.s{padding:84px 0}
.head{text-align:center;margin-bottom:46px}
.head h2,h1.page{font-family:var(--display);font-weight:500;font-size:clamp(34px,4vw,52px);margin:8px 0 0;line-height:1.1}
.head p{color:var(--muted);margin:10px auto 0;max-width:520px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px 22px}
.more{text-align:center;margin-top:48px}
.banner{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.banner img{width:100%;height:100%;min-height:520px;object-fit:cover}
.banner .copy{display:flex;flex-direction:column;justify-content:center;gap:16px;padding:60px clamp(28px,7vw,110px)}
.banner h2{font-family:var(--display);font-weight:500;font-size:clamp(34px,4vw,56px);line-height:1.05;margin:0}
.banner h2 em{color:var(--brand)}.banner p{color:var(--muted);margin:0;max-width:430px}
.ticks{display:grid;gap:8px;margin:6px 0 12px}.ticks li:before{content:"✓";color:var(--brand);margin-right:10px;font-weight:600}
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.cat{position:relative;aspect-ratio:3/4;overflow:hidden;display:block;text-decoration:none}
.cat img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.cat:hover img{transform:scale(1.06)}
.cat span{position:absolute;left:0;right:0;bottom:0;padding:44px 18px 18px;background:linear-gradient(transparent,#2a1b22bb);color:#fff;font-family:var(--display);font-size:28px;font-weight:500}
.reviews{background:var(--blush)}
.rv{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rv blockquote{margin:0;background:#fff;padding:34px 30px;border:1px solid var(--line)}
.stars{color:var(--gold);letter-spacing:4px;font-size:15px}
.rv p{font-family:var(--display);font-size:22px;line-height:1.35;margin:14px 0}
.rv cite{font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.news{text-align:center}
.news form,.nl{display:flex;max-width:480px;margin:26px auto 0;border:1px solid var(--ink)}
.news input,.nl input{flex:1;border:0;padding:16px 18px;font:inherit;outline:0;background:none;min-width:0}
.news button,.nl button{border:0;background:var(--ink);color:#fff;padding:0 26px;letter-spacing:.14em;text-transform:uppercase;font-size:12px}
.news button:hover,.nl button:hover{background:var(--brand)}

/* cards */
.card{display:flex;flex-direction:column;position:relative}
.card-img{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:var(--blush)}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.card:hover .card-img img{transform:scale(1.045)}
.badge{position:absolute;top:12px;left:12px;background:var(--brand);color:#fff;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px}
.card-body{padding:14px 2px 0;display:flex;flex-direction:column;gap:2px;flex:1}
.card-cat{margin:0;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-text);font-weight:500}
.card-name{margin:2px 0 0;display:block;font-family:var(--display);font-size:21px;line-height:1.2;font-weight:600}
.card-name a{text-decoration:none}.card-name a:hover{color:var(--brand)}
.card-size{margin:0;color:var(--muted);font-size:13px}
.card-foot{margin-top:auto;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.price{font-weight:500;font-size:16px}.price.big{font-size:28px;margin:8px 0}
.add{background:transparent;border:1px solid var(--ink);color:var(--ink);padding:9px 16px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;transition:.2s}
.add:hover,.add.solid{background:var(--brand);border-color:var(--brand);color:#fff}
.add.solid{padding:16px 26px;width:100%}.add.solid:hover{background:var(--brand-deep)}

/* shop page */
.pagehead{text-align:center;padding:60px 0 30px;border-bottom:1px solid var(--line);margin-bottom:34px;background:var(--blush)}
.filters{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:34px}
.filters button{border:1px solid var(--line);background:#fff;padding:9px 18px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.filters button.on,.filters button:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.sortrow{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;color:var(--muted);font-size:14px}
.sortrow select{border:1px solid var(--line);padding:8px 12px;font:inherit;background:#fff}

/* product page */
.crumbs{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:22px 0}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--brand)}
.pdp{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;padding-bottom:70px}
.pdp .gal{aspect-ratio:4/5;background:var(--blush);overflow:hidden}.pdp .gal img{width:100%;height:100%;object-fit:cover}
.pdp h1{font-family:var(--display);font-weight:500;font-size:clamp(34px,3.6vw,52px);line-height:1.05;margin:6px 0}
.pdp .buy{display:flex;gap:12px;align-items:stretch;margin:22px 0}
.pdp .qty{display:inline-flex;border:1px solid var(--ink)}
.pdp .qty button{width:42px;border:0;background:none;font-size:18px}.pdp .qty span{width:34px;display:grid;place-items:center}
.pdp .buy .add.solid{flex:1}
.perks{margin:6px 0 24px;font-size:14px;color:var(--muted);display:grid;gap:6px}.perks li:before{content:"✦";color:var(--gold-text);margin-right:8px}
details{border-top:1px solid var(--line);padding:14px 0}details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-size:13px;letter-spacing:.14em;text-transform:uppercase;list-style:none;display:flex;justify-content:space-between}
summary::after{content:"+";color:var(--brand)}details[open] summary::after{content:"–"}
details p{color:var(--muted);margin:10px 0 0;font-size:15px}
.related{border-top:1px solid var(--line);padding:70px 0}

/* content pages */
.prose{max-width:760px;margin:0 auto;padding:50px 28px 90px}
.prose h2{font-family:var(--display);font-weight:500;font-size:30px;margin:34px 0 8px}
.prose p,.prose li{color:#4a3a42}.prose ul{list-style:disc;padding-left:22px}
.prose .note{background:var(--blush);border-left:3px solid var(--brand);padding:12px 16px;font-size:14px}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:60px 0 90px}
.contact form{display:grid;gap:14px}
.contact label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:grid;gap:6px}
.contact input,.contact textarea,.contact select{border:1px solid var(--line);padding:14px;font:inherit;outline:0;width:100%}
.contact input:focus,.contact textarea:focus{border-color:var(--brand)}
.center{text-align:center;padding:110px 0}

/* footer */
footer.site{background:var(--blush);padding:70px 0 100px}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
footer.site .fh{font-family:var(--display);color:var(--brand);font-size:22px;font-weight:500;margin:0 0 14px}
footer.site li{margin:8px 0;font-size:14px}footer.site a{text-decoration:none}footer.site a:hover{color:var(--brand)}
.brandline img{height:86px}.brandline p{max-width:300px;font-size:14px;color:var(--muted)}
.social{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;color:var(--brand)}
.social a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid currentColor;transition:.2s}
.social a:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.ico{width:17px;height:17px;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.copy-r{border-top:1px solid var(--line);margin-top:48px;padding-top:22px;font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}

/* drawer / toast */
.scrim{position:fixed;inset:0;background:rgba(42,27,34,.42);opacity:0;pointer-events:none;transition:.3s;z-index:90}
.cart-open .scrim{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;height:100%;width:min(420px,100%);background:#fff;z-index:100;transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(0,0,0,.12);visibility:hidden}
.cart-open .drawer{transform:none;visibility:visible}
.drawer header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}
.drawer h2{margin:0;font-family:var(--display);font-size:28px;font-weight:600}
.x{background:none;border:0;font-size:32px;line-height:1;color:var(--muted)}
.lines{flex:1;overflow:auto;padding:8px 24px}
.empty{text-align:center;color:var(--muted);padding:60px 0}.empty a{color:var(--brand)}
.line{display:grid;grid-template-columns:72px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.line img{width:72px;height:90px;object-fit:cover}
.line h4{margin:0;font-family:var(--display);font-size:18px;line-height:1.2}.line p{margin:2px 0 8px;color:var(--muted);font-size:13px}
.qty2{display:inline-flex;border:1px solid var(--line)}.qty2 button{width:30px;height:30px;border:0;background:none;font-size:16px}.qty2 span{width:28px;display:grid;place-items:center;font-size:14px}
.lp{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between}
.rm{background:none;border:0;color:var(--muted);font-size:12px;text-decoration:underline;padding:0}
.drawer footer{padding:18px 24px 24px;border-top:1px solid var(--line);background:var(--blush)}
.ship{font-size:13px;color:var(--muted);margin-bottom:12px}
.bar{height:5px;background:#fff;border-radius:9px;margin-top:6px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--brand));transition:.4s}
.sub{display:flex;justify-content:space-between;font-size:17px;margin-bottom:14px}
.checkout{width:100%;background:var(--brand);color:#fff;border:0;padding:16px;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.checkout:hover{background:var(--brand-deep)}.checkout:disabled{opacity:.6;cursor:wait}
.fine{font-size:11px;color:var(--muted);text-align:center;margin:10px 0 0}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:12px 22px;font-size:14px;opacity:0;pointer-events:none;transition:.3s;z-index:120}
.toast.on{opacity:1;transform:translate(-50%,0)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

@media(max-width:980px){
 .grid{grid-template-columns:repeat(2,1fr)}.hero,.banner,.pdp,.contact{grid-template-columns:minmax(0,1fr)}
 .pdp{gap:28px}.hero .pic{height:420px;order:-1}.cats{grid-template-columns:repeat(2,1fr)}.rv{grid-template-columns:1fr}
 footer.site .cols{grid-template-columns:1fr 1fr}.trust .wrap{grid-template-columns:1fr 1fr}
 nav.main{display:none}.burger{display:grid}.logo img{height:54px}.bar-row{height:72px}
 body.menu nav.main{display:flex;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:18px 28px;gap:14px;border-bottom:1px solid var(--line)}
 .contact{gap:34px}
}
@media(max-width:560px){.wrap{padding:0 16px}.grid{gap:26px 12px}.card-name{font-size:18px}.add{padding:8px 10px;font-size:11px}section.s{padding:56px 0}footer.site .cols{grid-template-columns:1fr}.card-foot{flex-wrap:wrap}.announce{font-size:10px}}

/* ---- additions ---- */
.muted{color:var(--muted)}
.hp{position:absolute;left:-9999px}
.closed{background:var(--ink);color:#fff;text-align:center;padding:10px;font-size:14px}
.card .wish{position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:50%;border:0;background:#ffffffe6;font-size:20px;color:var(--brand);display:grid;place-items:center}
.card .wish:hover{background:#fff}
.pdp .wish{width:52px;border:1px solid var(--ink);background:none;font-size:22px;color:var(--brand)}
.badge.out{background:var(--ink)}
.stock{font-size:13px;margin:4px 0 0;font-weight:500}.stock.low{color:var(--brand)}.stock.out{color:var(--ink)}
.avg{margin:6px 0;font-size:14px}.avg a{text-decoration:none}
.card-size .stars{font-size:12px;letter-spacing:1px}
.stars{color:#B7790F}
/* gallery */
.pdp .gal{aspect-ratio:auto;background:none;overflow:visible}
.main-img{aspect-ratio:4/5;background:var(--blush);overflow:hidden}.main-img img{width:100%;height:100%;object-fit:cover;transition:transform .2s}
.main-img img.zoomed{transform:scale(1.9);cursor:zoom-in}
.thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px}
.thumbs button{padding:0;border:1px solid var(--line);background:var(--blush);aspect-ratio:1;overflow:hidden}.thumbs img{width:100%;height:100%;object-fit:cover}
.thumbs button:hover,.thumbs button:focus-visible{border-color:var(--brand)}
/* variants */
.variants{border:0;padding:0;margin:14px 0 0;display:flex;gap:8px;flex-wrap:wrap}.variants legend{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;padding:0}
.vopt input{position:absolute;opacity:0}.vopt span{display:inline-block;border:1px solid var(--line);padding:10px 16px;font-size:14px;cursor:pointer}
.vopt input:checked+span{border-color:var(--brand);background:var(--blush);color:var(--brand)}.vopt input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}.vopt.soldout span{opacity:.5;text-decoration:line-through;cursor:not-allowed}
.alert{margin:22px 0;padding:18px;background:var(--blush)}.alert p{margin:0 0 10px}.alert .row{display:flex;gap:8px}.alert input[type=email]{flex:1;min-width:0;padding:12px;border:1px solid var(--line);font:inherit}
/* reviews */
.reviews-sec{border-top:1px solid var(--line);padding:50px 0;max-width:820px}.reviews-sec h2{font-family:var(--display);font-weight:500;font-size:34px;margin:0 0 10px}
.review{border-bottom:1px solid var(--line);padding:18px 0}.review h3{margin:6px 0;font-size:17px}.review p{margin:4px 0}.review .by{color:var(--muted);font-size:13px}
.rv-form{margin-top:20px}.rv-form form{display:grid;gap:12px;padding-top:14px}.rv-form label{display:grid;gap:6px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.rv-form input,.rv-form select,.rv-form textarea{border:1px solid var(--line);padding:12px;font:inherit;width:100%}
/* extra shop filters */
.extra{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin:-14px 0 26px}.extra label,.sortrow label{font-size:13px;color:var(--muted);display:flex;gap:8px;align-items:center}
.extra select{border:1px solid var(--line);padding:8px 12px;font:inherit;background:#fff}
/* drawer extras */
.opt-row{margin-bottom:12px;font-size:13px;color:var(--muted)}.opt-row[hidden]{display:none}.opt-row label{display:block;margin-bottom:4px}
.opt-row select{width:100%;padding:10px;border:1px solid var(--line);font:inherit;background:#fff}
.code{display:flex;gap:8px}.code input{flex:1;min-width:0;padding:10px;border:1px solid var(--line);font:inherit}.code button{border:1px solid var(--ink);background:none;padding:0 16px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.codemsg{margin:4px 0 0;min-height:16px}.codemsg.ok{color:#176B3A}.codemsg.bad{color:var(--brand)}
.sub.disc{font-size:14px;color:var(--brand)}
.drawer:focus{outline:0}
/* forms */
.fmsg{margin:10px 0 0;font-size:14px;color:#176B3A}.fmsg.bad{color:var(--brand)}.ts{margin:6px 0}
.news form{flex-wrap:wrap}.news .fmsg{flex-basis:100%;padding:0 12px 10px}
.trackbox{border:1px solid var(--line);padding:24px;margin-top:26px;background:var(--blush)}.trackbox h2{margin:0 0 8px;font-family:var(--display);font-weight:500}
/* blog */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding-bottom:80px}.post-card{border:1px solid var(--line);text-decoration:none;display:flex;flex-direction:column}.post-card img{aspect-ratio:3/2;object-fit:cover;width:100%}.post-card div{padding:20px}.post-card h2{font-family:var(--display);font-weight:500;font-size:26px;margin:4px 0}.post-card p{color:var(--muted);margin:6px 0 0;font-size:15px}
.article{max-width:720px;margin:0 auto;padding:40px 28px 80px}.article h1{font-family:var(--display);font-weight:500;font-size:clamp(34px,4vw,50px);line-height:1.1}.article h2{font-family:var(--display);font-weight:500;font-size:28px;margin:30px 0 6px}.article p,.article li{color:#4a3a42}.article ul{list-style:disc;padding-left:22px}
/* cookie banner */
#consent{position:fixed;left:16px;right:16px;bottom:16px;max-width:720px;margin:0 auto;background:#fff;border:1px solid var(--ink);padding:16px 18px;display:flex;gap:16px;align-items:center;justify-content:space-between;z-index:110;box-shadow:0 10px 40px rgba(0,0,0,.18)}
#consent p{margin:0;font-size:14px}#consent div{display:flex;gap:8px}#consent .btn{padding:10px 18px}
.tools .wl{display:grid}
@media(max-width:980px){.posts{grid-template-columns:1fr}.thumbs{grid-template-columns:repeat(4,1fr)}#consent{flex-direction:column;align-items:stretch}}
[hidden]{display:none!important}

@media(max-width:560px){.brand span{font-size:14px;letter-spacing:.1em}.brand img{height:40px}.bar-row{gap:8px}.tools{gap:12px}}
@media(max-width:380px){.brand span{font-size:12px}}
@media(max-width:980px){.brand span{font-size:16px;letter-spacing:.1em}}
@media(max-width:700px){.brand span{font-size:14px;letter-spacing:.08em}.brand img{height:42px}.left{min-width:0}.brand{min-width:0}}
@media(max-width:400px){.brand span{font-size:12px;letter-spacing:.05em}.brand img{height:34px}.brand{gap:6px}.tools{gap:8px}.bar-row{gap:4px}.wrap{padding:0 10px}}

/* ---- polish ---- */
.announce{transition:opacity .35s}.announce.fade{opacity:0}
.dlv{font-size:12px;color:var(--muted);margin:0 0 12px;display:grid;gap:3px}.dlv small{display:block;margin-top:2px;font-size:11px}
.sk .card-img{background:linear-gradient(90deg,#f6eef1 25%,#fbf6f8 50%,#f6eef1 75%);background-size:200% 100%;animation:sk 1.2s infinite}.sk .l{height:14px;background:#f6eef1;margin:12px 2px 0;border-radius:3px}.sk .l.s{width:55%}
@keyframes sk{to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.sk .card-img{animation:none}}
.emptybox{grid-column:1/-1;text-align:center;padding:60px 0;display:grid;gap:10px;justify-items:center}.emptybox p{margin:0}
.inl{color:var(--brand)}
#pop{border:0;padding:34px 30px;max-width:440px;width:92vw;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.3)}#pop::backdrop{background:rgba(42,27,34,.5)}
#pop h2{font-family:var(--display);font-weight:500;font-size:34px;line-height:1.1;margin:6px 0}#pop form{display:grid;gap:10px;margin:18px 0 8px}#pop input[type=email]{border:1px solid var(--ink);padding:14px;font:inherit}#pop .btn{width:100%}#pop .x{position:absolute;top:10px;right:14px}
.link{background:none;border:0;color:var(--muted);text-decoration:underline;font-size:13px;padding:6px}
.stickybuy{display:none}
@media(max-width:700px){.stickybuy{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:80;background:#fff;border-top:1px solid var(--line);padding:10px 14px;gap:12px;align-items:center;transform:translateY(110%);transition:transform .3s;box-shadow:0 -6px 24px rgba(0,0,0,.08)}.stickybuy.on{transform:none}.stickybuy div{flex:1;min-width:0;font-size:13px;line-height:1.25}.stickybuy b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stickybuy .add.solid{width:auto;padding:13px 22px}}
.hl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0;padding:0}.hl li{background:var(--blush);padding:12px 10px;text-align:center;font-size:13px;line-height:1.3}.hl li b{display:block;font-family:var(--display);font-size:19px;color:var(--brand);font-weight:600}
.pairs{border:1px solid var(--line);padding:14px;display:flex;gap:14px;align-items:center;margin:18px 0}.pairs img{width:64px;height:80px;object-fit:cover}.pairs div{flex:1;font-size:14px}.pairs b{display:block;font-family:var(--display);font-size:18px}.pairs .eyebrow{font-size:10px}
.ritual{background:var(--blush)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:s}.step{background:#fff;border:1px solid var(--line);padding:30px 26px;position:relative}.step:before{counter-increment:s;content:counter(s);position:absolute;top:-16px;left:24px;background:var(--brand);color:#fff;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-size:20px}.step h2,.step h3{font-family:var(--display);font-weight:600;font-size:26px;margin:6px 0}.step p{color:var(--muted);margin:0 0 14px}.step a{color:var(--brand)}
.tt{text-align:center}.tt .btn{margin-top:14px}
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:760px;margin:36px auto 0;text-align:left}.timeline div{border-top:3px solid var(--brand);padding-top:10px;font-size:14px;color:var(--muted)}.timeline b{display:block;color:var(--ink)}
#order-info{max-width:520px;margin:0 auto 26px;background:var(--blush);padding:20px;text-align:left}#order-info ul{list-style:disc;padding-left:20px;margin:8px 0}.onum{margin:0}
.pay{font-size:11px;color:var(--muted);text-align:center;margin:30px 0 0;letter-spacing:.04em}
@media(max-width:980px){.steps{grid-template-columns:1fr;gap:28px}.timeline{grid-template-columns:1fr}}

/* ---- contact + forms redesign ---- */
.pagehead{padding:70px 0 54px}
.contact2{display:grid;grid-template-columns:5fr 6fr;gap:44px;padding:0 0 100px;margin-top:-26px;align-items:start}
.cinfo{display:grid;gap:14px}
.ccard{display:flex;gap:16px;align-items:center;padding:20px 22px;background:#fff;border:1px solid var(--line);text-decoration:none;box-shadow:0 10px 34px rgba(192,2,72,.07);transition:transform .25s,box-shadow .25s,border-color .25s}
.ccard:hover{transform:translateY(-3px);border-color:var(--brand);box-shadow:0 16px 40px rgba(192,2,72,.14)}
.cic{flex:none;width:48px;height:48px;border-radius:50%;background:var(--blush);display:grid;place-items:center;position:relative}
.cic:after{content:"";width:22px;height:22px;background:var(--brand);-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.cic.mail{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M3 6h18v12H3z'/%3E%3Cpath d='m3 7 9 7 9-7'/%3E%3C/svg%3E")}
.ccard b{display:block;font-family:var(--display);font-size:22px;font-weight:600;line-height:1.1}
.ccard .cv{display:block;color:var(--brand);font-size:15px;margin-top:2px;word-break:break-all}
.ccard small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.cfollow{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:6px 4px;color:var(--muted);font-size:13px;letter-spacing:.14em;text-transform:uppercase}.cfollow .social{margin-top:0}
.cform{background:#fff;border:1px solid var(--line);padding:38px 36px;display:grid;gap:18px;box-shadow:0 10px 34px rgba(192,2,72,.07)}
.cform h2{font-family:var(--display);font-weight:500;font-size:34px;margin:0}
.cform .frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cform label{display:grid;gap:7px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.cform label small{text-transform:none;letter-spacing:0}
.cform input,.cform textarea{border:1px solid #dccfd4;background:#fff;padding:14px 15px;font:inherit;font-size:16px;color:var(--ink);width:100%;transition:border-color .2s,box-shadow .2s;border-radius:0}
.cform input:focus,.cform textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px rgba(192,2,72,.12)}
.cform textarea{resize:vertical;min-height:150px}
.cform .btn{width:100%;text-align:center;padding:18px}
@media(max-width:980px){.contact2{grid-template-columns:minmax(0,1fr);margin-top:-10px;gap:28px}.cform{padding:26px 20px}.cform .frow{grid-template-columns:minmax(0,1fr)}}
/* shared form fields (track, review, popup) */
.rv-form input,.rv-form select,.rv-form textarea,.contact input,.contact textarea{border:1px solid #dccfd4;border-radius:0}
.rv-form input:focus,.rv-form select:focus,.rv-form textarea:focus,.contact input:focus,.contact textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px rgba(192,2,72,.12)}
::placeholder{color:#b5a6ad;opacity:1}

/* ---- home redesign ---- */
.hero{min-height:680px}
.hero .copy{gap:22px}
.hero h1{font-size:clamp(50px,6vw,92px);letter-spacing:-.01em}
.hero p.lead{font-size:19px;max-width:480px;line-height:1.6}
.hero .eyebrow{display:flex;align-items:center;gap:14px}.hero .eyebrow:before{content:"";width:42px;height:1px;background:var(--gold)}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.chips li{border:1px solid var(--gold);color:var(--gold-text);padding:6px 16px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;border-radius:99px;background:#fff9}
.trust{background:#fff}.trust .wrap{padding-top:22px;padding-bottom:22px;font-size:12px;letter-spacing:.14em}
section.s{padding:76px 0}
.head{margin-bottom:40px}.head .eyebrow{margin-bottom:6px}
.head h2:after{content:"";display:block;width:54px;height:2px;background:var(--gold);margin:16px auto 0}
.ingr{background:#fff}
.ing{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.ing li{text-align:center;padding:26px 14px;border:1px solid var(--line);background:#fff;transition:transform .25s,box-shadow .25s,border-color .25s}
.ing li:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 14px 34px rgba(212,147,42,.16)}
.ing span{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 12px;border-radius:50%;background:var(--blush);color:var(--gold-text);font-size:18px}
.ing b{display:block;font-family:var(--display);font-size:22px;font-weight:600;line-height:1.1}
.ing small{display:block;margin-top:6px;color:var(--muted);font-size:13px;line-height:1.4}
.ritual{background:var(--blush)}
.news{background:linear-gradient(135deg,#C00248,#8F0035);color:#fff;padding:84px 0}
.news .eyebrow{color:#F3DDB0}.news h2{color:#fff}.news p{color:#ffe1ea!important}
.news form{background:#fff;border:0;max-width:520px;box-shadow:0 18px 50px rgba(0,0,0,.25)}
.news input{color:var(--ink)}.news button{background:var(--gold);color:#2A1B22;font-weight:500}.news button:hover{background:#e6a63a}
.news .fmsg{color:#fff;background:transparent}.news .fmsg.bad{color:#ffd1dc}
.banner .copy{background:#fff}
.cats .cat span{font-size:30px}
@media(max-width:980px){.hero{min-height:0}.ing{grid-template-columns:repeat(2,1fr)}section.s{padding:56px 0}.hero h1{font-size:clamp(44px,12vw,64px)}}

/* ---- selects ---- */
select,.extra select,.sortrow select,.opt-row select,.rv-form select,.contact select,.cform select{-webkit-appearance:none;appearance:none;font:inherit;font-size:15px;color:var(--ink);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23C00248' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center/12px 8px;border:1px solid #dccfd4;border-radius:0;padding:10px 40px 10px 14px;min-width:120px;cursor:pointer;transition:border-color .2s,box-shadow .2s}
select:hover{border-color:var(--brand)}
select:focus,select:focus-visible{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px rgba(192,2,72,.14)}
.extra select,.sortrow select,.opt-row select,.rv-form select{padding:10px 40px 10px 14px}
.extra{gap:12px 22px;margin:-6px 0 22px}
.extra label,.sortrow label{gap:10px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.sortrow{margin-bottom:26px;padding-top:6px;border-top:1px solid var(--line)}
.sortrow #count{font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.filters{margin-bottom:22px}
@media(max-width:560px){.extra{justify-content:stretch}.extra label{flex:1 1 100%;justify-content:space-between}.extra select{flex:1;max-width:60%}.sortrow{flex-wrap:wrap;gap:10px}}
