[hidden] { display: none !important; }

:root {
  --bg:#0B0B0D; --panel:#111114; --line:#2C2C31;
  --gold:#C89B3C; --gold-hi:#E6BE63; --cream:#EFEADD; --muted:#A09C91;
}

* { box-sizing:border-box; }
html { color-scheme:dark; }
body {
  margin:0; background:var(--bg); color:var(--cream);
  font-family:"Karla",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased;
}
a { color:var(--gold-hi); text-underline-offset:3px; }
a:hover { color:var(--cream); }

.sitehead {
  border-bottom:1px solid var(--line); background:rgba(11,11,13,.96);
  position:sticky; top:0; z-index:5;
}
.sitehead-inner, main, .sitefoot-inner { width:min(70rem,calc(100% - 2.5rem)); margin:0 auto; }
.sitehead-inner {
  min-height:4.5rem; display:flex; align-items:center; justify-content:space-between; gap:2rem;
}
.brand {
  color:var(--cream); text-decoration:none; font-family:"Fraunces",Georgia,serif;
  font-size:1.35rem; line-height:1; white-space:nowrap;
}
.brand i { color:var(--gold); font-style:normal; }
.sitehead nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.35rem 1.2rem; }
.sitehead nav a {
  color:var(--muted); text-decoration:none; font-family:"JetBrains Mono",monospace;
  font-size:.62rem; letter-spacing:.08em; text-transform:uppercase;
}
.sitehead nav a:hover, .sitehead nav a[aria-current="page"] { color:var(--gold-hi); }

main { padding:clamp(3rem,8vw,6.5rem) 0 6rem; }
.eyebrow {
  margin:0 0 .7rem; color:var(--gold); font-family:"JetBrains Mono",monospace;
  font-size:.66rem; letter-spacing:.14em; text-transform:uppercase;
}
h1, h2 {
  font-family:"Fraunces",Georgia,"Times New Roman",serif;
  font-weight:500; letter-spacing:0;
}
h1 { max-width:52rem; margin:0; font-size:clamp(2.6rem,7vw,5rem); line-height:1.02; }
.lead { max-width:46rem; margin:1.3rem 0 0; color:var(--muted); font-size:clamp(1.05rem,2vw,1.25rem); }
.lede-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.6rem; }
.button {
  display:inline-flex; align-items:center; justify-content:center; min-height:2.8rem;
  padding:.65rem 1rem; border:1px solid var(--gold); border-radius:2px;
  background:var(--gold); color:#17130A; text-decoration:none; font-weight:600;
}
.button:hover { background:var(--gold-hi); color:#17130A; }
.button.secondary { background:transparent; color:var(--cream); border-color:var(--line); }
.button.secondary:hover { border-color:var(--gold); color:var(--gold-hi); }

.content { max-width:48rem; margin-top:clamp(3rem,7vw,5.5rem); }
.content section { border-top:1px solid var(--line); padding-top:1.5rem; margin-top:2.4rem; }
.content h2 { margin:0 0 .8rem; font-size:clamp(1.55rem,3vw,2.1rem); line-height:1.15; }
.content h3 { margin:1.5rem 0 .4rem; font-size:1rem; }
.content p { margin:.65rem 0; color:#D1CDC2; }
.content ul, .content ol { margin:.7rem 0; padding-left:1.25rem; color:#D1CDC2; }
.content li { margin:.45rem 0; padding-left:.2rem; }
.content strong { color:var(--cream); }
.content .fine { color:var(--muted); font-size:.82rem; }
.content .callout {
  border-left:2px solid var(--gold); padding:.15rem 0 .15rem 1rem;
  color:var(--cream); margin:1.2rem 0;
}
.facts-grid, .steps {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  margin-top:2rem; background:var(--line); border:1px solid var(--line);
}
.fact, .step { background:var(--panel); padding:1.2rem; }
.fact b, .step b {
  display:block; color:var(--gold); font-family:"JetBrains Mono",monospace;
  font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; margin-bottom:.45rem;
}
.fact span, .step span { color:#D1CDC2; font-size:.92rem; }
.contact-list { list-style:none; padding:0 !important; }
.contact-list li { padding:0; }

.sitefoot { border-top:1px solid var(--line); }
.sitefoot-inner {
  display:flex; justify-content:space-between; gap:1.5rem; padding:2rem 0 2.5rem;
  color:var(--muted); font-size:.75rem;
}
.sitefoot nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.5rem 1rem; }
.sitefoot a { color:var(--muted); }
:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }

@media (max-width:760px) {
  .sitehead { position:static; }
  .sitehead-inner { align-items:flex-start; flex-direction:column; gap:1rem; padding:1.2rem 0; }
  .sitehead nav { justify-content:flex-start; }
  .facts-grid, .steps { grid-template-columns:1fr; }
  .sitefoot-inner { flex-direction:column; }
  .sitefoot nav { justify-content:flex-start; }
}
