:root {
  --navy: #5e2137;
  --navy-dark: #451a2a;
  --navy-deep: #2b101d;
  --accent: #a4842f;
  --accent-dark: #7d621e;
  --accent-soft: #f6ecd3;
  --text: #3f3427;
  --muted: #6d5a44;
  --faint: #a08a6a;
  --bg: #faf6ec;
  --card: #fffdf6;
  --line: #e6dcc3;
  --good: #1e6b4f;
  --good-bg: #eaf3ed;
  --bad: #b3273a;
  --bad-bg: #fceef0;
  --warn-bg: #fbf0d8;
  --warn: #8a6414;
}

body {
  font-family: Georgia, 'Times New Roman', Baskerville, serif;
  background:
    radial-gradient(circle at 15% 0%, rgba(164, 132, 47, 0.07), transparent 45%),
    radial-gradient(circle at 85% 100%, rgba(94, 33, 55, 0.06), transparent 45%),
    var(--bg);
}

h1,
h2,
h3,
h4,
.page-head h1,
.section h2,
.section h3,
.card h3,
.course-card h3,
details.faq-item summary {
  font-family: Georgia, 'Times New Roman', Baskerville, serif;
  letter-spacing: 0.01em;
}

.nav {
  border-bottom: 1px solid #a4842f;
  box-shadow: 0 2px 12px rgba(43, 16, 29, 0.35);
}

.nav .logo {
  font-variant: small-caps;
  letter-spacing: 0.1em;
}

.nav ul li a.current,
.nav ul li a:hover {
  background: rgba(164, 132, 47, 0.22);
}

.page-head {
  border-bottom: 1px solid #a4842f;
}

.page-head h1 {
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.page-head p {
  color: #eedcae;
  font-style: italic;
}

.page-head .crumbs {
  color: #c7b283;
}

.section h2 {
  font-size: 1.4rem;
  border-bottom: 2px double #a4842f;
  padding-bottom: 0.5rem;
  display: inline-block;
}

.section h4 {
  color: #7d621e;
}

.hero {
  background:
    linear-gradient(180deg, rgba(164, 132, 47, 0.06), transparent),
    var(--card);
  border: 1px solid #d8cba6;
  box-shadow: 0 10px 26px rgba(67, 46, 26, 0.1);
}

.card,
.course-card,
.timeline,
.accordion details,
.table-wrap,
.topic-grid div,
.author-grid div,
.term-grid div {
  background: var(--card);
  border-color: #d8cba6;
  box-shadow: 0 6px 16px rgba(67, 46, 26, 0.07);
}

.card .tagline {
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.7rem;
}

.btn {
  border-radius: 999px;
  letter-spacing: 0.04em;
}

.btn.ghost {
  background: transparent;
  color: #7d621e;
  border-color: #a4842f;
}

.btn.ghost:hover {
  background: #f6ecd3;
}

.topic-grid div,
.author-grid div,
.term-grid div {
  color: var(--navy);
}

.frame {
  border-style: double;
}

footer {
  border-top: 1px solid #a4842f;
}

.cookiebar {
  background: #2b101d;
}