@charset "utf-8";
:root {
	--navy:#041528;
	--navy2:#082b4c;
	--ink:#0d2949;
	--text:#536b84;
	--muted:#8191a2;
	--line:#dce5ed;
	--soft:#f5f8fb;
	--blue:#1677d2;
	--sky:#4baeff;
	--yellow:#ffc037;
	--max:1240px;
	--side:205px
}

* {
	box-sizing:border-box
}

html {
	scroll-behavior:smooth
}

body {
	margin:0;
	background:#fff;
	color:var(--text);
	font-family:Inter,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
	line-height:1.72;
	-webkit-font-smoothing:antialiased
}

a {
	color:#0b62b4;
	text-underline-offset:3px
}

a:hover {
	color:#148ae9
}

img {
	max-width:100%;
	height:auto
}

.site-header {
	position:relative;
	z-index:40;
	background:var(--navy);
	color:#fff
}

.header-inner {
	width:min(calc(100% - 56px),var(--max));
	min-height:76px;
	margin:auto;
	display:flex;
	align-items:center;
	gap:28px
}

.brand {
	margin-right:auto;
	color:#fff;
	text-decoration:none;
	line-height:1.2
}

.brand-ja {
	display:block;
	font-size:18px;
	font-weight:700;
	letter-spacing:.025em
}

.brand-en {
	display:block;
	margin-top:5px;
	font:12px/1.3 Georgia,"Times New Roman",serif;
	letter-spacing:.06em;
	opacity:.84
}

.global-nav {
	display:flex;
	align-self:stretch;
	align-items:center;
	gap:25px
}

.global-nav a {
	position:relative;
	display:flex;
	align-items:center;
	height:100%;
	color:rgba(255,255,255,.86);
	text-decoration:none;
	font-size:11px;
	font-weight:700;
	letter-spacing:.055em
}

.global-nav a:hover,.global-nav a.active {
	color:#55b8ff
}

.global-nav a.active:after {
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:16px;
	height:2px;
	background:#42aaff
}

.lang-link {
	padding-left:20px;
	border-left:1px solid rgba(255,255,255,.2)
}

.menu-button {
	display:none
}

.hero {
	position:relative;
	min-height:285px;
	overflow:hidden;
	color:#fff;
	background-position:center;
	background-size:cover
}

.hero:before {
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(90deg,rgba(2,15,28,.38) 0%,rgba(2,15,28,.50) 35%,rgba(4,30,54,.72) 65%,rgba(2,16,31,.96) 100%)
}

.hero:after {
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	height:85px;
	background:linear-gradient(transparent,rgba(1,12,23,.4))
}

.hero-inner {
	position:relative;
	z-index:2;
	width:min(calc(100% - 56px),var(--max));
	margin:auto;
	padding:61px 0 46px
}

.hero h1 {
	margin:0;
	color:#fff;
	font:400 clamp(40px,4.6vw,60px)/1.08 Georgia,"Times New Roman",serif;
	letter-spacing:-.025em;
	text-shadow:0 2px 8px rgba(0,0,0,.35)
}

.page-layout {
	width:min(calc(100% - 56px),var(--max));
	margin:auto;
	padding:38px 0 92px;
	display:grid;
	grid-template-columns:var(--side) minmax(0,1fr);
	gap:44px
}

.site-sidebar {
	min-width:0
}

.local-nav {
	position:sticky;
	top:18px;
	display:flex;
	flex-direction:column;
	border-left:1px solid var(--line)
}

.local-nav a {
	position:relative;
	padding:9px 14px;
	color:#4b6580;
	text-decoration:none;
	font-size:12px
}

.local-nav a:hover {
	background:var(--soft);
	color:var(--ink)
}

.local-nav a.current {
	color:#0c559d;
	font-weight:700;
	background:linear-gradient(90deg,#eaf3fb,transparent)
}

.local-nav a.current:before {
	content:"";
	position:absolute;
	left:-2px;
	top:0;
	bottom:0;
	width:3px;
	background:var(--blue)
}

.page-main {
	min-width:0
}

.page-main>.page-intro {
	margin-bottom:24px;
	padding-bottom:18px;
	border-bottom:1px solid var(--line);
	color:#75899e;
	font:14px Georgia,"Times New Roman",serif
}

.legacy-content {
	min-width:0
}

.legacy-content>h1:first-child {
	display:none
}

.legacy-content h2 {
	margin:46px 0 18px;
	padding-bottom:9px;
	color:var(--ink);
	border-bottom:1px solid #aabac9;
	font:400 30px/1.18 Georgia,"Times New Roman",serif
}

.legacy-content h2.mt0 {
	margin-top:12px
}

.legacy-content h3 {
	margin:28px 0 9px;
	color:#173d64;
	font-size:18px;
	line-height:1.45
}

.legacy-content p {
	margin:10px 0
}

.legacy-content ul,.legacy-content ol {
	padding-left:1.65em
}

.legacy-content li {
	margin:6px 0
}

.legacy-content blockquote {
	margin:18px 0;
	padding:18px 22px;
	border-left:3px solid var(--blue);
	background:var(--soft);
	color:#536b84
}

.legacy-content hr {
	border:0;
	border-top:1px solid var(--line);
	margin:30px 0
}

.legacy-content iframe {
	display:block;
	max-width:100%;
	margin:18px auto;
	border:0;
	border-radius:4px;
	box-shadow:0 12px 35px rgba(7,36,62,.12)
}

.legacy-content figure {
	margin:16px
}

.legacy-content figcaption {
	font-size:10px;
	color:#8494a4
}

.fr {
	float:right;
	margin:6px 0 20px 28px
}

.fl {
	float:left;
	margin:6px 28px 20px 0
}

.center {
	text-align:center;
	margin-left:auto!important;
	margin-right:auto!important
}

.mt0 {
	margin-top:10px!important
}

.top {
	margin-top:10px
}

.under {
	background:linear-gradient(transparent 70%,var(--yellow) 70%)!important;
	text-decoration:none!important;
	box-shadow:none!important
}

.wline {
	text-decoration-line:underline;
	text-decoration-style:wavy;
	text-decoration-color:#47a76d;
	text-underline-offset:3px
}

.dline {
	text-decoration-line:underline;
	text-decoration-style:dashed;
	text-decoration-color:#d85a5a;
	text-underline-offset:3px
}

.back2 {
	background:#edf4fa;
	padding:4px 8px;
	border-radius:3px
}

/* tables */
table {
	max-width:100%;
	border-collapse:collapse
}

table.member,.legacy-content table {
	width:100%;
	margin:15px 0 28px;
	background:#fff;
	border:1px solid var(--line);
	box-shadow:0 8px 28px rgba(11,39,67,.05)
}

table.member th,.legacy-content table th {
	padding:12px 14px;
	background:#edf4f9;
	color:#24496c;
	border:1px solid #d3dfe8;
	font-size:12px
}

table.member td,.legacy-content table td {
	padding:11px 14px;
	border:1px solid #e2e9ef;
	vertical-align:top;
	font-size:13px
}

table.member td[rowspan] {
	width:230px;
	background:#f8fafc;
	text-align:center
}

table.member td[rowspan] img {
	border-radius:4px;
	box-shadow:0 8px 22px rgba(9,35,61,.12)
}

/* homepage */
.home-hero {
	min-height:500px
}

.home-hero .hero-inner {
	padding-top:78px
}

.home-hero h1 {
	max-width:760px;
	font-size:clamp(44px,5.4vw,72px)
}

.home-hero .home-main {
	width:min(calc(100% - 56px),var(--max));
	margin:auto;
	padding:44px 0 90px
}

.home-section {
	margin-bottom:54px
}

.home-section-title {
	display:flex;
	align-items:end;
	justify-content:space-between;
	gap:20px;
	margin-bottom:20px
}

.home-section-title h2 {
	margin:0;
	color:var(--ink);
	font:400 34px Georgia,"Times New Roman",serif
}

.home-section-title span {
	font-size:12px;
	color:#8192a4;
	letter-spacing:.08em
}

.research-grid {
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:12px;
	margin:24px 0 56px
}

.research-card {
	position:relative;
	min-height:190px;
	overflow:hidden;
	border-radius:3px;
	background-position:center;
	background-size:cover;
	color:#fff;
	text-decoration:none;
	box-shadow:0 8px 25px rgba(8,34,60,.13)
}

.research-card:before {
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(transparent 35%,rgba(1,13,25,.9))
}

.research-card span {
	position:absolute;
	z-index:1;
	left:18px;
	right:18px;
	bottom:16px;
	color:#fff;
	font-weight:700
}

.home-content-card {
	padding:30px 34px;
	border:1px solid var(--line);
	background:#fff;
	box-shadow:0 12px 32px rgba(8,35,61,.06)
}

.home-content-card h2,.home-content-card h3 {
	color:var(--ink)
}

#about>h2:first-child,#news>h3:first-child {
	font:400 31px Georgia,"Times New Roman",serif;
	border-bottom:1px solid #aabac9;
	padding-bottom:10px
}

.home-content-card #news ul {
	list-style:none;
	padding:0;
	margin:0
}

.home-content-card #news li {
	padding:10px 0;
	border-bottom:1px solid #e4eaf0;
	font-size:13px
}

/* research */
.legacy-content #main2 {
	width:auto
}

.legacy-content #main2>h2 {
	clear:both
}

.legacy-content video {
	max-width:100%
}

/* member/archive cards */
body.page-members table.member {
	border-radius:4px;
	overflow:hidden
}

body.page-members .legacy-content h2 {
	margin-top:48px
}

.archive-pill {
	display:inline-block;
	padding:5px 10px;
	background:#eef5fb;
	border:1px solid #d9e6f0;
	border-radius:20px;
	font-size:11px
}

/* map */
body.page-map blockquote {
	font-size:15px
}

/* generic interactive */
button,.button {
	font:inherit
}

.site-footer {
	min-height:125px;
	padding:31px max(28px,calc((100vw - var(--max))/2));
	display:flex;
	justify-content:space-between;
	gap:28px;
	color:rgba(255,255,255,.74);
	background:var(--navy);
	font:13px/1.7 Georgia,"Times New Roman",serif
}

.site-footer strong {
	color:#fff
}

.site-footer small {
	align-self:flex-end;
	font:10px Arial,sans-serif;
	opacity:.72
}

@media(max-width:1060px) {
	.header-inner,.hero-inner,.page-layout,.home-main {
		width:min(calc(100% - 36px),var(--max))
	}
	.global-nav {
		gap:14px
	}
	.global-nav a {
		font-size:9px
	}
	.page-layout {
		grid-template-columns:170px minmax(0,1fr);
		gap:27px
	}
	.research-grid {
		grid-template-columns:repeat(2,1fr)
	}
}

@media(max-width:780px) {
	.header-inner {
		min-height:68px
	}
	.brand-en {
		display:none
	}
	.menu-button {
		display:flex;
		margin-left:auto;
		width:44px;
		height:44px;
		padding:9px;
		border:0;
		background:transparent;
		flex-direction:column;
		justify-content:center;
		gap:5px
	}
	.menu-button span {
		display:block;
		width:22px;
		height:1.5px;
		background:#fff
	}
	.global-nav {
		display:none;
		position:absolute;
		left:0;
		right:0;
		top:68px;
		padding:10px 18px 18px;
		flex-direction:column;
		align-items:stretch;
		gap:0;
		background:var(--navy)
	}
	.global-nav.open {
		display:flex
	}
	.global-nav a {
		min-height:40px;
		font-size:11px;
		border-bottom:1px solid rgba(255,255,255,.08)
	}
	.global-nav a.active:after {
		display:none
	}
	.lang-link {
		padding-left:0;
		border-left:0
	}
	.hero {
		min-height:250px
	}
	.home-hero {
		min-height:430px
	}
	.hero-inner {
		padding:47px 0
	}
	.page-layout {
		display:block;
		padding-top:22px
	}
	.local-nav {
		position:static;
		flex-direction:row;
		overflow:auto;
		border-left:0;
		border-bottom:1px solid var(--line);
		scrollbar-width:none
	}
	.local-nav a {
		flex:0 0 auto
	}
	.local-nav a.current:before {
		left:0;
		right:0;
		top:auto;
		bottom:-1px;
		width:auto;
		height:2px
	}
	.site-sidebar {
		margin-bottom:25px
	}
	.fr,.fl {
		float:none;
		display:block;
		margin:18px auto
	}
	.legacy-content iframe {
		width:100%;
		aspect-ratio:16/9;
		height:auto
	}
	.site-footer {
		display:block
	}
	.site-footer small {
		display:block;
		margin-top:20px
	}
	.home-main {
		padding-top:30px
	}
}

@media(max-width:560px) {
	.header-inner,.hero-inner,.page-layout,.home-main {
		width:calc(100% - 28px)
	}
	.brand-ja {
		font-size:14px
	}
	.hero h1 {
		font-size:38px
	}
	.home-hero h1 {
		font-size:43px
	}
	.research-grid {
		grid-template-columns:1fr
	}
	.research-card {
		min-height:160px
	}
	.home-content-card {
		padding:22px 18px
	}
	.legacy-content h2 {
		font-size:26px
	}
	table.member,.legacy-content table {
		display:block;
		overflow-x:auto;
		white-space:normal
	}
	table.member td[rowspan] {
		width:160px;
		min-width:160px
	}
	.site-footer {
		padding:28px 18px
	}
}

/* Publication list controls on the English/generic page */
.page-publications .legacy-content>div[style*="text-align"] {
	text-align:left!important;
	margin:9px 0 12px
}

.page-publications .back2 {
	display:block;
	padding:0;
	background:none
}

.page-publications .back2 a {
	display:flex;
	align-items:center;
	justify-content:space-between;
	width:100%;
	padding:11px 15px;
	border:1px solid var(--line);
	border-radius:3px;
	background:#f8fafc;
	color:#2d5e8e;
	text-decoration:none;
	font-size:13px;
	font-weight:650
}

.page-publications .back2 a:after {
	content:"＋";
	font-size:17px;
	font-weight:300;
	color:#6b86a2
}

.page-publications .back2 a:hover {
	border-color:#94bce1;
	background:#f1f7fc
}

.page-publications div[data-src] {
	margin:0 0 20px
}

.page-publications div[data-src] ol {
	margin:0;
	padding-left:2.7em
}

.page-publications div[data-src] li {
	padding:13px 12px;
	border-bottom:1px solid var(--line);
	color:#566d86;
	font-size:13px
}

.page-publications #news2 {
	overflow-x:auto
}

.page-publications table.publist {
	min-width:620px
}

.page-publications .altmetric-embed {
	float:right!important;
	margin:2px 0 2px 12px!important
}

/* =========================================================
Homepage news: latest 10 + expandable archive
========================================================= */
.home-content-card #news .news-summary {
	margin:-2px 0 14px;
	color:var(--muted);
	font-size:11px;
	letter-spacing:.02em;
}

.home-content-card #news .news-list>li:nth-child(n+11) {
	display:none
}

.home-content-card #news.news-expanded .news-list>li {
	display:block
}

.news-controls {
	display:flex;
	justify-content:center;
	margin-top:22px
}

.news-toggle {
	min-width:240px;
	padding:10px 20px;
	border:1px solid #9bc3e7;
	border-radius:2px;
	background:#fff;
	color:#155d9d;
	font-size:12px;
	font-weight:700;
	letter-spacing:.02em;
	cursor:pointer;
	transition:background .16s ease,border-color .16s ease,color .16s ease;
}

.news-toggle:hover,.news-toggle:focus-visible {
	background:#eef6fd;
	border-color:#5ca4df;
	color:#0b4d89
}

/* =========================================================
Research page: visual overview and feature cards
========================================================= */
.page-research .legacy-content {
	overflow:visible
}

.page-research .research-modern {
	width:100%
}

.page-research .research-intro-card {
	margin:0 0 42px;
	padding:25px 28px;
	border:1px solid var(--line);
	border-left:3px solid var(--blue);
	background:linear-gradient(120deg,#f7fafc,#fff 70%);
	box-shadow:0 10px 30px rgba(8,35,61,.05);
}

.page-research .research-intro-card p:first-child {
	margin-top:0
}

.page-research .research-intro-card p:last-child {
	margin-bottom:0
}

.page-research .research-overview {
	margin:0 0 58px
}

.page-research .research-overview-head {
	max-width:760px;
	margin-bottom:22px
}

.page-research .research-kicker {
	margin:0 0 4px;
	color:var(--blue);
	font-size:11px;
	font-weight:800;
	letter-spacing:.18em
}

.page-research .research-overview-head h2 {
	margin:0 0 10px!important;
	padding:0!important;
	border:0!important;
	font:400 36px/1.15 Georgia,"Times New Roman",serif!important;
}

.page-research .research-overview-head>p:last-child {
	margin:0;
	color:#6c8198;
	font-size:14px
}

.page-research .research-area-grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:14px
}

.page-research .research-area-card {
	display:flex;
	min-height:190px;
	position:relative;
	overflow:hidden;
	border:1px solid #d9e3ec;
	border-radius:4px;
	background:#061a2e;
	box-shadow:0 12px 30px rgba(6,31,55,.10);
	text-decoration:none;
	isolation:isolate;
}

.page-research .research-area-media {
	position:absolute;
	inset:0;
	background-position:center;
	background-size:cover;
	transition:transform .35s ease;
	z-index:-2
}

.page-research .research-area-card:after {
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(180deg,rgba(3,19,34,.08) 20%,rgba(2,16,29,.92) 100%);
	z-index:-1
}

.page-research .research-area-card:hover .research-area-media {
	transform:scale(1.04)
}

.page-research .research-area-comet .research-area-media {
	background-size:110px auto;
	background-repeat:no-repeat;
	background-color:#0a3154
}

.page-research .research-area-sim .research-area-media {
	background-size:cover;
	background-color:#edf4f9
}

.page-research .research-area-body {
	align-self:flex-end;
	display:block;
	width:100%;
	padding:20px;
	color:#fff
}

.page-research .research-area-body strong {
	display:block;
	color:#fff;
	font:600 18px/1.25 Georgia,"Times New Roman",serif
}

.page-research .research-area-body small {
	display:block;
	margin-top:7px;
	color:rgba(255,255,255,.77);
	font-size:11px;
	line-height:1.5
}

.page-research .research-cluster {
	margin:0 0 64px;
	scroll-margin-top:24px
}

.page-research .research-cluster>h2 {
	margin:0 0 22px!important;
	padding:0 0 11px!important;
	border-bottom:1px solid #9fb1c2!important;
	font:400 31px/1.2 Georgia,"Times New Roman",serif!important;
}

.page-research .research-feature {
	position:relative;
	margin:0 0 20px;
	padding:28px 30px 30px;
	border:1px solid var(--line);
	border-radius:4px;
	background:#fff;
	box-shadow:0 12px 34px rgba(8,35,61,.055);
	overflow:hidden;
	scroll-margin-top:24px;
}

.page-research .research-feature:before {
	content:"";
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	width:3px;
	background:#2d8ddd
}

.page-research .research-feature>h3 {
	margin:0 0 16px!important;
	color:#12395f!important;
	font:600 23px/1.35 Georgia,"Times New Roman",serif!important
}

.page-research .research-feature>h3 img {
	max-height:34px;
	width:auto;
	vertical-align:middle;
	margin-right:7px
}

.page-research .research-feature .fr {
	max-width:42%;
	margin:4px 0 18px 28px;
	padding:7px;
	background:#f7f9fb;
	border:1px solid #e2e9ef;
	border-radius:3px
}

.page-research .research-feature ol,.page-research .research-feature ul {
	margin:14px 0;
	padding-left:1.55em
}

.page-research .research-feature li {
	margin:7px 0
}

.page-research .research-feature p a[target="_blank"] {
	font-weight:600
}

.page-research .research-video-grid {
	clear:both;
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px;
	margin-top:24px
}

.page-research .research-video-grid iframe {
	width:100%!important;
	height:auto!important;
	aspect-ratio:16/9;
	margin:0!important;
	border-radius:3px;
	box-shadow:none!important
}

.page-research .research-cluster#sec-movie {
	padding:28px 30px;
	border:1px solid var(--line);
	background:#f7fafc;
	border-radius:4px
}

.page-research .research-cluster#sec-movie>h2 {
	margin-top:0!important
}

.page-research .research-cluster#sec-movie ol {
	columns:2;
	column-gap:38px;
	padding-left:1.5em
}

.page-research .research-cluster#sec-movie li {
	break-inside:avoid;
	margin:0 0 11px
}

@media(max-width:1060px) {
	.page-research .research-area-grid {
		grid-template-columns:repeat(2,minmax(0,1fr))
	}
}

@media(max-width:780px) {
	.page-research .research-feature {
		padding:23px 20px
	}
	.page-research .research-video-grid {
		grid-template-columns:1fr
	}
	.page-research .research-cluster#sec-movie ol {
		columns:1
	}
}

@media(max-width:560px) {
	.page-research .research-area-grid {
		grid-template-columns:1fr
	}
	.page-research .research-area-card {
		min-height:165px
	}
	.page-research .research-feature .fr {
		float:none;
		max-width:100%;
		margin:16px auto
	}
}

/* =========================================================
Preserve tables inside #news2
Keep column contents intact and allow horizontal scrolling
when the table is wider than the available content area.
========================================================= */
[id="news2"] {
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-gutter: stable;
}

[id="news2"] table {
	width: max-content !important;
	min-width: 100% !important;
}

[id="news2"] table th, [id="news2"] table td {
	white-space: nowrap;
}

/* Latest rebuild: Outreach / OSECHI */
.page-workshop .hero {
	background-position: center 43%;
}

.research-card[href="workshop.html"] {
	background-position: center 45%;
}

/* Table readability update 2026-09-19 */
.legacy-content table th, table.member th {
	font-size: 13px !important;
	line-height: 1.5;
}

.legacy-content table td, table.member td {
	font-size: 14px !important;
	line-height: 1.65;
}

.legacy-content table.publist, [id="news2"] table {
	font-size: 14px !important;
}

.legacy-content table.publist th, .legacy-content table.publist td, [id="news2"] table th, [id="news2"] table td {
	font-size: 14px !important;
}

/* Table readability update v2 — larger text */
.legacy-content table th, table.member th, .legacy-content table.publist th, [id="news2"] table th {
	font-size: 15px !important;
	line-height: 1.55 !important;
	padding-top: 13px !important;
	padding-bottom: 13px !important;
}

.legacy-content table td, table.member td, .legacy-content table.publist td, [id="news2"] table td {
	font-size: 16px !important;
	line-height: 1.7 !important;
	padding-top: 13px !important;
	padding-bottom: 13px !important;
}

.legacy-content table.publist, [id="news2"] table {
	font-size: 16px !important;
}

/* Sidebar readability enhancement */
.local-nav a {
	padding: 12px 15px;
	font-size: 16px;
	line-height: 1.45;
}

.local-nav a.current {
	font-weight: 700;
}

@media(max-width:780px) {
	.local-nav a {
		padding: 11px 14px;
		font-size: 15px;
	}
}

/* Join page: readable long-form layout */
.page-join .legacy-content {
	font-size: 16px;
	line-height: 1.9;
}

.page-join .legacy-content > .join-lead {
	max-width: none;
	margin: 0 0 20px;
	padding: 18px 20px;
	border-left: 3px solid var(--blue);
	background: #f6f9fc;
	color: #3e5872;
	font-size: 16px;
}

.page-join .join-toc {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px 12px;
	margin: 0 0 38px;
	padding: 0;
	list-style: none;
}

.page-join .join-toc li {
	margin: 0;
}

.page-join .join-toc a {
	display: block;
	padding: 11px 14px;
	border: 1px solid var(--line);
	border-radius: 3px;
	background: #fff;
	color: #245d91;
	font-weight: 650;
	text-decoration: none;
}

.page-join .join-toc a:hover {
	border-color: #9bc3e6;
	background: #f3f8fc;
	color: #0b62b4;
}

.page-join .legacy-content > p, .page-join .legacy-content > ol, .page-join .legacy-content > ul:not(.join-toc) {
	max-width: 920px;
}

.page-join .legacy-content h2 {
	clear: both;
	margin-top: 52px;
}

.page-join .legacy-content h3 {
	margin-top: 32px;
}

.page-join .legacy-content figure.fr {
	margin-top: 4px;
}

@media (max-width: 700px) {
	.page-join .join-toc {
		grid-template-columns: 1fr;
	}
}

/* Homepage: use the same sidebar/page layout as interior pages. */
.home-page-layout .home-main {
	width: auto;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.home-page-layout .home-section:last-child {
	margin-bottom: 0;
}

@media (max-width: 780px) {
	.home-page-layout .home-main {
		width: auto;
		padding-top: 0;
	}
}

/* =========================================================
Publications: shared modern-site presentation
Both publications.html and publications-e.html use this CSS.
========================================================= */
.page-publications .publication-jump-nav {
	display:flex;
	gap:0;
	width:100%;
	margin:0 0 28px;
	overflow-x:auto;
	overflow-y:hidden;
	border-top:1px solid var(--line);
	border-bottom:1px solid var(--line);
	background:#fff;
	-webkit-overflow-scrolling:touch;
	scrollbar-width:thin;
}

.page-publications .publication-jump-nav a {
	position:relative;
	flex:0 0 auto;
	padding:11px 14px 10px;
	color:#526b84;
	text-decoration:none;
	font-size:12px;
	font-weight:650;
	white-space:nowrap;
}

.page-publications .publication-jump-nav a + a {
	border-left:1px solid #edf1f5
}

.page-publications .publication-jump-nav a small {
	margin-left:4px;
	color:#94a4b5;
	font-size:9px;
	font-weight:500;
	letter-spacing:.02em;
}

.page-publications .publication-jump-nav a:hover, .page-publications .publication-jump-nav a:focus-visible {
	color:var(--ink);
	background:var(--soft)
}

.page-publications .publication-jump-nav a.current {
	color:#0b5fa8;
	background:#f3f8fc
}

.page-publications .publication-jump-nav a.current::after {
	content:"";
	position:absolute;
	left:11px;
	right:11px;
	bottom:-1px;
	height:2px;
	background:var(--blue);
}

.page-publications .intro-note {
	margin:7px 0;
	color:#63788f;
	font-size:13px
}

.page-publications .section-title {
	scroll-margin-top:20px;
	margin:48px 0 14px!important;
	padding:0 0 9px!important;
	width:auto!important;
	color:#122f51!important;
	background:none!important;
	border-bottom:1px solid #a5b6c7!important;
	font:400 31px/1.1 Georgia,"Times New Roman",serif!important;
}

.page-publications .section-title:first-of-type {
	margin-top:28px!important
}

.page-publications .toggle-row {
	margin:9px 0 12px!important;
	text-align:left!important
}

.page-publications .toggle-pill {
	display:block;
	padding:0!important;
	background:none!important
}

.page-publications .toggle-pill a {
	display:flex;
	align-items:center;
	justify-content:space-between;
	width:100%;
	padding:11px 15px;
	border:1px solid var(--line);
	border-radius:3px;
	background:#f8fafc;
	color:#2d5e8e!important;
	text-decoration:none;
	font-size:13px;
	font-weight:650;
	transition:.15s ease;
}

.page-publications .toggle-pill a:after {
	content:"＋";
	font-size:17px;
	font-weight:300;
	color:#6b86a2
}

.page-publications .toggle-pill a:hover {
	border-color:#94bce1;
	background:#f1f7fc
}

.page-publications .result-panel {
	display:none;
	margin:0 0 20px
}

.page-publications .loading, .page-publications .load-error {
	padding:14px 16px;
	background:var(--soft);
	font-size:12px
}

.page-publications .result-panel ol {
	margin:0;
	padding:0;
	list-style:none
}

.page-publications .result-panel ol>li {
	position:relative;
	margin:0;
	padding:16px 18px 16px 48px;
	border-bottom:1px solid var(--line);
	color:#566d86;
	font-size:13px;
	line-height:1.58;
}

.page-publications .result-panel ol>li:before {
	content:attr(data-display-number);
	position:absolute;
	left:0;
	top:17px;
	color:#8298ad;
	font:14px Georgia,"Times New Roman",serif;
}

.page-publications .result-panel ol>li a {
	font-weight:600;
	text-underline-offset:3px
}

.page-publications .paper-panel ol>li {
	display:grid;
	grid-template-columns:35px minmax(0,1fr) 220px;
	gap:16px;
	padding:18px 0;
}

.page-publications .paper-panel ol>li:before {
	display:none
}

.page-publications .paper-number {
	padding-top:2px;
	color:#7f97af;
	font:15px Georgia,"Times New Roman",serif
}

.page-publications .paper-title {
	margin:0 0 5px;
	padding:0!important;
	border:0!important;
	color:#0d4380!important;
	font:700 16px/1.38 Georgia,"Times New Roman",serif!important;
	text-decoration:none!important;
}

.page-publications .paper-title a {
	border:0!important;
	text-decoration:none!important
}

.page-publications .paper-title .under, .page-publications .paper-title span.under {
	background:none!important;
	box-shadow:inset 0 -0.42em 0 rgba(255,192,55,.78)!important;
	text-decoration:none!important;
}

.page-publications .paper-authors, .page-publications .paper-journal, .page-publications .paper-date {
	margin:0;
	font-size:13px
}

.page-publications .paper-authors {
	color:#5b7189
}

.page-publications .paper-journal {
	color:#667d95
}

.page-publications .paper-journal a {
	font-family:Georgia,"Times New Roman",serif;
	font-style:italic;
	text-decoration:none
}

.page-publications .paper-date {
	margin-top:1px;
	color:#8a9aab;
	font-size:11px
}

.page-publications .paper-actions {
	display:flex;
	gap:8px;
	flex-wrap:wrap;
	margin-top:9px
}

.page-publications .paper-actions a {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:68px;
	padding:4px 11px;
	border:1px solid #8ebff0;
	border-radius:2px;
	color:#1767b5!important;
	background:#fff;
	text-decoration:none!important;
	font-size:11px;
	font-weight:700;
}

.page-publications .paper-actions a:hover {
	background:var(--blue);
	border-color:var(--blue);
	color:#fff!important
}

.page-publications .paper-widgets {
	min-width:0;
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:17px;
	border-left:1px solid var(--line);
	padding-left:16px;
}

.page-publications .paper-widgets .__dimensions_badge_embed__, .page-publications .paper-widgets .altmetric-embed {
	float:none!important;
	margin:0!important;
	position:static!important
}

.page-publications .paper-widgets .altmetric-embed {
	min-width:64px
}

.page-publications table.publist td:first-child {
	text-align:left
}

.page-publications table.publist tr[bgcolor] {
	background:#f7f9fb!important;
	color:var(--ink);
	font-weight:700
}

@media(max-width:1060px) {
	.page-publications .paper-panel ol>li {
		grid-template-columns:30px minmax(0,1fr)
	}
	.page-publications .paper-widgets {
		grid-column:2;
		justify-content:flex-start;
		border-left:0;
		padding:7px 0 0
	}
}

@media(max-width:780px) {
	.page-publications .publication-jump-nav {
		margin-bottom:24px
	}
	.page-publications .publication-jump-nav a {
		padding:10px 12px 9px
	}
	.page-publications .publication-jump-nav a small {
		display:none
	}
	.page-publications .paper-panel ol>li {
		grid-template-columns:28px minmax(0,1fr)
	}
	.page-publications .paper-widgets {
		grid-column:1/-1;
		padding-left:44px
	}
	.page-publications .section-title {
		font-size:27px!important
	}
}

@media(max-width:560px) {
	.page-publications .paper-title {
		font-size:15px!important
	}
	.page-publications .paper-widgets {
		gap:10px;
		transform-origin:left center;
		max-width:100%;
		overflow:hidden
	}
	.page-publications .result-panel ol>li {
		padding-left:34px
	}
}
