/* ── MAENZRAAT premium effects v4 ──────────────────────────
   8 signature experiences + micro-interactions.
   transform/opacity only · 60fps · reduced-motion safe      */

/* == shared scrub scaffolding ============================ */
.pinwrap{position:relative}
.pinstage{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center}
.fxhint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:6px;opacity:.8}
.fxhint::after{content:'';width:1px;height:26px;background:linear-gradient(var(--rose),transparent);animation:hintdrop 1.8s ease-in-out infinite}
@keyframes hintdrop{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* == E1 · signature scroll story ========================= */
#storyFx{background:linear-gradient(175deg,var(--ivory) 0%,#F7F5EA 45%,var(--cream) 100%)}
#storyFx .pinstage{flex-direction:column}
.story-intro{position:absolute;text-align:center;z-index:1;padding:0 22px}
.story-intro .script{font-size:clamp(26px,3vw,36px)}
.story-intro h2{font-size:clamp(26px,3.2vw,40px);margin-top:8px;color:var(--ink)}
.story-final{position:absolute;text-align:center;z-index:6;opacity:0;padding:0 22px;pointer-events:none}
.story-final .script{font-size:clamp(26px,3vw,38px)}
.story-final h2{font-size:clamp(30px,4vw,52px);margin:8px 0 10px}
.story-final p{color:var(--muted);margin-bottom:22px;font-size:16px}
.story-final .btn{pointer-events:auto}
.spiece{position:absolute;width:min(240px,26vw);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 24px 70px rgba(74,93,47,.22);will-change:transform,opacity;opacity:0;z-index:3}
.spiece img{aspect-ratio:1/1;object-fit:cover;width:100%}
.spiece figcaption{position:absolute;left:0;right:0;bottom:0;padding:9px 6px;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;text-align:center;color:#fff;background:linear-gradient(transparent,rgba(30,36,26,.55))}
.spiece.neck{top:6%;left:50%;margin-left:calc(min(240px,26vw)/-2)}
.spiece.ear{top:30%;left:8%}
.spiece.ring{top:30%;right:8%}
.spiece.brac{bottom:9%;left:50%;margin-left:calc(min(240px,26vw)/-2)}
@media(max-width:700px){
  .spiece{width:31vw}
  .spiece.neck,.spiece.brac{margin-left:-15.5vw}
  .spiece.ear{left:4%}.spiece.ring{right:4%}
}

/* == E2 · parallax hero =================================== */
.plx{position:absolute;inset:-14px;will-change:transform}
.plx img.bg{width:100%;height:100%}
.slide .copy{will-change:transform}
.spark{will-change:transform}

/* == E3 · category portal ================================= */
.mosaic .cat{isolation:isolate}
.mosaic .cat::before{content:'';position:absolute;inset:0;background:rgba(30,36,26,0);transition:background .5s;z-index:1}
.mosaic .cat:hover::before{background:rgba(30,36,26,.18)}
.mosaic .cat img{transition:transform .8s cubic-bezier(.22,1,.36,1)}
.mosaic .cat:hover img{transform:scale(1.045)}
.mosaic .cat span{z-index:2;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.mosaic .cat:hover span{transform:translateY(-16px)}
.mosaic .cat .explore{position:absolute;left:0;right:0;bottom:8px;text-align:center;z-index:2;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:#fff;opacity:0;transform:translateY(8px);transition:.45s .06s}
.mosaic .cat:hover .explore{opacity:1;transform:none}
body.cursor-view #cursor2{width:64px;height:64px;background:rgba(255,255,255,.85);border-color:var(--wine)}
body.cursor-view #cursor2::after{content:'VIEW';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:9px;letter-spacing:.24em;color:var(--wine);font-family:var(--sans)}
#portalGhost{position:fixed;z-index:180;overflow:hidden;border-radius:6px;pointer-events:none;will-change:transform,border-radius}
#portalGhost img{width:100%;height:100%;object-fit:cover}
#portalVeil{position:fixed;inset:0;background:var(--ivory);z-index:179;opacity:0;pointer-events:none;transition:opacity .45s}
body.portal-enter{overflow:hidden}
/* landing side */
.portal-in .cathero{animation:portalHero .7s cubic-bezier(.22,1,.36,1) both}
@keyframes portalHero{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
#portalLand{position:fixed;inset:0;background:var(--cream);z-index:180;pointer-events:none;animation:portalLand .6s .05s ease both}
@keyframes portalLand{from{opacity:1}to{opacity:0}}

/* == E4 · scroll 360 ====================================== */
#rotFx{background:linear-gradient(160deg,#F5F1E4,#EDF0DE)}
.rot-stage{display:flex;align-items:center;justify-content:center;gap:6vw;width:100%;max-width:1180px;padding:0 22px}
.rot-disc{position:relative;width:min(46vh,440px);aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle at 38% 30%,#fff 0%,#E9ECD9 68%,#E4E0C9 100%);box-shadow:0 30px 90px rgba(74,93,47,.2),inset 0 0 0 1px rgba(255,255,255,.7);flex:0 0 auto}
.rot-disc img{position:absolute;inset:7%;width:86%;height:86%;object-fit:cover;border-radius:50%;opacity:0;will-change:transform,opacity}
.rot-info{max-width:420px}
.rot-info .eyebrow{display:block;margin-bottom:10px}
.rot-info h2{font-size:clamp(28px,3.4vw,44px);margin-bottom:8px}
.rot-info .rprice{font-size:24px;font-weight:500;margin:10px 0 4px}
.rot-info .rprice s{font-size:17px;color:var(--rose);font-weight:300;margin-right:10px}
.rot-info p{color:var(--muted);font-size:15px;margin:8px 0 20px}
.rot-reveal{opacity:0;transform:translateY(18px);will-change:transform,opacity}
.rot-angle{position:absolute;bottom:-34px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
@media(max-width:820px){
  .rot-stage{flex-direction:column;gap:26px;text-align:center}
  .rot-disc{width:min(38vh,300px)}
  .rot-info{max-width:88vw}
}

/* == E5 · shop the look =================================== */
#lookFx{padding:84px 0;background:var(--ivory)}
.lookwrap{position:relative;max-width:1180px;margin:0 auto;padding:0 22px}
.lookimg{position:relative;border-radius:18px;overflow:hidden;box-shadow:var(--sh)}
.lookimg>img{width:100%;display:block}
.hotspot{position:absolute;width:34px;height:34px;margin:-17px 0 0 -17px;border:0;background:none;z-index:3}
.hotspot i{position:absolute;inset:9px;border-radius:50%;background:#fff;box-shadow:0 0 0 1.5px var(--wine),0 4px 14px rgba(0,0,0,.25);transition:transform .3s}
.hotspot::before{content:'';position:absolute;inset:4px;border-radius:50%;border:1.5px solid rgba(255,255,255,.9);animation:hspulse 2.4s ease-out infinite}
@keyframes hspulse{0%{transform:scale(.55);opacity:1}70%{transform:scale(1.25);opacity:0}100%{opacity:0}}
.hotspot.on i,.hotspot:hover i{transform:scale(1.25);background:var(--wine)}
.lookcard{position:absolute;z-index:5;width:250px;background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(30,36,26,.3);padding:12px;opacity:0;transform:translateY(10px) scale(.96);pointer-events:none;transition:.35s cubic-bezier(.22,1,.36,1)}
.lookcard.show{opacity:1;transform:none;pointer-events:auto}
.lookcard img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:9px}
.lookcard h4{font-family:var(--serif);font-size:17px;margin:9px 0 2px}
.lookcard .lprice{font-size:14px;margin-bottom:9px}
.lookcard .lprice s{color:var(--rose);font-weight:300;margin-right:8px;font-size:12.5px}
.lookcard .lrow{display:flex;gap:8px}
.lookcard .lrow .qadd{flex:1;border:1px solid var(--wine);background:var(--wine);color:#fff;padding:9px;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;border-radius:22px}
.lookcard .lrow .lwish{width:38px;border:1px solid var(--champagne);background:#fff;border-radius:50%;color:var(--wine);font-size:15px}
.looknote{margin-top:10px;text-align:center;font-size:11.5px;color:var(--muted)}
.lookfoot{margin-top:26px;background:#fff;border:1px solid var(--champagne);border-radius:16px;padding:20px 22px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center}
.lookfoot .serif{font-size:21px}
.lookfoot .thumbs{display:flex}
.lookfoot .thumbs img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.lookfoot .thumbs img+img{margin-left:-12px}
.lookfoot .ltotal{font-size:15px}
/* bottom sheet (mobile) */
#looksheet{position:fixed;left:0;right:0;bottom:0;background:#fff;z-index:150;border-radius:20px 20px 0 0;box-shadow:0 -18px 60px rgba(30,36,26,.3);padding:18px 20px 26px;transform:translateY(105%);transition:transform .45s cubic-bezier(.22,1,.36,1)}
#looksheet.show{transform:none}
#looksheet .grab{width:44px;height:4px;border-radius:2px;background:var(--champagne);margin:0 auto 14px}
#looksheet .lsrow{display:flex;gap:14px;align-items:center}
#looksheet img{width:92px;height:92px;border-radius:12px;object-fit:cover}
#looksheet h4{font-family:var(--serif);font-size:19px}

/* == E6 · bundle builder ================================== */
.bb-teaser{background:linear-gradient(120deg,var(--wine),#C2557B);border-radius:20px;color:#fff;padding:34px 30px;display:flex;align-items:center;gap:26px;flex-wrap:wrap;justify-content:space-between}
.bb-teaser .slots{display:flex;gap:12px}
.bb-teaser .slot{width:74px;height:74px;border-radius:14px;border:1.5px dashed rgba(255,255,255,.65);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:19px;color:#fff;background:rgba(255,255,255,.1);overflow:hidden}
.bb-teaser .slot img{width:100%;height:100%;object-fit:cover}
.bb-teaser h3{font-family:var(--serif);font-size:clamp(22px,2.6vw,30px);color:#fff;margin-bottom:4px}
.bb-teaser p{font-size:13.5px;color:#CBD4A3}
/* builder page */
.bb-types{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:8px 0 30px}
.bb-types button{padding:12px 24px;border:1px solid var(--champagne);background:#fff;border-radius:30px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;transition:.25s}
.bb-types button.on{background:var(--wine);color:#fff;border-color:var(--wine)}
.bb-slots{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}
.bb-slot{width:150px;text-align:center}
.bb-slot .well{position:relative;width:150px;height:150px;border-radius:18px;border:1.5px dashed var(--rose);background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--muted);overflow:hidden;transition:.3s;cursor:pointer}
.bb-slot .well.filled{border-style:solid;border-color:var(--wine);box-shadow:var(--sh)}
.bb-slot .well img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bb-slot .well .tick{position:absolute;top:7px;right:7px;background:var(--wine);color:#fff;width:22px;height:22px;border-radius:50%;font-size:12px;display:flex;align-items:center;justify-content:center;z-index:2}
.bb-slot .well .swap{position:absolute;left:0;right:0;bottom:0;background:rgba(30,36,26,.6);color:#fff;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;padding:5px;opacity:0;transition:.3s;z-index:2}
.bb-slot .well.filled:hover .swap{opacity:1}
.bb-slot .num{font-family:var(--serif);font-size:15px;color:var(--gold);margin:8px 0 1px}
.bb-slot .lbl{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase}
.bb-price{max-width:520px;margin:16px auto 0;background:#fff;border:1px solid var(--champagne);border-radius:16px;padding:20px 24px;text-align:center}
.bb-price .rowline{display:flex;justify-content:space-between;font-size:14.5px;padding:4px 0}
.bb-price .rowline.big{font-size:19px;font-weight:500;border-top:1px solid var(--cream);margin-top:6px;padding-top:10px}
.bb-price .save{color:var(--wine);font-size:13.5px;margin-top:4px}
.bb-price .btn{width:100%;justify-content:center;margin-top:14px}
.bb-note{font-size:12px;color:var(--muted);margin-top:10px}
.bb-pickhead{text-align:center;margin:44px 0 18px}
.bb-pickhead h3{font-family:var(--serif);font-size:26px}
.bb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
.bb-card{background:#fff;border:1px solid var(--champagne);border-radius:14px;overflow:hidden;text-align:center;padding-bottom:12px;transition:.3s}
.bb-card:hover{box-shadow:var(--sh);transform:translateY(-3px)}
.bb-card img{aspect-ratio:1/1;object-fit:cover;width:100%}
.bb-card h4{font-family:var(--serif);font-size:15.5px;margin:9px 8px 2px;font-weight:600}
.bb-card .p{font-size:13px;margin-bottom:9px}
.bb-card button{border:1px solid var(--wine);background:none;color:var(--wine);border-radius:20px;padding:7px 20px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;transition:.25s}
.bb-card button:hover,.bb-card.picked button{background:var(--wine);color:#fff}
.bb-card.picked{outline:2px solid var(--wine)}
#bbGhost{position:fixed;z-index:170;border-radius:14px;overflow:hidden;pointer-events:none;will-change:transform;box-shadow:0 18px 50px rgba(74,93,47,.35)}
#bbGhost img{width:100%;height:100%;object-fit:cover}

/* == E7 · anti-tarnish × korean split ===================== */
#duoFx{display:flex;height:min(78vh,720px);overflow:hidden}
.duo{position:relative;flex:1;overflow:hidden;transition:flex 1s cubic-bezier(.22,1,.36,1);cursor:pointer}
.duo .dim{position:absolute;inset:-40px;background-size:cover;background-position:center;will-change:transform;transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
.duo::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,36,26,.08),rgba(30,36,26,.5));z-index:1;transition:.6s}
.duo .dtx{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:5vh 4vw;color:#fff;text-align:left}
.duo .dtx h2{color:#fff;font-size:clamp(24px,2.8vw,40px);letter-spacing:.08em}
.duo .dtx .script{color:#CBD4A3;font-size:clamp(20px,2vw,28px)}
.duo .dtx p{max-width:40ch;font-size:14px;color:#F1E0E6;margin:8px 0 14px;opacity:0;transform:translateY(12px);transition:.6s .1s}
.duo .dtx .link{display:inline-block;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#fff;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:4px;opacity:0;transform:translateY(12px);transition:.6s .18s}
#duoFx.hov-l .duo.l,#duoFx.hov-r .duo.r{flex:1.85}
#duoFx.hov-l .duo.l .dim,#duoFx.hov-r .duo.r .dim{transform:scale(1.05)}
#duoFx.hov-l .duo.l p,#duoFx.hov-l .duo.l .link,#duoFx.hov-r .duo.r p,#duoFx.hov-r .duo.r .link{opacity:1;transform:none}
#duoFx .duo+.duo{border-left:1px solid rgba(255,255,255,.35)}
@media(max-width:860px){
  #duoFx{flex-direction:column;height:auto}
  .duo{height:46vh;flex:none!important}
  .duo .dtx p,.duo .dtx .link{opacity:1;transform:none}
  .duo .dim{inset:0;transition:none}
  #duoFx .duo+.duo{border-left:0;border-top:1px solid rgba(255,255,255,.35)}
}

/* == E8 · jewellery box reveal ============================ */
#boxFx{background:#171210}
#boxFx .pinstage{background:#171210}
#boxFx video,#boxFx .boximg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform}
#boxFx .boxveil{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 42%,rgba(13,9,8,.55) 100%);z-index:1}
.box-start{position:absolute;z-index:3;left:0;right:0;top:12%;text-align:center;color:#F3F0E2;will-change:opacity,transform}
.box-start .script{color:#B9C48E;font-size:clamp(24px,2.8vw,34px)}
.box-start h2{color:#fff;font-size:clamp(24px,3vw,40px);margin-top:6px}
.box-final{position:absolute;z-index:4;left:0;right:0;bottom:7%;text-align:center;color:#F3F0E2;opacity:0;padding:0 22px;will-change:opacity,transform;pointer-events:none}
.box-final.live{pointer-events:auto}
.box-final .script{color:#B9C48E;font-size:clamp(26px,3vw,38px)}
.box-final h2{color:#fff;font-size:clamp(28px,3.6vw,48px);margin:4px 0 8px}
.box-final p{color:#C9CBB0;font-size:14.5px;max-width:52ch;margin:0 auto 18px}
.box-final .bbtns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.box-final .btn.light{background:#fff;color:var(--wine);border-color:#fff}
.box-final .btn.ghostw{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.7)}
.box-final .btn.ghostw:hover{background:#fff;color:var(--wine)}
.box-chips{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}
.box-chips button{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);border-radius:40px;padding:6px 16px 6px 6px;color:#fff;font-size:12px;backdrop-filter:blur(6px);transition:.3s}
.box-chips button:hover{background:rgba(255,255,255,.22)}
.box-chips img{width:34px;height:34px;border-radius:50%;object-fit:cover}

/* == micro-interactions =================================== */
/* wishlist heart pop */
.card .fav.on,.lookcard .lwish.on{animation:heartpop .5s cubic-bezier(.22,1.6,.36,1)}
@keyframes heartpop{0%{transform:scale(.6)}60%{transform:scale(1.25)}100%{transform:scale(1)}}
/* fly-to-cart ghost */
#flyGhost{position:fixed;z-index:190;width:64px;height:64px;border-radius:50%;overflow:hidden;pointer-events:none;box-shadow:0 10px 30px rgba(74,93,47,.4);will-change:transform,opacity}
#flyGhost img{width:100%;height:100%;object-fit:cover}
.hicons .bump{animation:cartbump .5s cubic-bezier(.22,1.6,.36,1)}
@keyframes cartbump{0%{transform:scale(1)}45%{transform:scale(1.28)}100%{transform:scale(1)}}
/* magnetic buttons */
.btn{will-change:transform}
/* heading mask reveal */
.shead h2{clip-path:inset(0 0 110% 0);transform:translateY(14px);transition:clip-path .9s cubic-bezier(.22,1,.36,1) .1s,transform .9s cubic-bezier(.22,1,.36,1) .1s}
.shead.in h2,.in .shead h2,.shead h2.in{clip-path:inset(0 0 -20% 0);transform:none}
/* light sweep on selected hero imagery */
.sweep{position:relative;overflow:hidden}
.sweep::after{content:'';position:absolute;top:-30%;bottom:-30%;left:-45%;width:34%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-14deg) translateX(0);opacity:0;pointer-events:none}
.sweep.in::after{animation:lsweep 1.9s ease .5s 1 both}
@keyframes lsweep{0%{opacity:0;transform:skewX(-14deg) translateX(0)}12%{opacity:1}100%{opacity:0;transform:skewX(-14deg) translateX(480%)}}

/* ── mobile calm-down ── */
@media(max-width:700px){
  #storyFx .pinwrap-h{height:300vh}
  .story-final .btn{padding:14px 30px}
}
/* ── reduced motion: everything readable, nothing required ── */
@media (prefers-reduced-motion: reduce){
  .pinwrap{height:auto!important}
  .pinstage{position:static;height:auto;min-height:0;padding:70px 0;flex-wrap:wrap;gap:20px}
  .fxhint{display:none}
  .spiece{position:static;opacity:1!important;transform:none!important;margin:8px}
  .story-intro{display:none}
  .story-final{position:static;opacity:1!important;transform:none!important;pointer-events:auto}
  .rot-disc img{opacity:0}
  .rot-disc img:first-of-type{opacity:1!important;transform:none!important}
  .rot-reveal{opacity:1!important;transform:none!important}
  .box-start{display:none}
  .box-final{position:static;opacity:1!important;pointer-events:auto;padding:40px 22px}
  #boxFx video,#boxFx .boximg{position:relative;height:52vh}
  .duo .dtx p,.duo .dtx .link{opacity:1;transform:none}
  #duoFx.hov-l .duo.l,#duoFx.hov-r .duo.r{flex:1}
  .shead h2{clip-path:none;transform:none;transition:none}
  .sweep.in::after{animation:none}
  .spark{animation:none;opacity:.4}
  .slide img.bg{animation:none}
  .marq .track{animation:none}
  .rv{opacity:1;transform:none;transition:none}
}

/* == bundle modal picker ================================== */
#bbModal{position:fixed;inset:0;z-index:210;display:none}
#bbModal.show{display:block}
#bbModal .bbm-veil{position:absolute;inset:0;background:rgba(30,36,26,.55);backdrop-filter:blur(3px)}
#bbModal .bbm-sheet{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(880px,94vw);max-height:84vh;background:var(--ivory);border-radius:18px;box-shadow:0 40px 120px rgba(30,36,26,.4);display:flex;flex-direction:column;overflow:hidden}
#bbModal .bbm-head{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--champagne);background:#fff}
#bbModal .bbm-head h3{font-size:22px;color:var(--wine)}
#bbModal .bbm-head button{background:none;border:0;font-size:28px;color:var(--wine);line-height:1}
#bbModal .bbm-grid{overflow-y:auto;padding:18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
#bbModal .bbm-remove .rmbox{padding:16px 10px;font-size:12.5px;color:var(--muted)}
@media(max-width:640px){#bbModal .bbm-sheet{left:0;right:0;bottom:0;top:auto;transform:none;width:auto;border-radius:20px 20px 0 0;max-height:78vh}}
#bbModal .bbm-grid{align-content:start;grid-auto-rows:max-content}
/* bundle modal controls */
#bbModal .bbm-sheet{max-height:88vh}
.bbm-controls{padding:12px 22px;background:#fff;border-bottom:1px solid var(--champagne);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
#bbmSearch{flex:1;min-width:180px;padding:10px 18px;border:1px solid var(--champagne);border-radius:24px;font-family:inherit;font-size:13.5px;background:var(--ivory)}
#bbmSearch:focus{outline:none;border-color:var(--wine)}
#bbmChips{display:flex;gap:8px;flex-wrap:wrap}
#bbmChips button{padding:8px 14px;border:1px solid var(--champagne);background:#fff;border-radius:20px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;transition:.25s}
#bbmChips button.on,#bbmChips button:hover{background:var(--wine);color:#fff;border-color:var(--wine)}
#bbmSort{padding:9px 12px;border:1px solid var(--champagne);border-radius:20px;background:#fff;font-family:inherit;font-size:12px}
.bbm-count{padding:10px 22px 0;font-size:11.5px;letter-spacing:.08em;color:var(--muted)}
.bbm-empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:50px 10px;font-size:14px}
@media(max-width:640px){.bbm-controls{padding:10px 14px}#bbmSearch{min-width:100%}}

/* ══════════ R2 · PREMIUM REDESIGN ══════════ */

/* — cursor policy: normal cursor by default, circle only on big imagery — */
body.has-cursor, body.has-cursor a, body.has-cursor button{cursor:auto}
#cursor{display:none!important}
body.has-cursor #cursor2{display:none}
body.cursor-view #cursor2,body.cursor-drag #cursor2{display:block;width:64px;height:64px;background:rgba(251,250,243,.9);border-color:var(--wine)}
body.cursor-view #cursor2::after{content:'VIEW'}
body.cursor-drag #cursor2::after{content:'DRAG'}
body.cursor-view #cursor2::after,body.cursor-drag #cursor2::after{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:9px;letter-spacing:.24em;color:var(--wine);font-family:var(--sans)}

/* — buttons: Maenzraat system — */
.btn{border-radius:2px;padding:16px 34px;min-height:50px}
.btn:hover{background:var(--wine-d)}
.elink{display:inline-block;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--wine);position:relative;padding-bottom:5px}
.elink::after{content:'';position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--wine);transform:scaleX(.3);transform-origin:left;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.elink:hover::after{transform:scaleX(1)}

/* — header: logo / centered nav / utilities — */
@media(min-width:901px){
  .hrow{display:grid;grid-template-columns:1fr auto 1fr;gap:30px}
  .hrow .logo{justify-self:start}
  .hrow nav.main{justify-self:center;gap:34px}
  .hrow .hicons{justify-self:end}
  .burger{display:none}
}
/* editorial mega menu */
.megabox{display:flex!important;opacity:0;visibility:hidden;transform:translateX(-50%) translateY(16px);transition:opacity .28s ease,transform .28s ease,visibility .28s;gap:38px;padding:28px 30px;border-radius:4px}
.mega:hover .megabox{opacity:1;visibility:visible;transform:translateX(-50%) translateY(8px)}
.megaimg{position:relative;width:230px;border-radius:4px;overflow:hidden;display:block}
.megaimg img{width:100%;height:100%;min-height:190px;object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.megaimg:hover img{transform:scale(1.04)}
.megaimg span{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;background:linear-gradient(transparent,rgba(30,36,26,.72));color:#fff;font-size:10px;letter-spacing:.22em;text-transform:uppercase}
.megaimg span b{display:block;font-weight:400;margin-top:5px;color:#E4E0C9}

/* — R2 hero · campaign stage — */
.stage{background:var(--ivory);position:relative}
.stage-clip{position:relative;height:min(88vh,860px);overflow:hidden;transform-origin:center 20%;will-change:transform,border-radius;background:var(--cream)}
.stage-media{position:absolute;inset:-12px;will-change:transform}
.camp{position:absolute;inset:0;opacity:0;pointer-events:none}
.camp img{width:100%;height:100%;object-fit:cover;object-position:68% center}
.camp.on{opacity:1;animation:campIn 1.15s cubic-bezier(.4,0,.2,1) both}
.camp.was{animation:campOut 1.15s cubic-bezier(.4,0,.2,1) both}
@keyframes campIn{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
@keyframes campOut{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.02)}}
.stage-grad{position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,250,243,.94) 0%,rgba(251,250,243,.66) 30%,rgba(251,250,243,0) 58%);z-index:2}
.stage-copy{position:absolute;z-index:3;left:6vw;top:50%;transform:translateY(-54%);max-width:560px}
.stage-copy .sc{display:block;font-size:clamp(24px,2.6vw,34px)}
.stage-copy .sh{font-family:var(--serif);font-weight:600;font-size:clamp(38px,4.8vw,64px);line-height:1.08;margin:10px 0 18px;color:var(--ink)}
.mline{display:block;overflow:hidden}
.mline i{display:block;font-style:normal;transform:translateY(110%)}
.stage-copy .sp{max-width:42ch;color:var(--muted);font-size:16.5px;margin-bottom:28px;opacity:0}
.stage-copy .se{opacity:0}
.stage-copy.live .mline:nth-child(1) i{animation:mrise .8s cubic-bezier(.22,1,.36,1) .15s both}
.stage-copy.live .mline:nth-child(2) i{animation:mrise .8s cubic-bezier(.22,1,.36,1) .27s both}
.stage-copy.live .sc{animation:fadeup .7s ease .05s both}
.stage-copy.live .sp{animation:fadeup .7s ease .5s both}
.stage-copy.live .se{animation:fadeup .7s ease .72s both}
@keyframes mrise{from{transform:translateY(110%)}to{transform:translateY(0)}}
@keyframes fadeup{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.stage-nav{position:absolute;z-index:4;left:6vw;bottom:34px;display:flex;gap:34px}
.snav{background:none;border:0;text-align:left;color:var(--muted);font-size:10.5px;letter-spacing:.24em;padding:0}
.snav span:first-child{display:block;margin-bottom:8px;transition:color .3s}
.snav.on span:first-child{color:var(--ink)}
.snav .bar{display:block;width:86px;height:1px;background:rgba(30,36,26,.18);position:relative;overflow:hidden}
.snav .bar i{position:absolute;left:0;top:0;bottom:0;width:100%;background:var(--wine);transform:scaleX(0);transform-origin:left}
@keyframes snavfill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:700px){
  .stage-clip{height:88svh}
  .camp img{object-position:62% center}
  .stage-grad{background:linear-gradient(0deg,rgba(251,250,243,.97) 26%,rgba(251,250,243,.45) 52%,rgba(251,250,243,.02) 72%)}
  .stage-copy{left:22px;right:22px;top:auto;bottom:96px;transform:none;max-width:none}
  .stage-copy .sp{font-size:14.5px;margin-bottom:18px}
  .stage-nav{left:22px;right:22px;bottom:26px;gap:18px}
  .snav span:first-child{font-size:9px;letter-spacing:.16em}
  .snav .bar{width:100%}
  .snav{flex:1}
}

/* — R2 · category runway — */
#runway{padding:110px 0 96px;background:var(--ivory)}
.runhead{text-align:center;margin-bottom:44px}
.runhead h2{font-size:clamp(30px,3.8vw,46px);margin-top:10px}
.runsub{color:var(--muted);margin-top:8px;font-size:15px}
.run-pin.pinned{height:280vh;position:relative}
.run-pin.pinned .run-stage{position:sticky;top:0;height:100vh;display:flex;align-items:center;overflow:hidden}
.run-track{display:flex;gap:26px;padding:0 max(6vw,26px);will-change:transform}
.run-card{position:relative;flex:0 0 min(44vw,560px);aspect-ratio:4/5;max-height:76vh;overflow:hidden;border-radius:4px;isolation:isolate}
.run-card img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.22,1,.36,1)}
.run-card:hover img{transform:scale(1.035)}
.run-track:hover .run-card:not(:hover){opacity:.86;transition:opacity .5s}
.rnum{position:absolute;top:16px;left:18px;z-index:3;font-size:10px;letter-spacing:.3em;color:#fff;opacity:.85}
.rgrad{position:absolute;left:0;right:0;bottom:0;height:46%;background:linear-gradient(transparent,rgba(24,28,20,.62));z-index:1}
.rmeta{position:absolute;left:22px;right:22px;bottom:20px;z-index:2;color:#fff;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.run-card:hover .rmeta{transform:translateY(-8px)}
.rmeta b{display:block;font-family:var(--serif);font-weight:600;font-size:clamp(17px,1.6vw,24px);letter-spacing:.12em;line-height:1.25}
.rmeta em{display:block;font-style:normal;font-size:11px;letter-spacing:.22em;margin-top:6px;color:#E4E0C9}
.rmeta i{display:block;font-style:normal;font-size:10px;letter-spacing:.3em;margin-top:10px;opacity:0;transform:translateY(6px);transition:.4s .08s}
.run-card:hover .rmeta i{opacity:1;transform:none}
@media(max-width:860px){
  .run-pin .run-stage{overflow:visible}
  .run-track{overflow-x:auto;scroll-snap-type:x mandatory;padding:0 22px 14px;gap:14px;scrollbar-width:none;transform:none!important}
  .run-track::-webkit-scrollbar{display:none}
  .run-card{flex:0 0 82vw;scroll-snap-align:center;max-height:none}
}
/* text index */
.cat-index{list-style:none;max-width:820px;margin:70px auto 0;border-top:1px solid var(--champagne)}
.cat-index a{display:flex;align-items:baseline;gap:18px;padding:15px 6px;border-bottom:1px solid var(--champagne);transition:padding .3s,color .3s}
.cat-index a:hover{color:var(--wine);padding-left:14px}
.cat-index .in{font-size:11px;letter-spacing:.2em;color:var(--gold);min-width:26px}
.cat-index .inm{font-family:var(--serif);font-size:clamp(17px,2vw,22px)}
.cat-index .dots{flex:1;border-bottom:1px dotted var(--champagne);transform:translateY(-4px)}
.cat-index .ic{font-size:12px;color:var(--muted)}
#idxGhost{position:fixed;left:0;top:0;z-index:90;width:120px;height:150px;border-radius:6px;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .25s;box-shadow:0 18px 50px rgba(30,36,26,.3)}
#idxGhost.on{opacity:1}
#idxGhost img{width:100%;height:100%;object-fit:cover}

/* — R2 · typography moment — */
.typo-moment{position:relative;text-align:center;padding:130px 22px;overflow:hidden;background:var(--cream)}
.typo-moment h2{font-size:clamp(40px,7vw,88px);line-height:1.05;font-weight:500;margin-top:16px;position:relative;z-index:2}
.typo-moment h2 em{font-style:italic;color:var(--wine)}
.tdrift{position:absolute;z-index:1;width:min(180px,26vw);right:12%;top:14%;border-radius:50%;opacity:0;box-shadow:0 30px 80px rgba(74,93,47,.25);will-change:transform,opacity}
@media(max-width:700px){.typo-moment{padding:84px 22px}.tdrift{right:4%}}

/* — R2 · peek carousels — */
.grid.peek{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:24px;padding-bottom:10px;scrollbar-width:none;cursor:grab}
.grid.peek::-webkit-scrollbar{display:none}
.grid.peek.drag{cursor:grabbing;scroll-snap-type:none}
.grid.peek .card{flex:0 0 calc((100% - 2*24px)/3.3);scroll-snap-align:start}
@media(max-width:1080px){.grid.peek .card{flex-basis:calc((100% - 24px)/2.3)}}
@media(max-width:700px){.grid.peek{gap:13px}.grid.peek .card{flex-basis:72vw}}

/* — R2 · borderless product cards — */
.card{background:transparent;border:0;border-radius:0;overflow:visible}
.card:hover{box-shadow:none;transform:translateY(-4px)}
.card .ph{border-radius:3px;display:block}
.card .ph img{aspect-ratio:4/5;transition:opacity .5s,transform .8s cubic-bezier(.22,1,.36,1)}
.card:hover .ph img{transform:scale(1.02)}
.card .info{padding:14px 2px 6px;text-align:left}
.card .cat-l{font-size:9.5px;letter-spacing:.24em;margin-bottom:6px;color:var(--gold)}
.card h3{font-size:18px;font-weight:600;margin-bottom:4px}
.price{font-size:14.5px}
.add{border:0;background:none;color:var(--wine);padding:8px 0 0;width:auto;border-radius:0;text-align:left;font-size:10.5px;letter-spacing:.24em;position:relative}
.add::before{content:''}
.add::after{content:'';position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:var(--wine);transform:scaleX(.35);transform-origin:left;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.add:hover{background:none;color:var(--wine-d)}
.add:hover::after{transform:scaleX(1)}
@media(pointer:fine){
  .card .add{opacity:0;transform:translateY(4px);transition:opacity .35s,transform .35s}
  .card:hover .add{opacity:1;transform:none}
}
.card .fav{top:10px;right:10px;background:rgba(251,250,243,.92);box-shadow:none}

/* — R2 · shop-the-look foot — */
.lookfoot{background:transparent;border:0;border-top:1px solid var(--champagne);border-radius:0;padding:26px 4px 0;justify-content:space-between}
.lookfoot .serif{font-size:clamp(22px,2.4vw,30px)}

/* — R2 · bundle drawer — */
#bbModal .bbm-sheet{left:auto;right:0;top:0;bottom:0;transform:translateX(40px);width:min(760px,96vw);max-height:none!important;height:100%;border-radius:0;opacity:0;transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .35s;box-shadow:-30px 0 90px rgba(30,36,26,.25)}
#bbModal.show .bbm-sheet{transform:none;opacity:1}
#bbModal{display:block;visibility:hidden}
#bbModal.show{visibility:visible}
#bbModal .bbm-veil{opacity:0;transition:opacity .35s}
#bbModal.show .bbm-veil{opacity:1}
#bbModal .bbm-head{align-items:flex-start;padding:26px 30px 18px;border-bottom:0;background:transparent}
.bbm-step{font-size:10.5px;letter-spacing:.3em;color:var(--gold)}
#bbModal .bbm-head h3{font-size:clamp(24px,2.6vw,32px);margin-top:4px;color:var(--ink)}
.bbm-sub{font-size:13px;color:var(--muted);margin-top:2px}
.bbm-x{background:none;border:0;font-size:30px;color:var(--ink);line-height:1;padding:4px 8px}
.bbm-controls{border-bottom:0;background:transparent;padding:0 30px 6px;display:block}
.bbm-search{display:flex;align-items:center;gap:12px;border:1px solid var(--champagne);border-radius:6px;padding:0 18px;height:50px;background:#fff}
.bbm-search span{color:var(--muted);font-size:17px}
#bbmSearch{border:0;background:none;flex:1;height:100%;padding:0;font-size:14px;border-radius:0}
#bbmSearch:focus{outline:none}
.bbm-search:focus-within{border-color:var(--wine)}
#bbmChips{margin-top:14px;gap:10px}
#bbmChips button{background:transparent;border:1px solid #D8D4C2;border-radius:3px;padding:10px 18px;font-size:10px;letter-spacing:.2em;color:var(--ink)}
#bbmChips button.on{background:var(--wine);border-color:var(--wine);color:var(--ivory)}
#bbmChips button:hover:not(.on){border-color:var(--wine);background:transparent;color:var(--wine)}
.bbm-sortrow{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid var(--champagne)}
#bbmCount{font-size:10.5px;letter-spacing:.22em;color:var(--muted)}
.bbm-sortwrap{position:relative}
.bbm-sortbtn{background:none;border:0;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink)}
.bbm-sortbtn b{font-weight:500;color:var(--wine)}
.bbm-sortmenu{position:absolute;right:0;top:130%;background:#fff;border:1px solid var(--champagne);border-radius:6px;box-shadow:0 20px 50px rgba(30,36,26,.15);min-width:210px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.25s;z-index:5}
.bbm-sortwrap.open .bbm-sortmenu{opacity:1;visibility:visible;transform:none}
.bbm-sortmenu button{display:block;width:100%;text-align:left;background:none;border:0;padding:11px 16px;font-size:12.5px;color:var(--ink)}
.bbm-sortmenu button:hover{background:var(--cream);color:var(--wine)}
#bbModal .bbm-grid{grid-template-columns:repeat(4,1fr);gap:26px 20px;padding:22px 30px 90px}
@media(max-width:820px){#bbModal .bbm-grid{grid-template-columns:repeat(3,1fr)}}
.bbm-card{cursor:pointer;text-align:left}
.bbm-ph{position:relative;border-radius:3px;overflow:hidden}
.bbm-ph img{aspect-ratio:4/5;object-fit:cover;width:100%;transition:opacity .45s,transform .7s}
.bbm-ph img.alt{position:absolute;inset:0;opacity:0}
.bbm-card:hover .bbm-ph img.alt{opacity:1}
.bbm-card:hover .bbm-ph img{transform:scale(1.03)}
.bbm-card.picked .bbm-ph{outline:1.5px solid var(--wine);outline-offset:2px}
.bbm-badge{position:absolute;top:8px;left:8px;background:var(--wine);color:var(--ivory);font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;padding:5px 10px;border-radius:2px}
.bbm-badge.dim{background:rgba(30,36,26,.55)}
.bbm-card.other{opacity:.55;cursor:default}
.bbm-card h4{font-family:var(--serif);font-size:14.5px;font-weight:600;margin:9px 0 2px;line-height:1.3}
.bbm-card .p{font-size:12.5px}
.bbm-card .p s{color:var(--rose);font-weight:300;margin-right:6px}
.bbm-sel{display:inline-block;margin-top:7px;font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--wine);border-bottom:1px solid var(--wine);padding-bottom:2px;opacity:0;transform:translateY(3px);transition:.3s}
.bbm-card:hover .bbm-sel,.bbm-card.picked .bbm-sel{opacity:1;transform:none}
@media(pointer:coarse){.bbm-sel{opacity:1;transform:none}}
.bbm-foot{position:absolute;left:0;right:0;bottom:0;background:rgba(251,250,243,.96);backdrop-filter:blur(8px);border-top:1px solid var(--champagne);padding:14px 30px;display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:13px}
.bbm-foot .btn{min-height:44px;padding:12px 26px}
.bbm-hint{font-size:11px;color:var(--muted)}
@media(max-width:640px){
  #bbModal .bbm-sheet{width:100%}
  #bbModal .bbm-grid{grid-template-columns:repeat(2,1fr);gap:18px 12px;padding:16px 18px 96px}
  .bbm-controls{padding:0 18px 6px}
  #bbModal .bbm-head{padding:20px 18px 12px}
  #bbmChips{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;padding-bottom:4px}
  #bbmChips button{white-space:nowrap}
  .bbm-foot{padding:12px 18px}
}

/* — R2 · rhythm + spacing — */
section{padding:104px 0}
@media(max-width:700px){section{padding:70px 0}}
.bg-cream{background:var(--cream)}
.occ a{border-radius:3px}
.news input{border-radius:3px 0 0 3px}
.news button{border-radius:0 3px 3px 0}
.promo{border-radius:6px}
.bb-teaser{border-radius:6px;background:linear-gradient(120deg,var(--wine),#6C7F46)}

/* — R2 · mask reveal — */
.maskrev{clip-path:inset(0 100% 0 0);transition:clip-path 1.1s cubic-bezier(.6,.05,.2,1)}
.maskrev.in{clip-path:inset(0 0 0 0)}

/* — R2 reduced motion — */
@media (prefers-reduced-motion: reduce){
  .camp.on,.camp.was{animation:none;opacity:1}
  .camp:not(.on){opacity:0}
  .stage-copy .sp,.stage-copy .se{opacity:1}
  .mline i{transform:none}
  .stage-copy.live .sc,.stage-copy.live .sp,.stage-copy.live .se{animation:none}
  .run-pin.pinned{height:auto}
  .run-pin.pinned .run-stage{position:static;height:auto;overflow-x:auto}
  .run-track{transform:none!important;overflow-x:auto}
  .tdrift{opacity:.9;transform:none}
  .maskrev{clip-path:none;transition:none}
  #idxGhost{display:none}
}

.stage{padding:0} #runway{padding-top:120px}

/* ══════════ OrderDesk UI ══════════ */
/* sold out */
.card.soldout .ph{opacity:1}
.card.soldout .ph::after{content:'SOLD OUT';position:absolute;top:12px;left:12px;background:rgba(30,36,26,.8);color:#fff;font-size:9px;letter-spacing:.22em;padding:6px 12px;border-radius:2px;z-index:3}
.card.soldout .add{opacity:1;pointer-events:auto;text-decoration:none}
/* search overlay */
#srchov{position:fixed;inset:0;background:rgba(30,36,26,.5);backdrop-filter:blur(4px);z-index:220;display:none;padding:8vh 18px}
#srchov.show{display:block}
.srchbox{position:relative;max-width:620px;margin:0 auto;background:var(--ivory);border-radius:10px;box-shadow:0 40px 100px rgba(0,0,0,.35);overflow:hidden}
#srchin{width:100%;border:0;padding:20px 56px 20px 22px;font-size:16px;font-family:inherit;background:#fff;border-bottom:1px solid var(--champagne)}
#srchin:focus{outline:none}
.srchbox>button{position:absolute;top:10px;right:12px;background:none;border:0;font-size:26px;color:var(--muted);cursor:pointer}
#srchres a{display:flex;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid var(--cream)}
#srchres a:hover{background:var(--cream)}
#srchres img{width:46px;height:46px;object-fit:cover;border-radius:4px}
#srchres span{font-family:var(--serif);font-size:15.5px}
#srchres em{display:block;font-style:normal;font-family:var(--sans);font-size:12px;color:var(--muted)}
#srchres .srchall{justify-content:center;color:var(--wine);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-family:var(--sans)}
/* checkout */
.co-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:34px}
@media(max-width:820px){.co-grid{grid-template-columns:1fr}}
.co-h{font-family:var(--serif);font-size:21px;margin-bottom:14px}
.co-form label{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.co-form input,.co-form textarea{display:block;width:100%;margin-top:6px;padding:13px 14px;border:1px solid var(--champagne);border-radius:5px;font-family:var(--sans);font-size:14.5px;background:#fff;text-transform:none;letter-spacing:normal}
.co-form input:focus,.co-form textarea:focus{outline:none;border-color:var(--wine)}
.co-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.co-hint{font-size:10px;color:var(--gold);text-transform:none;letter-spacing:.04em}
.co-sum{background:#fff;border:1px solid var(--champagne);border-radius:10px;padding:22px;height:fit-content;position:sticky;top:90px}
.co-item{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;padding:7px 0;border-bottom:1px dashed var(--cream)}
.co-line{display:flex;justify-content:space-between;padding:8px 0;font-size:14px}
.co-total{border-top:1px solid var(--champagne);margin-top:6px;padding-top:12px;font-size:17px}
.co-policy{font-size:11.5px;color:var(--muted);margin-top:16px;line-height:1.8;text-align:center}
#payQR{display:inline-block;background:#fff;padding:14px;border:1px solid var(--champagne);border-radius:12px;margin-top:18px}
#payQR svg{display:block;width:min(240px,64vw);height:auto}
.co-upibtns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px}
.upib{padding:11px 20px;border:1px solid var(--wine);border-radius:4px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--wine)}
.upib:hover{background:var(--wine);color:#fff}
@media(pointer:fine){.co-upibtns{display:none}} /* intent buttons only make sense on phones */
.co-noupi{background:#fff;border:1px dashed var(--rose);border-radius:10px;padding:22px;margin-top:18px}
/* track */
.trk-form{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:30px}
.trk-form input{flex:1;min-width:200px;padding:14px;border:1px solid var(--champagne);border-radius:5px;font-family:inherit;background:#fff}
.trk-err{text-align:center;color:#B23B3B;background:#fff;border:1px solid #ECC;padding:16px;border-radius:8px}
.trk-card{background:#fff;border:1px solid var(--champagne);border-radius:12px;padding:24px}
.trk-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--cream);padding-bottom:14px;font-size:14px}
.trk-steps{list-style:none;margin:18px 0;padding:0}
.trk-steps li{position:relative;padding:0 0 22px 34px;color:var(--muted);font-size:14px}
.trk-steps li i{position:absolute;left:0;top:2px;width:16px;height:16px;border-radius:50%;border:2px solid var(--champagne);background:#fff}
.trk-steps li::before{content:'';position:absolute;left:7px;top:20px;bottom:0;width:2px;background:var(--cream)}
.trk-steps li:last-child::before{display:none}
.trk-steps li.done{color:var(--ink)}
.trk-steps li.done i{background:var(--wine);border-color:var(--wine)}
.trk-steps li em{display:block;font-style:normal;font-size:12px;color:var(--gold)}
.trk-items{border-top:1px solid var(--cream);padding-top:10px}
/* reviews */
.rvgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.rvc{background:#fff;border:1px solid var(--champagne);border-radius:10px;padding:18px}
.rvc .rvs{color:#C9A227;letter-spacing:3px;margin-bottom:8px}
.rvc p{font-size:13.5px;color:#4b5244;line-height:1.7}
.rvc b{display:block;margin-top:10px;font-family:var(--serif);font-weight:600}
.rv-stars{margin-top:14px}

/* ============ MEHANDI LUXE — elegance colour layer ============ */
:root{
  --wine:#45521D; --wine-d:#262F12; --rose:#7E9147;
  --gold:#B8912F; --gold-l:#D9C58A;
  --ivory:#FAF7ED; --cream:#F2EDDC; --champagne:#DFD8BC; --blush:#EBEDD8;
  --ink:#1B2115; --muted:#6B7159;
}
::selection{background:#45521D;color:#FAF7ED}
body{background:var(--ivory)}
.bar{background:linear-gradient(90deg,#20280F,#45521D 38%,#4C5A22 50%,#45521D 62%,#20280F);color:#E9E1C4;border-bottom:1px solid rgba(184,145,47,.45)}
header{background:rgba(250,247,237,.9);border-bottom:1px solid var(--gold-l)}
.logo em{color:var(--gold)}
.eyebrow{color:var(--gold)}
.btn{background:linear-gradient(135deg,#4C5A22,#3B4719);border-color:#3B4719;box-shadow:0 8px 22px -12px rgba(38,47,18,.55)}
.btn:hover{background:linear-gradient(135deg,#3B4719,#262F12);border-color:var(--gold);box-shadow:0 10px 26px -12px rgba(38,47,18,.7)}
.btn.ghost{background:transparent;color:#3B4719;border-color:#3B4719;box-shadow:none}
.btn.ghost:hover{background:#3B4719;color:#FAF7ED;border-color:#3B4719}
.count{background:linear-gradient(135deg,#B8912F,#96751F);color:#fff}
.cathero{background:linear-gradient(168deg,#F7F3E1,#E9EAD0 55%,#F2EDDC);position:relative}
.cathero::after{content:'';display:block;width:52px;height:1px;background:var(--gold);margin:26px auto 0}
.cathero h1{color:#38431A}
.news{background:radial-gradient(120% 160% at 50% -20%,#4C5A22 0%,#38431A 45%,#232B10 100%)}
.news button{background:linear-gradient(135deg,#C9A227,#A5821F);transition:.3s}
.news button:hover{background:linear-gradient(135deg,#D9B23A,#B8912F);letter-spacing:.22em}
.news input{background:#FAF7ED}
footer{background:linear-gradient(180deg,#1B2110,#141908);color:#C9C4AE;border-top:1px solid rgba(184,145,47,.4)}
footer h4{color:#D9C58A}
footer a:hover{color:#D9C58A}
.fbottom{color:#9BA083}
.card{transition:box-shadow .35s,transform .35s}
.card:hover{box-shadow:0 18px 40px -18px rgba(38,47,18,.35),0 0 0 1px var(--gold-l)}
.megabox{border:1px solid var(--gold-l);box-shadow:0 24px 50px -22px rgba(38,47,18,.35)}
.shead h2,.rv h2{color:#232B12}
.script{color:#8A9A50}
.trk-steps li.done i{background:#45521D;border-color:#45521D}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--gold)!important;box-shadow:0 0 0 3px rgba(184,145,47,.14)}
.seotext{background:linear-gradient(180deg,var(--cream),#EFE9D4);border-top:1px solid var(--gold-l)}
.hicons .ac-ic{text-decoration:none;font-size:18px;margin-right:2px}
/* logged-in avatar chip in header */
.hicons .ac-ic{display:inline-flex;align-items:center;gap:7px}
.ac-chip{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#4C5A22,#2A3314);color:#FAF7ED;display:inline-flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:14px;border:1.5px solid var(--gold)}
.ac-nm{font-size:12px;letter-spacing:.08em;color:var(--ink)}
@media(max-width:760px){.ac-nm{display:none}}
/* ── Myntra-parity pack ── */
.offchip{display:inline-block;background:#B23B3B;color:#fff;font-size:11px;letter-spacing:.08em;padding:3px 9px;border-radius:3px;margin-left:10px;vertical-align:middle;font-weight:600}
.prate{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:#2A3314;margin:4px 0 2px}
.prate em{font-style:normal;color:var(--muted);font-size:12px}
.crate{font-size:11px;color:#2A3314;margin-left:8px}
.crate span{color:var(--muted)}
.tbadges{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0 4px}
.tbadges span{background:var(--cream);border:1px solid var(--champagne);border-radius:5px;padding:8px 11px;font-size:11.5px;color:#3d4433}
.mzd{background:#fff;border:1px solid var(--gold-l);border-radius:8px;padding:14px 16px;margin:14px 0}
.mzd input{flex:1;max-width:180px;padding:10px 12px;border:1px solid var(--champagne);border-radius:4px;font-size:14px;letter-spacing:.1em}
.lowchip{display:inline-block;color:#B23B3B;font-size:11.5px;letter-spacing:.06em;font-weight:500;margin:4px 0}
.card .lowchip{font-size:10.5px}
.spectbl{width:100%;border-collapse:collapse}
.spectbl td{padding:7px 8px;border-bottom:1px solid var(--champagne);font-size:13px;vertical-align:top}
.spectbl td:first-child{color:var(--muted);width:42%;font-size:12px;letter-spacing:.04em}
#lvtrk iframe{border:0;width:100%}
/* ── header alignment + logo + wishlist icon ── */
nav.main{display:flex;align-items:center}
nav.main>a,nav.main .mega{display:inline-flex;align-items:center;height:100%}
nav.main .mega>a{display:inline-flex;align-items:center}
a.logo{display:inline-flex;align-items:center;gap:10px;line-height:1}
.lgo{width:40px;height:40px;flex:none}
.lgtxt{font-family:var(--serif);font-weight:600;font-size:23px;letter-spacing:.22em;color:var(--ink)}
.lgtxt em{font-style:normal;color:var(--gold)}
.hicons{display:inline-flex;align-items:center;gap:14px}
.hicons .wl-ic{position:relative;font-size:19px;color:var(--wine);text-decoration:none;line-height:1}
.hicons .wl-ic .count{background:linear-gradient(135deg,#B8912F,#96751F)}
@media(max-width:760px){.lgo{width:32px;height:32px}.lgtxt{font-size:18px}}

/* ============ PEARL & MEHENDI — brand layer (final) ============ */
:root{
  --wine:#3B4536; --wine-d:#2E3729; --rose:#5C6652;
  --gold:#C8A96E; --gold-l:#D8C9A8;
  --ivory:#F4F0E7; --cream:#ECE6D9; --champagne:#D7CBBE; --blush:#E8E2D4;
  --ink:#201D19; --muted:#6E675C; --garnet:#703038;
  --sh:0 18px 50px rgba(59,69,54,.14);
}
::selection{background:#3B4536;color:#F4F0E7}
body{background:var(--ivory)}
.bar{background:var(--wine);color:var(--ivory);border-bottom:0}
header{background:rgba(244,240,231,.92);border-bottom:1px solid var(--champagne)}
a.logo .lgw{height:26px;width:auto;display:block}
@media(max-width:760px){a.logo .lgw{height:20px}}
.btn{background:var(--wine);border-color:var(--wine);color:var(--ivory);box-shadow:none}
.btn:hover{background:var(--wine-d);border-color:var(--wine-d);box-shadow:none;transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--wine);border-color:var(--wine)}
.btn.ghost:hover{background:var(--wine);color:var(--ivory)}
.btn.light{background:var(--ivory);color:var(--wine);border-color:var(--ivory)}
.count{background:var(--wine);color:var(--ivory)}
.hicons .wl-ic{color:var(--ink)}
.hicons .wl-ic .count{background:var(--wine)}
.eyebrow{color:var(--wine)}
nav.main a{color:var(--ink)}
nav.main a:hover{color:var(--wine)}
nav.main a::after{background:var(--wine)}
.mega>a:hover{color:var(--wine)}
.megabox h5{color:var(--wine)}
.card{background:#FBF9F4;border:1px solid var(--champagne)}
.card:hover{box-shadow:0 18px 40px -18px rgba(32,29,25,.22),0 0 0 1px var(--champagne)}
.card .cat-l{color:var(--muted)}
.card .fav{background:rgba(244,240,231,.94);color:var(--wine)}
.card .fav.on{background:var(--wine);color:var(--ivory)}
.badge{background:var(--blush);color:var(--wine)}
.price s{color:var(--muted)}
.pprice s{color:var(--muted)}
.offchip{background:var(--garnet);color:var(--ivory)}
.lowchip{color:var(--garnet)}
.psave{color:var(--garnet)}
.add{border-color:var(--wine);color:var(--wine)}
.add:hover{background:var(--wine);color:var(--ivory)}
.occ a{border-color:var(--champagne);color:var(--ink);background:#FBF9F4}
.occ a:hover{background:var(--wine);color:var(--ivory);border-color:var(--wine)}
.vals .ic{border-color:var(--wine);color:var(--wine)}
.filters button{border-color:var(--champagne);background:#FBF9F4;color:var(--ink)}
.filters button.on,.filters button:hover{background:var(--wine);color:var(--ivory);border-color:var(--wine)}
.cathero{background:var(--cream)}
.cathero::after{background:var(--wine)}
.cathero h1{color:var(--wine)}
.shead h2,.rv h2{color:var(--ink)}
.script{color:var(--rose)}
.split .tx{background:var(--cream)}
.pinkband{background:var(--cream)}
.split.wine .tx{background:var(--wine);color:var(--ivory)}
.split.wine .tx p{color:#CFC9BC}
.marq{background:var(--ink);color:var(--gold-l)}
.news{background:var(--champagne);color:var(--ink)}
.news h2{color:var(--ink)}
.news p{color:#4E463C}
.news small{color:#5C5449}
.news input{background:var(--ivory);color:var(--ink)}
.news button{background:var(--wine);color:var(--ivory)}
.news button:hover{background:var(--wine-d);letter-spacing:.22em}
footer{background:var(--ink);color:#B7AFA3;border-top:0}
footer h4{color:var(--gold-l)}
footer a:hover{color:var(--gold-l)}
.fbottom{color:#877E71;border-top:1px solid #332E28}
.flogo{width:74px;margin-bottom:18px}
.phero{background:var(--wine)}
.phero p{color:#CFC9BC}
.prose h2{color:var(--wine)}
.promo{background:var(--wine);color:var(--ivory)}
.seotext{background:var(--cream);border-top:1px solid var(--champagne)}
.seotext h2{color:var(--wine)}
.sdots button{background:rgba(59,69,54,.25)}
.sdots button.on{background:var(--wine)}
.sarr{border-color:var(--wine);background:rgba(244,240,231,.88);color:var(--wine)}
.sarr:hover{background:var(--wine);color:var(--ivory)}
.spark{color:var(--gold);text-shadow:0 0 12px rgba(244,240,231,.9)}
.trk-steps li.done i{background:var(--wine);border-color:var(--wine)}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--wine)!important;box-shadow:0 0 0 3px rgba(59,69,54,.14)}
.ac-chip{background:var(--wine);color:var(--ivory);border:1.5px solid var(--gold)}
.mzd{background:#FBF9F4;border:1px solid var(--champagne)}
.megabox{border:1px solid var(--champagne);box-shadow:0 24px 50px -22px rgba(32,29,25,.25)}
.qty button{background:var(--ivory)}
#dfoot{background:#FBF9F4}
.revempty{background:#FBF9F4;border:1px dashed var(--champagne)}
details summary::after{color:var(--wine)}
.prate{color:var(--ink)}
.crate{color:var(--ink)}
.searchbar input,.searchbar select{background:#FBF9F4;border-color:var(--champagne)}
.offer{background:#FBF9F4;border-color:var(--champagne)}
.offer .tag{background:var(--wine);color:var(--ivory)}
.slide .veil{background:linear-gradient(90deg,rgba(244,240,231,.94) 0%,rgba(244,240,231,.72) 36%,rgba(244,240,231,.05) 64%)}
.hero .veil{background:linear-gradient(90deg,rgba(244,240,231,.93) 0%,rgba(244,240,231,.72) 34%,rgba(244,240,231,0) 62%)}
@media(max-width:640px){
  .slide .veil{background:linear-gradient(0deg,rgba(244,240,231,.96) 10%,rgba(244,240,231,.55) 48%,rgba(244,240,231,.02))}
  .hero .veil{background:linear-gradient(0deg,rgba(244,240,231,.95) 8%,rgba(244,240,231,.55) 45%,rgba(244,240,231,.05))}
}
#loader{background:var(--ivory)}
#loader span{color:var(--wine)}
#drawer{background:var(--ivory)}
#toast{background:var(--ink);color:var(--ivory)}
/* clickable elements always show the hand cursor */
body.has-cursor,body.has-cursor a,body.has-cursor button{cursor:auto}
#cursor,#cursor2{display:none!important}
a,a *,button,button *,select,summary,label[for],
.logo,.lgw,.fav,.wl-ic,.chip,.occ a,.filters button,.add,.cat,.card,.card *,.hotspot,
.sdots button,.sarr,.acc,.qty button,.ditem .rm,.burger,.mega>a,.duo,.hicons a,.hicons button,
input[type="checkbox"],input[type="radio"],input[type="submit"],[onclick]{cursor:pointer!important}
input[type="text"],input[type="email"],input[type="tel"],input[type="number"],input[type="password"],textarea,input:not([type]){cursor:text!important}
/* keep header menu on one line */
.hrow{flex-wrap:nowrap;gap:14px}
nav.main{flex-wrap:nowrap;white-space:nowrap;gap:20px;flex:1;justify-content:center;min-width:0}
nav.main>a,nav.main .mega>a{white-space:nowrap;font-size:12px;letter-spacing:.1em}
@media(max-width:1100px){nav.main{gap:14px}nav.main>a,nav.main .mega>a{font-size:11px;letter-spacing:.06em}}
/* review photos */
.rvc .rvph{width:100%;max-height:180px;object-fit:cover;border-radius:8px;margin-bottom:10px;cursor:zoom-in;border:1px solid var(--champagne)}
/* self-serve cancellation */
.trk-cancel{margin-top:14px;background:transparent;border:1px solid var(--garnet);color:var(--garnet);padding:10px 20px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border-radius:4px;transition:.25s}
.trk-cancel:hover{background:var(--garnet);color:var(--ivory)}
.trk-cancel.arm{background:var(--garnet);color:var(--ivory)}
/* 404 page */
.nf{min-height:62vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 22px}
.nf h1{font-size:clamp(60px,10vw,120px);color:var(--champagne);letter-spacing:.08em;line-height:1}
.nf h2{font-size:clamp(22px,3vw,32px);margin:10px 0 12px;color:var(--ink)}
.nf p{color:var(--muted);max-width:46ch;margin-bottom:26px}
/* policy pages */
.policy{max-width:760px;margin:0 auto;padding:10px 22px 90px;font-size:15px;line-height:1.85;color:#3A352E}
.policy h2{font-size:22px;color:var(--wine);margin:36px 0 10px}
.policy p{margin:10px 0}
.policy .pupd{font-size:12.5px;color:var(--muted);letter-spacing:.06em}

/* branded WhatsApp button */
.wafloat{background:var(--wine);border:1.5px solid var(--gold);box-shadow:0 10px 26px rgba(32,29,25,.35);position:fixed}
.wafloat svg{width:26px;height:26px;fill:var(--gold-l)}
.wafloat::before{content:'';position:absolute;inset:-5px;border-radius:50%;border:1.5px solid var(--gold);opacity:0;animation:wapulse 2.6s ease-out infinite}
.wafloat:hover{transform:scale(1.1);background:var(--wine-d)}
.wafloat:hover svg{fill:var(--gold)}
@keyframes wapulse{0%{transform:scale(.85);opacity:.75}70%{transform:scale(1.3);opacity:0}100%{transform:scale(1.3);opacity:0}}

/* inverted loading screen: mehendi ground, gold mark */
#loader{background:var(--wine)}
#loader span{color:var(--gold-l)}
#loader img{width:84px}

/* ── "See it on you" try-on button (PDP) ── */
.tryonBtn{display:block;margin:14px 0 4px;padding:13px 16px;border-radius:10px;text-decoration:none;
  background:var(--wine);color:var(--gold-l);border:1.5px solid var(--gold);
  font-size:13px;letter-spacing:.06em;line-height:1.5;cursor:pointer;transition:background .25s}
.tryonBtn:hover{background:#2E3729}
.tryonBtn .tico{color:var(--gold);margin-right:6px}
.tryonBtn em{display:block;font-style:normal;font-size:11px;color:#c9cfbd;margin-top:3px;letter-spacing:.02em}


/* ── brand typography: Marcellus + Questrial (single-weight faces) ── */
h1,h2,h3,.logo,.pname,.slide h1,.slide h2,.ditem h4,.news h3,#mmenu a,.serif,.lookcard h4,#looksheet h4,.bb-teaser h3,.bb-pickhead h3,.bb-card h4{font-weight:400}


/* ── responsive header fix: burger below 900px, tighter nav on small desktops ── */
@media(max-width:900px){
  .hrow{display:flex !important;flex-wrap:nowrap;gap:10px;padding:12px 14px}
  nav.main{display:none !important}
  .burger{display:block !important;cursor:pointer}
  .bar{font-size:9.5px;letter-spacing:.08em;padding:7px 10px;line-height:1.55}
  a.logo .lgw{height:20px}
  .hicons{gap:12px}
}
@media(min-width:901px) and (max-width:1200px){
  nav.main{gap:11px}
  nav.main>a,nav.main .mega>a{font-size:10.5px;letter-spacing:.04em}
}

/* ══ THE MA INSTALLATION — 4-window monogram hero (signature thread) ══ */
#lm2,#mzgal{--pearl:#F4F0E7;--sand:#D7CBBE}
#lm2{position:relative;height:100svh;min-height:580px;overflow:hidden;background:var(--pearl)}
.lm2-wrap{position:absolute;inset:0;will-change:transform}
.lm2-shadow{position:absolute;right:2vw;top:6svh;bottom:4svh;width:60%;background:radial-gradient(56% 58% at 55% 52%, rgba(59,69,54,.09), transparent 70%)}
.lm2-svg{position:absolute;right:7vw;top:50%;transform:translateY(-51%);height:90svh;max-height:880px;aspect-ratio:1/1}
.lm2-svg .strokes{fill:var(--gold);opacity:.96}
.lm2-svg image{transform-box:fill-box;transform-origin:center;transition:transform .4s cubic-bezier(.33,.0,.2,1), filter .4s ease}
.lm2-svg .ring{fill:none;stroke:var(--gold);stroke-width:1.25;opacity:0;transition:opacity .35s ease}
.lm2-svg a{outline:none;cursor:pointer}
#lm2[data-focus] .win image{filter:brightness(.94) saturate(.94)}
#lm2[data-focus="everyday"] .w-everyday image,
#lm2[data-focus="heritage"] .w-heritage image,
#lm2[data-focus="minimal"]  .w-minimal image,
#lm2[data-focus="wedding"]  .w-wedding image{filter:brightness(1.05) contrast(1.03) saturate(1.02);transform:scale(1.03)}
#lm2[data-focus="everyday"] .w-everyday .ring,
#lm2[data-focus="heritage"] .w-heritage .ring,
#lm2[data-focus="minimal"]  .w-minimal .ring,
#lm2[data-focus="wedding"]  .w-wedding .ring{opacity:.5}
.thread{position:absolute;height:1px;background:var(--gold);opacity:.85;transition:left .6s cubic-bezier(.3,0,.2,1), width .6s cubic-bezier(.3,0,.2,1), opacity .5s}
.lm2-copy{position:absolute;left:5vw;top:50%;transform:translateY(-56%);max-width:460px;z-index:4}
.lm2-copy .script{font-family:var(--script);font-size:clamp(20px,2vw,27px);color:#A98D6F;display:block;margin-bottom:10px}
.lm2-copy h1{font-family:var(--serif);font-weight:400;font-size:clamp(34px,4.2vw,58px);line-height:1.07;margin-bottom:16px;color:var(--ink)}
.lm2-copy p{font-size:15px;color:#4a4f42;max-width:330px;margin-bottom:24px;line-height:1.65}
.lm2-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.lm2-cta .main{background:var(--wine);color:var(--pearl);letter-spacing:.18em;font-size:11px;text-transform:uppercase;padding:15px 28px;transition:background .3s}
.lm2-cta .main:hover{background:#2E3729}
.lm2-cta .g2{letter-spacing:.16em;font-size:11px;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--gold);padding:4px 2px;transition:color .3s}
.lm2-cta .g2:hover{color:var(--wine)}
.rev{margin-top:34px;min-height:86px;opacity:0;transform:translateY(9px);clip-path:inset(0 0 100% 0);transition:opacity .35s ease,transform .35s ease,clip-path .38s ease;pointer-events:none}
#lm2[data-focus] .rev{opacity:1;transform:none;clip-path:inset(0 0 0% 0)}
.rev .rt{font-family:var(--serif);font-size:19px;letter-spacing:.22em;text-transform:uppercase;color:var(--wine);display:block}
.rev .rl{display:block;font-size:12.5px;color:var(--muted);margin:7px 0 10px;letter-spacing:.04em}
.rev .rx{font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--gold);padding-bottom:3px}
#mcur{position:fixed;z-index:60;pointer-events:none;display:none;align-items:center;gap:7px;transform:translate(-50%,-50%)}
#mcur i{width:6px;height:6px;border-radius:50%;background:var(--gold);display:block}
#mcur s{text-decoration:none;font-size:8.5px;letter-spacing:.3em;color:var(--wine);text-transform:uppercase}
.mk{position:absolute;z-index:5;font-size:8.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--ink);display:none;flex-direction:column;gap:4px}
.mk i{display:block;width:14px;height:1px;background:var(--gold)}
.mk small{font-size:7.5px;letter-spacing:.14em;color:var(--muted);text-transform:none}
.lm2-hint{position:absolute;left:5vw;bottom:24px;font-size:9.5px;letter-spacing:.4em;text-transform:uppercase;color:var(--muted);z-index:4}
.lm2-svg a:focus-visible .ring{opacity:.85;stroke-width:2}
@media(max-width:820px){
  #lm2{min-height:640px}
  .lm2-copy{left:6vw;right:6vw;top:8svh;transform:none;max-width:none}
  .lm2-copy h1{font-size:clamp(30px,8.4vw,40px)}
  .lm2-copy p{font-size:13.5px;margin-bottom:16px;max-width:300px}
  .lm2-cta{gap:12px;flex-wrap:nowrap}
  .lm2-cta .main{padding:12px 16px;font-size:10px;letter-spacing:.14em;white-space:nowrap}
  .lm2-cta .g2{font-size:10px;letter-spacing:.12em;white-space:nowrap}
  .rev{display:none}
  .lm2-svg{right:50%;transform:translateX(50%);top:auto;bottom:13svh;height:min(50svh,86vw)}
  .lm2-shadow{right:0;left:0;width:auto;background:radial-gradient(60% 40% at 50% 74%, rgba(59,69,54,.09), transparent 70%)}
  .thread{display:none}
  #mcur{display:none !important}
  .mk{display:flex}
  .lm2-hint{display:none}
}
@media(prefers-reduced-motion:reduce){
  .lm2-svg image,.ring,.rev,.thread,.lm2-wrap{transition:none !important}
  .thread{display:none}
  .mk{display:flex}
  #lm2[data-focus] .win image{transform:none}
}

/* ══ MAENZRAAT CATEGORY GALLERY — arch display niches ══ */
#mzgal{background:var(--pearl);padding:74px 0 84px}
#mzgal .gal-head{text-align:center;margin-bottom:38px}
#mzgal .gal-head small{font-size:10px;letter-spacing:.42em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:8px}
#mzgal .gal-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.4vw,30px);color:var(--ink)}
.gal-strip{display:flex;gap:clamp(12px,1.6vw,26px);justify-content:center;padding:6px max(18px,3vw);overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}
.gal-strip::-webkit-scrollbar{display:none}
.niche{flex:0 0 auto;width:clamp(118px,8.6vw,150px);text-align:center;scroll-snap-align:start;outline:none}
.niche .arch{position:relative;width:100%;aspect-ratio:124/182;border-radius:50% 50% 5px 5px / 34% 34% 5px 5px;overflow:hidden;background:var(--sand);box-shadow:inset 0 10px 26px rgba(32,29,25,.16), inset 0 -4px 10px rgba(244,240,231,.5);transition:transform .35s ease}
.niche .arch img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease,filter .45s ease}
.niche .arch::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(200,169,110,.22)}
.niche figcaption{margin-top:13px;font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink);line-height:1.7;transition:color .3s}
.niche .ul{display:block;width:0;height:1px;background:var(--gold);margin:6px auto 0;transition:width .35s ease}
.niche:hover .arch,.niche:focus-visible .arch{transform:translateY(-3px)}
.niche:hover .arch img,.niche:focus-visible .arch img{transform:scale(1.035);filter:brightness(1.05)}
.niche:hover figcaption,.niche:focus-visible figcaption{color:var(--wine)}
.niche:hover .ul,.niche:focus-visible .ul{width:26px}
.niche:focus-visible{outline:1.5px solid var(--gold);outline-offset:5px;border-radius:8px}
@media(max-width:1500px){.gal-strip{justify-content:flex-start}}
/* strip arrows (shown when the strip scrolls) */
.gal-wrap{position:relative}
.gal-arr{display:flex;position:absolute;top:calc(50% - 34px);transform:translateY(-50%);z-index:3;width:34px;height:34px;border-radius:50%;border:1px solid var(--gold);background:rgba(244,240,231,.92);color:var(--wine);font-size:15px;line-height:1;cursor:pointer;align-items:center;justify-content:center;transition:opacity .3s;padding:0}
.gal-arr:disabled{opacity:.25;cursor:default}
.gal-arr.l{left:6px}.gal-arr.r{right:6px}
@media(max-width:820px){
  #mzgal{padding:46px 0 54px}
  .gal-strip{gap:11px;padding:4px 16px}
  .niche{width:98px}
  .niche figcaption{margin-top:9px;font-size:8px;letter-spacing:.2em;line-height:1.6}
  .niche .ul{margin-top:4px}
  .gal-arr{display:flex}
}
@media(prefers-reduced-motion:reduce){.niche .arch,.niche .arch img,.niche .ul{transition:none !important}}


/* ══════════════════════════════════════════════════════════════════════
   MAENZRAAT PRODUCT CARD SYSTEM  ·  v1  ·  "MAENZ SIGNATURE"
   One card language for every surface that renders a product:
   home rows, shop grid, category pages, search, related, recently viewed.
   Keep this block LAST in effects.css.
   ══════════════════════════════════════════════════════════════════════ */

:root{
  /* spacing scale */
  --mz-1:4px;  --mz-2:8px;  --mz-3:12px; --mz-4:16px;
  --mz-5:20px; --mz-6:24px; --mz-8:32px; --mz-10:40px; --mz-12:48px;
  /* card tokens — desktop */
  --mz-card-px:16px;      /* left / right information padding */
  --mz-card-pt:15px;      /* image  -> label */
  --mz-card-pb:20px;      /* bottom breathing room */
  --mz-gap-label:7px;     /* label  -> title */
  --mz-gap-title:8px;     /* title  -> price */
  --mz-grid-gap:26px;
  --mz-radius:3px;
  --mz-ratio:4 / 5;
  /* motion */
  --mz-fast:.22s; --mz-norm:.38s; --mz-slow:.55s;
  --mz-ease:cubic-bezier(.22,1,.36,1);
  /* hairline */
  --mz-line:rgba(215,203,190,.9);
}

/* ── 1 · shell : no box, no shadow, no float ─────────────────────────── */
.card{
  background:transparent; border:0; border-radius:0;
  overflow:visible; position:relative;
  display:flex; flex-direction:column;
  will-change:auto;
  transition:none;
}
.card:hover{ box-shadow:none; transform:none; }

/* ── 2 · media ───────────────────────────────────────────────────────── */
.card .mz-media{ position:relative; display:block; }
.card .ph{
  position:relative; display:block; overflow:hidden;
  border-radius:var(--mz-radius);
  background:var(--cream);
  aspect-ratio:var(--mz-ratio);
}
.card .ph::before{
  content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(32,29,25,.06);
}
.card .ph img{
  width:100%; height:100%; display:block;
  aspect-ratio:auto;
  object-fit:cover; object-position:center;
  transition:opacity var(--mz-slow) var(--mz-ease), transform var(--mz-slow) var(--mz-ease);
}
.card .ph img.alt{ position:absolute; inset:0; opacity:0; }

/* ── 3 · wishlist ────────────────────────────────────────────────────── */
.card .fav{
  position:absolute; top:12px; right:12px; z-index:4;
  width:38px; height:38px; padding:0; border:0; border-radius:50%;
  display:grid; place-items:center; cursor:pointer; font-size:0;
  color:var(--ink);
  background:rgba(244,240,231,.86);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  box-shadow:0 1px 6px rgba(32,29,25,.10);
  transition:background var(--mz-fast) var(--mz-ease), color var(--mz-fast);
}
.card .fav svg{
  width:16px; height:16px; display:block; overflow:visible;
  fill:none; stroke:currentColor; stroke-width:1.4;
  stroke-linejoin:round;
  transition:fill var(--mz-norm) var(--mz-ease);
}
.card .fav:hover{ background:var(--ivory); }
.card .fav.on{ background:rgba(244,240,231,.94); color:var(--wine); animation:mzHeart .42s var(--mz-ease); }
.card .fav.on svg{ fill:var(--wine); }
@keyframes mzHeart{ 0%{transform:scale(1)} 45%{transform:scale(1.05)} 100%{transform:scale(1)} }

/* ── 4 · information block  (THE PADDING FIX) ────────────────────────── */
.card .info{
  padding:var(--mz-card-pt) var(--mz-card-px) var(--mz-card-pb);
  text-align:left;
  display:flex; flex-direction:column; flex:1 1 auto;
}

/* ── 5 · collection label + the Maenz notch ──────────────────────────── */
.card .cat-l{
  display:flex; align-items:center; gap:10px;
  margin:0 0 var(--mz-gap-label);
  font-family:var(--sans); font-size:10px; line-height:1;
  letter-spacing:.26em; text-transform:uppercase;
  color:var(--muted);
}
.card .cat-l .lbl{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.card .cat-l .mz-nick{
  position:relative; flex:0 0 auto;
  width:12px; height:1px; background:var(--gold);
  transition:width var(--mz-norm) var(--mz-ease);
}
.card .cat-l .mz-nick::after{
  content:""; position:absolute; right:0; top:-6px;
  width:1px; height:7px; background:var(--gold);
  transform:skewX(-30deg); transform-origin:bottom center;
}

/* ── 6 · product name ────────────────────────────────────────────────── */
.card .tl{ display:block; text-decoration:none; color:inherit; }
.card h3{
  font-family:var(--serif); font-weight:400;
  font-size:17px; line-height:1.32; letter-spacing:.004em;
  color:var(--ink);
  margin:0 0 var(--mz-gap-title);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:2.64em;
  transition:color var(--mz-fast);
}
.card .tl:hover h3{ color:var(--wine); }

/* ── 7 · price hierarchy ─────────────────────────────────────────────── */
.card .price{
  display:flex; align-items:baseline; flex-wrap:wrap; gap:9px;
  margin:0; font-family:var(--sans); font-size:14.5px; color:var(--ink);
}
.card .price .now{ font-size:15px; font-weight:500; letter-spacing:.015em; color:var(--ink); }
.card .price s{
  margin:0; font-size:12.5px; font-weight:400; color:var(--muted);
  text-decoration-thickness:1px; text-decoration-color:rgba(110,103,92,.55);
}
.card .price .crate{ margin-left:auto; font-size:11.5px; color:var(--muted); letter-spacing:.01em; }
.card .price .crate:empty{ display:none; }
.card .price .crate b{ font-weight:500; color:var(--ink); }

/* ── 8 · the Maenz reveal ────────────────────────────────────────────── */
.card .mz-reveal{
  display:inline-flex; align-items:center; gap:7px;
  margin-top:auto; padding-top:11px;
  font-family:var(--sans); font-size:9.5px;
  letter-spacing:.24em; text-transform:uppercase;
  color:var(--wine);
  opacity:0; transform:translateY(3px); pointer-events:none;
  transition:opacity var(--mz-norm) var(--mz-ease), transform var(--mz-norm) var(--mz-ease);
}
.card .mz-reveal i{ font-style:normal; }

/* ── 9 · quick add ───────────────────────────────────────────────────── */
.card .add{
  position:absolute; left:10px; right:10px; bottom:10px; z-index:3;
  width:auto; margin:0; border:0; border-radius:2px;
  background:var(--wine); color:var(--ivory);
  font-family:var(--sans); font-size:10px;
  letter-spacing:.22em; text-transform:uppercase;
  padding:11px 10px 10px; text-align:center; cursor:pointer;
  opacity:0; transform:translateY(6px); pointer-events:none;
  transition:opacity var(--mz-norm) var(--mz-ease), transform var(--mz-norm) var(--mz-ease), background var(--mz-fast);
}
/* mz-fix-overlap */ .card .info{padding-bottom:56px}
@media(max-width:700px){.card .info{padding-bottom:50px}}
.card .add::before, .card .add::after{ content:none; }
.card .add:hover{ background:var(--wine-d); color:var(--ivory); }

@media (hover:hover) and (pointer:fine){
  .card:hover .ph img{ transform:scale(1.02); }
  .card:hover .ph img.alt{ opacity:1; }
  .card:hover .cat-l .mz-nick, .card:focus-within .cat-l .mz-nick{ width:22px; }
  .card:hover .mz-reveal, .card:focus-within .mz-reveal{ opacity:1; transform:none; }
  .card:hover .add, .card:focus-within .add{ opacity:1; transform:none; pointer-events:auto; }
}

/* ── 10 · badges from real stock data ────────────────────────────────── */
.card.soldout .ph{ opacity:1; }
.card.soldout .ph img{ opacity:1; }
.card.soldout .ph::after{
  content:"SOLD OUT"; position:absolute; top:12px; left:12px; z-index:3;
  background:var(--ivory); color:var(--ink);
  font-family:var(--sans); font-size:8.5px; letter-spacing:.22em;
  padding:6px 11px; border-radius:2px; box-shadow:0 1px 4px rgba(32,29,25,.10);
}
.card.soldout .add{ display:none; }
.card .lowchip{
  position:absolute; top:12px; left:12px; z-index:3; margin:0;
  background:var(--ivory); color:var(--garnet);
  font-family:var(--sans); font-size:8.5px; font-weight:400;
  letter-spacing:.2em; text-transform:uppercase;
  padding:6px 11px; border-radius:2px; box-shadow:0 1px 4px rgba(32,29,25,.10);
}

/* ── 11 · focus visibility ───────────────────────────────────────────── */
.card .fav:focus-visible, .card .add:focus-visible, .card .tl:focus-visible, .card .ph:focus-visible{
  outline:2px solid var(--wine); outline-offset:3px; border-radius:2px;
}

/* ── 12 · grids ──────────────────────────────────────────────────────── */
.grid{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--mz-grid-gap); align-items:stretch; }
.grid.peek{ gap:var(--mz-grid-gap); scroll-padding-left:0; }
.grid.peek .card{ flex:0 0 calc((100% - 3 * var(--mz-grid-gap)) / 3.18); }

@media(max-width:1100px){
  .grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .grid.peek .card{ flex-basis:calc((100% - 2 * var(--mz-grid-gap)) / 2.35); }
}

/* ── 13 · mobile : designed, not shrunk ──────────────────────────────── */
@media(max-width:760px){
  :root{
    --mz-card-px:12px; --mz-card-pt:11px; --mz-card-pb:16px;
    --mz-gap-label:6px; --mz-gap-title:6px; --mz-grid-gap:14px;
  }
  .grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .grid.peek .card{ flex-basis:calc((100% - var(--mz-grid-gap)) / 1.9); }
  .card h3{ font-size:14.5px; }
  .card .cat-l{ font-size:9px; letter-spacing:.2em; gap:7px; }
  .card .price{ font-size:13.5px; gap:8px; }
  .card .price .now{ font-size:14px; }
  .card .price s{ font-size:11.5px; }
  .card .fav{ width:36px; height:36px; top:8px; right:8px; }
  .card .fav svg{ width:15px; height:15px; }
  .card .mz-reveal{ display:none; }
  /* tiny persistent add — never depends on hover */
  .card .add{
    left:auto; right:8px; bottom:8px;
    width:34px; height:34px; padding:0; border-radius:50%;
    background:rgba(244,240,231,.92); color:var(--wine);
    box-shadow:0 1px 6px rgba(32,29,25,.12);
    font-size:0; opacity:1; transform:none; pointer-events:auto;
  }
  .card .add::before{ content:"+"; font-size:19px; line-height:34px; letter-spacing:0; }
  .card .lowchip, .card.soldout .ph::after{ top:8px; left:8px; font-size:8px; padding:5px 9px; }
}

/* small phones: the collection house is dropped, the piece type stays legible */
@media(max-width:560px){
  .card .cat-l .hs, .card .cat-l .sp{ display:none; }
}

@media(max-width:400px){
  :root{ --mz-card-px:10px; --mz-grid-gap:11px; }
  .grid.peek .card{ flex-basis:calc((100% - var(--mz-grid-gap)) / 1.65); }
  .card h3{ font-size:13.5px; }
  .card .cat-l{ font-size:8.5px; letter-spacing:.16em; }
  .card .price .crate{ flex-basis:100%; margin:2px 0 0; }
}

/* ── 14 · reduced motion ─────────────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  .card, .card *{ transition:none !important; animation:none !important; }
}


/* ── MAENZRAAT · mobile hero repair ──────────────────────────────────
   The MA installation hero was absolutely positioned at every width, so
   on phones the headline and CTAs collided with the monogram and its
   markers. Below 820px the hero now flows: copy first, monogram after. */
@media(max-width:820px){
  #lm2{ height:auto; min-height:0; overflow:visible; }
  .lm2-wrap{ position:relative; inset:auto; display:flex; flex-direction:column; }
  .lm2-copy{ position:relative; order:1; left:auto; right:auto; top:auto; bottom:auto; padding:38px 6vw 0; max-width:none; }
  .lm2-svg{ position:relative; order:2; left:auto; right:auto; top:auto; bottom:auto; transform:none; display:block; margin:26px auto 44px; width:min(84vw,420px); height:auto; max-height:none; }
  .lm2-shadow{ display:none; }
}
@media(max-width:420px){
  .lm2-cta{ flex-wrap:wrap; gap:10px 14px; }
  .lm2-svg{ width:min(76vw,420px); }
  .mk{ max-width:46vw; }
}


/* ═══════════════════════════════════════════════════════════════
   MAENZRAAT · SPACING NORMALISATION + CAROUSEL ARROWS  (2026-09-10)
   ═══════════════════════════════════════════════════════════════ */
:root{ --mz-sec:60px; --mz-gap-title:4px; }

/* one consistent vertical rhythm for every section */
section{padding:var(--mz-sec) 0}
#lm2,#mzgal,#lookFx,#runway,.vband,section.news{padding:var(--mz-sec) 0}
.shead{margin-bottom:30px}
.gal-head{margin-bottom:24px}
.shop-head{padding:52px 0 20px}
.phero{padding:60px 22px}
.cathero{padding:52px 22px 28px}
.pdp{padding:32px 0 var(--mz-sec)}
.seotext{padding:30px 0}
footer{padding:52px 0 26px}

/* product card: price sits directly under the name */
.card h3{min-height:0;margin-bottom:var(--mz-gap-title)}
.card .mz-reveal{display:none}

/* newsletter: breathing room between field and button */
.news form{gap:10px}
.news input,.news button{border-radius:3px}
.news small{margin-top:16px}

/* peek carousel arrows */
.peek-wrap{position:relative}
.peek-arr{display:flex;position:absolute;top:38%;transform:translateY(-50%);z-index:6;
  width:38px;height:38px;border-radius:50%;border:1px solid var(--gold);
  background:rgba(244,240,231,.94);color:var(--wine);font-size:16px;line-height:1;
  cursor:pointer;align-items:center;justify-content:center;
  box-shadow:0 2px 10px rgba(0,0,0,.10);transition:background .25s,opacity .25s}
.peek-arr:hover{background:#fff}
.peek-arr:disabled{opacity:.25;cursor:default}
.peek-arr.l{left:-6px}
.peek-arr.r{right:-6px}

@media(max-width:700px){
  :root{ --mz-sec:40px; }
  .shead{margin-bottom:22px}
  .phero{padding:40px 20px}
  .cathero{padding:36px 20px 22px}
  .shop-head{padding:34px 0 16px}
  footer{padding:40px 0 22px}
  .news form{flex-direction:column;align-items:center}
  .news input,.news button{width:min(340px,84vw)}
  .peek-arr{display:none}
}

/* mz-fav-clear */
.card .fav{font-size:20px;line-height:1;color:#7A4A57;border:1px solid rgba(122,74,87,.28);transition:transform .2s}
.card .fav:hover{transform:scale(1.1)}
.card .fav.on{background:#7A4A57;color:#fff;border-color:#7A4A57}

/* phone: brand wordmark sits left, right after the menu button */
@media(max-width:900px){
  header .hrow{justify-content:flex-start}
  header .hrow a.logo{margin:0 0 0 10px}
  header .hrow .hicons{margin-left:auto}
}

/* MZ gold heart + add pill */
.card .fav.on, .card button.fav.on{color:#C8A96E !important}
@media(max-width:900px){
  .card .add{font-size:10px!important;width:auto!important;height:auto!important;min-height:0!important;border-radius:999px!important;padding:6px 10px!important;letter-spacing:.4px;line-height:1!important}
  .card .add::before,.card .add::after{content:none!important;display:none!important}
}

/* Add to bag pill sits ON the photo, bottom-right */
.card .ph{display:block;position:relative}
.card .add.onph{position:absolute!important;right:10px!important;bottom:10px!important;z-index:4;width:auto!important;height:auto!important;min-height:0!important;font-size:10px!important;letter-spacing:.4px;line-height:1!important;padding:6px 10px!important;border-radius:999px!important;background:rgba(247,243,234,.95)!important;color:#3B4536!important;border:1px solid rgba(200,169,110,.7)!important;box-shadow:0 2px 10px rgba(32,29,25,.16);display:inline-flex!important;align-items:center;text-decoration:none;margin:0!important}
.card .add.onph:hover{background:#3B4536!important;color:#EFDDB4!important}
.card .add.onph::before,.card .add.onph::after{content:none!important;display:none!important}

/*mzcardfix*/
.grid>.card,.wl2-grid>.card{height:100%}
.card .cat-l{white-space:nowrap;overflow:hidden;min-width:0}
.card .cat-l:not(:has(.lbl)){display:block;text-overflow:ellipsis;letter-spacing:.16em}
.card .info h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35;margin:0 0 6px}
.card .info .price{margin-top:auto}
