/* CorpScale base layer — sensible resets + typographic defaults.
   Consumers get these by linking styles.css. */

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

body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--type-body-size);
  line-height: var(--type-body-lh);
  color: var(--text-primary);
  background: var(--bg-app);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Headline elements default to serif */
h1, h2, h3, h4 { font-family: var(--font-serif); margin: 0; color: var(--text-primary); }
code, kbd, pre, samp { font-family: var(--font-mono); }

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

/* ---- Type utility classes ---- */
.cs-display  { font-family: var(--font-serif); font-size: var(--type-display-size);  line-height: var(--type-display-lh);  font-weight: var(--type-display-weight); letter-spacing: var(--tracking-tight); }
.cs-headline { font-family: var(--font-serif); font-size: var(--type-headline-size); line-height: var(--type-headline-lh); font-weight: var(--type-headline-weight); }
.cs-subhead  { font-family: var(--font-serif); font-size: var(--type-subhead-size);  line-height: var(--type-subhead-lh);  font-weight: var(--type-subhead-weight); }
.cs-body-lg  { font-family: var(--font-sans);  font-size: var(--type-body-lg-size);  line-height: var(--type-body-lg-lh);  font-weight: var(--type-body-lg-weight); }
.cs-body     { font-family: var(--font-sans);  font-size: var(--type-body-size);     line-height: var(--type-body-lh);     font-weight: var(--type-body-weight); }
.cs-body-sm  { font-family: var(--font-sans);  font-size: var(--type-body-sm-size);  line-height: var(--type-body-sm-lh);  font-weight: var(--type-body-sm-weight); }
.cs-caption  { font-family: var(--font-sans);  font-size: var(--type-caption-size);  line-height: var(--type-caption-lh);  font-weight: var(--type-caption-weight); }
.cs-overline { font-family: var(--font-sans);  font-size: var(--type-overline-size); line-height: var(--type-overline-lh); font-weight: var(--type-overline-weight); letter-spacing: var(--tracking-overline); text-transform: uppercase; color: var(--text-tertiary); }
.cs-code     { font-family: var(--font-mono);  font-size: var(--type-code-size);     line-height: var(--type-code-lh);     font-weight: var(--type-code-weight); }
