:root{--creme:#F5F1EB;--sand:#D8C4AC;--dusty:#C8A49F;--blush:#F5EDE6;--burgundy:#4D0E13;--ink:#2b1a1b;--muted:#7a6461;--white:#fffaf6;--serif:'Instrument Serif',Georgia,serif;--sans:'Work Sans',system-ui,sans-serif;--shadow:0 20px 50px -25px rgba(77,14,19,.25)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;color:var(--burgundy);line-height:1.1;margin:0 0 .5em}
h1{font-size:clamp(2.6rem,6vw,4.8rem)}h2{font-size:clamp(2rem,4vw,3.2rem)}h3{font-size:1.5rem}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:99}
.container{max-width:1280px;margin:0 auto;padding:0 1.25rem}@media(min-width:768px){.container{padding:0 2rem}}
.section{padding:4.5rem 0}@media(min-width:768px){.section{padding:6.5rem 0}}
.bg-creme{background:var(--creme)}.bg-blush{background:var(--blush)}.bg-sand{background:var(--sand)}.bg-burgundy{background:var(--burgundy);color:var(--creme)}.bg-burgundy h2,.bg-burgundy h3{color:var(--creme)}
.eyebrow{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--dusty);font-weight:500;margin-bottom:1rem;display:block}
.center{text-align:center}.lead{color:var(--muted);max-width:36rem;font-size:1.05rem}.center .lead{margin:0 auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:0 2.2rem;border:1px solid var(--burgundy);background:var(--burgundy);color:var(--creme);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;border-radius:999px;transition:.3s}
.btn:hover{background:transparent;color:var(--burgundy)}.btn--outline{background:transparent;color:var(--burgundy)}.btn--outline:hover{background:var(--burgundy);color:var(--creme)}
.btn--block{width:100%}.btn[disabled]{opacity:.5;pointer-events:none}
.announcement{background:var(--burgundy);color:var(--creme);text-align:center;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;padding:.6rem 1rem}
.header{position:sticky;top:0;z-index:40;background:rgba(255,250,246,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(77,14,19,.08)}
.header__inner{display:flex;align-items:center;justify-content:space-between;height:72px;gap:1rem}
.logo{font-family:var(--serif);color:var(--burgundy);font-size:1.6rem;line-height:1;text-align:center}.logo small{display:block;font-family:var(--sans);font-size:.55rem;letter-spacing:.45em;text-transform:uppercase;color:var(--dusty);margin-top:3px}
.nav{display:none;gap:2rem;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase}.nav a{position:relative;padding:.3rem 0}.nav a:after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--burgundy);transition:.3s}.nav a:hover:after{width:100%}
@media(min-width:1024px){.nav{display:flex}.menu-toggle{display:none!important}}
.icons{display:flex;gap:.25rem;align-items:center}.icon-btn{position:relative;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:0;background:none;color:var(--burgundy)}
.icon-btn svg{width:20px;height:20px}.count{position:absolute;top:4px;right:2px;background:var(--dusty);color:#fff;font-size:.62rem;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center}
.search-bar{display:none;border-top:1px solid rgba(77,14,19,.08);padding:1rem 0}.search-bar.open{display:block}
.search-bar form{display:flex;gap:.5rem}.input{flex:1;min-height:50px;border:1px solid var(--sand);background:#fff;border-radius:999px;padding:0 1.25rem;font:inherit;color:var(--ink)}
.mobile-menu{position:fixed;inset:0;z-index:60;background:rgba(43,26,27,.4);opacity:0;pointer-events:none;transition:.3s}.mobile-menu.open{opacity:1;pointer-events:auto}
.mobile-menu__panel{background:var(--white);width:85%;max-width:360px;height:100%;padding:2rem;transform:translateX(-100%);transition:.35s}.mobile-menu.open .mobile-menu__panel{transform:none}
.mobile-menu nav a{display:block;font-family:var(--serif);font-size:1.8rem;color:var(--burgundy);padding:.6rem 0;border-bottom:1px solid var(--creme)}
.hero{position:relative;min-height:78vh;display:flex;align-items:center;overflow:hidden;background:var(--blush)}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(245,237,230,.92) 0%,rgba(245,237,230,.6) 45%,transparent 75%)}
.hero__content{position:relative;z-index:1;max-width:560px;padding:4rem 0}.hero__content p{color:var(--muted);font-size:1.1rem;margin-bottom:2rem}
.hero__ctas{display:flex;flex-wrap:wrap;gap:.75rem}
.head{display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap;margin-bottom:2.5rem}.link{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--burgundy);border-bottom:1px solid currentColor;padding-bottom:2px}
.grid{display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr)}@media(min-width:768px){.grid{gap:2rem}.grid--4{grid-template-columns:repeat(4,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}}
.coll-card{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;border-radius:1.25rem;background:var(--creme)}.coll-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.coll-card:hover img{transform:scale(1.05)}
.coll-card__label{position:absolute;inset:auto 0 0 0;padding:1.5rem;background:linear-gradient(transparent,rgba(77,14,19,.7));color:var(--creme)}.coll-card__label h3{color:var(--creme);margin:0}.coll-card__label span{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase}
.card{position:relative;display:flex;flex-direction:column}.card__media{position:relative;aspect-ratio:1;border-radius:1rem;overflow:hidden;background:var(--creme)}
.card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s,transform .8s}.card__media .alt{opacity:0}.card:hover .card__media .alt{opacity:1}.card:hover .card__media img{transform:scale(1.03)}
.badge{position:absolute;top:.75rem;left:.75rem;z-index:2;background:var(--burgundy);color:var(--creme);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;padding:.3rem .7rem;border-radius:999px}.badge--soft{background:var(--white);color:var(--burgundy)}
.card__body{padding:1rem .25rem 0;flex:1;display:flex;flex-direction:column}.card__title{font-family:var(--serif);font-size:1.2rem;color:var(--burgundy);line-height:1.2;margin-bottom:.35rem}
.price{font-size:.95rem;color:var(--ink)}.price s{color:var(--muted);margin-left:.4rem;font-size:.85rem}.price--sale{color:var(--burgundy);font-weight:500}
.quick-add{margin-top:.9rem;min-height:44px;width:100%;border:1px solid var(--burgundy);background:transparent;color:var(--burgundy);border-radius:999px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;transition:.3s}.quick-add:hover{background:var(--burgundy);color:var(--creme)}
.benefits{display:grid;gap:2rem;grid-template-columns:1fr 1fr}@media(min-width:768px){.benefits{grid-template-columns:repeat(4,1fr)}}
.benefit{text-align:center}.benefit svg{width:32px;height:32px;color:var(--burgundy);margin:0 auto 1rem}.benefit h3{font-size:1.25rem}.benefit p{color:var(--muted);font-size:.9rem;margin:0}
.split{display:grid;gap:3rem;align-items:center}@media(min-width:900px){.split{grid-template-columns:1fr 1fr;gap:5rem}}.split img{border-radius:1.5rem;aspect-ratio:4/5;object-fit:cover;width:100%}
.promo{border-radius:1.5rem;padding:3rem 2rem;text-align:center;background:var(--dusty);color:var(--white)}.promo h2{color:var(--white)}
.reviews-empty{border:1px dashed var(--sand);border-radius:1.25rem;padding:3rem;text-align:center;color:var(--muted)}
.newsletter form{display:flex;flex-direction:column;gap:.75rem;max-width:480px;margin:2rem auto 0}@media(min-width:600px){.newsletter form{flex-direction:row}}
.note{font-size:.85rem;margin-top:1rem}
details.faq{border-bottom:1px solid var(--sand)}details.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;padding:1.4rem 0;font-family:var(--serif);font-size:1.3rem;color:var(--burgundy)}
details.faq summary::-webkit-details-marker{display:none}details.faq summary:after{content:'+';font-family:var(--sans);font-weight:300;transition:.3s}details.faq[open] summary:after{transform:rotate(45deg)}details.faq .faq__a{padding:0 0 1.4rem;color:var(--muted)}
.faqs{max-width:820px;margin:0 auto}
.footer{background:var(--burgundy);color:var(--creme);padding:4rem 0 2rem}.footer .logo{color:var(--creme);text-align:left}.footer h4{color:var(--creme);font-family:var(--sans);font-size:.72rem;letter-spacing:.25em;text-transform:uppercase;margin-bottom:1rem}
.footer__grid{display:grid;gap:2.5rem;grid-template-columns:1fr 1fr}@media(min-width:768px){.footer__grid{grid-template-columns:2fr 1fr 1fr 1fr}}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin:.45rem 0;font-size:.9rem;opacity:.85}
.footer__bottom{border-top:1px solid rgba(238,228,218,.2);margin-top:3rem;padding-top:1.5rem;font-size:.78rem;opacity:.7;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}
.page-hero{background:var(--blush);padding:4rem 0 3rem;text-align:center}
.toolbar{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;margin-bottom:2rem}.select{min-height:46px;border:1px solid var(--sand);border-radius:999px;padding:0 1rem;background:#fff;font:inherit}
.filters{display:flex;flex-wrap:wrap;gap:.5rem}.chip{border:1px solid var(--sand);border-radius:999px;padding:.45rem 1rem;font-size:.8rem;background:#fff}.chip.active,.chip:hover{background:var(--burgundy);color:var(--creme);border-color:var(--burgundy)}
.pagination{display:flex;justify-content:center;gap:.5rem;margin-top:3rem}.pagination a,.pagination span{padding:.5rem 1rem;border-radius:999px;border:1px solid var(--sand)}
.product{display:grid;gap:2.5rem;padding:2.5rem 0 4rem}@media(min-width:900px){.product{grid-template-columns:1.1fr 1fr;gap:4rem}.product__info{position:sticky;top:100px;align-self:start}}
.gallery__main{aspect-ratio:1;border-radius:1.25rem;overflow:hidden;background:var(--creme)}.gallery__main img{width:100%;height:100%;object-fit:cover}
.thumbs{display:flex;gap:.6rem;margin-top:.8rem;overflow-x:auto}.thumbs button{flex:0 0 76px;height:76px;border-radius:.75rem;overflow:hidden;border:2px solid transparent;padding:0;background:var(--creme)}.thumbs button.active{border-color:var(--burgundy)}.thumbs img{width:100%;height:100%;object-fit:cover}
.product__price{font-size:1.4rem;margin:.5rem 0 1.5rem}.option{margin-bottom:1.25rem}.option label{display:block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:.5rem;color:var(--muted)}
.swatches{display:flex;flex-wrap:wrap;gap:.5rem}.swatches input{position:absolute;opacity:0}.swatches span{display:inline-block;padding:.6rem 1.1rem;border:1px solid var(--sand);border-radius:999px;font-size:.85rem;cursor:pointer}.swatches input:checked+span{background:var(--burgundy);color:var(--creme);border-color:var(--burgundy)}
.qty{display:inline-flex;align-items:center;border:1px solid var(--sand);border-radius:999px;height:52px}.qty button{width:44px;height:100%;border:0;background:none;font-size:1.1rem;color:var(--burgundy)}.qty input{width:40px;text-align:center;border:0;background:none;font:inherit}
.buy{display:grid;gap:.75rem;margin:1.5rem 0}.buy__row{display:flex;gap:.75rem}.buy__row .btn{flex:1}
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;font-size:.72rem;text-align:center;color:var(--muted);border-top:1px solid var(--creme);border-bottom:1px solid var(--creme);padding:1rem 0;margin-bottom:1rem}.trust svg{width:22px;height:22px;margin:0 auto .3rem;color:var(--burgundy)}
.rte{color:var(--muted)}.rte p{margin:0 0 1em}.rte ul{padding-left:1.2em}
.cart-drawer{position:fixed;inset:0;z-index:70;background:rgba(43,26,27,.4);opacity:0;pointer-events:none;transition:.3s}.cart-drawer.open{opacity:1;pointer-events:auto}
.cart-drawer__panel{position:absolute;right:0;top:0;height:100%;width:100%;max-width:440px;background:var(--white);display:flex;flex-direction:column;transform:translateX(100%);transition:.35s}.cart-drawer.open .cart-drawer__panel{transform:none}
.cart-drawer__head{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--creme)}.cart-drawer__head h3{margin:0}
.cart-drawer__items{flex:1;overflow-y:auto;padding:1rem 1.5rem}.cart-drawer__foot{padding:1.5rem;border-top:1px solid var(--creme)}
.line{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--creme)}.line img{width:80px;height:80px;border-radius:.75rem;object-fit:cover;background:var(--creme)}.line__info{flex:1;min-width:0}.line__title{font-family:var(--serif);font-size:1.1rem;color:var(--burgundy);line-height:1.2}
.line .qty{height:38px;margin-top:.5rem}.line .qty button{width:34px}.remove{background:none;border:0;color:var(--muted);font-size:.75rem;text-decoration:underline;padding:0;margin-top:.4rem}
.subtotal{display:flex;justify-content:space-between;font-size:1.1rem;margin-bottom:.4rem}.small{font-size:.8rem;color:var(--muted)}
.cart-page table{width:100%;border-collapse:collapse}.cart-page td{padding:1rem .5rem;border-bottom:1px solid var(--creme);vertical-align:middle}
.form{max-width:440px;margin:0 auto;display:grid;gap:1rem}.form .input{border-radius:.75rem}.errors{color:#9b1c1c;font-size:.9rem}
.toast{position:fixed;top:90px;left:50%;transform:translate(-50%,-20px);background:var(--burgundy);color:var(--creme);padding:.8rem 1.5rem;border-radius:999px;font-size:.85rem;opacity:0;transition:.3s;z-index:80;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}
.fade-up{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}.fade-up.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.fade-up{opacity:1;transform:none}*{transition:none!important}}

.marquee{overflow:hidden;background:var(--burgundy);color:var(--creme);padding:1.1rem 0;white-space:nowrap}.marquee__track{display:inline-flex;gap:3rem;animation:mq 30s linear infinite;font-family:var(--serif);font-size:1.6rem;font-style:italic}.marquee__track span:after{content:'✦';margin-left:3rem;font-style:normal;font-size:.9rem;color:var(--dusty)}@keyframes mq{to{transform:translateX(-50%)}}
.ritual{display:grid;gap:1.5rem}@media(min-width:768px){.ritual{grid-template-columns:repeat(3,1fr);gap:2.5rem}}.ritual__step{border-top:1px solid var(--burgundy);padding-top:1.5rem}.ritual__num{font-family:var(--serif);font-size:3.5rem;color:var(--dusty);line-height:1}.ritual__step p{color:var(--muted)}
.editorial{display:grid;gap:2.5rem;align-items:center}@media(min-width:900px){.editorial{grid-template-columns:1.1fr 1fr;gap:5rem}}.editorial__img{aspect-ratio:4/5;overflow:hidden;border-radius:1.25rem;background:var(--sand)}.editorial__img img{width:100%;height:100%;object-fit:cover}
@media(prefers-reduced-motion:reduce){.marquee__track{animation:none}}
