@font-face {
  font-family: "Latin Modern Roman";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/latin-modern/lmroman10-regular.otf") format("opentype");
}

@font-face {
  font-family: "Latin Modern Roman";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/latin-modern/lmroman10-bold.otf") format("opentype");
}

@font-face {
  font-family: "Latin Modern Roman";
  font-style: italic;
  font-weight: 400;
  src: url("../fonts/latin-modern/lmroman10-italic.otf") format("opentype");
}

@font-face {
  font-family: "Latin Modern Roman";
  font-style: italic;
  font-weight: 700;
  src: url("../fonts/latin-modern/lmroman10-bolditalic.otf") format("opentype");
}

:root {
  color-scheme: dark;
  --r-main-font: "Latin Modern Roman", "Computer Modern", serif;
  --r-heading-font: "Latin Modern Roman", "Computer Modern", serif;
  --r-code-font: "Latin Modern Roman", "Computer Modern", serif;
}

html,
body {
  background: #000;
}

.reveal {
  background: #000;
  font-family: "Latin Modern Roman", "Computer Modern", serif;
  font-weight: 400;
}

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

.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6,
.reveal p,
.reveal li {
  font-family: "Latin Modern Roman", "Computer Modern", serif;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.reveal strong,
.reveal b {
  font-weight: 700;
}

.reveal em,
.reveal i {
  font-style: italic;
}

.reveal section {
  box-sizing: border-box;
}

.reveal section[data-autoplay-media] {
  display: flex !important;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 0 !important;
}

.reveal section[data-autoplay-media] h2 {
  margin-bottom: 0.35em;
}

.reveal video {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  margin: 0;
  background: #050505;
  object-fit: contain;
}

.reveal audio {
  width: min(100%, 720px);
}

.reveal pre {
  width: 100%;
  margin: 0;
  font-size: 0.45em;
}

.split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1.25em;
  align-items: center;
  text-align: left;
}

.caption {
  margin-top: 0.8em;
  font-size: 0.45em;
  color: #bdbdbd;
}

.statement-slide h2 {
  max-width: 13em;
  margin: 0 auto;
  font-size: 1.55em;
  line-height: 1.15;
}

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

.citations-slide h3 {
  text-align: center;
}

.citations-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.2em;
  align-items: center;
  width: min(88%, 980px);
  margin: 1em auto 0;
}

.citations-slide ul {
  margin: 0;
  font-size: 0.8em;
  line-height: 1.35;
}

.subscribe-qr {
  margin: 0;
  text-align: center;
}

.subscribe-qr img {
  width: min(24vw, 260px);
  aspect-ratio: 1;
  padding: 0.12em;
  background: #fff;
}

.subscribe-qr figcaption {
  margin-top: 0.45em;
  font-size: 0.42em;
  color: #d8d8d8;
}

@media (max-width: 760px) {
  .split {
    grid-template-columns: 1fr;
  }

  .citations-layout {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .reveal pre {
    font-size: 0.38em;
  }
}
