/* Publications list. Colours and fonts can be overridden by the theme through these variables. */
.sj-pubs {
	--sj-accent: var(--fl-red, #cd212a);
	--sj-link: var(--fl-teal, #00758f);
	--sj-ink: var(--fl-ink, #1a1a1a);
	--sj-muted: var(--fl-muted, #a8a29e);
	--sj-faint: #d1d5db;
	--sj-serif: var(--fl-serif, "Playfair Display", Georgia, serif);
	--sj-sans: var(--fl-sans, Inter, system-ui, sans-serif);
	color: var(--sj-ink);
}
.sj-pubs__tools {
	display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px 24px;
	border-bottom: 1px solid #f3f4f6; padding-bottom: 32px; margin-bottom: 48px;
}
.sj-pubs__search {
	flex: 1 1 280px; max-width: 28rem; border: 0; border-bottom: 1px solid #d1d5db; border-radius: 0;
	background: transparent; padding: 12px 0; font: 400 1.125rem/1.4 var(--sj-sans); color: inherit;
	transition: border-color .2s;
}
.sj-pubs__search:focus { outline: none; border-bottom-color: var(--sj-ink); }
.sj-pubs__search::placeholder { color: #d1d5db; }
.sj-pubs__count { font: 700 10px/1 var(--sj-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--sj-muted); }
.sj-pubs__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 56px; }
.sj-pub { display: grid; grid-template-columns: 1fr; gap: 12px; margin: 0; }
@media (min-width: 760px) {
	.sj-pub { grid-template-columns: 6.5rem 1fr; gap: 32px; }
}
.sj-pub[hidden] { display: none; }
.sj-pub__year {
	font: 700 1.875rem/1.1 var(--sj-serif); color: var(--sj-faint); transition: color .3s;
}
.sj-pub__year.is-repeat { visibility: hidden; }
@media (max-width: 759px) { .sj-pub__year.is-repeat { display: none; } }
.sj-pub:hover .sj-pub__year { color: var(--sj-accent); visibility: visible; }
.sj-pub__body { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.sj-pub__title { margin: 0; font: 700 clamp(1.4rem, 2.6vw, 1.875rem)/1.2 var(--sj-serif); }
.sj-pub__title a { color: inherit; text-decoration: none; transition: color .2s; }
.sj-pub__title a:hover, .sj-pub__title a:focus-visible {
	color: var(--sj-link); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px;
}
.sj-pub:hover .sj-pub__title a { color: var(--sj-link); }
.sj-pub__authors { margin: 0; max-width: 48rem; font: italic 500 .875rem/1.65 var(--sj-sans); color: #1f2937; }
.sj-pub__authors strong { font-weight: 700; color: var(--sj-ink); }
.sj-pub__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 4px; }
.sj-pub__venue { font: 700 .75rem/1.4 var(--sj-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--sj-muted); }
.sj-pub__btn {
	display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px;
	border: 1px solid var(--sj-accent); color: var(--sj-accent); text-decoration: none;
	font: 700 9px/1 var(--sj-sans); letter-spacing: .2em; text-transform: uppercase;
	transition: background-color .2s, color .2s;
}
.sj-pub__btn span[aria-hidden] { font-size: 1rem; line-height: 0; }
.sj-pub__btn:hover, .sj-pub__btn:focus-visible { background: var(--sj-accent); color: #fff; }
.sj-pubs__source { margin-top: 64px; font: 500 12px/1.5 var(--sj-sans); color: var(--sj-muted); }
.sj-pubs__source a { color: inherit; }
.sj-pubs__empty { font-style: italic; }
