/* ============================================================
   Molnstruktur — base element styles.
   Light, opt-in foundation: sets the body type, heading rhythm,
   links, selection and focus to the brand defaults. Components
   never depend on these, but specimens and kits read nicer.
   ============================================================ */

:root {
  color-scheme: light;
}

body {
  font-family: var(--font-sans);
  font-weight: var(--body-weight);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Headings — Poppins Bold, lowercase-leaning, tight tracking.
   The brand sets headings preferably in lowercase; we don't force
   it globally (content decides) but the rhythm is tuned for it. */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--heading-family);
  font-weight: var(--heading-weight);
  letter-spacing: var(--heading-tracking);
  line-height: var(--leading-tight);
  color: var(--text-strong);
  text-wrap: balance;
}

h1 { font-size: var(--text-4xl); }
h2 { font-size: var(--text-3xl); }
h3 { font-size: var(--text-2xl); }
h4 { font-size: var(--text-xl); }

p { text-wrap: pretty; }

a {
  color: var(--text-accent);
  text-decoration: none;
  transition: color var(--duration-fast) var(--ease-standard);
}
a:hover { color: var(--blue-700); }

strong, b { font-weight: var(--weight-semibold); }

::selection {
  background: var(--blue-200);
  color: var(--navy-900);
}

:focus-visible {
  outline: none;
  box-shadow: var(--shadow-focus);
  border-radius: var(--radius-xs);
}

/* Eyebrow / kicker — lowercase, spaced, cornflower */
.ms-eyebrow {
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-eyebrow);
  color: var(--text-accent);
  text-transform: lowercase;
}
