:root{
  --soot:#16130f; --forge:#211c14;
  --bronze:#b0793a; --copper:#d9a05b; --verdigris:#7fa892;
  --bone:#ece2cf; --bone-dim:#b8ad97;
  --hairline:rgba(217,160,91,.2); --max:1100px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--soot);color:var(--bone);font-family:'Newsreader',Georgia,serif;font-size:1.05rem;line-height:1.6;-webkit-font-smoothing:antialiased}
::selection{background:var(--bronze);color:var(--soot)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze)}
h1,h2,h3{font-family:'Marcellus',serif;font-weight:400;color:var(--bone)}
a{color:var(--copper);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--copper);outline-offset:3px;border-radius:2px}

/* nav */
nav{position:sticky;top:0;z-index:20;background:rgba(22,19,15,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--hairline)}
nav.overlay{position:fixed;left:0;right:0;background:linear-gradient(to bottom,rgba(10,8,5,.7),transparent);border-bottom:none;backdrop-filter:none}
nav.overlay.solid{background:rgba(22,19,15,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--hairline)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:var(--max);margin:0 auto}
.wordmark{font-family:'Marcellus',serif;font-size:1rem;letter-spacing:.28em;text-transform:uppercase;color:var(--bone);display:flex;align-items:center;gap:12px}
.nav-links{display:flex;gap:26px;font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.08em}
.nav-links a{color:var(--bone-dim)}
.nav-links a.active,.nav-links a:hover{color:var(--copper);text-decoration:none}
@media(max-width:640px){.nav-links{gap:14px;font-size:.65rem}.wordmark{letter-spacing:.18em}}

/* shared */
section{padding:88px 0}
.section-head{margin-bottom:44px;max-width:620px}
.section-head h2{font-size:clamp(1.6rem,3.6vw,2.2rem);margin-top:12px;letter-spacing:.02em}
.section-head p{color:var(--bone-dim);margin-top:12px}
.btn{display:inline-block;background:var(--bronze);color:var(--soot);border-radius:2px;padding:14px 28px;font-family:'IBM Plex Mono',monospace;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}
.btn:hover{background:var(--copper);text-decoration:none}
.btn.ghost{background:transparent;color:var(--bone);border:1px solid rgba(236,226,207,.35)}
.btn.ghost:hover{border-color:var(--copper);color:var(--copper)}
.status{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:.63rem;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;border:1px solid var(--hairline);border-radius:2px;color:var(--bone-dim)}
.status.now{color:var(--copper);border-color:rgba(217,160,91,.5)}
.status.soon{color:var(--verdigris);border-color:rgba(127,168,146,.45)}
.card{background:var(--forge);border:1px solid var(--hairline);border-radius:3px;padding:30px;transition:border-color .25s ease,transform .25s ease}
.card:hover{border-color:rgba(217,160,91,.5);transform:translateY(-3px)}
.more{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}

/* footer */
footer{padding:52px 0 60px;border-top:1px solid var(--hairline)}
.foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;color:var(--bone-dim);font-size:.88rem}
.foot .fine{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.08em;margin-top:8px;max-width:62ch}
.foot-links{display:flex;gap:22px;font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.1em;margin-top:10px}
.foot-links a{color:var(--bone-dim)}
.foot-links a:hover{color:var(--copper)}

/* reveal */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
}
