/* 
 * Aestimor Typography System
 * Standardized font sizing and weights across all pages
 * Based on Apple-style design system
 */

/* Font Family */
body {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Typography Scale */
:root {
  /* Hero Sizes */
  --font-hero-h1: clamp(2.5rem, 5vw, 4rem);
  --font-hero-subtitle: clamp(1.125rem, 2vw, 1.5rem);
  
  /* Heading Sizes */
  --font-h1: clamp(2rem, 4vw, 3rem);
  --font-h2: clamp(1.5rem, 3vw, 2.25rem);
  --font-h3: clamp(1.25rem, 2.5vw, 1.75rem);
  --font-h4: 1.25rem;
  
  /* Body Sizes */
  --font-body-lg: 1.125rem;
  --font-body: 1.0625rem;
  --font-body-sm: 1rem;
  --font-small: 0.9375rem;
  --font-meta: 0.8125rem;
  --font-tiny: 0.75rem;
  
  /* Font Weights */
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
}

/* Platform Hero Typography */
.platform-hero h1 {
  font-size: var(--font-hero-h1);
  font-weight: var(--font-weight-light);
  letter-spacing: -0.03em;
  line-height: 1.1;
}

.platform-hero p {
  font-size: var(--font-hero-subtitle);
  font-weight: var(--font-weight-light);
  line-height: 1.6;
}

/* Section Headings */
h1 {
  font-size: var(--font-h1);
  font-weight: var(--font-weight-light);
  letter-spacing: -0.02em;
  line-height: 1.2;
}

h2 {
  font-size: var(--font-h2);
  font-weight: var(--font-weight-light);
  letter-spacing: -0.02em;
  line-height: 1.3;
}

h3 {
  font-size: var(--font-h3);
  font-weight: var(--font-weight-light);
  letter-spacing: -0.01em;
  line-height: 1.3;
}

h4 {
  font-size: var(--font-h4);
  font-weight: var(--font-weight-light);
  line-height: 1.4;
}

/* Body Text */
p {
  font-size: var(--font-body);
  font-weight: var(--font-weight-light);
  line-height: 1.6;
}

/* Card & Component Typography */
.card h3,
.product-card h2,
.growth-tile h3 {
  font-size: var(--font-h3);
  font-weight: var(--font-weight-light);
  letter-spacing: -0.02em;
}

.card p,
.product-card p,
.growth-tile p {
  font-size: var(--font-body);
  font-weight: var(--font-weight-light);
  line-height: 1.6;
}

/* Blog Card Typography */
.growth-blog-card h3,
.blog-stacked-content h3 {
  font-size: var(--font-h4);
  font-weight: var(--font-weight-light);
  letter-spacing: -0.01em;
  line-height: 1.3;
}

.growth-blog-card p,
.blog-stacked-content p {
  font-size: var(--font-small);
  font-weight: var(--font-weight-light);
  line-height: 1.6;
}

.growth-blog-card-meta,
.blog-meta {
  font-size: var(--font-meta);
  font-weight: var(--font-weight-light);
  letter-spacing: 0.05em;
}

/* Button Typography */
.button,
.btn-primary,
.btn-secondary,
.cta-link {
  font-size: var(--font-body-sm);
  font-weight: var(--font-weight-medium);
}

/* Small Text */
.small-text,
.meta-text {
  font-size: var(--font-small);
  font-weight: var(--font-weight-light);
}

/* Tag & Badge Typography */
.tag,
.badge,
.solution-tag,
.status-badge {
  font-size: var(--font-tiny);
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
