/* ── Base / reset ───────────────────────────────────────────────────────
   Minimal global defaults for the Andrew’s Design System system. Type scale and colors
   come from the token layer; this file only establishes sane document
   defaults so authored components sit on a neutral, light canvas.
   ──────────────────────────────────────────────────────────────────────── */

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

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

body {
  margin: 0;
  font-family: var(--font-family-base);
  font-size: 14px;
  line-height: 20px;
  font-weight: var(--font-weight-regular, 400);
  color: var(--text-body-default);
  background-color: var(--background-layout-main, #fff);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Andrew’s Design System body copy is 14/20; secondary text 14/20 grey-600.
   Headings use Ember Bold. */
h1, h2, h3, h4, h5 {
  color: var(--text-heading-default);
  font-weight: var(--font-weight-bold, 700);
  margin: 0;
}

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

code, pre, kbd, samp {
  font-family: var(--font-family-monospace);
}

/* Type-scale helper classes (Andrew’s Design System "font" tokens) --------------------- */
.cs-display-l   { font-size: 42px; line-height: 48px; font-weight: 300; letter-spacing: -0.02em; }
.cs-heading-xl  { font-size: 28px; line-height: 36px; font-weight: 700; }
.cs-heading-l   { font-size: 20px; line-height: 24px; font-weight: 700; }
.cs-heading-m   { font-size: 18px; line-height: 22px; font-weight: 700; }
.cs-heading-s   { font-size: 16px; line-height: 20px; font-weight: 700; }
.cs-body-m      { font-size: 14px; line-height: 20px; font-weight: 400; }
.cs-body-s      { font-size: 12px; line-height: 16px; font-weight: 400; }
.cs-mono        { font-family: var(--font-family-monospace); font-size: 12px; line-height: 20px; }
