/* 01:PM — Base element defaults.
   Light, opt-in: sets document typography + a few helpful resets without being heavy-handed.
   Components reference tokens directly, so this is mostly for raw HTML / specimen cards. */

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

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--text-primary);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3 {
  font-family: var(--font-display);
  font-weight: var(--fw-semibold);
  color: var(--text-primary);
  margin: 0 0 var(--s-4);
  text-wrap: balance;
}
h1 { font-size: var(--fs-h1); line-height: var(--lh-h1); }
h2 { font-size: var(--fs-h2); line-height: var(--lh-h2); }
h3 { font-size: var(--fs-h3); line-height: var(--lh-h3); font-weight: var(--fw-medium); }

p { margin: 0 0 var(--s-4); text-wrap: pretty; }

/* Editorial measure — opt-in. Applications set their own column widths;
   only running prose (site, docs, slides notes) is capped at --measure. */
.prose p, .prose li, .prose blockquote { max-width: var(--measure); }

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

/* Mono overline — the digital-clock signature */
.overline {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  line-height: var(--lh-label);
  letter-spacing: var(--ls-label);
  text-transform: uppercase;
  font-weight: var(--fw-semibold);
  color: var(--text-muted);
}

/* The 01:PM wordmark lockup */
.wordmark {
  font-family: var(--font-mono);
  font-weight: var(--fw-semibold);
  letter-spacing: 0.02em;
  color: var(--text-primary);
}
.wordmark .colon { color: var(--c-accent); }
