/* ===============================
   MagiQa Typography System
   Global type scale + shared text patterns
=============================== */

/* Base element scale */
h1,
.text-h1 {
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-extrabold);
  line-height: var(--line-height-tight);
  letter-spacing: var(--letter-spacing-tight);
  color: var(--color-heading);
}

h2,
.text-h2 {
  font-size: var(--font-size-h2);
  font-weight: var(--font-weight-extrabold);
  line-height: var(--line-height-tight);
  letter-spacing: var(--letter-spacing-snug);
  color: var(--color-heading);
}

h3,
.text-h3 {
  font-size: var(--font-size-h3);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-snug);
  letter-spacing: var(--letter-spacing-snug);
  color: var(--color-heading);
}

h4,
.text-h4 {
  font-size: var(--font-size-h4);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-snug);
  color: var(--color-text);
}

h5,
h6 {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-snug);
  color: var(--color-text);
}

p {
  line-height: var(--line-height-body);
}

.text-display {
  font-size: var(--font-size-display);
  font-weight: var(--font-weight-extrabold);
  line-height: var(--line-height-tight);
  letter-spacing: var(--letter-spacing-tight);
  color: var(--color-heading);
}

.text-lead {
  font-size: var(--font-size-lead);
  line-height: var(--line-height-normal);
  color: var(--color-muted-strong);
}

.text-body {
  font-size: var(--font-size-md);
  line-height: var(--line-height-relaxed);
  color: var(--color-text-secondary);
}

.text-muted {
  color: var(--color-muted-soft);
}

.text-small {
  font-size: var(--font-size-sm);
}

/* Shared eyebrow pattern */
.eyebrow,
.service-page-eyebrow,
.insights-eyebrow,
.insight-eyebrow,
.news-eyebrow,
.case-study-eyebrow,
.service-hub-eyebrow,
.contact-eyebrow,
.learn-eyebrow,
.founder-eyebrow {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-eyebrow-wide);
  color: var(--color-primary);
}

/* Shared page title pattern */
.service-page-title,
.insights-hub-title,
.insight-article-title,
.case-study-title,
.service-hub-title,
.contact-page-title,
.learn-headline,
.about-headline,
.projects-title,
.news-hub-title,
.news-article-title {
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-extrabold);
  line-height: var(--line-height-tight);
  letter-spacing: var(--letter-spacing-tight);
  color: var(--color-heading);
}

/* Shared lead paragraph */
.service-page-lead,
.insights-hub-lead,
.case-study-lead,
.service-hub-lead,
.contact-lead,
.learn-lead,
.about-subheadline,
.news-hub-lead {
  font-size: var(--font-size-md);
  line-height: var(--line-height-normal);
  color: var(--color-muted-strong);
}

/* Prose blocks */
.prose-service h2,
.prose-insight h2,
.prose-news h2,
.case-study-section h2 {
  font-size: var(--font-size-section);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-snug);
  color: var(--color-heading);
  margin: var(--space-7) 0 var(--space-3);
}

.prose-service p,
.prose-service li,
.prose-insight p,
.prose-news p,
.case-study-section p {
  font-size: var(--font-size-md);
  line-height: var(--line-height-relaxed);
  color: var(--color-text-secondary);
}

.prose-service a:not([class*="btn-"]),
.prose-insight a:not([class*="btn-"]),
.insight-related-list a {
  color: var(--color-primary);
  font-weight: var(--font-weight-semibold);
  text-decoration: none;
}

.prose-service a:not([class*="btn-"]):hover,
.prose-insight a:not([class*="btn-"]):hover,
.insight-related-list a:hover {
  text-decoration: underline;
}
