/**
 * Custom heading size styles — design token scale
 * Classes: heading-size-{breakpoint}-{token}
 * Line-height scale: Display 1.05 · Headline 1.15 · Subhead 1.25–1.3 · Link/Body 1.4–1.5
 */

/* ── Desktop (≥1024px) ─────────────────────────────────────── */
@media (min-width: 1024px) {
  .heading-size-desktop-display-xl {
    font-size: var(--text-display-xl, 6.25rem);
    line-height: 1.05;
  }
  .heading-size-desktop-display-l {
    font-size: var(--text-display-l, 5.25rem);
    line-height: 1.05;
  }
  .heading-size-desktop-display-m {
    font-size: var(--text-display-m, 4.375rem);
    line-height: 1.05;
  }
  .heading-size-desktop-display-s {
    font-size: var(--text-display-s, 3.75rem);
    line-height: 1.05;
  }
  .heading-size-desktop-headline-xl {
    font-size: var(--text-headline-xl, 3.5rem);
    line-height: 1.15;
  }
  .heading-size-desktop-headline-l {
    font-size: var(--text-headline-l, 3rem);
    line-height: 1.15;
  }
  .heading-size-desktop-headline-m {
    font-size: var(--text-headline-m, 2.375rem);
    line-height: 1.15;
  }
  .heading-size-desktop-headline-s {
    font-size: var(--text-headline-s, 2.125rem);
    line-height: 1.15;
  }
  .heading-size-desktop-subhead-xl {
    font-size: var(--text-subhead-xl, 1.875rem);
    line-height: 1.25;
  }
  .heading-size-desktop-subhead-l {
    font-size: var(--text-subhead-l, 1.75rem);
    line-height: 1.25;
  }
  .heading-size-desktop-subhead-m {
    font-size: var(--text-subhead-m, 1.5rem);
    line-height: 1.25;
  }
  .heading-size-desktop-subhead-s {
    font-size: var(--text-subhead-s, 1.375rem);
    line-height: 1.3;
  }
  .heading-size-desktop-subhead-xs {
    font-size: var(--text-subhead-xs, 1.25rem);
    line-height: 1.3;
  }
  .heading-size-desktop-subhead-2xs {
    font-size: var(--text-subhead-2xs, 1.125rem);
    line-height: 1.3;
  }
  .heading-size-desktop-link-l {
    font-size: var(--text-link-l, 1.375rem);
    line-height: 1.4;
  }
  .heading-size-desktop-link-m {
    font-size: var(--text-link-m, 1.125rem);
    line-height: 1.4;
  }
  .heading-size-desktop-link-s {
    font-size: var(--text-link-s, 1rem);
    line-height: 1.4;
  }
  .heading-size-desktop-link-xs {
    font-size: var(--text-link-xs, 0.875rem);
    line-height: 1.4;
  }
  .heading-size-desktop-body-l {
    font-size: var(--text-body-l, 1.25rem);
    line-height: 1.5;
  }
  .heading-size-desktop-body-m {
    font-size: var(--text-body-m, 1.125rem);
    line-height: 1.5;
  }
  .heading-size-desktop-body-s {
    font-size: var(--text-body-s, 1rem);
    line-height: 1.5;
  }
  .heading-size-desktop-body-xs {
    font-size: var(--text-body-xs, 0.875rem);
    line-height: 1.5;
  }
  .heading-size-desktop-body-2xs {
    font-size: var(--text-body-2xs, 0.75rem);
    line-height: 1.5;
  }
}

/* ── Tablet (768px – 1023px) ───────────────────────────────── */
@media (min-width: 768px) and (max-width: 1023px) {
  .heading-size-tablet-display-xl {
    font-size: var(--text-display-xl, 6.25rem);
    line-height: 1.05;
  }
  .heading-size-tablet-display-l {
    font-size: var(--text-display-l, 5.25rem);
    line-height: 1.05;
  }
  .heading-size-tablet-display-m {
    font-size: var(--text-display-m, 4.375rem);
    line-height: 1.05;
  }
  .heading-size-tablet-display-s {
    font-size: var(--text-display-s, 3.75rem);
    line-height: 1.05;
  }
  .heading-size-tablet-headline-xl {
    font-size: var(--text-headline-xl, 3.5rem);
    line-height: 1.15;
  }
  .heading-size-tablet-headline-l {
    font-size: var(--text-headline-l, 3rem);
    line-height: 1.15;
  }
  .heading-size-tablet-headline-m {
    font-size: var(--text-headline-m, 2.375rem);
    line-height: 1.15;
  }
  .heading-size-tablet-headline-s {
    font-size: var(--text-headline-s, 2.125rem);
    line-height: 1.15;
  }
  .heading-size-tablet-subhead-xl {
    font-size: var(--text-subhead-xl, 1.875rem);
    line-height: 1.25;
  }
  .heading-size-tablet-subhead-l {
    font-size: var(--text-subhead-l, 1.75rem);
    line-height: 1.25;
  }
  .heading-size-tablet-subhead-m {
    font-size: var(--text-subhead-m, 1.5rem);
    line-height: 1.25;
  }
  .heading-size-tablet-subhead-s {
    font-size: var(--text-subhead-s, 1.375rem);
    line-height: 1.3;
  }
  .heading-size-tablet-subhead-xs {
    font-size: var(--text-subhead-xs, 1.25rem);
    line-height: 1.3;
  }
  .heading-size-tablet-subhead-2xs {
    font-size: var(--text-subhead-2xs, 1.125rem);
    line-height: 1.3;
  }
  .heading-size-tablet-link-l {
    font-size: var(--text-link-l, 1.375rem);
    line-height: 1.4;
  }
  .heading-size-tablet-link-m {
    font-size: var(--text-link-m, 1.125rem);
    line-height: 1.4;
  }
  .heading-size-tablet-link-s {
    font-size: var(--text-link-s, 1rem);
    line-height: 1.4;
  }
  .heading-size-tablet-link-xs {
    font-size: var(--text-link-xs, 0.875rem);
    line-height: 1.4;
  }
  .heading-size-tablet-body-l {
    font-size: var(--text-body-l, 1.25rem);
    line-height: 1.5;
  }
  .heading-size-tablet-body-m {
    font-size: var(--text-body-m, 1.125rem);
    line-height: 1.5;
  }
  .heading-size-tablet-body-s {
    font-size: var(--text-body-s, 1rem);
    line-height: 1.5;
  }
  .heading-size-tablet-body-xs {
    font-size: var(--text-body-xs, 0.875rem);
    line-height: 1.5;
  }
  .heading-size-tablet-body-2xs {
    font-size: var(--text-body-2xs, 0.75rem);
    line-height: 1.5;
  }
}

/* ── Mobile (<768px) ───────────────────────────────────────── */
@media (max-width: 767px) {
  .heading-size-mobile-display-xl {
    font-size: var(--text-display-xl, 6.25rem);
    line-height: 1.05;
  }
  .heading-size-mobile-display-l {
    font-size: var(--text-display-l, 5.25rem);
    line-height: 1.05;
  }
  .heading-size-mobile-display-m {
    font-size: var(--text-display-m, 4.375rem);
    line-height: 1.05;
  }
  .heading-size-mobile-display-s {
    font-size: var(--text-display-s, 3.75rem);
    line-height: 1.05;
  }
  .heading-size-mobile-headline-xl {
    font-size: var(--text-headline-xl, 3.5rem);
    line-height: 1.15;
  }
  .heading-size-mobile-headline-l {
    font-size: var(--text-headline-l, 3rem);
    line-height: 1.15;
  }
  .heading-size-mobile-headline-m {
    font-size: var(--text-headline-m, 2.375rem);
    line-height: 1.15;
  }
  .heading-size-mobile-headline-s {
    font-size: var(--text-headline-s, 2.125rem);
    line-height: 1.15;
  }
  .heading-size-mobile-subhead-xl {
    font-size: var(--text-subhead-xl, 1.875rem);
    line-height: 1.25;
  }
  .heading-size-mobile-subhead-l {
    font-size: var(--text-subhead-l, 1.75rem);
    line-height: 1.25;
  }
  .heading-size-mobile-subhead-m {
    font-size: var(--text-subhead-m, 1.5rem);
    line-height: 1.25;
  }
  .heading-size-mobile-subhead-s {
    font-size: var(--text-subhead-s, 1.375rem);
    line-height: 1.3;
  }
  .heading-size-mobile-subhead-xs {
    font-size: var(--text-subhead-xs, 1.25rem);
    line-height: 1.3;
  }
  .heading-size-mobile-subhead-2xs {
    font-size: var(--text-subhead-2xs, 1.125rem);
    line-height: 1.3;
  }
  .heading-size-mobile-link-l {
    font-size: var(--text-link-l, 1.375rem);
    line-height: 1.4;
  }
  .heading-size-mobile-link-m {
    font-size: var(--text-link-m, 1.125rem);
    line-height: 1.4;
  }
  .heading-size-mobile-link-s {
    font-size: var(--text-link-s, 1rem);
    line-height: 1.4;
  }
  .heading-size-mobile-link-xs {
    font-size: var(--text-link-xs, 0.875rem);
    line-height: 1.4;
  }
  .heading-size-mobile-body-l {
    font-size: var(--text-body-l, 1.25rem);
    line-height: 1.5;
  }
  .heading-size-mobile-body-m {
    font-size: var(--text-body-m, 1.125rem);
    line-height: 1.5;
  }
  .heading-size-mobile-body-s {
    font-size: var(--text-body-s, 1rem);
    line-height: 1.5;
  }
  .heading-size-mobile-body-xs {
    font-size: var(--text-body-xs, 0.875rem);
    line-height: 1.5;
  }
  .heading-size-mobile-body-2xs {
    font-size: var(--text-body-2xs, 0.75rem);
    line-height: 1.5;
  }
}
