body{margin:0;background:#141010}
a{color:#E3B9A6}a:hover{color:#F3EBE4}
.vf label{display:flex;flex-direction:column;gap:8px;font:500 12px/1.2 Jost,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#B9AA9F}
.vf input,.vf select,.vf textarea{width:100%;box-sizing:border-box;background:#141010;border:1px solid #4A3D36;color:#F3EBE4;font:400 16px/1.4 Jost,sans-serif;letter-spacing:0;text-transform:none;padding:12px 14px;border-radius:2px;min-height:48px}
.vf textarea{min-height:84px;resize:vertical}
.vf input::placeholder,.vf textarea::placeholder{color:#8C7D73}
.vf input:focus,.vf select:focus,.vf textarea:focus{outline:2px solid #E3B9A6;outline-offset:1px;border-color:#E3B9A6}
.vf select option{background:#1E1816;color:#F3EBE4}
button{font-family:Jost,sans-serif;cursor:pointer}
button:disabled{opacity:.4;cursor:not-allowed}
button:focus-visible,a:focus-visible{outline:2px solid #E3B9A6;outline-offset:3px}
.chip{min-height:48px;padding:0 18px;border:1px solid #4A3D36;background:transparent;color:#F3EBE4;font:500 16px Jost,sans-serif;border-radius:2px}
.chip:hover{border-color:#E3B9A6}
.chip.on{background:#E3B9A6;border-color:#E3B9A6;color:#141010}
.opt{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;width:100%;min-height:56px;padding:14px 16px;border:1px solid #4A3D36;background:transparent;color:#F3EBE4;border-radius:2px}
.opt:hover{border-color:#E3B9A6}
.opt.on{border-color:#E3B9A6;background:#2A211D;box-shadow:inset 3px 0 0 #E3B9A6}
.seg{flex:1 1 0;height:6px;background:#3D322C}
.seg.on{background:#E3B9A6}
.tier{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:24px;background:#1E1816;border-top:1px solid #8A6A58}
.tier.t1{min-height:180px}.tier.t2{min-height:220px}.tier.t3{min-height:260px}.tier.t4{min-height:300px;background:#2A211D;border-top-color:#E3B9A6}
.mini{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid #3D322C;border-radius:2px;font-family:Jost,sans-serif}
.mini.on{border-color:#E3B9A6;background:#2A211D}
.mini.met .mamt{color:#E3B9A6}
.cta{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;background:#E3B9A6;color:#141010;border:0;border-radius:999px;font:600 13px Jost,sans-serif;letter-spacing:.16em;text-transform:uppercase;text-decoration:none}
.cta:hover{background:#F3EBE4;color:#141010}
.ghost{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;background:transparent;color:#F3EBE4;border:1px solid #8A6A58;border-radius:999px;font:500 13px Jost,sans-serif;letter-spacing:.16em;text-transform:uppercase;text-decoration:none}
.ghost:hover{border-color:#E3B9A6;color:#E3B9A6}
.link{background:none;border:0;padding:8px 0;min-height:44px;color:#B9AA9F;font:500 13px Jost,sans-serif;text-decoration:underline;text-underline-offset:3px}
.link:hover{color:#E3B9A6}
.cta-d{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;background:#141010;color:#F3EBE4;border:0;border-radius:999px;font:600 13px Jost,sans-serif;letter-spacing:.16em;text-transform:uppercase;text-decoration:none}
.cta-d:hover{background:#8A5A47;color:#FFFFFF}
.ghost-d{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;background:transparent;color:#141010;border:1px solid #141010;border-radius:999px;font:500 13px Jost,sans-serif;letter-spacing:.16em;text-transform:uppercase;text-decoration:none}
.ghost-d:hover{background:#141010;color:#F3EBE4}
.pill{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px 28px;padding:10px 10px 10px 28px;border-radius:999px;background:rgba(20,16,16,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(20,16,16,.18)}
.nl{color:#E2D6CD;text-decoration:none;padding:14px 0;font:500 12px Jost,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.nl:hover{color:#E3B9A6}
.bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hscrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(243,235,228,.94) 0%,rgba(243,235,228,.82) 34%,rgba(243,235,228,0) 64%)}
.rscrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(243,235,228,.96) 0%,rgba(243,235,228,.9) 46%,rgba(243,235,228,.2) 78%)}
.glass{background:rgba(255,255,255,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.85)}
.vcol{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;align-items:center;align-self:center}
@media (max-width:760px){.nl{display:none}.pill{padding-left:20px}.hscrim,.rscrim{background:rgba(243,235,228,.86)}.vcol{align-self:stretch}}
.vault{perspective:1600px}
.vault .vdoor{transform-origin:97% 50%;transform:rotateY(0deg);transition:transform .5s ease;filter:drop-shadow(0 20px 40px rgba(0,0,0,.55))}
.vault.open .vdoor{transform:rotateY(112deg);transition:transform 1.5s cubic-bezier(.55,.05,.25,1) 1.1s}
.vault .vspin{transform-box:view-box;transform-origin:200px 200px;transform:rotate(0deg);transition:transform .4s ease}
.vault.open .vspin{transform:rotate(270deg);transition:transform 1.1s cubic-bezier(.6,0,.3,1) .1s}
.vault .vin{opacity:0;transform:scale(.94);transition:opacity .3s ease,transform .3s ease}
.vault.open .vin{opacity:1;transform:scale(1);transition:opacity .8s ease 1.9s,transform .8s ease 1.9s}
@media (prefers-reduced-motion: reduce){.vault .vdoor,.vault .vspin,.vault .vin,.vault.open .vdoor,.vault.open .vspin,.vault.open .vin{transition:none}}

/* ---------- Shop + drops components (vanilla build) ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
[hidden]{display:none !important}
.panel{background:#1E1816;padding:32px;display:flex;flex-direction:column;gap:20px;border-radius:20px}
.step{display:flex;align-items:baseline;gap:14px}
.step-n{font-family:'Bodoni Moda',serif;font-size:24px;color:#E3B9A6}
.step h3{margin:0;font:500 22px Jost,sans-serif;color:#F3EBE4}
.hint{margin:0;font-size:14px;line-height:1.5;color:#B9AA9F}
.fine{margin:0;font-size:13px;line-height:1.5;color:#8C7D73}
.err{margin:0;font-size:15px;color:#F0B4A4}
.lbl{font:500 12px Jost,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#B9AA9F}
.kicker-sm{font:500 12px Jost,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#E3B9A6}
.body-m{margin:0;font-size:16px;line-height:1.5;color:#B9AA9F}
.body-m strong{color:#E9C7B5;font-weight:500}
.body-l{margin:0;font-size:18px;line-height:1.6;color:#B9AA9F}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 16px}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.opt-t{font:500 16px Jost,sans-serif}
.opt-s{font-size:14px;color:#B9AA9F}
.pay-slot{border:1px dashed #4A3D36;border-radius:14px;padding:22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.bag{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;border:1px solid #3D322C;border-radius:20px;overflow:hidden}
.bag-head{padding:28px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid #3D322C}
.bag-items{padding:20px 28px}
.bag-item{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid #2A211D}
.bag-item .t{font:500 16px Jost,sans-serif;color:#F3EBE4}
.bag-item .s{font-size:14px;line-height:1.4;color:#B9AA9F;overflow-wrap:anywhere}
.bag-item .a{font:500 16px Jost,sans-serif;color:#F3EBE4;white-space:nowrap}
.bag-tiers{padding:0 28px 24px;display:flex;flex-direction:column;gap:14px}
.mini .ml{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#B9AA9F}
.mini .mamt{font-family:'Bodoni Moda',serif;font-size:24px;color:#F3EBE4}
.tier-msg{margin:0;font-size:15px;line-height:1.5;color:#E9C7B5}
.bag-sum{padding:24px 28px;border-top:1px solid #3D322C;display:flex;flex-direction:column;gap:10px}
.sum-row{display:flex;justify-content:space-between;gap:12px;font-size:16px;color:#B9AA9F}
.sum-v{color:#F3EBE4;font-weight:500;text-align:right}
.sum-v.accent{color:#E9C7B5}
.bag-foot{padding:0 28px 28px;display:flex;flex-direction:column;gap:12px}
.done{border:1px solid #8A6A58;border-radius:24px;padding:48px 40px;display:flex;flex-direction:column;gap:28px;max-width:880px}
.done-h{margin:0;font-family:'Bodoni Moda',serif;font-weight:400;font-size:48px;line-height:1.05;color:#F3EBE4}
.email-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px;padding:14px 0;border-bottom:1px solid #2A211D}
.email-row .w{font:500 16px Jost,sans-serif;color:#F3EBE4}
.email-row .w span{font-weight:400;color:#B9AA9F}
.email-row .x{font-size:15px;color:#E9C7B5}
.featured{display:flex;flex-wrap:wrap;border-radius:24px;overflow:hidden;background:#1E1816;box-shadow:0 30px 60px rgba(20,16,16,.22)}
.feat-l{flex:999 1 460px;min-width:0;border-right:1px solid #3D322C;padding:40px;display:flex;flex-direction:column;gap:18px}
.feat-r{flex:1 1 360px;min-width:0;padding:40px;display:flex;flex-direction:column;gap:16px}
.feat-title{margin:0;font-family:'Bodoni Moda',serif;font-weight:400;font-size:clamp(40px,5vw,60px);line-height:1;color:#E9C7B5}
.feat-deal{margin:0;font-size:20px;line-height:1.5;color:#F3EBE4}
.chip-s{border:1px solid #4A3D36;border-radius:999px;padding:8px 16px;font-size:14px;color:#B9AA9F}
.tile{height:100%;min-height:168px;padding:20px;display:flex;flex-direction:column;gap:10px;border-radius:16px}
.tile .d{font:500 12px Jost,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.tile .n{font-family:'Bodoni Moda',serif;font-size:24px;line-height:1.05}
.tile .f{margin-top:auto;font-size:13px}
.tile.today{background:#E3B9A6;color:#141010}
.tile.today .d{font-weight:600}
.tile.past{background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.9);color:#6B5D54}
.tile.past .n{text-decoration:line-through}
.tile.locked{background:#1E1816;color:#F3EBE4}
.tile.locked .d,.tile.locked .f{color:#B9AA9F}

/* ---------- Checkout + states (production build) ---------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.banner{margin:0;padding:18px 22px;border:1px solid #8A6A58;border-radius:14px;background:#1E1816;color:#E9C7B5;font-size:17px;line-height:1.5}
.pay-card{border:1px solid #4A3D36;border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:12px}
#sqCardStack,#sqCardDeal{min-height:56px}
.mock-pay{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px dashed #8A6A58;border-radius:8px}
.mock-pay select{background:#141010;border:1px solid #4A3D36;color:#F3EBE4;padding:10px;min-height:44px;font:400 15px Jost,sans-serif}
.feat-r .opt{min-height:52px}
#missingMsg.err{color:#F0B4A4}
.done-h:focus,#dbDoneH:focus{outline:none}
.contact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.contact-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:12px 0;border-bottom:1px solid #3D322C}
.contact-list .cn{font:500 16px Jost,sans-serif;color:#F3EBE4}
.contact-list .cc{font-size:15px;color:#B9AA9F}
.contact-list a{color:#E3B9A6;min-height:44px;display:inline-flex;align-items:center}

/* ---------- Two-step shop ---------- */
.shop{display:flex;flex-direction:column;gap:24px}
.shop-grid{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}
.shop-main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:28px}
.stage{display:flex;flex-direction:column;gap:28px}
.ph{margin:0;font:500 22px Jost,sans-serif;color:#F3EBE4}
.ph:focus{outline:none}
.stepper{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.stepper li{display:flex;align-items:center;gap:10px;font:500 13px Jost,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#8C7D73}
.stepper li+li::before{content:"";width:40px;height:1px;background:#4A3D36;margin-right:2px}
.stepper .sn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid #4A3D36;font:500 14px Jost,sans-serif;letter-spacing:0}
.stepper li.on{color:#F3EBE4}
.stepper li.on .sn{background:#E3B9A6;border-color:#E3B9A6;color:#141010}
.stepper li.past .sn{border-color:#E3B9A6;color:#E3B9A6}
.link.back{align-self:flex-start;color:#E3B9A6;text-decoration:none;font-size:14px;letter-spacing:.04em}
.bonus-panel{border:1px solid #8A6A58}
.bonus-opts{display:flex;flex-direction:column;gap:10px}
.bonus-opts .opt{flex-direction:row;align-items:center;gap:14px}
.bonus-opts .dot{flex:none;width:20px;height:20px;border-radius:50%;border:1.5px solid #8A6A58;display:inline-flex;align-items:center;justify-content:center}
.bonus-opts .opt.on .dot{border-color:#E3B9A6}
.bonus-opts .opt.on .dot::after{content:"";width:10px;height:10px;border-radius:50%;background:#E3B9A6}
.bonus-opts .ot{display:flex;flex-direction:column;gap:2px}
.bag-foot .pay-card{background:#141010}
#checkoutBtn{min-height:58px;font-size:14px}
/* The open vault door swings past the edge in 3D — clip it so the page never scrolls sideways. */
#top{overflow-x:clip}
html,body{overflow-x:clip}
#shopForm,#donePanel{scroll-margin-top:110px}
.shop.co .bag-tiers{display:none}
@media (min-width:960px){.shop.co .bag{position:sticky;top:104px}}
.test-banner{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#E3B9A6;color:#141010;font:400 14px/1.4 Jost,sans-serif;padding:10px 16px;text-align:center}
.test-banner strong{font-weight:600}
