/* Bridge AI base layer. Light-first, operator-grade.
   Sets the warm-paper canvas, Ink text, DM Sans, and the Light-300 headline rule
   so any rendered design starts on-brand before component classes are applied. */

html,
body {
  background: var(--color-paper-white);
  color: var(--color-ink);
  font-family: var(--font-dm-sans);
  font-size: var(--text-body);
  line-height: var(--leading-body);
  font-weight: var(--font-weight-regular);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Headlines 28px and up are DM Sans Light (300) with tight negative tracking. */
h1,
h2,
h3 {
  margin: 0;
  color: var(--color-ink);
  font-weight: var(--font-weight-light);
  letter-spacing: -0.02em;
}
h1 { font-size: var(--text-display);    line-height: var(--leading-display); }
h2 { font-size: var(--text-heading-lg); line-height: var(--leading-heading-lg); }
h3 { font-size: var(--text-heading);    line-height: var(--leading-heading); }

/* Section title sits below the headline scale: 22px, medium. */
h4 {
  margin: 0;
  color: var(--color-ink);
  font-size: var(--text-section);
  line-height: var(--leading-section);
  letter-spacing: -0.01em;
  font-weight: var(--font-weight-medium);
}

p { margin: 0; color: var(--color-ink); }
small { color: var(--color-graphite); font-size: var(--text-caption); }

a { color: var(--color-ink); text-decoration: none; }
a:hover { text-decoration: underline; }

/* The only permitted divider: a single hairline Ash rule. */
hr {
  border: 0;
  border-top: 1px solid var(--color-ash-border);
  margin: var(--spacing-32) 0;
}

/* Figures read as instruments. */
code,
pre,
.mono { font-family: var(--font-mono); }

::selection { background: var(--color-ink); color: var(--color-paper-white); }
