*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--surface-page);
  color: var(--text-heading);
  font: var(--type-body-md);
  font-feature-settings: var(--font-features);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
::selection { background: var(--selection-bg); color: var(--selection-fg); }
a { color: var(--text-link); text-decoration: none; }
a:hover { text-decoration: underline; }
a:active { color: var(--text-link-pressed); }
h1, h2, h3, h4, h5, h6 { margin: 0; font-family: var(--font-sans); font-weight: var(--weight-display); color: var(--text-heading); }
h1 { font-size: var(--text-display-xl); line-height: 1.08; letter-spacing: var(--ls-display-xl); }
h2 { font-size: var(--text-display-lg); line-height: 1.25; letter-spacing: var(--ls-display-lg); }
h3 { font-size: var(--text-display-md); line-height: 1.33; letter-spacing: var(--ls-display-md); }
h4 { font-size: var(--text-display-sm); line-height: 1.4; letter-spacing: var(--ls-display-sm); }
p { margin: 0; color: var(--text-body); }
code, pre, kbd { font-family: var(--font-mono); font-size: var(--text-code); line-height: var(--lh-code); }
button { font-family: inherit; }
hr { border: 0; border-top: 1px solid var(--border-default); margin: 0; }
:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.mono-eyebrow { font: var(--type-caption-mono); color: var(--text-mute); text-transform: uppercase; letter-spacing: 0.02em; }
