/* Blog-only additions on top of site.css (copied from cafeunbound.com). Uses its tokens only. */

.page-head .cap a { color: inherit; }
/* The main site's page titles are one or two words; article titles are sentences, so they step down a size. */
.page-head h1.long { font-size: clamp(2.4rem, 1.5rem + 3.4vw, 4.6rem); line-height: .98; max-width: 30ch; }

/* Article body: site.css resets lists and margins, so long-form text gets its rhythm back here. */
.article-body { max-width: 40rem; font-size: 1.0625rem; line-height: 1.6; }
.article-body > * + * { margin-top: 16px; }
.article-body h2 { font-family: var(--serif); font-size: clamp(1.9rem, 1.5rem + 1.4vw, 2.5rem); line-height: 1; letter-spacing: -0.02em; margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--rule); }
.article-body h2 + * { margin-top: 20px; }
.article-body ul, .article-body ol { padding-left: 1.2em; display: grid; gap: 10px; }
.article-body li { padding-left: .3em; }
.article-body li::marker { color: var(--text-soft); }
.article-body a { text-decoration: underline; }
.article-body strong { font-weight: 700; }

.article-body table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; border-block: 1px solid var(--rule); }
.article-body th { font: 500 .75rem/1.35 var(--sans); text-transform: uppercase; letter-spacing: var(--track-label); color: var(--text-soft); text-align: left; padding: 12px 8px 10px 0; border-bottom: 1px solid var(--rule); }
.article-body td { padding: 10px 8px 10px 0; border-bottom: 1px solid var(--rule); vertical-align: top; }
.article-body tr:last-child td { border-bottom: 0; }
.article-body th:not(:first-child), .article-body td:not(:first-child) { text-align: right; white-space: nowrap; padding-left: 20px; }

.article-cta { margin-top: 48px; display: flex; flex-wrap: wrap; gap: 12px; }

/* Journal home: one row per article. */
.journal-list { list-style: none; padding: 0; border-top: 1px solid var(--rule); max-width: 48rem; }
.journal-list li { border-bottom: 1px solid var(--rule); }
.journal-list a { display: block; padding-block: 24px; text-decoration: none; }
.journal-list h2 { font-family: var(--serif); font-size: clamp(1.7rem, 1.4rem + 1.1vw, 2.2rem); line-height: 1.05; letter-spacing: -0.02em; }
.journal-list p { margin-top: 10px; color: var(--text-soft); max-width: 36rem; }
.journal-list a:hover h2, .journal-list a:focus-visible h2 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; }
