/* MOVERO — The Beauty of Longevity — shared design system */
:root{
  --black:#000000;--surface:#0a0a0b;--charcoal:#121214;--panel:rgba(16,15,14,.72);
  --line:rgba(201,133,63,.16);--hairline:rgba(242,236,225,.08);
  --copper:#c07a3a;--copper-bright:#d99a5b;--gold:#d4a24e;--champagne:#e8c9a0;
  --ivory:#f2ece1;--muted:#9c9285;--faint:#6b6459;
  --serif:"Fraunces",Georgia,serif;--sans:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;
  --metal:linear-gradient(115deg,#6e4218 0%,#c9853f 28%,#f0d9a8 50%,#c9853f 72%,#6e4218 100%);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black)}
body{background:transparent;color:var(--ivory);font-family:var(--sans);font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden}
#mv-stage{position:fixed;inset:0;z-index:-1;pointer-events:none}
::selection{background:var(--copper);color:var(--black)}
h1,h2,h3,.serif{font-family:var(--serif);font-weight:300}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(20px,5vw,64px)}
.label{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--copper-bright);font-weight:400}
.metal-text{background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s cubic-bezier(.2,.6,.2,1),transform .9s cubic-bezier(.2,.6,.2,1)}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}.d4{transition-delay:.48s}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}

/* ---------- NAV ---------- */
.mv-nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .5s,padding .4s,border-color .5s;padding:16px 0;border-bottom:1px solid transparent}
.mv-nav.scrolled{background:rgba(5,5,5,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--hairline);padding:10px 0}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:14px}
.brand .mono{height:44px;width:auto}
.brand .word{font-family:var(--sans);font-weight:400;font-size:17px;letter-spacing:.5em;color:var(--champagne);padding-left:.5em}
.nav-links{display:flex;gap:30px;align-items:center}
.nav-links>a{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);transition:color .3s;padding:8px 0}
.nav-links>a:hover,.nav-links>a.on{color:var(--champagne)}
.nav-actions{display:flex;align-items:center;gap:18px}
.cart-btn{white-space:nowrap;background:none;border:1px solid var(--line);color:var(--champagne);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;padding:10px 18px;cursor:pointer;font-family:var(--sans);transition:border-color .3s,background .3s}
.cart-btn:hover{border-color:var(--copper);background:rgba(192,122,58,.08)}
.burger{display:none;background:none;border:none;cursor:pointer;padding:8px}
.burger span{display:block;width:22px;height:1px;background:var(--champagne);margin:6px 0;transition:.3s}
@media(max-width:960px){
  .nav-links{position:fixed;inset:0;background:rgba(5,5,5,.97);flex-direction:column;justify-content:center;gap:28px;transform:translateX(100%);transition:transform .45s cubic-bezier(.65,0,.35,1)}
  .nav-links.open{transform:none}
  .nav-links>a{font-size:14px}
  .burger{display:block;z-index:101}
}

/* ---------- LOGO LOCKUP ---------- */
.lockup{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}
.lockup::before{content:"";position:absolute;top:-10%;left:50%;transform:translateX(-50%);width:340px;height:340px;background:radial-gradient(circle,rgba(212,162,78,.16),rgba(192,122,58,.05) 55%,transparent 75%);filter:blur(30px);animation:breathe 7s ease-in-out infinite;pointer-events:none}
@keyframes breathe{0%,100%{opacity:.7;transform:translateX(-50%) scale(1)}50%{opacity:1;transform:translateX(-50%) scale(1.12)}}
.lock-mark{height:120px;width:auto;position:relative;filter:drop-shadow(0 6px 24px rgba(212,162,78,.35))}
.lock-img{width:min(340px,72vw);height:auto;position:relative;filter:drop-shadow(0 8px 30px rgba(212,162,78,.28))}
.lock-word{margin-top:18px;font-family:var(--sans);font-weight:300;font-size:clamp(26px,3.4vw,40px);letter-spacing:.52em;padding-left:.52em;background:var(--metal);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:metalpan 9s linear infinite}
@keyframes metalpan{0%{background-position:0% 50%}100%{background-position:220% 50%}}
.lock-rule{display:flex;align-items:center;gap:10px;margin-top:14px;width:min(300px,64%)}
.lock-rule span{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.lock-rule span:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
.lock-rule i{width:5px;height:5px;border-radius:50%;background:var(--gold)}
.lock-slogan{margin-top:13px;font-size:clamp(10px,1.2vw,13px);letter-spacing:.44em;padding-left:.44em;color:var(--gold);font-weight:300}
.lockup.small .lock-mark{height:74px}
.lockup.small .lock-word{font-size:22px}
@media(prefers-reduced-motion:reduce){.lock-word{animation:none}.lockup::before{animation:none}}

/* ---------- BUTTONS ---------- */
.btn{display:inline-block;font-size:11px;letter-spacing:.28em;text-transform:uppercase;padding:16px 34px;border:1px solid var(--copper);color:var(--champagne);position:relative;overflow:hidden;transition:color .4s;background:transparent;cursor:pointer;font-family:var(--sans);font-weight:400;text-align:center}
.btn::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,var(--copper),var(--copper-bright));transform:translateY(101%);transition:transform .45s cubic-bezier(.65,0,.35,1);z-index:-1}
.btn:hover{color:var(--black)}.btn:hover::before{transform:translateY(0)}
.btn.ghost{border-color:var(--hairline);color:var(--muted)}
.btn.ghost:hover{color:var(--black);border-color:var(--copper)}
.btn.solid{background:linear-gradient(120deg,var(--copper),var(--copper-bright));color:var(--black);border:none}
.btn.solid::before{display:none}
.btn.solid:hover{filter:brightness(1.08)}

/* ---------- LAYOUT ---------- */
section{position:relative}
.section-pad{padding:clamp(80px,11vh,140px) 0}
.center{text-align:center}
h1.display{font-size:clamp(38px,5.4vw,80px);line-height:1.05}
h2{font-size:clamp(28px,3.4vw,50px);line-height:1.15}
h2 em,h1 em{font-style:italic;color:var(--champagne)}
.lede{margin:22px auto 0;max-width:640px;color:var(--muted);font-size:15px;line-height:1.9;letter-spacing:.02em}
.glass{background:var(--panel);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);border:1px solid var(--hairline)}
.hairline-top{border-top:1px solid var(--hairline)}

/* page hero (interior pages) */
.page-hero{padding:170px 0 70px;text-align:center}
.page-hero .label{display:block;margin-bottom:22px}
.crumb{margin-top:26px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint)}
.crumb a:hover{color:var(--champagne)}

/* ---------- PRODUCT CARDS ---------- */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
@media(max-width:1020px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}
.p-card{background:var(--panel);backdrop-filter:blur(7px);border:1px solid var(--hairline);padding:36px 24px 28px;text-align:center;position:relative;transition:transform .5s cubic-bezier(.2,.6,.2,1),border-color .5s;overflow:hidden;display:flex;flex-direction:column}
.p-card::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 55% at 50% 0%,rgba(192,122,58,.12),transparent 70%);opacity:0;transition:opacity .5s;pointer-events:none}
.p-card:hover{transform:translateY(-8px);border-color:var(--line)}
.p-card:hover::after{opacity:1}
.p-badge{position:absolute;top:14px;left:14px;font-size:9px;letter-spacing:.26em;text-transform:uppercase;color:var(--copper-bright);border:1px solid var(--line);padding:5px 10px;z-index:2;background:rgba(5,5,5,.5)}
.p-vis{height:190px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:26px;position:relative}
.p-vis a{height:100%;display:flex;align-items:flex-end;justify-content:center}
.p-vis svg,.p-vis img{height:100%;width:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.55))}
.p-num{font-size:10px;letter-spacing:.3em;color:var(--copper);margin-bottom:9px;display:block}
.p-card h3{font-size:18px;letter-spacing:.06em;margin-bottom:9px}
.p-card h3 a:hover{color:var(--champagne)}
.p-card .p-desc{font-size:12.5px;color:var(--muted);line-height:1.75;flex:1}
.p-price{margin:16px 0 14px;font-size:14px;color:var(--champagne);letter-spacing:.08em}
.p-price s{color:var(--faint);margin-right:10px;font-size:12px}
.p-card .btn{padding:13px 0;width:100%}

/* ---------- CART DRAWER ---------- */
.cart-veil{position:fixed;inset:0;background:rgba(0,0,0,.6);opacity:0;pointer-events:none;transition:opacity .4s;z-index:198}
.cart-veil.open{opacity:1;pointer-events:auto}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(430px,92vw);background:#0c0b0a;border-left:1px solid var(--line);z-index:199;transform:translateX(102%);transition:transform .5s cubic-bezier(.65,0,.35,1);display:flex;flex-direction:column}
.cart-drawer.open{transform:none}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:24px 26px;border-bottom:1px solid var(--hairline)}
.cart-head h3{font-size:15px;letter-spacing:.3em;text-transform:uppercase;font-family:var(--sans);font-weight:400;color:var(--champagne)}
.cart-x{background:none;border:none;color:var(--muted);font-size:22px;cursor:pointer;line-height:1}
.cart-body{flex:1;overflow-y:auto;padding:10px 26px}
.cart-item{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--hairline)}
.cart-item .ci-vis{width:54px;height:78px;flex:none;display:flex;align-items:center;justify-content:center}
.cart-item .ci-vis img{height:100%;width:auto;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.55))}
.ci-name{font-size:13px;letter-spacing:.06em;color:var(--ivory)}
.ci-meta{font-size:11px;color:var(--faint);margin-top:4px}
.ci-qty{display:flex;align-items:center;gap:10px;margin-top:10px}
.ci-qty button{background:none;border:1px solid var(--hairline);color:var(--muted);width:22px;height:22px;cursor:pointer;font-size:12px}
.ci-qty span{font-size:12px;color:var(--champagne)}
.ci-price{margin-left:auto;font-size:13px;color:var(--champagne);white-space:nowrap}
.cart-empty{padding:50px 0;text-align:center;color:var(--faint);font-size:13px;letter-spacing:.06em;line-height:2}
.cart-foot{padding:22px 26px 28px;border-top:1px solid var(--hairline)}
.cart-total{display:flex;justify-content:space-between;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.cart-total b{color:var(--champagne);font-weight:500}
.cart-note{margin-top:12px;font-size:10.5px;color:var(--faint);line-height:1.7;letter-spacing:.04em;text-align:center}

/* ---------- ACCORDION ---------- */
.acc{border-top:1px solid var(--hairline)}
.acc-item{border-bottom:1px solid var(--hairline)}
.acc-head{width:100%;background:none;border:none;color:var(--ivory);font-family:var(--serif);font-size:clamp(16px,1.8vw,20px);text-align:left;padding:24px 8px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;gap:16px}
.acc-head .idx{font-family:var(--sans);font-size:10px;letter-spacing:.3em;color:var(--copper);margin-right:14px}
.acc-head .plus{font-family:var(--sans);color:var(--copper);font-size:18px;font-weight:300;transition:transform .4s;flex:none}
.acc-item.open .plus{transform:rotate(45deg)}
.acc-body{max-height:0;overflow:hidden;transition:max-height .55s cubic-bezier(.65,0,.35,1)}
.acc-body p{padding:0 8px 28px;color:var(--muted);font-size:13.5px;line-height:1.9;max-width:760px}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--hairline);padding:70px 0 40px;background:rgba(5,5,5,.7);backdrop-filter:blur(7px)}
.foot-grid{display:flex;justify-content:space-between;align-items:flex-start;gap:44px;flex-wrap:wrap}
.foot-brand img{height:64px;margin-bottom:18px}
.foot-brand p{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint)}
.foot-links{display:flex;gap:56px;flex-wrap:wrap}
.foot-col .h{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--copper);margin-bottom:16px}
.foot-col a{display:block;font-size:12px;color:var(--muted);margin-bottom:11px;letter-spacing:.05em;transition:color .3s}
.foot-col a:hover{color:var(--champagne)}
.foot-base{margin-top:56px;padding-top:26px;border-top:1px solid var(--hairline);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:10.5px;color:var(--faint);letter-spacing:.08em;line-height:1.7}

/* ---------- WAITLIST ---------- */
.wait-form{margin:42px auto 0;max-width:520px;display:flex;border:1px solid var(--line);background:rgba(5,5,5,.6)}
.wait-form input{flex:1;background:transparent;border:none;outline:none;color:var(--ivory);font-family:var(--sans);font-size:13px;letter-spacing:.05em;padding:18px 22px;min-width:0}
.wait-form input::placeholder{color:var(--faint)}
.wait-form button{border:none;border-left:1px solid var(--line)}
.wait-fine{margin-top:16px;font-size:10.5px;color:var(--faint);letter-spacing:.06em}
.form-ok{display:none;margin:42px auto 0;max-width:520px;border:1px solid var(--copper);padding:26px;color:var(--champagne);font-size:13px;letter-spacing:.06em;line-height:1.8}

/* ---------- MISC ---------- */
.proof{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);background:rgba(10,10,11,.65);backdrop-filter:blur(7px)}
.proof-inner{display:grid;grid-template-columns:repeat(4,1fr)}
.proof-item{padding:32px 18px;text-align:center;position:relative}
.proof-item+.proof-item::before{content:"";position:absolute;left:0;top:28%;height:44%;width:1px;background:var(--hairline)}
.proof-item .n{font-family:var(--serif);font-size:25px;color:var(--champagne);display:block;margin-bottom:7px}
.proof-item .t{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint)}
@media(max-width:760px){.proof-inner{grid-template-columns:repeat(2,1fr)}.proof-item:nth-child(3)::before{display:none}}
.ing-chip{display:inline-block;border:1px solid var(--line);padding:10px 18px;margin:5px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--champagne);cursor:pointer;transition:background .3s,border-color .3s;background:rgba(5,5,5,.4)}
.ing-chip:hover,.ing-chip.on{background:rgba(192,122,58,.12);border-color:var(--copper)}
.ing-panel{margin-top:26px;padding:30px;display:none}
.ing-panel.show{display:block}
.ing-panel h4{font-family:var(--serif);font-size:20px;color:var(--champagne);margin-bottom:12px}
.ing-panel p{color:var(--muted);font-size:13.5px;line-height:1.9;max-width:720px}
.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,80px);background:#0c0b0a;border:1px solid var(--copper);color:var(--champagne);padding:14px 26px;font-size:12px;letter-spacing:.12em;z-index:300;transition:transform .45s cubic-bezier(.2,.6,.2,1);text-transform:uppercase}
.toast.show{transform:translate(-50%,0)}

/* ---------- PRODUCT SHOWCASE v4 ---------- */
:root{
  --ease-glide:cubic-bezier(.19,1,.22,1);
  --dur-glide:1.25s;   /* transforms — patient, gliding */
  --dur-slow:.8s;      /* reveals, borders */
  --dur-micro:.3s;     /* colour + opacity */
  --dur-hover:.15s;    /* hover ceiling — never displacement */
}
.showcase{position:relative;width:100%;flex:1;min-height:56vh;margin-top:6px;display:flex;align-items:flex-end;justify-content:center;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.sc-glow{position:absolute;left:0;right:0;bottom:0;height:44vh;pointer-events:none;
  background:radial-gradient(ellipse 46% 60% at 50% 100%, rgba(var(--pc,63,167,184),.16), transparent 70%),linear-gradient(to top, rgba(8,14,18,.62), transparent 60%);
  transition:background 1s linear,opacity var(--dur-slow) ease}
.sc-track{position:relative;width:100%;height:100%;min-height:52vh}

/* JS owns the transform every frame — no CSS transition to fight it */
.sc-item{position:absolute;left:50%;bottom:6vh;width:clamp(96px,9.6vw,132px);transform-origin:50% 100%;
  cursor:pointer;-webkit-tap-highlight-color:transparent;backface-visibility:hidden}
.sc-track.live .sc-item{will-change:transform,opacity}
.sc-track.returning .sc-item{transition:transform var(--dur-glide) var(--ease-glide),opacity var(--dur-slow) ease}

.sc-duo{position:relative;width:179%;left:0;pointer-events:none}
.sc-duo::before{content:"";display:block;padding-top:var(--ar,140%)}
.sc-duo img{position:absolute;top:0;left:0;width:100%;height:auto;display:block}
/* one continuous scene: open-neck bottle underneath, the real cap covers the neck */
.sc-duo .lcap{z-index:4;transform-origin:50% 28%;transition:transform 1.9s var(--ease-glide),opacity .6s ease 1.1s}
.sc-duo .lb{z-index:2}
.sc-duo .ld{z-index:1;opacity:0;transform:translate(-12%,-14%) rotate(-13deg);
  transition:transform 1.7s var(--ease-glide) .35s,opacity .6s ease .85s}
.sc-item.open-a .lcap{transform:translate(56%,-2%) rotate(21deg);opacity:0}
.sc-item.open-a .ld{opacity:1;transform:none}
.sc-item.front .ld{z-index:5}
.sc-item.undock .lcap{animation:unscrew .5s var(--ease-glide)}
@keyframes unscrew{0%{rotate:0deg}34%{rotate:-2.4deg}72%{rotate:1.8deg}100%{rotate:0deg}}

/* real footage: WebGL luma-key canvas — genuinely transparent, no blend modes */
.sc-vwrap{position:relative;width:242%;left:50%;transform:translateX(-32%);pointer-events:none}
.sc-vwrap .v-gl,.sc-vwrap .v-still{width:100%;height:auto;display:block}
.sc-vwrap .v-still{position:absolute;inset:0;transition:opacity .35s ease}
.sc-vwrap .v-still.gone{opacity:0}

/* open state — CSS takes the transform back for the one glide into place */
.showcase.open .sc-item{transition:opacity var(--dur-slow) ease}
.showcase.open .sc-item:not(.active){opacity:0!important;pointer-events:none!important}
.showcase.open .sc-item.active{transform:translate3d(calc(-50% - 9vw),0,0) scale(1.2)!important;
  transition:transform var(--dur-glide) var(--ease-glide),opacity var(--dur-slow) ease}
.showcase.open .sc-glow{opacity:.35}

.sc-arrow{position:absolute;top:42%;z-index:30;background:rgba(5,5,5,.5);border:1px solid var(--line);color:var(--champagne);
  width:46px;height:46px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;
  transition:border-color var(--dur-hover) ease-out,background-color var(--dur-hover) ease-out,opacity var(--dur-slow) ease}
.sc-arrow:hover{border-color:var(--copper);background:rgba(192,122,58,.15)}
.sc-prev{left:max(18px,7vw)}.sc-next{right:max(18px,7vw)}
.showcase.open .sc-arrow{opacity:0;pointer-events:none}

.sc-caption{position:absolute;left:0;right:0;bottom:1.4vh;z-index:22;text-align:center;pointer-events:none;transition:opacity var(--dur-micro) ease}
.sc-caption .n{font-family:var(--serif);font-size:clamp(17px,1.9vw,24px);color:var(--ivory);letter-spacing:.05em}
.sc-caption .s{margin-top:4px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--copper-bright)}
.sc-caption .hint{margin-top:7px;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:rgba(242,236,225,.3)}
.showcase.open .sc-caption{opacity:0}
.sc-serum{position:absolute;inset:0;z-index:24;pointer-events:none}

/* side description: connector line + panel */
.sc-side{position:absolute;z-index:26;top:50%;right:max(4vw,26px);transform:translateY(-46%);width:min(360px,42vw);
  opacity:0;pointer-events:none;
  transition:opacity var(--dur-slow) ease .1s,transform var(--dur-slow) var(--ease-glide) .1s}
.sc-side::before{content:"";position:absolute;top:38px;right:100%;width:0;height:1px;
  background:linear-gradient(90deg,rgba(var(--pc),0),rgba(var(--pc),.9));transition:width var(--dur-slow) var(--ease-glide)}
.showcase.told .sc-side{opacity:1;pointer-events:auto;transform:translateY(-50%)}
.showcase.told .sc-side::before{width:min(9vw,110px)}
.sc-side .glass{padding:30px 30px 26px;border-left:2px solid rgba(var(--pc),.55)}
.sc-side .sd-num{font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--copper-bright)}
.sc-side .sd-name{font-family:var(--serif);font-size:clamp(21px,2.2vw,28px);margin:10px 0 2px;color:var(--ivory);letter-spacing:.02em}
.sc-side .sd-sub{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:rgba(var(--pc),.95);margin-bottom:14px}
.sc-side .sd-ben{color:var(--muted);font-size:13px;line-height:1.85}
.sc-side .sd-row{margin-top:20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sc-side .sd-price{font-size:16px;color:var(--champagne);letter-spacing:.05em;margin-right:auto;font-variant-numeric:tabular-nums}
.sc-side .btn{padding:12px 22px;font-size:10px}

@media(max-width:820px){
 /* condense the tall-phone stack: shorter hero pulls bottles up under the copy */
 .hero{min-height:86svh!important;padding-top:86px!important}
 .lede{margin-top:14px!important}
 .sc-item{width:clamp(84px,21vw,106px);bottom:8vh}
 /* lift the open bottle clear of the panel instead of letting them overlap */
 /* open: the bottle rides up just under the nav, ritual above, panel below */
 .showcase.open .sc-item.active{transform:translate3d(-50%,-27vh,0) scale(1.05)!important}
 .sc-side{top:auto;bottom:1.5vh;right:3vw;left:3vw;width:auto;transform:translateY(14px)}
 .showcase.told .sc-side{transform:none}
 .sc-side::before{display:none}
 .sc-side .glass{padding:18px 18px 16px;max-height:37vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
 .sc-side .sd-num{font-size:8.5px;letter-spacing:.22em}
 .sc-side .sd-name{font-size:19px;margin:7px 0 2px}
 .sc-side .sd-sub{font-size:9px;margin-bottom:9px}
 .sc-side .sd-ben{font-size:11.5px;line-height:1.7}
 .sc-side .sd-row{margin-top:13px;gap:9px}
 .sc-side .sd-price{font-size:14px}
 .sc-side .btn{padding:10px 16px;font-size:9px}
 .sc-arrow{top:auto;bottom:14vh}
 /* clear the stage on a phone: the ritual owns the screen */
 body.sc-focus .hero .lockup,
 body.sc-focus .hero .lede{opacity:0;transition:opacity var(--dur-slow) ease;pointer-events:none}

}
@media(prefers-reduced-motion:reduce){.sc-duo .ld,.sc-duo .lcap,.sc-item{transition:none}}

/* ---------- OPENING RITUAL (master-render sprites) ---------- */
/* the host keeps its own box — the carousel item sets it, and that box is the
   click target. Only the artwork itself is inert. */
.mv-stage{overflow:visible}
.mv-stage img{position:absolute;height:auto;display:block;left:50%;bottom:0;max-width:none;
  user-select:none;-webkit-user-drag:none;pointer-events:none}
.mv-stage .mv-pip{z-index:1;will-change:transform}          /* behind the bottle */
.mv-stage .mv-bottle{z-index:3}
.mv-stage .mv-cap{z-index:4;will-change:transform}          /* in front, hides the neck */
.mv-stage .mv-closed{z-index:5;will-change:opacity}          /* the sealed master render */
.mv-stage .mv-glow{position:absolute;left:50%;bottom:0;z-index:2;opacity:0;pointer-events:none;
  border-radius:50%;filter:blur(15px);
  background:radial-gradient(closest-side, rgba(var(--g),.55), rgba(var(--g),.15) 55%, rgba(var(--g),0) 100%);
  will-change:transform,opacity}

/* ---------- ACCOUNTS + ADMIN ---------- */
.nav-acct{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);transition:color var(--dur-hover) ease-out;white-space:nowrap}
.nav-acct:hover{color:var(--champagne)}
.nav-admin{color:var(--copper-bright)}
@media(max-width:600px){.nav-acct{display:none}}

.fld{display:flex;flex-direction:column;gap:8px}
.fld>span{font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--copper-bright)}
.fld input,.fld select{background:rgba(0,0,0,.45);border:1px solid var(--hairline);color:var(--ivory);
  font:300 14px var(--sans);padding:13px 14px;transition:border-color var(--dur-micro) ease}
.fld input:focus,.fld select:focus{outline:none;border-color:var(--copper)}
.fine{font-size:12px;line-height:1.75;color:var(--muted)}
.chk{display:flex;gap:11px;align-items:flex-start;color:var(--muted);font-size:13px;line-height:1.6;cursor:pointer}
.chk input{margin-top:3px;accent-color:var(--copper)}

.acct-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:30px}
.acct-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:760px){.acct-grid{grid-template-columns:1fr}}
.acct-card{padding:28px}
.ah{font-family:var(--serif);font-size:19px;color:var(--ivory);margin-bottom:18px;font-weight:300}
.acct-cart .ar{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--hairline)}
.acct-cart .ar:last-child{border-bottom:none}
.acct-cart .ar img{width:34px;height:50px;object-fit:contain;flex:none}
.acct-cart .ar div{flex:1;min-width:0}
.acct-cart .ar b{display:block;font-weight:400;font-size:13.5px;color:var(--ivory)}
.acct-cart .ar span{display:block;font-size:11px;letter-spacing:.1em;color:var(--faint);margin-top:3px}
.acct-cart .ar em{font-style:normal;font-size:14px;color:var(--champagne)}
.acct-cart .tot b{color:var(--champagne)}
.prof-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.prof-grid .span2{grid-column:1/-1}
@media(max-width:640px){.prof-grid{grid-template-columns:1fr}}

.adm-stats{display:flex;gap:30px}
.adm-stats div{text-align:right}
.adm-stats b{display:block;font:300 25px var(--serif);color:var(--champagne)}
.adm-stats span{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint)}
.adm-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.adm-tabs button{background:none;border:1px solid var(--hairline);color:var(--muted);font:400 10px var(--sans);
  letter-spacing:.2em;text-transform:uppercase;padding:11px 20px;cursor:pointer;transition:all var(--dur-hover) ease-out}
.adm-tabs button.on{border-color:var(--copper);color:var(--champagne);background:rgba(192,122,58,.1)}
.adm-search{width:100%;background:rgba(0,0,0,.45);border:1px solid var(--hairline);color:var(--ivory);
  font:300 14px var(--sans);padding:13px 16px;margin-bottom:18px}
.adm-search:focus{outline:none;border-color:var(--copper)}
.adm-wrap{overflow-x:auto;border:1px solid var(--hairline)}
.adm-table{width:100%;border-collapse:collapse;min-width:720px}
.adm-table th{text-align:left;font:400 9.5px var(--sans);letter-spacing:.2em;text-transform:uppercase;
  color:var(--copper-bright);padding:15px 16px;border-bottom:1px solid var(--hairline);white-space:nowrap}
.adm-table td{padding:15px 16px;border-bottom:1px solid rgba(242,236,225,.05);font-size:13px;color:var(--muted);vertical-align:top}
.adm-table tbody tr:hover{background:rgba(192,122,58,.05)}
.adm-table td b{display:block;color:var(--ivory);font-weight:400}
.adm-table td span{display:block;font-size:11px;color:var(--faint);margin-top:3px}
.pill{display:inline-block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;border:1px solid var(--hairline)}
.pill.paid{border-color:rgba(76,175,125,.5);color:#7fd0a5}
.pill.pending{border-color:var(--line);color:var(--copper-bright)}

/* ---------------------------------------------------- vault (private catalogue) */
.vault-grid{display:grid;gap:26px;grid-template-columns:repeat(auto-fill,minmax(248px,1fr))}
.vault-card{border:1px solid rgba(232,201,160,.14);background:rgba(255,255,255,.02);overflow:hidden;display:flex;flex-direction:column}
.vc-img{position:relative;aspect-ratio:4/5;background:radial-gradient(120% 90% at 50% 20%,rgba(232,201,160,.07),transparent 70%)}
.vc-img img{width:100%;height:100%;object-fit:contain;display:block;padding:14px}
.vc-ph{width:100%;height:100%}
.vc-out{position:absolute;top:12px;right:12px;font:400 9px/1 Helvetica,Arial,sans-serif;letter-spacing:.26em;
  text-transform:uppercase;color:#050505;background:var(--copper-bright);padding:7px 11px}
.vc-body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:7px;flex:1}
.vc-sku{font:400 10px/1 Helvetica,Arial,sans-serif;letter-spacing:.22em;color:var(--copper-bright)}
.vc-name{font:300 17px/1.3 Fraunces,Georgia,serif;margin:0}
.vc-sub{font:400 12px/1.5 Helvetica,Arial,sans-serif;color:#9c9285;margin:0}
.vc-desc{font:300 13px/1.65 Georgia,serif;color:#9c9285;margin:0}
.vc-foot{margin-top:auto;padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.vc-price{font:400 14px Helvetica,Arial,sans-serif;color:#f2ece1}
.vc-foot .btn[disabled]{opacity:.42;cursor:not-allowed}

/* ------------------------------------------------- purchase order (printable) */
.po-sheet{position:fixed;inset:0;z-index:400;background:rgba(3,3,3,.86);overflow:auto;padding:40px 16px;
  backdrop-filter:blur(6px)}
.po-page{max-width:660px;margin:0 auto;background:#fff;color:#111;padding:44px 46px;
  font:400 13px/1.6 Helvetica,Arial,sans-serif}
.po-head{display:flex;justify-content:space-between;align-items:flex-start;
  border-bottom:2px solid #111;padding-bottom:14px;margin-bottom:26px}
.po-t{font:700 15px/1 Helvetica,Arial,sans-serif;letter-spacing:.2em}
.po-n{font:400 22px/1.2 Helvetica,Arial,sans-serif;margin-top:8px}
.po-date{font:400 12px Helvetica,Arial,sans-serif;color:#555}
.po-addr{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:30px}
.po-lbl{font:700 9px/1 Helvetica,Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;
  color:#666;margin-bottom:9px}
.po-block{font:400 13px/1.55 Helvetica,Arial,sans-serif}
.po-tbl{width:100%;border-collapse:collapse;margin-bottom:22px}
.po-tbl th{text-align:left;font:700 9px/1 Helvetica,Arial,sans-serif;letter-spacing:.2em;
  text-transform:uppercase;color:#666;border-bottom:1px solid #111;padding:0 0 9px}
.po-tbl td{padding:11px 0;border-bottom:1px solid #ddd;font:400 13px Helvetica,Arial,sans-serif}
.po-tbl .r{text-align:right}
.po-note{font:400 12px Helvetica,Arial,sans-serif;color:#333;margin-bottom:18px}
.po-foot{font:400 11px/1.6 Helvetica,Arial,sans-serif;color:#666;border-top:1px solid #ddd;padding-top:16px}
.po-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:26px}
.adm-table .btn.sm{padding:7px 14px;font-size:10px}

@media print{
  body>*{display:none!important}
  .po-sheet{display:block!important;position:static;background:#fff;padding:0;backdrop-filter:none}
  .po-page{max-width:none;padding:0;box-shadow:none}
  .po-actions{display:none!important}
}
