/* ============================================
   TYPOGRAPHY
   ============================================ */
.display-1 { font-size: clamp(2.5rem, 6vw, var(--text-6xl)); font-weight: var(--fw-extrabold); line-height: var(--lh-tight); }
.display-2 { font-size: clamp(2rem, 4.5vw, var(--text-5xl));  font-weight: var(--fw-bold);      line-height: var(--lh-tight); }

h1 { font-size: clamp(1.875rem, 4vw, var(--text-4xl)); font-weight: var(--fw-bold); }
h2 { font-size: clamp(1.5rem, 3vw, var(--text-3xl));   font-weight: var(--fw-bold); }
h3 { font-size: clamp(1.25rem, 2.5vw, var(--text-2xl));font-weight: var(--fw-semibold); }
h4 { font-size: var(--text-xl);  font-weight: var(--fw-semibold); }
h5 { font-size: var(--text-lg);  font-weight: var(--fw-medium); }
h6 { font-size: var(--text-base);font-weight: var(--fw-medium); }

p { line-height: var(--lh-relaxed); }

.text-xs   { font-size: var(--text-xs); }
.text-sm   { font-size: var(--text-sm); }
.text-base { font-size: var(--text-base); }
.text-lg   { font-size: var(--text-lg); }
.text-xl   { font-size: var(--text-xl); }

.text-muted   { color: var(--color-text-muted); }
.text-primary { color: var(--color-primary); }
.text-dark    { color: var(--color-dark); }
.text-white   { color: var(--color-white); }
.text-center  { text-align: center; }

.fw-medium   { font-weight: var(--fw-medium); }
.fw-semibold { font-weight: var(--fw-semibold); }
.fw-bold     { font-weight: var(--fw-bold); }

.section-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: var(--text-sm);
  font-weight: var(--fw-semibold);
  color: var(--color-primary);
  text-transform: none;
  letter-spacing: 0;
  margin-bottom: var(--space-3);
  padding: 6px 14px 6px 10px;
  background: var(--color-primary-bg);
  border: 1px solid rgba(232,35,42,.18);
  border-radius: 999px;
}
.section-label::before {
  content: '';
  width: 8px; height: 8px;
  background: var(--color-primary);
  border-radius: 50%;
  flex-shrink: 0;
  animation: pulse 2s infinite;
}

.section-title {
  font-family: var(--font-primary);
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  font-weight: var(--fw-bold);
  color: var(--color-dark);
  line-height: var(--lh-snug);
  margin-bottom: var(--space-4);
}

.section-subtitle {
  font-size: var(--text-lg);
  color: var(--color-text-muted);
  max-width: 600px;
  line-height: var(--lh-relaxed);
}
