@charset "UTF-8";
.journal-feed { margin: 18px 0 0; }
.journal-feed a {
font-size: var(--step--1); letter-spacing: .22em; text-transform: uppercase;
color: var(--label-ink); font-weight: 600; border: 1px solid var(--line);
border-radius: var(--radius); padding: 5px 12px; transition: border-color .15s, color .15s;
}
.journal-feed a:hover { border-color: var(--ember); color: var(--accent-ink); }
.post-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1px; background: var(--hair); border-block: 1px solid var(--hair); }
.post-card { background: var(--bg); }
.post-card-link { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 26px; padding: 26px 4px; color: inherit; align-items: center; }
.post-card-link:hover { color: inherit; }
.post-card-link:hover .post-title { color: var(--accent-ink); }
.post-cover { display: block; aspect-ratio: 16 / 10; border-radius: var(--radius); overflow: hidden; background: var(--panel); }
.post-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.post-card-link:not(:has(.post-cover)) { grid-template-columns: 1fr; }
.post-card-body { display: flex; flex-direction: column; gap: 7px; }
.post-date { font-size: var(--step--1); letter-spacing: .18em; text-transform: uppercase; color: var(--label-ink); font-weight: 600; }
.post-title { font-family: var(--font-display); font-weight: 600; font-size: var(--step-1); line-height: 1.18; letter-spacing: .02em; transition: color .15s; }
.post-excerpt { color: var(--muted); font-size: var(--step-0); }
.post-detail { --read: 54rem; }
.post-detail .wrap { max-width: var(--read); }
.post-detail-meta { color: var(--label-ink); font-size: var(--step--1); letter-spacing: .2em; text-transform: uppercase; font-weight: 600; margin: 12px 0 0; }
.post-cover-full { margin: 40px 0 0; }
.post-cover-full img { width: 100%; height: auto; display: block; border: 1px solid var(--hair); border-radius: var(--radius); }
.post-body { margin: 40px 0 78px; }
.prose.post-body { max-width: none; font-size: clamp(1.1875rem, 1.45vw, 1.3125rem); line-height: 1.75; }
.prose.post-body p { margin: 0 0 1.1em; }
.post-detail .page-lede { max-width: none; }
.post-fig { margin: 40px 0; }
.post-fig img { width: 100%; height: auto; display: block; border: 1px solid var(--hair); border-radius: var(--radius); background: var(--panel); }
.post-fig figcaption { margin-top: 12px; font-size: var(--step--1); line-height: 1.5; color: var(--muted); letter-spacing: .01em; }
@media (max-width: 640px) {
.post-card-link { grid-template-columns: 1fr; gap: 14px; }
}
