/* ============================================================
   Evolk RH — Base element styles
   Light reset + sensible defaults bound to the tokens.
   ============================================================ */

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

html {
  font-size: var(--font-size-base);
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  color: var(--text-strong);
  background: var(--bg-app);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-weight: var(--font-weight-semibold);
  color: var(--text-strong);
  letter-spacing: var(--tracking-snug);
}

h1 { font-size: var(--text-2xl); line-height: var(--leading-normal); }
h2 { font-size: var(--text-xl);  line-height: var(--leading-normal); font-weight: var(--font-weight-medium); }
h3 { font-size: var(--text-lg);  line-height: var(--leading-normal); font-weight: var(--font-weight-medium); }
h4 { font-size: var(--text-base); line-height: var(--leading-normal); font-weight: var(--font-weight-medium); }

p { margin: 0; }

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

/* Brand wordmark utility */
.evolk-eyebrow {
  font: var(--type-eyebrow);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  color: var(--brand-700);
}
