:root{--ink:#181714;--paper:#f4f0e7;--accent:#ff6b3d;--line:rgba(24,23,20,.18);--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}
a{color:inherit}
.skip{position:fixed;left:1rem;top:-5rem;background:#fff;padding:.75rem 1rem;z-index:30}
.skip:focus{top:1rem}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,4vw,4rem);border-bottom:1px solid var(--line);position:relative;z-index:10}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-family:var(--serif);font-size:1.55rem;font-weight:700}
.brand img{width:36px;height:36px;object-fit:contain}
.nav{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}
.nav a{padding:.55rem .8rem;text-decoration:none;border-radius:999px;font-size:.82rem}
.nav a:hover,.nav a:focus-visible,.nav a[aria-current=page]{background:var(--ink);color:var(--paper)}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700}
.hero{padding:clamp(3rem,8vw,8rem) clamp(1rem,6vw,6rem);display:grid;gap:1.2rem}
.hero h1{font:700 clamp(3rem,8vw,7.5rem)/.84 var(--serif);max-width:1000px;margin:0}
.hero p{font-size:clamp(1rem,2vw,1.3rem);max-width:580px;line-height:1.55}
.shop{padding:1rem clamp(1rem,4vw,4rem) 5rem}
.shop-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem}
.shop-head h2{font:700 clamp(2.2rem,5vw,4.5rem)/1 var(--serif);margin:.25rem 0}
.shop-head p{max-width:34rem;color:#5c584f}
.products{display:grid;gap:1.2rem}
.product{position:relative;min-width:0}
.product-media{position:relative;overflow:hidden;background:#ded7ca;border-radius:18px;aspect-ratio:4/5}
.product-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.product:hover .product-media img{transform:scale(1.025)}
.placeholder{height:100%;display:grid;place-items:center;padding:2rem;text-align:center;color:#716b61}
.badge{position:absolute;top:.8rem;left:.8rem;background:var(--paper);padding:.38rem .65rem;border-radius:999px;font-size:.7rem;font-weight:700}
.sold .product-media img{filter:grayscale(1);opacity:.6}
.product-copy{padding:.9rem .15rem}
.product-top{display:flex;justify-content:space-between;gap:1rem;align-items:start}
.product h3{font:700 1.55rem/1.1 var(--serif);margin:0}
.price{white-space:nowrap;font-weight:700}
.meta,.description{color:#625e56;font-size:.85rem;line-height:1.5}
.description{margin:.6rem 0}
.sizes{display:flex;gap:.35rem;flex-wrap:wrap;margin:.7rem 0}
.sizes span{border:1px solid var(--line);border-radius:999px;padding:.3rem .5rem;font-size:.7rem}
.cta{display:inline-flex;justify-content:center;background:var(--ink);color:#fff;text-decoration:none;padding:.7rem 1rem;border-radius:999px;font-size:.8rem;font-weight:700}
.cta[aria-disabled=true]{opacity:.45;pointer-events:none}
.empty{padding:5rem 1rem;text-align:center;border:1px dashed var(--line);border-radius:18px}
.empty h3{font:700 2rem var(--serif);margin:0 0 .5rem}
.footer{padding:2rem clamp(1rem,4vw,4rem);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8rem}
/* Editorial */body[data-look=editorial]{--paper:#fbf6ed;--accent:#a12f27}
.editorial .hero{min-height:70vh;align-content:center;background:radial-gradient(circle at 82% 20%,#d49475 0 9%,transparent 9.3%)}
.editorial .hero h1 em{color:var(--accent);font-weight:600}
.editorial .products{grid-template-columns:repeat(12,1fr)}
.editorial .product{grid-column:span 5}
.editorial .product:nth-child(3n+2){grid-column:7/span 6;margin-top:7rem}
.editorial .product:nth-child(3n){grid-column:2/span 5}
.editorial .product-media{border-radius:48% 48% 18px 18px}
/* Grid */body[data-look=grid]{--paper:#f7f7f2;--accent:#315c44}
.grid .hero{padding-bottom:3rem;border-bottom:1px solid var(--line)}
.grid .hero h1{font-family:var(--sans);font-weight:600;letter-spacing:-.07em}
.grid .products{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid .product{border:1px solid var(--line);padding:.7rem;border-radius:24px}
.grid .product-media{border-radius:16px}
.grid .cta{background:var(--accent)}
/* Bento */body[data-look=bento]{--paper:#ece9ff;--ink:#19172b;--accent:#6750d8}
.bento .hero{background:#ffd8c9;margin:1rem;border-radius:34px;min-height:55vh;align-content:end}
.bento .hero h1{max-width:820px}
.bento .products{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:dense}
.bento .product{grid-column:span 2;background:#fff;padding:.75rem;border-radius:26px}
.bento .product:nth-child(4n+1){grid-column:span 4;display:grid;grid-template-columns:1.4fr 1fr;gap:1rem}
.bento .product:nth-child(4n+1) .product-media{aspect-ratio:16/10}
.bento .cta{background:var(--accent)}
/* chooser */.chooser{padding:clamp(3rem,7vw,7rem) clamp(1rem,4vw,4rem)}
.chooser h1{font:700 clamp(3rem,7vw,6rem)/.9 var(--serif);margin:.5rem 0 1.5rem}
.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem}
.option{min-height:450px;padding:1.25rem;border-radius:26px;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s ease}
.option:hover{transform:translateY(-5px)}
.option h2{font:700 2.5rem var(--serif);margin:0}
.option p{max-width:21rem;line-height:1.5}
.option:nth-child(1){background:#efe7da}
.option:nth-child(2){background:#dce9dd}
.option:nth-child(3){background:#ffd8c9}
.mini{display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:.5rem}
.mini i{display:block;background:rgba(24,23,20,.16);border-radius:50% 50% 8px 8px;height:150px}
.mini i:nth-child(2){height:210px}
.choose{font-weight:700;text-decoration:underline;text-underline-offset:4px}
@media(max-width:800px){.topbar{align-items:flex-start}
.brand span{display:none}
.nav{gap:0}
.nav a{padding:.45rem .55rem}
.shop-head{display:block}
.editorial .products,.grid .products,.bento .products{grid-template-columns:repeat(2,minmax(0,1fr))}
.editorial .product,.editorial .product:nth-child(n),.bento .product,.bento .product:nth-child(4n+1){grid-column:span 1;margin-top:0;display:block}
.option-grid{grid-template-columns:1fr}
.option{min-height:330px}
}
@media(max-width:520px){.editorial .products,.grid .products,.bento .products{grid-template-columns:1fr}
.hero h1{font-size:3.4rem}
.topbar{gap:.5rem}
.nav a{font-size:.72rem;padding:.4rem .45rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{transition:none!important;animation:none!important}
}
.editorial .topbar{display:grid;grid-template-columns:1fr auto 1fr;min-height:88px;padding-top:.65rem;padding-bottom:.65rem}
.editorial .brand-monogram{justify-self:start;width:54px;height:66px;display:grid;place-items:center}
.editorial .brand-monogram img{width:100%;height:100%;object-fit:contain}
.editorial .header-wordmark{justify-self:center;width:clamp(190px,25vw,340px);display:block;color:inherit;text-decoration:none}
.editorial .header-wordmark .wordmark-text{display:block;white-space:nowrap;color:#211817;font:700 1em/1 "Cormorant Garamond",Georgia,serif;letter-spacing:-.045em;text-shadow:0 4px 7px rgba(55,24,22,.14)}
.editorial .header-wordmark .wordmark-accent{color:#741a23}
.editorial .topbar .nav{justify-self:end}
@media(max-width:700px){.editorial .topbar{grid-template-columns:auto 1fr;min-height:76px}
.editorial .brand-monogram{width:43px;height:54px}
.editorial .header-wordmark{width:clamp(150px,44vw,230px)}
.editorial .topbar .nav{grid-column:1/-1;justify-self:center;padding-top:.35rem}
}
.editorial .topbar{border-bottom:0;align-items:start}
.editorial .contact-nav{align-self:start;padding-top:.15rem;gap:.6rem}
.editorial .contact-icon{width:44px;height:44px;padding:0;border:1px solid rgba(116,26,35,.32);border-radius:50%;display:grid;place-items:center;color:#741a23;background:rgba(255,255,255,.2);transition:background .2s ease,color .2s ease,transform .2s ease}
.editorial .contact-icon svg{width:20px;height:20px;fill:currentColor}
.editorial .contact-icon:hover,.editorial .contact-icon:focus-visible{background:#741a23;color:#efe7da;transform:translateY(-2px)}
.editorial .hero{position:relative;isolation:isolate;overflow:hidden;min-height:64vh;align-content:start;padding-top:clamp(2rem,5vw,4rem);background:none}
.editorial .hero>*{position:relative;z-index:2}
.editorial .hero::before{content:"";position:absolute;z-index:0;right:5%;top:-8%;width:clamp(230px,34vw,520px);height:82%;background:radial-gradient(ellipse at 55% 18%,rgba(161,47,39,.42) 0 18%,rgba(177,91,72,.25) 35%,transparent 67%),linear-gradient(172deg,rgba(161,47,39,.34),rgba(203,132,103,.18) 55%,transparent 82%);border-radius:42% 58% 68% 32%/28% 38% 62% 72%;filter:blur(1px);transform:rotate(7deg);opacity:.88}
.editorial .hero::after{content:"";position:absolute;z-index:1;right:11%;top:34%;width:clamp(150px,20vw,300px);height:45%;background:linear-gradient(180deg,rgba(161,47,39,.2),rgba(184,101,79,.11) 62%,transparent),radial-gradient(ellipse at 72% 20%,rgba(161,47,39,.2),transparent 60%);border-radius:37% 63% 70% 30%/12% 23% 77% 88%;filter:blur(5px);transform:rotate(-5deg);opacity:.75}
@media(max-width:700px){.editorial .topbar{align-items:start}
.editorial .contact-nav{grid-column:auto;justify-self:end;padding-top:0}
.editorial .contact-icon{width:40px;height:40px}
.editorial .header-wordmark{align-self:center}
.editorial .hero{padding-top:2.2rem;min-height:58vh}
.editorial .hero::before{right:-22%;width:78vw;height:70%;opacity:.65}
.editorial .hero::after{right:-5%;top:35%}
}
.editorial .hero::before{top:3%}
body.editorial{background-color:#fbf6ed;background-image:radial-gradient(ellipse at 92% 8%,rgba(161,47,39,.08),transparent 24%),radial-gradient(ellipse at 4% 34%,rgba(203,132,103,.07),transparent 27%),radial-gradient(ellipse at 94% 58%,rgba(161,47,39,.06),transparent 25%),radial-gradient(ellipse at 12% 88%,rgba(203,132,103,.07),transparent 28%);background-repeat:no-repeat}
.editorial .contact-icon svg{overflow:visible}
.editorial .contact-icon .wa-bubble{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.editorial .product-media{aspect-ratio:1/1;border-radius:20px}
.editorial .product-media img,.editorial .placeholder{border-radius:inherit}
.editorial .hero::before{opacity:.66}
.editorial .hero::after{opacity:.52}
@media(max-width:700px){.editorial .topbar{grid-template-columns:46px minmax(0,1fr) auto;column-gap:.55rem;padding:.55rem .9rem;align-items:start}
.editorial .brand-monogram{grid-column:1;grid-row:1;width:40px;height:50px}
.editorial .header-wordmark{grid-column:2;grid-row:1;align-self:start;justify-self:center;width:clamp(125px,39vw,210px)}
.editorial .topbar .contact-nav{grid-column:3;grid-row:1;justify-self:end;align-self:start;display:flex;flex-wrap:nowrap;gap:.3rem;padding-top:.05rem}
.editorial .contact-icon{width:38px;height:38px}
.editorial .contact-icon svg{width:18px;height:18px}
.editorial .hero::before{opacity:.48}
.editorial .hero::after{opacity:.36}
.editorial .product-media{border-radius:16px}
}
@media(max-width:420px){.editorial .topbar{grid-template-columns:38px minmax(0,1fr) auto;padding-left:.7rem;padding-right:.7rem;column-gap:.35rem}
.editorial .brand-monogram{width:34px;height:44px}
.editorial .header-wordmark{width:clamp(112px,36vw,155px)}
.editorial .contact-icon{width:35px;height:35px}
}
.editorial .menu-shell{position:relative}
.editorial .menu-toggle svg path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.editorial .site-menu{position:absolute;z-index:40;right:0;top:calc(100% + .75rem);width:min(280px,calc(100vw - 2rem));padding:.8rem;background:rgba(239,231,218,.97);border:1px solid rgba(116,26,35,.2);border-radius:18px;box-shadow:0 18px 48px rgba(56,25,22,.16);backdrop-filter:blur(14px)}
.editorial .site-menu[hidden]{display:none}
.editorial .site-menu a{display:block;padding:.78rem .8rem;border-radius:11px;color:#181714;text-decoration:none;font-size:.88rem}
.editorial .site-menu a:hover,.editorial .site-menu a:focus-visible{background:rgba(116,26,35,.1);color:#741a23}
.editorial main{position:relative;isolation:isolate;overflow:hidden}
.editorial main>section{position:relative;z-index:2}
.editorial main::after{content:"";position:absolute;z-index:0;pointer-events:none;top:34rem;right:-9%;bottom:2rem;width:46%;min-height:70%;background:linear-gradient(180deg,rgba(161,47,39,.11),rgba(203,132,103,.07) 28%,rgba(161,47,39,.09) 62%,rgba(203,132,103,.04));border-radius:52% 20% 46% 28%/12% 38% 24% 52%;filter:blur(24px);transform:rotate(-3deg);opacity:.62}
.editorial main::before{content:"";position:absolute;z-index:0;pointer-events:none;left:-13%;bottom:7%;width:38%;height:34%;background:radial-gradient(ellipse,rgba(203,132,103,.1),transparent 70%);filter:blur(22px)}
@media(max-width:700px){.editorial .site-menu{position:fixed;right:.75rem;top:4.4rem}
.editorial main::after{top:28rem;right:-23%;width:72%;opacity:.52}
.editorial main::before{left:-30%;width:65%}
}
/* Clean light canvas; burgundy watercolor remains a restrained hero accent. */
body.editorial:not(.dark){--paper:#FBF6ED;background-color:#FBF6ED;background-image:radial-gradient(ellipse at 96% 8%,rgba(144,34,45,.055),transparent 22%),radial-gradient(ellipse at 8% 82%,rgba(203,132,103,.045),transparent 28%)}
body.editorial:not(.dark) .topbar{background:rgba(255,253,248,.96)}
body.editorial:not(.dark) .site-menu{background:rgba(255,253,248,.98)}
body.editorial:not(.dark) .hero::before{right:3%;top:4%;width:clamp(210px,30vw,430px);height:68%;background:radial-gradient(ellipse at 58% 24%,rgba(144,34,45,.2) 0 17%,rgba(184,101,91,.11) 38%,transparent 69%);opacity:.8;filter:blur(5px)}
body.editorial:not(.dark) .hero::after{right:10%;top:39%;width:clamp(130px,17vw,240px);height:34%;background:linear-gradient(180deg,rgba(144,34,45,.1),rgba(190,115,102,.04) 70%,transparent);opacity:.7;filter:blur(10px)}
body.editorial:not(.dark) main::after{background:linear-gradient(180deg,rgba(144,34,45,.045),rgba(190,115,102,.025) 45%,transparent);opacity:.45}
body.editorial:not(.dark) main::before{background:radial-gradient(ellipse,rgba(144,34,45,.04),transparent 70%)}
body.editorial:not(.dark) .product-media{background:#f7f1eb}
body.editorial:not(.dark) .badge{background:#FBF6ED}
.editorial .brand-monogram img{width:100%;height:auto;aspect-ratio:685/676;object-fit:contain}
/* Give the official mark equal visual authority beside the centered wordmark. */
.editorial .brand-monogram{width:70px;height:70px;align-self:center;margin-left:.2rem}
.editorial .contact-nav{align-self:center}
@media(max-width:700px){.editorial .topbar{grid-template-columns:58px minmax(0,1fr) auto;align-items:center}.editorial .brand-monogram{width:52px;height:52px;margin-left:0}.editorial .contact-nav{align-self:center}}
@media(max-width:420px){.editorial .topbar{grid-template-columns:48px minmax(0,1fr) auto}.editorial .brand-monogram{width:44px;height:44px}}
body.editorial:not(.dark) .shop-head p,body.editorial:not(.dark) .meta,body.editorial:not(.dark) .description{color:#625853}
@media(max-width:700px){body.editorial:not(.dark) .hero::before{right:-16%;width:64vw;opacity:.48}body.editorial:not(.dark) .hero::after{opacity:.4}}
/* Keep the approved cream canvas and watercolor petals equally legible in light mode. */
html{color-scheme:only light}
body.editorial:not(.dark){--paper:#FBF6ED;background-color:#FBF6ED!important}
body.editorial:not(.dark) .hero::before{background:radial-gradient(ellipse at 58% 24%,rgba(144,34,45,.34) 0 17%,rgba(184,101,91,.2) 38%,transparent 69%);opacity:.9;filter:blur(3px)}
body.editorial:not(.dark) .hero::after{background:linear-gradient(180deg,rgba(144,34,45,.2),rgba(190,115,102,.09) 70%,transparent);opacity:.78;filter:blur(7px)}
body.editorial:not(.dark) main::after{background:linear-gradient(180deg,rgba(144,34,45,.09),rgba(190,115,102,.055) 45%,transparent);opacity:.62}
@media(max-width:700px){body.editorial:not(.dark) .hero::before{opacity:.7}body.editorial:not(.dark) .hero::after{opacity:.58}}
/* Stable compact brand alignment on phones. */
@media(max-width:700px){.editorial .topbar{grid-template-columns:48px minmax(0,1fr) auto;min-height:66px;padding:.55rem .75rem;column-gap:.55rem;align-items:center}.editorial .brand-monogram{width:44px;height:44px;margin:0;align-self:center;justify-self:center}.editorial .header-wordmark{align-self:center;justify-self:start;width:clamp(118px,38vw,190px);margin-left:.12rem}.editorial .topbar .contact-nav{align-self:center;padding-top:0}}
@media(max-width:420px){.editorial .topbar{grid-template-columns:42px minmax(0,1fr) auto;padding-left:.6rem;padding-right:.6rem;column-gap:.3rem}.editorial .brand-monogram{width:40px;height:40px}.editorial .header-wordmark{width:clamp(108px,35vw,148px)}}
