/* ============================================================
   Swatch Four — base element defaults
   Optional reset/base layer consuming projects can rely on.
   ============================================================ */

:root {
  color-scheme: light;
}

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

h1, h2, h3, h4, h5 {
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-display);
  color: var(--text-primary);
  margin: 0 0 var(--space-4);
  text-wrap: balance;
}

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

a {
  color: inherit;
  text-underline-offset: 0.15em;
}

/* Wide tracked uppercase label */
.sf-eyebrow {
  font-family: var(--font-body);
  font-weight: var(--fw-bold);
  font-size: var(--text-eyebrow);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--text-muted);
}

/* Butter-yellow headline accent — the signature dark-mode headline treatment
   (also works in light mode for an accented header). */
.sf-heading-accent {
  color: var(--text-heading);
}

/* Thin editorial divider (Notion-style rhythm) */
.sf-rule {
  border: 0;
  border-top: var(--border-width) solid var(--border-hair);
  margin: var(--space-6) 0;
}

::selection {
  background: var(--sf-highlight);
  color: var(--sf-black);
}

*:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}
