.publication-main { padding: 70px 0 100px; }
.publication-heading { max-width: 760px; margin: 0 0 60px; }
.publication-heading h1, .publication-article h1 { font-size: clamp(44px,6vw,82px); line-height: 1.05; }
.publication-heading p, .publication-subtitle { font-size: clamp(22px,3vw,30px); color: var(--brown); }
.publication-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.publication-card { padding: clamp(24px,4vw,40px); background: var(--paper); border: 1px solid var(--line); border-radius: 5px; }
.publication-card h2 { font-size: clamp(28px,3vw,40px); }
.publication-card h2 a { text-decoration: none; }
.publication-card h2 a:hover { text-decoration: underline; text-underline-offset: 5px; }
.publication-meta { color: var(--muted); margin: 24px 0; }
.publication-article { max-width: 860px; margin: auto; padding: 0 var(--gutter); }
.publication-intro { font-size: 25px; line-height: 1.5; margin: 36px 0; }
.publication-cover { width: 100%; border-radius: 5px; margin: 36px 0; }
.publication-body { margin: 36px 0; overflow-wrap: anywhere; }
.publication-body h2 { font-size: 36px; margin-top: 48px; }
.publication-body h3 { font-size: 28px; margin-top: 32px; }
.publication-body blockquote { border-left: 2px solid var(--ochre); padding-left: 24px; margin-left: 0; }
.publication-body pre { white-space: pre-wrap; background: var(--paper); padding: 20px; }
.publication-body table { display: block; overflow-x: auto; border-collapse: collapse; }
.publication-body th, .publication-body td { padding: 12px; border: 1px solid var(--line); }
.publication-links { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 36px; }
.empty-state { padding: 32px 0; color: var(--brown); }
@media(max-width:700px) { .publication-grid { grid-template-columns: 1fr; } .publication-main { padding-top: 48px; } .publication-heading { margin-bottom: 36px; } }

/* Journal filter: Papers · Essays · Notes */
.journal-types { max-width: 760px; color: var(--brown); font-size: 13px; line-height: 1.7; margin: -28px 0 28px; }
.journal-types b { font-weight: 500; color: var(--ink); }
.journal-filter { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 36px; }
.journal-filter a { font-family: var(--mono); font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; color: var(--brown); border: 1px solid var(--line); border-radius: 999px; padding: 8px 18px; }
.journal-filter a:hover { border-color: var(--ochre); color: var(--ink); }
.journal-filter a[aria-current="true"] { background: var(--ink); border-color: var(--ink); color: var(--cream, #f4ebdd); }
.publication-card[hidden] { display: none; }
.note-question { color: #2c3d52; font-size: 13px; line-height: 1.6; border-left: 2px solid var(--ochre); padding-left: 12px; margin: 12px 0; }

/* Journal types: a subtle colour per kind of writing */
.publication-card[data-type] { --type-accent: var(--brown); --type-tint: var(--paper); background: var(--type-tint); border-top: 3px solid var(--type-accent); }
.publication-card[data-type="papers"]     { --type-accent: #2c3d52; --type-tint: #edf0f2; }
.publication-card[data-type="essays"]     { --type-accent: #b98236; --type-tint: #faf1de; }
.publication-card[data-type="principles"] { --type-accent: #8a4f3d; --type-tint: #f5e8df; }
.publication-card[data-type="notes"]      { --type-accent: #5f7363; --type-tint: #edf1e4; }
.publication-card[data-type] > .label { color: var(--type-accent); display: inline-flex; align-items: center; gap: 8px; }
.publication-card[data-type] > .label::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--type-accent); }
.journal-filter a[data-filter="papers"]     { --type-accent: #2c3d52; }
.journal-filter a[data-filter="essays"]     { --type-accent: #b98236; }
.journal-filter a[data-filter="principles"] { --type-accent: #8a4f3d; }
.journal-filter a[data-filter="notes"]      { --type-accent: #5f7363; }
.journal-filter a[data-filter]:not([data-filter="all"])::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--type-accent); margin-right: 8px; vertical-align: 1px; }
.journal-filter a[data-filter]:not([data-filter="all"])[aria-current="true"] { background: var(--type-accent); border-color: var(--type-accent); color: #f9f4ea; }
.journal-filter a[data-filter]:not([data-filter="all"])[aria-current="true"]::before { background: #f9f4ea; }

/* Cards: "Read more" pinned to the bottom so it aligns across a row; whole card clickable with a hover state */
.publication-card { display: flex; flex-direction: column; position: relative; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.publication-card > a.mono:last-child { margin-top: auto; padding-top: 12px; align-self: flex-start; }
.publication-card h2 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.publication-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px -18px rgba(27, 33, 41, 0.35); border-color: var(--type-accent, var(--ochre)); }
.publication-card:hover h2 a { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.publication-card:hover > a.mono:last-child { color: var(--type-accent, var(--ink)); }
.publication-card:focus-within { outline: 2px solid var(--type-accent, var(--ochre)); outline-offset: 3px; }
.publication-card[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) { .publication-card, .publication-card:hover { transition: none; transform: none; } }
