@font-face {
  font-family: "Playfair Display";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/fonts/playfair-latin.woff2") format("woff2");
}
@font-face {
  font-family: "Space Grotesk";
  font-style: normal;
  font-weight: 300 500;
  font-display: swap;
  src: url("/fonts/spacegrotesk-latin.woff2") format("woff2");
}
:root {
  color-scheme: dark;
  --blog-bg: #0f0e0d;
  --blog-panel: #161513;
  --blog-ember: #e8813a;
  --blog-cream: #ede5d8;
  --blog-sand: #b8aa96;
  --blog-dust: #7a6f63;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  color: var(--blog-sand);
  background: var(--blog-bg);
  font: 300 16px/1.8 "Space Grotesk", sans-serif;
}
a { color: inherit; }
.blog-wrap { width: min(100% - 40px, 860px); margin: 0 auto; padding: 64px 0 48px; }
.blog-back { color: var(--blog-dust); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; }
.blog-back:hover, .blog-footer a:hover { color: var(--blog-ember); }
.blog-heading { padding: 72px 0 54px; border-bottom: 1px solid rgba(184,170,150,.24); }
.blog-kicker { margin: 0 0 12px; color: var(--blog-ember); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; }
h1, h2 { color: var(--blog-cream); font-family: "Playfair Display", Georgia, serif; font-weight: 400; line-height: 1.16; }
.blog-heading h1, .article-heading h1 { margin: 0; font-size: clamp(36px, 7vw, 58px); }
.blog-intro, .article-excerpt { max-width: 56ch; margin: 18px 0 0; font-size: 17px; }
.blog-list { display: grid; }
.blog-entry { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 28px; padding: 30px 0; border-bottom: 1px solid rgba(184,170,150,.18); }
.blog-entry-cover { display: block; overflow: hidden; background: var(--blog-panel); aspect-ratio: 4 / 3; }
.blog-entry-cover img, .article-cover img { width: 100%; height: 100%; object-fit: cover; }
.blog-entry-copy { align-self: center; }
.blog-meta, .blog-tags { margin: 0 0 8px; color: var(--blog-dust); font-size: 12px; }
.blog-entry h2 { margin: 0 0 10px; font-size: 27px; }
.blog-entry h2 a { text-decoration: none; }
.blog-entry h2 a:hover { color: var(--blog-ember); }
.blog-excerpt { margin: 0; }
.blog-tags { margin-top: 12px; color: var(--blog-ember); }
.blog-empty { padding: 44px 0; }
.blog-footer { display: flex; justify-content: space-between; gap: 16px; margin-top: 48px; padding-top: 18px; border-top: 1px solid rgba(184,170,150,.18); color: var(--blog-dust); font-size: 12px; }
.blog-footer a { text-decoration: none; }
.article-heading { padding: 54px 0 34px; }
.article-cover { max-height: 520px; margin: 0 0 32px; overflow: hidden; background: var(--blog-panel); }
.article-cover img { max-height: 520px; }
.mixcloud-player { margin: 28px 0; padding: 16px; background: var(--blog-panel); }
.mixcloud-player iframe { display: block; border: 0; }
.radio-reference { color: var(--blog-dust); font-size: 13px; }
.radio-reference a { color: var(--blog-ember); }
.article-body { max-width: 68ch; margin: 36px auto; }
.article-body h2, .article-body h3, .article-tracklist h2 { margin: 1.8em 0 .55em; }
.article-body p, .article-body ul, .article-body ol, .article-body blockquote { margin: 0 0 1.2em; }
.article-body img { display: block; max-width: 100%; height: auto; margin: 28px auto; }
.article-body a { color: var(--blog-ember); }
.article-body blockquote { margin-left: 0; padding-left: 20px; border-left: 2px solid var(--blog-ember); color: var(--blog-cream); }
.article-tracklist { max-width: 68ch; margin: 44px auto; padding-top: 20px; border-top: 1px solid rgba(184,170,150,.2); }
.article-tracklist h2 { font-size: 24px; }
.article-tracklist ol { padding-left: 22px; }
.article-tracklist li { padding: 3px 0; }
.article-tracklist li span { color: var(--blog-cream); }
@media (max-width: 640px) {
  .blog-wrap { width: min(100% - 32px, 860px); padding-top: 36px; }
  .blog-heading { padding: 54px 0 36px; }
  .blog-entry { grid-template-columns: 1fr; gap: 16px; }
  .blog-entry h2 { font-size: 24px; }
  .article-heading { padding-top: 38px; }
  .blog-footer { flex-wrap: wrap; }
}