/* Diecast — shared surface. One world: the mint hall. */
:root{
  --forge:#171209;
  --pressbed:#211a0f;
  --hearth:#2b2214;
  --dross:#3b3120;
  --gauge:#4a3f2b;
  --bone:#ece3cf;
  --smoke:#a89c82;
  --ash:#6f6450;
  --brass:#d2a24a;
  --ember:#c4673a;
  --verdigris:#6fa08b;
  --f-disp:'Pressmark',Georgia,serif;
  --f-text:'Assay',system-ui,sans-serif;
  --f-mono:'Counterstamp',ui-monospace,monospace;
  --s1:8px; --s2:16px; --s3:24px; --s4:40px; --s5:64px; --s6:104px;
  --strike-curve:cubic-bezier(.22,1,.36,1);
  --rim:1px solid var(--dross);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--forge);color:var(--bone);
  font-family:var(--f-text);font-size:16.5px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
::selection{background:var(--brass);color:var(--forge)}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:2px}
img,video,canvas{display:block;max-width:100%}
h1,h2,h3{font-family:var(--f-disp);font-weight:400;line-height:1.08;letter-spacing:.01em}
.mono{font-family:var(--f-mono)}
.tabular{font-variant-numeric:tabular-nums}

/* ---------- top bar ---------- */
.topbar{
  position:fixed;inset:0 0 auto 0;z-index:40;
  display:flex;align-items:center;gap:var(--s3);
  padding:0 var(--s3);height:64px;
  background:#171209;
  border-bottom:var(--rim);
}
.brand{font-family:var(--f-disp);font-size:23px;letter-spacing:.06em;color:var(--bone);min-height:44px;display:inline-flex;align-items:center}
.ticker-nav{display:flex;gap:var(--s2);margin-left:auto;align-items:center;overflow-x:auto;scrollbar-width:none}
.ticker-nav::-webkit-scrollbar{display:none}
.ticker-nav a{
  font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--smoke);padding:12px 6px;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap;
  border-bottom:1px solid transparent;transition:color .3s var(--strike-curve);
}
.ticker-nav a:hover{color:var(--brass)}
.ticker-nav a[aria-current]{color:var(--brass);border-bottom-color:var(--brass)}
.topbar [data-slot="ca"]:empty,.topbar .xslot:empty{display:none}

/* ---------- shared layout ---------- */
.wrap{max-width:1180px;margin:0 auto;padding:0 var(--s3)}
main{display:block}
section[id]{scroll-margin-top:84px}
.sheet{padding-top:calc(64px + var(--s6))}
.eyebrow{
  font-family:var(--f-mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--brass);margin-bottom:var(--s2);
}
.lede{font-size:19px;line-height:1.55;color:var(--smoke);max-width:62ch}
.lede strong,.lede b{color:var(--bone);font-weight:500}
.h-display{font-size:clamp(2rem,4.4vw,3.15rem);margin-bottom:var(--s3)}
.prose p{margin-bottom:var(--s2);max-width:68ch}
.prose h2{font-size:clamp(1.55rem,3vw,2.1rem);margin:var(--s5) 0 var(--s2)}
.prose h3{font-family:var(--f-text);font-weight:500;font-size:18px;margin:var(--s4) 0 var(--s1)}
.prose ul{margin:0 0 var(--s2) var(--s3)}
.prose ol{margin:0 0 var(--s2) var(--s3)}
.prose ol li{margin-bottom:var(--s1);max-width:68ch}
.prose ol li::marker{color:var(--brass);font-family:var(--f-mono)}
.qa{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4) var(--s5)}
@media (max-width:900px){.qa{grid-template-columns:1fr}}
.prose li{margin-bottom:var(--s1);max-width:68ch}
.prose li::marker{color:var(--brass)}
.dim{color:var(--smoke)}
.prose a,.qa .a a{padding:13px 2px;margin:-13px -2px;border-radius:2px}
.hot{color:var(--ember)}
.cool{color:var(--verdigris)}
.gilt{color:var(--brass)}

/* reveal */
.rise{opacity:0;transform:translateY(26px);transition:opacity .9s var(--strike-curve),transform .9s var(--strike-curve)}
.rise.seen{opacity:1;transform:none}

/* ---------- tables ---------- */
table.spec{width:100%;border-collapse:collapse;margin:var(--s3) 0}
table.spec caption{text-align:left;font-family:var(--f-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ash);padding-bottom:var(--s2)}
table.spec th{
  text-align:left;font-family:var(--f-mono);font-weight:400;font-size:11.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ash);
  padding:var(--s1) var(--s2) var(--s1) 0;border-bottom:1px solid var(--gauge);white-space:nowrap;
}
table.spec td{padding:14px var(--s2) 14px 0;border-bottom:var(--rim);vertical-align:top;font-size:15.5px}
table.spec td.v{font-family:var(--f-mono);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--bone)}
table.spec td.no{color:var(--smoke)}
table.spec .unit{color:var(--ash);font-size:12.5px}
.tscroll{overflow-x:auto}
.none-tag{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;color:var(--brass);border:1px solid var(--gauge);padding:3px 8px;border-radius:2px;white-space:nowrap}

/* ---------- bands (media as environment) ---------- */
.band{position:relative;overflow:hidden;border-top:var(--rim);border-bottom:var(--rim)}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band .veil{position:absolute;inset:0;background:linear-gradient(100deg,rgba(23,18,9,.96) 28%,rgba(23,18,9,.78) 58%,rgba(23,18,9,.42))}
.band .band-in{position:relative;padding:var(--s6) 0}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;
  padding:0 var(--s3);font-family:var(--f-mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid var(--gauge);color:var(--bone);background:transparent;cursor:pointer;border-radius:2px;
  transition:border-color .3s var(--strike-curve),color .3s var(--strike-curve),background .3s var(--strike-curve);
}
.btn:hover{border-color:var(--brass);color:var(--brass)}
.btn.solid{background:var(--brass);border-color:var(--brass);color:var(--forge)}
.btn.solid:hover{background:var(--bone);border-color:var(--bone);color:var(--forge)}

/* ---------- footer ---------- */
.foot{border-top:var(--rim);margin-top:var(--s5);padding:var(--s5) 0 var(--s4)}
.foot-grid{display:flex;flex-wrap:wrap;gap:var(--s4);align-items:flex-start;justify-content:space-between}
.foot .brand{font-size:20px}
.foot-sentence{font-family:var(--f-disp);font-size:17px;color:var(--smoke);max-width:34ch;line-height:1.4}
.foot-links{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3)}
.foot-links a{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ash);padding:8px 0;min-height:44px;display:inline-flex;align-items:center}
.foot-links a:hover{color:var(--brass)}

/* ---------- docs chrome ---------- */
.crumb{font-family:var(--f-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);margin-bottom:var(--s3)}
.crumb a{color:var(--smoke)}
.crumb a:hover{color:var(--brass)}
.prevnext{display:flex;justify-content:space-between;gap:var(--s3);margin-top:var(--s6);border-top:var(--rim);padding-top:var(--s3)}
.prevnext a{min-height:44px;display:inline-flex;flex-direction:column;justify-content:center;gap:4px;max-width:46%}
.prevnext .dir{font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ash)}
.prevnext .ttl{font-family:var(--f-disp);font-size:18px;color:var(--bone)}
.prevnext a:hover .ttl{color:var(--brass)}
.prevnext .next{text-align:right;margin-left:auto}
.doclist{display:grid;gap:0;margin:var(--s4) 0}
.doclist a{display:grid;grid-template-columns:56px 1fr;gap:var(--s2);padding:var(--s2) 0;border-bottom:var(--rim);align-items:baseline}
.doclist .n{font-family:var(--f-mono);color:var(--ash);font-size:13px}
.doclist .t{font-family:var(--f-disp);font-size:21px}
.doclist .d{color:var(--smoke);font-size:14.5px;grid-column:2;max-width:64ch}
.doclist a:hover .t{color:var(--brass)}

/* ---------- notes ---------- */
.notehead{margin-bottom:var(--s4)}
.notewhen{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash)}

/* ---------- 404 ---------- */
.void{min-height:100svh;display:grid;place-items:center;position:relative;overflow:hidden}
.void img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.void .veil{position:absolute;inset:0;background:rgba(23,18,9,.72)}
.void .void-in{position:relative;text-align:center;padding:var(--s4)}
.void h1{font-size:clamp(2.2rem,6vw,4rem);margin-bottom:var(--s2)}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .rise{opacity:1;transform:none;transition:none}
  *{animation-duration:.001s !important;transition-duration:.001s !important}
}

/* ---------- small screens ---------- */
@media (max-width:760px){
  body{font-size:15.5px}
  .topbar{gap:var(--s2);padding:0 var(--s2)}
  .brand{font-size:20px}
  .ticker-nav a{font-size:11px;padding:16px 5px}
  .foot-links a{padding:14px 0}
  .sheet{padding-top:calc(64px + var(--s5))}
  .band .band-in{padding:var(--s5) 0}
  table.spec td{font-size:14.5px}
  .prevnext a{max-width:48%}
}
