/* The public site (round 18b6): the Home, Journals, Journal, Article and Search boards of the design
   canvas, on its site tokens. Replaces resources/css/main.css (Foundation 6) for every site page.
   Fonts: assets/fonts/fonts.css (self-hosted Source Sans 3, Source Serif 4, Source Code Pro).

     .wrap                 the 1280px column with a 24px gutter (16px on phones)
     .sh / .sh-*           site header (ink band): brand, nav, search, log in, Submit
     .crumbs               breadcrumb trail
     .sec / .sec-head      a section with its heading row (h2 + a link)
     .art                  an article in a list (type, title, authors, journal, date, metric)
     .jc / .jrow           a journal card (Home) / a journal row (Journals)
     .fchip, .tab, .aud    filter chips, underline tabs, audience pills
     .check, .pg           filter checkbox rows, pager buttons
     .jhead, .jnav         a journal's header band and its navigation
     .ah, .tabx, .toc      an article's header, view tabs and section list
     .prose                stored page and article text (pages table, abstracts, full text)
     .sf                   site footer with the alerts form */

:root {
	/* Round 23b1: the canvas kit's light set, as on the portals (assets/portal/portal.css), with the
	   site's white paper and its tint band. The site has no dark theme. */
	--ink: #0B1F3A;
	--ink-2: #16365F;
	--hero: #12305A;
	--paper: #FFFFFF;
	--tint: #F4F6F9;
	--card: #FFFFFF;
	--sunk: #F8F9FB;
	--hover: #E4E9F0;
	--line: #DFE4EB;
	--line-soft: #ECEFF3;
	--field: #C6CED8;
	--grid: #E9EDF2;
	--text: #16202D;
	--text-2: #3A4757;
	--muted: #5A6676;
	--blue: #1A66A8;
	--blue-hover: #14558D;
	--on-blue: #FFFFFF;
	--blue-soft: #E6EFF8;
	--blue-text: #134E83;
	--within: #8EBCE4;
	--amber: #B97800;
	--amber-bg: #FCEFD3;
	--amber-text: #764500;
	--red: #C2412D;
	--red-bg: #FBE4E0;
	--red-text: #992A1B;
	--green: #2E8B57;
	--green-bg: #E1F1E7;
	--green-text: #1B6A3C;
	--gold: #F2B544;
	--brick: #B5402B;
	--brick-hover: #9A3624;
	--orcid: #4D7A1F;
	--font-serif: 'Source Serif 4', Georgia, serif;
	--font-sans: 'Source Sans 3', 'Segoe UI', sans-serif;
	--font-mono: 'Source Code Pro', ui-monospace, monospace;
}
*,
*::before,
*::after {
	box-sizing: border-box;
}
html {
	-webkit-text-size-adjust: 100%;
}
body.site {
	margin: 0;
	background: var(--paper);
	color: var(--text);
	font: 16px/1.55 var(--font-sans);
}
/* Round 23e2 (Design's site-a-2): the link colour at the lowest specificity, so a kit class that colours a link (the
   header's .hlink, buttons, chips) wins, as on the boards. */
:where(.site) a {
	color: var(--blue-text);
}
:where(.site) a:hover {
	color: var(--blue-hover);
}
.site img {
	max-width: 100%;
}
.site h1,
.site h2,
.site h3 {
	color: var(--text);
}
.skip {
	position: absolute;
	left: -9999px;
}
.skip:focus {
	left: 16px;
	top: 8px;
	z-index: 50;
	padding: 8px 14px;
	background: var(--paper);
	border-radius: 8px;
}
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}
.wrap {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 24px;
}
.mono {
	font-family: var(--font-mono);
	font-size: .9em;
}
.muted {
	color: var(--muted);
}
.serif {
	font-family: var(--font-serif);
}
.ico {
	display: inline-block;
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.75;
	stroke-linecap: round;
	stroke-linejoin: round;
	vertical-align: -3px;
}

/* ---- buttons and fields */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: var(--paper);
	color: var(--text);
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	text-decoration: none;
}
/* Round 23e2 (Design's site-a-1 and site-a-3): no !important colour on .btn any more (it beat the kit's white text on
   .btn.primary, .brick and .ink). A link button keeps its text colour over `.site a` by specificity instead. */
.site a.btn:not(.primary):not(.brick):not(.ink):not(.btn-primary):not(.btn-brick):not(.btn-ink):not(.btn-ink) { color: var(--text); }
.btn:hover {
	background: var(--tint);
	text-decoration: none;
}
/* The old site names of the kit's filled buttons, at the kit's specificity (site-kit.css loads after this file). */
.btn.btn-primary, .site a.btn.btn-primary, .site a.btn.primary {
	background: var(--blue);
	border-color: var(--blue);
	color: #FFFFFF;
}
.btn.btn-primary:hover {
	background: var(--blue-hover);
	color: #FFFFFF;
}
.btn.btn-brick, .site a.btn.btn-brick, .site a.btn.brick {
	background: var(--brick);
	border-color: var(--brick);
	color: #FFFFFF;
}
.btn.btn-brick:hover {
	background: var(--brick-hover);
	color: #FFFFFF;
}
.site a.btn.ink { color: #FFFFFF; }
.btn-small {
	min-height: 36px;
	padding: 0 12px;
	font-size: 14.5px;
}
.lnk {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 36px;
	padding: 0 4px;
	border: 0;
	background: transparent;
	color: var(--blue-text);
	cursor: pointer;
	font: inherit;
	font-size: 14.5px;
	font-weight: 700;
	text-decoration: none;
}
.lnk:hover {
	text-decoration: underline;
}
.lnk[disabled] {
	color: var(--muted);
	cursor: default;
	text-decoration: none;
}
/* .field is the kit's input (assets/kit/site-kit.css, round 23e2); the old label wrapper of that name is gone. */
.site input:not([type]),
.site input[type="text"],
.site input[type="email"],
.site input[type="search"],
.site input[type="password"],
.site input[type="number"],
.site input[type="date"],
.site select,
.site textarea {
	min-height: 44px;
	padding: 0 14px;   /* round 23e2: the kit's fields (the 3:1 --field border, its padding; background-color keeps a select's arrow) */
	border: 1px solid var(--field);
	border-radius: 8px;
	background-color: var(--paper);
	color: var(--text);
	font: inherit;
	font-weight: 400;
}
.site textarea {
	min-height: 120px;
	padding: 10px 14px;
}
.site input:focus-visible,
.site select:focus-visible,
.site textarea:focus-visible,
.site a:focus-visible,
.site button:focus-visible {
	outline: 2px solid var(--blue);
	outline-offset: 2px;
}
.site input::placeholder {
	color: #6B7685;
}
.note {
	padding: 12px 16px;
	border-radius: 10px;
	background: var(--blue-soft);
	color: var(--blue-text);
}
.note.is-ok {
	background: var(--green-bg);
	color: var(--green);
}
.note.is-warn {
	background: var(--amber-bg);
	color: var(--amber-text);
}
.pill {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: 0 10px;
	border-radius: 999px;
	background: var(--tint);
	color: var(--text-2);
	font-size: 13px;
	font-weight: 700;
}
.pill.oa {
	background: var(--green-bg);
	color: var(--green);
}
.pill.gold {
	background: #FFF3D6;
	color: #7A4F00;
}

/* ---- header */
.sh {
	background: var(--ink);
	color: #FFFFFF;
}
.sh-in {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 20px;
	min-height: 64px;
}
.sh-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 64px;
	color: #FFFFFF !important;
	text-decoration: none;
}
.sh-mark {
	display: block;
	flex: none;
}
/* The wordmark (Kit board): SCIENCE in spaced capitals over Publications. */
.sh-word {
	display: flex;
	flex-direction: column;
	line-height: 1.05;
}
.sh-word .a {
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .16em;
}
.sh-word .b {
	font-size: 16px;
}
.sh-nav {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	font-size: 15px;
	font-weight: 600;
}
.sh-nav > a,
.sh-item > a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 64px;
	padding: 0 12px;
	border-bottom: 3px solid transparent;
	color: #FFFFFF !important;
	text-decoration: none;
}
.sh-nav > a:hover,
.sh-item > a:hover {
	background: rgba(255, 255, 255, .08);
}
.sh-nav a.on {
	border-bottom-color: var(--gold);
}
.sh-nav .chev {
	width: 14px;
	height: 14px;
	stroke-width: 2.2;
}
/* Journals and Publish with us: a menu on hover or keyboard focus; the link goes to the section's page. */
.sh-item {
	position: relative;
	display: inline-flex;
}
.sh-menu-list {
	position: absolute;
	z-index: 30;
	top: 100%;
	left: 0;
	display: none;
	flex-direction: column;
	min-width: 240px;
	padding: 8px;
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: 10px;
	box-shadow: 0 8px 24px rgba(11, 31, 58, .14);
}
.sh-item:hover > .sh-menu-list,
.sh-item:focus-within > .sh-menu-list {
	display: flex;
}
.sh-menu-list a {
	padding: 8px 12px;
	border-radius: 6px;
	color: var(--text) !important;
	font-weight: 500;
	text-decoration: none;
}
.sh-menu-list a:hover {
	background: var(--line-soft);
}
.sh-tools {
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 10px 0;
}
.sh-tools .hlink {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 44px;
	min-height: 44px;
	justify-content: center;
	padding: 0 12px;
	border-radius: 8px;
	color: #FFFFFF !important;
	font-weight: 600;
	text-decoration: none;
}
.sh-tools .hlink:hover {
	background: rgba(255, 255, 255, .08);
}
.sh-tools .btn-brick {
	margin-left: 6px;
	border: 0;
}
.sh-menu {
	display: none;
	min-width: 44px;
	min-height: 44px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #FFFFFF;
	cursor: pointer;
}

/* ---- breadcrumbs and page heads */
.crumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	color: var(--muted);
	font-size: 14px;
	list-style: none;
}
.crumbs li + li::before {
	content: '›';
	margin-right: 6px;
	color: var(--muted);
}
.crumbs a {
	color: var(--muted);
	text-decoration: none;
}
.crumbs a:hover {
	color: var(--blue-text);
	text-decoration: underline;
}
.phead {
	padding: 28px 0 24px;
	background: var(--tint);
	border-bottom: 1px solid var(--line);
}
.phead h1 {
	margin: 10px 0 6px;
	font-family: var(--font-serif);
	font-size: 38px;
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -.01em;
}
.phead p {
	margin: 0;
	color: var(--text-2);
	font-size: 17px;
}

/* The error page: the page head with a search box. */
.eyebrow {
	margin: 0;
	color: var(--muted) !important;
	font-size: 13px !important;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}
/* Round 23b6, the Error board: one column, the search, the four ways back. */
.errp {
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-width: 640px;
	padding: 68px 0 92px;
}
.errp h1 {
	margin: 0;
	font-family: var(--font-serif);
	font-size: 40px;
	font-weight: 600;
	line-height: 1.1;
}
.errp .lead {
	margin: 0;
}
.errp-search {
	display: flex;
	gap: 8px;
}
.errp-search input {
	flex: 1;
	min-width: 0;
}
.errp-ways {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

/* ---- home */
.hero {
	background: var(--hero);
	color: #FFFFFF;
}
.hero-in {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 48px;
	padding-top: 56px;
	padding-bottom: 64px;
}
.hero-text {
	display: flex;
	flex: 1 1 560px;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
}
.kicker {
	color: var(--gold);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.hero h1 {
	margin: 0;
	color: #FFFFFF;
	font-family: var(--font-serif);
	font-size: 50px;
	font-weight: 500;
	line-height: 1.06;
	letter-spacing: -.015em;
}
.hero p {
	max-width: 58ch;
	margin: 0;
	color: #CDD8E6;
	font-size: 18px;
	line-height: 1.55;
}
.hsearch {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	max-width: 700px;
	padding: 6px;
	background: #FFFFFF;
	border-radius: 12px;
}
.hsearch select {
	min-height: 48px !important;
	border: 0 !important;
	border-right: 1px solid var(--line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	font-weight: 600 !important;
}
.hsearch input {
	flex: 1 1 220px;
	min-width: 0;
	min-height: 48px !important;
	border: 0 !important;
	outline: none;
	font-size: 16px !important;
}
.hsearch .btn-primary {
	min-height: 48px;
}
.hsugg {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 16px;
	color: #CDD8E6;
	font-size: 14.5px;
}
.hsugg a {
	color: #FFFFFF !important;
	text-decoration: none;
	border-bottom: 1px dashed rgba(255, 255, 255, .45);
}
.hsugg a:hover {
	border-bottom-color: #FFFFFF;
}
.hsugg .fill {
	flex: 1;
}
.hsugg .adv {
	border-bottom: 0;
	font-weight: 600;
}
.covers {
	display: grid;
	flex: 1 1 360px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	align-items: start;
	min-width: 0;
}
.covers a {
	display: block;
}
.covers a:nth-child(1) {
	margin-top: 28px;
}
.covers a:nth-child(3) {
	margin-top: 44px;
}
.covers img {
	display: block;
	width: 100%;
	aspect-ratio: 280 / 374;
	object-fit: cover;
	border-radius: 4px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
}
.stats {
	border-top: 1px solid rgba(255, 255, 255, .14);
}
.stats-in {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 14px 32px;
	padding-top: 20px;
	padding-bottom: 24px;
}
.stats-in div {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.stats-in strong {
	font-family: var(--font-serif);
	font-size: 30px;
	font-weight: 600;
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}
.stats-in span {
	color: #CDD8E6;
	font-size: 14px;
}
.infra {
	border-bottom: 1px solid var(--line);
}
.infra-in {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 32px;
	padding-top: 16px;
	padding-bottom: 16px;
	color: var(--text-2);
	font-size: 14.5px;
}
.infra-in span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.infra-in strong {
	color: var(--text);
}
.sec:not(h2) {   /* round 23e3: a section's band; the kit's h2.sec is a heading */
	padding: 48px 0 0;
}
.sec-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 16px;
	margin-bottom: 18px;
}
.sec-head h2 {
	margin: 0;
	font-family: var(--font-serif);
	font-size: 30px;
	font-weight: 600;
	letter-spacing: -.01em;
}
.sec-head a,
.sec-head .muted {
	font-weight: 700;
	text-decoration: none;
}
.hls {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	gap: 18px;
}
.hls-side {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.hl {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 18px;
	padding: 22px 24px;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: var(--paper);
	color: var(--text) !important;
	text-decoration: none;
	transition: border-color .15s;
}
.hl:hover {
	border-color: var(--blue);
}
.hl:hover .t {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.hl.is-main {
	background: var(--ink);
	border-color: var(--ink);
	color: #FFFFFF !important;
}
.hl .tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--muted);
}
.hl.is-main .tags {
	color: #CDD8E6;
}
.hl .tags .pick {
	color: var(--gold);
}
.hl .t {
	font-family: var(--font-serif);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.25;
}
.hl.is-main .t {
	font-size: 30px;
}
.hl .sum {
	color: var(--text-2);
	font-size: 15.5px;
}
.hl.is-main .sum {
	color: #CDD8E6;
	font-size: 17px;
}
.hl .src {
	color: var(--muted);
	font-size: 14px;
}
.hl.is-main .src {
	color: #AFC0D6;
}
.fchips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 18px;
}
.fchip {
	min-height: 38px;
	padding: 0 14px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: var(--paper);
	color: var(--text-2);
	cursor: pointer;
	font: inherit;
	font-size: 14.5px;
	font-weight: 600;
}
.fchip:hover {
	border-color: var(--blue);
}
.fchip.on {
	background: var(--ink);
	border-color: var(--ink);
	color: #FFFFFF;
}
.jcards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
	gap: 16px;
}
.jc {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 16px;
	border: 1px solid var(--line);
	border-radius: 12px;
	color: var(--text) !important;
	text-decoration: none;
}
.jc:hover {
	border-color: var(--blue);
}
.jc:hover .t {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.jc[hidden] {
	display: none;
}
.jc img,
.jc .code,
.jrow img,
.jrow .code {
	flex: 0 0 72px;
	width: 72px;
	aspect-ratio: 280 / 374;
	object-fit: cover;
	border-radius: 3px;
	box-shadow: 0 2px 6px rgba(11, 31, 58, .18);
}
.jc .code,
.jrow .code {
	display: grid;
	place-items: center;
	background: var(--ink);
	color: #FFFFFF;
	font-weight: 700;
	font-size: 14px;
}
.jc .t,
.jrow .t {
	font-family: var(--font-serif);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
}
.jc .meta,
.jrow .meta {
	display: block;
	margin-top: 4px;
	color: var(--muted);
	font-size: 14px;
}
.jc .nums,
.jrow .nums {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 14px;
	margin-top: 8px;
	color: var(--text-2);
	font-size: 14px;
}
.cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 40px;
	align-items: start;
}
.tabs {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 4px;
	border-bottom: 1px solid var(--line);
}
.tab {
	min-height: 44px;
	margin-right: 22px;
	padding: 0 4px;
	border: 0;
	border-bottom: 2px solid transparent;
	background: transparent;
	color: var(--muted);
	cursor: pointer;
	font: inherit;
	font-size: 15px;
	font-weight: 600;
}
.tab:hover {
	color: var(--text);
}
.tab.on,
.tab[aria-selected="true"] {
	border-bottom-color: var(--blue);
	color: var(--text);
}
.panel[hidden] {
	display: none;
}
.arts {
	margin: 0;
	padding: 0;
	list-style: none;
}
.arts > li {
	border-bottom: 1px solid var(--line-soft);
}
.art {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	padding: 16px 0;
	color: var(--text) !important;
	text-decoration: none;
}
.art .body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}
.art .type {
	color: var(--muted);
	font-size: 13.5px;
	font-weight: 600;
}
.art .type .oa {
	color: var(--green);
}
.art .t {
	color: var(--text);
	font-family: var(--font-serif);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.32;
	text-decoration: none;
}
a.art:hover .t,
.art a.t:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.art .who {
	color: var(--text-2);
	font-size: 14.5px;
}
.art .where {
	color: var(--muted);
	font-size: 14px;
}
.art .where i {
	color: var(--text-2);
}
.art .metric {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	align-items: flex-end;
	color: var(--muted);
	font-size: 13px;
}
.art .metric strong {
	color: var(--text);
	font-family: var(--font-serif);
	font-size: 20px;
	font-variant-numeric: tabular-nums;
}
.art .links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 16px;
	color: var(--muted);
	font-size: 14px;
}
.art .links a {
	font-weight: 700;
	text-decoration: none;
}
.art .links .lnk {
	min-height: 0;
	padding: 2px 0;
}
.list-foot {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px;
	padding: 14px 0 0;
	color: var(--muted);
	font-size: 14px;
}
.list-foot a {
	font-weight: 700;
	text-decoration: none;
}
.side {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.box {
	padding: 20px;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: var(--paper);
}
.box.is-tint {
	background: var(--tint);
}
.box h2 {
	margin: 0 0 12px;
	font-size: 18px;
	font-weight: 700;
}
.box .head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 12px;
}
.box .head h2 {
	margin: 0;
}
.box .head a {
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}
.cfp {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 0;
	border-top: 1px solid var(--line-soft);
	color: var(--text) !important;
	text-decoration: none;
}
.cfp:first-of-type {
	border-top: 0;
	padding-top: 0;
}
.cfp .k {
	color: var(--green);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.cfp .t {
	font-family: var(--font-serif);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.3;
}
.cfp:hover .t {
	text-decoration: underline;
}
.cfp .m {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 12px;
	color: var(--muted);
	font-size: 14px;
}
.news a {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 12px 0;
	border-top: 1px solid var(--line-soft);
	color: var(--text) !important;
	text-decoration: none;
}
.news a:first-of-type {
	border-top: 0;
	padding-top: 0;
}
.news .k {
	color: var(--muted);
	font-size: 13px;
}
.news .t {
	font-weight: 700;
}
.news a:hover .t {
	text-decoration: underline;
}
.work {
	margin-top: 56px;
	padding: 48px 0;
	background: var(--tint);
	border-top: 1px solid var(--line);
}
.work-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 22px;
}
.work-head h2 {
	margin: 0;
	font-family: var(--font-serif);
	font-size: 30px;
	font-weight: 600;
}
.auds {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	padding: 4px;
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: 999px;
}
.aud {
	min-height: 38px;
	padding: 0 16px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--text-2);
	cursor: pointer;
	font: inherit;
	font-size: 14.5px;
	font-weight: 600;
}
.aud.on,
.aud[aria-selected="true"] {
	background: var(--ink);
	color: #FFFFFF;
}
.pws {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
}
.pw {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: var(--paper);
	color: var(--text) !important;
	text-decoration: none;
}
.pw .ic {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var(--blue-soft);
	color: var(--blue-text);
}
.pw .t {
	font-size: 17px;
	font-weight: 700;
}
.pw:hover .t {
	text-decoration: underline;
}
.pw .d {
	color: var(--text-2);
	font-size: 14.5px;   /* round 23s7 (S3-5): the Home board's card text */
}
.work-foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	margin-top: 22px;
	color: var(--text-2);
}

/* ---- journals list */
.letters {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
	margin-top: 14px;
}
.letters a {
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 6px;
	font-weight: 700;
	text-decoration: none;
}
.letters a:hover {
	background: var(--blue-soft);
}
.listing {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 260px;   /* round 23e2: the Journals board's list, then the filters on the right */
	gap: 40px;
	align-items: start;
	padding-top: 32px;
}
.filters {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.filters .fh {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-weight: 700;
}
.filters fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}
.filters legend {
	margin-bottom: 6px;
	color: var(--muted);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}
.check {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 36px;
	color: var(--text-2);
	cursor: pointer;
	font-size: 15px;
}
.check input {
	flex: none;
	width: 17px;
	height: 17px;
	margin: 0;
	accent-color: var(--blue);
}
.check .n {
	margin-left: auto;
	color: var(--muted);
	font-size: 13.5px;
	font-variant-numeric: tabular-nums;
}
.listbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--line);
	color: var(--text-2);
}
.listbar label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14.5px;
}
.jrows {
	margin: 0;
	padding: 0;
	list-style: none;
}
.jrow {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	padding: 18px 12px;
	border-bottom: 1px solid var(--line-soft);
}
.jrow:hover {
	background: var(--tint);
}
.jrow .body {
	flex: 1 1 auto;
	min-width: 0;
}
.jrow .t {
	color: var(--text);
	text-decoration: none;
}
.jrow:hover .t {
	text-decoration: underline;
}
.jrow .acts {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	gap: 6px;
	align-items: flex-end;
	font-size: 14.5px;
	font-weight: 700;
}
.jrow .acts a {
	text-decoration: none;
}
.pager {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 22px;
}
.pg {
	display: inline-grid;
	place-items: center;
	min-width: 40px;
	min-height: 40px;
	padding: 0 12px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: var(--paper);
	color: var(--text) !important;
	font-weight: 600;
	text-decoration: none;
}
.pg:hover {
	background: var(--tint);
}
.pg.on {
	background: var(--ink);
	border-color: var(--ink);
	color: #FFFFFF !important;
}
.empty {
	padding: 24px;
	border: 1px dashed var(--line);
	border-radius: 12px;
	color: var(--muted);
}

/* ---- journal */
.jhead {
	background: var(--paper);
}
.jhead-in {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 24px;
	padding-top: 24px;
	padding-bottom: 18px;
}
.jhead img {
	width: 64px;
	aspect-ratio: 280 / 374;
	object-fit: cover;
	border-radius: 3px;
	box-shadow: 0 2px 8px rgba(11, 31, 58, .2);
}
.jhead .name {
	flex: 1 1 360px;
	min-width: 0;
}
.jhead h1,
.jhead .h1 {
	margin: 0;
	font-family: var(--font-serif);
	font-size: 34px;
	font-weight: 600;
	line-height: 1.15;
}
.jhead .h1 a {
	color: var(--text);
	text-decoration: none;
}
.jhead .issn {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	margin-top: 6px;
	color: var(--muted);
	font-size: 14px;
}
.jhead .acts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.jnav {
	border-bottom: 1px solid var(--line);
	background: var(--tint);
}
.jnav-in {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 4px;
}
.jnav a.jname {   /* round 23e3: only the article page's journal name; the menus are the kit's */
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 52px;
	padding: 0 14px;
	color: var(--text) !important;
	font-weight: 600;
	text-decoration: none;
}
.jnav a.jname:hover {
	background: var(--line-soft);
}
.jnav a[aria-current] {
	box-shadow: inset 0 -2px 0 var(--blue);
}
/* The journal's three menus: <details> lists, no script needed. */
.jmenu {
	position: relative;
}
.jmenu summary {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 50px;
	padding: 0 12px;
	color: var(--text);
	cursor: pointer;
	font-weight: 600;
	list-style: none;
}
.jmenu summary::-webkit-details-marker {
	display: none;
}
.jmenu summary:hover {
	background: var(--line-soft);
}
.jmenu.is-here summary {
	box-shadow: inset 0 -2px 0 var(--blue);
}
.jmenu[open] summary svg {
	transform: rotate(180deg);
}
.jmenu-list {
	position: absolute;
	z-index: 20;
	top: 100%;
	left: 0;
	display: flex;
	flex-direction: column;
	min-width: 260px;
	padding: 6px;
	border: 1px solid var(--line);
	border-radius: 10px;
	background: var(--paper);
	box-shadow: 0 10px 30px rgba(11, 31, 58, .14);
}
.jnav .jmenu-list a {
	min-height: 40px;
	padding: 0 12px;
	border-radius: 6px;
	font-weight: 500;
}
.btn-ghost {
	border: 1px solid var(--line);
	background: var(--paper);
	color: var(--text) !important;
}
.btn-ghost:hover {
	border-color: var(--blue);
	background: var(--blue-soft);
}
.jhead .oa {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: var(--brick);
	font-size: 12.5px;
	font-weight: 700;
}
.jhead .oa .ico {
	width: 13px;
	height: 13px;
	stroke-width: 2;
}
.jside {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.side-links p a {
	display: inline;
	padding: 0;
	border: 0;
	color: var(--blue-text) !important;
	font-weight: 700;
}
.jside .side-links .row {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 10px 0;
	border-top: 1px solid var(--line-soft);
}
.jside .side-links .row span + span {
	color: var(--muted);
	font-size: 14px;
}
.jnav summary .ico { width: 14px; height: 14px; }   /* round 23s7 (S3-3): the boards' 14 px chevron */
.jnav .fill {
	flex: 1;
}
.jnav form {
	box-sizing: content-box;   /* round 23s7 (Design r23s5 S3-3): the board's 300 px field inside its padding: 326 x 40 */
	display: flex;
	flex: 0 1 300px;
	align-items: center;
	gap: 8px;
	min-height: 38px;
	margin: 6px 0;
	padding: 0 12px;
	background: var(--paper);
	border: 1px solid var(--field);
	border-radius: 8px;
}
.jnav form:focus-within {
	outline: 2px solid var(--blue);
	outline-offset: 1px;
	border-color: var(--blue);
}
.jnav form .ico {
	width: 16px;
	height: 16px;
	color: var(--muted);
	stroke-width: 2;
}
.jnav input {
	flex: 1;
	width: auto;
	min-width: 0;
	min-height: 36px !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	outline: none;
	box-shadow: none !important;
	font-size: 14.5px;
}
.jnav img {
	width: 28px;
	border-radius: 2px;
}
.jabout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 40px;
	padding-top: 32px;
}
.jgrid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 40px;
	align-items: start;
	padding-top: 32px;
}
/* A journal page (about, issues, board, APC...): its title and text beside the journal's information. */
.jpage h1 {
	margin: 0 0 6px;
	font-family: var(--font-serif);
	font-size: 32px;
	font-weight: 600;
	line-height: 1.15;
}
.jpage .sub {
	margin: 0 0 22px;
	color: var(--muted);
}
.jpage .asec {
	margin-top: 28px;
}
.jpage .asec h2,
.jpage > h2 {
	margin: 0 0 12px;
	font-family: var(--font-serif);
	font-size: 23px;
	font-weight: 600;
}
.cols-list {
	columns: 3 200px;
	column-gap: 24px;
	margin: 0 0 16px;
	padding-left: 18px;
}
.cols-list li {
	break-inside: avoid;
	margin-bottom: 4px;
}
.people {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 14px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.people li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 6px;
}
.people span {
	flex-basis: 100%;
	color: var(--muted);
	font-size: 14.5px;
}
.si-list .si {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 16px 0;
	border-top: 1px solid var(--line-soft);
}
.si-list .si .t {
	color: var(--text);
	font-family: var(--font-serif);
	font-size: 19px;
	font-weight: 600;
	text-decoration: none;
}
.si-list .si .t:hover {
	text-decoration: underline;
}
.si-list .si > span {
	color: var(--muted);
	font-size: 14.5px;
}
.si-list .acts {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	font-weight: 700;
}
.map {
	height: 380px;
	margin: 6px 0 12px;
	border-radius: 10px;
	background: var(--tint);
}
.mapTable {
	max-height: 260px;
	overflow: auto;
	margin-bottom: 18px;
	border: 1px solid var(--line);
	border-radius: 10px;
}
.mapTable table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14.5px;
}
.mapTable th,
.mapTable td {
	padding: 7px 12px;
	border-bottom: 1px solid var(--line-soft);
	text-align: left;
}
.jabout .lead {
	margin: 0 0 14px;
	color: var(--text-2);
	font-family: var(--font-serif);
	font-size: 19px;
	line-height: 1.55;
}
.jabout .links {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 20px;
	margin-bottom: 26px;
	font-weight: 700;
}
.jabout .links a {
	text-decoration: none;
}
.tiles {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 12px;
}
.tiles div {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 16px;
	border: 1px solid var(--line);
	border-radius: 12px;
}
.tiles strong {
	font-family: var(--font-serif);
	font-size: 28px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
.tiles span {
	color: var(--muted);
	font-size: 14px;
}
.eic {
	display: flex;
	gap: 16px;
	align-items: flex-start;
}
.eic img {
	width: 96px;
	border-radius: 3px;
	box-shadow: 0 2px 8px rgba(11, 31, 58, .2);
}
.eic .k {
	display: block;
	color: var(--muted);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.eic .n {
	display: block;
	font-weight: 700;
}
.picks {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 14px;
}
.pick {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 18px;
	border: 1px solid var(--line);
	border-radius: 12px;
	color: var(--text) !important;
	text-decoration: none;
}
.pick:hover {
	border-color: var(--blue);
}
.pick:hover .t {
	text-decoration: underline;
}
.pick .k {
	color: var(--brick);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.pick .t {
	font-family: var(--font-serif);
	font-size: 19px;
	font-weight: 600;
	line-height: 1.3;
}
.pick .sum {
	color: var(--text-2);
	font-size: 15px;
}
.pick .src {
	color: var(--muted);
	font-size: 14px;
}
.chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.chip {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 14px;
	border: 1px solid var(--line);
	border-radius: 999px;
	color: var(--text-2) !important;
	font-size: 14.5px;
	font-weight: 600;
	text-decoration: none;
}
.chip:hover {
	border-color: var(--blue);
	background: var(--blue-soft);
}
.dl {
	display: grid;
	grid-template-columns: minmax(110px, auto) minmax(0, 1fr);
	gap: 8px 16px;
	margin: 0;
	font-size: 15px;
}
.dl dt {
	color: var(--muted);
}
.dl dd {
	margin: 0;
	font-weight: 600;
}
.apcbox {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-top: 16px;
	padding: 14px;
	border-radius: 10px;
	background: var(--tint);
	font-size: 14.5px;
}
.side-links a {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 10px 0;
	border-top: 1px solid var(--line-soft);
	color: var(--text) !important;
	text-decoration: none;
}
.side-links a:first-of-type {
	border-top: 0;
}
.side-links a:hover span:first-child {
	text-decoration: underline;
}
.side-links span + span {
	color: var(--muted);
	font-size: 14px;
}

/* ---- article */
.atop {
	padding-top: 18px;
}
.atabs {
	display: flex;
	flex-wrap: wrap;
	margin-top: 14px;
	border-bottom: 1px solid var(--line);
}
.tabx {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 46px;
	margin-bottom: -1px;
	padding: 0 14px;
	border-bottom: 2px solid transparent;
	color: var(--text-2) !important;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}
.tabx:hover {
	background: var(--tint);
	color: var(--text) !important;
}
.tabx[aria-selected="true"] {
	border-bottom-color: var(--blue);
	color: var(--text) !important;
}
.tabx .n {
	color: var(--muted);
	font-weight: 600;
}
.agrid {
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr) 300px;
	gap: 36px;
	align-items: start;
	padding-top: 28px;
}
.toc {
	position: sticky;
	top: 16px;
	display: flex;
	flex-direction: column;
	font-size: 14.5px;
}
.toc .k {
	margin-bottom: 6px;
	color: var(--muted);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}
.toc a {
	padding: 6px 10px;
	border-left: 2px solid var(--line);
	color: var(--text-2) !important;
	text-decoration: none;
}
.toc a:hover {
	background: var(--tint);
	color: var(--text) !important;
}
.toc a[aria-current] {
	border-left-color: var(--blue);
	color: var(--text) !important;
	font-weight: 700;
}
.ah {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--line);
}
.ah .labels {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	color: var(--muted);
	font-size: 14px;
	font-weight: 600;
}
.ah h1 {
	margin: 0;
	font-family: var(--font-serif);
	font-size: 34px;
	font-weight: 600;
	line-height: 1.18;
	letter-spacing: -.01em;
}
.ah .authors {
	margin: 0;
	color: var(--text-2);
	font-size: 16.5px;
	line-height: 1.6;
}
.ah .authors sup {
	font-size: .7em;
	line-height: 0;
}
.ah .orcid {
	width: 16px;
	height: 16px;
	margin-left: 3px;
	vertical-align: -2px;
}
.affs {
	margin: 0;
	padding-left: 18px;
	color: var(--muted);
	font-size: 14.5px;
}
.affs[hidden] {
	display: none;
}
.ah .src {
	margin: 0;
	color: var(--text-2);
	font-size: 15px;
}
.ah .nums {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 20px;
	color: var(--muted);
	font-size: 14.5px;
}
.ah .nums strong {
	color: var(--text);
}
.ah .acts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.asec {
	padding: 28px 0 4px;
	scroll-margin-top: 16px;
}
.asec h2.sec {
	margin: 0 0 14px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--line);
	font-family: var(--font-serif);
	font-size: 24px;
	font-weight: 600;
}
.asec .shead {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 6px 16px;
	margin-bottom: 12px;
}
.asec .shead h2 {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
}
.prose {
	color: var(--text);
	font-family: var(--font-serif);
	font-size: 17.5px;
	line-height: 1.7;
	overflow-wrap: anywhere;
}
.prose p {
	margin: 0 0 1em;
}
.prose h2,
.prose h3,
.prose h4 {
	font-family: var(--font-serif);
	line-height: 1.25;
}
.prose table {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--font-sans);
	font-size: 15px;
}
.prose th,
.prose td {
	padding: 8px 10px;
	border: 1px solid var(--line);
	text-align: left;
	vertical-align: top;
}
.prose img {
	height: auto;
}
.prose figure {
	margin: 1.4em 0;
}
.prose.sans {
	font-family: var(--font-sans);
	font-size: 16.5px;
}
.kw {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 14px;
}
.kw > span {
	color: var(--muted);
	font-size: 14px;
	font-weight: 700;
}
.cite {
	padding: 18px 20px;
	border-radius: 12px;
	background: var(--tint);
	font-size: 15px;
}
.cite p {
	margin: 6px 0 10px;
}
.cite .acts {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
}
.vh {
	margin: 0;
	padding: 0;
	list-style: none;
}
.vh li {
	position: relative;
	padding: 0 0 14px 22px;
}
.vh li::before {
	content: '';
	position: absolute;
	left: 4px;
	top: 6px;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--blue);
}
.vh li:not(:last-child)::after {
	content: '';
	position: absolute;
	left: 8px;
	top: 16px;
	bottom: 0;
	width: 1px;
	background: var(--line);
}
.vh .k {
	display: block;
	font-weight: 700;
}
.vh .d {
	color: var(--muted);
	font-size: 14px;
}
.mini {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}
.mini div {
	display: flex;
	flex-direction: column;
	padding: 10px;
	border-radius: 10px;
	background: var(--tint);
}
.mini strong {
	font-family: var(--font-serif);
	font-size: 22px;
	font-variant-numeric: tabular-nums;
}
.mini span {
	color: var(--muted);
	font-size: 13px;
}
.rel {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 10px 0;
	border-top: 1px solid var(--line-soft);
	color: var(--text) !important;
	text-decoration: none;
}
.rel:first-of-type {
	border-top: 0;
}
.rel .t {
	font-family: var(--font-serif);
	font-weight: 600;
	line-height: 1.3;
}
.rel:hover .t {
	text-decoration: underline;
}
.rel span + span {
	color: var(--muted);
	font-size: 13.5px;
}
.resp {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 14px 0;
	border-top: 1px solid var(--line-soft);
}
.resp .who {
	font-weight: 700;
}
.resp .when {
	color: var(--muted);
	font-size: 14px;
}

/* ---- search */
.sband {
	padding: 28px 0;
	background: var(--tint);
	border-bottom: 1px solid var(--line);
}
.sform {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	max-width: 860px;
	padding: 6px;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: var(--paper);
}
.sform select {
	border: 0 !important;
	border-right: 1px solid var(--line) !important;
	border-radius: 0 !important;
	font-weight: 600 !important;
}
.sform input[type="search"] {
	flex: 1 1 260px;
	min-width: 0;
	border: 0 !important;
	outline: none;
	font-size: 16px !important;
}
.slinks {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 18px;
	margin-top: 10px;
	font-size: 14.5px;
	font-weight: 700;
}
.slinks a {
	text-decoration: none;
}
.shead {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 16px;
}
.shead h1 {
	margin: 0;
	font-family: var(--font-serif);
	font-size: 28px;
	font-weight: 600;
}
.shead .acts {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
}
.sadv {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	margin-top: 12px;
	font-size: 15px;
}
.sadv[hidden],
.stips[hidden] {
	display: none;
}
.stips {
	max-width: 860px;
	margin-top: 12px;
	color: var(--text-2);
	font-size: 15px;
}
.stips p {
	margin: 0;
}
.smatch {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin-top: 16px;
	font-size: 15px;
}
.selbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 16px;
	margin: 16px 0 4px;
	padding: 8px 14px;
	border-radius: 10px;
	background: var(--tint);
	color: var(--text-2);
	font-size: 14.5px;
}
.selbar.is-on {
	background: var(--blue-soft);
}
.selbar .fill {
	flex: 1;
}
.res {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 18px 0;
	border-bottom: 1px solid var(--line-soft);
}
.res > input {
	flex: none;
	width: 18px;
	height: 18px;
	margin: 2px 0 0;
	accent-color: var(--blue);
}
.res > .art {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0;
}
.res .body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}
.res .abs {
	margin: 4px 0;
	color: var(--text-2);
	font-size: 15px;
}
.res .abs[hidden] {
	display: none;
}
.site mark {
	padding: 0 2px;
	border-radius: 2px;
	background: #FCEFD3;
	color: inherit;
}

/* ---- static pages */
.pgrid {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 40px;
	align-items: start;
	padding-top: 32px;
}
.pnav {
	display: flex;
	flex-direction: column;
	font-size: 15px;
}
.pnav a {
	padding: 8px 12px;
	border-left: 2px solid var(--line);
	color: var(--text-2) !important;
	text-decoration: none;
}
.pnav a:hover {
	background: var(--tint);
}
.pnav a[aria-current] {
	border-left-color: var(--blue);
	color: var(--text) !important;
	font-weight: 700;
}
.pbody {
	max-width: 860px;
	padding-bottom: 24px;
}
.pform {
	display: flex;
	flex-direction: column;
	gap: 14px;
	max-width: 720px;
}
.pform .row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
}

/* Site forms (responses, alerts, special issue proposals). */
.pform label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 15px;
	font-weight: 600;
}
.pform .check {
	flex-direction: row;
	flex-wrap: wrap;
	font-weight: 400;
}
.pform fieldset {
	min-width: 0;   /* a fieldset is as wide as its content otherwise (a long journal name) */
}
.pform .check select,
.pform .check input:not([type="radio"]):not([type="checkbox"]) {
	flex: 1 1 200px;
	min-width: 0;
	max-width: 100%;
}
.pform .hint,
.pform .muted {
	font-weight: 400;
}
.err {
	color: #A3261B;
	font-size: 14px;
	font-weight: 600;
}
.note-ok,
.note-warn {
	margin: 12px 0;
	padding: 12px 16px;
	border-radius: 10px;
	font-size: 15px;
}
.note-ok {
	background: var(--green-bg);
	color: var(--green);
}
.note-warn {
	background: var(--amber-bg);
	color: var(--amber-text);
}
.respform {
	margin-top: 14px;
}
.respform summary {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--blue-text);
	cursor: pointer;
	font-weight: 700;
}

/* Stored pages keep the old theme's layout classes in their HTML (About, Contact): the few they use,
   drawn on the site's tokens. */
.pbody.is-wide {
	max-width: none;
	padding-top: 32px;
}
.phead .phead-band {
	margin: 0 0 4px;
	color: var(--text);
	font-family: var(--font-serif);
	font-size: 22px;
}
.stored .grid-container {
	margin-bottom: 32px;
}
.stored .grid-x {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}
.stored .cell {
	flex: 1 1 100%;
	min-width: 0;
}
.stored .large-2,
.stored .large-3 {
	flex: 1 1 160px;
}
.stored .large-4 {
	flex: 1 1 240px;
}
.stored .large-6,
.stored .large-8 {
	flex: 1 1 320px;
}
.stored .large-8 {
	flex-grow: 2;
}
.stored .center {
	text-align: center;
}
.stored .page_block,
.stored .pkp_block {
	margin-bottom: 8px;
}
.stored .about-heading {
	margin: 0 0 10px;
	color: var(--text);
}
.stored h4.about-heading,
.stored h5.about-heading {
	color: var(--blue-text);
	font-family: var(--font-sans);
	font-size: 17px;
	font-weight: 700;
}
.stored .font-normal {
	font-weight: 400;
}
.stored .font-small,
.stored .shrink {
	color: var(--muted);
	font-size: 15px;
}
.stored .number {
	color: var(--ink);
	font-family: var(--font-serif);
	font-size: 34px;
	font-weight: 600;
}
.stored .background-grey {
	margin: 0 0 32px;
	padding: 28px 24px 4px;
	border-radius: 10px;
	background: var(--tint);
}
.stored .image-background {
	height: 220px;
	margin: 0 0 32px;
	border-radius: 10px;
	background-position: center;
	background-size: cover;
}
.stored .image-background.vision {
	background-image: url("images/background_vision.webp");
}
.stored .image-background.why {
	background-image: url("images/background_why.webp");
}
.stored .image-background.team {
	background-image: url("images/background_team.webp");
}
.stored .testimonials {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 16px;
	text-align: left;
}
.stored .testimonial {
	padding: 18px 20px;
	border: 1px solid var(--line);
	border-radius: 10px;
	background: var(--paper);
}
.stored .testimonial h5 {
	margin: 12px 0 0;
}
.stored .about-blocks a {
	display: block;
	height: 100%;
	padding: 20px 22px;
	border: 1px solid var(--line);
	border-radius: 10px;
	background: var(--paper);
	color: inherit;
	text-decoration: none;
}
.stored .about-blocks a:hover {
	border-color: var(--blue);
}
.stored .partners .grid-x {
	align-items: center;
}
.stored .partners img {
	max-height: 56px;
	width: auto;
}
.stored .address img.cover,
.stored img.cover {
	width: 100%;
	max-width: 443px;
	border-radius: 10px;
}

/* ---- footer */
/* The Kit board's footer: light, the alerts row on top, the brand and four columns, the licence line. */
.sf {
	margin-top: 64px;
	background: var(--paper);
	border-top: 1px solid var(--line);
	color: var(--text-2);
}
.sf-in {
	display: flex;
	flex-direction: column;
	gap: 32px;
	padding-top: 44px;
	padding-bottom: 28px;
}
.sf-alert {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 28px;
	border-bottom: 1px solid var(--line);
}
.sf-alert-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.sf-alert .t {
	color: var(--text);
	font-size: 17px;
	font-weight: 700;
}
.sf-alert .d {
	font-size: 14.5px;
}
.sf-alert form {
	display: flex;
	flex: 0 1 460px;
	flex-wrap: wrap;
	gap: 8px;
}
.sf-alert input[type="email"] {
	flex: 1 1 220px;
	width: auto;
}
.btn-ink,
.site .btn-ink {
	background: var(--ink);
	border-color: var(--ink);
	color: #FFFFFF !important;
	font-weight: 700;
}
.btn-ink:hover {
	background: var(--ink-2);
	border-color: var(--ink-2);
}
.sf-cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 28px;
}
.sf-cols > div {
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 15px;
}
.sf-cols .k {
	color: var(--ink);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.sf-cols a {
	color: var(--text-2) !important;
	text-decoration: none;
}
.sf-cols a:hover {
	color: var(--blue-text) !important;
	text-decoration: underline;
}
.sf-cols .sf-brand {
	gap: 12px;
}
.sf-brand > a {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--ink) !important;
	font-size: 16px;
	font-weight: 600;
}
.sf-brand > a:hover {
	text-decoration: none !important;
}
.sf-brand .d {
	font-size: 14.5px;
}
.sf-bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px;
	padding-top: 20px;
	border-top: 1px solid var(--line);
	color: var(--muted);
	font-size: 14px;
}

/* ---- narrow screens */
@media (max-width: 1100px) {
	.agrid {
		grid-template-columns: minmax(0, 1fr) 280px;
	}
	.agrid .toc {
		display: none;
	}
}
@media (max-width: 900px) {
	.cols,
	.jabout,
	.jgrid,
	.listing,
	.pgrid,
	.agrid,
	.hls {
		grid-template-columns: minmax(0, 1fr);
	}
	.toc {
		position: static;
	}
	.sh-nav {
		display: none;
		flex-basis: 100%;
		flex-direction: column;
		padding-bottom: 10px;
	}
	.sh-nav.is-open {
		display: flex;
	}
	.sh-nav > a,
	.sh-item > a {
		min-height: 48px;
	}
	.sh-nav a.on {
		border-bottom-color: transparent;
		box-shadow: inset 3px 0 0 var(--gold);
	}
	/* On phones the sections are a list; their menus' pages are a tap away. */
	.sh-menu-list,
	.sh-nav .chev {
		display: none !important;
	}
	.sh-menu {
		display: inline-grid;
		place-items: center;
	}
	.sh-in {
		justify-content: space-between;
	}
	.hero h1 {
		font-size: 36px;
	}
	.covers {
		display: none;
	}
	.jcards {
		grid-template-columns: minmax(0, 1fr);
	}
	.jnav input {
		width: 100%;
	}
	.jnav form {
		flex: 1 1 100%;
	}
	.jmenu-list {
		position: static;
		box-shadow: none;
	}
}
@media (max-width: 600px) {
	.wrap {
		padding: 0 16px;
	}
	.sh-tools .hlink.label {
		display: none;
	}
	.phead h1,
	.jhead h1,
	.jhead .h1,
	.ah h1 {
		font-size: 27px;
	}
	.sec-head h2,
	.work-head h2 {
		font-size: 25px;
	}
	.hl.is-main .t {
		font-size: 24px;
	}
	.art {
		flex-direction: column;
		gap: 6px;
	}
	.art .metric {
		flex-direction: row;
		align-items: baseline;
		gap: 6px;
	}
	.jrow {
		flex-wrap: wrap;
	}
	.jrow .acts {
		flex-direction: row;
		align-items: center;
	}
	.sf-cols {
		grid-template-columns: minmax(0, 1fr);
	}
	.mini {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
@media print {
	.sh,
	.sf,
	.jnav,
	.toc,
	.agrid > aside {
		display: none;
	}
}

/* ---- Round 23b6: the stored pages on the canvas's layouts (classes/views/sitePageView.php) ---- */
.dpage {
	display: flex;
	flex-direction: column;
	gap: 36px;
	max-width: 1280px;
	margin: 0 auto;
	box-sizing: border-box;
	padding: 28px 24px 64px;
}
.dhead { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 24px; }
.dhead-text { display: flex; flex: 1 1 560px; flex-direction: column; gap: 10px; min-width: 0; }
.dhead h1 { max-width: 24ch; margin: 0; font-family: var(--font-serif); font-size: 40px; font-weight: 600; line-height: 1.12; letter-spacing: -.01em; }
.dhead .lead { max-width: 70ch; margin: 0; color: var(--text-2); font-size: 18px; line-height: 1.5; }
.dhead-acts { display: flex; flex-wrap: wrap; gap: 8px; }
.dpage .crumbs { margin: 0; }
.dsplit { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 36px; }
.dmain { display: flex; flex: 999 1 560px; flex-direction: column; gap: 28px; min-width: 0; }
.daside { display: flex; flex: 1 1 300px; flex-direction: column; gap: 16px; min-width: 0; }
.dbox h3, .dcards .box h3, .gcheck h3, .cwho h3 { margin: 0 0 10px; font-size: 16px; }
.dbox p { margin: 0 0 10px; font-size: 14.5px; line-height: 1.55; color: var(--text-2); }
.dbox p:last-child { margin-bottom: 0; }
.dcards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 16px; align-items: start; }
.dshort { background: var(--ink); border-color: var(--ink); color: #FFFFFF; }
.dshort h3 { color: #FFFFFF; }
.dshort ul { display: flex; flex-direction: column; gap: 8px; margin: 0; padding-left: 18px; font-size: 15px; line-height: 1.5; }
.dquote {
	margin: 0;
	padding: 18px 24px;
	border-left: 3px solid var(--gold);
	border-radius: 0 12px 12px 0;
	background: var(--tint);
	color: var(--text);
	font-family: var(--font-serif);
	font-size: 20px;
	line-height: 1.4;
}
.dprose h2[id], .dprose h3[id] { scroll-margin-top: 90px; }
.dtoc { padding: 12px 0; border-top: 1px solid var(--line); gap: 2px; }
.dtoc .eyebrow { padding: 0 10px 8px; }
.dtoc a[aria-current] { border-left-color: var(--blue); color: var(--text) !important; font-weight: 700; }
.dlinks { display: flex; flex-direction: column; gap: 6px; font-size: 14.5px; }
.dnote { margin: 0; }
/* guides */
.gtabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.gtabs .fchip { display: flex; flex-direction: row; align-items: center; width: 100%; min-height: 56px; justify-content: flex-start; gap: 10px; border-radius: 10px; text-align: left; }
.dsec { margin: 0; font-family: var(--font-serif); font-size: 28px; font-weight: 600; letter-spacing: -.01em; line-height: 1.2; }
.sec-head .dsec { font-size: 26px; }
.gtabs .fchip > span:last-child { font-size: 14px; line-height: 1.2; }
.gnum { display: grid; flex: none; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(11, 31, 58, .12); font-size: 13px; }
.gtabs .fchip.on .gnum { background: rgba(255, 255, 255, .22); }
.gsteps { display: flex; flex-direction: column; gap: 16px; }
.gstep { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 28px; padding: 28px 32px; border: 1px solid var(--line); border-radius: 14px; }
.has-js .dpage [data-hidden] { display: none !important; }
.gstep-text { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.gstep h2.dsec { font-size: 28px; }
.gstep .lead { margin: 0; color: var(--text-2); font-size: 17px; }
.gcheck .check { display: flex; align-items: flex-start; gap: 10px; padding: 6px 0; font-size: 14px; }
.gcheck input { width: 18px; height: 18px; margin-top: 2px; accent-color: #1A66A8; }
@media (max-width: 720px) {
	.gstep { grid-template-columns: 1fr; padding: 22px; }
}
/* peer review */
.pflow { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.pflow li { display: flex; flex-direction: column; gap: 6px; min-height: 110px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--tint); }
.pflow li:nth-child(3n+2) { background: var(--blue-soft); }
.pflow strong { font-size: 16px; }
.pflow span:last-child { color: var(--text-2); font-size: 13.5px; }
.pchart {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 24px;
	align-items: center;
	margin: 0;
	padding: 24px 28px;
	border: 1px solid var(--line);
	border-radius: 14px;
	background: var(--tint);
}
.pchart figcaption { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.pchart img { width: 100%; height: auto; border-radius: 8px; background: var(--paper); }
@media (max-width: 720px) {
	.pchart { grid-template-columns: 1fr; }
}
/* tiles and tables */
.dtiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 12px; }
.dtiles > div { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.dtiles .n { font-family: var(--font-serif); font-size: 28px; font-weight: 600; }
.dtiles .l { color: var(--text-2); font-size: 13.5px; }
.dtiles .s { color: var(--muted); font-size: 12.5px; }
.dtiers > div { padding: 20px 22px; border-radius: 14px; }
.dtiers .n { font-size: 30px; }
.dtable { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }
.dtable table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.dtable th { padding: 10px 14px; background: var(--tint); color: var(--muted); font-size: 12.5px; font-weight: 700; letter-spacing: .05em; text-align: left; text-transform: uppercase; }
.dtable td { padding: 10px 14px; border-top: 1px solid var(--line-soft); }
.dnums { display: flex; flex-direction: column; gap: 12px; }
.dfeatures { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 12px; }
.dfeatures > div { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border-left: 3px solid var(--gold); background: var(--tint); border-radius: 0 12px 12px 0; }
.dfeatures span { color: var(--text-2); font-size: 14px; }
/* policies hub */
.dpicks { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 14px; }
.dpick { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 14px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 12px; color: inherit !important; text-decoration: none; }
.dpick:hover { border-color: var(--blue); text-decoration: none; }
.dpick-ico { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: var(--blue-soft); color: var(--blue-text); }
.dpick .t { display: block; font-weight: 700; }
.dpick .d { display: block; margin-top: 4px; color: var(--text-2); font-size: 14px; line-height: 1.45; }
/* about */
.ahero { position: relative; display: flex; align-items: flex-end; min-height: 420px; overflow: hidden; border-radius: 18px; background: linear-gradient(160deg, var(--hero) 0%, var(--ink) 75%); color: #FFFFFF; }
.ahero-in { display: flex; flex-direction: column; gap: 14px; max-width: 900px; padding: 40px 44px; }
.ahero .eyebrow { color: rgba(255, 255, 255, .75) !important; }
.ahero h1 { color: #FFFFFF; margin: 0; font-family: var(--font-serif); font-size: 46px; font-weight: 600; line-height: 1.08; }
.ahero p { margin: 0; color: rgba(255, 255, 255, .85); font-size: 18px; }
.astats { display: flex; flex-wrap: wrap; gap: 14px 36px; margin-top: 10px; }
.astats > span { display: flex; flex-direction: column; }
.astats strong { font-family: var(--font-serif); font-size: 30px; font-weight: 600; }
.astats span span { color: rgba(255, 255, 255, .75); font-size: 13.5px; }
.atwo { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: 32px 48px; align-items: start; }
.atwo > div { display: flex; flex-direction: column; gap: 14px; }
.acovers { display: grid; grid-template-columns: repeat(auto-fill, minmax(72px, 1fr)); gap: 10px; }
.acovers a { display: block; aspect-ratio: 3 / 4; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: var(--tint); }
.acovers img { display: block; width: 100%; height: 100%; object-fit: cover; }
.acovers .code { display: grid; height: 100%; place-items: center; color: var(--muted); font-size: 12px; font-weight: 700; }
.awhy > div { padding: 20px 22px; }
.awhy .s { color: var(--text-2); font-size: 14px; line-height: 1.5; }
.aquotes { display: flex; flex-direction: column; gap: 18px; padding: 28px 32px; border: 1px solid var(--line); border-radius: 16px; }
.aud-tabs { display: inline-flex; flex-wrap: wrap; max-width: 100%; gap: 4px; padding: 3px; border-radius: 10px; background: var(--tint); }
.aud-tabs .aud { border: 0; border-radius: 7px; }
.aquote { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 20px; align-items: start; margin: 0; }
.aquote > span { color: var(--gold); font-family: var(--font-serif); font-size: 72px; line-height: .8; }
.aquote blockquote { margin: 0 0 12px; color: var(--text); font-family: var(--font-serif); font-size: 22px; line-height: 1.45; }
.aquote figcaption { color: var(--text-2); font-size: 14.5px; }
.atimeline { display: flex; flex-direction: column; gap: 0; margin: 0; padding: 0; list-style: none; }
.atimeline li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 12px; padding-bottom: 14px; }
.atimeline .n { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--blue-soft); color: var(--blue-text); font-size: 13px; font-weight: 700; }
.atimeline li > span:last-child { display: flex; flex-direction: column; gap: 2px; }
.atimeline li > span:last-child span { color: var(--text-2); font-size: 14px; }
.ateam { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)); gap: 12px; }
.ateam > div { display: flex; flex-direction: column; gap: 6px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; }
.ateam .av { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--tint); color: var(--text-2); font-weight: 700; }
.ateam > div > span { color: var(--text-2); font-size: 14px; }
.ateam a { font-size: 13.5px; overflow-wrap: anywhere; }
.apartners { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 40px; }
.apartners img { width: auto; height: 32px; }
.acta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding: 22px 26px; border-radius: 14px; background: var(--tint); }
.acta span { font-family: var(--font-serif); font-size: 22px; font-weight: 600; }
/* contact */
.coffice { display: grid; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; }
.coffice > div { display: flex; flex-direction: column; gap: 14px; padding: 32px 36px; background: var(--tint); }
.coffice p { margin: 0; font-size: 17px; line-height: 1.6; }
.cacts { display: flex; flex-wrap: wrap; gap: 8px; }
.cwho { display: flex; flex-direction: column; gap: 8px; padding: 20px 22px; background: var(--tint); }
.cwho p { margin: 0; color: var(--text-2); }
.cmail { font-family: var(--font-serif); font-size: 22px; font-weight: 600; overflow-wrap: anywhere; }
.cform { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 14px 16px; }
.cform label { display: flex; flex-direction: column; gap: 6px; color: var(--text-2); font-size: 14px; font-weight: 700; }
.cform .field { width: 100%; box-sizing: border-box; }
.cform textarea.field { min-height: 120px; }
.cwide { grid-column: 1 / -1; }
.cform-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.cpot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 720px) {
	.dpage { padding: 20px 16px 48px; gap: 28px; }
	.dhead h1 { font-size: 32px; }
	.ahero-in { padding: 28px 22px; }
	.ahero h1 { font-size: 34px; }
	.aquotes { padding: 22px; }
	.aquote { grid-template-columns: 1fr; gap: 6px; }
}

/* ---- Round 23b6: a journal's subpages on the journal frame (classes/views/journalPagesView.php) ---- */
.jframe { display: flex; flex-direction: column; gap: 28px; padding-top: 36px; padding-bottom: 56px; }   /* round 23s7 (S3-3): the breadcrumb 36 px under the menu bar, as the boards */
.jslim .box h3 { margin: 0 0 10px; font-size: 16px; }
.jslim .box p { margin: 0 0 8px; color: var(--text-2); font-size: 14px; }
.japc-n { color: var(--text) !important; font-family: var(--font-serif); font-size: 28px !important; font-weight: 600; }
.japc-n span { color: var(--muted); font-family: var(--font-sans); font-size: 13.5px; font-weight: 400; }
.jfollow { display: flex; flex-wrap: wrap; gap: 8px; }
.jfollow .ico { width: 16px; height: 16px; }
.jbars { display: grid; grid-template-columns: minmax(120px, auto) minmax(0, 1fr) auto; gap: 8px 14px; align-items: center; font-size: 14px; }
.jmbar { height: 10px; overflow: hidden; border-radius: 999px; background: var(--line-soft); }
.jmbar > span { display: block; height: 100%; border-radius: 999px; background: var(--blue); }
.jbar-n { color: var(--text-2); font-variant-numeric: tabular-nums; text-align: right; }
.kws { display: flex; flex-wrap: wrap; gap: 6px; }
.jtools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; }
.jtools .field { width: min(360px, 100%); }
.aud-tabs a.aud { display: inline-flex; align-items: center; text-decoration: none; }
.jgroup { display: flex; flex-direction: column; gap: 12px; }
.jpeople { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr)); gap: 10px; }
.jperson { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; align-items: start; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; }
.jperson .av { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--tint); color: var(--text-2); font-weight: 700; }
.jperson > span:last-child { display: flex; flex-direction: column; gap: 2px; font-size: 14px; min-width: 0; }
.jperson .orcid .ico { width: 16px; height: 16px; color: var(--orcid); vertical-align: -3px; }
.has-js .jgroup:not(.is-all) [data-more] { display: none; }
.jgroup [data-hide], [data-group] [data-ed][data-hide] { display: none !important; }   /* site round S1+S2: the board page has no .jgroup any more */
.jissue-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 20px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.jissue-head > div:first-child { display: flex; flex-direction: column; gap: 6px; }
.jissue-head .ico { width: 14px; height: 14px; vertical-align: -2px; }
.jissue-nav { display: flex; flex-wrap: wrap; gap: 8px; }
.jdecade { border: 1px solid var(--line); border-radius: 12px; }
.jdecade > summary { padding: 14px 18px; cursor: pointer; font-family: var(--font-serif); font-size: 20px; font-weight: 600; }
.jdecade > summary .muted { font-family: var(--font-sans); font-size: 14px; font-weight: 400; }
.jdecade > div { display: flex; flex-direction: column; }
.jvol { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 12px; align-items: start; padding: 12px 18px; border-top: 1px solid var(--line-soft); }
.jvol > span { display: flex; flex-direction: column; }
.jsi-head { display: flex; flex-direction: column; gap: 10px; padding: 24px 28px; border: 1px solid var(--line); border-radius: 14px; background: var(--tint); }
.jsi-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.jsi-title { margin: 0; font-family: var(--font-serif); font-size: 28px; font-weight: 600; line-height: 1.2; }
.jdates { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.jdates li { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-top: 3px solid var(--line); background: var(--paper); }
.jdates li.is-done { border-top-color: var(--blue); }
.jdates li span:not(.dot) { color: var(--text-2); font-size: 13.5px; }
.jdates .dot { display: none; }
.jsteps { margin: 0; padding-left: 18px; font-size: 14px; line-height: 1.55; color: var(--text-2); }
.jtabs { margin-bottom: 4px; }
.jtabs .tab { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; }
.jcalls { display: flex; flex-direction: column; gap: 12px; }
.jcall { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 12px; }
.jcall .t { font-family: var(--font-serif); font-size: 19px; font-weight: 600; line-height: 1.3; }
.jcall-acts { display: flex; flex-wrap: wrap; gap: 8px; }
.jyears { display: flex; align-items: flex-end; gap: 4px; height: 200px; padding: 8px 0 0; overflow-x: auto; border-bottom: 1px solid var(--line); }
.jyear { display: flex; flex: 1 0 28px; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 4px; }
.jyear-track { display: flex; flex: 1; align-items: flex-end; justify-content: center; width: 100%; min-height: 0; }
.jyear-bar { width: 100%; max-width: 32px; border-radius: 4px 4px 0 0; background: var(--blue); }
.jyear-n { color: var(--text-2); font-size: 11px; }
.jyear-y { color: var(--muted); font-size: 11px; transform: translateY(2px); }
@media (max-width: 720px) {
	.jvol { grid-template-columns: 1fr; }
	.jbars { grid-template-columns: minmax(90px, auto) minmax(0, 1fr) auto; }
}
/* Round 23b6: status pills on the site (special issues, calls). */
.pill.green { background: var(--green-bg); color: var(--green-text); }
.pill.grey { background: var(--line-soft); color: var(--text-2); }
.pill.blue { background: var(--blue-soft); color: var(--blue-text); }
.pill.amber { background: var(--amber-bg); color: var(--amber-text); }
/* Round 23b6: the journal finder (pages/site/finder.php). */
.jfound { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
.jfound-row { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 16px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 12px; }
.jfound-row > img, .jfound-row > .code { width: 64px; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 4px; }
.jfound-row > div { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.jfound-row .t { font-family: var(--font-serif); font-size: 19px; font-weight: 600; }
.jfound-row .why { font-size: 14px; color: var(--text-2); }
.jfound-row .ex { font-size: 14px; }
.jfound-acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.sipropose { display: flex; flex-direction: column; gap: 12px; padding-top: 8px; }
.fchips a.fchip { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; }
.fchip .n { opacity: .75; }
/* Round 23b6: announcements (pages/site/announcement.php). */
.anews { display: flex; flex-direction: column; }
.anews article { display: flex; flex-direction: column; gap: 6px; padding: 18px 0; border-bottom: 1px solid var(--line-soft); }
.anews .t { font-family: var(--font-serif); font-size: 21px; font-weight: 600; line-height: 1.3; }
.anews p { margin: 0; color: var(--text-2); }
.ashare { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 6px; }

/* Round 23b6: the Article board (pages/article/index.php) and the reading list (pages/site/reading-list.php). */
.asec.akey {
	margin-top: 24px;
	padding: 20px 22px;
	border: 1px solid var(--line);
	border-top: 3px solid var(--ink);
	border-radius: 12px;
}
.akey-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 12px;
}
.akey-head h2,
.asd > h2 {
	margin: 0;
	color: var(--muted);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.akey-head span {
	font-size: 13.5px;
}
.akey dl {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 10px 16px;
	margin: 0;
	font-size: 16px;
	line-height: 1.55;
}
.akey dt {
	font-weight: 700;
}
.akey dd {
	margin: 0;
}
.asaved {
	margin: 8px 0 0;
	font-size: 14px;
}
.asaved:empty,
.asaved span:empty + a[hidden] {
	display: none;
}
.ah .acts [aria-pressed="true"] {
	border-color: var(--blue);
	color: var(--blue-text);
}
.alink {
	display: inline-block;
	margin-top: 8px;
	font-weight: 600;
	text-decoration: none;
}
.arespond {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	padding: 18px 20px;
	border-radius: 12px;
	background: var(--tint);
}
.arespond > span {
	flex: 1 1 360px;
	color: var(--text-2);
	font-size: 15.5px;
}
.arespond .respform {
	margin: 0;
}
.arespond .respform[open] {
	flex: 1 1 100%;
}
.arespond .respform summary {
	padding: 0 16px;
	border-radius: 8px;
	background: var(--ink);
	color: #FFFFFF;
	list-style: none;
}
.arespond .respform summary::-webkit-details-marker {
	display: none;
}
.acite-row {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.acite-row .cite {
	flex: 1 1 380px;
	min-width: 0;
}
.adates {
	display: grid;
	flex: 1 1 240px;
	grid-template-columns: auto minmax(0, 1fr);
	align-content: start;
	gap: 8px 16px;
	margin: 0;
	font-size: 15px;
}
.adates dt {
	color: var(--muted);
}
.adates dd {
	margin: 0;
	font-weight: 600;
}
.ashare-box {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 16px;
	padding: 14px 16px;
	border: 1px solid var(--line);
	border-radius: 12px;
}
.ashare-box .t {
	flex: 1 1 200px;
	color: var(--text-2);
	font-size: 14.5px;
}
.ashare-url {
	flex: 1 1 100%;
	font-family: var(--font-mono);
	font-size: 14px;
	overflow-wrap: anywhere;
}
.has-js .ashare-url[data-hidden] {
	display: none;
}
.asd {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.asd-dl {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	font-size: 15px;
}
.asd-dl dt {
	color: var(--muted);
	font-size: 13.5px;
}
.asd-dl dd {
	margin: 0;
	font-weight: 600;
}
.asd .mini div {
	padding: 0;
	background: none;
}
.asd .mini strong {
	font-size: 26px;
	font-weight: 600;
	line-height: 1.1;
}
.asd-rel {
	gap: 0;
}
.asd-rel > h2 {
	margin-bottom: 6px;
}
.asd-rel .rel,
.asd-rel .rel:first-of-type {
	padding: 12px 0;
	border-top: 1px solid var(--line);
}
.asd-rel .rel .t {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
}
.rlist-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
}
.rlist ol {
	margin: 0;
	padding: 0;
	list-style: none;
}
.rlist li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 4px 16px;
	padding: 14px 0;
	border-top: 1px solid var(--line);
}
.rlist li .t {
	grid-column: 1;
	color: var(--text);
	font-family: var(--font-serif);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
}
.rlist li .t:hover {
	text-decoration: underline;
}
.rlist li .m {
	grid-column: 1;
	color: var(--muted);
	font-size: 14px;
}
.rlist li .lnk {
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: center;
}
@media (max-width: 720px) {
	.akey dl {
		grid-template-columns: minmax(0, 1fr);
		gap: 2px;
	}
	.akey dd + dt {
		margin-top: 10px;
	}
}

/* Round 23b6: Machine endpoints (pages/site/machine.php). */
.mtable th[scope="row"] {
	padding: 12px 14px;
	border-top: 1px solid var(--line-soft);
	background: none;
	color: var(--text);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
	vertical-align: top;
}
.mtable td {
	vertical-align: top;
}
.mtable .mono {
	min-width: 280px;
	color: var(--blue-text);
	font-family: var(--font-mono);
	font-size: 13.5px;
	overflow-wrap: anywhere;
}
.mtable .muted-2 {
	color: var(--text-2);
}
.mcode {
	margin: 0;
	padding: 18px 20px;
	overflow-x: auto;
	border-radius: 12px;
	background: var(--ink);
	color: #E5EAF0;
	font-family: var(--font-mono);
	font-size: 13px;
	line-height: 1.5;
}

/* Round 23b7: document verification (pages/site/verify.php). */
/* Round 23e13 (the locked EsDocuments board, "Verification page"): the result as one card under the address it was checked at. */
.vcard {
	margin: 0 0 22px;
	border: 1px solid var(--line);
	border-radius: 12px;
	overflow: hidden;
	background: var(--card);
}
.vcard-bar {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	background: var(--sunk);
	border-bottom: 1px solid var(--line);
	font-size: 12.5px;
	color: var(--muted);
}
.vcard-bar .ico {
	width: 14px;
	height: 14px;
}
.vcard-body {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 20px 22px;
}
.vcard-body .lbl {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--muted);
}
.vcard-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: 20px;
	font-weight: 700;
}
.vcard-head .ico {
	width: 22px;
	height: 22px;
}
.vcard-head.is-ok .ico {
	color: var(--green);
}
.vcard-head.is-bad .ico {
	color: var(--red);
}
.vcard .vlist {
	margin: 0;
}
.vcard .muted {
	margin: 0;
	font-size: 13px;
}
.vstatus {
	display: inline-flex;
	align-self: flex-start;
	align-items: center;
	gap: 8px;
	margin: 0 0 16px;
	padding: 8px 14px;
	border-radius: 999px;
	font-weight: 700;
}
.vstatus.is-ok {
	background: var(--green-bg);
	color: var(--green-text);
}
.vstatus.is-old {
	background: var(--amber-bg);
	color: var(--amber-text);
}
.vstatus .ico {
	width: 18px;
	height: 18px;
}
.vlist {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: 8px 20px;
	margin: 0 0 16px;
	font-size: 16px;
}
.vlist dt {
	color: var(--muted);
}
.vlist dd {
	margin: 0;
	font-weight: 600;
	overflow-wrap: anywhere;
}
.vform {
	margin-top: 24px;
}
.vform .mono {
	font-family: var(--font-mono);
}
@media (max-width: 720px) {
	.vlist {
		grid-template-columns: minmax(0, 1fr);
		gap: 2px;
	}
	.vlist dd + dt {
		margin-top: 10px;
	}
}

/* Round 23e2 (the locked boards): the large page title, the boxes' headings and the journals search. */
.h1-xl, .phead h1.h1-xl { margin: 0; font-family: var(--font-serif); font-size: 40px; font-weight: 600; line-height: 1.12; letter-spacing: -.01em; }
.box-h { margin: 0; font-size: 16px; font-weight: 700; }
.shead form[role="search"] { flex: 0 1 480px; display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 14px; border: 1px solid var(--field); border-radius: 10px; background: var(--paper); }
.shead form[role="search"] input { flex: 1; min-width: 0; border: 0; outline: none; background: transparent; font: inherit; font-size: 16px; color: var(--text); }
@media (max-width: 760px) { .h1-xl { font-size: 32px; } }
/* Round 23e2 (site-a-5): as the News board, the heading keeps the kit's h2 and the link inside carries the 21px serif. */
.an-t { margin: 0; }
.an-t a { font-family: var(--font-serif); font-size: 21px; font-weight: 600; line-height: 1.3; color: var(--text); text-decoration: none; }
.an-t a:hover { text-decoration: underline; }
/* Round 23e2: Home's article-list tabs as the Home board draws them (lighter and closer than the kit's tab bar). */
.tabs[aria-label="Article lists"] .tab { margin-right: 22px; padding: 0 4px; font-weight: 600; }
/* Round 23e2: the Journals board's group heading over the list, its 40px sort select, and News's headings. */
.jlgroup { padding: 22px 0 8px; border-bottom: 2px solid var(--ink); }
.jlgroup h2 { margin: 0; font-family: var(--font-serif); font-size: 22px; font-weight: 600; }
.jlgroup h2 span { font-size: 15px; font-weight: 500; color: var(--muted); }
.site select.field.sm { min-height: 40px; height: 40px; width: auto; }
.chips.sm .chip { min-height: 34px; font-size: 14px; }
/* Round 23e2 (site-a-4): the share dialog (site.js shareDialog), as the boards' share_dialog_html. */
.share-dlg { width: min(560px, calc(100% - 32px)); margin-top: 96px; padding: 0; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); color: var(--text); box-shadow: 0 12px 40px rgba(11,31,58,.25); }
.share-dlg::backdrop { background: rgba(11,31,58,.35); }
.share-dlg-h { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.share-dlg-h h2 { margin: 0; font-size: 18px; }
.share-dlg-x { width: 40px; height: 40px; border: 0; border-radius: 8px; background: transparent; color: var(--muted); font-size: 24px; cursor: pointer; }
.share-dlg-b { display: flex; flex-direction: column; gap: 14px; padding: 18px 20px; }
.share-dlg-t { font-family: var(--font-serif); font-size: 16.5px; font-weight: 600; line-height: 1.35; }
.share-dlg-link { display: flex; gap: 8px; }
.share-dlg-link .field { flex: 1; min-width: 0; min-height: 42px; background-color: var(--tint); font-size: 14px; color: var(--text-2); }
.share-dlg-n { display: flex; flex-wrap: wrap; gap: 8px; }
.share-dlg-note { font-size: 13.5px; color: var(--muted); }
.listing .box-h { font-size: 16px; font-weight: 700; }
/* Round 23e2 (site-a-5): one announcement as the News board's single view: a 36px title, the kit's 24px section headings, 15px box titles. */
.anpage .dhead h1 { max-width: 32ch; font-size: 36px; }
.anpage .prose h2 { font-size: 24px; font-weight: 600; }
.anpage .box-h, .ancol .box-h { font-size: 15px; font-weight: 700; }
@media (max-width: 720px) { .anpage .dhead h1 { font-size: 32px; } }
/* Round 23e3: the Email alerts board's journal chips. */
.achip { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 6px 0 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--tint); font-size: 14.5px; font-weight: 600; }
.achip button { display: grid; place-items: center; width: 28px; height: 28px; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.achip button:hover { background: var(--hover, rgba(11,31,58,.06)); }
/* Round 23e3: the journal frame on the Journal boards: the masthead band, a 32px title on the journal's pages, the
   cloned-website warning in the page's flow, and h2 box titles in the slim aside. */
.jmast { background: var(--paper); }
.jhead.jhead-b { max-width: 1280px; margin: 0 auto; padding: 24px 24px 18px; box-sizing: border-box; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
.jframe .dhead h1 { font-size: 32px; }
.jframe > .cw, .jframe > .cw-full { margin: 0 0 24px; }
.dsplit.dfull { display: block; }
@media (max-width: 720px) { .jframe .dhead h1 { font-size: 28px; } }
.jbody { display: flex; flex-direction: column; gap: 28px; }
/* Round 23e3, journal pages on their boards: section headings without the band's padding; the issue's type headings
   22px; the issue and call titles 34px; the archive's issue chips; Home's article tabs only (the kit's tabs elsewhere). */
.jbody h2.sec { margin: 0; }
.jframe.jf-big .dhead h1 { font-size: 34px; }
.jissue h2.sec { font-size: 22px; }
.jvol .chips .chip { min-height: 32px; min-width: 40px; justify-content: center; padding: 0 10px; font-size: 13.5px; }
.jyears-fig table { font-size: 14px; border-collapse: collapse; }
.jyears-fig th, .jyears-fig td { padding: 4px 16px 4px 0; text-align: left; }   /* round 23e4 (site-b-3): the kit's cell rows, about 29px */
/* Round 23e4: a policy as the policy boards draw it: the facts row, In short, the text. */
.pbody { display: flex; flex-direction: column; gap: 24px; }
/* Round 23f25 (owner item 56): the facts in one line as the policy boards: "Applies to  Proposers", muted label, no rule. */
.pfacts { display: flex; flex-wrap: wrap; gap: 6px 28px; margin: 0; font-size: 14.5px; color: var(--text-2); }
.pfacts div { display: flex; gap: 6px; }
.pfacts dt { color: var(--muted); }
.pfacts dd { margin: 0; font-weight: 600; }
.pbody .box ul { margin: 8px 0 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; }
.pbefore table { width: 100%; border-collapse: collapse; font-size: 15px; }
.pbefore caption { text-align: left; font-weight: 700; padding-bottom: 8px; }
.pbefore th, .pbefore td { padding: 10px 12px 10px 0; border-top: 1px solid var(--line-soft); text-align: left; vertical-align: top; }
.pbefore thead th { border-top: 0; color: var(--muted); font-size: 13px; text-transform: uppercase; letter-spacing: .05em; }
.pfigure { font-size: 14px; color: var(--text-2); }
.pgroup { display: flex; flex-direction: column; gap: 14px; }
.pwrite { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; border-radius: 12px; background: var(--tint); font-size: 15px; }   /* round 23s7 (S4, item 55): the SitePolicies board's band */
.dfeatures .ico { width: 22px; height: 22px; color: var(--blue); }
.dtiles-side { grid-template-columns: 1fr; }
.dlines { display: flex; flex-direction: column; gap: 6px; font-size: 14.5px; }
/* Round 23e4: headings inherit the colour of a dark band (About's hero), as on the boards; the contact form's fields at 14px. */
.dpage-about section[style*="var(--ink)"] h1 { color: inherit; }
.cf .field { font-size: 14px; }
/* Round 23s7 (S4, item 54, the SiteContact board): "What is it about" as the board's topic choices, and the form's labels
   and field help as the board's. */
.site .rc { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); font: inherit; font-size: 15px; font-weight: 600; color: var(--text); text-align: left; cursor: pointer; }
.site .rc::before { content: ""; flex: none; width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--field); box-sizing: border-box; background: var(--paper); }
.site .rc:hover { border-color: var(--blue); }
.site .rc.on { border-color: var(--blue); background: var(--blue-soft); }
.site .rc.on::before { border: 6px solid var(--blue); }
.site .cf label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 700; color: var(--text-2); }
.site .cf .hint { font-weight: 400; font-size: 13.5px; color: var(--muted); }
/* Round 23e5: the Article board's section headings. */
.art h2.sec { font-size: 24px; }

/* Round 23e9 (Design's site-c-1/2/3). The navy "In short" card keeps white text and links. */
.pbody .box.pshort a, .pbody .box.pshort a:visited { color: #FFFFFF; }
/* Step lists in stored pages (".vh"): the step's title on its own line, its description below. */
.vh > span:not(.n) { display: flex; flex-direction: column; gap: 2px; padding-bottom: 10px; }
.vh > span:not(.n) > span:first-child { font-weight: 700; }
.vh > span:not(.n) > span + span { font-size: 14px; color: var(--text-2); }
/* Tables in the stored policy pages (Copyright, Open access) and the charges table, as the boards draw them. */
.dprose table th, .pbefore table th { padding: 6px 14px 6px 0; font-size: 13px; color: var(--muted); }
.dprose table td, .pbefore table td { padding: 9px 14px 9px 0; }
.dprose table tbody td:first-child, .pbefore table tbody td:first-child, .dprose table tbody th[scope="row"], .pbefore table tbody th[scope="row"] { font-weight: 600; }
.pbefore table td + td { padding-left: 12px; }

/* ---- Round 23f23 (the owner's site review of 21 Oct, batch 1): Home, the Journal home, the Journals list and the article
   rows, written from the boards' markup (owner-site-1021, the site-a to site-d boards). Selectors start with .site so they outrank the kit
   (assets/kit/site-kit.css loads after this file). */
.wrap.wide { max-width: 1328px; }   /* Home's sections: a 1,280 px column inside 24 px gutters, as the Home board */
.site .sec-head.ruled { margin-bottom: 20px; padding-top: 12px; border-top: 3px solid var(--ink); }
.site .sec-head.ruled-b { margin-bottom: 14px; padding-bottom: 10px; border-bottom: 2px solid var(--ink); }
.site .sec-head.ruled-b .muted { font-size: 14px; font-weight: 400; }
.site .sec-head .sec-links { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.site .infra-in .ico { width: 16px; height: 16px; stroke-width: 2; color: var(--blue); }
.site .hsearch .btn-primary { padding: 0 22px; border: 0; font-weight: 700; }
.site .work-foot .btn-brick { border: 0; font-weight: 700; }
.site .work-foot span { font-size: 15px; }
/* Highlights: the lead card on ink, two cards beside it. */
.site .hls { display: flex; flex-wrap: wrap; align-items: stretch; gap: 16px; }
.site .hls-side { flex: 2 1 360px; display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.site .hl { display: flex; flex-direction: column; justify-content: flex-start; gap: 8px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.site .hl.is-main { flex: 3 1 520px; justify-content: space-between; gap: 28px; min-width: 0; padding: 32px 34px; border: 0; border-radius: 14px; background: var(--ink); }
.site .hl .top { display: flex; flex-direction: column; gap: 16px; }
.site .hl .tags { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; letter-spacing: 0; text-transform: none; }
.site .hl .pill-k { display: inline-flex; align-items: center; height: 24px; padding: 0 9px; border-radius: 999px; background: var(--gold); color: #0B1F3A; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.site .hl.is-main .pill-k { height: 26px; padding: 0 10px; font-size: 12.5px; }
.site .hl .subj { color: var(--muted); font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.site .hl.is-main .subj { color: #CDD8E6; letter-spacing: .08em; }
.site .hl .fam { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; }
.site .hl .t { font-family: var(--font-serif); font-size: 21px; font-weight: 600; line-height: 1.25; }
.site .hl.is-main .t { font-size: 40px; font-weight: 500; line-height: 1.1; letter-spacing: -.012em; }
.site .hl .sum { color: var(--text-2); font-size: 15px; }
.site .hl.is-main .sum { max-width: 52ch; color: #CDD8E6; font-size: 17.5px; line-height: 1.55; }
.site .hl .src { padding-top: 6px; border-top: 1px solid var(--line-soft); color: var(--muted); font-size: 13.5px; }
.site .hl.is-main .src { display: flex; flex-direction: column; gap: 4px; padding-top: 16px; border-top-color: rgba(255, 255, 255, .18); color: #CDD8E6; }
.site .hl.is-main .src .full { color: #FFFFFF; font-size: 14.5px; }
/* Find a journal: the board's card (66 px cover, no charge). */
.site .jcards { grid-template-columns: repeat(auto-fill, minmax(min(380px, 100%), 1fr)); gap: 14px; }
.site .jc { display: grid; grid-template-columns: 66px minmax(0, 1fr); align-items: start; gap: 16px; }
.site .jc[hidden] { display: none; }
.site .jc img, .site .jc .code { width: 66px; border-radius: 3px; box-shadow: 0 4px 10px rgba(11, 31, 58, .15); }
.site .jc .code { display: flex; flex-direction: column; justify-content: flex-end; padding: 6px; border-top: 4px solid var(--gold); font-family: var(--font-serif); font-size: 13px; font-weight: 600; }
.site .jc > span { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.site .jc .t { line-height: 1.25; }
.site .jc .meta { margin-top: 0; }
.site .jc .nums { margin-top: 0; padding-top: 2px; }
/* Latest research and the aside. */
.site .cols { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 48px; padding-bottom: 56px; }
.site .cols > section { flex: 999 1 620px; min-width: 0; }
.site .cols > .side { flex: 1 1 320px; gap: 24px; min-width: 0; }
.site .tabs[aria-label="Article lists"] { gap: 0; }
.site .tabs[aria-label="Article lists"] .tab { min-height: 44px; margin-right: 22px; padding: 0 4px; border-bottom-width: 2px; font-weight: 600; }
.site .list-foot a { font-weight: 600; }
.site .cfps { display: flex; flex-direction: column; gap: 12px; }
.site .newsl { display: flex; flex-direction: column; }
.site .cfps .head, .site .newsl .head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.site .newsl .head { padding-bottom: 8px; }
.site .cfps h2, .site .newsl h2 { margin: 0; font-family: var(--font-serif); font-size: 24px; font-weight: 600; }
.site .cfps .head a, .site .newsl .head a { font-size: 14.5px; font-weight: 700; text-decoration: none; }
.site .cfps .cfp { display: flex; flex-direction: column; gap: 8px; padding: 18px; border: 1px solid var(--line); border-top: 3px solid var(--brick); border-radius: 12px; }
.site .cfps .cfp .k { color: var(--brick); font-size: 12.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.site .cfps .cfp .t { font-family: var(--font-serif); font-size: 18px; font-weight: 600; line-height: 1.3; }
.site .cfps .cfp .j { color: var(--muted); font-size: 14px; font-style: italic; }
.site .cfps .cfp .m { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 8px; border-top: 1px solid var(--line-soft); color: var(--text); font-size: 14px; }
.site .cfp-propose { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border-radius: 12px; background: var(--tint); color: var(--text) !important; text-decoration: none; }
.site .cfp-propose .t { font-weight: 700; }
.site .cfp-propose .d { color: var(--text-2); font-size: 14px; }
.site .cfp-propose:hover .t { text-decoration: underline; }
.site .newsl > a { display: flex; flex-direction: column; gap: 4px; padding: 14px 0; border-top: 1px solid var(--line); color: var(--text) !important; text-decoration: none; }
.site .newsl > a:last-child { border-bottom: 1px solid var(--line); }
.site .newsl .k { color: var(--muted); font-size: 12.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.site .newsl .t { font-weight: 700; line-height: 1.35; }
.site .newsl > a:hover .t { text-decoration: underline; }
/* Work with us. */
.site .auds .aud { min-height: 38px; padding: 0 16px; border: 0; border-radius: 999px; background: transparent; font-size: 14.5px; }
.site .auds .aud.on { background: var(--ink); color: #FFFFFF; }
.site .pws { grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)); gap: 14px; }
.site .pw .ic { width: 36px; height: 36px; color: var(--blue); }
/* Article rows: the label in capitals with open access in brick (Home, the journal home); an issue's rows keep pills. */
.site .arts .art { gap: 24px; padding: 18px 0; }
.site .arts .art .body { gap: 5px; }
.site .arts .art .type { color: var(--muted); font-size: 12.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.site .arts .art .type .oa { display: inline; color: var(--brick); font-size: inherit; }
.site .arts .art .type .when { font-size: 13.5px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.site .arts .art .t { font-size: 19.5px; font-weight: 500; line-height: 1.3; }
.site .arts .art .where { color: var(--muted); font-size: 14px; }
.site .arts .art .where i { color: inherit; }
.site .arts .art .metric { min-width: 96px; text-align: right; }
.site .arts .art .metric strong { color: var(--text); font-family: var(--font-sans); font-size: 22px; font-weight: 600; }
.site .arts .art .links { gap: 6px 18px; padding-top: 2px; font-size: 14px; }
.site .art .pdf { display: inline-flex; align-items: center; gap: 6px; color: var(--blue-text); font-weight: 600; text-decoration: none; }
.site .art .pdf .ico { width: 16px; height: 16px; stroke-width: 2; vertical-align: 0; }
.site .art .pdf:hover { text-decoration: underline; }
.site .jgrid .arts .art .body { gap: 6px; }
.site .jgrid .arts .art .t { font-size: 20px; }
.site .jgrid .arts .art .who { font-size: 15px; }
.site .arts > li.art-i { border-bottom: 0; }
.site .art-i .art { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; padding: 16px 0; border-top: 1px solid var(--line-soft); }
.site .art-i .body { gap: 6px; }
.site .art-i .tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 12.5px; }
.site .art-i .oa .ico { width: 12px; height: 12px; stroke-width: 2; vertical-align: 0; }
.site .arts .art-i .t { font-size: 18px; font-weight: 600; }
.site .art-i .who { font-size: 14px; }
.site .arts .art-i .links { gap: 6px 14px; padding-top: 0; color: var(--muted); font-size: 13.5px; }
.site .art-i .acc { color: var(--muted); font-size: 13.5px; font-variant-numeric: tabular-nums; white-space: nowrap; }
/* The journal home: Editor's picks, Latest · Most read on the rule, the latest volume under the list. */
.site .jgrid > div:first-child { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
.site .jgrid .sec { padding-top: 0; }
.site .jgrid .sec-head h2 { font-size: 26px; letter-spacing: 0; }
.site .picks .pick { padding: 18px 20px; background: var(--paper); }
.site .pick .pill-k { display: inline-flex; align-self: flex-start; align-items: center; height: 24px; padding: 0 10px; border-radius: 999px; background: var(--gold); color: #0B1F3A; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.site .picks .pick .t { font-size: 20px; line-height: 1.25; }
.site .picks .pick .src { margin-top: auto; padding-top: 8px; border-top: 1px solid var(--line-soft); font-size: 13.5px; }
.site .ltabs { display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: 15px; }
.site .ltabs .ltab { font-weight: 600; text-decoration: none; }
.site .ltabs .ltab.on { color: var(--text); font-weight: 700; }
.site .jvols { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding-top: 18px; }
.site .jvols .v { margin-right: 6px; font-weight: 700; }
.site .jvols .chip { min-height: 34px; font-size: 14px; }
.site .jvols .all { margin-left: auto; font-weight: 700; }
@media (max-width: 760px) {
	.site .auds { border-radius: 16px; }
	.site .hl, .site .hl.is-main { padding: 20px; }
	.site .hl.is-main .t { font-size: 28px; }   /* the board's phone rule names every .hl; the side cards keep 21px (asked of Design) */
}
/* The journal home's about band, metrics and editor-in-chief, and the slimmer aside (the Journal board). */
.site .jabout { grid-template-columns: minmax(0, 1fr) 320px; gap: 32px 48px; }
.site .jabout .lead { max-width: 70ch; font-size: 18px; line-height: 1.6; }
.site .jabout .links { font-size: 15px; font-weight: 600; }
.site .jabout .sec-head { margin-bottom: 10px; }
.site .jabout .sec-head h2 { color: var(--muted); font-family: var(--font-sans); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.site .jabout .sec-head a { font-size: 14px; font-weight: 600; text-decoration: underline; }
.site .jabout .tiles { max-width: 1040px; gap: 10px; }
.site .jabout .tiles div { padding: 16px 18px; background: var(--paper); }
.site .jabout .tiles strong { font-size: 30px; line-height: 1.15; }
.site .eic { gap: 18px; }
.site .eic img { width: 112px; height: 151px; object-fit: cover; border-radius: 6px; box-shadow: 0 1px 3px rgba(11, 31, 58, .18); }
.site .eic > div { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.site .eic .k { letter-spacing: .1em; }
.site .eic .who { display: flex; flex-direction: column; }
.site .eic .n { font-size: 17px; }
.site .eic .i, .site .eic .team { margin: 0; color: var(--text-2); font-size: 14.5px; }
.site .eic a { font-weight: 700; text-decoration: none; }
.site .jgrid { grid-template-columns: minmax(0, 1fr) 300px; gap: 36px; }
.site .dl dd { font-weight: 400; }
.site .jvols .chip.on { background: var(--ink); border-color: var(--ink); color: #FFFFFF !important; }   /* .chip sets its colour !important */
.site .crumbs a { color: var(--blue-text); text-decoration: underline; }   /* every site board: the kit's plain link */
.site .crumbs a:hover { color: var(--blue-hover); }
/* The Journals list (the Journals board; DC-8b): the active subjects over the list, the row's small buttons, the filter. */
.site .listing { grid-template-columns: minmax(0, 1fr) 260px; gap: 36px; padding-bottom: 64px; }
.site .listbar { padding-bottom: 0; border-bottom: 0; color: var(--text); }
.site .listbar .lb-n { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.site .listbar .chip { min-height: 34px; gap: 6px; }
.site .listbar .chip.on { background: var(--ink); border-color: var(--ink); color: #FFFFFF !important; }
.site .listbar .chip .ico { width: 16px; height: 16px; }
.site .listbar label { color: var(--muted); }
.site .jrow { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 16px 10px; }
.site .jrow img, .site .jrow .code { width: 54px; height: 72px; border-radius: 6px; box-shadow: 0 1px 3px rgba(11, 31, 58, .18); }
.site .jrow .body { display: flex; flex-direction: column; gap: 4px; }
.site .jrow .t { font-size: 19px; line-height: 1.3; }
.site .jrow .meta, .site .jrow .nums { margin-top: 0; }
.site .jrow .nums strong { color: var(--text); }
.site .jrow .acts { flex-direction: row; flex-wrap: wrap; justify-content: flex-end; gap: 8px; font-size: inherit; }
.site .jrow .acts .submit-l { border-color: transparent; color: var(--brick) !important; font-weight: 700; }   /* outranks a.btn's long :not() chain */
.site .filters { gap: 24px; }
.site .filters .fh { align-items: baseline; }
.site .filters .fh h2 { margin: 0; font-size: 18px; font-weight: 700; }
.site .filters .fh a { font-weight: 600; }
.site .filters fieldset { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.site .filters legend { margin-bottom: 0; padding-bottom: 8px; letter-spacing: .08em; }
.site .filters .check { color: var(--text); }
.site .filters .check .n { font-size: inherit; }
.site .phead .shead p { font-size: 16px; }
/* The journal menus: the page shown is marked by the kit's background only (no underline), as the Journal boards. */
.site .jnav details > div a[aria-current] { box-shadow: none; }
.site .btn.is-off { opacity: .45; cursor: not-allowed; }   /* round 23s6: the board's .45 */   /* DC-8e: Search's Export selected before a result is ticked */
.site .btn.is-off:hover { border-color: var(--line); }
.site .work { margin-top: 0; padding: 52px 0; }   /* Home: Work with us follows the lists' 56 px, as the board */
.site .jabout > div:first-child { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.site .jabout .lead, .site .jabout .links { margin: 0; }
.site .jabout .sec-head { margin-bottom: 10px; }
@media (max-width: 900px) {
	.site .jabout, .site .jgrid, .site .listing { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
	.site .jrow { grid-template-columns: 54px minmax(0, 1fr); }
	.site .jrow .acts { grid-column: 1 / -1; justify-content: flex-start; }
	.site .jvols .all { margin-left: 0; }
}
/* Round 23f25 (site batch 2), the issue board: the warning above the breadcrumb; the count line at body size. */
.jissue > .cw:first-child, .jissue > .cw-full:first-child { margin: 0; }
.jframe.jissue { gap: 36px; padding-top: 37px; }
.site .jissue .dhead .lead { font-size: 16px; }
/* Round 23f25 (owner item 51): All policies beside a policy, as the boards: under a rule, its heading bold, the kit's
   list (16px, text-2, the page shown with the blue edge); not the article's sticky section list. */
.site nav.ptoc { position: static; display: flex; flex-direction: column; gap: 0; padding: 4px 0 10px; border-top: 1px solid var(--line); font-size: 16px; }
.site nav.ptoc a { padding: 6px 10px; border-left: 2px solid transparent; color: var(--text-2) !important; }
.site nav.ptoc a:hover { background: none; color: var(--text) !important; }
.site nav.ptoc a.on { border-left-color: var(--blue); color: var(--text) !important; font-weight: 600; }
.site nav.ptoc a.ptoc-all { padding: 10px 10px 2px; border-left: 0; color: var(--text) !important; font-weight: 700; }
.site nav.ptoc .eyebrow { padding: 12px 10px 4px; }
.site .daside .box > a[href$="/special-issues/propose"] { align-self: flex-start; display: inline-flex; align-items: center; min-height: 36px; padding: 0 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); color: var(--text); font-size: 14px; font-weight: 600; text-decoration: none; }
.site .daside .box > p, .site .daside .box > a { font-size: 14.5px; }
.filepick { position: relative; }
.filepick .sr-file { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; opacity: 0; }
.filepick:focus-within { outline: 2px solid var(--focus, #1A66A8); outline-offset: 2px; }
/* Round 23f25 (owner item 42): a special issue call's head in the board's tinted card under the breadcrumb. */
.jsicall .dhead-text { gap: 14px; }
.dhead-card { display: flex; flex-direction: column; gap: 14px; padding: 28px 32px; border-radius: 16px; background: var(--tint); border: 1px solid var(--line); }
.jframe.jsicall .dhead h1 { max-width: 28ch; }
@media (max-width: 720px) { .dhead-card { padding: 20px; } }
.cite-text p { margin: 0; }
.site .box .dl dd.mono { overflow-wrap: anywhere; }
/* Round 23f25 (owner item 58): the header's Sign in stays white on hover, on the board's faint light background. */
.site header a.hlink, .site header a.hlink:hover { color: #FFFFFF !important; text-decoration: none; }
.site header a.hlink:hover { background: rgba(255, 255, 255, .08); }
/* Round 23f25 (owner item 25): selects' text and arrow centred in the box (the kit's 42px line-height in a 38-44px box
   set both 2-3px low, on the boards too). */
.site select.field:not([multiple]), .site select:not([multiple]):not(.field) { line-height: normal; }
.site select.field:not([multiple]) { background-position: calc(100% - 22px) calc(50% - 1px), calc(100% - 16px) calc(50% - 1px); }

/* Site round S1+S2 (DC-7, the Home board): the hero's suggested searches, and on phones its Search button full width
   (the kit's v95 rule names the board's link; the site's form submits with a button). */
.sugg {
	color: #FFFFFF !important;
	text-decoration: none;
	border-bottom: 1px dashed rgba(255, 255, 255, .45);
}
.sugg:hover {
	border-bottom-color: #FFFFFF;
}
@media (max-width: 760px) {
	body.site section[style*="var(--hero)"] form[role=search] button {
		flex: 1 1 100%;
		justify-content: center;
	}
}
@media (max-width: 760px) {
	/* The Home board's hero and infrastructure strip sit outside <main>, whose phone padding (kit: 20px 16px) the app's
	   Home wraps them in: they reach the edges again. */
	body.site main > section[style*="var(--hero)"]:first-child { margin: -20px -16px 0; }
	body.site main > section.infra { margin-left: -16px; margin-right: -16px; }
	body.site main > section.infra .infra-in { padding: 16px 24px; box-sizing: border-box; max-width: none; }   /* the board's 16px 24px */
}
@media (max-width: 760px) {
	/* Work with us on a phone (DC-8o, owner item 15; the kit's v95 rules name the board's markup): full width, 16px gutters,
	   heading above the tabs, the audience tabs one full-width row of equal thirds, Submit full width. */
	body.site main > section.work { margin-left: -16px; margin-right: -16px; padding: 0; }   /* round 23s7 (S3-5): the board's section has no padding of its own on a phone; the wrap's 36/40 is the space */
	body.site section.work > .wrap { box-sizing: border-box; max-width: none; padding: 36px 16px 40px; }
	body.site section.work .work-head { flex-direction: column; align-items: stretch; }
	body.site section.work .auds { display: flex; flex-wrap: nowrap; width: 100%; box-sizing: border-box; }
	body.site section.work .auds > * { flex: 1 1 0; min-width: 0; justify-content: center; text-align: center; }
	body.site section.work .work-foot a.btn { flex: 1 1 100%; justify-content: center; }
}
/* Round 23s6 (owner item 46, the Article board): the article page's wrapper (class "wrap art") lost .wrap's 24px sides to the
   list rule .art { padding: 16px 0 }; the board's column starts 24px inside the 1,280px. */
.site .wrap.art { padding-left: 24px; padding-right: 24px; }
/* Round 23s6: a [hidden] element whose inline style sets display (the article's Follow form) stays hidden. */
.site [hidden] { display: none !important; }
/* Round 23s6 (owner item 46, the Article board): the sections list's current item is a filled row, no rule on the left. */
.site .wrap.art .toc a { border-left: 0; border-radius: 6px; }
.site .wrap.art .toc a[aria-current] { background: var(--blue-soft); color: var(--blue-text) !important; font-weight: 700; }
/* Round 23s6 (item 46): the action row's icons at the board's 16px (View PDF 17px), so the five actions share one line. */
.site .wrap.art #follow > * > svg, .site .wrap.art #follow > button > svg, .site .wrap.art #follow > a > svg { width: 16px; height: 16px; }
.site .wrap.art #follow > .btn.primary > svg, .site .wrap.art #follow > a.primary > svg { width: 17px; height: 17px; }
/* Round 23s6 (item 46): the citation arrives as its own paragraph inside the Cite box (was a <p> in a <p>: two empty rows). */
.site #citeText > p { margin: 0; }
/* Round 23s6 (item 46): Copy · Download RIS · Download BibTeX on one line (Copy is a button: no button padding or height). */
.site #citeText + div { align-items: baseline; }
.site #citeText + div .lnk { padding: 0; min-height: 0; border: 0; background: none; font: inherit; font-weight: 600; line-height: inherit; }
/* Round 23s9 (Design r23s7 S3-7, the SitePolicies board): the cards in three columns across the full content width, and the
   concerns band as wide; two columns on a tablet, one on a phone. */
.dpage-policies .pbody { max-width: none; }
.dpage-policies .dpicks { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1023px) { .dpage-policies .dpicks { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .dpage-policies .dpicks { grid-template-columns: minmax(0, 1fr); } }

/* Round 23s13 (V site-findings S3-1): a policy page's side box holding a list (one link per line) or several paragraphs
   (Publication ethics: "Also part of our ethics policies", "Who to write to"), as the board draws it. */
.site .daside .box > div { display: flex; flex-direction: column; gap: 8px; font-size: 14.5px; line-height: 1.5; }
.site .daside .box > div > span { display: block; }
.site .daside .box > div > span + span { margin-top: 4px; }

/* Round 23s15 (owner, 25 Oct: "the collapsible lists on author reviewer guidelines pages is still not fixed"): the numbered
   folds of the guides (SiteAuthors, SiteReviewers and the other boards built with FOLD_CSS, db/design/canvas-kit/specs/
   v62_pages.py) were drawn with board CSS that the kit's tokens never carried, so the pages showed bare <details>. The
   board's rules, scoped to the site's body as the kit is; a focus ring for the keyboard (Enter and Space open a summary). */
body .fold { display: grid; grid-template-columns: 30px 200px minmax(0, 1fr) 20px; gap: 4px 12px; align-items: baseline; padding: 12px 0; cursor: pointer; list-style: none; }
body .fold::-webkit-details-marker { display: none; }
body .fold::marker { content: ''; }
body .fold .n { font-variant-numeric: tabular-nums; color: var(--muted); }
body .fold .l { font-weight: 700; }
body .fold .s { color: var(--text-2); }
body .fold .pl { color: var(--muted); }
body details[open] > .fold .pl { transform: rotate(45deg); }
body .fold:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; border-radius: 4px; }
@media (max-width: 640px) {
	body .fold { grid-template-columns: 30px minmax(0, 1fr) 20px; }
	body .fold .s { grid-column: 2; grid-row: 2; }
	body .fold .pl { grid-column: 3; grid-row: 1; }
	body details > p, body details > .fold-body { margin-left: 0 !important; }
}

/* Round 23s17/23s19 (the owner: "fix the padding of the issue selector just above the footer"): the journal home's grid ended on
   the issue chips with no space before the footer at 760 px and wider (0 px; the other pages' last block keeps 64 px, as
   .wrap.listing). Phones keep main's own 48 px. */
@media (min-width: 760px) {
	body .wrap.jgrid { padding-bottom: 64px; }
}
