:root{--bg:#f7e1e6;--ink:#5b1a33;--rose:#c0505f;--mauve:#cf7b93;--dark:#5b1a33;--grey:#b3a1b0}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:400 15px/1.5 Inter,sans-serif;overflow-x:hidden}
h1,h2,h3,.logo{font-family:Barlow,sans-serif;font-weight:400}
a{color:inherit}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.header{position:sticky;top:0;z-index:20;background:var(--bg);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:10px 16px}
.hr{justify-self:end;display:flex;gap:10px}.logo{text-decoration:none;font-weight:500;font-size:15px}
.header button{font-size:18px;padding:4px 6px;position:relative}
#cartCount{position:absolute;top:-2px;right:-4px;background:var(--dark);color:#fff;border-radius:9px;font-size:10px;padding:0 5px}
.hero{background:#fddeed;min-height:240px;display:grid;place-items:center;padding:24px 0}
.hero h1{font-size:44px;letter-spacing:6px;line-height:1.1}.hero span{font-style:italic;letter-spacing:2px}.hero i{font-size:40px}
.featured{padding:56px 0 24px;text-align:center}
.featured h2{font-size:34px;margin-bottom:28px}
.grid{display:grid;grid-template-columns:1fr;gap:0}
.card{position:relative;text-align:center;padding-bottom:18px;cursor:pointer}
.card .img{aspect-ratio:1/1;background:#eee;display:block}
.tone-rose{background:linear-gradient(135deg,#e07a9a,#f3b6a0)}
.tone-gold{background:radial-gradient(circle at 40% 40%,#f2f2ee,#dcdcd6)}
.tone-silver{background:radial-gradient(circle at 50% 50%,#f5f5f3,#e3e3e0)}
.card .img.has{background-size:cover;background-position:center}
.card h4{font:400 17px Inter;margin-top:12px}.card .price{font-size:13px}
.badge{position:absolute;top:10px;left:10px;background:var(--bg);font-size:12px;padding:2px 9px;border-radius:12px}
.card button.add{margin-top:8px;border:1px solid var(--ink);border-radius:20px;padding:5px 18px;font-size:13px}
.card button.add:disabled{opacity:.35;cursor:not-allowed}
.intro{text-align:center;padding:60px 20px 0}
.eyebrow{font-size:13px;margin-bottom:40px}
.big{font-size:34px;line-height:1.2;max-width:720px;margin:0 auto 36px}
.link{text-decoration:none;font-size:14px}
.collage{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:44px -20px 0;background:#d9d9d6;padding:20px}
.collage img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%;display:block}
.split .photo{height:300px;background:url('/images/banner.jpeg.jpeg') center/cover no-repeat}
.split .copy{background:var(--mauve);text-align:center;padding:48px 28px}
.split h2{font-size:34px;margin-bottom:14px}.split p{font-size:14px;max-width:260px;margin:0 auto 26px}
.btn{background:var(--dark);color:#fff;border-radius:30px;padding:12px 28px;font-size:14px;text-decoration:none;display:inline-block}
.btn.round{width:48px;height:48px;padding:0;font-size:20px}
.marquee{background:#5a1c33;color:var(--bg);overflow:hidden;white-space:nowrap;padding:14px 0}
.track{display:inline-flex;animation:scroll 22s linear infinite}
.track span{padding-right:40px;font-size:14px}
@keyframes scroll{to{transform:translateX(-50%)}}
.footer{background:var(--rose);padding:40px 16px 32px;text-align:left}
.footer h3{font-size:30px;margin-bottom:14px}
.sub{display:flex;gap:8px}.sub input{flex:1;border:0;border-radius:30px;padding:14px 20px;background:var(--bg);font:inherit;color:var(--ink)}
.footer hr{border:0;border-top:1px solid var(--ink);margin:36px 0 22px}
.small{text-align:center;font-size:12px;margin-bottom:12px;opacity:.85}
.social{display:flex;justify-content:center;gap:16px;font-size:12px;margin-top:16px}
.msg{font-size:13px;margin-top:8px;min-height:18px}
.drawer{position:fixed;top:0;bottom:0;width:min(88vw,380px);background:var(--bg);z-index:40;padding:56px 22px 22px;overflow:auto;box-shadow:0 0 40px #0004}
.drawer.left{left:0}.drawer.right{right:0}
.drawer[hidden],#overlay[hidden],.searchbox[hidden]{display:none}
.drawer .close{position:absolute;top:10px;right:14px;font-size:30px}
.drawer.left a{display:block;font:400 26px Barlow;text-decoration:none;padding:10px 0}
#overlay{position:fixed;inset:0;background:#0006;z-index:30}
.searchbox{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--bg);padding:12px;display:flex;gap:8px}
.searchbox input{flex:1;padding:12px 18px;border-radius:30px;border:1px solid var(--ink);background:#fff8;font:inherit}
.row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #5b1a3333;font-size:14px}
.row button{border:1px solid var(--ink);border-radius:50%;width:24px;height:24px;line-height:1}
#checkout{display:grid;gap:10px;margin-top:16px}
#checkout input,#checkout textarea{padding:11px 14px;border-radius:12px;border:1px solid #5b1a3355;background:#fff8;font:inherit}
.total{margin-top:14px}
@media(min-width:760px){.grid{grid-template-columns:repeat(4,1fr);gap:16px;padding:0 24px}.split{display:grid;grid-template-columns:1fr 1fr}.split .photo{height:auto;min-height:420px}.split .copy{display:grid;align-content:center}.collage{grid-template-columns:repeat(6,1fr)}.footer{padding:60px 8vw}}
