/**
 * VelumCode — Sistema tipográfico unificado
 * Escala: Display · H1–H4 · Body Large · Body · Small · Caption · Label
 */

/* —— Elementos base —— */
h1,
.type-h1 {
  font-size: var(--type-h1);
  font-weight: var(--type-h1-weight);
  line-height: var(--type-h1-lh);
  letter-spacing: var(--type-h1-tracking);
  color: var(--color-text-primary);
}

h2,
.type-h2 {
  font-size: var(--type-h2);
  font-weight: var(--type-h2-weight);
  line-height: var(--type-h2-lh);
  letter-spacing: var(--type-h2-tracking);
  color: var(--color-text-primary);
}

h3,
.type-h3 {
  font-size: var(--type-h3);
  font-weight: var(--type-h3-weight);
  line-height: var(--type-h3-lh);
  letter-spacing: var(--type-h3-tracking);
  color: var(--color-text-primary);
}

h4,
.type-h4 {
  font-size: var(--type-h4);
  font-weight: var(--type-h4-weight);
  line-height: var(--type-h4-lh);
  letter-spacing: var(--type-h4-tracking);
  color: var(--color-text-primary);
}

.type-display {
  font-size: var(--type-display);
  font-weight: var(--type-display-weight);
  line-height: var(--type-display-lh);
  letter-spacing: var(--type-display-tracking);
  color: var(--color-text-primary);
}

p,
.type-body {
  font-size: var(--type-body);
  font-weight: var(--type-body-weight);
  line-height: var(--type-body-lh);
  color: var(--color-text-secondary);
}

.type-body-lg {
  font-size: var(--type-body-lg);
  font-weight: var(--type-body-lg-weight);
  line-height: var(--type-body-lg-lh);
  color: var(--color-text-secondary);
}

small,
.type-small {
  font-size: var(--type-small);
  font-weight: var(--type-small-weight);
  line-height: var(--type-small-lh);
  color: var(--color-text-secondary);
}

.type-caption {
  font-size: var(--type-caption);
  font-weight: var(--type-caption-weight);
  line-height: var(--type-caption-lh);
  letter-spacing: var(--type-caption-tracking);
  color: var(--color-text-tertiary);
}

.type-label {
  font-size: var(--type-label);
  font-weight: var(--type-label-weight);
  line-height: var(--type-label-lh);
  letter-spacing: var(--type-label-tracking);
  text-transform: uppercase;
  color: var(--color-text-accent);
}

/* —— Section headers (todas as páginas) —— */
.section-header__label,
.section-header__overline {
  margin-bottom: var(--type-label-title-gap);
  font-size: var(--type-label);
  font-weight: var(--type-label-weight);
  line-height: var(--type-label-lh);
  letter-spacing: var(--type-label-tracking);
  text-transform: uppercase;
  color: var(--color-text-accent);
}

.section-header__title {
  margin-bottom: var(--type-h2-subtitle-gap);
  font-size: var(--type-h2);
  font-weight: var(--type-h2-weight);
  line-height: var(--type-h2-lh);
  letter-spacing: var(--type-h2-tracking);
  color: var(--color-text-primary);
}

.section-header__subtitle {
  font-size: var(--type-body-lg);
  font-weight: var(--type-body-lg-weight);
  line-height: var(--type-body-lg-lh);
  color: var(--color-text-secondary);
}

/* —— Card copy pattern —— */
.card-title,
.differentials__title,
.svc-card__title,
.testimonial-card__name,
.velum-care__name {
  font-size: var(--type-h4);
  font-weight: var(--type-h4-weight);
  line-height: var(--type-h4-lh);
  letter-spacing: var(--type-h4-tracking);
  color: var(--color-text-primary);
}

.card-text,
.differentials__text,
.svc-card__text,
.testimonial-card__quote,
.velum-care__tagline {
  font-size: var(--type-small);
  font-weight: var(--type-small-weight);
  line-height: var(--type-small-lh);
  color: var(--color-text-secondary);
}

.card-title + .card-text,
.differentials__title + .differentials__text,
.svc-card__title + .svc-card__text {
  margin-top: var(--type-title-body-gap);
}
