/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   Aldova Typography System
   Force + control. Premium, sharp, commercially serious.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ── Section label (eyebrow) ──────────────────────────── */
/* Slight reduction from 0.1em → 0.08em — less aggressive */
.section-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--color-accent);
  margin-bottom: 0.875rem;
  display: block;
}

/* ── Page hero heading (inner pages) ─────────────────── */
/* Controlled: fluid scale, tight tracking, snug leading */
.page-h1 {
  font-size: var(--type-page-h1);
  font-weight: 700;
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-snug);
  color: #ffffff;
  margin: 0 0 1.25rem;
}

/* ── Section heading — light background ──────────────── */
.section-h2 {
  font-size: var(--type-section);
  font-weight: 700;
  letter-spacing: var(--tracking-snug);
  line-height: var(--leading-snug);
  color: var(--color-primary);
  margin: 0 0 1rem;
}

/* ── Section heading — dark/accent background ────────── */
.section-h2--on-dark {
  color: #ffffff;
}

/* ── CTA section heading ──────────────────────────────── */
.cta-h2 {
  font-size: var(--type-cta);
  font-weight: 700;
  letter-spacing: var(--tracking-snug);
  line-height: var(--leading-snug);
  color: #ffffff;
  margin: 0 0 1rem;
}

/* ── Card / step heading ──────────────────────────────── */
.card-h {
  font-size: var(--type-card);
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.3;
  color: var(--color-primary);
  margin: 0 0 0.625rem;
}

/* ── Approach step heading ────────────────────────────── */
.step-h {
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 1.25;
  color: var(--color-primary);
  margin: 0 0 0.75rem;
}

/* ── Page hero intro paragraph ────────────────────────── */
/* On dark: bumped from 70% → 78% opacity, better contrast */
.page-intro {
  font-size: var(--type-intro);
  line-height: var(--leading-relaxed);
  color: rgba(255, 255, 255, 0.78);
  margin: 0;
}

/* ── Section intro / lead paragraph ─────────────────── */
.lead {
  font-size: var(--type-intro);
  line-height: var(--leading-relaxed);
  color: var(--color-text-muted);
  margin: 0 0 1.25rem;
}

.lead:last-child {
  margin-bottom: 0;
}

/* ── Card body copy ──────────────────────────────────── */
.body-sm {
  font-size: var(--type-body-sm);
  line-height: var(--leading-relaxed);
  color: var(--color-text-muted);
  margin: 0;
}

/* ── Stat value ───────────────────────────────────────── */
.stat-value {
  font-size: 2.25rem;
  font-weight: 700;
  letter-spacing: var(--tracking-tight);
  line-height: 1;
  color: var(--color-accent);
  margin: 0 0 0.25rem;
}

.stat-label {
  font-size: var(--type-body-sm);
  color: var(--color-text-muted);
  line-height: var(--leading-base);
  margin: 0;
}

/* ── CTA button label ─────────────────────────────────── */
/* Applied to .btn elements for tighter optical feel */
.btn {
  letter-spacing: -0.01em;
}

/* ── Scroll reveal ────────────────────────────────────── */
/* Restrained: short distance, quick settle, once only */
.reveal {
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity  0.45s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger for grid children */
.reveal[data-delay="1"] { transition-delay: 80ms; }
.reveal[data-delay="2"] { transition-delay: 160ms; }

@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ── Global heading refinements ───────────────────────── */
h1, h2, h3, h4, h5, h6 {
  text-rendering: optimizeLegibility;
}
