/* Échelle partagée : conserver les familles, couleurs et mises en page existantes. */
:root {
  --type-h1: 2.25rem;
  --type-h2: 1.75rem;
  --type-h3: 1.375rem;
  --type-faq: 1.25rem;
  --type-form-title: 1.625rem;
  --type-leading-h1: 1.1;
  --type-leading-h2: 1.16;
  --type-leading-h3: 1.24;
}
@media (max-width: 389px) {
  :root { --type-h1: 2.125rem; }
}
@media (min-width: 760px) {
  :root {
    --type-h1: 2.375rem;
    --type-h2: 2rem;
    --type-h3: 1.5rem;
    --type-form-title: 1.75rem;
  }
}
@media (min-width: 1050px) {
  :root {
    --type-h1: 3.25rem;
    --type-h2: 2.375rem;
    --type-h3: 1.625rem;
    --type-faq: 1.375rem;
  }
}
.type-system main :is(h1, h2, h3) {
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.type-system main h1 {
  font-size: var(--type-h1);
  line-height: var(--type-leading-h1);
  letter-spacing: -.025em;
  max-width: 50rem;
}
.type-system main h2 {
  font-size: var(--type-h2);
  line-height: var(--type-leading-h2);
  letter-spacing: -.02em;
  max-width: 47.5rem;
}
.type-system main h3 {
  font-size: var(--type-h3);
  line-height: var(--type-leading-h3);
  letter-spacing: -.005em;
  max-width: 34ch;
}
.type-system .contact-page form h2 {
  font-size: var(--type-form-title);
}
.type-system .faq summary {
  font-size: var(--type-faq);
  line-height: var(--type-leading-h3);
  text-wrap: pretty;
}
.type-system .note blockquote {
  font-size: var(--type-h2);
  line-height: var(--type-leading-h2);
  text-wrap: balance;
}
.type-system .type-keep { white-space: nowrap; }
.type-system .eyebrow .type-keep {
  display: inline;
  width: auto;
  height: auto;
  margin: 0;
  background: none;
  border-radius: 0;
}
