.reveal {
  color: #1f2d35;
  font-family: "Source Sans 3", "Source Sans Pro", "Avenir Next", "Segoe UI", sans-serif;
}

.reveal h1,
.reveal h2,
.reveal h3 {
  color: #17252f;
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 700;
  letter-spacing: 0;
}

.reveal h2 {
  font-size: 1.75em;
}

.reveal h3 {
  font-size: 0.98em;
}

.reveal p,
.reveal li {
  line-height: 1.35;
}

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

.compact-slide .columns {
  align-items: center;
  gap: 1.4rem;
}

.hero {
  border-left: 5px solid #9d3b2e;
  background: #f6f1ec;
  color: #243038;
  padding: 1.05rem 1.15rem;
  font-size: 1.08em;
  line-height: 1.35;
}

.small-note {
  margin-top: 1.2rem;
  color: #5f6e78;
  font-size: 0.72em;
}

.card-grid-five {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
  margin-top: 0.8rem;
}

.card {
  border: 1px solid #d7e0e5;
  border-radius: 8px;
  background: #f9fbfc;
  padding: 0.8rem;
  min-height: 6rem;
}

.card p {
  margin: 0.15rem 0;
  font-size: 0.72em;
}

.card p:first-child {
  font-size: 0.82em;
  font-weight: 700;
}

.card a,
.hub-link a,
.nav-row a {
  color: #8f2f2d;
  font-weight: 700;
  text-decoration: none;
}

.card a:hover,
.hub-link a:hover,
.nav-row a:hover {
  text-decoration: underline;
}

.card-future {
  background: #f4f7f9;
}

.hub-link {
  margin-top: 0.8rem;
  font-size: 0.74em;
}

.nav-row {
  display: flex;
  gap: 1.1rem;
  margin-top: 1rem;
  font-size: 0.72em;
}

.code-slide pre code {
  max-height: 520px;
}

.reveal pre {
  box-shadow: none;
  border: 1px solid #d7e0e5;
  border-radius: 8px;
}

.reveal img {
  border: 1px solid #d9e1e6;
  border-radius: 8px;
  background: #ffffff;
}

@media (max-width: 900px) {
  .card-grid-five {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
