/**
 * AIST Theme · plugins/themes/aistTheme/styles/aist.css
 * Child of the OJS Default theme. Tokens and measurements come from the "AIST Design" Figma file
 * (Design System page + "AIST - Home 3 - Desktop" 1440px / mobile 393px frames).
 */

:root {
	--aist-blue-0000: #DBFAFF;
	--aist-blue-0150: #99DCE8;
	--aist-blue-0200: #83D2E0;
	--aist-blue-0300: #58BFD1;
	--aist-blue-0400: #2CABC1;
	--aist-blue-0500: #0097B2;
	--aist-blue-0600: #00798E;
	--aist-blue-0700: #005B6B;
	--aist-blue-0800: #003C47;
	--aist-blue-0900: #001E24;
	--aist-neutral-0000: #FFFFFF;
	--aist-neutral-0100: #F3F7F7;
	--aist-neutral-0200: #E7EFEF;
	--aist-neutral-0300: #DCE6E8;
	--aist-neutral-0400: #D0DEE0;
	--aist-neutral-0500: #C4D6D8;
	--aist-neutral-0700: #889C9E;
	--aist-neutral-0900: #4C6163;
	--aist-neutral-1000: #2E4446;
	--aist-neutral-1100: #1D2324;

	--aist-font: "Space Grotesk", "Roboto", system-ui, sans-serif;
	--aist-font-ui: "Roboto", system-ui, sans-serif;
	--aist-font-serif: "EB Garamond", Georgia, serif;

	--aist-content: 1040px;
	--aist-content-wide: 1120px;
	--aist-gutter: 200px;
	--aist-section-y: 120px;
}

/* ---------------------------------------------------------------- Base */

body.aist {
	background: var(--aist-neutral-0100);
	color: var(--aist-blue-0900);
	font-family: var(--aist-font);
}

body.aist a {
	color: var(--aist-blue-0500);
}

body.aist a:hover,
body.aist a:focus {
	color: var(--aist-blue-0600);
}

body.aist .pkp_structure_page {
	max-width: none;
	width: 100%;
	margin: 0;
	background: var(--aist-neutral-0100);
	box-shadow: none;
}

.aist-container {
	width: 100%;
	max-width: calc(var(--aist-content) + 2 * 24px);
	margin: 0 auto;
	padding: 0 24px;
	box-sizing: border-box;
}

.aist-stack-40 > * + * { margin-top: 40px; }
.aist-stack-60 > * + * { margin-top: 60px; }

.aist *,
.aist *::before,
.aist *::after {
	box-sizing: border-box;
}

/* ---------------------------------------------------------------- Buttons */

.aist .aist-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 20px;
	border: 1px solid var(--aist-blue-0500);
	border-radius: 8px;
	background: transparent;
	color: var(--aist-blue-0600);
	font-family: var(--aist-font);
	font-size: 16px;
	font-weight: 500;
	line-height: 20px;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.aist .aist-btn .aist-btn__chevron {
	flex: none;
	width: 20px;
	height: 20px;
	color: currentColor;
}

.aist .aist-btn:hover,
.aist .aist-btn:focus {
	background: var(--aist-blue-0500);
	border-color: var(--aist-blue-0500);
	color: var(--aist-neutral-0000);
	text-decoration: none;
}

.aist .aist-btn:hover .aist-btn__chevron,
.aist .aist-btn:focus .aist-btn__chevron {
	color: currentColor;
}

/* white button on dark/teal backgrounds */
.aist .aist-btn--light {
	border-color: var(--aist-neutral-0000);
	color: var(--aist-neutral-0000);
}

.aist .aist-btn--light .aist-btn__chevron {
	color: var(--aist-neutral-0000);
}

.aist .aist-btn--light:hover,
.aist .aist-btn--light:focus {
	background: var(--aist-neutral-0000);
	border-color: var(--aist-neutral-0000);
	color: var(--aist-blue-0500);
}

.aist .aist-btn--square {
	border-radius: 8px;
}

/* header button: Roboto 16/24, padding 8 12 8 24 */
.aist .aist-btn--header {
	min-height: 44px;
	padding: 0 16px;
	border-color: var(--aist-blue-0500);
	color: var(--aist-blue-0500);
}

/* ---------------------------------------------------------------- Header */

body.aist .aist-header {
	position: relative;
	z-index: 100;
	background: var(--aist-neutral-0000);
	border-bottom: 1px solid var(--aist-neutral-0400);
	color: var(--aist-blue-0900);
}

body.aist .aist-header--overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	background: transparent;
	border-bottom: 0;
	color: var(--aist-neutral-0000);
}

.aist-header__inner {
	display: flex;
	align-items: center;
	gap: 20px;
	max-width: calc(var(--aist-content) + 2 * 24px);
	margin: 0 auto;
	padding: 24px;
}

.aist-header__brand {
	flex: 0 0 180px;
	display: flex;
	align-items: center;
}

.aist .aist-header__logo {
	display: inline-flex;
	align-items: center;
	color: inherit;
	text-decoration: none;
}

.aist .aist-header__logo img {
	display: block;
	width: auto;
	height: 43px;
	max-width: 180px;
	object-fit: contain;
}

/* The logo is uploaded in its teal version; over the hero it is rendered white. */
.aist-header--overlay .aist-header__logo img {
	filter: brightness(0) invert(1);
}

.aist-header__title {
	font-family: var(--aist-font);
	font-size: 18px;
	font-weight: 700;
	line-height: 22px;
}

.aist-header__panel {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	gap: 20px;
	min-width: 0;
}

.aist-nav {
	flex: 1 1 auto;
	display: flex;
	justify-content: center;
}

.aist-nav #siteNav {
	position: absolute;
}

/* primary menu (reset Default theme .pkp_nav_list rules) */
.aist .aist-nav .aist-nav__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left;
}

.aist .aist-nav .aist-nav__list > li {
	position: relative;
	display: block;
	margin: 0;
}

.aist .aist-nav .aist-nav__list > li > a {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 4px 8px;
	border: 0;
	border-bottom: 1px solid transparent;
	color: inherit;
	font-family: var(--aist-font);
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	opacity: .5;
	text-decoration: none;
	transition: opacity .2s ease;
}

.aist .aist-nav .aist-nav__list > li > a:hover,
.aist .aist-nav .aist-nav__list > li > a:focus,
.aist .aist-nav .aist-nav__list > li.is-active > a,
.aist .aist-nav .aist-nav__list > li.is-open > a {
	background: transparent;
	color: inherit;
	opacity: 1;
	outline: 0;
}

.aist .aist-nav .aist-nav__list > li.is-active > a {
	border-bottom-color: currentColor;
}

.aist .aist-nav .aist-nav__list > li > a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.aist .aist-nav [aria-haspopup]::after,
.aist .aist-user [aria-haspopup]::after {
	display: none !important;
}

.aist .aist-nav__caret {
	width: 20px;
	height: 20px;
	transition: transform .2s ease;
}

.aist .aist-nav li.is-open > a .aist-nav__caret {
	transform: rotate(180deg);
}

/* dropdowns */
.aist .aist-nav .aist-nav__list ul {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	z-index: 1000;
	display: none;
	min-width: 220px;
	width: auto;
	margin: 0;
	padding: 8px;
	list-style: none;
	background: var(--aist-neutral-0000);
	border: 1px solid var(--aist-neutral-0400);
	border-radius: 8px;
	box-shadow: 0 12px 32px rgba(0, 30, 36, .12);
	transform: none;
}

.aist .aist-nav .aist-nav__list li.is-open > ul,
.aist .aist-nav .aist-nav__list > li:focus-within > ul {
	display: block;
}

.aist .aist-nav .aist-nav__list ul li {
	display: block;
}

.aist .aist-nav .aist-nav__list ul a {
	display: block;
	padding: 8px 12px;
	border: 0;
	border-radius: 4px;
	color: var(--aist-blue-0900);
	font-family: var(--aist-font-ui);
	font-size: 16px;
	line-height: 24px;
	text-decoration: none;
}

.aist .aist-nav .aist-nav__list ul a:hover,
.aist .aist-nav .aist-nav__list ul a:focus {
	background: var(--aist-neutral-0100);
	color: var(--aist-blue-0500);
}

.aist-header__actions {
	flex: 0 0 203px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
}

.aist-header--overlay .aist-btn--header {
	border-color: var(--aist-neutral-0000);
	color: var(--aist-neutral-0000);
}

.aist-header--overlay .aist-btn--header .aist-btn__chevron {
	color: var(--aist-neutral-0000);
}

.aist .aist-header__search {
	display: none;
	color: inherit;
	font-family: var(--aist-font-ui);
}

/* logged-in user menu, styled like the header button */
.aist .aist-user {
	position: relative;
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

.aist .aist-user > li {
	position: relative;
	display: block;
}

.aist .aist-user > li > a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	max-width: 203px;
	padding: 8px 16px;
	border: 1px solid var(--aist-blue-0200);
	border-radius: 8px;
	color: var(--aist-blue-0500);
	font-family: var(--aist-font-ui);
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
	overflow: hidden;
	text-overflow: ellipsis;
	text-decoration: none;
	white-space: nowrap;
}

.aist-header--overlay .aist-user > li > a {
	border-color: var(--aist-blue-0300);
	color: var(--aist-neutral-0000);
}

.aist .aist-user ul {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	left: auto;
	z-index: 1000;
	display: none;
	min-width: 220px;
	margin: 0;
	padding: 8px;
	list-style: none;
	background: var(--aist-neutral-0000);
	border: 1px solid var(--aist-neutral-0400);
	border-radius: 8px;
	box-shadow: 0 12px 32px rgba(0, 30, 36, .12);
}

.aist .aist-user li.is-open > ul,
.aist .aist-user > li:focus-within > ul {
	display: block;
}

/* Override Default theme .pkp_nav_list hover positioning (left:0 / -9999px) */
.aist .aist-header .aist-user.pkp_nav_list ul,
.aist .aist-header .aist-user.pkp_nav_list > li:hover ul {
	right: 0 !important;
	left: auto !important;
	transform: none !important;
}

.aist .aist-header .aist-nav__list.pkp_nav_list ul,
.aist .aist-header .aist-nav__list.pkp_nav_list > li:hover ul {
	left: 0 !important;
	right: auto !important;
	transform: none !important;
}

/* Invisible bridge over the 8px gap so the menu does not close while the pointer moves into it */
.aist .aist-header .pkp_nav_list ul::before {
	content: "";
	position: absolute;
	top: -10px;
	left: 0;
	right: 0;
	height: 10px;
}

.aist .aist-header .pkp_nav_list ul a {
	border: 0 !important;
}

.aist .aist-user ul a {
	display: flex;
	justify-content: space-between;
	padding: 8px 12px;
	border-radius: 4px;
	color: var(--aist-blue-0900);
	font-family: var(--aist-font-ui);
	font-size: 16px;
	line-height: 24px;
	text-decoration: none;
}

.aist .aist-user ul a:hover,
.aist .aist-user ul a:focus {
	background: var(--aist-neutral-0100);
	color: var(--aist-blue-0500);
}

.aist .aist-user .task_count {
	display: inline-block;
	min-width: 24px;
	margin-left: 8px;
	padding: 0 6px;
	border-radius: 12px;
	background: var(--aist-blue-0500);
	color: var(--aist-neutral-0000);
	font-size: 12px;
	line-height: 24px;
	text-align: center;
}

.aist .aist-user > li > a .task_count {
	display: none;
}

.aist .aist-burger {
	display: none;
	flex: none;
	width: 48px;
	height: 48px;
	margin-left: auto;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--aist-blue-0500);
	cursor: pointer;
}

.aist-header--overlay .aist-burger {
	color: var(--aist-neutral-0000);
}

/* ---------------------------------------------------------------- Layout overrides (Default theme) */

body.aist .pkp_structure_content {
	padding-top: 0;
}

body.aist-is-home .pkp_structure_content,
body.aist-is-home .pkp_structure_content .pkp_structure_main,
body.aist-is-home .pkp_structure_content .pkp_structure_main:first-child:last-child,
body.aist-full .pkp_structure_content,
body.aist-full .pkp_structure_content .pkp_structure_main,
body.aist-full .pkp_structure_content .pkp_structure_main:first-child:last-child {
	float: none;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

body.aist-is-home .pkp_structure_main::before,
body.aist-is-home .pkp_structure_main::after,
body.aist-full .pkp_structure_main::before,
body.aist-full .pkp_structure_main::after {
	display: none;
}

/* Full-width AIST pages (Figma) never show the OJS sidebar blocks */
body.aist-full .pkp_structure_sidebar {
	display: none;
}

/* ---------------------------------------------------------------- Homepage: shared */

.aist-home {
	font-family: var(--aist-font);
}

.aist-home p,
.aist-home h2,
.aist-home h3 {
	margin: 0;
}

.aist-section {
	padding: var(--aist-section-y) 0;
}

.aist .aist-label {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 4px 0;
	color: var(--aist-neutral-1100);
	font-family: var(--aist-font);
	font-size: 20px;
	font-weight: 700;
	line-height: 24px;
}

.aist .aist-label span {
	font-size: 18px;
}

/* ---------------------------------------------------------------- Hero */

.aist-hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 800px;
	padding: 120px 24px;
	overflow: hidden;
	background-color: var(--aist-blue-0900);
	background-image: url("../images/hero.jpg?v=1.3.2"); /* default; Homepage Image overrides it */
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	color: var(--aist-neutral-0000);
	text-align: center;
}

.aist-hero__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	pointer-events: none;
}

.aist-hero__overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 407px;
	pointer-events: none;
}

.aist-hero__overlay--shade {
	background: linear-gradient(0deg, rgba(44, 171, 193, 0) 0%, rgba(23, 133, 153, .75) 50%, #005B6B 100%);
}

.aist-hero__overlay--tint {
	background: linear-gradient(0deg, rgba(44, 171, 193, 0) 0%, rgba(44, 171, 193, .75) 50%, #2CABC1 100%);
	mix-blend-mode: color;
}

.aist-hero__content {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
}

.aist .aist-hero__title {
	max-width: 494px;
	margin: -88px 0 0;
	color: var(--aist-neutral-0000);
	font-family: var(--aist-font-serif);
	font-size: 48px;
	font-weight: 600;
	line-height: 56px;
	letter-spacing: -.01em;
	text-align: center;
	text-shadow: 2px 2px 16px rgba(0, 0, 0, .3);
}

.aist .aist-hero__title em {
	font-style: italic;
	font-weight: 600;
}

.aist .aist-hero__cta {
	display: none;
	padding: 8px 12px 8px 24px;
	font-size: 16px;
	line-height: 24px;
}

/* ---------------------------------------------------------------- About */

.aist-about__intro {
	display: flex;
	align-items: flex-start;
	gap: 20px;
}

.aist-about__intro .aist-label {
	flex: 0 0 157px;
	color: var(--aist-blue-0900);
}

.aist .aist-about__lead {
	flex: 1 1 auto;
	color: var(--aist-neutral-0700);
	font-size: 30px;
	font-weight: 500;
	line-height: 34px;
	text-indent: 260px;
}

.aist .aist-about__lead strong {
	color: var(--aist-blue-0500);
	font-weight: 700;
}

.aist-about__media {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
}

.aist-about__tile {
	position: relative;
	height: 300px;
	margin: 0;
	overflow: hidden;
	background: var(--aist-blue-0400);
}

.aist-about__tile img,
.aist-about__video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.aist-about__video {
	position: absolute;
	inset: 0;
}

.aist-about__footer {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 120px;
}

.aist .aist-about__text {
	max-width: 753px;
	color: var(--aist-blue-0900);
	font-size: 20px;
	line-height: 28px;
}

/* ---------------------------------------------------------------- Aims */

.aist-aims .aist-container {
	max-width: calc(944px + 2 * 24px);
}

.aist-aims .aist-stack-60 > * + * {
	margin-top: 64px;
}

.aist .aist-aims__headline {
	color: var(--aist-blue-0500);
	font-size: 44px;
	font-weight: 700;
	line-height: 52px;
	letter-spacing: -.01em;
	background-image: radial-gradient(ellipse 60% 120% at 12% 30%, var(--aist-blue-0400) 0%, rgba(44, 171, 193, 0) 70%),
		radial-gradient(ellipse 45% 110% at 70% 20%, var(--aist-blue-0600) 0%, rgba(0, 121, 142, 0) 70%),
		radial-gradient(ellipse 50% 90% at 30% 85%, var(--aist-blue-0300) 0%, rgba(88, 191, 209, 0) 70%),
		radial-gradient(ellipse 50% 100% at 85% 80%, var(--aist-blue-0600) 0%, rgba(0, 121, 142, 0) 70%),
		linear-gradient(var(--aist-blue-0500), var(--aist-blue-0500));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.aist-aims__text {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 412px));
	gap: 120px;
}

.aist .aist-aims__text p {
	color: var(--aist-neutral-1000);
	font-size: 20px;
	line-height: 28px;
}

/* Video inside the letters: the headline is drawn black on the page colour and blended with
   "lighten", so the video only shows through the text (Figma "Masked Text"). Until the video has
   a frame (or with "reduce motion") the gradient text above is shown instead. */
.aist-aims__mask {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.aist-aims__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	pointer-events: none;
}

.aist .aist-aims__mask.has-video.is-ready .aist-aims__headline {
	position: relative;
	margin: 0;
	background: var(--aist-neutral-0100);
	color: #000;
	-webkit-text-fill-color: #000;
	mix-blend-mode: lighten;
}

/* ---------------------------------------------------------------- Research areas (accordion) */

.aist-accordion {
	display: flex;
	flex-direction: column;
	gap: 40px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.aist-accordion__item {
	margin: 0;
	padding: 0 0 40px;
	border-bottom: 1px solid var(--aist-neutral-0500);
}

.aist .aist-accordion__toggle {
	display: flex;
	align-items: center;
	gap: 40px;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--aist-blue-0900);
	font-family: var(--aist-font);
	text-align: left;
	cursor: pointer;
}

.aist .aist-accordion__toggle:disabled {
	cursor: default;
}

.aist .aist-accordion__toggle:focus-visible {
	outline: 2px solid var(--aist-blue-0500);
	outline-offset: 6px;
}

.aist-accordion__num {
	flex: none;
	min-width: 40px;
	color: var(--aist-blue-0900);
	font-size: 36px;
	font-weight: 700;
	line-height: 40px;
}

.aist-accordion__title {
	flex: 1 1 auto;
	font-size: 36px;
	font-weight: 700;
	line-height: 40px;
	text-align: right;
}

.aist-accordion__desc {
	display: none;
	flex: 0 1 520px;
	font-size: 20px;
	font-weight: 400;
	line-height: 28px;
	text-align: right;
}

.aist-accordion__icon {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-left: -24px;
	color: rgba(0, 30, 36, .4);
	transition: transform .25s ease, color .25s ease;
}

.aist-accordion__toggle:disabled .aist-accordion__icon {
	visibility: hidden;
}

.aist-accordion__toggle:not(:disabled):hover .aist-accordion__title {
	color: var(--aist-blue-0500);
}

.aist-accordion__toggle[aria-expanded="true"] .aist-accordion__num,
.aist-accordion__toggle[aria-expanded="true"] .aist-accordion__title {
	color: var(--aist-blue-0500);
}

.aist-accordion__toggle[aria-expanded="true"] .aist-accordion__title {
	flex: 0 1 auto;
	text-align: left;
	margin-right: auto;
}

.aist-accordion__toggle[aria-expanded="true"] .aist-accordion__desc {
	display: block;
}

.aist-accordion__toggle[aria-expanded="true"] .aist-accordion__icon {
	color: var(--aist-blue-0500);
	transform: rotate(45deg);
}

/* ---------------------------------------------------------------- Announcements */

.aist-announcements {
	padding: 120px 0;
	background: var(--aist-neutral-0300);
}

.aist-announcements .aist-stack-60 > * + * {
	margin-top: 64px;
}

.aist-announcements .aist-label {
	color: var(--aist-neutral-1100);
}

.aist-announcements__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px;
}

.aist .aist-announcement__date {
	margin-bottom: 16px;
	color: var(--aist-neutral-0900);
	font-size: 20px;
	line-height: 28px;
}

.aist .aist-announcement__title {
	font-family: var(--aist-font);
	font-size: 24px;
	font-weight: 700;
	line-height: 32px;
}

.aist .aist-announcement__title a {
	color: var(--aist-neutral-1000);
	text-decoration: none;
}

.aist .aist-announcement__title a:hover,
.aist .aist-announcement__title a:focus {
	color: var(--aist-blue-0500);
	text-decoration: underline;
}

/* ---------------------------------------------------------------- Call for papers */

.aist-cfp {
	position: relative;
	overflow: hidden;
	background: var(--aist-blue-0500);
	color: var(--aist-neutral-0000);
}

.aist-cfp--video {
	background: #000;
}

.aist-cfp__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	pointer-events: none;
}

.aist-cfp .aist-cfp__inner {
	position: relative;
}

.aist-cfp__inner {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	min-height: calc(900px - 2 * var(--aist-section-y));
}

.aist .aist-cfp .aist-label {
	color: var(--aist-neutral-0000);
}

.aist-cfp__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
}

.aist .aist-cfp__text {
	max-width: 952px;
	color: var(--aist-neutral-0000);
	font-size: 20px;
	line-height: 28px;
}

/* ---------------------------------------------------------------- Focus & scope */

.aist-focus__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px;
}

.aist-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 100px;
	min-height: 324px;
	background: var(--aist-neutral-0200);
	color: var(--aist-blue-0900);
	transition: background-color .25s ease, color .25s ease;
}

.aist-card__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	min-height: 128px;
	padding: 24px;
	border-bottom: 1px solid var(--aist-neutral-0500);
}

.aist .aist-card__title {
	margin: 0;
	color: inherit;
	font-family: var(--aist-font);
	font-size: 36px;
	font-weight: 700;
	line-height: 40px;
}

.aist-card__icon {
	flex: none;
	color: var(--aist-neutral-0500);
}

.aist .aist-card__desc {
	padding: 24px;
	color: var(--aist-neutral-0900);
	font-size: 20px;
	line-height: 28px;
}

.aist-card:hover {
	background: var(--aist-blue-0500);
	color: var(--aist-neutral-0000);
}

.aist-card:hover .aist-card__head {
	border-bottom-color: var(--aist-blue-0200);
}

.aist-card:hover .aist-card__icon,
.aist .aist-card:hover .aist-card__desc {
	color: var(--aist-neutral-0000);
}


/* ---------------------------------------------------------------- Inner pages (About, Editorial Team, Contact) */

.aist-page {
	font-family: var(--aist-font);
}

.aist-page p,
.aist-page h1,
.aist-page h2,
.aist-page h3 {
	margin: 0;
}

/* Figma: navbar (96px) sits over a 160px top padding */
.aist .aist-section--first {
	padding-top: calc(160px - 96px);
}

.aist .aist-page h1.aist-label {
	margin: 0;
}

.aist .aist-page-heading {
	color: var(--aist-neutral-1100);
	font-family: var(--aist-font);
	font-size: 44px;
	font-weight: 700;
	line-height: 60px;
}

.aist .aist-page-subheading {
	color: var(--aist-neutral-1100);
	font-family: var(--aist-font);
	font-size: 24px;
	font-weight: 700;
	line-height: 32px;
}

.aist-divider {
	height: 0;
	margin: 0;
	border: 0;
	border-top: 1px solid var(--aist-neutral-0300);
}

.aist .aist-empty,
.aist .aist-masthead__history,
.aist .aist-masthead__note {
	color: var(--aist-neutral-0900);
	font-size: 18px;
	line-height: 24px;
}

/* Editorial team: flex gap instead of the stack margins (lists reset their own margins) */
.aist .aist-masthead .aist-container {
	display: flex;
	flex-direction: column;
	gap: 60px;
}

.aist .aist-masthead .aist-container > * {
	margin-top: 0;
}

.aist-people {
	display: flex;
	flex-direction: column;
	gap: 60px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.aist-person {
	display: flex;
	align-items: center;
	gap: 40px;
	margin: 0;
}

.aist-person__photo {
	flex: 0 0 180px;
	width: 180px;
	height: 180px;
	overflow: hidden;
	background: var(--aist-neutral-0300);
	display: flex;
	align-items: center;
	justify-content: center;
}

.aist-person__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.aist-person__initials {
	color: var(--aist-neutral-0700);
	font-size: 48px;
	font-weight: 700;
	text-transform: uppercase;
}

.aist-person__info {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
}

.aist .aist-person__role {
	color: var(--aist-neutral-1100);
	font-size: 18px;
	font-weight: 700;
	line-height: 24px;
}

.aist .aist-person__name {
	font-size: 24px;
	line-height: 24px;
	margin-bottom: -8px; /* name + affiliation are 8px apart in Figma */
}

.aist .aist-person__name a,
.aist .aist-person__name span {
	color: var(--aist-blue-0500);
	font-weight: 400;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.aist .aist-person__affiliation {
	color: var(--aist-neutral-0800, #6A7E80);
	font-size: 18px;
	line-height: 24px;
}

.aist .aist-person__affiliation strong {
	font-weight: 700;
}

.aist-reviewers {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 40px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.aist-reviewers li {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.aist-reviewers__name {
	color: var(--aist-neutral-1100);
	font-size: 18px;
	font-weight: 700;
	line-height: 24px;
}

.aist-reviewers__aff {
	color: #6A7E80;
	font-size: 16px;
	line-height: 22px;
}

/* Contact */
.aist-contact__intro {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.aist .aist-contact__address {
	color: var(--aist-neutral-1000);
	font-size: 20px;
	line-height: 32px;
}

.aist-contact__cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px;
}

.aist-contact__card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 24px;
	background: var(--aist-neutral-0200);
}

.aist .aist-contact__card p {
	color: var(--aist-neutral-1000);
	font-size: 18px;
	line-height: 24px;
}

.aist .aist-contact__role {
	margin-bottom: 8px;
	color: var(--aist-neutral-0900);
	font-family: var(--aist-font);
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
	text-transform: uppercase;
}

.aist .aist-contact__card .aist-contact__name {
	color: var(--aist-neutral-1100);
	font-size: 24px;
	font-weight: 700;
	line-height: 32px;
}

/* Free text (About the Journal) */
.aist .aist-prose {
	color: var(--aist-neutral-1000);
	font-size: 20px;
	line-height: 32px;
}

.aist .aist-prose p + p,
.aist .aist-prose ul,
.aist .aist-prose ol {
	margin-top: 16px;
}

/* Edit links for managers */
.aist-page .cmp_edit_link {
	display: block;
	width: fit-content;
	margin: 24px auto 0;
	font-size: 14px;
}


/* ---------------------------------------------------------------- Archives, issue and article pages */

.aist .aist-page-heading--rule {
	padding-bottom: 16px;
	border-bottom: 1px solid var(--aist-neutral-0400);
}

.aist .aist-label--rule {
	display: flex;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--aist-neutral-0400);
}

.aist-archive {
	display: flex;
	flex-direction: column;
	gap: 60px;
}

.aist-archive__block {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.aist-archive__block + .aist-archive__block {
	margin-top: 60px;
}

.aist-issue-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 40px 20px;
}

.aist-issue-card {
	display: flex;
	flex-direction: column;
	gap: 40px;
	min-width: 0;
}

.aist-issue-card__cover {
	display: block;
	aspect-ratio: 192 / 264;
	overflow: hidden;
	background: var(--aist-blue-0050, #C5F0F7);
}

.aist-issue-card__cover--empty {
	background: #C5F0F7;
}

.aist-issue-card__cover--alt {
	background: var(--aist-blue-0200);
}

.aist-issue-card__cover img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .3s ease;
}

.aist-issue-card:hover .aist-issue-card__cover img {
	transform: scale(1.03);
}

.aist-issue-card__body {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.aist .aist-issue-card__title {
	margin: 0 0 12px;
	font-family: var(--aist-font);
	font-size: 24px;
	font-weight: 700;
	line-height: 28px;
}

.aist .aist-issue-card__title a {
	color: var(--aist-neutral-0900);
	text-decoration: none;
}

.aist .aist-issue-card__title a:hover,
.aist .aist-issue-card__title a:focus {
	color: var(--aist-blue-0500);
}

.aist .aist-issue-card__volume {
	color: var(--aist-neutral-0900);
	font-size: 20px;
	line-height: 24px;
}

.aist .aist-issue-card__date {
	color: var(--aist-neutral-0600, #A6B9BB);
	font-size: 20px;
	line-height: 24px;
}

.aist-volume {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.aist-volume + .aist-volume {
	margin-top: 20px;
}

.aist .aist-volume__title {
	margin: 0;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--aist-neutral-0400);
	color: var(--aist-neutral-1000);
	font-family: var(--aist-font);
	font-size: 24px;
	font-weight: 700;
	line-height: 24px;
}

.aist-volume.is-collapsed .aist-volume__grid > :nth-child(n+6) {
	display: none;
}

.aist .aist-btn--sm {
	align-self: center;
	min-height: 36px;
	padding: 0 12px;
	font-size: 14px;
	line-height: 20px;
}

.aist-volume__toggle[hidden] {
	display: none !important;
}

/* pagination */
.aist .cmp_pagination {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 60px;
	color: var(--aist-neutral-0900);
	font-size: 16px;
}

.aist .cmp_pagination a {
	padding: 8px 16px;
	border: 1px solid var(--aist-blue-0150);
	border-radius: 8px;
	color: var(--aist-blue-0500);
	font-family: var(--aist-font-ui);
	font-weight: 500;
	text-decoration: none;
}

/* Issue hero (dark header) */
.aist-issue-hero {
	display: flex;
	align-items: flex-end;
	min-height: 500px;
	padding: 156px 0 60px;
	background: var(--aist-neutral-1100);
	color: var(--aist-neutral-0000);
}

.aist-issue-hero__inner {
	display: flex;
	flex-direction: column;
	gap: 25px;
}

.aist .aist-issue-hero__series {
	margin: 0 0 -21px;
	color: var(--aist-neutral-0000);
	font-size: 20px;
	line-height: 28px;
}

.aist .aist-issue-hero__title {
	margin: 0;
	color: var(--aist-neutral-0000);
	font-family: var(--aist-font-serif);
	font-size: 48px;
	font-weight: 600;
	line-height: 54px;
}

.aist .aist-issue-hero__date {
	margin: 0;
	color: rgba(255, 255, 255, .5);
	font-size: 20px;
	line-height: 24px;
}

.aist .aist-section--compact {
	padding: 60px 0 0;
}

.aist-toc__intro {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.aist .aist-meta {
	margin: 0;
	color: var(--aist-neutral-0900);
	font-size: 16px;
	line-height: 24px;
}

.aist .aist-toc__section + .aist-toc__section {
	padding-top: 0;
}

/* Default theme resets the gap after the section heading */
.aist .aist-toc .aist-label + .aist-article-list {
	margin-top: 60px;
}

/* Article cards */
.aist-article-list {
	display: flex;
	flex-direction: column;
	gap: 60px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.aist-article-list > li {
	margin: 0;
	padding: 0;
	border: 0;
}

/* Default theme adds clearfix pseudo elements that would become flex items */
.aist .aist-article-card::before,
.aist .aist-article-card::after,
.aist .aist-article-list > li::before,
.aist .aist-article-list > li::after {
	content: none;
	display: none;
}

.aist .aist-article-card {
	display: flex;
	align-items: center;
	gap: 60px;
	margin: 0;
}

.aist-article-card__cover {
	flex: 0 0 440px;
	height: 248px;
	overflow: hidden;
	background: #C5F0F7;
}

.aist-article-card__cover--alt {
	background: var(--aist-blue-0200);
}

.aist-article-card__cover img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.aist-article-card__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	min-width: 0;
}

.aist .aist-article-card__authors {
	margin: 0;
	color: var(--aist-neutral-0900);
	font-size: 16px;
	line-height: 24px;
}

.aist .aist-article-card__title {
	margin: 0 0 20px;
	font-family: var(--aist-font);
	font-size: 40px;
	font-weight: 700;
	line-height: 44px;
}

.aist .aist-article-card__title a {
	color: var(--aist-neutral-0900);
	text-decoration: none;
}

.aist .aist-article-card__title a:hover,
.aist .aist-article-card__title a:focus {
	color: var(--aist-blue-0500);
}

.aist .aist-article-card__title .subtitle {
	display: block;
	margin-top: 8px;
	font-size: 20px;
	font-weight: 500;
	line-height: 28px;
}

.aist .aist-article-card__meta {
	display: flex;
	gap: 16px;
	margin: -12px 0 8px;
	color: var(--aist-neutral-0700);
	font-size: 16px;
}

/* Galley buttons (PDF etc.) */
.aist .aist-galleys {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.aist .aist-galleys li {
	margin: 0;
}

.aist .obj_galley_link,
.aist .obj_galley_link_supplementary {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 6px 12px 6px 10px;
	border: 1px solid var(--aist-blue-0150);
	border-radius: 4px;
	background: transparent;
	color: var(--aist-blue-0500);
	font-family: var(--aist-font);
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
	text-decoration: none;
}

.aist .obj_galley_link::before,
.aist .obj_galley_link_supplementary::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 0;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5'/%3E%3C/svg%3E") center / contain no-repeat;
	font-family: inherit;
}

.aist .obj_galley_link:hover,
.aist .obj_galley_link:focus,
.aist .obj_galley_link_supplementary:hover,
.aist .obj_galley_link_supplementary:focus {
	background: var(--aist-blue-0500);
	border-color: var(--aist-blue-0500);
	color: var(--aist-neutral-0000);
}

.aist .obj_galley_link.restricted {
	border-color: var(--aist-neutral-0500);
	color: var(--aist-neutral-0900);
}

/* Article landing page */
.aist-article {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

/* Neutralise Default theme spacing for .obj_article_details */
.aist .aist-article .item,
.aist .aist-article .sub_item {
	margin: 0;
	padding: 0;
	border: 0;
}

.aist .aist-article .sub_item + .sub_item {
	margin-top: 20px;
}

.aist-article__head {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-bottom: 28px;
	border-bottom: 1px solid var(--aist-neutral-0400);
}

.aist .aist-article__issue {
	margin: 0;
	font-size: 20px;
	line-height: 28px;
}

.aist .aist-article__issue a {
	color: var(--aist-neutral-1000);
	text-decoration: none;
}

.aist .aist-article__issue a:hover {
	color: var(--aist-blue-0500);
}

.aist .aist-article__title {
	margin: 4px 0 0;
	color: var(--aist-neutral-1100);
	font-family: var(--aist-font-serif);
	font-size: 48px;
	font-weight: 600;
	line-height: 54px;
}

.aist .aist-article__subtitle {
	margin: 0;
	color: var(--aist-neutral-1000);
	font-family: var(--aist-font-serif);
	font-size: 28px;
	line-height: 34px;
}

.aist .aist-article__authors {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.aist .aist-article__authors li {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 8px;
	margin: 0;
	color: var(--aist-neutral-0900);
	font-size: 16px;
	line-height: 24px;
}

.aist .aist-article__authors .name {
	color: var(--aist-neutral-1000);
	font-weight: 500;
}

.aist .aist-article__authors .affiliation,
.aist .aist-article__authors .userGroup {
	color: var(--aist-neutral-0700);
	font-size: 14px;
}

.aist .aist-article__authors .orcid svg {
	width: 16px;
	height: 16px;
	vertical-align: -2px;
}

.aist-article__facts {
	display: grid;
	grid-template-columns: 1.1fr 1.1fr .8fr;
	gap: 40px;
}

.aist-article__fact {
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
}

.aist .aist-fact__label {
	margin: 0 0 4px;
	color: var(--aist-neutral-1100);
	font-family: var(--aist-font);
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
}

.aist .aist-fact__value {
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--aist-neutral-0900);
	font-size: 16px;
	line-height: 24px;
	overflow-wrap: anywhere;
}

.aist .aist-fact__value a {
	color: var(--aist-neutral-0900);
}

.aist .aist-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.aist .aist-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 2px 8px;
	border-radius: 4px;
	background: var(--aist-neutral-0300);
	color: var(--aist-neutral-0900);
	font-size: 14px;
	line-height: 20px;
}

.aist-article__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 60px;
	margin-top: 32px;
}

.aist-article__main,
.aist-article__aside {
	display: flex;
	flex-direction: column;
	gap: 40px;
	min-width: 0;
}

.aist .aist-block__title,
.aist .aist-article__aside .item.citation h2,
.aist .aist-article__aside .item.citation .label {
	margin: 0 0 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--aist-neutral-0400);
	color: var(--aist-neutral-1100);
	font-family: var(--aist-font);
	font-size: 20px;
	font-weight: 700;
	line-height: 24px;
}

.aist-article .aist-prose {
	font-size: 16px;
	line-height: 24px;
}

.aist .aist-references ol {
	margin: 0;
	padding-left: 20px;
}

.aist .aist-references li {
	margin-bottom: 12px;
	overflow-wrap: anywhere;
}

.aist .aist-references a {
	color: var(--aist-blue-0500);
	font-weight: 700;
}

.aist .aist-article__aside .item {
	margin: 0;
	padding: 0;
	border: 0;
}

.aist .aist-article__aside .item.citation .citation_display {
	color: var(--aist-neutral-1000);
	font-size: 16px;
	line-height: 24px;
}

.aist .aist-article__aside .citation_formats {
	margin-top: 16px;
	border: 0;
}

.aist .aist-article__aside .citation_formats_button {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 6px 12px;
	border: 1px solid var(--aist-blue-0150);
	border-radius: 4px;
	background: transparent;
	color: var(--aist-blue-0500);
	font-family: var(--aist-font-ui);
	font-size: 14px;
	font-weight: 500;
	text-transform: uppercase;
}

.aist .aist-article__aside .citation_formats_button::after {
	border-top-color: currentColor;
}

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

.aist .aist-small {
	color: var(--aist-neutral-0900);
	font-size: 14px;
	line-height: 20px;
}

/* ---------------------------------------------------------------- Information pages (custom pages, Static Pages, For Readers/Authors/Librarians) */

.aist-info .aist-container {
	display: flex;
	flex-direction: column;
}

.aist .aist-info__crumb {
	margin: 0 0 60px;
}

.aist .aist-info__title {
	margin: 0;
	color: var(--aist-neutral-1100);
	font-size: 44px;
	line-height: 54px;
}

.aist-info .cmp_edit_link {
	margin: 16px 0 0;
}

.aist .aist-info__body {
	margin-top: 16px;
	color: var(--aist-neutral-0900);
	font-family: var(--aist-font);
	font-size: 20px;
	line-height: 24px;
	overflow-wrap: break-word;
}

.aist .aist-info__body > * {
	margin: 0;
}

.aist .aist-info__body > * + * {
	margin-top: 16px;
}

.aist .aist-info__body p,
.aist .aist-info__body li {
	color: var(--aist-neutral-0900);
	font-size: 20px;
	line-height: 24px;
}

.aist .aist-info__body h2,
.aist .aist-info__body h3 {
	padding-bottom: 16px;
	border-bottom: 1px solid var(--aist-neutral-0400);
	color: var(--aist-neutral-1000);
	font-family: var(--aist-font);
	font-size: 24px;
	font-weight: 700;
	line-height: 24px;
}

.aist .aist-info__body > h2,
.aist .aist-info__body > h3 {
	margin-top: 60px;
}

.aist .aist-info__body > h2:first-child,
.aist .aist-info__body > h3:first-child {
	margin-top: 44px;
}

.aist .aist-info__body h4 {
	color: var(--aist-neutral-1000);
	font-family: var(--aist-font);
	font-size: 20px;
	font-weight: 700;
	line-height: 24px;
}

.aist .aist-info__body > h4 {
	margin-top: 24px;
}

.aist .aist-info__body > h3 + h4,
.aist .aist-info__body > h2 + h4 {
	margin-top: 16px;
}

.aist .aist-info__body strong,
.aist .aist-info__body b {
	color: var(--aist-neutral-1000);
	font-weight: 700;
}

.aist .aist-info__body a {
	color: var(--aist-blue-0500);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.aist .aist-info__body a:hover,
.aist .aist-info__body a:focus {
	color: var(--aist-blue-0700);
}

.aist .aist-info__body ul,
.aist .aist-info__body ol {
	padding-left: 30px;
}

.aist .aist-info__body ul {
	list-style: disc;
}

.aist .aist-info__body ol {
	list-style: decimal;
}

.aist .aist-info__body li > ul,
.aist .aist-info__body li > ol {
	margin: 0;
	padding-left: 22px;
}

.aist .aist-info__body li > ul {
	list-style: disc;
}

.aist .aist-info__body ol > li + li {
	margin-top: 0;
}

.aist .aist-info__body li:has(> ul, > ol) + li {
	margin-top: 16px;
}

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

.aist .aist-info__body table {
	width: 100%;
	border-collapse: collapse;
	font-size: 18px;
}

.aist .aist-info__body th,
.aist .aist-info__body td {
	padding: 10px 12px;
	border: 1px solid var(--aist-neutral-0400);
	text-align: left;
	vertical-align: top;
}

.aist .aist-info__body th {
	background: var(--aist-neutral-0200);
	color: var(--aist-neutral-1000);
}

/* Intro paragraphs in columns: each child (paragraph or <div>) becomes one column */
.aist .aist-intro-columns {
	display: grid;
	grid-auto-columns: minmax(0, 1fr);
	grid-auto-flow: column;
	gap: 28px;
}

.aist .aist-intro-columns > *,
.aist .aist-intro-columns p {
	margin: 0;
}

.aist .aist-intro-columns > div > * + * {
	margin-top: 16px;
}

/* ---------------------------------------------------------------- Submissions page */

.aist .aist-info__group > * {
	margin: 0;
}

.aist .aist-info__group > * + * {
	margin-top: 16px;
}

.aist .aist-notice {
	width: auto;
	margin: 0;
	padding: 24px;
	border: 0;
	border-left: 8px solid var(--aist-blue-0500);
	background: var(--aist-neutral-0100);
	color: var(--aist-neutral-0900);
	font-size: 20px;
	line-height: 24px;
}

.aist .aist-info__title + .aist-info__body > .aist-notice:first-child {
	margin-top: 0;
}

.aist .aist-checklist ul,
.aist .aist-checklist ol {
	padding: 0;
	list-style: none;
}

.aist .aist-checklist li {
	position: relative;
	display: block;
	margin: 0;
	padding: 28px 20px 28px 84px;
	border: 1px solid var(--aist-neutral-0500);
}

/* js/aist.js wraps the item text in a span, so the icon and text can be centred like Figma (36px icon box, 28px gap) */
.aist .aist-checklist.is-enhanced li {
	display: flex;
	align-items: center;
	gap: 28px;
	padding: 28px 20px;
}

.aist .aist-checklist__text {
	flex: 1 1 auto;
	min-width: 0;
}

.aist .aist-checklist li + li {
	margin-top: -1px;
}

.aist .aist-checklist li::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 20px;
	width: 36px;
	height: 36px;
	background: var(--aist-blue-0500);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' shape-rendering='crispEdges' fill='black'%3E%3Crect x='6' y='18' width='3' height='3'/%3E%3Crect x='9' y='21' width='3' height='3'/%3E%3Crect x='12' y='24' width='3' height='3'/%3E%3Crect x='15' y='21' width='3' height='3'/%3E%3Crect x='18' y='18' width='3' height='3'/%3E%3Crect x='21' y='15' width='3' height='3'/%3E%3Crect x='24' y='12' width='3' height='3'/%3E%3Crect x='27' y='9' width='3' height='3'/%3E%3C/svg%3E") center / 36px 36px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' shape-rendering='crispEdges' fill='black'%3E%3Crect x='6' y='18' width='3' height='3'/%3E%3Crect x='9' y='21' width='3' height='3'/%3E%3Crect x='12' y='24' width='3' height='3'/%3E%3Crect x='15' y='21' width='3' height='3'/%3E%3Crect x='18' y='18' width='3' height='3'/%3E%3Crect x='21' y='15' width='3' height='3'/%3E%3Crect x='24' y='12' width='3' height='3'/%3E%3Crect x='27' y='9' width='3' height='3'/%3E%3C/svg%3E") center / 36px 36px no-repeat;
	transform: translateY(-50%);
}

.aist .aist-checklist.is-enhanced li::before {
	position: static;
	flex: 0 0 36px;
	transform: none;
}

/* Figma "AIST - Submissions": body content is 1120px wide (160px side margins at 1440) */
.aist .aist-submissions .aist-container {
	max-width: calc(var(--aist-content-wide) + 2 * 24px);
}

/* ---------------------------------------------------------------- Login, lost password, register (Figma "Login + Register") */

body.aist-form-page .pkp_structure_main > .page {
	width: 100%;
	max-width: calc(var(--aist-content-wide) + 2 * 24px);
	margin: 0 auto;
	padding: 64px 24px 120px;
	font-family: var(--aist-font);
}

/* Breadcrumb becomes the "/ Login" label */
body.aist-form-page .page > .cmp_breadcrumbs {
	margin: 0 0 60px;
}

body.aist-form-page .page > .cmp_breadcrumbs ol {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.aist-form-page .page > .cmp_breadcrumbs li:not(.current),
body.aist-form-page .page > .cmp_breadcrumbs .separator {
	display: none;
}

body.aist-form-page .page > .cmp_breadcrumbs .current {
	display: inline-flex;
	gap: 12px;
	padding: 4px 0;
	color: var(--aist-neutral-1100);
	font-size: 20px;
	font-weight: 700;
	line-height: 24px;
}

body.aist-form-page .page > .cmp_breadcrumbs .current::before {
	content: "/";
	font-size: 18px;
}

body.aist-form-page .page > h1 {
	margin: 0 0 60px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--aist-neutral-0400);
	color: var(--aist-neutral-1100);
	font-family: var(--aist-font);
	font-size: 44px;
	font-weight: 700;
	line-height: 54px;
}

/* "Required fields are marked with an asterisk" note: kept for screen readers only */
body.aist-form-page .page > h1 + p {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
}

body.aist-form-page .page > p,
body.aist-form-page .page > .cmp_notification {
	margin: 0 0 28px;
	color: var(--aist-neutral-0900);
	font-size: 20px;
	line-height: 24px;
}

body.aist-form-page .cmp_form,
body.aist-form-page .page_login .login {
	max-width: none;
	margin: 0;
	font-family: var(--aist-font);
}

body.aist-form-page .cmp_form fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

body.aist-form-page .cmp_form fieldset + fieldset,
body.aist-form-page .cmp_form fieldset.consent,
body.aist-form-page .cmp_form .recaptcha_wrapper,
body.aist-form-page .cmp_form .altcha_wrapper {
	margin-top: 40px;
}

body.aist-form-page .cmp_form fieldset.identity + fieldset.login {
	margin-top: 60px;
}

body.aist-form-page .cmp_form legend:not(.pkp_screen_reader) {
	display: block;
	width: 100%;
	margin: 0 0 16px;
	padding: 0 0 16px;
	border-bottom: 1px solid var(--aist-neutral-0400);
	color: var(--aist-neutral-1000);
	font-family: var(--aist-font);
	font-size: 24px;
	font-weight: 700;
	line-height: 24px;
}

body.aist-form-page .cmp_form .fields {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

body.aist-form-page .cmp_form fieldset.consent .fields,
body.aist-form-page .cmp_form fieldset.reviewer .fields {
	gap: 20px;
}

body.aist-form-page .cmp_form fieldset.consent > .fields + .fields {
	margin-top: 20px;
}

body.aist-form-page .cmp_form .fields > div {
	padding: 0;
}

body.aist-form-page .page_register .fields .reviewer_interests,
body.aist-form-page .page_register .fields .reviewer_interests.is_visible {
	padding-bottom: 0;
}

body.aist-form-page .cmp_form label {
	display: block;
	color: var(--aist-neutral-0900);
	font-size: 20px;
	line-height: 24px;
}

body.aist-form-page .cmp_form .label {
	display: block;
	margin-bottom: 8px;
	color: var(--aist-neutral-0900);
	font-family: var(--aist-font);
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
}

body.aist-form-page .cmp_form .required {
	color: #D11525;
}

body.aist-form-page .cmp_form input[type="text"],
body.aist-form-page .cmp_form input[type="email"],
body.aist-form-page .cmp_form input[type="password"],
body.aist-form-page .cmp_form input[type="url"],
body.aist-form-page .cmp_form input[type="tel"],
body.aist-form-page .cmp_form select,
body.aist-form-page .cmp_form textarea {
	display: block;
	width: 400px;
	max-width: 100%;
	height: 50px;
	padding: 12px 16px;
	border: 1px solid var(--aist-neutral-0400);
	border-radius: 4px;
	background-color: transparent;
	box-shadow: none;
	color: var(--aist-neutral-1100);
	font-family: var(--aist-font);
	font-size: 20px;
	line-height: 24px;
}

body.aist-form-page .cmp_form textarea {
	height: 8em;
}

body.aist-form-page .cmp_form select {
	padding-right: 44px;
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23889C9E' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-position: right 16px center;
	background-repeat: no-repeat;
	background-size: 20px 20px;
}

body.aist-form-page .cmp_form input::placeholder {
	color: var(--aist-neutral-0700);
}

body.aist-form-page .cmp_form input:focus,
body.aist-form-page .cmp_form select:focus,
body.aist-form-page .cmp_form textarea:focus {
	border-color: var(--aist-blue-0500);
	outline: 0;
	box-shadow: 0 0 0 3px rgba(0, 151, 178, 0.15);
}

body.aist-form-page .cmp_form input:disabled,
body.aist-form-page .cmp_form select:disabled {
	background-color: var(--aist-neutral-0200);
	color: var(--aist-neutral-0700);
}

body.aist-form-page .cmp_form [aria-invalid="true"],
body.aist-form-page .cmp_form .error input {
	border-color: #D11525;
}

body.aist-form-page .cmp_form .fields > div .error {
	position: static;
	display: block;
	margin-top: 8px;
	padding: 0;
	background: none;
	color: #D11525;
	font-size: 16px;
	line-height: 20px;
}

/* Password field with show/hide toggle (added by js/aist.js) */
body.aist-form-page .aist-password {
	position: relative;
	display: block;
	width: 400px;
	max-width: 100%;
}

body.aist-form-page .aist-password input[type="password"],
body.aist-form-page .aist-password input[type="text"] {
	width: 100%;
	padding-right: 52px;
}

body.aist-form-page .aist-password__toggle {
	position: absolute;
	top: 50%;
	right: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--aist-neutral-0700);
	cursor: pointer;
	transform: translateY(-50%);
}

body.aist-form-page .aist-password__toggle:hover,
body.aist-form-page .aist-password__toggle:focus {
	color: var(--aist-blue-0500);
}

/* "Forgot your password?" */
body.aist-form-page .page_login .password a,
body.aist-form-page .cmp_form .password label > a {
	display: inline-block;
	margin-top: 8px;
	color: var(--aist-blue-0500);
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Checkboxes (Keep me logged in, consent, reviewer) */
body.aist-form-page .cmp_form .checkbox label,
body.aist-form-page .cmp_form .optin label,
body.aist-form-page .cmp_form .roles label,
body.aist-form-page .cmp_form label:has(> input[type="checkbox"]) {
	position: relative;
	display: block;
	min-height: 30px;
	padding: 3px 0 0 46px;
	color: var(--aist-neutral-0900);
	font-size: 20px;
	line-height: 24px;
}

body.aist-form-page .cmp_form .checkbox .label {
	display: inline;
	margin: 0;
	font-size: 20px;
	font-weight: 400;
}

body.aist-form-page .cmp_form input[type="checkbox"] {
	position: absolute;
	top: 0;
	left: 0;
	width: 30px;
	height: 30px;
	margin: 0;
	border: 1px solid var(--aist-neutral-0600, #A6B9BB);
	border-radius: 4px;
	background: transparent center / 26px 26px no-repeat;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}

body.aist-form-page .cmp_form input[type="checkbox"]:checked {
	border-color: var(--aist-blue-0500);
	background-color: var(--aist-blue-0500);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' shape-rendering='crispEdges' fill='white'%3E%3Crect x='6' y='18' width='3' height='3'/%3E%3Crect x='9' y='21' width='3' height='3'/%3E%3Crect x='12' y='24' width='3' height='3'/%3E%3Crect x='15' y='21' width='3' height='3'/%3E%3Crect x='18' y='18' width='3' height='3'/%3E%3Crect x='21' y='15' width='3' height='3'/%3E%3Crect x='24' y='12' width='3' height='3'/%3E%3Crect x='27' y='9' width='3' height='3'/%3E%3C/svg%3E");
}

body.aist-form-page .cmp_form input[type="checkbox"]:focus-visible {
	outline: 2px solid var(--aist-blue-0500);
	outline-offset: 2px;
}

body.aist-form-page .cmp_form .optin a,
body.aist-form-page .cmp_form .context_privacy a {
	color: var(--aist-blue-0500);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Buttons: LOGIN filled, REGISTER outline (220 x 46) */
body.aist-form-page .cmp_form .buttons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px;
	margin-top: 40px;
}

body.aist-form-page .cmp_form .buttons::before,
body.aist-form-page .cmp_form .buttons::after {
	display: none;
}

body.aist-form-page .cmp_form .buttons button,
body.aist-form-page .cmp_form .buttons a,
body.aist-form-page .page_login .buttons button,
body.aist-form-page .page_login .buttons a {
	display: inline-flex;
	float: none;
	align-items: center;
	justify-content: center;
	width: 220px;
	min-height: 46px;
	margin: 0;
	padding: 8px 16px;
	border: 1px solid var(--aist-blue-0150);
	border-radius: 8px;
	background: transparent;
	box-shadow: none;
	color: var(--aist-blue-0500);
	font-family: var(--aist-font-ui);
	font-size: 18px;
	font-weight: 500;
	line-height: 28px;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
}

body.aist-form-page .cmp_form .buttons button.submit,
body.aist-form-page .cmp_form .buttons button[type="submit"] {
	border-color: var(--aist-blue-0500);
	background: var(--aist-blue-0500);
	color: var(--aist-neutral-0000);
}

body.aist-form-page .cmp_form .buttons button.submit:hover,
body.aist-form-page .cmp_form .buttons button.submit:focus {
	border-color: var(--aist-blue-0600);
	background: var(--aist-blue-0600);
}

body.aist-form-page .cmp_form .buttons a:hover,
body.aist-form-page .cmp_form .buttons a:focus {
	border-color: var(--aist-blue-0500);
	background: var(--aist-blue-0000);
}

/* Error boxes */
body.aist-form-page .pkp_form_error,
body.aist-form-page #formErrors {
	margin: 0 0 28px;
	padding: 16px 20px;
	border: 0;
	border-left: 8px solid #D11525;
	border-radius: 0;
	background: #FDECEE;
	color: #8F0E19;
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
}

body.aist-form-page #formErrors .pkp_form_error {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

body.aist-form-page #formErrors .pkp_form_error_list,
body.aist-form-page #formErrors .pkp_form_error_list a {
	color: #8F0E19;
}

/* ---------------------------------------------------------------- Footer */

body.aist .aist-footer {
	background: var(--aist-neutral-0200);
	border-bottom: 20px solid var(--aist-blue-0400);
	color: var(--aist-neutral-1000);
	font-family: var(--aist-font);
}

.aist-footer__inner {
	display: flex;
	flex-direction: column;
	gap: 40px;
	max-width: calc(var(--aist-content) + 2 * 24px);
	margin: 0 auto;
	padding: 100px 24px 60px;
}

.aist-footer__content {
	display: block;
	color: var(--aist-neutral-1000);
	font-size: 20px;
	line-height: 24px;
}

/* Spacing works at any nesting depth, so legacy footer markup (divs/columns) also renders cleanly */
.aist .aist-footer__content p,
.aist .aist-footer__content div {
	color: var(--aist-neutral-1000);
	font-size: 20px;
	line-height: 24px;
}

.aist .aist-footer__content p {
	margin: 0 0 40px;
}

.aist .aist-footer__content > :last-child,
.aist .aist-footer__content p:last-child {
	margin-bottom: 0;
}

.aist .aist-footer__content a {
	color: var(--aist-blue-0500);
	font-weight: 700;
	text-decoration: underline;
}

/* Link list: <ul><li><a> (recommended) or link-only paragraphs (legacy) */
.aist .aist-footer__content ul {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 0 0 40px;
	padding: 0;
	list-style: none;
}

.aist .aist-footer__content li {
	margin: 0;
}

.aist .aist-footer__content ul a,
.aist .aist-footer__content p:has(> strong:only-child > a:only-child) a {
	font-weight: 500;
	text-transform: uppercase;
}

.aist .aist-footer__content p:has(> strong:only-child > a:only-child) {
	margin-bottom: 20px;
}

/* Block titles: <h4> (recommended) or a paragraph that only holds <strong> */
.aist .aist-footer__content h4,
.aist .aist-footer__content p:has(> strong:only-child):not(:has(a)) {
	margin: 0 0 4px;
	color: var(--aist-neutral-1000);
	font-family: var(--aist-font);
	font-size: 20px;
	font-weight: 700;
	line-height: 24px;
}

/* Details right after a title: 16px */
.aist .aist-footer__content h4 + p,
.aist .aist-footer__content p:has(> strong:only-child):not(:has(a)) + p {
	font-size: 16px;
	line-height: 24px;
}

.aist .aist-footer__content h4 + p a,
.aist .aist-footer__content p:has(> strong:only-child):not(:has(a)) + p a {
	font-weight: 400;
}

.aist .aist-footer__content strong {
	font-weight: 700;
}

.aist .aist-footer__content img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

/* Neutralise grid classes from older footer markup */
.aist .aist-footer__content .row,
.aist .aist-footer__content [class*="col-"] {
	float: none;
	width: auto;
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
}

.aist-footer__brand {
	display: flex;
	justify-content: flex-end;
}

.aist-footer__brand a {
	display: block;
}

.aist-footer__brand img {
	display: block;
	width: 232px;
	height: auto;
}

/* ---------------------------------------------------------------- Responsive */

@media (max-width: 1200px) {
	:root {
		--aist-section-y: 100px;
	}

	.aist .aist-about__lead {
		font-size: 28px;
		line-height: 34px;
		text-indent: 200px;
	}

	.aist .aist-aims__headline {
		font-size: 38px;
		line-height: 52px;
	}

	.aist-accordion__num,
	.aist-accordion__title,
	.aist .aist-card__title {
		font-size: 30px;
		line-height: 40px;
	}

	.aist-about__footer,
	.aist-aims__text {
		gap: 48px;
	}
}

@media (max-width: 991px) {
	:root {
		--aist-section-y: 80px;
	}

	.aist-header__inner {
		padding: 16px;
	}

	.aist-header__brand {
		flex: 0 1 auto;
	}

	.aist .aist-header__logo img {
		height: 40px;
		max-width: 170px;
	}

	.aist .aist-burger {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.aist-header__panel {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
		padding: 16px 16px 24px;
		background: var(--aist-neutral-0000);
		border-bottom: 1px solid var(--aist-neutral-0400);
		box-shadow: 0 16px 32px rgba(0, 30, 36, .12);
		color: var(--aist-blue-0900);
	}

	.aist-header.is-open .aist-header__panel {
		display: flex;
	}

	.aist-header--overlay.is-open {
		background: var(--aist-blue-0900);
	}

	.aist-nav {
		justify-content: flex-start;
	}

	.aist .aist-nav .aist-nav__list {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		width: 100%;
	}

	.aist .aist-nav .aist-nav__list > li > a {
		display: flex;
		justify-content: space-between;
		width: 100%;
		padding: 12px 0;
		border-bottom: 1px solid var(--aist-neutral-0300);
		opacity: 1;
	}

	.aist .aist-nav .aist-nav__list > li.is-active > a {
		border-bottom-color: var(--aist-neutral-0300);
		color: var(--aist-blue-0500);
	}

	.aist .aist-nav .aist-nav__list ul {
		position: static;
		min-width: 0;
		padding: 4px 0 8px 12px;
		border: 0;
		box-shadow: none;
	}

	.aist .aist-nav .aist-nav__list > li:focus-within > ul {
		display: none;
	}

	.aist .aist-nav .aist-nav__list li.is-open > ul {
		display: block;
	}

	.aist-header__actions {
		flex: none;
		flex-direction: column;
		align-items: stretch;
	}

	.aist .aist-header__actions .aist-btn--header,
	.aist-header--overlay .aist-header__actions .aist-btn--header {
		justify-content: center;
		border-color: var(--aist-blue-0200);
		color: var(--aist-blue-0500);
	}

	.aist-header--overlay .aist-header__actions .aist-btn--header .aist-btn__chevron {
		color: var(--aist-blue-0500);
	}

	.aist .aist-header__search {
		display: block;
		padding: 8px 0;
		color: var(--aist-blue-0500);
	}

	.aist .aist-user,
	.aist .aist-user > li,
	.aist .aist-user > li > a,
	.aist-header--overlay .aist-user > li > a {
		width: 100%;
		max-width: none;
		border-color: var(--aist-blue-0200);
		color: var(--aist-blue-0500);
	}

	.aist .aist-user ul {
		position: static;
		display: block;
		margin-top: 8px;
		border: 0;
		box-shadow: none;
		padding: 0;
	}

	.aist-about__intro {
		flex-direction: column;
		gap: 16px;
	}

	.aist-about__intro .aist-label {
		flex: none;
	}

	.aist-about__media {
		display: flex;
		gap: 16px;
		margin-right: -24px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}

	.aist-about__tile {
		flex: 0 0 min(320px, 82%);
		height: auto;
		aspect-ratio: 1 / 1;
		scroll-snap-align: start;
	}

	.aist-about__footer {
		flex-direction: column;
		gap: 16px;
	}

	.aist-about__footer .aist-btn {
		align-self: stretch;
		justify-content: center;
	}

	.aist-aims__text {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.aist-announcements__list {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.aist-focus__grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

@media (max-width: 767px) {
	:root {
		--aist-section-y: 64px;
	}

	.aist-container,
	.aist-footer__inner {
		padding-left: 16px;
		padding-right: 16px;
	}

	.aist-stack-60 > * + * { margin-top: 24px; }
	.aist-aims .aist-stack-60 > * + *,
	.aist-announcements .aist-stack-60 > * + * { margin-top: 24px; }
	.aist .aist-toc .aist-label + .aist-article-list { margin-top: 24px; }
	.aist-stack-40 > * + * { margin-top: 24px; }

	.aist .aist-label {
		font-size: 16px;
		line-height: 20px;
		gap: 8px;
	}

	.aist-hero {
		padding: 96px 16px;
	}

	.aist .aist-hero__title {
		max-width: 280px;
		margin-top: -40px;
		font-size: 40px;
		line-height: 46px;
	}

	.aist-hero__overlay {
		height: 50%;
	}

	.aist .aist-hero__cta {
		display: inline-flex;
	}

	.aist .aist-about__lead {
		font-size: 18px;
		line-height: 28px;
		text-indent: 92px;
	}

	.aist-about__media {
		margin-right: -16px;
	}

	.aist .aist-about__text,
	.aist .aist-aims__text p,
	.aist .aist-cfp__text,
	.aist .aist-card__desc {
		font-size: 14px;
		line-height: 20px;
	}

	.aist .aist-btn--lg {
		font-size: 16px;
		line-height: 24px;
	}

	.aist .aist-aims__headline {
		font-size: 28px;
		line-height: 40px;
	}

	.aist-accordion {
		gap: 24px;
	}

	.aist-accordion__item {
		padding-bottom: 24px;
	}

	.aist .aist-accordion__toggle {
		gap: 12px;
		align-items: flex-start;
	}

	.aist-accordion__num,
	.aist-accordion__title {
		font-size: 16px;
		line-height: 24px;
	}

	.aist-accordion__desc {
		flex-basis: 50%;
		font-size: 12px;
		line-height: 16px;
	}

	.aist-accordion__icon {
		width: 24px;
		height: 24px;
		margin-left: 0;
	}

	.aist-accordion__icon svg {
		width: 20px;
		height: 20px;
	}

	.aist .aist-announcement__date {
		font-size: 14px;
		line-height: 20px;
		margin-bottom: 4px;
	}

	.aist .aist-announcement__title {
		font-size: 16px;
		line-height: 20px;
	}

	.aist-announcements {
		padding: 64px 0;
	}

	.aist-cfp__inner {
		min-height: 520px;
	}

	.aist-card {
		min-height: 0;
		gap: 40px;
	}

	.aist-card__head {
		min-height: 0;
		padding: 16px;
	}

	.aist .aist-card__title {
		font-size: 22px;
		line-height: 28px;
	}

	.aist-card__icon {
		width: 32px;
		height: 32px;
	}

	.aist .aist-card__desc {
		padding: 16px;
	}

	.aist-footer__inner {
		padding-top: 64px;
		padding-bottom: 40px;
		gap: 32px;
	}

	.aist .aist-footer__content,
	.aist .aist-footer__content ul,
	.aist .aist-footer__content p,
	.aist .aist-footer__content div,
	.aist .aist-footer__content h4 {
		font-size: 14px;
		line-height: 20px;
	}

	.aist .aist-footer__content p,
	.aist .aist-footer__content ul {
		margin-bottom: 28px;
	}

	.aist .aist-footer__content ul {
		gap: 12px;
	}

	.aist .aist-footer__content p:has(> strong:only-child > a:only-child) {
		margin-bottom: 12px;
	}

	.aist .aist-footer__content h4,
	.aist .aist-footer__content p:has(> strong:only-child):not(:has(a)) {
		margin-bottom: 2px;
	}

	.aist .aist-footer__content h4 + p,
	.aist .aist-footer__content p:has(> strong:only-child):not(:has(a)) + p {
		font-size: 12px;
		line-height: 18px;
	}

	.aist-footer__brand img {
		width: 100px;
	}
}

@media (max-width: 991px) {
	.aist .aist-section--first {
		padding-top: 48px;
	}

	.aist .aist-page-heading {
		font-size: 34px;
		line-height: 44px;
	}

	.aist-contact__cards,
	.aist-reviewers {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

@media (max-width: 767px) {
	.aist .aist-section--first {
		padding-top: 32px;
	}

	.aist .aist-page-heading {
		font-size: 28px;
		line-height: 36px;
	}

	.aist .aist-contact__address,
	.aist .aist-prose {
		font-size: 14px;
		line-height: 22px;
	}

	.aist-people {
		gap: 28px;
	}

	.aist .aist-masthead .aist-container {
		gap: 28px;
	}

	.aist-person {
		gap: 20px;
		align-items: center;
	}

	.aist-person__photo {
		flex-basis: 90px;
		width: 90px;
		height: 90px;
		border-radius: 8px;
	}

	.aist-person__initials {
		font-size: 24px;
	}

	.aist-person__info {
		gap: 12px;
	}

	.aist .aist-person__role {
		font-size: 16px;
		line-height: 24px;
	}

	.aist .aist-person__name {
		font-size: 18px;
		line-height: 24px;
		margin-bottom: -8px;
	}

	.aist .aist-person__affiliation {
		font-size: 14px;
		line-height: 20px;
	}

	.aist .aist-contact__card p,
	.aist .aist-empty,
	.aist .aist-masthead__history,
	.aist .aist-masthead__note {
		font-size: 12px;
		line-height: 16px;
	}

	.aist .aist-contact__card .aist-contact__name {
		font-size: 18px;
		line-height: 24px;
	}
}

@media (max-width: 991px) {
	.aist-issue-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.aist .aist-article-card {
		flex-direction: column;
		align-items: stretch;
		gap: 20px;
	}

	.aist-article-card__cover {
		flex: none;
		width: 100%;
		height: auto;
		aspect-ratio: 440 / 248;
	}

	.aist .aist-article-card__title {
		font-size: 28px;
		line-height: 34px;
	}

	.aist-article__facts {
		grid-template-columns: 1fr 1fr;
	}

	.aist-article__body {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

@media (max-width: 767px) {
	.aist-archive__block {
		gap: 24px;
	}

	.aist-archive__block + .aist-archive__block {
		margin-top: 40px;
	}

	.aist-issue-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 12px;
	}

	.aist-volume {
		gap: 20px;
	}

	.aist-volume.is-collapsed .aist-volume__grid {
		display: flex;
		gap: 12px;
		margin-right: -16px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}

	.aist-volume.is-collapsed .aist-volume__grid > * {
		flex: 0 0 44%;
		scroll-snap-align: start;
	}

	.aist-volume.is-collapsed .aist-volume__grid > :nth-child(n+6) {
		display: flex;
	}

	.aist-issue-card {
		gap: 12px;
	}

	.aist .aist-issue-card__title {
		margin-bottom: 4px;
		font-size: 14px;
		line-height: 18px;
	}

	.aist .aist-issue-card__volume,
	.aist .aist-issue-card__date {
		font-size: 12px;
		line-height: 16px;
	}

	.aist .aist-volume__title {
		font-size: 16px;
		padding-bottom: 8px;
	}

	.aist-issue-hero {
		min-height: 360px;
		padding: 112px 0 32px;
	}

	.aist .aist-issue-hero__series,
	.aist .aist-issue-hero__date {
		font-size: 12px;
		line-height: 16px;
	}

	.aist .aist-issue-hero__series {
		margin-bottom: -21px;
	}

	.aist .aist-issue-hero__title {
		font-size: 28px;
		line-height: 34px;
	}

	.aist-article-list {
		gap: 32px;
	}

	.aist .aist-article-card__authors {
		font-size: 12px;
		line-height: 16px;
	}

	.aist .aist-article-card__title {
		margin-bottom: 8px;
		font-size: 18px;
		line-height: 24px;
	}

	.aist .aist-article__title {
		font-size: 28px;
		line-height: 34px;
	}

	.aist .aist-article__issue {
		font-size: 14px;
	}

	.aist-article__facts {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.aist .aist-fact__label,
	.aist .aist-fact__value,
	.aist-article .aist-prose {
		font-size: 14px;
		line-height: 20px;
	}

	.aist .aist-block__title {
		font-size: 18px;
	}
}

@media (max-width: 991px) {
	.aist .aist-intro-columns {
		grid-auto-flow: row;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px 28px;
	}
}

@media (max-width: 767px) {
	.aist .aist-info__crumb {
		margin-bottom: 32px;
	}

	.aist .aist-info__title {
		font-size: 36px;
		line-height: 40px;
	}

	.aist .aist-info__body,
	.aist .aist-info__body p,
	.aist .aist-info__body li {
		font-size: 14px;
		line-height: 18px;
	}

	.aist .aist-info__body h4 {
		font-size: 16px;
		line-height: 20px;
	}

	.aist .aist-info__body > h2,
	.aist .aist-info__body > h3 {
		margin-top: 40px;
	}

	.aist .aist-info__body > h2:first-child,
	.aist .aist-info__body > h3:first-child {
		margin-top: 24px;
	}

	.aist .aist-info__body ul,
	.aist .aist-info__body ol {
		padding-left: 22px;
	}

	.aist .aist-intro-columns {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}
}

@media (max-width: 767px) {
	.aist .aist-notice {
		font-size: 16px;
		line-height: 20px;
	}

	.aist .aist-checklist li {
		padding: 12px 12px 12px 52px;
	}

	.aist .aist-checklist.is-enhanced li {
		gap: 16px;
		padding: 12px;
	}

	.aist .aist-checklist li::before {
		left: 12px;
		width: 24px;
		height: 24px;
		-webkit-mask-size: 24px 24px;
		mask-size: 24px 24px;
	}

	.aist .aist-checklist.is-enhanced li::before {
		flex-basis: 24px;
	}

	/* Figma mobile text pages: 20px side margins (353px content at 393) */
	.aist .aist-info .aist-container {
		padding-left: 20px;
		padding-right: 20px;
	}

	body.aist-form-page .pkp_structure_main > .page {
		padding: 32px 20px 80px;
	}

	body.aist-form-page .page > .cmp_breadcrumbs,
	body.aist-form-page .page > h1 {
		margin-bottom: 32px;
	}

	body.aist-form-page .page > .cmp_breadcrumbs .current {
		font-size: 16px;
		line-height: 20px;
	}

	body.aist-form-page .page > h1 {
		font-size: 36px;
		line-height: 40px;
	}

	body.aist-form-page .cmp_form legend:not(.pkp_screen_reader) {
		font-size: 20px;
		line-height: 24px;
	}

	body.aist-form-page .cmp_form .fields {
		gap: 20px;
	}

	body.aist-form-page .cmp_form .label {
		font-size: 14px;
		line-height: 20px;
	}

	body.aist-form-page .page_login .password a,
	body.aist-form-page .cmp_form .password label > a {
		font-size: 14px;
		line-height: 20px;
	}

	body.aist-form-page .cmp_form input[type="text"],
	body.aist-form-page .cmp_form input[type="email"],
	body.aist-form-page .cmp_form input[type="password"],
	body.aist-form-page .cmp_form input[type="url"],
	body.aist-form-page .cmp_form input[type="tel"],
	body.aist-form-page .cmp_form select,
	body.aist-form-page .aist-password {
		width: 100%;
		height: 46px;
		font-size: 16px;
	}

	body.aist-form-page .cmp_form .checkbox label,
	body.aist-form-page .cmp_form .optin label,
	body.aist-form-page .cmp_form label:has(> input[type="checkbox"]),
	body.aist-form-page .cmp_form .checkbox .label {
		font-size: 14px;
		line-height: 18px;
	}

	body.aist-form-page .cmp_form .checkbox label,
	body.aist-form-page .cmp_form .optin label,
	body.aist-form-page .cmp_form .roles label,
	body.aist-form-page .cmp_form label:has(> input[type="checkbox"]) {
		min-height: 24px;
		padding: 3px 0 0 36px;
	}

	body.aist-form-page .cmp_form input[type="checkbox"] {
		width: 24px;
		height: 24px;
		background-size: 21px 21px;
	}

	body.aist-form-page .cmp_form .buttons {
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
		margin-top: 32px;
	}

	body.aist-form-page .cmp_form .buttons button,
	body.aist-form-page .cmp_form .buttons a,
	body.aist-form-page .page_login .buttons button,
	body.aist-form-page .page_login .buttons a {
		width: 100%;
		min-height: 40px;
		font-size: 14px;
		line-height: 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.aist *,
	.aist *::before,
	.aist *::after {
		transition: none !important;
	}
}
