:root {
  --ink: #10283A;
  --paper: #F5F1E8;
  --sand: #EAE4D6;
  --card: #FFFDF8;
  --line: #DDD5C4;
  --orange: #D9622B;
  --orange-d: #B9501F;
  --orange-l: #F2A06B;
  --teal: #1F6B5E;
  --muted: #5A6570;
  --body: #3B4652;
  --on-dark: #C8D6DE;
}

.reveal {
  font-family: 'Golos Text', Arial, sans-serif;
  font-size: 32px;
  color: var(--ink);
}
.reveal .slides { text-align: left; }
.reveal .slides section {
  height: 100%;
  box-sizing: border-box;
  padding: 48px 64px 40px;
  display: flex !important;
  flex-direction: column;
  gap: 28px;
}
.reveal .slides section.center-v { justify-content: center; }

.reveal h1, .reveal h2, .reveal h3 {
  font-family: 'Unbounded', Arial, sans-serif;
  color: var(--ink);
  text-transform: none;
  letter-spacing: 0;
  margin: 0;
  line-height: 1.15;
}
.reveal h1 { font-size: 70px; font-weight: 700; }
.reveal h2 { font-size: 50px; font-weight: 700; }
.reveal h3 { font-size: 28px; font-weight: 600; margin-bottom: 10px; }
.reveal p, .reveal li { color: var(--body); line-height: 1.4; margin: 0; }
.reveal ul, .reveal ol { margin: 0 0 0 1.1em; display: flex; flex-direction: column; gap: 12px; }
.reveal strong { color: var(--ink); }

.eyebrow {
  font-size: 20px !important;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--orange-d) !important;
}
.lead { font-size: 34px; }
.small { font-size: 22px !important; color: var(--muted) !important; }

/* dark (interactive) slides */
.dark h1, .dark h2, .dark h3, .dark strong { color: var(--paper); }
.dark p, .dark li { color: var(--on-dark); }
.dark .eyebrow { color: var(--orange-l) !important; }
.dark .small { color: #9FB2BD !important; }
.pill {
  align-self: flex-start;
  background: var(--orange-l);
  color: var(--ink) !important;
  font-weight: 700;
  font-size: 22px !important;
  padding: 8px 22px;
  border-radius: 40px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* layouts */
.grid { display: grid; gap: 24px; }
.g2 { grid-template-columns: 1fr 1fr; }
.g3 { grid-template-columns: repeat(3, 1fr); }
.g4 { grid-template-columns: repeat(4, 1fr); }
.split { display: grid; grid-template-columns: 1.35fr 1fr; gap: 48px; align-items: center; flex: 1; }
.card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 26px 28px;
}
.card p, .card li { font-size: 24px; }
.dark .card { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.16); }
.card .num {
  font-family: 'Unbounded', Arial, sans-serif;
  font-size: 54px; font-weight: 700; color: var(--orange-d); line-height: 1; margin-bottom: 10px;
}
.dark .card .num { color: var(--orange-l); }
.accent { border-left: 6px solid var(--orange); padding-left: 24px; }

.quote {
  font-size: 40px;
  line-height: 1.35;
  color: var(--ink);
  font-style: italic;
  border-left: 8px solid var(--orange);
  padding-left: 32px;
}
.dark .quote { color: var(--paper); }

.qr { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.qr img {
  width: 270px; height: 270px; margin: 0 !important;
  background: #fff; border-radius: 18px; padding: 6px; border: none !important; box-shadow: none !important;
}
.qr .label { font-size: 22px; color: var(--muted); text-align: center; }
.dark .qr .label { color: var(--on-dark); }
.qr a.btn { display: none; }

.visual {
  border-radius: 20px;
  background: var(--sand);
  border: 2px dashed var(--line);
  display: flex; align-items: center; justify-content: center;
  color: var(--muted); font-size: 22px; text-align: center; padding: 20px;
  min-height: 280px;
}
.visual img { width: 100%; height: 100%; object-fit: cover; border-radius: 18px; margin: 0; }

.reveal table { font-size: 22px; border-collapse: collapse; width: 100%; margin: 0; }
.reveal table th { background: var(--sand); color: var(--ink); text-align: left; padding: 10px 14px; border: 1px solid var(--line); }
.reveal table td { padding: 10px 14px; border: 1px solid var(--line); color: var(--body); vertical-align: top; }
.dark table th { background: rgba(255,255,255,0.1); color: var(--paper); border-color: rgba(255,255,255,0.2); }
.dark table td { color: var(--on-dark); border-color: rgba(255,255,255,0.2); }

.steps { display: flex; gap: 16px; align-items: stretch; }
.steps .card { flex: 1; }
.steps .arrow { align-self: center; font-size: 40px; color: var(--orange); }

.tag {
  display: inline-block; font-size: 18px; font-weight: 700; padding: 4px 12px;
  border-radius: 20px; background: var(--sand); color: var(--ink); margin-right: 6px;
}
.dark .tag { background: rgba(255,255,255,0.12); color: var(--paper); }

/* on phones the slide is read rather than projected: allow tapping the QR targets */
@media (max-width: 900px) {
  .qr a.btn {
    display: inline-block; background: var(--orange); color: #fff !important;
    padding: 10px 22px; border-radius: 30px; font-size: 26px; text-decoration: none;
  }
}
