/* ============================================================
   AFRY — Base / reset
   Light global defaults: typography baseline, sensible resets.
   Components style themselves via tokens; this just sets the stage.
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }

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

body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-body);
  line-height: var(--leading-normal);
  font-weight: var(--weight-regular);
  color: var(--text-primary);
  background: var(--surface-page);
  text-align: left;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "kern" 1, "liga" 1;
}

/* Headlines: Light weight, tight leading + tracking, left-aligned.
   Color inherits from context so headings are black on light surfaces and
   white on dark/moss surfaces (set color on the container) — never coloured. */
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-weight: var(--weight-light);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-headline);
  color: inherit;
  text-wrap: balance;
}

p { margin: 0; text-wrap: pretty; }

a { color: inherit; text-decoration: none; }

img, svg, video { display: block; max-width: 100%; }

button, input, select, textarea { font: inherit; color: inherit; }

::selection { background: var(--moss-100); color: var(--moss-900); }

/* Utility: the AFRY brand name in running text — all caps, tracked. */
.afry-name { text-transform: uppercase; letter-spacing: var(--tracking-brand); }
