:root {
  /* Font Family */
  --font-primary: "Inter", sans-serif;

  /* Font Sizes */
  --fs-h1: clamp(3rem, 6vw, 5rem);        /* 48px → 80px */
  --fs-h2: clamp(2.5rem, 5vw, 4rem);      /* 40px → 64px */
  --fs-h3: clamp(2rem, 4vw, 3rem);        /* 32px → 48px */
  --fs-h4: clamp(1.5rem, 3vw, 2.25rem);   /* 24px → 36px */
  --fs-h5: clamp(1.25rem, 2.5vw, 1.75rem);/* 20px → 28px */
  --fs-h6: clamp(1.125rem, 2vw, 1.5rem);  /* 18px → 24px */
  --fs-body: clamp(1rem, 1.2vw, 1.125rem);/* 16px → 18px */

  /* Line Heights */
  --lh-heading: 1.15;
  --lh-body: 1.7;

  /* Font Weights */
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
}

/* Base Typography */
body {
  font-family: var(--font-primary);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  font-weight: var(--fw-regular);
}

/* Headings */
h1 {
  font-size: var(--fs-h1);
  line-height: var(--lh-heading);
  font-weight: var(--fw-bold);
}

h2 {
  font-size: var(--fs-h2);
  line-height: var(--lh-heading);
  font-weight: var(--fw-bold);
}

h3 {
  font-size: var(--fs-h3);
  line-height: 1.2;
  font-weight: var(--fw-semibold);
}

h4 {
  font-size: var(--fs-h4);
  line-height: 1.25;
  font-weight: var(--fw-semibold);
}

h5 {
  font-size: var(--fs-h5);
  line-height: 1.3;
  font-weight: var(--fw-medium);
}

h6 {
  font-size: var(--fs-h6);
  line-height: 1.35;
  font-weight: var(--fw-medium);
}

p {
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  font-weight: var(--fw-regular);
}