/* Cohere — typography tokens.
   Display/body/mono split. Massive, tight, near-monospaced display; restrained
   16–24px body. Avoid heavy bold — size, spacing and surface contrast carry
   hierarchy. Family names below are the documented fallback stacks with free
   substitutes first (see tokens/fonts.css). */
:root {
  /* --- Families --- */
  --font-display: "Space Grotesk", "CohereText", "Inter", ui-sans-serif, system-ui, sans-serif;
  --font-body: "Hanken Grotesk", "Unica77 Cohere Web", "Inter", Arial, ui-sans-serif, system-ui, sans-serif;
  --font-mono: "Space Mono", "CohereMono", Arial, ui-sans-serif, monospace;

  /* --- Weights (keep light; 500 is the practical max for UI) --- */
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;

  /* --- Type scale: size / line-height / tracking. lh + ls are typographic. --- */
  --hero-display-size: 96px;
  --hero-display-lh: 1.0;       /* @kind font */
  --hero-display-ls: -1.92px;   /* @kind font */
  --product-display-size: 72px;
  --product-display-lh: 1.0;    /* @kind font */
  --product-display-ls: -1.44px; /* @kind font */
  --section-display-size: 60px;
  --section-display-lh: 1.0;    /* @kind font */
  --section-display-ls: -1.2px; /* @kind font */
  --section-heading-size: 48px;
  --section-heading-lh: 1.2;    /* @kind font */
  --section-heading-ls: -0.48px; /* @kind font */
  --card-heading-size: 32px;
  --card-heading-lh: 1.2;       /* @kind font */
  --card-heading-ls: -0.32px;   /* @kind font */
  --feature-heading-size: 24px;
  --feature-heading-lh: 1.3;    /* @kind font */
  --feature-heading-ls: 0;      /* @kind font */
  --body-large-size: 18px;
  --body-large-lh: 1.4;         /* @kind font */
  --body-large-ls: 0;           /* @kind font */
  --body-size: 16px;
  --body-lh: 1.5;               /* @kind font */
  --body-ls: 0;                 /* @kind font */
  --button-size: 14px;
  --button-lh: 1.71;            /* @kind font */
  --button-ls: 0;               /* @kind font */
  --caption-size: 14px;
  --caption-lh: 1.4;            /* @kind font */
  --caption-ls: 0;              /* @kind font */
  --mono-label-size: 14px;
  --mono-label-lh: 1.4;         /* @kind font */
  --mono-label-ls: 0.28px;      /* @kind font */
  --micro-size: 12px;
  --micro-lh: 1.4;              /* @kind font */
  --micro-ls: 0;                /* @kind font */
}

/* Optional ready-made text roles. Components may use tokens directly instead. */
.coh-hero-display {
  font-family: var(--font-display); font-weight: var(--weight-regular);
  font-size: var(--hero-display-size); line-height: var(--hero-display-lh);
  letter-spacing: var(--hero-display-ls);
}
.coh-product-display {
  font-family: var(--font-display); font-weight: var(--weight-regular);
  font-size: var(--product-display-size); line-height: var(--product-display-lh);
  letter-spacing: var(--product-display-ls);
}
.coh-section-display {
  font-family: var(--font-body); font-weight: var(--weight-regular);
  font-size: var(--section-display-size); line-height: var(--section-display-lh);
  letter-spacing: var(--section-display-ls);
}
.coh-section-heading {
  font-family: var(--font-body); font-weight: var(--weight-regular);
  font-size: var(--section-heading-size); line-height: var(--section-heading-lh);
  letter-spacing: var(--section-heading-ls);
}
.coh-card-heading {
  font-family: var(--font-body); font-weight: var(--weight-regular);
  font-size: var(--card-heading-size); line-height: var(--card-heading-lh);
  letter-spacing: var(--card-heading-ls);
}
.coh-feature-heading {
  font-family: var(--font-body); font-weight: var(--weight-regular);
  font-size: var(--feature-heading-size); line-height: var(--feature-heading-lh);
}
.coh-body-large {
  font-family: var(--font-body); font-weight: var(--weight-regular);
  font-size: var(--body-large-size); line-height: var(--body-large-lh);
}
.coh-body {
  font-family: var(--font-body); font-weight: var(--weight-regular);
  font-size: var(--body-size); line-height: var(--body-lh);
}
.coh-caption {
  font-family: var(--font-body); font-weight: var(--weight-regular);
  font-size: var(--caption-size); line-height: var(--caption-lh);
}
.coh-mono-label {
  font-family: var(--font-mono); font-weight: var(--weight-regular);
  font-size: var(--mono-label-size); line-height: var(--mono-label-lh);
  letter-spacing: var(--mono-label-ls); text-transform: uppercase;
}
.coh-micro {
  font-family: var(--font-body); font-weight: var(--weight-regular);
  font-size: var(--micro-size); line-height: var(--micro-lh);
}
