/* Merlin landing — Brand Kit v1.0. Graphite ramp + Talon gold, rationed. */
:root {
  --g950: #0A0B0D; --g900: #101114; --g800: #17181C; --g700: #212328;
  --g600: #2E3138; --g500: #4B4F59; --g400: #6B7078; --g300: #9BA0A8;
  --g200: #C6CAD1; --g100: #E9EBEE; --g50: #F5F6F8;
  --talon: #F0B440;
  --display: 'Schibsted Grotesk', sans-serif;
  --text: 'Instrument Sans', sans-serif;
  --mono: 'Geist Mono', monospace;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
::selection { background: var(--talon); color: var(--g950); }
/* no scroll-behavior:smooth — it fights the Lenis per-frame scroll driver */
body { background: var(--g950); color: var(--g100); font-family: var(--text); font-size: 17px; line-height: 1.65; overflow-x: hidden; }
h1, h2, h3 { overflow-wrap: break-word; }
.wrap { max-width: 1080px; margin: 0 auto; padding: 0 24px; }
a { color: inherit; text-decoration: none; }

.wm { font-family: var(--display); font-weight: 600; letter-spacing: -0.03em; color: var(--g100); }
.wm .dot { display: inline-block; width: 0.2em; height: 0.2em; background: var(--talon); margin-left: 0.05em; }

nav { display: flex; justify-content: space-between; align-items: center; padding: 20px 0; }
nav .wm { font-size: 22px; }
nav .links { display: flex; align-items: center; gap: 28px; font-size: 15px; color: var(--g300); }
nav .links a:hover { color: var(--g100); }
.btn { display: inline-block; background: var(--talon); color: var(--g950); font-weight: 600;
  padding: 10px 18px; border-radius: 8px; transition: filter 120ms; }
.btn:hover { filter: brightness(1.06); }
.btn.big { font-size: 17px; padding: 14px 28px; border-radius: 10px; }
.btn.ghost { background: transparent; color: var(--g200); border: 1px solid var(--g600); }
.btn.ghost:hover { border-color: var(--g400); filter: none; }

/* (The old landing-page component rules — hero, deck, kicker, cards, moat,
   price card, faq, footer — were pruned 7 Jul 2026: no page linking this
   stylesheet uses them, and several styled marketing text in mono, against
   the brand's terminal-only mono rail. The live landing page carries its own
   inline styles.) */

/* docs + legal pages */
.doc { max-width: 760px; margin: 0 auto; padding: 48px 24px 96px 24px; }
.doc h1 { font-family: var(--display); font-weight: 600; font-size: 40px; letter-spacing: -0.025em; margin: 24px 0; }
.doc h2 { font-family: var(--display); font-weight: 600; letter-spacing: -0.025em; line-height: 1.1; font-size: 26px; margin: 44px 0 12px 0; }
.doc h3 { font-family: var(--display); font-size: 19px; margin: 28px 0 8px 0; }
/* the global margin reset needs vertical rhythm back on prose pages —
   changelog bullets and docs paragraphs must not abut into one block */
.doc p, .doc li { color: var(--g300); font-size: 16px; margin: 10px 0; }
.doc ul, .doc ol { padding-left: 24px; margin: 12px 0; }
.doc code { font-family: var(--mono); font-size: 14px; background: var(--g800);
  border: 1px solid var(--g700); border-radius: 4px; padding: 1px 6px; color: var(--g200); }
.doc pre { background: var(--g900); border: 1px solid var(--g700); border-radius: 8px;
  padding: 16px; overflow-x: auto; margin: 12px 0; }
.doc pre code { background: none; border: none; padding: 0; }
/* caption, not a terminal depiction — mono is terminal-only */
.doc .updated { font-size: 13px; color: var(--g400); }

@media (max-width: 760px) {
  .steps { grid-template-columns: 1fr; }
  .deck { grid-template-columns: 1fr; }
  .deck .stack { grid-template-rows: none; grid-template-columns: 1fr 1fr; }
  nav .links .hide-m { display: none; }
  .price-card { justify-content: center; text-align: center; }
}
