.nm-journal { min-height: 60vh; padding-top: 76px; }
.nm-journal h1 { max-width: 100%; overflow-wrap: anywhere; }
.nm-archive-heading, .nm-post-heading { max-width: 900px; margin-bottom: 68px; }
.nm-journal .text-link + h1 { margin-top: 30px; }
.nm-archive-description { max-width: 680px; margin-top: 30px; color: var(--muted); font-size: 21px; }
.nm-post-list { border-top: 1px solid var(--line); }
.nm-post-row { display: flex; gap: 34px; padding: 36px 0; border-bottom: 1px solid var(--line); }
.nm-post-thumb { width: 30%; flex: 0 0 30%; align-self: flex-start; }
.nm-post-thumb img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.nm-post-summary { min-width: 0; max-width: 760px; }
.nm-post-summary h2 { font-size: clamp(23px, 2.6vw, 34px); line-height: 1.28; overflow-wrap: anywhere; }
.nm-post-summary h2 a:hover { color: var(--olive); }
.nm-post-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; margin: 0 0 18px; color: var(--muted); font-size: 13px; }
.nm-post-meta a { text-decoration: underline; text-underline-offset: 4px; }
.nm-post-heading .nm-post-meta { margin-top: 30px; }
.nm-post-excerpt { margin-top: 18px; color: var(--muted); }
.nm-post-excerpt p:last-child { margin-bottom: 0; }
.nm-post-summary .text-link { margin-top: 14px; }
.nm-post-cover { margin: 0 0 54px; }
.nm-post-cover img { width: 100%; max-height: 720px; object-fit: cover; height: auto; }
.nm-post-content { max-width: 760px; margin: 0 auto; font-size: 18px; overflow-wrap: anywhere; }
.nm-post-content > * { max-width: 100%; }
.nm-post-content p, .nm-post-content ul, .nm-post-content ol { margin-top: 0; margin-bottom: 26px; }
.nm-post-content h2 { margin: 54px 0 26px; font-size: clamp(30px, 4vw, 44px); line-height: 1.15; }
.nm-post-content h3 { margin: 36px 0 18px; font: 400 25px / 1.28 var(--serif); }
.nm-post-content a { color: var(--olive); text-decoration: underline; text-underline-offset: 4px; }
.nm-post-content a:hover { color: var(--olive-deep); }
.nm-post-content figure { margin: 36px 0; }
.nm-post-content img { height: auto; }
.nm-post-content figcaption { margin-top: 12px; color: var(--muted); font-size: 14px; }
.nm-post-content blockquote { margin: 36px 0; padding: 26px; border-left: 1px solid var(--olive); background: var(--paper); font-family: var(--serif); font-size: 25px; }
.nm-post-content pre, .nm-post-content .wp-block-table { overflow-x: auto; }
.nm-post-content pre { padding: 26px; background: var(--paper); font-size: 14px; }
.nm-post-content table { width: 100%; border-collapse: collapse; }
.nm-post-content th, .nm-post-content td { padding: 12px; border: 1px solid var(--line); text-align: left; }
.nm-post-content input { max-width: 100%; font: inherit; }
.nm-post-content input[type="submit"] { background: var(--olive); color: var(--paper); border: 0; padding: 12px 18px; cursor: pointer; }
.nm-journal .pagination, .nm-journal .post-navigation { margin-top: 54px; }
.nm-journal .nav-links, .nm-pagination { display: flex; flex-wrap: wrap; gap: 18px; }
.nm-journal .post-navigation .nav-links { justify-content: space-between; border-top: 1px solid var(--line); padding-top: 26px; }
.nm-journal .post-navigation .nav-links > div { max-width: 46%; overflow-wrap: anywhere; }
.nm-journal .nav-next { margin-left: auto; text-align: right; }
.nm-journal .page-numbers, .nm-pagination span { display: inline-block; padding: 9px 14px; border: 1px solid var(--line); }
.nm-journal .page-numbers.current { background: var(--olive); color: var(--paper); }
.nm-empty { color: var(--muted); }
@media (max-width: 680px) {
    .nm-journal { padding-top: 52px; }
    .nm-archive-heading, .nm-post-heading { margin-bottom: 48px; }
    .nm-post-row { flex-direction: column; gap: 18px; }
    .nm-post-thumb { width: 100%; flex-basis: auto; }
    .nm-post-content { font-size: 17px; }
    .nm-post-cover { margin-bottom: 36px; }
}
