.article {
  max-width: var(--container);
  margin: 0 auto;
  padding: 40px var(--gutter) 60px;
}

.article__back {
  display: inline-block;
  font-size: 13px;
  color: var(--fg-mute);
  margin-bottom: 56px;
  transition: color .25s var(--ease);
}
.article__back:hover { color: var(--accent); }

.article__head { margin-bottom: 48px; }
.article__meta {
  font-size: 13px;
  color: var(--fg-mute);
  margin: 0 0 20px;
}
.article__title {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(34px, 5vw, 48px);
  line-height: 1.1;
  letter-spacing: -.015em;
  margin: 0 0 18px;
}
.article__dek {
  font-family: var(--serif);
  font-style: italic;
  font-size: 20px;
  line-height: 1.45;
  color: var(--fg-soft);
  margin: 0;
}

.prose { font-size: 17px; line-height: 1.7; color: var(--fg); }
.prose > * + * { margin-top: 1.2em; }
.prose p { margin: 0; max-width: 65ch; }
.prose h2 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 24px;
  line-height: 1.25;
  letter-spacing: -.01em;
  margin-top: 2.4em;
  margin-bottom: .4em;
}
.prose code {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .88em;
  color: var(--accent);
}
.prose pre {
  background: transparent;
  border-left: 2px solid var(--rule);
  padding: 4px 0 4px 18px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 13.5px;
  line-height: 1.7;
  overflow-x: auto;
  margin: 1.6em 0;
}
.prose pre code { color: var(--fg); }
.prose blockquote {
  border-left: 2px solid var(--rule);
  padding: 0 0 0 18px;
  margin: 1.6em 0;
  font-family: var(--serif);
  font-style: italic;
  font-size: 19px;
  line-height: 1.5;
  color: var(--fg-soft);
}

.article__foot {
  margin-top: 64px;
  padding-top: 32px;
  border-top: 1px solid var(--rule);
  font-family: var(--serif);
  font-style: italic;
  color: var(--fg-soft);
}
.article__foot p { margin: 0; }
