/* Wanted Design System — Base reset + type role utilities
   Minimal, opinionated defaults so bare HTML picks up Wanted's voice. */

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

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

body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--body-1-size);
  line-height: var(--body-1-line);
  letter-spacing: var(--body-1-track);
  color: var(--text-normal);
  background: var(--surface);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  color: var(--primary);
  text-decoration: none;
}
a:hover { color: var(--primary-strong); text-decoration: underline; }

::selection { background: var(--blue-95); color: var(--blue-40); }

/* ---- Type role utility classes ---- */
.wds-display-1 { font-family: var(--font-brand); font-weight: var(--weight-bold); font-size: var(--display-1-size); line-height: var(--display-1-line); letter-spacing: var(--display-1-track); }
.wds-display-2 { font-family: var(--font-brand); font-weight: var(--weight-bold); font-size: var(--display-2-size); line-height: var(--display-2-line); letter-spacing: var(--display-2-track); }

.wds-title-1 { font-weight: var(--weight-bold); font-size: var(--title-1-size); line-height: var(--title-1-line); letter-spacing: var(--title-1-track); }
.wds-title-2 { font-weight: var(--weight-bold); font-size: var(--title-2-size); line-height: var(--title-2-line); letter-spacing: var(--title-2-track); }
.wds-title-3 { font-weight: var(--weight-bold); font-size: var(--title-3-size); line-height: var(--title-3-line); letter-spacing: var(--title-3-track); }

.wds-heading-1 { font-weight: var(--weight-semibold); font-size: var(--heading-1-size); line-height: var(--heading-1-line); letter-spacing: var(--heading-1-track); }
.wds-heading-2 { font-weight: var(--weight-semibold); font-size: var(--heading-2-size); line-height: var(--heading-2-line); letter-spacing: var(--heading-2-track); }

.wds-body-1 { font-weight: var(--weight-regular); font-size: var(--body-1-size); line-height: var(--body-1-line); letter-spacing: var(--body-1-track); }
.wds-body-1-strong { font-weight: var(--weight-semibold); font-size: var(--body-1-size); line-height: var(--body-1-line); letter-spacing: var(--body-1-track); }
.wds-body-2 { font-weight: var(--weight-regular); font-size: var(--body-2-size); line-height: var(--body-2-line); letter-spacing: var(--body-2-track); }

.wds-label-1 { font-weight: var(--weight-medium); font-size: var(--label-1-size); line-height: var(--label-1-line); letter-spacing: var(--label-1-track); }
.wds-label-1-strong { font-weight: var(--weight-semibold); font-size: var(--label-1-size); line-height: var(--label-1-line); letter-spacing: var(--label-1-track); }
.wds-label-2 { font-weight: var(--weight-medium); font-size: var(--label-2-size); line-height: var(--label-2-line); letter-spacing: var(--label-2-track); }

.wds-caption-1 { font-weight: var(--weight-medium); font-size: var(--caption-1-size); line-height: var(--caption-1-line); letter-spacing: var(--caption-1-track); }
.wds-caption-2 { font-weight: var(--weight-medium); font-size: var(--caption-2-size); line-height: var(--caption-2-line); letter-spacing: var(--caption-2-track); }
