@charset "utf-8";
/* Size Matters Type Scale
 * Generated on 2026-01-12
 * Base: 16px, Ratio: 1.333, Steps: -2 to +6
 * Viewport: 320px - 960px
 */

:root {
  /* Base font size */
  --font-size-base: 16px;

  /* Type scale tokens */
  --font-size-xs: clamp(0.313rem, 0.063rem + 1.25vw, 0.813rem);
  --line-height-xs: 1.6;
  --font-size-s: clamp(0.438rem, 0.125rem + 1.563vw, 1.063rem);
  --line-height-s: 1.6;
  --font-size-r: clamp(0.688rem, 0.375rem + 1.563vw, 1.313rem);
  --line-height-r: 1.6;
  --font-size-m: clamp(0.813rem, 0.281rem + 2.656vw, 1.875rem);
  --line-height-m: 1.53;
  --font-size-l: clamp(1.063rem, 0.344rem + 3.594vw, 2.5rem);
  --line-height-l: 1.44;
  --font-size-xl: clamp(1.438rem, 0.5rem + 4.688vw, 3.313rem);
  --line-height-xl: 1.36;
  --font-size-2xl: clamp(1.875rem, 0.594rem + 6.406vw, 4.438rem);
  --line-height-2xl: 1.28;
  --font-size-3xl: clamp(2.5rem, 0.813rem + 8.438vw, 5.875rem);
  --line-height-3xl: 1.2;
  --font-size-4xl: clamp(3.375rem, 1.125rem + 11.25vw, 7.875rem);
  --line-height-4xl: 1.2;
}

/* Utility classes */
.text-xs {
  font-size: var(--font-size-xs);
  line-height: var(--line-height-xs);
}

.text-s {
  font-size: var(--font-size-s);
  line-height: var(--line-height-s);
}

.text-r {
  font-size: var(--font-size-r);
  line-height: var(--line-height-r);
}

.text-m {
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
}

.text-l {
  font-size: var(--font-size-l);
  line-height: var(--line-height-l);
}

.text-xl {
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
}

.text-2xl {
  font-size: var(--font-size-2xl);
  line-height: var(--line-height-2xl);
}

.text-3xl {
  font-size: var(--font-size-3xl);
  line-height: var(--line-height-3xl);
}

.text-4xl {
  font-size: var(--font-size-4xl);
  line-height: var(--line-height-4xl);
}

