/* AgnCred type and button layer, 2026-11-09.
 *
 * The same rules slobal.com ships in Home/site/assets/css/type-2026.css and
 * the Helmsly relay ships in relay/lib/shell.mjs, in AgnCred green:
 *
 *   TYPE      One face, Geist (self-hosted, /fonts, OFL), for every word.
 *             Headings weight 400, sentence case, -0.02em tracking, line
 *             height under 1.1. Mono only for code and data.
 *   COLOUR    Ink headings, grey body, light grey labels.
 *   BUTTONS   Pills. Large 48px high, 16px/500 label, 20px side padding.
 *             Small (nav) 36px high, 14px/500 label, 16px side padding.
 *
 * Colours are AgnCred tokens (Branding/tokens/agncred-tokens.css).
 *
 * Linked LAST on every page, so it wins over chrome.css and site.css. The
 * home page sets some headings with inline styles; the heading rules below
 * use !important for that reason only. Animations are not touched.
 */

@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/fonts/geist-latin-variable.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --sans: "Geist", "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-display: var(--sans);
  --brand-font-display: var(--sans);
  --brand-font-body: var(--sans);
  --text-ink: #0A0E1A;   /* agn-ink */
  --text-grey: #374151;  /* agn-ink-soft */
  --text-light: #6B7385; /* agn-muted */
}

body { font-family: var(--sans); }

h1, h2, h3, h4 {
  font-family: var(--sans) !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: -0.02em !important;
  text-wrap: balance;
}
h1 { line-height: 1 !important; }
h2 { line-height: 1.05 !important; }
h3, h4 { font-weight: 500 !important; letter-spacing: 0 !important; line-height: 1.25 !important; }

/* Small labels: sentence case, no wide tracking. */
.subpage .doc .eyebrow, .faq-group, .eyebrow {
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  color: var(--text-light);
}

/* ---------- Header ---------- */
.nav-link, .nav-menu-link {
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: var(--text-ink);
}

.btn-ghost, .btn-line, .nav-menu-btn {
  box-sizing: border-box;
  min-height: 36px;
  padding: 0 16px;
  border-radius: 999px;
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
}

/* ---------- Page buttons ---------- */
.btn-primary, .btn-outline, .btn-verify {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border-radius: 999px;
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
  transition: transform .28s cubic-bezier(.34,1.56,.64,1), background-color .17s ease, box-shadow .17s ease, color .17s ease;
}
.btn-primary:active, .btn-outline:active, .btn-verify:active { transform: scale(.97); }

/* ---------- Footer ---------- */
.footer-head {
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}
.footer-link {
  font-family: var(--sans);
  font-size: 15px;
  letter-spacing: 0;
  text-transform: none;
}
.site-footer-legal {
  font-family: var(--sans);
  font-size: 13px;
  line-height: 1.7;
  letter-spacing: 0;
}

@media (prefers-reduced-motion: reduce) {
  .btn-primary, .btn-outline, .btn-verify { transition: none; }
  .btn-primary:active, .btn-outline:active, .btn-verify:active { transform: none; }
}
