/* Tavryn: the look of a well-kept financial document. Warm paper, ink, one royal blue
   from the logo used sparingly, serif headlines, monospaced figures. */
:root {
  --paper: #f6f3ec;
  --paper-deep: #efeadf;
  --sheet: #fffdf8;
  --ink: #16181d;
  --ink-soft: #3d424d;
  --muted: #6b6f78;
  --faint: #9a9da4;
  --rule: #ddd6c7;
  --rule-soft: #e9e3d6;
  --blue: #2346d8;
  --blue-deep: #182f9e;
  --blue-wash: #e8ecfb;
  --gold: #c8901f;
  --green: #1f6b45;
  --green-wash: #e3efe6;
  --red: #a3362c;
  --red-wash: #f6e4e0;

  --serif: "Instrument Serif", "Iowan Old Style", Georgia, serif;
  --sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --radius: 6px;
  font-family: var(--sans);
  color: var(--ink);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; line-height: 1.6; color: var(--ink); background: var(--paper); -webkit-font-smoothing: antialiased; }
h1, h2, h3, p { margin: 0; }
a { color: inherit; }
button, input, select { font: inherit; color: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }
.mono { font-family: var(--mono); font-feature-settings: "zero" 1; }

.logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font-family: var(--serif); font-size: 1.55rem; line-height: 1; letter-spacing: -0.01em; }
.logo img { width: 28px; height: 28px; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 42px; padding: 0 18px; border-radius: var(--radius); border: 1px solid var(--ink); font-weight: 600; font-size: 0.93rem; text-decoration: none; transition: background 0.15s ease, color 0.15s ease; }
.btn-ink { background: var(--ink); color: var(--paper); }
.btn-ink:hover { background: var(--blue-deep); border-color: var(--blue-deep); }
.btn-line { background: transparent; color: var(--ink); }
.btn-line:hover { background: var(--ink); color: var(--paper); }
.btn:disabled { opacity: 0.45; cursor: default; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
