/* Light theme — blog index and post pages. */
.theme-light {
  background: var(--neutral-50);
  color: var(--neutral-800);
}

.theme-light .site-nav {
  border-bottom: 1px solid var(--neutral-200);
}

.theme-light .site-nav__brand {
  color: var(--neutral-900);
}

.theme-light .site-nav__links a {
  color: var(--neutral-700);
}

.page-head {
  padding-block: 56px 24px;
}

.page-head__title {
  font: var(--type-display-lg);
  font-size: clamp(36px, 6vw, 56px);
  color: var(--neutral-900);
}

/* Blog index list */
.blog-list {
  display: grid;
  gap: 8px;
  padding-bottom: 64px;
}

.blog-entry {
  display: block;
  padding: 28px 0;
  border-bottom: 1px solid var(--neutral-200);
  text-decoration: none;
  color: inherit;
}

.blog-entry:hover .blog-entry__title {
  color: var(--brand-700);
}

.blog-entry__title {
  font: var(--type-heading-lg);
  color: var(--neutral-900);
  margin-bottom: 6px;
  transition: color 0.15s ease;
}

.blog-entry__date {
  font: var(--type-body-sm);
  color: var(--neutral-500);
  margin-bottom: 12px;
}

.blog-entry__blurb {
  font: var(--type-body-lg);
  color: var(--neutral-600);
}

/* Single post */
.post {
  max-width: 740px;
  padding-block: 56px 80px;
}

.post__title {
  font: var(--type-display-lg);
  font-size: clamp(34px, 5.5vw, 52px);
  color: var(--neutral-900);
  margin-bottom: 12px;
}

.post__date {
  font: var(--type-body-md);
  color: var(--neutral-500);
  margin-bottom: 16px;
}

.post__blurb {
  font: var(--type-heading-md);
  font-weight: 400;
  color: var(--neutral-600);
  margin-bottom: 36px;
}

.post__body {
  font: var(--type-body-lg);
  color: var(--neutral-700);
}

.post__body p {
  margin-block: 1.25em;
}

.post__body a {
  color: var(--brand-700);
  text-decoration: underline;
}

.post__body ul,
.post__body ol {
  padding-left: 1.4em;
}

.post__body li {
  margin-block: 0.5em;
}

.post__body h2,
.post__body h3 {
  color: var(--neutral-900);
  margin-top: 1.6em;
}

.post__back {
  display: inline-block;
  margin-bottom: 24px;
  font: var(--type-body-md);
  color: var(--brand-700);
  text-decoration: none;
}

.post__back:hover {
  text-decoration: underline;
}

.site-footer {
  padding-block: 40px;
  border-top: 1px solid var(--neutral-200);
  color: var(--neutral-500);
  font: var(--type-body-sm);
}
