
/* ── Chapter card ────────────────────────────────── */
.chapter-card {
  background: var(--color-surface);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-xl);
  padding: var(--space-8);
  margin-bottom: var(--space-5);
}
.chapter-era {
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-widest);
  text-transform: uppercase;
  margin-bottom: var(--space-2);
}
.chapter-title {
  font-family: var(--font-heading);
  font-size: var(--text-2xl);
  font-weight: var(--weight-extrabold);
  letter-spacing: var(--tracking-tight);
  color: var(--color-text-1);
  margin-bottom: var(--space-4);
}
.chapter-body {
  font-size: var(--text-base);
  color: var(--color-text-2);
  line-height: var(--leading-relaxed);
  margin-bottom: var(--space-4);
}
.chapter-body:last-child { margin-bottom: 0; }

/* ── Section divider ─────────────────────────────── */
.ai-section-divider {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin: var(--space-12) 0 var(--space-6);
}
.ai-section-divider .line { flex: 1; height: 1px; background: var(--color-rule); }
.ai-section-divider .label {
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-widest);
  text-transform: uppercase;
  white-space: nowrap;
}

/* ── AI Security / Implementation problem section ── */
.ai-problem-title {
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: var(--weight-extrabold);
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-tight);
  color: var(--color-text-1);
  text-align: center;
  margin: 0 auto var(--space-4);
  max-width: 44rem;
}
.ai-problem-body {
  font-size: var(--text-lg);
  color: var(--color-text-2);
  line-height: var(--leading-relaxed);
  text-align: center;
  margin: 0 auto var(--space-8);
  max-width: 48rem;
}

.capability-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-4);
  margin-top: var(--space-8);
}
.capability-grid--three {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 768px) {
  .capability-grid,
  .capability-grid--three { grid-template-columns: 1fr; }
}

.ai-card {
  background: var(--color-surface);
  border: 1px solid var(--color-rule);
  border-left: 3px solid var(--color-sky);
  border-radius: var(--radius-md);
  padding: var(--space-6);
}
.ai-card__num {
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-weight: var(--weight-bold);
  color: var(--color-sky);
  letter-spacing: var(--tracking-snug);
  margin-bottom: var(--space-2);
}
.ai-card__title {
  font-family: var(--font-heading);
  font-size: var(--text-2xl);
  font-weight: var(--weight-bold);
  color: var(--color-text-1);
  letter-spacing: var(--tracking-snug);
  margin-bottom: var(--space-3);
}
.ai-card__body {
  font-size: var(--text-sm);
  color: var(--color-text-2);
  line-height: var(--leading-relaxed);
}

/* ── Throughline callout ─────────────────────────── */
.throughline {
  margin-top: var(--space-12);
  padding: var(--space-8);
  background: var(--color-surface);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-xl);
  border-left: 4px solid #A78BFA;
}
.throughline p {
  font-size: var(--text-base);
  color: var(--color-text-2);
  line-height: var(--leading-relaxed);
  margin-bottom: var(--space-4);
}
.throughline p:last-child { margin-bottom: 0; }
.throughline strong { color: var(--color-text-1); }

/* ── CLOSING CTA ──────────────────────────────────── */
.cta-section {
  background: var(--color-deep-navy);
}

[data-theme="light"] .cta-section {
  background: var(--color-blue);
}

.cta-section .cta {
  max-width: var(--max-width-content);
  margin: 0 auto;
  text-align: center;
}

.cta__title {
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: var(--weight-bold);
  color: var(--color-white);
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-tight);
  margin-bottom: var(--space-4);
}

.cta__body {
  font-size: var(--text-lg);
  color: rgba(255,255,255,0.72);
  line-height: var(--leading-relaxed);
  margin-bottom: var(--space-8);
}

.cta__actions {
  display: flex;
  gap: var(--space-4);
  justify-content: center;
  flex-wrap: wrap;
}

@media (max-width: 640px) {
  .chapter-card { padding: var(--space-6); }
  .throughline { padding: var(--space-6); }
}
