@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800;900&display=swap');

/* ─── Design Tokens ─────────────────────────────────────── */
:root {
  --paper:       #f4f8ff;
  --paper-warm:  #f9fbf6;
  --ink:         #0b1220;
  --ink-soft:    #1e2d45;
  --muted:       #52678a;
  --blue:        #2563eb;
  --blue-mid:    #1a55d8;
  --blue-deep:   #0f47c4;
  --blue-soft:   #dfeeff;
  --blue-faint:  rgba(37, 99, 235, 0.07);
  --line:        rgba(17, 24, 39, 0.10);
  --card:        rgba(255, 255, 255, 0.94);
  --shadow-sm:   0 6px 24px rgba(15, 35, 80, 0.08);
  --shadow-md:   0 18px 44px rgba(15, 35, 80, 0.11);
  --shadow-lg:   0 28px 64px rgba(15, 35, 80, 0.14);
  --radius-sm:   16px;
  --radius-md:   24px;
  --radius-lg:   32px;
}

/* ─── Reset ─────────────────────────────────────────────── */
* { box-sizing: border-box; }

body {
  background: var(--paper);
}

/* ─── Reveal Base ───────────────────────────────────────── */
.reveal {
  color: var(--ink);
  font-family: 'Plus Jakarta Sans', ui-sans-serif, system-ui, -apple-system, sans-serif;
  font-size: 28px;
}

.reveal .slides {
  text-align: left;
}

/* Blueprint grid background on every slide */
.reveal-viewport {
  background:
    linear-gradient(rgba(37, 99, 235, 0.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37, 99, 235, 0.028) 1px, transparent 1px),
    radial-gradient(ellipse at 82% 10%, rgba(37, 99, 235, 0.11) 0%, transparent 38%),
    radial-gradient(ellipse at 12% 90%, rgba(37, 99, 235, 0.07) 0%, transparent 30%),
    linear-gradient(148deg, var(--paper) 0%, var(--paper-warm) 100%) !important;
  background-size: 34px 34px, 34px 34px, 100% 100%, 100% 100%, 100% 100% !important;
}

.reveal .slide {
  min-height: 100%;
  padding: 44px 64px;
  background: transparent !important;
}

/* Hide reveal chrome */
.reveal .controls,
.reveal .progress,
.reveal .slide-number {
  display: none !important;
}

/* Typography reset */
.reveal h1,
.reveal h2,
.reveal h3,
.reveal p {
  margin: 0;
  letter-spacing: 0;
  text-transform: none;
}

.reveal h1 {
  max-width: 640px;
  font-size: 78px;
  line-height: 0.96;
  font-weight: 900;
  letter-spacing: -1.5px;
}

.reveal h2 {
  max-width: 1040px;
  margin-top: 16px;
  font-size: 52px;
  line-height: 1.04;
  font-weight: 800;
  letter-spacing: -0.8px;
}

/* ─── Slide Header ──────────────────────────────────────── */
.slide-header {
  margin-bottom: 20px;
}

/* Proof slide needs tighter vertical rhythm to avoid clipping */
.proof-slide {
  padding-top: 32px;
  padding-bottom: 32px;
}

.proof-slide .slide-header {
  margin-bottom: 14px;
}

/* ─── Kicker / Brand Badge ──────────────────────────────── */
.kicker,
.brand-mark {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 5px 14px;
  border: 1px solid rgba(37, 99, 235, 0.3);
  border-radius: 999px;
  background: rgba(220, 237, 255, 0.88);
  color: var(--blue-deep);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.kicker::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--blue);
  flex-shrink: 0;
}

/* ─── Lead / Subtitle text ──────────────────────────────── */
.subtitle,
.lead {
  margin-top: 14px !important;
  color: var(--muted);
  font-size: 26px;
  line-height: 1.28;
  font-weight: 500;
}

