:root{
  color-scheme:dark;
  --bg:#000; --surface:#0e0e0e; --surface-2:#151208; --line:#2a2417; --text:#f3efe6; --muted:#a79f8d;
  --gold:#e8c46a; --gold-deep:#b8902f; --bad:#ff8a7a; --good:#9fe6a0;
  --holo:linear-gradient(115deg,#c9b56a,#f2e8b0 16%,#d6b8ff 34%,#8fe9ff 52%,#b9f5a8 68%,#f2e8b0 82%,#c9b56a);
  --serif:"Cinzel",Georgia,"Times New Roman",serif;
  --sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.6;font-size:17px;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
a{color:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
[hidden]{display:none!important}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}

/* header */
header.site{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;max-width:1080px;margin:0 auto;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--serif);font-weight:800;font-size:20px}
.mark{width:36px;height:30px;background:url(/assets/mark.jpeg) center/contain no-repeat;mix-blend-mode:screen;display:inline-block}
header.site nav{display:flex;gap:22px;font-size:15px;align-items:center;flex-wrap:wrap}
header.site nav a{text-decoration:none;color:var(--muted)}
header.site nav a:hover,header.site nav a[aria-current="page"]{color:var(--gold)}
.cart-link{display:inline-flex;align-items:center;gap:6px}
.cart-count{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--holo);color:#120d00;font-size:12px;font-weight:600;display:inline-grid;place-items:center}
.cart-count:empty{display:none}

/* type */
h1{font-family:var(--serif);font-weight:800;font-size:clamp(30px,4.6vw,50px);line-height:1.05;margin:0 0 14px;letter-spacing:-.02em}
h1 em{font-style:normal;background:var(--holo);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
h2{font-family:var(--serif);font-weight:800;font-size:clamp(24px,3vw,32px);line-height:1.15;margin:0 0 12px}
h3{font-family:var(--serif);font-size:20px;margin:0 0 8px}
.lede{color:var(--muted);font-size:18px;max-width:34em;margin:0 0 28px}
.muted{color:var(--muted)}
.small{font-size:14px}
.page-head{padding:40px 0 28px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border-radius:999px;background:var(--holo);background-size:220% 100%;color:#120d00;font:600 16px var(--sans);text-decoration:none;border:0;cursor:pointer;transition:background-position .5s,opacity .2s}
.btn:hover{background-position:100% 0}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn.ghost{background:none;color:var(--gold);border:1px solid var(--gold-deep)}
.btn.ghost:hover{background:#1a1507}
.btn.sm{padding:8px 16px;font-size:14px}
.btn.danger{background:none;color:var(--bad);border:1px solid #5a2a24}
.linkish{background:none;border:0;color:var(--gold);cursor:pointer;font:inherit;padding:0;text-decoration:underline}

/* panels */
.panel{border:1px solid transparent;background:linear-gradient(var(--surface),var(--surface)) padding-box,var(--holo) border-box;border-radius:10px;padding:28px}
.panel.plain{background:var(--surface);border:1px solid var(--line)}
.grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:start}
section.block{padding:28px 0 56px}

/* forms */
form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
form .row.three{grid-template-columns:repeat(3,1fr)}
form .row.four{grid-template-columns:repeat(4,1fr)}
label{display:block;font-size:14px;color:var(--muted);margin-bottom:14px}
label span.req{color:var(--gold)}
input,select,textarea{display:block;width:100%;margin-top:6px;padding:12px 14px;background:#060606;border:1px solid var(--line);border-radius:8px;color:var(--text);font:16px var(--sans)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}
textarea{min-height:96px;resize:vertical}
fieldset{border:0;padding:0;margin:0 0 18px}
legend{font-family:var(--serif);font-size:18px;margin-bottom:12px;padding:0}
.choices{display:flex;flex-wrap:wrap;gap:10px}
.choice{margin:0;position:relative}
.choice input{position:absolute;opacity:0;pointer-events:none}
.choice span{display:inline-block;padding:10px 16px;border:1px solid var(--line);border-radius:999px;color:var(--text);cursor:pointer;font-size:15px}
.choice input:checked+span{border-color:var(--gold);background:#1a1507;color:var(--gold)}
.choice input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.msg{padding:12px 16px;border-radius:8px;font-size:15px;margin:0 0 16px}
.msg.err{background:#2a0f0b;color:var(--bad);border:1px solid #5a2a24}
.msg.ok{background:#0d1f0e;color:var(--good);border:1px solid #2a4a2b}

/* search */
.search{display:flex;gap:10px;max-width:560px}
.search input{margin:0;font-size:18px;padding:14px 18px;border-radius:999px;letter-spacing:.06em}

/* cert result: slab */
.cert{display:grid;grid-template-columns:340px 1fr;gap:36px;align-items:start}
.slab{border-radius:18px;padding:12px;background:linear-gradient(160deg,#2b2412,#0b0905);border:1px solid var(--gold-deep);box-shadow:0 30px 80px rgba(232,196,106,.14)}
.slab-label{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;background:#f3efe6;color:#14110a;border-radius:8px;padding:10px 14px;font-size:12px;font-weight:600;line-height:1.3}
.slab-label b{font-family:var(--serif);font-size:14px}
.slab-label .g{grid-row:span 3;text-align:center;font-family:var(--serif);font-weight:800;font-size:34px;line-height:1}
.slab-label .g small{display:block;font-size:10px;letter-spacing:.08em;font-family:var(--sans)}
.slab-photo{margin-top:10px;border-radius:10px;overflow:hidden;aspect-ratio:5/7;background:var(--holo);background-size:300% 300%;display:grid;place-items:center}
.slab-photo img{width:100%;height:100%;object-fit:contain;background:#050505}
.thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.thumbs button{padding:0;border:1px solid var(--line);border-radius:6px;background:#050505;width:56px;height:72px;overflow:hidden;cursor:pointer}
.thumbs button[aria-pressed="true"]{border-color:var(--gold)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.verified{display:inline-flex;align-items:center;gap:8px;color:var(--good);font-size:14px;font-weight:600;margin-bottom:10px}
.subgrades{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}
.subgrades div{padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);text-align:center}
.subgrades b{display:block;font-family:var(--serif);font-size:26px;color:var(--gold);line-height:1.1}
.subgrades span{font-size:13px;color:var(--muted)}
dl.specs{display:grid;grid-template-columns:auto 1fr;gap:8px 24px;margin:0;font-size:15px}
dl.specs dt{color:var(--muted)}
dl.specs dd{margin:0}

/* marketplace */
.tabs{display:flex;gap:8px;margin-bottom:28px;border-bottom:1px solid var(--line)}
.tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);font:600 16px var(--sans);padding:12px 4px;margin-right:18px;cursor:pointer}
.tabs button[aria-selected="true"]{color:var(--gold);border-color:var(--gold)}
.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.toolbar input,.toolbar select{margin:0;width:auto;flex:1;min-width:180px}
.listings{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px}
.listing{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface);transition:border-color .2s}
.listing:hover{border-color:var(--gold-deep)}
.listing .ph{aspect-ratio:4/5;background:#050505;position:relative;cursor:pointer;border:0;padding:0;width:100%}
.listing .ph img{width:100%;height:100%;object-fit:cover}
.badge{position:absolute;top:10px;left:10px;background:#f3efe6;color:#14110a;font:800 13px var(--serif);padding:4px 10px;border-radius:6px}
.badge.pend{left:auto;right:10px;background:#2b2412;color:var(--gold);font:600 12px var(--sans)}
.listing .bd{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.listing h3{font-family:var(--sans);font-size:16px;font-weight:600;margin:0;line-height:1.35}
.listing .price{font-family:var(--serif);font-size:24px;font-weight:800;color:var(--gold);line-height:1;margin-top:auto;padding-top:8px}
.listing .meta{font-size:13px;color:var(--muted)}
.empty{padding:48px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:10px}
.dropzone{display:grid;place-items:center;text-align:center;padding:28px;border:1px dashed var(--gold-deep);border-radius:10px;cursor:pointer;color:var(--muted);margin-bottom:14px}
.dropzone.over{background:#1a1507}
.dropzone input{position:absolute;opacity:0;width:1px;height:1px}
.previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px;margin-bottom:18px}
.previews figure{margin:0;position:relative;aspect-ratio:4/5;border-radius:6px;overflow:hidden;border:1px solid var(--line)}
.previews img{width:100%;height:100%;object-fit:cover}
.previews button{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:0;background:#000c;color:#fff;cursor:pointer;line-height:1}
.payout{display:flex;justify-content:space-between;padding:14px 16px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line);margin-bottom:18px;font-size:15px}
.payout b{color:var(--gold);font-family:var(--serif);font-size:20px}
dialog{max-width:860px;width:calc(100% - 32px);padding:0;border:1px solid var(--gold-deep);border-radius:12px;background:var(--surface);color:var(--text)}
dialog::backdrop{background:#000c}
.dlg{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:28px}
.dlg .main-img{aspect-ratio:4/5;background:#050505;border-radius:8px;overflow:hidden}
.dlg .main-img img{width:100%;height:100%;object-fit:contain}
.close{position:absolute;top:10px;right:12px;background:none;border:0;color:var(--muted);font-size:28px;cursor:pointer;line-height:1}

/* checkout */
.tier-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.tier-pick label{margin:0;cursor:pointer}
.tier-pick input{position:absolute;opacity:0;pointer-events:none}
.tier-pick .t{display:block;padding:16px;border:1px solid var(--line);border-radius:8px;color:var(--text);height:100%}
.tier-pick .t b{display:block;font-family:var(--serif);font-size:17px}
.tier-pick .t em{font-style:normal;color:var(--gold);font-family:var(--serif);font-size:22px;font-weight:800}
.tier-pick .t small{display:block;color:var(--muted);font-size:13px}
.tier-pick input:checked+.t{border-color:var(--gold);background:#1a1507}
.tier-pick input:focus-visible+.t{outline:2px solid var(--gold);outline-offset:2px}
.cart{list-style:none;margin:0 0 16px;padding:0}
.cart li{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.cart .thumb{width:56px;height:70px;border-radius:6px;overflow:hidden;background:var(--holo);display:grid;place-items:center;font:800 12px var(--serif);color:#120d00}
.cart .thumb img{width:100%;height:100%;object-fit:cover}
.cart .ln{font-size:15px}
.cart .ln small{display:block;color:var(--muted);font-size:13px}
.cart .amt{text-align:right;font-weight:600}
.cart .amt button{display:block;margin-left:auto;margin-top:4px;font-size:13px}
.totals{display:flex;justify-content:space-between;align-items:baseline;font-size:15px;padding:6px 0}
.totals.grand{font-size:18px;border-top:1px solid var(--line);margin-top:8px;padding-top:14px}
.totals.grand b{font-family:var(--serif);font-size:28px;color:var(--gold)}
.sticky{position:sticky;top:20px}
.done{text-align:center;padding:48px 28px}
.done .num{font-family:var(--serif);font-size:30px;font-weight:800;color:var(--gold);letter-spacing:.04em}
.steps-list{text-align:left;max-width:520px;margin:20px auto;color:var(--muted)}

/* admin tables */
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--muted);font-weight:600}
td select{margin:0;padding:6px 8px;font-size:14px;width:auto}
.table-wrap{overflow-x:auto}
.mini-thumb{width:40px;height:50px;object-fit:cover;border-radius:4px}

footer.site{border-top:1px solid var(--line);padding:36px 22px 44px;text-align:center;color:var(--muted);font-size:14px;margin-top:40px}
footer.site a{color:var(--muted)}

@media (max-width:860px){
  .grid-2,.cert,.dlg{grid-template-columns:1fr}
  .cert{gap:24px}.cert .slab{max-width:340px;margin:0 auto;width:100%}
  .sticky{position:static}
  .tier-pick{grid-template-columns:1fr}
  form .row.four{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  form .row,form .row.three{grid-template-columns:1fr}
  .subgrades{grid-template-columns:1fr 1fr}
  header.site nav{gap:14px;font-size:14px}
  .panel{padding:20px}
}
@media (prefers-reduced-motion:reduce){.btn{transition:none}}
