
:root{--blush:#fbeef0;--rose:#e7a9bd;--rose-deep:#d1799a;--sage:#c3d3bd;--sage-deep:#9db892;--lav:#d9cdeb;--butter:#f4e6bd;--cream:#fdf7f4;--plum:#4b3a48;--plum-soft:#6d5a68;--gold:#c6a568;--white:#fffdfc;--grad:linear-gradient(135deg,#fbeef0 0%,#f3ecf6 40%,#eaf1ec 100%);--shadow:0 20px 50px -25px rgba(90,60,80,.45)}
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;color:var(--plum);background:var(--cream);overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.serif{font-family:'Cormorant Garamond',serif;font-weight:500;letter-spacing:.3px}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.eyebrow{font-size:.72rem;letter-spacing:.42em;text-transform:uppercase;color:var(--rose-deep);font-weight:500}
.bg-blobs{position:fixed;inset:0;z-index:-2;background:var(--grad)}
.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;mix-blend-mode:multiply;animation:drift 22s ease-in-out infinite}
.blob.b1{width:46vw;height:46vw;background:#f4c4d3;top:-8%;left:-6%}.blob.b2{width:40vw;height:40vw;background:#cfe0c8;bottom:-10%;right:-8%;animation-delay:-7s}.blob.b3{width:34vw;height:34vw;background:#d9cdec;top:35%;left:45%;animation-delay:-13s}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(4vw,-3vw) scale(1.08)}66%{transform:translate(-3vw,3vw) scale(.96)}}
nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:16px 28px;transition:.4s}
nav.scrolled{background:rgba(253,247,244,.75);backdrop-filter:blur(14px);box-shadow:0 6px 30px -18px rgba(80,50,70,.4);padding:11px 28px}
.logo{display:flex;align-items:center;gap:9px}
.logo-mark{border-radius:7px;display:block}
.logo-t{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:600;letter-spacing:.5px;color:var(--plum)}
.logo-t em{font-style:normal;color:var(--rose-deep);margin-left:3px}
.nav-links{display:flex;gap:30px;align-items:center}
.nav-links a{font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--plum-soft);transition:.25s}
.nav-links a:hover{color:var(--rose-deep)}
.btn-wa{display:inline-flex;align-items:center;gap:8px;background:var(--rose-deep);color:#fff;padding:10px 20px;border-radius:40px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;transition:.28s;box-shadow:0 10px 24px -12px rgba(209,121,154,.9)}
.btn-wa:hover{transform:translateY(-2px);background:#c4638a}
.nav-toggle{display:none;background:none;border:0;font-size:1.6rem;color:var(--plum);cursor:pointer;line-height:1}
.hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
#hero-canvas{position:absolute;inset:0;z-index:1}
.hero-inner{position:relative;z-index:2;padding:0 20px;max-width:900px}
.hero .eyebrow{opacity:0;animation:rise .9s .2s forwards}
.hero h1{font-size:clamp(2.7rem,9vw,7rem);line-height:.98;margin:14px 0 10px;color:var(--plum);opacity:0;animation:rise 1s .35s forwards}
.hero h1 em{font-style:italic;color:var(--rose-deep)}
.hero p.lead{font-size:clamp(1rem,2.2vw,1.35rem);color:var(--plum-soft);font-weight:300;max-width:560px;margin:0 auto 30px;opacity:0;animation:rise 1s .55s forwards}
.hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;opacity:0;animation:rise 1s .75s forwards}
.btn-primary{background:var(--plum);color:#fff;padding:15px 34px;border-radius:44px;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;transition:.3s;box-shadow:var(--shadow);display:inline-flex;align-items:center;gap:8px;justify-content:center;cursor:pointer;border:0;font-family:'Jost'}
.btn-primary:hover{transform:translateY(-3px);background:#5c4658}
.btn-ghost{border:1.5px solid var(--rose);color:var(--rose-deep);padding:15px 30px;border-radius:44px;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;transition:.3s;background:rgba(255,255,255,.35);display:inline-flex;align-items:center;gap:8px;justify-content:center;cursor:pointer;font-family:'Jost'}
.btn-ghost:hover{background:var(--rose);color:#fff}
@keyframes rise{to{opacity:1;transform:translateY(0)}}
.hero .eyebrow,.hero h1,.hero p.lead,.hero-cta{transform:translateY(28px)}
.scroll-cue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:2;font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--plum-soft);opacity:.75;display:flex;flex-direction:column;align-items:center;gap:8px}
.scroll-cue .line{width:1px;height:40px;background:linear-gradient(var(--rose-deep),transparent);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:.3}50%{opacity:1}}
section{position:relative;z-index:2}
.section-head{text-align:center;max-width:640px;margin:0 auto 54px}
.section-head h2{font-size:clamp(2.2rem,5vw,3.4rem);color:var(--plum);margin:10px 0 12px}
.section-head p{color:var(--plum-soft);font-weight:300}
.pad{padding:100px 0}
.values{padding:30px 0 0}
.vgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.vitem{display:flex;gap:13px;align-items:center;background:rgba(255,255,255,.5);border:1px solid rgba(215,160,180,.28);border-radius:16px;padding:16px 18px}
.vitem svg{width:26px;height:26px;color:var(--rose-deep);flex:none}
.vitem b{display:block;font-family:'Cormorant Garamond',serif;font-size:1.15rem;color:var(--plum);font-weight:600;line-height:1.1}
.vitem span{font-size:.8rem;color:var(--plum-soft)}
.stage{perspective:1600px;height:520px;position:relative;margin-top:20px}
.ring{position:absolute;top:0;left:50%;width:280px;height:420px;margin-left:-140px;transform-style:preserve-3d;cursor:grab;touch-action:pan-y}
.ring:active{cursor:grabbing}
.card3d{position:absolute;top:0;left:0;width:280px;height:420px;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);background:#fff;backface-visibility:hidden;border:5px solid #fff;display:block}
.card3d img{width:100%;height:100%;object-fit:cover}
.card3d .cap{position:absolute;left:0;right:0;bottom:0;padding:16px 14px 12px;background:linear-gradient(transparent,rgba(75,58,72,.82));color:#fff}
.card3d .cap .nm{font-family:'Cormorant Garamond',serif;font-size:1.05rem;line-height:1.15;max-height:2.4em;overflow:hidden}
.card3d .cap .pr{font-size:.82rem;color:#ffe4ee;margin-top:3px}
.stage-hint{text-align:center;margin-top:26px;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:var(--plum-soft);opacity:.8}
.tools{display:flex;flex-direction:column;align-items:center;gap:18px;margin-bottom:40px}
#search{width:min(430px,92%);padding:13px 22px;border-radius:40px;border:1.5px solid var(--rose);background:rgba(255,255,255,.6);font-family:'Jost';font-size:.95rem;color:var(--plum);outline:none;transition:.25s}
#search:focus{border-color:var(--rose-deep);box-shadow:0 0 0 4px rgba(231,169,189,.25)}
#search::placeholder{color:#b9a3af}
.filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.chip{border:1.5px solid var(--rose);background:rgba(255,255,255,.4);color:var(--rose-deep);padding:8px 20px;border-radius:30px;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:.25s;font-family:'Jost'}
.chip.active,.chip:hover{background:var(--rose-deep);color:#fff;border-color:var(--rose-deep)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:30px}
.pcard{position:relative;border-radius:18px;overflow:hidden;background:var(--white);box-shadow:0 14px 40px -26px rgba(80,50,70,.5);transform-style:preserve-3d;transition:box-shadow .3s;will-change:transform;display:block;color:var(--plum)}
.pcard:hover{box-shadow:0 26px 60px -28px rgba(80,50,70,.6)}
.pcard .imgwrap{position:relative;aspect-ratio:3/3.8;overflow:hidden;background:#f3e9ee}
.pcard .imgwrap img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.pcard:hover .imgwrap img{transform:scale(1.06)}
.pcard .imgwrap .add{position:absolute;top:10px;right:10px;z-index:3;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--rose-deep);font-size:1.35rem;line-height:1;cursor:pointer;box-shadow:0 6px 16px -8px rgba(80,50,70,.6);transition:.2s;display:grid;place-items:center;padding:0}
.pcard .imgwrap .add:hover{background:var(--rose-deep);color:#fff;transform:scale(1.08)}
.pcard .body{padding:16px 16px 18px}
.pcard .nm{font-family:'Cormorant Garamond',serif;font-size:1.16rem;line-height:1.16;color:var(--plum);max-height:2.4em;overflow:hidden}
.pcard .pr{margin-top:6px;font-size:1rem;color:var(--rose-deep);font-weight:500}
.pcard .order{margin-top:14px;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:linear-gradient(135deg,var(--sage-deep),#8fae86);color:#fff;border:0;padding:11px;border-radius:30px;font-family:'Jost';font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:.28s}
.pcard .order:hover{filter:brightness(1.06);transform:translateY(-1px)}
.pcard .view{display:block;text-align:center;margin-top:10px;font-size:.74rem;letter-spacing:.1em;color:var(--plum-soft)}
.tag{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.85);backdrop-filter:blur(6px);color:var(--plum);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:5px 11px;border-radius:20px}
.about{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.about .txt h2{font-size:clamp(2rem,4.5vw,3.2rem);margin-bottom:18px;color:var(--plum)}
.about .txt p{color:var(--plum-soft);margin-bottom:16px;font-weight:300}
.about .stats{display:flex;gap:34px;margin-top:26px;flex-wrap:wrap}
.about .stats .n{font-family:'Cormorant Garamond',serif;font-size:2.4rem;color:var(--rose-deep);line-height:1}
.about .stats .l{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--plum-soft)}
.about .visual{position:relative;height:460px}
.about .visual .ph{position:absolute;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);border:6px solid #fff}
.about .visual .ph img{width:100%;height:100%;object-fit:cover}
.about .visual .p1{width:64%;height:78%;top:0;left:0;z-index:2}.about .visual .p2{width:52%;height:58%;bottom:0;right:0}
.contact{background:linear-gradient(135deg,#f7dfe7,#e6dcef 55%,#dcebe0);border-radius:34px;padding:64px 40px;text-align:center;box-shadow:var(--shadow)}
.contact h2{font-size:clamp(2rem,5vw,3.2rem);color:var(--plum);margin-bottom:12px}
.contact p{color:var(--plum-soft);max-width:520px;margin:0 auto 26px;font-weight:300}
.contact-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:30px}
.c-meta{display:flex;gap:30px;justify-content:center;flex-wrap:wrap;color:var(--plum-soft);font-size:.9rem}
.c-meta a:hover{color:var(--rose-deep)}
.reveal{opacity:0;transform:translateY(38px)}
.pdp-wrap{padding:120px 0 90px}
.crumb{font-size:.76rem;letter-spacing:.05em;color:var(--plum-soft);margin-bottom:26px}
.crumb a:hover{color:var(--rose-deep)}
.pdp{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.pdp-img{border-radius:22px;overflow:hidden;box-shadow:var(--shadow);border:6px solid #fff;position:sticky;top:100px}
.pdp-img img{width:100%;height:auto;display:block}
.pdp-info .tag{position:static;display:inline-block;margin-bottom:14px}
.pdp-info h1{font-size:clamp(2.1rem,4.5vw,3rem);color:var(--plum);line-height:1.08;margin-bottom:10px}
.pdp-info .price{font-size:1.6rem;color:var(--rose-deep);font-weight:500;margin-bottom:22px}
.pdp-info .desc{color:var(--plum-soft);font-weight:300;font-size:1.05rem;margin-bottom:26px}
.pdp-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.btn-wa2{display:inline-flex;align-items:center;gap:8px;background:#25d366;color:#fff;padding:15px 26px;border-radius:44px;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;transition:.3s;box-shadow:0 12px 28px -12px rgba(37,211,102,.8)}
.btn-wa2:hover{transform:translateY(-3px);filter:brightness(1.03)}
.ask{display:inline-block;margin-bottom:24px;color:var(--rose-deep);font-size:.92rem}
.ask:hover{text-decoration:underline}
.pdp-note{font-size:.86rem;color:var(--plum-soft);border-top:1px solid #eaddE3;padding-top:20px;line-height:1.8}
.pdp-note b{color:var(--plum);font-weight:500}
.more{margin-top:80px}
.more h3{font-family:'Cormorant Garamond',serif;font-size:1.8rem;text-align:center;color:var(--plum);margin-bottom:30px}
.more-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.more-card{border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 14px 40px -28px rgba(80,50,70,.5);transition:transform .3s;display:block;color:var(--plum)}
.more-card:hover{transform:translateY(-4px)}
.more-card img{width:100%;aspect-ratio:3/3.7;object-fit:cover}
.more-card .mc{padding:12px}
.more-card .mc .n{font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--plum);line-height:1.1;max-height:2.2em;overflow:hidden}
.more-card .mc .p{font-size:.85rem;color:var(--rose-deep);margin-top:4px}
.cat-wrap{padding:118px 0 80px}
.cat-head{text-align:center;margin-bottom:44px}
.cat-head h1{font-size:clamp(2.4rem,6vw,3.6rem);color:var(--plum)}
.fab{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;flex-direction:column;gap:12px}
.fab-wa,.fab-bag{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;border:0;cursor:pointer;box-shadow:0 12px 30px -10px rgba(60,40,55,.5);transition:transform .2s}
.fab-wa{background:#25d366;color:#fff}
.fab-bag{background:var(--rose-deep);color:#fff;position:relative}
.fab-wa:hover,.fab-bag:hover{transform:translateY(-3px)}
.fab-bag .badge{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 5px;border-radius:12px;background:var(--plum);color:#fff;font-size:.72rem;font-weight:600;display:none;place-items:center;border:2px solid var(--cream)}
.fab-bag.pulse{animation:bagpulse .5s ease}
@keyframes bagpulse{0%{transform:scale(1)}40%{transform:scale(1.18)}100%{transform:scale(1)}}
.drawer-ov{position:fixed;inset:0;background:rgba(60,40,55,.35);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:.3s;z-index:70}
.drawer-ov.open{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;height:100%;width:min(400px,92vw);background:var(--cream);z-index:71;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-30px 0 80px -40px rgba(0,0,0,.5)}
.drawer.open{transform:none}
.dh{display:flex;align-items:center;justify-content:space-between;padding:22px 22px 14px;border-bottom:1px solid #eeddE4}
.dh h3{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--plum)}
.dx{background:none;border:0;font-size:1.8rem;color:var(--plum-soft);cursor:pointer;line-height:1}
.ditems{flex:1;overflow-y:auto;padding:8px 18px}
.dempty{color:var(--plum-soft);text-align:center;padding:40px 10px;font-size:.95rem}
.ditem{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid #f0e6ea}
.ditem img{width:64px;height:80px;object-fit:cover;border-radius:8px}
.di-b{flex:1;min-width:0}
.di-n{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--plum);display:block;line-height:1.1}
.di-p{color:var(--rose-deep);font-size:.9rem;margin:2px 0 8px}
.qty{display:flex;align-items:center;gap:8px}
.qty button{width:26px;height:26px;border-radius:50%;border:1px solid var(--rose);background:#fff;color:var(--rose-deep);cursor:pointer;font-size:1rem;line-height:1}
.qty span{min-width:18px;text-align:center;font-size:.9rem}
.di-x{margin-left:auto;background:none;border:0;color:var(--plum-soft);font-size:.78rem;cursor:pointer;text-decoration:underline}
.dfoot{padding:18px 22px 24px;border-top:1px solid #eeddE4;background:rgba(255,255,255,.5)}
.drow{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;color:var(--plum-soft)}
.drow b{font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:var(--plum)}
.dsend{width:100%;justify-content:center;margin-bottom:10px}
.dclear{width:100%;background:none;border:0;color:var(--plum-soft);font-size:.82rem;cursor:pointer;padding:6px}
.toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--plum);color:#fff;padding:11px 22px;border-radius:30px;font-size:.85rem;opacity:0;pointer-events:none;transition:.3s;z-index:80}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
#preloader{position:fixed;inset:0;z-index:100;background:var(--grad);display:grid;place-items:center;transition:opacity .6s}
#preloader.done{opacity:0}
.pl-in{display:flex;flex-direction:column;align-items:center;gap:16px}
#preloader .logo-t{font-size:2.3rem}
.pl-bar{width:90px;height:2px;background:linear-gradient(90deg,transparent,var(--rose-deep),transparent);background-size:200% 100%;animation:plbar 1.1s linear infinite}
@keyframes plbar{0%{background-position:200% 0}100%{background-position:-200% 0}}
footer{position:relative;z-index:2;background:rgba(255,255,255,.45);border-top:1px solid rgba(215,160,180,.25);margin-top:40px;padding:50px 0 26px}
.foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:30px;padding-bottom:26px;border-bottom:1px solid rgba(215,160,180,.25)}
.foot-top h4{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--plum);margin-bottom:12px}
.foot-top a{display:block;color:var(--plum-soft);font-size:.9rem;padding:3px 0}
.foot-top a:hover{color:var(--rose-deep)}
.foot-bot{padding-top:20px;text-align:center;color:var(--plum-soft);font-size:.82rem}
@media(max-width:860px){
  .nav-links{position:fixed;inset:0 0 0 auto;width:78%;max-width:320px;background:rgba(253,247,244,.98);backdrop-filter:blur(16px);flex-direction:column;justify-content:center;gap:26px;transform:translateX(100%);transition:.4s;box-shadow:-20px 0 60px -30px rgba(0,0,0,.4)}
  .nav-links.open{transform:translateX(0)}.nav-toggle{display:block;z-index:60}
  .about{grid-template-columns:1fr;gap:36px}.about .visual{height:380px}
  .pad{padding:74px 0}.vgrid{grid-template-columns:repeat(2,1fr)}
  .pdp{grid-template-columns:1fr;gap:30px}.pdp-img{position:static}
  .more-grid{grid-template-columns:repeat(2,1fr)}
  .foot-top{grid-template-columns:1fr 1fr;gap:24px}
}
@media(max-width:640px){
  nav{padding:12px 18px}.wrap{padding:0 18px}
  .grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .pcard .nm{font-size:1rem}.pcard .body{padding:12px}.pcard .order{font-size:.66rem;padding:10px}
  .stage{height:440px}.ring,.card3d{width:220px;height:330px}.ring{margin-left:-110px}
  .contact{padding:44px 20px;border-radius:22px}
  .pdp-wrap{padding:100px 0 70px}.cat-wrap{padding:100px 0 60px}
  .btn-primary,.btn-ghost,.btn-wa2{padding:14px 22px;font-size:.76rem}
  .fab{right:16px;bottom:16px}.fab-wa,.fab-bag{width:52px;height:52px}
  .foot-top{grid-template-columns:1fr;gap:20px;text-align:center}.logo[style]{justify-content:center!important}
}
@media(max-width:430px){ .grid{grid-template-columns:1fr 1fr;gap:12px}.vgrid{grid-template-columns:1fr} }
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}#preloader{display:none}}
