/* 
 * Standardized Font Sizes for Professional Responsive Design
 * Mobile-first approach with consistent scaling
 */

/* ===== HEADINGS ===== */

/* Main Page Headings (H1) - Hero sections */
.heading-hero {
  font-size: 2rem;        /* 32px mobile */
  line-height: 1.1;
}
@media (min-width: 768px) {
  .heading-hero {
    font-size: 3.5rem;    /* 56px tablet */
  }
}
@media (min-width: 1024px) {
  .heading-hero {
    font-size: 4.5rem;    /* 72px desktop */
  }
}

/* Section Headings (H2) - Main section titles */
.heading-section {
  font-size: 1.875rem;    /* 30px mobile */
  line-height: 1.2;
}
@media (min-width: 768px) {
  .heading-section {
    font-size: 2.5rem;    /* 40px tablet */
  }
}
@media (min-width: 1024px) {
  .heading-section {
    font-size: 3rem;      /* 48px desktop */
  }
}

/* Subsection Headings (H3) - Card titles, feature headings */
.heading-subsection {
  font-size: 1.25rem;     /* 20px mobile */
  line-height: 1.3;
}
@media (min-width: 768px) {
  .heading-subsection {
    font-size: 1.5rem;    /* 24px tablet */
  }
}
@media (min-width: 1024px) {
  .heading-subsection {
    font-size: 1.75rem;   /* 28px desktop */
  }
}

/* ===== BODY TEXT ===== */

/* Standard body text */
.text-body {
  font-size: 1rem;        /* 16px mobile */
  line-height: 1.6;
}
@media (min-width: 768px) {
  .text-body {
    font-size: 1.125rem;  /* 18px tablet */
  }
}

/* Large body text - for emphasis */
.text-body-large {
  font-size: 1.125rem;    /* 18px mobile */
  line-height: 1.6;
}
@media (min-width: 768px) {
  .text-body-large {
    font-size: 1.25rem;   /* 20px tablet */
  }
}

/* Small body text - for captions, labels */
.text-body-small {
  font-size: 0.875rem;    /* 14px mobile */
  line-height: 1.5;
}
@media (min-width: 768px) {
  .text-body-small {
    font-size: 1rem;      /* 16px tablet */
  }
}

/* ===== SPECIAL TEXT ===== */

/* Labels and badges */
.text-label {
  font-size: 0.625rem;    /* 10px mobile */
  line-height: 1.4;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
@media (min-width: 768px) {
  .text-label {
    font-size: 0.75rem;   /* 12px tablet */
  }
}

/* CTA Buttons */
.text-button {
  font-size: 0.875rem;    /* 14px mobile */
  line-height: 1;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .text-button {
    font-size: 1rem;      /* 16px tablet */
  }
}

/* FAQ Questions */
.text-faq-question {
  font-size: 1rem;        /* 16px mobile */
  line-height: 1.4;
}
@media (min-width: 768px) {
  .text-faq-question {
    font-size: 1.125rem;  /* 18px tablet */
  }
}

/* FAQ Answers */
.text-faq-answer {
  font-size: 0.9375rem;   /* 15px mobile */
  line-height: 1.6;
}
@media (min-width: 768px) {
  .text-faq-answer {
    font-size: 1rem;      /* 16px tablet */
  }
}
