:root {
  --dd-ink: #1d2730;
  --dd-navy: #17364a;
  --dd-blue: #1f5d78;
  --dd-line: #d9e2e8;
  --dd-panel: #f6f8fa;
}

body {
  color: var(--dd-ink);
  line-height: 1.68;
}

h1,
h2,
h3 {
  color: var(--dd-navy);
  letter-spacing: -0.015em;
  line-height: 1.18;
}

h1 {
  margin-bottom: 1.25rem;
}

h2 {
  margin-top: 2.5rem;
}

p,
ul,
ol {
  margin-bottom: 1rem;
}

a {
  color: var(--dd-blue);
  text-underline-offset: 0.16em;
}

.callout {
  border-radius: 0.35rem;
  margin: 1.5rem 0;
}

.quarto-figure {
  margin: 2rem auto;
}

.quarto-figure img {
  background: var(--dd-panel);
  border: 1px solid var(--dd-line);
  border-radius: 0.45rem;
  padding: 0.35rem;
}

.quarto-figure figcaption {
  color: #405260;
  font-size: 0.9rem;
  line-height: 1.45;
  margin-top: 0.6rem;
}

table {
  font-size: 0.92rem;
  line-height: 1.45;
}

table th {
  color: var(--dd-navy);
}

.sidebar-title,
.sidebar-item-text {
  line-height: 1.3;
}

.nav-footer {
  border-top: 1px solid var(--dd-line);
  margin-top: 3rem;
}

[data-bs-theme="dark"] {
  --dd-ink: #e9eef2;
  --dd-navy: #dbeaf2;
  --dd-blue: #8fc7df;
  --dd-line: #43515c;
  --dd-panel: #222a30;
}

[data-bs-theme="dark"] .quarto-figure figcaption {
  color: #bdcad2;
}

@media (max-width: 767.98px) {
  body {
    line-height: 1.6;
  }

  .quarto-figure {
    margin: 1.5rem auto;
  }

  table {
    font-size: 0.85rem;
  }
}
