/* =========================================================
   MOONVEIL METALLURGY
   ========================================================= */
:root{
  --bg:#06081a; --bg2:#0b1028; --ink:#0e1430; --card:#10173a;
  --line:rgba(226,200,130,.18); --line2:rgba(226,200,130,.42);
  --gold:#e3c983; --gold-hi:#fff1c4; --gold-lo:#a87d2a; --silver:#c8d1e4;
  --text:#ece6d6; --muted:#97a0bb; --danger:#ef8a8a; --ok:#8fd8ab;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --disp:'Cinzel',Georgia,serif;
  --sans:'Jost','Helvetica Neue',Arial,sans-serif;
  --r:6px; --gut:clamp(16px,4vw,32px);
  --sec:clamp(56px,9vw,104px);
  --shadow:0 24px 60px -20px rgba(0,0,0,.7);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:90px;overflow-x:hidden}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;color:var(--text);font-family:var(--sans);font-weight:300;font-size:clamp(15.5px,1.05vw,17px);line-height:1.7;-webkit-font-smoothing:antialiased;
  background:radial-gradient(1100px 700px at 85% -10%,rgba(46,58,140,.55),transparent 60%),radial-gradient(900px 600px at -15% 35%,rgba(60,30,110,.35),transparent 60%),radial-gradient(800px 500px at 50% 110%,rgba(30,45,110,.35),transparent 60%),var(--bg);background-attachment:fixed}
body{overflow-x:clip}
body.lock{overflow:hidden}
#stars{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
main,.top,.foot,.announce{position:relative;z-index:1}
main{flex:1}
a{color:var(--gold);text-decoration:none;transition:color .2s}
a:hover{color:var(--gold-hi)}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:var(--disp);font-weight:400;letter-spacing:.05em;margin:0 0 .5em;line-height:1.2;color:#f4eedf}
h1{font-size:clamp(2.1rem,6vw,4rem)}
h2{font-size:clamp(1.55rem,3.6vw,2.4rem)}
h3{font-size:clamp(1rem,1.6vw,1.15rem)}
p{margin:0 0 1em}
em{font-family:var(--serif);font-style:italic;letter-spacing:.01em}
h1 em,h2 em{background:linear-gradient(100deg,var(--gold-lo),var(--gold-hi) 45%,var(--gold) 60%,var(--gold-lo));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;background-size:200% auto;animation:sheen 8s linear infinite;padding-right:.08em}
strong{font-weight:500}
.muted{color:var(--muted)}
.wrap{max-width:1220px;margin:0 auto;padding:0 var(--gut)}
.narrow{max-width:780px;margin:0 auto;padding:0 var(--gut)}
section{padding:var(--sec) 0}
::selection{background:rgba(226,200,130,.35);color:#fff}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#262e60;border-radius:8px}
.skip{position:absolute;left:-9999px;top:8px;background:var(--gold);color:#1a1405;padding:8px 14px;z-index:200}
.skip:focus{left:8px}
@keyframes sheen{to{background-position:200% 0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes float{50%{transform:translateY(-10px)}}
@keyframes drop{from{opacity:0;transform:translateY(-8px)}}
@keyframes pop{40%{transform:scale(1.35)}}

/* ---------- announcement ---------- */
.announce{text-align:center;font-size:.68rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;padding:8px 12px;color:#1c1606;background:linear-gradient(90deg,#a87d2a,#f3dfa3,#c99a3d,#f3dfa3,#a87d2a);background-size:200% 100%;animation:sheen 12s linear infinite;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.announce .sep{margin:0 14px}
@media(max-width:640px){.announce{letter-spacing:.16em;font-size:.62rem}.announce .alt,.announce .sep{display:none}}

/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:18px;padding:18px var(--gut);background:rgba(6,8,26,.72);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--line);transition:padding .3s var(--ease),box-shadow .3s}
.top.small{padding-top:11px;padding-bottom:11px;box-shadow:0 12px 40px rgba(0,0,0,.5)}
.brand{display:flex;align-items:center;gap:12px;color:var(--text);flex-shrink:0}
.brand:hover{color:#fff}
.brand-moon{width:28px;height:28px;border-radius:50%;flex-shrink:0;background:radial-gradient(circle at 35% 35%,#fff8dd,#e3c983 55%,#8a6a22);box-shadow:inset -9px -3px 0 0 var(--bg),0 0 20px rgba(226,200,130,.45)}
.brand-text{font-family:var(--disp);letter-spacing:.18em;font-size:.98rem;text-transform:uppercase;white-space:nowrap}
.brand-text em{font-family:var(--serif);text-transform:none;letter-spacing:.03em;color:var(--gold);font-size:1.28rem;margin-left:2px}
.nav{display:flex;align-items:center;gap:clamp(16px,2.2vw,34px);margin-left:auto}
.nav a{position:relative;color:var(--silver);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;padding:6px 0}
.nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:hover,.nav a.on{color:var(--gold)}
.nav a:hover:after,.nav a.on:after{transform:scaleX(1)}
.nav .nav-foot{display:none}
.actions{display:flex;align-items:center;gap:6px}
.cart-ico{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--gold);border:1px solid transparent;transition:all .25s}
.cart-ico:hover,.cart-ico.on{border-color:var(--line2);background:rgba(226,200,130,.06);color:var(--gold-hi)}
.cart-ico svg{width:21px;height:21px}
.cartcount{position:absolute;top:3px;right:1px;min-width:19px;height:19px;padding:0 5px;border-radius:20px;background:var(--gold);color:#1a1405;font-size:.66rem;font-weight:600;line-height:19px;text-align:center;letter-spacing:0;box-shadow:0 0 0 2px var(--bg)}
.cartcount.zero{display:none}
.cartcount.bump{animation:pop .45s var(--ease)}
.burger{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;padding:0;position:relative;z-index:61}
.burger span{position:absolute;left:11px;width:22px;height:1.5px;background:var(--gold);transition:transform .35s var(--ease),opacity .2s,top .35s var(--ease)}
.burger span:nth-child(1){top:15px}.burger span:nth-child(2){top:21px}.burger span:nth-child(3){top:27px}
.burger.x span:nth-child(1){top:21px;transform:rotate(45deg)}
.burger.x span:nth-child(2){opacity:0}
.burger.x span:nth-child(3){top:21px;transform:rotate(-45deg)}
.scrim{position:fixed;inset:0;background:rgba(3,4,12,.6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .35s;z-index:55}
.scrim.show{opacity:1;pointer-events:auto}
body.lock .top{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(6,8,26,.98);z-index:70}
@media(max-width:920px){
  .burger{display:block}
  .actions{margin-left:auto}
  .nav{position:fixed;top:0;right:0;bottom:0;width:min(330px,86vw);margin:0;flex-direction:column;align-items:stretch;gap:0;padding:96px 30px 30px;background:linear-gradient(180deg,#0d1334,#070a1e);border-left:1px solid var(--line);box-shadow:-30px 0 60px rgba(0,0,0,.6);transform:translateX(105%);visibility:hidden;transition:transform .45s var(--ease),visibility 0s linear .45s;z-index:60;overflow-y:auto}
  .nav.open{transform:none;visibility:visible;transition:transform .45s var(--ease),visibility 0s}
  .nav a{font-family:var(--disp);font-size:1.02rem;letter-spacing:.14em;padding:16px 0;border-bottom:1px solid var(--line)}
  .nav a:after{display:none}
  .nav .nav-foot{display:block;margin-top:auto;padding-top:30px;font-size:.88rem;color:var(--muted)}
  .nav .nav-foot a{font-family:var(--sans);font-size:.88rem;letter-spacing:.02em;text-transform:none;border:0;padding:2px 0;display:inline}
}
@media(max-width:400px){.brand-text{font-size:.82rem;letter-spacing:.14em}.brand-text em{font-size:1.1rem}.brand{gap:9px}.brand-moon{width:24px;height:24px}}

/* ---------- flash + toast ---------- */
.flash{max-width:1220px;margin:18px auto 0;padding:13px 20px;border:1px solid var(--line2);background:rgba(16,23,58,.92);border-radius:var(--r);animation:drop .45s var(--ease);position:relative;z-index:2}
.wrap>.flash,.narrow>.flash,.panel .flash{margin:0 0 22px}
body>.flash{margin-left:var(--gut);margin-right:var(--gut)}
@media(min-width:1270px){body>.flash{margin-left:auto;margin-right:auto}}
.flash.err{border-color:var(--danger);color:#ffd9d9;background:rgba(60,18,28,.6)}
.flash.ok{border-color:var(--ok)}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,140%);z-index:90;display:flex;align-items:center;gap:16px;max-width:calc(100vw - 28px);padding:14px 16px 14px 20px;background:linear-gradient(180deg,#151d48,#0c1230);border:1px solid var(--line2);border-radius:40px;box-shadow:0 20px 50px rgba(0,0,0,.6),0 0 40px rgba(226,200,130,.12);visibility:hidden;transition:transform .45s var(--ease),visibility 0s linear .45s;font-size:.92rem}
.toast.show{transform:translate(-50%,0);visibility:visible;transition:transform .45s var(--ease),visibility 0s}
.toast b{font-weight:500;color:#fff}
.toast .btn{white-space:nowrap}
.toast .t-ico{color:var(--gold);font-size:1.1rem}
.toast .t-msg{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- buttons ---------- */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 30px;border:1px solid var(--gold);border-radius:2px;background:linear-gradient(135deg,#f0dca0 0%,#d4ae5c 45%,#a87d2a 100%);color:#1c1606;font-family:var(--sans);font-weight:500;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:transform .25s var(--ease),box-shadow .3s,background .3s,color .2s;-webkit-tap-highlight-color:transparent;text-align:center;line-height:1.3}
.btn:hover{color:#1c1606;transform:translateY(-2px);box-shadow:0 10px 30px -6px rgba(226,200,130,.5)}
.btn:active{transform:translateY(0)}
.btn svg{width:17px;height:17px;flex-shrink:0;margin-top:-2px}
.btn:not(.ghost):not(.danger):after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .8s var(--ease)}
.btn:not(.ghost):not(.danger):hover:after{left:140%}
.btn.ghost{background:rgba(6,8,26,.25);color:var(--gold)}
.btn.ghost:hover{background:rgba(226,200,130,.1);color:var(--gold-hi);box-shadow:0 0 0 1px var(--gold) inset}
.btn.small{min-height:36px;padding:7px 16px;font-size:.68rem;letter-spacing:.16em}
.btn.block{display:flex;width:100%}
.btn.lg{min-height:56px;font-size:.84rem}
.btn.danger{border-color:var(--danger);background:transparent;color:var(--danger)}
.btn.danger:hover{background:rgba(239,138,138,.1);color:#fff;box-shadow:none}
.btn:disabled,.btn.busy{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}
.btn .spin{width:15px;height:15px;border:2px solid rgba(28,22,6,.3);border-top-color:#1c1606;border-radius:50%;animation:spin .8s linear infinite}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
@media(max-width:520px){.btn-row .btn{flex:1 1 100%}}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;text-align:center;padding:clamp(48px,8vw,84px) 0 clamp(60px,9vw,96px)}
.hero:before{content:"";position:absolute;left:50%;top:0;width:820px;height:820px;max-width:160vw;transform:translateX(-50%);background:radial-gradient(circle,rgba(226,200,130,.11),transparent 62%);pointer-events:none}
.hero .wrap{position:relative}
.moon-stage{position:relative;width:clamp(170px,30vw,300px);aspect-ratio:1;margin:0 auto clamp(26px,4vw,40px)}
.moon{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 34% 30%,#fffbea 0%,#efdca2 30%,#c9a04b 68%,#6a4c14 100%);box-shadow:0 0 80px rgba(226,200,130,.38),0 0 200px rgba(120,140,255,.16),inset -10px -14px 30px rgba(60,40,10,.45);animation:float 9s ease-in-out infinite}
.moon:before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 28% 62%,rgba(120,85,25,.25) 0 7%,transparent 8%),radial-gradient(circle at 55% 25%,rgba(120,85,25,.2) 0 5%,transparent 6%),radial-gradient(circle at 40% 45%,rgba(120,85,25,.18) 0 4%,transparent 5%)}
.moon:after{content:"";position:absolute;inset:-1px;border-radius:50%;background:radial-gradient(circle at 74% 60%,var(--bg) 0 37%,rgba(6,8,26,.6) 39%,transparent 41%)}
.orbits{position:absolute;inset:-22%;pointer-events:none}
.orbits i{position:absolute;inset:0;border:1px solid rgba(226,200,130,.14);border-radius:50%;animation:spin 90s linear infinite}
.orbits i:nth-child(2){inset:-14%;animation-duration:150s;animation-direction:reverse;border-style:dashed;border-color:rgba(226,200,130,.1)}
.orbits i:nth-child(3){inset:-30%;animation-duration:220s;border-color:rgba(226,200,130,.07)}
.orbits i:after{content:"";position:absolute;top:-3px;left:50%;width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px var(--gold)}
.eyebrow{display:block;font-size:.7rem;font-weight:400;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.hero h1{margin-bottom:.32em}
.hero .lead{font-family:var(--serif);font-size:clamp(1.15rem,2.2vw,1.5rem);line-height:1.55;color:var(--silver);max-width:600px;margin:0 auto 34px}
@media(max-width:520px){.hero .eyebrow{letter-spacing:.3em}}

/* ---------- trust strip ---------- */
.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 40px;padding:20px var(--gut);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(8,11,30,.75);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--silver)}
.trust span:before{content:"\2726";color:var(--gold);margin-right:10px}
@media(max-width:640px){.trust{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;font-size:.6rem;letter-spacing:.14em;text-align:left}.trust span:before{margin-right:7px}}

/* ---------- section heads ---------- */
.divider{display:flex;align-items:center;gap:16px;justify-content:center;color:var(--gold);margin:0 0 26px;font-size:.9rem}
.divider:before,.divider:after{content:"";height:1px;width:clamp(50px,10vw,100px);background:linear-gradient(90deg,transparent,var(--gold))}
.divider:after{background:linear-gradient(270deg,transparent,var(--gold))}
.sechead{text-align:center;margin:0 auto clamp(30px,5vw,52px);max-width:640px}
.sechead p{color:var(--muted);margin:0 auto}
.sechead h2{text-shadow:0 0 34px rgba(226,200,130,.14)}

/* ---------- product grid + cards ---------- */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,28px)}
@media(max-width:1100px){.grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.grid{grid-template-columns:repeat(2,1fr)}}
.card{position:relative;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(22,30,70,.7),rgba(11,16,40,.95));border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .45s var(--ease),border-color .3s,box-shadow .45s var(--ease)}
.card:hover{transform:translateY(-6px);border-color:var(--line2);box-shadow:var(--shadow),0 0 50px -10px rgba(226,200,130,.18)}
.card .ph{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:#070a1c}
.card .ph img,.card .ph .art{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.card:hover .ph img,.card:hover .ph .art{transform:scale(1.06)}
.card .ph:after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.13),transparent);transform:skewX(-18deg);transition:left .9s var(--ease)}
.card:hover .ph:after{left:130%}
.art{display:block}.art svg{width:100%;height:100%;display:block}
.tag{position:absolute;top:12px;left:12px;z-index:2;padding:3px 10px;background:rgba(6,8,26,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line2);border-radius:20px;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.card .body{display:flex;flex-direction:column;gap:4px;flex:1;padding:18px 20px 20px}
.card .cat{font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.card h3{margin:2px 0 2px;font-size:1rem;line-height:1.35;letter-spacing:.04em}
.card h3 a{color:#f4eedf}
.card h3 a:after{content:"";position:absolute;inset:0;z-index:1}
.card .short{flex:1;margin:4px 0 0;color:var(--muted);font-size:.88rem;line-height:1.55}
.card .row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}
.card .row form{position:relative;z-index:3;margin:0}
.price{font-family:var(--serif);font-size:1.5rem;font-weight:500;color:var(--gold);line-height:1;white-space:nowrap}
.add-ico{width:40px;height:40px;min-height:0;padding:0;border-radius:50%;font-size:0;letter-spacing:0}
.add-ico svg{width:18px;height:18px;margin:0}
@media(max-width:780px){
  .card .body{padding:12px 12px 14px}
  .card .short{display:none}
  .card h3{font-size:.84rem;letter-spacing:.03em}
  .card .cat{font-size:.56rem;letter-spacing:.22em}
  .card .row{margin-top:10px}
  .price{font-size:1.22rem}
  .add-ico{width:36px;height:36px}
  .tag{top:8px;left:8px;font-size:.52rem;padding:2px 8px}
  .card:hover{transform:none}
}

/* ---------- filters + search ---------- */
.toolbar{display:flex;flex-direction:column;align-items:center;gap:18px;margin-bottom:clamp(26px,4vw,40px)}
.searchbar{position:relative;width:100%;max-width:480px;margin:0}
.searchbar svg{position:absolute;left:18px;top:50%;width:17px;height:17px;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.searchbar input{border-radius:40px;padding-left:46px;min-height:50px}
.filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0}
.filters a{padding:8px 16px;border:1px solid var(--line);border-radius:30px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--silver);white-space:nowrap;transition:all .25s}
.filters a.on,.filters a:hover{border-color:var(--gold);color:var(--gold);background:rgba(226,200,130,.08)}
.filters .gap{width:16px}
@media(max-width:640px){
  .filters{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;width:calc(100% + var(--gut)*2);margin:0 calc(var(--gut)*-1);padding:0 var(--gut) 4px;scrollbar-width:none}
  .filters::-webkit-scrollbar{display:none}
  .filters .gap{flex:0 0 6px}
}

/* ---------- tiles / steps / faq ---------- */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(12px,2vw,22px)}
.tile{position:relative;display:block;overflow:hidden;padding:clamp(28px,4vw,46px) 22px;text-align:center;border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(160deg,rgba(30,40,95,.75),rgba(10,14,34,.95));color:var(--text);transition:all .4s var(--ease)}
.tile:before{content:"";position:absolute;inset:auto -30% -60% -30%;height:120%;background:radial-gradient(circle,rgba(226,200,130,.16),transparent 60%);opacity:0;transition:opacity .4s}
.tile:hover{border-color:var(--gold);transform:translateY(-4px);color:#fff;box-shadow:var(--shadow)}
.tile:hover:before{opacity:1}
.tile b{position:relative;display:block;font-family:var(--disp);font-weight:400;letter-spacing:.16em;font-size:1.12rem;margin-bottom:4px}
.tile span{position:relative;color:var(--muted);font-size:.86rem}
.tile .g{display:block;font-size:2.2rem;line-height:1;color:var(--gold);margin-bottom:12px;font-family:var(--serif)}
@media(max-width:640px){.tiles{grid-template-columns:1fr}.tile{display:grid;grid-template-columns:52px 1fr auto;align-items:center;text-align:left;padding:18px 20px;gap:4px 12px}.tile .g{grid-row:span 2;margin:0;font-size:1.9rem}.tile b{margin:0;font-size:.98rem}.tile:after{content:"\2192";grid-column:3;grid-row:1/span 2;color:var(--gold)}}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,28px);counter-reset:s}
.steps .s{position:relative;padding:34px 24px 22px;border:1px solid var(--line);border-radius:var(--r);background:rgba(12,17,42,.75);counter-increment:s}
.steps .s:before{content:counter(s,upper-roman);position:absolute;top:-14px;left:22px;padding:0 12px;background:var(--bg);font-family:var(--disp);color:var(--gold);letter-spacing:.2em}
.steps h3{font-size:.98rem;margin-bottom:.4em}
.steps p{margin:0;font-size:.92rem}
@media(max-width:780px){.steps{grid-template-columns:1fr;gap:24px}}
.faq{max-width:800px;margin:0 auto;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{position:relative;cursor:pointer;list-style:none;padding:20px 48px 20px 0;font-family:var(--serif);font-size:clamp(1.12rem,2vw,1.32rem);color:#f4eedf;transition:color .2s}
.faq summary:hover{color:var(--gold)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"";position:absolute;right:8px;top:50%;width:12px;height:12px;margin-top:-8px;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(45deg);transition:transform .3s var(--ease)}
.faq details[open] summary:after{transform:rotate(-135deg);margin-top:-2px}
.faq p{color:var(--muted);padding:0 40px 22px 0;margin:0}

/* ---------- commission band ---------- */
.band{position:relative;overflow:hidden;text-align:center;padding:clamp(40px,6vw,70px) var(--gut);border:1px solid var(--line);border-radius:calc(var(--r)*2);background:radial-gradient(600px 300px at 50% 0%,rgba(226,200,130,.14),transparent 70%),linear-gradient(180deg,rgba(22,30,74,.8),rgba(9,13,34,.95))}
.band p{color:var(--muted);max-width:560px;margin:0 auto 28px}

/* ---------- product page ---------- */
.crumbs{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding-top:clamp(18px,3vw,30px)}
.crumbs a{color:var(--silver)}
.crumbs a:hover{color:var(--gold)}
.pgrid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,64px);align-items:start;padding:clamp(18px,3vw,34px) 0 clamp(40px,6vw,70px)}
.pimg{position:sticky;top:100px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#070a1c;box-shadow:var(--shadow),0 0 80px -20px rgba(226,200,130,.18)}
.pimg img,.pimg .art{width:100%;aspect-ratio:1;object-fit:cover}
.pinfo h1{font-size:clamp(1.8rem,3.6vw,2.7rem)}
.pinfo .price{display:block;font-size:clamp(1.9rem,3vw,2.4rem);margin:6px 0 20px}
.pinfo .teaser{font-family:var(--serif);font-size:clamp(1.15rem,1.8vw,1.35rem);color:var(--silver);line-height:1.55}
.buyrow{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin:26px 0}
.buyrow .btn{flex:1;min-width:200px}
.stepper{display:inline-flex;align-items:stretch;border:1px solid var(--line2);border-radius:2px;background:rgba(6,8,26,.6)}
.stepper button{width:44px;border:0;background:none;color:var(--gold);font-size:1.2rem;cursor:pointer;font-family:var(--sans)}
.stepper button:hover{background:rgba(226,200,130,.08)}
.stepper input{width:46px;text-align:center;border:0 !important;background:transparent !important;box-shadow:none !important;padding:0 !important;font-size:1rem;-moz-appearance:textfield;appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px}
.badges span{padding:5px 12px;border:1px solid var(--line);border-radius:20px;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);background:rgba(226,200,130,.04)}
.spec{margin-top:26px;border-top:1px solid var(--line)}
.spec div{display:flex;justify-content:space-between;gap:24px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.94rem}
.spec span:first-child{flex-shrink:0;color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:.68rem;padding-top:4px}
.spec span:last-child{text-align:right}
.buybar{display:none}
@media(max-width:860px){
  .pgrid{grid-template-columns:1fr}
  .pimg{position:relative;top:0;margin:0 calc(var(--gut)*-1);border-radius:0;border-left:0;border-right:0}
  .buybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;align-items:center;gap:14px;padding:12px var(--gut) calc(12px + env(safe-area-inset-bottom));background:rgba(8,11,32,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line2);transform:translateY(110%);transition:transform .4s var(--ease)}
  .buybar.show{transform:none}
  .buybar .bb-name{flex:1;min-width:0;font-size:.8rem;color:var(--silver);line-height:1.3}
  .buybar .bb-name b{display:block;font-family:var(--serif);font-size:1.3rem;color:var(--gold);font-weight:500}
  .buybar .bb-name span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .buybar .btn{padding:10px 20px}
  body.has-buybar .toast{bottom:92px}
  body.has-buybar .totop{bottom:92px}
}

/* ---------- forms ---------- */
label{display:block;font-size:.68rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 7px}
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],input[type=search],input[type=file],textarea,select{width:100%;min-height:50px;padding:13px 16px;background:rgba(5,7,22,.7);border:1px solid var(--line);border-radius:3px;color:var(--text);font-family:var(--sans);font-size:16px;font-weight:300;outline:none;transition:border-color .2s,box-shadow .2s,background .2s;-webkit-appearance:none;appearance:none}
input::placeholder,textarea::placeholder{color:#5f6884}
input:hover,textarea:hover,select:hover{border-color:var(--line2)}
input:focus,textarea:focus,select:focus{border-color:var(--gold);background:rgba(5,7,22,.9);box-shadow:0 0 0 4px rgba(226,200,130,.12)}
input[type=file]{padding:11px;font-size:.9rem}
select{background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
select option{background:#0d1230}
textarea{min-height:150px;resize:vertical;line-height:1.6}
.field{margin-bottom:20px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.three{display:grid;grid-template-columns:2fr 1fr 1fr;gap:0 18px}
.four{display:grid;grid-template-columns:repeat(4,1fr);gap:0 18px}
@media(max-width:640px){.two,.three{grid-template-columns:1fr}.four{grid-template-columns:1fr 1fr}.three.zip{grid-template-columns:1fr 1fr}.three.zip>:first-child{grid-column:1/-1}}
.check{display:flex !important;align-items:flex-start;gap:12px;text-transform:none !important;letter-spacing:.01em !important;font-size:.92rem !important;color:var(--text) !important;cursor:pointer;line-height:1.5}
.check input{flex-shrink:0;width:20px;height:20px;margin:1px 0 0;accent-color:var(--gold)}
.panel{position:relative;padding:clamp(22px,4vw,38px);border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(180deg,rgba(22,30,72,.72),rgba(10,14,36,.94));box-shadow:var(--shadow)}
.panel h3{margin-bottom:1em}
.panel hr{border:0;border-top:1px solid var(--line);margin:30px 0}
.hp{position:absolute !important;left:-9999px !important;opacity:0}
.hint{font-size:.84rem;color:var(--muted);margin-top:7px;line-height:1.5}
.paychoice{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.paychoice label.opt{position:relative;display:flex;align-items:center;gap:12px;margin:0;padding:16px 18px;border:1px solid var(--line);border-radius:4px;cursor:pointer;text-transform:none;letter-spacing:.01em;font-size:.94rem;color:var(--text);transition:all .2s;line-height:1.4}
.paychoice label.opt:hover{border-color:var(--line2)}
.paychoice label.opt:has(input:checked){border-color:var(--gold);background:rgba(226,200,130,.07);box-shadow:0 0 0 1px var(--gold) inset}
.paychoice input{width:18px;height:18px;flex-shrink:0;accent-color:var(--gold)}
.paychoice small{display:block;color:var(--muted);font-size:.78rem}
.bigprice{display:flex;align-items:center;gap:6px;padding:4px 20px;border:1px solid var(--line2);border-radius:3px;background:rgba(5,7,22,.8);transition:border-color .2s,box-shadow .2s}
.bigprice:focus-within{border-color:var(--gold);box-shadow:0 0 0 4px rgba(226,200,130,.12)}
.bigprice span{font-family:var(--serif);font-size:2.2rem;color:var(--gold)}
.bigprice input{border:0 !important;background:transparent !important;box-shadow:none !important;font-family:var(--serif);font-size:2.2rem;padding:6px 0;min-height:0}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 2px}
.chip{min-height:38px;padding:7px 16px;border:1px solid var(--line);border-radius:30px;background:rgba(5,7,22,.7);color:var(--silver);font-family:var(--sans);font-size:.84rem;letter-spacing:.06em;cursor:pointer;transition:all .2s}
.chip:hover,.chip.on{border-color:var(--gold);color:var(--gold);background:rgba(226,200,130,.08)}
.secure{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 0 0;font-size:.8rem;color:var(--muted);text-align:center}
.secure svg{width:14px;height:14px;color:var(--gold);flex-shrink:0}

/* ---------- two-column layouts ---------- */
.cogrid{display:grid;grid-template-columns:1.45fr 1fr;gap:clamp(20px,3vw,34px);align-items:start}
.cogrid>.side{position:sticky;top:100px}
@media(max-width:900px){.cogrid{grid-template-columns:1fr}.cogrid>.side{position:static}.cogrid>.side.first{order:-1}}

/* ---------- cart ---------- */
.ship-prog{margin:0 0 22px;padding:16px 20px;border:1px solid var(--line);border-radius:var(--r);background:rgba(12,17,42,.75);font-size:.92rem;color:var(--silver)}
.ship-prog .bar{height:5px;margin-top:10px;border-radius:6px;background:#1b2250;overflow:hidden}
.ship-prog .bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#a87d2a,#f3dfa3)}
.cartlist{border-top:1px solid var(--line)}
.citem{display:grid;grid-template-columns:96px 1fr auto;gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.citem .thumb{display:block;width:96px;height:96px;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#070a1c}
.citem .thumb img,.citem .thumb .art{width:100%;height:100%;object-fit:cover}
.citem .nm{font-family:var(--disp);font-size:.98rem;letter-spacing:.04em;color:#f4eedf;line-height:1.35}
.citem .meta{font-size:.82rem;color:var(--muted);margin-top:2px}
.citem .ctrl{display:flex;align-items:center;gap:14px;margin-top:10px}
.citem .ctrl .stepper button{width:36px}
.citem .ctrl .stepper input{width:38px;min-height:36px}
.citem .rm{background:none;border:0;padding:0;color:var(--muted);font-family:var(--sans);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border-bottom:1px solid transparent}
.citem .rm:hover{color:var(--danger);border-color:var(--danger)}
.citem .lt{font-family:var(--serif);font-size:1.4rem;color:var(--gold);text-align:right;white-space:nowrap}
@media(max-width:520px){.citem{grid-template-columns:76px 1fr;gap:14px}.citem .thumb{width:76px;height:76px}.citem .lt{grid-column:2;text-align:left;font-size:1.2rem;margin-top:-4px}}
.sum div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}
.sum .grand{padding-top:16px;border-bottom:0;font-family:var(--serif);font-size:1.7rem;color:var(--gold)}
.sum .grand span:first-child{font-family:var(--disp);font-size:.9rem;letter-spacing:.18em;align-self:center;color:#f4eedf}
.mini{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.94rem}
.mini span:last-child{white-space:nowrap}
.empty{text-align:center;padding:clamp(40px,8vw,80px) 0}
.empty .g{font-size:3rem;color:var(--gold);font-family:var(--serif);line-height:1;margin-bottom:16px}

/* ---------- tables (admin) ---------- */
.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r)}
table.t{width:100%;border-collapse:collapse;min-width:620px}
table.t th{padding:12px 10px;border-bottom:1px solid var(--line2);font-size:.66rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);text-align:left;white-space:nowrap}
table.t td{padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:.94rem}
table.t tr:hover td{background:rgba(226,200,130,.03)}
table.t .thumb{display:block;width:60px;height:60px;border:1px solid var(--line);border-radius:3px;overflow:hidden;background:#070a1c}
table.t .thumb img,table.t .thumb .art{width:100%;height:100%;object-fit:cover}
table.t.plain{min-width:0}
@media(max-width:700px){
  table.t.stack{min-width:0}
  table.t.stack thead{display:none}
  table.t.stack tr{display:grid;grid-template-columns:60px 1fr auto;gap:2px 14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
  table.t.stack td{padding:0;border:0;background:none !important}
  table.t.stack td:first-child{grid-row:span 3}
  table.t.stack td:nth-child(3){display:none}
  table.t.stack td:nth-child(4){font-family:var(--serif);color:var(--gold);font-size:1.1rem}
  table.t.stack td:nth-child(5){grid-column:3;grid-row:1}
  table.t.stack td:last-child{grid-column:2/-1}
  table.t.stack .acts{justify-content:flex-start;margin-top:6px}
}

/* ---------- about ---------- */
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,64px);align-items:center}
@media(max-width:860px){.about{grid-template-columns:1fr}}
.portrait{position:relative;aspect-ratio:4/5;overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--r);background:radial-gradient(circle at 50% 35%,#2a3478,#090d24 72%);box-shadow:var(--shadow)}
.portrait:before{content:"";position:absolute;inset:14px;border:1px solid var(--line);border-radius:3px;pointer-events:none;z-index:2}
.portrait img{width:100%;height:100%;object-fit:cover}
.portrait .sigil{font-family:var(--serif);font-size:clamp(5rem,12vw,8rem);color:var(--gold);text-shadow:0 0 50px rgba(226,200,130,.5);animation:float 9s ease-in-out infinite}
@media(max-width:860px){.portrait{max-width:420px;width:100%;margin:0 auto}}
.quote{margin:clamp(24px,4vw,40px) 0;padding-left:24px;border-left:2px solid var(--gold);font-family:var(--serif);font-style:italic;font-size:clamp(1.35rem,2.6vw,1.85rem);line-height:1.45;color:var(--gold)}
.prose h2{font-size:clamp(1.3rem,2.4vw,1.7rem);margin-top:1.6em}
.prose p{color:#c9c4b4}

/* ---------- legal ---------- */
.legal h2{margin-top:2em;font-size:clamp(1.05rem,2vw,1.3rem)}
.legal p,.legal li{color:#cbc6b6}
.legal ul{padding-left:22px}
.legal li{margin-bottom:.5em}
.toc{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 30px}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}

/* ---------- footer ---------- */
.foot{margin-top:clamp(30px,6vw,60px);border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(5,7,20,.6),rgba(3,4,12,.96))}
.foot-grid{max-width:1220px;margin:0 auto;padding:clamp(40px,6vw,64px) var(--gut) 30px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:clamp(24px,4vw,40px)}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>:first-child{grid-column:1/-1}}
@media(max-width:480px){.foot-grid{grid-template-columns:1fr}}
.foot h4{font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.foot a{display:block;padding:3px 0;color:var(--silver);font-size:.92rem}
.foot a:hover{color:var(--gold)}
.foot p{font-size:.92rem;line-height:1.75}
.foot p a{display:inline;padding:0}
.foot-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-family:var(--disp);letter-spacing:.18em;text-transform:uppercase}
.foot-brand em{text-transform:none;color:var(--gold);font-size:1.2em;letter-spacing:.03em}
.foot-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;max-width:1220px;margin:0 auto;padding:20px var(--gut) calc(20px + env(safe-area-inset-bottom));border-top:1px solid var(--line);color:var(--muted);font-size:.76rem;letter-spacing:.06em}
.foot-bar .pay{display:flex;gap:8px;align-items:center}
.foot-bar .pay span{padding:3px 10px;border:1px solid var(--line);border-radius:3px;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--silver)}
@media(max-width:640px){.foot-bar{justify-content:center;text-align:center}}
.totop{position:fixed;right:18px;bottom:22px;z-index:45;width:46px;height:46px;border-radius:50%;border:1px solid var(--line2);background:rgba(10,14,36,.9);color:var(--gold);cursor:pointer;opacity:0;transform:translateY(16px);pointer-events:none;transition:all .35s var(--ease);display:flex;align-items:center;justify-content:center}
.totop.show{opacity:1;transform:none;pointer-events:auto}
.totop:hover{background:var(--gold);color:#1c1606}
.totop svg{width:18px;height:18px}

/* ---------- admin ---------- */
body.admin{display:block}
.adm{max-width:1240px;margin:0 auto;padding:22px var(--gut) 80px;position:relative;z-index:1}
.admnav{display:flex;align-items:center;gap:8px;margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.admnav::-webkit-scrollbar{display:none}
.admnav a{flex-shrink:0;padding:8px 15px;border:1px solid var(--line);border-radius:30px;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--silver);white-space:nowrap}
.admnav a.on,.admnav a:hover{border-color:var(--gold);color:var(--gold);background:rgba(226,200,130,.06)}
.admnav .logo{flex-shrink:0;font-family:var(--disp);letter-spacing:.16em;color:var(--gold);margin-right:10px;white-space:nowrap;font-size:.86rem}
.admnav .sp{flex:1;min-width:10px}
.stat{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:30px}
.stat div{padding:20px;border:1px solid var(--line);border-radius:var(--r);background:rgba(12,17,42,.8)}
.stat b{display:block;font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.1rem);font-weight:500;color:var(--gold);line-height:1.2}
.stat span{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.pill{display:inline-block;padding:2px 10px;border:1px solid var(--line2);border-radius:20px;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.pill.paid{border-color:var(--ok);color:var(--ok)}
.pill.pending{border-color:#dcb64c;color:#dcb64c}
.pill.cancelled,.pill.failed{border-color:var(--danger);color:var(--danger)}
.help{margin-bottom:22px;padding:15px 20px;border:1px solid var(--line);border-radius:var(--r);background:rgba(226,200,130,.05);font-size:.92rem;color:var(--silver)}
.help.warn{border-color:var(--danger);background:rgba(60,18,28,.4)}
.help code{color:var(--gold)}
.acts{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.acts form{margin:0}
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--gut)}
.login .panel{width:min(420px,100%);text-align:center}

/* ---------- motion prefs + print ---------- */
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.rv{opacity:1;transform:none}}
@media print{#stars,.top,.announce,.foot,.buybar,.totop,.toast{display:none !important}body{background:#fff;color:#000}}
