/* ---------------------------------------------------------------
   Self-hosted variable fonts. Latin-only (FR + EN coverage).
   --------------------------------------------------------------- */

@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('/static/fonts/bricolage-grotesque-wght-normal.woff2') format('woff2-variations'),
       url('/static/fonts/bricolage-grotesque-wght-normal.woff2') format('woff2');
}

@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url('/static/fonts/dm-sans-wght-normal.woff2') format('woff2-variations'),
       url('/static/fonts/dm-sans-wght-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 100 1000;
  font-display: swap;
  src: url('/static/fonts/dm-sans-wght-italic.woff2') format('woff2-variations'),
       url('/static/fonts/dm-sans-wght-italic.woff2') format('woff2');
}

/* Tabular figures for numeric data (factsheet, dates). */
.factsheet__list time,
.article-card__meta time,
.factsheet__list dd,
.article-card::before {
  font-feature-settings: 'kern','liga','tnum','lnum';
  font-variant-numeric: tabular-nums lining-nums;
}

/* Old-style figures + contextual alternates for body copy. */
.description__body,
.quote__content,
.article-card__title,
.article-card__blurb,
.product-card__tagline,
.contact__lead {
  font-feature-settings: 'kern','liga','calt';
}

/* Tighter tracking on display sizes, optical-size pinned high. */
.hero__title,
.landing-hero__title,
.product-card__title,
.error-page__title {
  font-feature-settings: 'kern','liga','calt','ss01','ss02';
}
