:root {
  color-scheme: dark;
  background: #101013;
  color: #f8f6fa;
  font: 1rem/1.65 system-ui, sans-serif;
}

.ruut-journal { margin: 0; }
.ruut-journal main { width: min(var(--ruut-page-width), calc(100% - 3rem)); margin-inline: auto; padding-block: clamp(7rem, 13vw, 11rem) 5rem; }
.ruut-journal main h1, .ruut-journal main h2 { font-family: var(--ruut-font-heading); font-weight: 500; }
.ruut-journal main > h1 { color: #f3e7ff; }
.ruut-journal main:has(.ink-region-post) { max-width: 48rem; }
.ruut-journal main > h1 { margin-block: 0 2rem; letter-spacing: -.05em; }
.ink-region-posts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: 1rem; }
.ink-region-empty { padding: 2rem; background: #1a171f; border-radius: 1rem; }
h1 { font-size: clamp(2rem, 7vw, 4rem); line-height: 1.1; }
a { color: #d8a7ff; }
.ink-post-card { padding: 1.5rem; border: 1px solid #37323c; border-radius: 1rem; background: #1a171f; }
.ink-post-meta { color: #c1b8c7; }
.ink-pagination { display: flex; flex-wrap: wrap; gap: 1rem; padding-top: 1rem; }
img { max-width: 100%; height: auto; }
.journal-intro { max-width: 48rem; margin-bottom: 3rem; }
.journal-intro h1 { font-size: clamp(3rem, 8vw, 7rem); letter-spacing: -.065em; margin: .2em 0; }
.journal-intro > p:last-child { color: #c1b8c7; font-size: 1.125rem; max-width: 34rem; }
.journal-label { color: #d8a7ff; font-size: .75rem; letter-spacing: .16em; }
.journal-stories .ink-region-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.journal-stories .ink-post-card:first-child { grid-column: 1 / -1; }
.ink-post-card img, .ink-post-cover { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: .75rem; }
.journal-stories .ink-post-card:first-child img { aspect-ratio:  2.6; }
.ink-post-card h2 a { color: inherit; text-decoration: none; }
.ink-post-card h2 a:hover { color: #d8a7ff; }
.ink-post-content { padding-block: 2rem; font-size: 1.125rem; }
.ruut-journal .journal-intro { max-width: none; margin: 0 0 2rem; padding-bottom: 1.25rem; border-bottom: 1px solid #37323c; }
.ruut-journal .journal-intro h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.05; letter-spacing: -.045em; margin: 0; }
.ruut-journal .journal-intro p { margin: .5rem 0 0; font-size: 1rem; }
.ruut-journal main:has(.journal-intro) { padding-top: clamp(6rem, 10vw, 8rem); }
.journal-stories .ink-post-card:first-child { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(1rem, 4vw, 3rem); align-items: center; padding: 0 0 2rem; border: 0; border-bottom: 1px solid #37323c; border-radius: 0; background: none; }
.journal-stories .ink-post-card:first-child img { aspect-ratio: 4 / 3; }
.journal-stories .ink-post-card:first-child h2 { font-size: clamp(1.75rem, 4vw, 3rem); line-height: 1.1; margin-block: 0 .75rem; }
.ink-post-meta { display: flex; gap: .65rem; align-items: center; font-size: .875rem; }
.ruut-journal .ink-post-meta .ink-byline-avatar { width: 28px; height: 28px; aspect-ratio: 1; border-radius: 50%; object-fit: cover; flex: none; }
@media (max-width: 720px) { .journal-stories .ink-post-card:first-child { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .journal-stories .ink-region-posts { grid-template-columns: 1fr; } }
