:root {
	--school-space-section: 120px;
	--school-space-section-wide: 140px;
	--school-space-section-mobile: 90px;
	--school-space-content: 60px;
	--school-space-gap: 26px;
}

.audience-page {
	width: 100%;
	max-width: none;
	padding: 0;
	background: #fff;
}

.audience-section-width {
	width: min(calc(100% - (var(--school-space-content) * 2)), 1320px);
	margin-inline: auto;
}

.admissions-hero {
	position: relative;
	z-index: 0;
	height: 100vh;
	height: 100svh;
	aspect-ratio: auto;
	min-height: 560px;
	overflow: hidden;
	background: #edf7fb;
}

.admissions-hero__slide {
	position: absolute;
	z-index: 1;
	inset: 0;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.9s ease, visibility 0.9s ease;
}

.admissions-hero__slide.is-active {
	opacity: 1;
	visibility: visible;
}

.admissions-hero__slide picture {
	display: block;
	width: 100%;
	height: 100%;
}

.admissions-hero__slide img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

.admissions-hero__decoration {
	position: absolute;
	z-index: 2;
	pointer-events: none;
	object-fit: contain;
	user-select: none;
}

.admissions-hero__decoration--right {
	top: 104px;
	right: -82px;
	width: 263px;
	height: 421px;
}

.admissions-hero__decoration--left {
	bottom: -24px;
	left: -25px;
	width: 304px;
	height: 586px;
}

.admissions-hero__decoration--left-dots {
	bottom: -8px;
	left: -120px;
	width: 205px;
	height: 441px;
}

.admissions-hero__bottom-curve {
	z-index: 3;
	bottom: -2px;
}

/* Shared student/alumni visual. */
.audience-hero {
	position: relative;
	width: 100%;
	aspect-ratio: 1440 / 540;
	min-height: 420px;
	overflow: hidden;
	background: #eef9fe;
}

.audience-hero__image {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center 48%;
}

.audience-hero__copy {
	position: absolute;
	z-index: 1;
	inset: 0;
	display: grid;
	align-content: start;
	justify-items: center;
	padding: 88px 30px 30px;
	text-align: center;
	transform: translateY(20px);
}

.audience-hero__english {
	margin: 0;
	color: rgba(30, 164, 230, 0.25);
	font-size: clamp(3.3rem, 7.8vw, 7rem);
	font-weight: 300;
	letter-spacing: 0.045em;
	line-height: 1;
	white-space: nowrap;
}

.audience-hero h1 {
	margin: -0.18em 0 0;
	color: #222;
	font-size: clamp(2rem, 3.2vw, 3.4rem);
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1.35;
}

.audience-hero__bottom-curve {
	z-index: 3;
	bottom: -2px;
}

/* Blue audience area and curved joins. */
.audience-blue {
	position: relative;
	z-index: 1;
	margin-top: -2px;
	padding: 160px 0;
	overflow: hidden;
	background: #35a9eb;
	color: #fff;
}

.audience-blue:not(.audience-blue--admissions)::after {
	position: absolute;
	z-index: 0;
	right: 0;
	bottom: 0;
	left: 0;
	height: 108px;
	background: url("../images/admissions/Frame%203.svg") center / 100% 100% no-repeat;
	content: "";
	filter: brightness(0) invert(1);
	pointer-events: none;
}

.audience-page--students .audience-blue.audience-blue--students::after,
.audience-page--alumni .audience-blue.audience-blue--alumni::after {
	content: none;
}

.audience-blue--students,
.audience-blue--alumni {
	overflow: visible;
}

.audience-blue > .audience-blue__bottom-curve {
	position: absolute;
	z-index: 0;
	top: 100%;
	right: 0;
	left: 0;
	width: 100%;
	max-width: none;
	transform: rotate(180deg);
}

.audience-blue > * {
	position: relative;
	z-index: 1;
}

.audience-blue--admissions {
	padding-bottom: 170px;
	background: #34a9ef;
}

.audience-page--admissions .admissions-hero + .audience-blue--admissions {
	margin-top: -2px;
}

.audience-blue--alumni {
	padding-bottom: 236px;
}

/* Audience quick-link menu. */
.audience-menu {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	align-items: center;
	gap: clamp(30px, 5vw, 80px);
}

.audience-menu__heading {
	position: relative;
	isolation: isolate;
}

.audience-menu__heading > span,
.audience-menu__heading > h2 {
	position: relative;
	z-index: 2;
}

.audience-menu__heading-background {
	position: absolute;
	z-index: 0;
	top: -68px;
	left: 50%;
	width: 480px;
	max-width: none;
	object-fit: fill;
	transform: translateX(-50%);
}

.audience-menu__heading-illustration {
	position: relative;
	z-index: 2;
	display: block;
	width: 170px;
	height: 130px;
	margin: 18px 0 0 40px;
	filter: invert(1);
	object-fit: contain;
}

.audience-page--admissions .audience-menu__heading > span,
.audience-page--admissions .audience-menu__heading > h2 {
	left: 40px;
}

.audience-menu__heading span,
.audience-section-heading > span,
.journal-section__heading-copy > span {
	display: block;
	margin-bottom: 8px;
	color: #fff100;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0.16em;
}

.audience-menu__heading h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(1.6rem, 2.25vw, 2.15rem);
	font-weight: 800;
	letter-spacing: 0.08em;
}

.audience-menu__links {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.audience-menu__item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 171px;
	padding: 22px 14px;
	overflow: hidden;
	border: 1px solid #dde5fc;
	border-radius: 12px;
	background: #fff;
	color: #222;
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.45;
	text-align: center;
	text-decoration: none;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.audience-menu__item-sub {
	display: inline;
	font-size: 15px;
}

.audience-menu__item::after {
	position: absolute;
	right: 8px;
	bottom: 8px;
	width: 20px;
	height: 20px;
	background: url("../images/top/arrow-corner-blue.svg") center / 100% 100% no-repeat;
	content: "";
}

.audience-menu__item:hover {
	color: #222;
	transform: translateY(-3px);
	box-shadow: 0 14px 28px rgba(0, 88, 145, 0.14);
}

.audience-menu__item.is-unavailable {
	cursor: not-allowed;
}

.audience-menu__item.is-unavailable:hover {
	transform: none;
	box-shadow: none;
}

.audience-menu__item img {
	width: 54px;
	height: 54px;
	margin-bottom: 16px;
	object-fit: contain;
}

.audience-page--students .audience-menu__links {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.audience-page--alumni .audience-menu__links {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.audience-page--admissions .admissions-banners {
	margin-top: 72px;
	padding: 0;
	background: transparent;
}

.audience-page--admissions .admissions-banners__inner {
	width: min(calc(100% - (var(--school-space-content) * 2)), 1320px);
	max-width: none;
}

.audience-page--admissions .admissions-banners__item {
	min-height: 0;
	aspect-ratio: 2.05 / 1;
}

.audience-page--admissions .admissions-banners__item > span,
.audience-page--admissions .admissions-banners__link > span {
	min-height: 0;
	font-size: 15px;
}

/* Notices. */
.notice-section {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 42%);
	align-items: center;
	gap: clamp(48px, 7vw, 110px);
	margin-top: 112px;
}

.audience-section-heading {
	margin-bottom: 26px;
}

.audience-section-heading h2 {
	max-width: 15em;
	margin: 0;
	font-size: clamp(1.65rem, 2.25vw, 2.25rem);
	font-weight: 800;
	letter-spacing: 0.05em;
	line-height: 1.55;
}

.notice-section .audience-section-heading h2 {
	white-space: pre-line;
}

.audience-section-heading--light h2 {
	color: #fff;
}

.notice-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.notice-list li {
	margin: 0;
	border-bottom: 1px dashed rgba(255, 255, 255, 0.48);
}

.notice-list--empty li {
	min-height: 69.8px;
}

.notice-list__placeholder {
	min-height: 69.8px;
}

.notice-list__placeholder > span {
	display: block;
	padding: 20px 10px;
	line-height: 29px;
}

.notice-list--empty li > span {
	display: block;
	padding: 20px 10px;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.94rem;
	line-height: 29px;
}

.notice-list a {
	display: grid;
	grid-template-columns: 104px minmax(0, 1fr);
	gap: 22px;
	padding: 17px 5px;
	color: #fff;
	font-size: 0.94rem;
	font-weight: 700;
	line-height: 1.65;
	text-decoration: none;
}

.notice-list a:hover {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.notice-list time {
	font-weight: 800;
	white-space: nowrap;
}

.notice-section__image {
	height: 520px;
	margin: 0;
	overflow: hidden;
	border-radius: 90px 0 0 90px;
	background: rgba(255, 255, 255, 0.2);
}

.notice-section__image img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

.audience-page--admissions .notice-section__image img {
	object-position: 25% center;
}

.audience-button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
	width: fit-content;
	min-width: 280px;
	margin: 50px auto 0;
	padding: 14px 26px;
	border-radius: 999px;
	background: #35a9eb;
	color: #fff;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-decoration: none;
}

.audience-button:hover {
	background: #1186cc;
	color: #fff;
	transform: translateY(-2px);
}

.audience-button--light {
	margin: 28px 0 0 auto;
	background: #fff;
	color: #222;
}

.audience-button--light:hover {
	background: #eff9ff;
	color: #222;
}

.audience-empty {
	margin: 22px 0;
	padding: 22px;
	border: 1px solid rgba(255, 255, 255, 0.45);
	border-radius: 8px;
	color: #fff;
}

/* Shared journal. */
.journal-section {
	position: relative;
	padding: var(--school-space-section) 0;
	overflow: hidden;
	background: #fff;
}

.audience-page--alumni .journal-section {
	padding-top: 120px;
}

.journal-section::before,
.journal-section::after {
	position: absolute;
	content: "";
	pointer-events: none;
}

.journal-section::before {
	top: 40%;
	left: 0;
	width: 142px;
	height: 318px;
	background: url("../images/common/decorations/journal-side-left.svg") left center / contain no-repeat;
}

.journal-section::after {
	top: 8%;
	right: 0;
	width: 180px;
	height: 300px;
	background: url("../images/common/decorations/journal-side-right.svg") right center / contain no-repeat;
}

.journal-section__heading {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 202px) auto minmax(0, 202px);
	align-items: center;
	column-gap: clamp(36px, 5vw, 72px);
	width: min(100%, 760px);
	margin: 0 auto 50px;
	text-align: center;
}

.journal-section__illustration {
	width: 202px;
	height: 150px;
	object-fit: contain;
}

.journal-section__illustration--left {
	justify-self: end;
}

.journal-section__illustration--right {
	justify-self: start;
}

.journal-section__heading-copy > span {
	color: #00a4ee;
}

.journal-section__heading h2 {
	margin: 0;
	color: #222;
	font-size: clamp(1.9rem, 2.7vw, 2.6rem);
	font-weight: 800;
	letter-spacing: 0.08em;
}

.journal-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 42px 24px;
}

.journal-card {
	min-width: 0;
}

.journal-card a {
	display: block;
	color: #222;
	text-decoration: none;
}

.journal-card__image {
	aspect-ratio: 425 / 239;
	overflow: hidden;
	background: #e9f2f7;
}

.journal-card__image img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	transition: transform 300ms ease;
}

.journal-card a:hover .journal-card__image img {
	transform: scale(1.035);
}

.journal-card h2,
.journal-card h3 {
	position: relative;
	margin: 15px 0 0;
	padding-left: 22px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.7;
}

.journal-card h2::before,
.journal-card h3::before {
	position: absolute;
	top: 0.55em;
	left: 3px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #35a9eb;
	content: "";
}

.journal-section__empty {
	max-width: 720px;
	margin: 0 auto 40px;
	color: #222;
	font-size: 18px;
	text-align: center;
}

/* Applicant campus panorama. */
.admissions-campus {
	position: relative;
	height: 534px;
	overflow: hidden;
	background-color: #dff4ff;
	background-image: var(--admissions-campus-image);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.admissions-campus__curve {
	z-index: 1;
	top: -2px;
	transform: rotate(180deg);
}

.admissions-campus::after {
	position: absolute;
	z-index: 1;
	right: 0;
	bottom: 0;
	left: 0;
	height: 14%;
	background: #fff;
	content: "";
}

.admissions-campus p {
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: 10px;
	left: 0;
	margin: 0;
	color: #25a5eb;
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(72px, 12.5vw, 190px);
	font-weight: 100;
	letter-spacing: 0.07em;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
}

/* Applicant social-media section. */
.admissions-social {
	min-height: 896px;
	padding: 100px 0;
	background: #fff;
}

.admissions-social__heading {
	margin-bottom: 42px;
}

.admissions-social__heading span {
	display: block;
	margin-bottom: 8px;
	color: #00a4ee;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0.16em;
}

.admissions-social__heading h2 {
	margin: 0;
	color: #222;
	font-size: 2rem;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.admissions-social__panel {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 46.6px;
	min-height: 650px;
	padding: 60px;
	border-radius: 50px;
	background: #edf6fb;
}

.admissions-social__service-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 34px;
	margin-bottom: 18.6px;
}

.admissions-social__service-heading > div {
	display: flex;
	align-items: center;
	gap: 8px;
}

.admissions-social__service-heading img {
	width: 24px;
	height: 24px;
	object-fit: contain;
}

.admissions-social__service-heading h3 {
	margin: 0;
	color: #222;
	font-size: 1.875rem;
	font-weight: 800;
	line-height: 1;
}

.admissions-social__service-heading a {
	display: flex;
	align-items: center;
	gap: 14px;
	color: #26c0eb;
	font-size: 0.94rem;
	font-weight: 800;
	text-decoration: none;
}

.admissions-social__service-heading a img {
	width: 14px;
	height: 14px;
}

.admissions-social__service-heading strong {
	color: #222;
	font-size: 0.94rem;
}

.admissions-social__mobile-break {
	display: none;
}

.admissions-social__instagram-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: repeat(3, 1fr);
	gap: 4.66px;
	height: 505px;
}

.admissions-social__instagram-grid span {
	border-radius: 4.66px;
	background: #bccad3;
}

.admissions-social__instagram-grid span:nth-child(3n + 2) {
	background: #b7c7d1;
}

.admissions-social__instagram-grid span:nth-child(3n) {
	background: #c3ced7;
}

.admissions-social__instagram-feed {
	height: 505px;
	overflow: hidden;
}

.admissions-social__instagram-feed #sb_instagram,
.admissions-social__instagram-feed #sbi_images {
	height: 100%;
}

.admissions-social__instagram-feed #sbi_images {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	grid-template-rows: repeat(3, minmax(0, 1fr));
	gap: 4.66px;
	padding: 0 !important;
}

.admissions-social__instagram-feed #sbi_images .sbi_item,
.admissions-social__instagram-feed .sbi_photo_wrap,
.admissions-social__instagram-feed .sbi_photo {
	width: 100% !important;
	height: 100% !important;
	padding: 0 !important;
}

.admissions-social__instagram-feed .sbi_photo {
	overflow: hidden;
	border-radius: 4.66px;
}

.admissions-social__instagram-feed .sbi_photo img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.admissions-social__video {
	position: relative;
	height: 298px;
	margin-top: 14px;
	overflow: hidden;
	border-radius: 11px;
	background: #b8c4ca;
}

.admissions-social__video iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.admissions-social__youtube > p {
	margin: 9px 0 3px;
	font-size: 15px;
	font-weight: 800;
}

.admissions-social__youtube > small {
	display: block;
	color: #222;
	font-size: 15px;
	font-weight: 700;
}

.admissions-social__youtube-link,
.admissions-social__x-link {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	width: 202px;
	height: 38px;
	margin-top: 14px;
	border-radius: 999px;
	background: #e24242;
	color: #fff;
	font-size: 15px;
	font-weight: 800;
	text-decoration: none;
}

.admissions-social__youtube-link:hover {
	background: #c83232;
	color: #fff;
}

.admissions-social__youtube-link img {
	width: 11px;
	height: 11px;
}

.admissions-social__x-link {
	gap: 14px;
	margin-top: 10px;
	background: #111;
}

.admissions-social__x-link:hover {
	background: #333;
	color: #fff;
}

.admissions-social__x-link .admissions-social__x-icon {
	width: 15px;
	height: 15px;
}

.admissions-social__x-link .admissions-social__x-arrow {
	width: 11px;
	height: 11px;
}

@media (min-width: 981px) {
	.audience-page--admissions .admissions-hero {
		width: 100%;
		height: 100vh;
		height: 100svh;
		min-height: 650px;
		aspect-ratio: auto;
	}

	.audience-page--students .audience-hero,
	.audience-page--alumni .audience-hero {
		width: 100%;
		height: 512px;
		aspect-ratio: auto;
	}

	.audience-page--students .audience-hero__copy,
	.audience-page--alumni .audience-hero__copy {
		padding-top: 64px;
	}

	.audience-page--students .audience-hero__english,
	.audience-page--alumni .audience-hero__english {
		font-size: clamp(76px, 7.6vw, 100px);
		letter-spacing: 0.028em;
		line-height: 126px;
	}

	.audience-page--students .audience-hero h1,
	.audience-page--alumni .audience-hero h1 {
		margin-top: -53px;
		font-size: 40px;
		letter-spacing: 0.05em;
		line-height: 62px;
	}

	.audience-page--admissions .audience-blue {
		height: 1517px;
		min-height: 0;
		margin-top: 0;
		padding-top: 83px;
		padding-bottom: 20px;
		box-sizing: border-box;
	}

	.audience-page--students .audience-blue {
		height: 1084px;
		min-height: 0;
		margin-top: -2px;
		padding-top: 62px;
		padding-bottom: 52px;
		box-sizing: border-box;
	}

	.audience-page--alumni .audience-blue {
		min-height: 290px;
		margin-top: -2px;
		padding-top: 64px;
		padding-bottom: 92px;
	}

	.audience-page--admissions .audience-menu {
		grid-template-columns: clamp(180px, 21vw, 300px) minmax(0, 1fr);
		gap: clamp(30px, 5vw, 75px);
		width: min(calc(100% - 60px), 1320px);
	}

	.audience-page--admissions .audience-menu__heading {
		align-self: stretch;
		padding-top: 62px;
		text-align: left;
		transform: translateY(-3.5px);
	}

	.audience-page--students .audience-menu {
		grid-template-columns: 180px minmax(0, 1fr);
		gap: clamp(30px, 4vw, 58px);
		width: min(calc(100% - 60px), 928px);
	}

	.audience-page--alumni .audience-menu {
		grid-template-columns: 180px minmax(0, 1fr);
		gap: clamp(30px, 4vw, 59px);
		width: min(calc(100% - 60px), 1164px);
	}

	.audience-page--admissions .audience-menu__links,
	.audience-page--alumni .audience-menu__links {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 13.3px 15px;
	}

	.audience-page--students .audience-menu__links {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 15px;
	}

	.audience-menu__item {
		width: 100%;
		height: 171px;
		min-height: 171px;
	}

	.audience-menu__heading {
		transform: translateY(-3.5px);
	}

	.audience-menu__heading span {
		margin-bottom: 5px;
	}

	.audience-page--admissions .admissions-banners {
		margin-top: 114px;
	}

	.audience-page--admissions .admissions-banners__inner {
		width: min(calc(100% - 60px), 1240px);
		margin-inline: auto;
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 20px;
	}

	.audience-page--admissions .admissions-banners__item,
	.audience-page--admissions .admissions-banners__link,
	.audience-page--admissions .admissions-banners__item > span,
	.audience-page--admissions .admissions-banners__link > span {
		width: 100%;
	}

	.audience-page--admissions .admissions-banners__item {
		border-radius: 8px;
		box-shadow: 0 4px 12px rgba(0, 78, 133, 0.08);
	}

	.audience-page--admissions .admissions-banners__item > span,
	.audience-page--admissions .admissions-banners__link > span {
		font-size: 19.2px;
	}

	.notice-section {
		grid-template-columns: minmax(0, 1fr) minmax(360px, 499px);
		gap: 60px;
		width: calc(100% - 60px);
		margin-right: 0;
		margin-left: 60px;
	}

	.audience-page--admissions .notice-section,
	.audience-page--students .notice-section {
		grid-template-columns: minmax(0, 1fr) minmax(340px, 450px);
		margin-top: var(--school-space-section-wide);
	}

	.notice-section__content {
		position: relative;
		align-self: stretch;
		padding-top: 19px;
	}

	.notice-section__content .audience-section-heading {
		width: min(520px, 100%);
		margin-bottom: 28px;
		margin-left: 3px;
	}

	.notice-section__content .audience-section-heading > span {
		margin-bottom: 2px;
	}

	.notice-section__content .audience-section-heading h2 {
		width: min(520px, 100%);
		font-size: 32px;
		line-height: 45px;
	}

	.notice-section__content .audience-button--light {
		position: absolute;
		top: 63px;
		left: 554px;
		margin: 0;
	}

	.notice-section__image {
		width: min(499px, 100%);
		height: 600px;
		justify-self: end;
	}

	.audience-page--admissions .notice-section__image,
	.audience-page--students .notice-section__image {
		width: min(450px, 100%);
		height: 600px;
	}

	.journal-section {
		height: auto;
		min-height: 0;
		padding: var(--school-space-section-wide) 0;
	}

	.audience-page--students .journal-section {
		padding-top: 180px;
	}

	.audience-page--admissions .journal-section {
		height: auto;
		min-height: 0;
		padding-top: 180px;
	}

	.audience-page--alumni .journal-section {
		height: auto;
		min-height: 0;
	}

	.admissions-social {
		height: auto;
		min-height: 0;
		padding: 100px 0;
	}

	.journal-section__heading {
		margin-bottom: 26px;
	}

	.journal-grid {
		width: 100%;
		margin-left: 0;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: var(--school-space-gap);
	}

	.journal-card__image {
		height: auto;
		aspect-ratio: 425 / 239;
	}

}

/* Dynamic content archives and single pages. */
.dynamic-content-page {
	padding: 106px 0;
}

.dynamic-content-page__header {
	margin-bottom: 54px;
	text-align: center;
}

.dynamic-content-page__header span {
	color: #159edc;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0.16em;
}

.dynamic-content-page__header h1 {
	margin: 8px 0 0;
	font-size: clamp(2rem, 4vw, 3.5rem);
}

.dynamic-archive-list {
	display: grid;
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dynamic-archive-list a {
	display: grid;
	grid-template-columns: 130px minmax(0, 1fr);
	gap: 20px;
	padding: 24px;
	border: 1px solid #d9eaf3;
	border-radius: 10px;
	background: #fff;
	color: #222;
	text-decoration: none;
}

.dynamic-archive-list a:hover {
	border-color: #35a9eb;
	color: #1186cc;
}

.dynamic-single {
	width: min(calc(100% - 48px), 900px);
	margin: 0 auto;
	padding: 100px 0;
}

.dynamic-single__date {
	color: #222;
	font-weight: 700;
}

.dynamic-single h1 {
	margin: 12px 0 42px;
	font-size: clamp(1.9rem, 4vw, 3rem);
}

.dynamic-single__image {
	margin-bottom: 42px;
}

.dynamic-single__image img {
	width: 100%;
}

.dynamic-single .entry-content {
	font-size: 16px;
	line-height: 1.95;
}

.dynamic-single .entry-content .article-lead {
	margin-bottom: 34px;
	color: #334b5b;
	font-size: clamp(1.05rem, 2vw, 1.2rem);
	font-weight: 700;
	line-height: 1.9;
}

.dynamic-single .entry-content .article-divider {
	width: 72px;
	margin: 36px 0 52px;
	border: 0;
	border-top: 4px solid #34a9ef;
}

.dynamic-single .entry-content h2 {
	position: relative;
	margin-top: 2.4em;
	padding: 0.75em 0.9em 0.75em 1.25em;
	border: 0;
	border-radius: 0 14px 14px 0;
	background: #eef9ff;
	font-size: clamp(1.45rem, 3vw, 2rem);
}

.dynamic-single .entry-content h2::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 7px;
	border-radius: 7px;
	background: #34a9ef;
	content: "";
}

.dynamic-single .entry-content h3 {
	margin-top: 2em;
	padding: 0 0 0.45em;
	border: 0;
	border-bottom: 2px solid #c9eafc;
	color: #147dbb;
	font-size: clamp(1.15rem, 2.4vw, 1.4rem);
}

.dynamic-single .entry-content .article-highlight {
	margin: 30px 0 42px;
	padding: 26px 30px;
	border: 1px solid #9dd9f7;
	border-radius: 16px;
	background: linear-gradient(135deg, #f7fcff, #eaf8ff);
	box-shadow: 0 10px 28px rgba(31, 145, 208, 0.08);
}

.dynamic-single .entry-content .article-highlight > *:first-child {
	margin-top: 0;
	color: #147dbb;
	font-size: 1.08rem;
}

.dynamic-single .entry-content .article-highlight > *:last-child {
	margin-bottom: 0;
}

.dynamic-single .entry-content .article-highlight li + li {
	margin-top: 7px;
}

.dynamic-single .entry-content .article-quote {
	margin: 36px 0;
	padding: 24px 28px;
	border: 0;
	border-left: 6px solid #34a9ef;
	border-radius: 0 14px 14px 0;
	background: #f7f9fb;
	color: #334b5b;
}

.dynamic-single .entry-content .article-quote p {
	margin: 0;
	font-weight: 700;
}

.dynamic-single .entry-content .article-quote cite {
	display: block;
	margin-top: 12px;
	color: #617786;
	font-size: 14px;
	font-style: normal;
	text-align: right;
}

.dynamic-single .entry-content .article-note {
	margin-top: 38px;
	padding: 20px 24px;
	border-radius: 12px;
	background: #fff7d8;
	font-weight: 700;
}

.dynamic-single .entry-content .wp-block-buttons {
	margin-top: 34px;
}

.dynamic-single .entry-content .wp-block-button__link {
	display: inline-flex;
	min-height: 52px;
	align-items: center;
	justify-content: center;
	padding: 13px 28px;
	border-radius: 999px;
	background: #168ed6;
	color: #fff;
	font-weight: 800;
	text-decoration: none;
}

.dynamic-single .entry-content .wp-block-button__link:hover {
	background: #0879bb;
	color: #fff;
}

@media (min-width: 981px) and (max-width: 1400px) {
	.audience-page--admissions .notice-section,
	.audience-page--students .notice-section {
		grid-template-columns: minmax(0, 1fr) 38%;
		gap: 40px;
		width: calc(100% - 60px);
	}

	.audience-page--admissions .notice-section__content .audience-button--light,
	.audience-page--students .notice-section__content .audience-button--light {
		position: static;
		margin: 28px 0 0 auto;
	}

	.audience-page--admissions .notice-section__image,
	.audience-page--students .notice-section__image {
		width: 100%;
		height: 500px;
	}
}

@media (max-width: 980px) {
	.audience-section-width,
	.audience-page--admissions .admissions-banners__inner {
		width: min(calc(100% - 60px), 900px);
	}

	.admissions-hero {
		height: auto;
		min-height: 0;
		aspect-ratio: 2880 / 1724;
	}

	.admissions-hero__decoration--right {
		top: 76px;
		right: -104px;
		transform: scale(0.8);
	}

	.admissions-hero__decoration--left {
		bottom: -32px;
		left: -42px;
		transform: scale(0.72);
	}

	.admissions-hero__decoration--left-dots {
		bottom: -24px;
		left: -132px;
		transform: scale(0.8);
	}

	.audience-blue {
		padding: 142px 0;
	}

	.audience-blue--admissions {
		margin-top: 0;
		padding-top: 66px;
	}

	.audience-page--alumni .audience-blue {
		padding-bottom: 150px;
	}

	.audience-menu {
		grid-template-columns: 1fr;
		gap: 26px;
	}

	.audience-menu__heading {
		text-align: center;
	}

	.audience-page--admissions .audience-menu__heading {
		text-align: left;
	}

	.audience-page--admissions .audience-menu__heading > span,
	.audience-page--admissions .audience-menu__heading > h2 {
		left: 0;
	}

	.audience-page--students .audience-hero__english,
	.audience-page--alumni .audience-hero__english {
		font-size: clamp(34px, 5.5vw, 54px);
	}

	.audience-menu__links {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.audience-page--alumni .audience-menu__links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.notice-section {
		grid-template-columns: minmax(0, 1fr) 38%;
		gap: 40px;
	}

	.notice-section__image {
		height: 440px;
	}

	.journal-section__heading {
		grid-template-columns: minmax(0, 140px) minmax(0, 1fr) minmax(0, 140px);
		column-gap: 24px;
		width: min(100%, 620px);
	}

	.journal-section__illustration {
		display: block;
		width: 140px;
		height: 110px;
	}
}

@media (max-width: 640px) {
	.audience-section-width,
	.audience-page--admissions .admissions-banners__inner {
		width: calc(100% - 36px);
	}

	.admissions-hero {
		height: auto;
		min-height: 0;
		aspect-ratio: 750 / 1252;
	}

	.admissions-hero__slide img {
		object-position: 50% center;
	}

	/*
	 * The first two mobile hero images include different blue curves in the
	 * bitmap, while the third does not. One shared foreground curve masks those
	 * differences and joins every slide to the blue section at the same height.
	 */
	.admissions-hero::after {
		position: absolute;
		z-index: 3;
		right: -15%;
		bottom: 0;
		left: -15%;
		height: 21vw;
		border-radius: 50% 50% 0 0 / 100% 100% 0 0;
		background: #34a9ef;
		content: "";
		pointer-events: none;
	}

	.admissions-hero__bottom-curve {
		display: none;
	}

	.admissions-hero__decoration {
		display: none;
	}

	.admissions-hero__decoration--right {
		top: 44px;
		right: -118px;
		transform: scale(0.54);
	}

	.admissions-hero__decoration--left {
		bottom: -108px;
		left: -92px;
		transform: scale(0.48);
	}

	.admissions-hero__decoration--left-dots {
		bottom: -102px;
		left: -142px;
		transform: scale(0.56);
	}

	.audience-menu__heading-background {
		top: -46px;
		width: 340px;
		height: 240px;
	}

	.audience-menu__heading-illustration {
		width: 92px;
		height: 92px;
	}

	.audience-page--admissions .audience-menu__heading-illustration {
		position: absolute;
		top: 50%;
		right: 2px;
		width: 108px;
		height: 88px;
		margin: 0;
		transform: translateY(-50%);
	}

	.audience-page--admissions .audience-menu {
		gap: 10px;
	}

	.audience-page--admissions .audience-menu__heading {
		display: flex;
		min-height: 92px;
		flex-direction: column;
		justify-content: center;
		padding-right: 116px;
	}

	.audience-page--admissions .audience-menu__heading-background {
		top: -34px;
		height: 180px;
	}

	.audience-page--admissions .audience-menu__heading > span,
	.audience-page--admissions .audience-menu__heading > h2 {
		left: 0;
	}

	.audience-hero {
		aspect-ratio: 4 / 3;
		min-height: 390px;
	}

	.audience-hero__image {
		object-position: 58% center;
	}

	.audience-hero__english {
		max-width: 100%;
		font-size: clamp(2rem, 10vw, 3.3rem);
		white-space: normal;
	}

	.audience-page--students .audience-hero__english,
	.audience-page--alumni .audience-hero__english {
		font-size: clamp(36px, 9.75vw, 42px);
		transform: translateY(-18px);
	}

	.audience-hero h1 {
		margin-top: 10px;
		font-size: 1.8rem;
	}

	.audience-blue,
	.audience-blue--admissions,
	.audience-blue--alumni {
		margin-top: -2px;
		padding: 100px 0;
	}

	.audience-blue:not(.audience-blue--admissions)::after {
		height: 72px;
	}

	.audience-blue--admissions {
		margin-top: 0;
		padding-top: 58px;
	}

	.audience-page--alumni .audience-blue {
		padding-bottom: 140px;
	}

	.audience-menu__links,
	.audience-page--students .audience-menu__links,
	.audience-page--alumni .audience-menu__links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.audience-menu__item {
		min-height: 138px;
		padding-inline: 8px;
		font-size: 15px;
	}

	.audience-menu__item img {
		width: 44px;
		height: 44px;
	}

	.audience-page--admissions .audience-menu__item {
		min-height: 122px;
		padding: 14px 6px;
		font-size: 14px;
	}

	.audience-page--admissions .audience-menu__item img {
		width: 38px;
		height: 38px;
		margin-bottom: 10px;
	}

	.audience-page--admissions .audience-menu__item-sub {
		font-size: 12px;
	}

	.audience-page--admissions .audience-menu__item::after {
		right: 6px;
		bottom: 6px;
		width: 17px;
		height: 17px;
	}

	.audience-page--admissions .admissions-banners {
		margin-top: 48px;
	}

	.audience-page--admissions .admissions-banners__item,
	.audience-page--admissions .admissions-banners__item > span,
	.audience-page--admissions .admissions-banners__link > span {
		min-height: 0;
	}

	.audience-page--admissions .admissions-banners__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.notice-section {
		display: block;
		margin-top: 80px;
	}

	.notice-list a {
		display: block;
		padding: 15px 4px;
	}

	.notice-list time {
		display: block;
		margin-bottom: 4px;
		font-size: 15px;
	}

	.notice-section__image {
		height: 340px;
		margin-top: 44px;
		border-radius: 54px 0 0 54px;
	}

	.audience-page--admissions .notice-section__image,
	.audience-page--students .notice-section__image {
		display: none;
	}

	.audience-page--admissions .notice-section .audience-section-heading h2,
	.audience-page--students .notice-section .audience-section-heading h2 {
		font-size: 30px;
	}

	.admissions-campus {
		height: 300px;
	}

	.admissions-campus p {
		right: 0;
		bottom: 6px;
		left: 0;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		padding-inline: 8px;
		font-size: clamp(40px, 13vw, 76px);
		letter-spacing: 0.04em;
	}

	.admissions-social {
		min-height: 0;
		padding: var(--school-space-section-mobile) 0;
	}

	.audience-page--admissions .admissions-social {
		padding-top: 70px;
	}

	body .site-main.audience-page--admissions .admissions-social__heading h2 {
		font-size: 28px;
	}

	.admissions-social__panel {
		grid-template-columns: 1fr;
		gap: 48px;
		min-height: 0;
		padding: 44px 30px;
		border-radius: 30px;
	}

	.admissions-social__service-heading {
		height: auto;
	}

	.admissions-social__service-heading h3 {
		font-size: 1.45rem;
	}

	.admissions-social__service-heading a,
	.admissions-social__service-heading strong {
		font-size: 15px;
	}

	.admissions-social__mobile-break {
		display: initial;
	}

	.admissions-social__service-heading strong {
		line-height: 1.35;
	}

	.admissions-social__youtube-link,
	.admissions-social__x-link {
		width: min(230px, 100%);
		height: 46px;
		font-size: 16px;
	}

	.admissions-social__instagram-grid {
		height: 320px;
	}

	.admissions-social__instagram-feed {
		height: 320px;
	}

	.admissions-social__video {
		height: auto;
		aspect-ratio: 16 / 9;
	}

	.audience-button--light {
		margin-inline: auto;
	}

	.journal-section {
		padding: var(--school-space-section-mobile) 0;
	}

	.journal-section__heading {
		grid-template-columns: 72px minmax(0, 1fr) 72px;
		column-gap: 8px;
		width: 100%;
		margin-bottom: 36px;
	}

	.journal-section__illustration {
		width: 72px;
		height: 78px;
		transform: translateY(-12px);
	}

	.audience-page--admissions .journal-section__heading {
		grid-template-columns: 84px minmax(0, 1fr) 84px;
	}

	.audience-page--admissions .journal-section__illustration {
		width: 120px;
		height: 120px;
		max-width: none;
	}

	.journal-section__heading-copy > span {
		margin-bottom: 4px;
		font-size: 15px;
	}

	.journal-section__heading h2 {
		font-size: 30px;
		letter-spacing: 0.03em;
		white-space: nowrap;
	}

	.journal-grid {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.audience-button {
		min-width: min(280px, 100%);
	}

	.dynamic-content-page,
	.dynamic-single {
		padding: 72px 0;
	}

	.dynamic-archive-list a {
		display: block;
	}

	.dynamic-archive-list time {
		display: block;
		margin-bottom: 8px;
	}
}

@media (min-width: 641px) and (max-width: 1100px) and (orientation: portrait) {
	.audience-page--admissions .admissions-hero {
		height: auto;
		min-height: 0;
		aspect-ratio: 2880 / 1724;
	}

	.audience-page--admissions .admissions-hero__slide img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

@media (prefers-reduced-motion: reduce) {
	.admissions-hero__slide {
		transition: none;
	}
}

/* Six administrator-managed banners in a continuous marquee. */
@keyframes admissions-banner-marquee {
	to {
		transform: translate3d(-50%, 0, 0);
	}
}

.audience-page--admissions .admissions-banners__viewport {
	width: 100%;
	margin-inline: auto;
	overflow: hidden;
}

.audience-page--admissions .admissions-banners__viewport:focus-visible {
	outline: 3px solid #0078bd;
	outline-offset: -3px;
}

.audience-page--admissions .admissions-banners.is-swipe-enabled .admissions-banners__viewport {
	touch-action: pan-y pinch-zoom;
	cursor: grab;
	user-select: none;
	-webkit-user-select: none;
}

.audience-page--admissions .admissions-banners.is-swipe-enabled .admissions-banners__link {
	cursor: grab;
}

.audience-page--admissions .admissions-banners.is-dragging .admissions-banners__viewport,
.audience-page--admissions .admissions-banners.is-dragging .admissions-banners__link {
	cursor: grabbing;
}

.audience-page--admissions .admissions-banners.is-swipe-enabled .admissions-banners__inner {
	animation: none;
}

.audience-page--admissions .admissions-banners__inner {
	--admissions-banner-gap: clamp(8px, 1vw, 18px);
	--admissions-banner-set-width: 100vw;
	display: flex;
	width: max-content;
	max-width: none;
	gap: 0;
	margin: 0;
	padding: 6px 0;
	animation: admissions-banner-marquee 60s linear infinite;
	will-change: transform;
}

.audience-page--admissions .admissions-banners__set {
	display: grid;
	box-sizing: border-box;
	flex: 0 0 var(--admissions-banner-set-width);
	width: var(--admissions-banner-set-width);
	padding: 0 var(--admissions-banner-gap) 0 0;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: var(--admissions-banner-gap);
}

.audience-page--admissions .admissions-banners__item {
	min-width: 0;
	aspect-ratio: 648 / 282;
	box-shadow: 0 8px 24px rgba(0, 82, 134, 0.12);
}

.audience-page--admissions .admissions-banners__image {
	aspect-ratio: 648 / 282;
}

.audience-page--admissions .admissions-banners:hover .admissions-banners__inner,
.audience-page--admissions .admissions-banners__viewport:focus-within .admissions-banners__inner {
	animation-play-state: paused;
}

@media (max-width: 980px) {
	.audience-page--admissions .admissions-banners__inner {
		--admissions-banner-gap: 16px;
		--admissions-banner-set-width: 200vw;
	}
}

@media (max-width: 640px) {
	.audience-page--admissions .admissions-banners__inner {
		--admissions-banner-gap: 12px;
		--admissions-banner-set-width: 300vw;
	}
}

@media (prefers-reduced-motion: reduce) {
	.audience-page--admissions .admissions-banners__viewport {
		overflow-x: auto;
		scrollbar-width: thin;
	}

	.audience-page--admissions .admissions-banners__inner {
		animation: none;
		transform: none;
	}

	.audience-page--admissions .admissions-banners__set {
		flex-basis: auto;
		width: max-content;
		grid-template-columns: repeat(6, minmax(240px, 30vw));
	}

	.audience-page--admissions .admissions-banners__set[aria-hidden="true"] {
		display: none;
	}
}

/* On phones, swipe one banner at a time and stop at each image. */
@media (max-width: 640px) {
	.audience-page--admissions .admissions-banners__viewport {
		overflow-x: auto;
		overscroll-behavior-x: contain;
		touch-action: pan-x pan-y pinch-zoom;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.audience-page--admissions .admissions-banners__viewport::-webkit-scrollbar {
		display: none;
	}

	.audience-page--admissions .admissions-banners__inner {
		animation: none;
		transform: none;
		will-change: auto;
	}

	.audience-page--admissions .admissions-banners__set {
		flex-basis: auto;
		width: max-content;
		padding-inline: 24px;
		grid-template-columns: repeat(6, calc(100vw - 48px));
	}

	.audience-page--admissions .admissions-banners__set[aria-hidden="true"] {
		display: none;
	}

	.audience-page--admissions .admissions-banners__item {
		scroll-snap-align: center;
		scroll-snap-stop: always;
	}
}

/* Keep each banner and its image clipped to the same rounded corners. */
.audience-page--admissions .admissions-banners__item {
	border-radius: 10px;
	overflow: hidden;
}

.audience-page--admissions .admissions-banners__link,
.audience-page--admissions .admissions-banners__image {
	border-radius: 10px;
}
