:root {
  --r-background-color: #fffaf0;
  --r-main-font: "Atkinson Hyperlegible", "Source Sans Pro", Arial, sans-serif;
  --r-heading-font: "Atkinson Hyperlegible", "Source Sans Pro", Arial, sans-serif;
  --r-heading-color: #103f2f;
  --r-main-color: #1f2d28;
  --r-link-color: #996515;
  --r-selection-background-color: #d4a017;
}

.reveal .slides { text-align: left; }
.reveal .slide-background { background: linear-gradient(135deg, #fffaf0 0%, #fffaf0 62%, #edf4e5 100%); }

.reveal h1, .reveal h2, .reveal h3 {
  text-transform: none;
  letter-spacing: -0.02em;
}

.reveal h1 { font-size: 1.55em; }
.reveal h2 {
  color: #103f2f;
  border-bottom: 5px solid #d4a017;
  padding-bottom: 0.14em;
  margin-bottom: 0.45em;
}
.reveal h3 { color: #1b5e45; }

.reveal p, .reveal li, .reveal td, .reveal th {
  font-size: 0.78em;
  line-height: 1.25;
}

.reveal strong { color: #103f2f; }
.reveal a { font-weight: 700; color: #996515; }

.reveal table {
  font-size: 0.60em;
  width: 100%;
  border-collapse: collapse;
}
.reveal th {
  background: #1b5e45;
  color: #fffaf0;
}
.reveal td, .reveal th {
  border: 1px solid #cbd9bf;
  padding: 0.45em;
  vertical-align: top;
}

.reveal img {
  max-height: 535px;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.big {
  font-size: 1.22em;
  line-height: 1.18;
  color: #103f2f;
  font-weight: 800;
  margin: 0.55em 0;
}

.quote {
  font-size: 1.22em;
  color: #103f2f;
  font-weight: 800;
  padding: 0.25em 0 0.25em 0.8em;
  border-left: 9px solid #d4a017;
  margin: 0.65em 0 0.75em 0;
}

.callout {
  background: #edf4e5;
  border-left: 8px solid #d4a017;
  border-radius: 18px;
  padding: 0.65em 0.85em;
  margin-top: 0.75em;
  box-shadow: 0 5px 16px rgba(16, 63, 47, 0.08);
}

.threecols, .twocols, .cards {
  display: grid;
  gap: 0.7em;
  margin-top: 0.7em;
}
.threecols { grid-template-columns: repeat(3, 1fr); }
.twocols { grid-template-columns: 1fr 1fr; }
.cards { grid-template-columns: repeat(2, 1fr); }

.colbox, .card {
  background: #edf4e5;
  border-left: 7px solid #1b5e45;
  border-radius: 16px;
  padding: 0.7em;
  box-shadow: 0 5px 16px rgba(16, 63, 47, 0.10);
}
.card { min-height: 3.4em; }
.card p, .colbox p { margin: 0.15em 0; }

.timeline, .method, .chain, .scenario, .numbered {
  background: #edf4e5;
  border-radius: 22px;
  padding: 0.85em 1.05em;
  border: 2px solid #d4a017;
  font-size: 0.90em;
  line-height: 1.34;
  box-shadow: 0 5px 18px rgba(16, 63, 47, 0.09);
}

.scenario strong {
  display: inline-block;
  min-width: 5em;
  color: #103f2f;
}

.keywords {
  color: #103f2f;
  text-align: center;
  font-size: 1.05em;
  background: #edf4e5;
  border-radius: 20px;
  padding: 0.65em;
  margin: 0.8em 0;
}

.numbered ol, .numbered ul { margin-top: 0; margin-bottom: 0; }

.reveal .footer { color: #1b5e45; }

@media (max-width: 900px) {
  .threecols, .twocols, .cards { grid-template-columns: 1fr; }
}
