/**
 * @file
 * Typography — Share Tech Mono + Work Sans.
 * Based on Figma Design System tokens.
 * Fonts hebergees localement (RGPD + performance).
 */

/* Share Tech Mono — Regular 400 (latin) */
@font-face {
  font-family: 'Share Tech Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../../fonts/share-tech-mono-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Work Sans — 400-600 variable (latin) */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('../../fonts/work-sans-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Work Sans — 400-600 variable (latin-ext, accents etendus) */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('../../fonts/work-sans-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

body {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-black);
}

/* Headings — Share Tech Mono */
h1, h2, h3, h4 {
  font-family: var(--font-heading);
  font-weight: 400;
  letter-spacing: -0.05em;
  line-height: 1;
}

h1 {
  font-size: 75px;
  text-transform: uppercase;
  color: var(--color-blue);
}

h2 {
  font-size: 50px;
  text-transform: uppercase;
  color: var(--color-blue);
}

h3 {
  font-size: 32px;
  text-transform: uppercase;
  color: var(--color-orange);
}

h4 {
  font-size: 16px;
  line-height: 1.3;
  letter-spacing: -0.05em;
}

/* Body text — Work Sans */
p {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: var(--space-sm);
}

strong, b {
  font-weight: 600;
}

small {
  font-size: 12px;
  line-height: 1.5;
}

/* Labels — C1 SemiBold CAP */
.label,
.c1 {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
}

/* Subtitle — C2 SemiBold CAP */
.subtitle {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  text-transform: uppercase;
}

/* Tags — C4 SemiBold CAP */
.tag {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.03em;
  text-transform: uppercase;
}

/* Small link — C4 Regular LINK */
.link-small {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
}

/* Key numbers */
.number-key {
  font-family: var(--font-heading);
  font-size: 134px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.05em;
}

/* Tablet overrides */
@media (max-width: 1024px) {
  h1 {
    font-size: 60px;
  }

  h2 {
    font-size: 40px;
  }

  h3 {
    font-size: 28px;
  }

  .number-key {
    font-size: 100px;
  }
}

/* Mobile overrides */
@media (max-width: 768px) {
  h1 {
    font-size: 40px;
  }

  h2 {
    font-size: 32px;
  }

  h3 {
    font-size: 24px;
  }

  .number-key {
    font-size: 80px;
  }
}
