/* base.css — resets + global element defaults */

/* Lilex — analytical mono for numbers, formulas, decision cards (Plex Mono falls back) */
@font-face { font-family: "Lilex"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("https://cdn.jsdelivr.net/npm/@fontsource/lilex@5/files/lilex-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Lilex"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("https://cdn.jsdelivr.net/npm/@fontsource/lilex@5/files/lilex-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Lilex"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("https://cdn.jsdelivr.net/npm/@fontsource/lilex@5/files/lilex-latin-600-normal.woff2") format("woff2"); }

*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  font-family: var(--f-sans);
  font-size: var(--t-md);
  font-weight: var(--w-reg);
  line-height: var(--lh-body);
  color: var(--c-ink);
  background: var(--c-canvas);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
  font-family: var(--f-display);
  line-height: var(--lh-tight);
  font-weight: var(--w-semi);
  letter-spacing: -0.025em;
}

a { color: inherit; text-decoration: none; transition: color var(--dur-1) var(--ease); }
a:hover { color: var(--c-accent); }

button { font: inherit; color: inherit; cursor: pointer; background: none; border: none; }
input, select { font: inherit; color: inherit; }
ul, ol { list-style: none; padding: 0; }
svg { display: block; }

::selection { background: var(--c-accent); color: #fff; }

:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--c-canvas), 0 0 0 5px var(--c-accent-ring); border-radius: 4px; }

/* logo: never show the harsh global box; refined keyboard-only ring, no layout shift */
.brand:focus { outline: none; box-shadow: none; }
.brand:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--c-accent-ring); border-radius: var(--r-sm); }

.mono { font-family: var(--f-mono); font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1; }
.eyebrow {
  font-family: var(--f-mono);
  font-size: var(--t-xs);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--c-ink-faint);
  font-weight: var(--w-med);
}
.visually-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
