/* Rensei Playful Robotics: header, inner pages and admission workflow. */

/* Header command center --------------------------------------------------- */
.home #rev_slider_3_1_wrapper,
.home #rev_slider_3_1 {
	height: clamp(148px, 38vw, 548px) !important;
	min-height: clamp(148px, 38vw, 548px) !important;
}

/* Keep the hero and its introduction visually connected. The legacy first
 * row contains a WPBakery spacer that can grow while Revolution Slider is
 * switching slides and leave a large white band. */
.home .entry-content > .vc_row:first-child,
.home .entry-content > .vc_row:first-child .wpb_content_element {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.home .entry-content > .vc_row:first-child .vc_empty_space {
	display: none !important;
	height: 0 !important;
}

.home .rensei-home-search-intro {
	margin-top: 18px;
}

.rensei-header-tools {
	position: relative;
	align-items: center;
	justify-content: flex-end;
	gap: 14px;
}

.rensei-command-search {
	position: relative;
	flex: 1 1 390px;
	max-width: 440px;
	margin: 0;
	z-index: 101;
}

.rensei-command-search__icon {
	position: absolute;
	top: 50%;
	left: 17px;
	color: #0b8ed8;
	font-size: 15px;
	transform: translateY(-50%);
	z-index: 2;
}

.header-form.rensei-command-search .form-control {
	height: 48px;
	padding: 0 86px 0 46px;
	border: 1px solid #d9e6f1;
	border-radius: 15px;
	background: #f7fafe;
	font-size: 14px;
}

.header-form.rensei-command-search .form-control:focus {
	background: #fff;
	border-color: #25a9e0;
	box-shadow: 0 0 0 4px rgba(37, 169, 224, 0.12), 0 14px 35px rgba(10, 40, 85, 0.12);
}

.rensei-command-search kbd {
	position: absolute;
	top: 50%;
	right: 48px;
	min-width: 24px;
	padding: 3px 7px;
	color: #75859a;
	background: #fff;
	border: 1px solid #d9e6f1;
	border-radius: 7px;
	box-shadow: 0 1px 2px rgba(10, 40, 85, 0.06);
	font-size: 11px;
	text-align: center;
	transform: translateY(-50%);
}

.rensei-command-search__submit {
	position: absolute;
	top: 50%;
	right: 6px;
	display: grid;
	width: 35px;
	height: 35px;
	padding: 0;
	place-items: center;
	color: #fff;
	background: linear-gradient(135deg, #123b78, #0b8ed8);
	border: 0;
	border-radius: 11px;
	transform: translateY(-50%);
}

.rensei-command-search__submit:hover {
	background: linear-gradient(135deg, #0b8ed8, #27b7ca);
}

.rensei-search-suggestions {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	left: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 6px;
	padding: 12px;
	visibility: hidden;
	background: rgba(255, 255, 255, 0.98);
	border: 1px solid #d9e6f1;
	border-radius: 15px;
	box-shadow: 0 22px 55px rgba(10, 40, 85, 0.18);
	opacity: 0;
	transform: translateY(-8px);
	transition: 180ms ease;
}

.rensei-command-search:focus-within .rensei-search-suggestions {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
}

.rensei-search-suggestions > span {
	grid-column: 1 / -1;
	padding: 0 4px 4px;
	color: #7b899b;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.rensei-search-suggestions a {
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 9px 7px;
	color: #24344a;
	background: #f5f9fd;
	border-radius: 10px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.25;
}

.rensei-search-suggestions a:hover {
	color: #0b69a7;
	background: #eaf6fc;
	text-decoration: none;
}

.rensei-header-hotline {
	display: flex;
	align-items: center;
	gap: 9px;
	flex: 0 0 auto;
	color: #123b78;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
}

.rensei-header-hotline:hover {
	color: #0b8ed8;
	text-decoration: none;
}

.rensei-header-hotline > i {
	display: grid;
	width: 39px;
	height: 39px;
	place-items: center;
	color: #0b8ed8;
	background: #eaf7fc;
	border-radius: 12px;
}

.rensei-header-hotline small {
	display: block;
	margin-bottom: 2px;
	color: #8090a4;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.rensei-header-cta {
	min-height: 44px;
	padding: 0 17px;
	color: #082b5a;
	background: linear-gradient(135deg, #ffe15b, #ffbd2e);
	border: 0;
	border-radius: 13px;
	box-shadow: 0 8px 20px rgba(246, 174, 33, 0.23);
	font-size: 13px;
	font-weight: 800;
	white-space: nowrap;
}

.rensei-header-cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 24px rgba(246, 174, 33, 0.3);
}

@media (min-width: 992px) {
	.middle-header {
		min-height: 82px;
	}

	.nav-header .primery-menu {
		position: static;
		width: 100%;
		height: auto;
		overflow: visible;
		background: transparent;
	}

	.nav-header ul#main-menu {
		justify-content: center;
	}

	.nav-header ul#main-menu > li > a {
		min-height: 50px;
		padding: 9px 15px;
		color: #fff;
	}
}

/* Mobile navigation ------------------------------------------------------ */
@media (max-width: 991.98px) {
	.middle-header {
		position: relative;
		min-height: 72px;
		padding: 7px 0;
		z-index: 80;
	}

	a.mobile-menu {
		width: 44px;
		height: 44px;
		padding: 13px 10px;
		background: #eef7fc;
		border: 1px solid #d8eaf4;
		border-radius: 13px;
	}

	a.mobile-menu span {
		right: 10px;
		left: 10px;
		width: auto;
		height: 2px;
	}

	a.mobile-menu span:nth-child(1) { top: 13px; }
	a.mobile-menu span:nth-child(2),
	a.mobile-menu span:nth-child(3) { top: 20px; }
	a.mobile-menu span:nth-child(4) { top: 27px; }

	.header .primery-menu {
		position: fixed;
		top: 0;
		right: min(-94vw, -420px);
		left: auto;
		width: min(94vw, 420px);
		height: 100vh;
		height: 100dvh;
		padding: 0;
		color: #fff;
		background:
			radial-gradient(circle at 100% 0, rgba(40, 183, 202, 0.22), transparent 38%),
			linear-gradient(165deg, #071f43 0%, #0b336a 55%, #0a2855 100%);
		box-shadow: -22px 0 65px rgba(0, 0, 0, 0.3);
		overflow-x: hidden;
		overflow-y: auto;
		transition: right 260ms cubic-bezier(.2,.8,.2,1);
		z-index: 1002;
	}

	.header .primery-menu::before {
		position: absolute;
		top: 110px;
		right: -80px;
		width: 220px;
		height: 220px;
		content: "";
		background-image: radial-gradient(rgba(57, 193, 214, 0.24) 1.5px, transparent 1.5px);
		background-size: 15px 15px;
		border-radius: 50%;
		pointer-events: none;
	}

	.header .primery-menu.display { right: 0; left: auto; }

	.panel-overlay { z-index: 1001; backdrop-filter: blur(4px); }

	.rensei-mobile-nav__head {
		position: sticky;
		top: 0;
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 76px;
		padding: 15px 18px;
		background: rgba(7, 31, 67, 0.92);
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
		backdrop-filter: blur(12px);
		z-index: 3;
	}

	.rensei-mobile-nav__head span {
		display: block;
		margin-bottom: 4px;
		color: #51c7d8;
		font-size: 9px;
		font-weight: 800;
		letter-spacing: 0.16em;
	}

	.rensei-mobile-nav__head strong { font-size: 17px; }

	.rensei-mobile-nav__head button {
		display: grid;
		width: 42px;
		height: 42px;
		padding: 0;
		place-items: center;
		color: #fff;
		background: rgba(255, 255, 255, 0.09);
		border: 1px solid rgba(255, 255, 255, 0.13);
		border-radius: 12px;
	}

	.rensei-mobile-search {
		position: relative;
		display: flex;
		align-items: center;
		margin: 17px 18px 12px;
		background: rgba(255, 255, 255, 0.1);
		border: 1px solid rgba(255, 255, 255, 0.16);
		border-radius: 14px;
	}

	.rensei-mobile-search > i { margin-left: 15px; color: #50c5d8; }

	.rensei-mobile-search input {
		flex: 1;
		min-width: 0;
		height: 48px;
		padding: 0 10px;
		color: #fff;
		background: transparent;
		border: 0;
		outline: 0;
	}

	.rensei-mobile-search input::placeholder { color: rgba(255, 255, 255, 0.6); }

	.rensei-mobile-search button {
		display: grid;
		width: 36px;
		height: 36px;
		margin-right: 6px;
		padding: 0;
		place-items: center;
		color: #082b5a;
		background: #ffe15b;
		border: 0;
		border-radius: 10px;
	}

	.header .primery-menu #main-menu {
		position: relative;
		padding: 4px 18px 12px !important;
		counter-reset: nav-item;
		z-index: 1;
	}

	.header .primery-menu #main-menu > li {
		position: relative;
		counter-increment: nav-item;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	}

	.header .primery-menu #main-menu > li > a {
		position: relative;
		padding: 14px 46px 14px 39px;
		color: #fff;
		border: 0;
		font-size: 15px;
		font-weight: 700;
	}

	.header .primery-menu #main-menu > li > a::before {
		position: absolute;
		top: 16px;
		left: 3px;
		content: counter(nav-item, decimal-leading-zero);
		color: #51c7d8;
		font-size: 9px;
		font-weight: 800;
		letter-spacing: 0.08em;
	}

	.header .primery-menu #main-menu > li.current-menu-item > a,
	.header .primery-menu #main-menu > li.current-menu-ancestor > a {
		color: #ffe15b;
	}

	.rensei-submenu-toggle {
		position: absolute;
		top: 8px;
		right: 0;
		display: grid;
		width: 38px;
		height: 38px;
		padding: 0;
		place-items: center;
		color: #fff;
		background: rgba(255, 255, 255, 0.08);
		border: 0;
		border-radius: 10px;
		z-index: 2;
	}

	.rensei-submenu-toggle.submenu-opened { color: #082b5a; background: #ffe15b; }
	.rensei-submenu-toggle.submenu-opened i::before { content: "\f068"; }

	.header .primery-menu ul.sub-menu {
		position: static;
		display: none;
		width: auto;
		margin: 0 0 10px 20px;
		padding: 5px 0 5px 12px;
		background: rgba(0, 0, 0, 0.12);
		border: 0;
		border-left: 2px solid rgba(81, 199, 216, 0.5);
		border-radius: 0 10px 10px 0;
		box-shadow: none;
	}

	.header .primery-menu ul.sub-menu.open { display: block; }

	.header .primery-menu ul.sub-menu li a {
		padding: 10px 40px 10px 11px;
		color: rgba(255, 255, 255, 0.82);
		background: transparent;
		border: 0;
		font-size: 13px;
	}

	.header .primery-menu ul.sub-menu .rensei-submenu-toggle { top: 2px; }

	.rensei-mobile-nav__foot {
		padding: 15px 18px 26px;
		background: rgba(0, 0, 0, 0.13);
		border-top: 1px solid rgba(255, 255, 255, 0.08);
	}

	.rensei-mobile-nav__foot > button {
		width: 100%;
		min-height: 48px;
		color: #082b5a;
		background: linear-gradient(135deg, #ffe15b, #ffbd2e);
		border: 0;
		border-radius: 13px;
		font-weight: 800;
	}

	.rensei-mobile-nav__foot > div {
		display: flex;
		align-items: center;
		gap: 9px;
		margin-top: 12px;
	}

	.rensei-mobile-nav__foot a {
		display: grid;
		min-width: 38px;
		height: 38px;
		padding: 0 11px;
		place-items: center;
		color: #fff;
		background: rgba(255, 255, 255, 0.08);
		border-radius: 10px;
		font-size: 12px;
		font-weight: 700;
	}

	.rensei-mobile-nav__foot a:first-child {
		display: flex;
		flex: 1;
		gap: 8px;
	}
}

/* Modern inner pages ----------------------------------------------------- */
.rensei-showcase-page .page-header {
	position: relative;
	background-color: #082b5a;
	background-blend-mode: soft-light;
	overflow: hidden;
}

.rensei-showcase-page .page-header::before,
.rensei-showcase-page .page-header::after {
	position: absolute;
	content: "";
	pointer-events: none;
}

.rensei-showcase-page .page-header::before {
	inset: 0;
	background-image: linear-gradient(rgba(81,199,216,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(81,199,216,.09) 1px, transparent 1px);
	background-size: 28px 28px;
}

.rensei-showcase-page .page-header::after {
	right: 8%;
	bottom: -85px;
	width: 240px;
	height: 240px;
	border: 1px solid rgba(255, 225, 91, 0.28);
	border-radius: 50%;
	box-shadow: 0 0 0 32px rgba(81, 199, 216, 0.08), 0 0 0 70px rgba(81, 199, 216, 0.05);
}

.rensei-showcase-page .page-header .bg-linear {
	position: relative;
	background: linear-gradient(105deg, rgba(6,27,59,.92), rgba(10,63,115,.72)) !important;
	z-index: 1;
}

.rensei-showcase-page .page-header .flex-bg { min-height: 210px; height: auto !important; padding: 46px 0; }
.rensei-showcase-page .page-header h1 { max-width: 920px; margin: 0; color: #fff; font-size: clamp(30px, 4vw, 52px); font-weight: 800; text-align: center; text-shadow: none; }

.rensei-inner-wrapper {
	padding: 58px 0 90px;
	background:
		radial-gradient(circle at 7% 4%, rgba(47, 183, 210, 0.1), transparent 24%),
		linear-gradient(180deg, #f7fbfe, #fff 32%);
}

.rensei-inner-row { display: block; margin: 0; }
.rensei-inner-main { padding: 0; }

.rensei-inner-intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 220px;
	gap: 34px;
	align-items: center;
	margin-bottom: 42px;
	padding: 32px 36px;
	color: #fff;
	background:
		radial-gradient(circle at 85% 25%, rgba(81, 199, 216, 0.2), transparent 27%),
		linear-gradient(130deg, #082b5a, #0f4a87);
	border: 1px solid rgba(81, 199, 216, 0.25);
	border-radius: 24px;
	box-shadow: 0 20px 55px rgba(8, 43, 90, 0.18);
	overflow: hidden;
}

.rensei-inner-intro h2 { margin: 9px 0 10px; color: #fff; font-size: clamp(26px, 3.2vw, 42px); font-weight: 800; line-height: 1.15; }
.rensei-inner-intro p { max-width: 740px; margin: 0; color: rgba(255,255,255,.76); font-size: 16px; line-height: 1.75; }

.rensei-inner-intro__console {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, 10px) 1fr;
	gap: 8px;
	align-items: center;
	min-height: 118px;
	padding: 21px;
	background: rgba(2, 20, 46, 0.55);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 18px;
}

.rensei-inner-intro__console::after { position: absolute; right: 20px; bottom: 18px; left: 20px; height: 2px; content: ""; background: linear-gradient(90deg, #51c7d8 72%, rgba(255,255,255,.1) 72%); box-shadow: 0 -9px 22px rgba(81,199,216,.3); }
.rensei-inner-intro__console > span { grid-column: 1 / -1; color: #51c7d8; font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.rensei-inner-intro__console i { width: 8px; height: 8px; background: #51c7d8; border-radius: 50%; }
.rensei-inner-intro__console i:nth-of-type(2) { background: #ffe15b; }
.rensei-inner-intro__console i:nth-of-type(3) { background: #27b36a; }
.rensei-inner-intro__console strong { justify-self: end; color: #8de5a9; font-size: 11px; letter-spacing: .1em; }

.rensei-showcase-page .entry-content {
	color: #33445a;
	font-size: 16px;
	line-height: 1.8;
}

.rensei-showcase-page .entry-content img { height: auto; border-radius: 18px; box-shadow: 0 14px 36px rgba(10,40,85,.12); }
.rensei-showcase-page .entry-content strong { color: #123b78; }
.rensei-content-block { padding: 18px 22px; background: #fff; border-left: 3px solid #42bed2; border-radius: 0 14px 14px 0; box-shadow: 0 8px 28px rgba(10,40,85,.07); }

.rensei-table-scroll { width: 100%; margin: 24px 0; border: 1px solid #dbe8f2; border-radius: 16px; box-shadow: 0 12px 32px rgba(10,40,85,.08); overflow-x: auto; }
.rensei-table-scroll table { width: 100%; min-width: 680px; margin: 0; background: #fff; }
.rensei-table-scroll td, .rensei-table-scroll th { padding: 13px 16px; border: 1px solid #e2ebf3; }
.rensei-table-scroll tr:nth-child(even) { background: #f6fafe; }

.page-id-17 .rensei-legacy-reasons { display: none; }
.page-id-17 .entry-content > .vc_row { margin-bottom: 22px; }
.page-id-17 .introduction--tabs { border: 1px solid #dce9f3; border-radius: 18px; box-shadow: 0 12px 34px rgba(10,40,85,.08); overflow: hidden; }

/* Science library -------------------------------------------------------- */
.rensei-science-grid { display: grid; gap: 18px; }
.rensei-science-grid--grades { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.rensei-science-grid--topics { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.rensei-science-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 15px;
	min-height: 132px;
	padding: 22px;
	color: #20344d;
	background: #fff;
	border: 1px solid #dce9f3;
	border-radius: 19px;
	box-shadow: 0 10px 30px rgba(10,40,85,.08);
	overflow: hidden;
}

.rensei-science-card::before { position: absolute; top: 0; right: 0; left: 0; height: 4px; content: ""; background: linear-gradient(90deg, #2db8d2, #0b8ed8, #735ee8); transform: scaleX(.35); transform-origin: left; transition: transform 220ms ease; }
.rensei-science-card:hover { color: #123b78; border-color: #8ed8e5; box-shadow: 0 18px 42px rgba(10,40,85,.14); text-decoration: none; transform: translateY(-5px); }
.rensei-science-card:hover::before { transform: scaleX(1); }
.rensei-science-card__index { position: absolute; top: 12px; right: 14px; color: #d8e5ef; font-size: 25px; font-weight: 900; }
.rensei-science-card__icon { display: grid; flex: 0 0 48px; width: 48px; height: 48px; place-items: center; color: #0b8ed8; background: #eaf7fc; border-radius: 14px; font-size: 20px; }
.rensei-science-card__copy { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.rensei-science-card__copy small { margin-bottom: 5px; color: #32a9bf; font-size: 9px; font-style: normal; font-weight: 800; letter-spacing: .12em; }
.rensei-science-card__copy strong { color: #173557; font-size: 15px; line-height: 1.4; }
.rensei-science-card__copy em { margin-top: 7px; color: #8090a4; font-size: 11px; font-style: normal; }
.rensei-science-card__arrow { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; color: #fff; background: #123b78; border-radius: 50%; font-size: 11px; transition: transform 180ms ease; }
.rensei-science-card:hover .rensei-science-card__arrow { background: #0b8ed8; transform: translateX(3px); }

.rensei-science-grid--grades .rensei-science-card { flex-direction: column; align-items: flex-start; min-height: 210px; }
.rensei-science-grid--grades .rensei-science-card__icon { width: 62px; height: 62px; flex-basis: 62px; font-size: 25px; }
.rensei-science-grid--grades .rensei-science-card__arrow { position: absolute; right: 18px; bottom: 18px; }

.rensei-science-topic .rensei-duplicate-topic-title { display: none; }
.rensei-science-topic .page-header { display: none; }
.rensei-science-topic .rensei-science-notebook { position: relative; background-image: linear-gradient(#e9f3f8 1px, transparent 1px); background-size: 100% 32px; }
.rensei-science-topic .rensei-science-notebook::before { position: absolute; top: 0; bottom: 0; left: 42px; width: 2px; content: ""; background: rgba(237,28,36,.15); pointer-events: none; }

/* Course detail pages ---------------------------------------------------- */
.single-course .rensei-course-wrapper { padding: 58px 0 90px; }
.single-course .rensei-course-wrapper > .container { max-width: 1320px; }
.single-course .rensei-lab-article { max-width: 1240px; }
.single-course .rensei-reading-layout { grid-template-columns: 72px minmax(0, 1fr); gap: 24px; max-width: 1240px; }
.single-course .rensei-article-copy { width: 100%; max-width: none; padding: 50px clamp(28px, 5vw, 70px); }
.single-course .rensei-article-copy > .vc_row { width: 100%; }
.single-course .rensei-article-copy .wpb_single_image img { width: 100%; }
.single-course .rensei-topic-pill { color: #123b78; background: #eaf7fc; border-color: #bfe5f2; }

@media (max-width: 991.98px) {
	.single-course .rensei-reading-layout { grid-template-columns: 1fr; }
	.single-course .rensei-reading-rail { display: none; }
}

/* Contact, maps and careers --------------------------------------------- */
.rensei-contact-page .entry-content,
.rensei-career-page .entry-content {
	max-width: 1120px;
	margin: 0 auto;
}

.rensei-contact-page .entry-content > .vc_row,
.rensei-career-page .entry-content > .vc_row {
	margin-bottom: 24px;
}

.rensei-contact-page .vc_tta-container {
	margin: 0 auto 34px;
	padding: 24px;
	background: #fff;
	border: 1px solid #dce9f3;
	border-radius: 20px;
	box-shadow: 0 14px 38px rgba(10,40,85,.08);
}

.rensei-contact-page .vc_tta-panel-heading {
	margin-bottom: 8px !important;
	background: #f4f9fd !important;
	border: 1px solid #dce9f3 !important;
	border-radius: 12px !important;
}

.rensei-contact-page .vc_tta-panel-title a { color: #173557 !important; font-weight: 700; }
.rensei-contact-page .vc_tta-panel.vc_active .vc_tta-panel-heading { background: #e9f7fc !important; border-color: #9bd9e6 !important; }

.rensei-contact-maps { max-width: 1180px; margin: 76px auto 20px; }
.rensei-map-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.rensei-map-card { background: #fff; border: 1px solid #dce9f3; border-radius: 22px; box-shadow: 0 16px 44px rgba(10,40,85,.1); overflow: hidden; }
.rensei-map-card__head { display: flex; align-items: center; justify-content: space-between; padding: 21px 23px; color: #fff; background: linear-gradient(120deg, #123b78, #0b8ed8); }
.rensei-map-card--stem .rensei-map-card__head { background: linear-gradient(120deg, #4338a8, #755ce7); }
.rensei-map-card__head span { display: block; margin-bottom: 3px; color: #ffe15b; font-size: 9px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.rensei-map-card__head h3 { margin: 0; color: #fff; font-size: 22px; font-weight: 800; }
.rensei-map-card__head > i { display: grid; width: 44px; height: 44px; place-items: center; color: #123b78; background: #ffe15b; border-radius: 13px; font-size: 19px; }
.rensei-map-card__frame { position: relative; height: 330px; background: #eaf4fa; }
.rensei-map-card__frame::before { position: absolute; inset: 0; display: grid; content: "Đang tải bản đồ…"; place-items: center; color: #6d7f94; font-size: 12px; }
.rensei-map-card__frame iframe { position: relative; width: 100%; height: 100%; border: 0; z-index: 1; }
.rensei-map-card__info { padding: 21px 23px 23px; }
.rensei-map-card__info > p { display: grid; grid-template-columns: 28px 1fr; gap: 7px; min-height: 54px; margin: 0 0 15px; color: #52657b; font-size: 13px; line-height: 1.6; }
.rensei-map-card__info > p i { color: #0b8ed8; font-size: 16px; }
.rensei-map-card__info > div { display: flex; flex-wrap: wrap; gap: 8px; }
.rensei-map-card__info a { display: inline-flex; align-items: center; gap: 7px; min-height: 37px; padding: 0 11px; color: #123b78; background: #edf7fc; border-radius: 10px; font-size: 11px; font-weight: 800; }
.rensei-map-card__info a:hover { color: #fff; background: #0b8ed8; text-decoration: none; }
.rensei-map-card__info .rensei-map-directions { margin-left: auto; color: #fff; background: #123b78; }

.rensei-career-page .entry-content {
	padding: clamp(25px, 5vw, 58px);
	color: #3d4f65;
	background: #fff;
	border: 1px solid #dce9f3;
	border-radius: 24px;
	box-shadow: 0 18px 52px rgba(10,40,85,.1);
	font-size: 16px;
	line-height: 1.8;
}

.rensei-career-page .entry-content p { margin-bottom: 1.1em; }
.rensei-career-page .entry-content > p:first-child strong { display: block; margin-bottom: 18px; color: #123b78; font-size: clamp(24px, 3.5vw, 38px); font-weight: 800; line-height: 1.2; }
.rensei-career-page .rensei-career-heading { margin: 34px 0 14px !important; padding: 13px 16px; color: #123b78; background: linear-gradient(90deg, #eaf7fc, #f7fbfe); border-left: 4px solid #2db8d2; border-radius: 0 11px 11px 0; font-size: 18px; font-weight: 800; }
.rensei-career-page .rensei-career-apply { padding: 18px 20px; color: #fff; background: linear-gradient(115deg, #123b78, #0b8ed8); border-radius: 14px; }
.rensei-career-page .rensei-career-apply a { color: #ffe15b; }
.rensei-career-email { display: inline-flex; align-items: center; min-height: 38px; padding: 0 12px; color: #123b78 !important; background: #eaf7fc; border-radius: 9px; font-weight: 800; }

/* Gallery archive -------------------------------------------------------- */
.rensei-gallery-wrapper { padding: 58px 0 90px; background: radial-gradient(circle at 8% 4%, rgba(45,184,210,.1), transparent 25%), linear-gradient(180deg, #f7fbfe, #fff 36%); }
.rensei-gallery-intro { display: grid; grid-template-columns: 1fr 250px; gap: 35px; align-items: center; margin-bottom: 30px; padding: 34px 38px; color: #fff; background: radial-gradient(circle at 88% 20%, rgba(81,199,216,.25), transparent 28%), linear-gradient(125deg, #071f43, #0d4985); border-radius: 24px; box-shadow: 0 20px 55px rgba(7,31,67,.18); }
.rensei-gallery-intro h2 { margin: 8px 0 10px; color: #fff; font-size: clamp(29px, 4vw, 43px); font-weight: 800; }
.rensei-gallery-intro p { max-width: 760px; margin: 0; color: rgba(255,255,255,.7); line-height: 1.7; }
.rensei-gallery-intro__camera { display: grid; min-height: 130px; place-items: center; background: rgba(0,0,0,.18); border: 1px solid rgba(255,255,255,.13); border-radius: 17px; }
.rensei-gallery-intro__camera i { color: #ffe15b; font-size: 35px; }
.rensei-gallery-intro__camera span { color: #51c7d8; font-size: 9px; font-weight: 900; letter-spacing: .13em; }
.rensei-gallery-filters { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 30px; padding: 13px 15px 13px 20px; background: #fff; border: 1px solid #dce9f3; border-radius: 16px; box-shadow: 0 9px 26px rgba(10,40,85,.07); }
.rensei-gallery-filters > span { color: #738499; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.rensei-gallery-filters ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.rensei-gallery-filters a { display: flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 13px; color: #456078; background: #f4f9fd; border-radius: 10px; font-size: 12px; font-weight: 800; }
.rensei-gallery-filters a small { display: grid; min-width: 21px; height: 21px; place-items: center; color: #0b8ed8; background: #fff; border-radius: 7px; }
.rensei-gallery-filters .is-active a, .rensei-gallery-filters a:hover { color: #fff; background: #123b78; text-decoration: none; }
.rensei-gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 21px; }
.rensei-gallery-card { background: #fff; border: 1px solid #dce9f3; border-radius: 20px; box-shadow: 0 11px 32px rgba(10,40,85,.08); overflow: hidden; transition: 220ms ease; }
.rensei-gallery-card:hover { border-color: #8ed8e5; box-shadow: 0 19px 45px rgba(10,40,85,.14); transform: translateY(-5px); }
.rensei-gallery-card__image { position: relative; display: block; aspect-ratio: 16 / 10; background: #eaf4fa; overflow: hidden; }
.rensei-gallery-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 350ms ease; }
.rensei-gallery-card:hover .rensei-gallery-card__image img { transform: scale(1.045); }
.rensei-gallery-card__image > span { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; background: rgba(7,31,67,.3); font-size: 23px; opacity: 0; transition: opacity 200ms ease; }
.rensei-gallery-card:hover .rensei-gallery-card__image > span { opacity: 1; }
.rensei-gallery-card__copy { padding: 21px 22px 23px; }
.rensei-gallery-card__copy > small { display: block; margin-bottom: 8px; color: #2baec4; font-size: 9px; font-weight: 900; letter-spacing: .13em; }
.rensei-gallery-card__copy h3 { min-height: 50px; margin: 0 0 15px; font-size: 17px; font-weight: 800; line-height: 1.45; }
.rensei-gallery-card__copy h3 a { color: #173557; }
.rensei-gallery-card__copy h3 a:hover { color: #0b8ed8; text-decoration: none; }
.rensei-gallery-card__link { display: inline-flex; align-items: center; gap: 9px; color: #123b78; font-size: 11px; font-weight: 800; }
.rensei-gallery-card__link i { display: grid; width: 24px; height: 24px; place-items: center; color: #fff; background: #0b8ed8; border-radius: 7px; font-size: 8px; }
.rensei-gallery-pagination { margin-top: 38px; }

@media (max-width: 991.98px) {
	.rensei-map-grid { grid-template-columns: 1fr; }
	.rensei-gallery-intro { grid-template-columns: 1fr; }
	.rensei-gallery-intro__camera { display: none; }
	.rensei-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
	.rensei-contact-maps { margin-top: 54px; }
	.rensei-map-card__frame { height: 280px; }
	.rensei-map-card__info .rensei-map-directions { margin-left: 0; }
	.rensei-career-page .entry-content { padding: 25px 20px; border-radius: 18px; }
	.rensei-gallery-wrapper { padding: 32px 0 68px; }
	.rensei-gallery-intro { padding: 27px 21px; border-radius: 19px; }
	.rensei-gallery-filters { align-items: flex-start; flex-direction: column; }
	.rensei-gallery-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767.98px) {
	.single-course .rensei-course-wrapper { padding: 32px 0 65px; }
	.single-course .rensei-article-copy { padding: 28px 20px; }
}

/* Why learn / Why Rensei ------------------------------------------------- */
.rensei-reasons { margin: 82px 0 30px; }
.rensei-section-heading { max-width: 780px; margin: 0 auto 34px; text-align: center; }
.rensei-section-heading h2 { margin: 8px 0 12px; color: #123b78; font-size: clamp(28px, 4vw, 44px); font-weight: 800; line-height: 1.16; }
.rensei-section-heading p { margin: 0; color: #66778c; font-size: 16px; line-height: 1.75; }
.rensei-reason-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 17px; }

.rensei-reason-card {
	position: relative;
	min-height: 272px;
	padding: 25px 23px;
	background: #fff;
	border: 1px solid #dce9f3;
	border-radius: 20px;
	box-shadow: 0 10px 30px rgba(10,40,85,.07);
	overflow: hidden;
}

.rensei-reason-card::before { position: absolute; top: 0; right: 0; left: 0; height: 4px; content: ""; background: var(--card-accent); }
.rensei-reason-card::after { position: absolute; right: -38px; bottom: -38px; width: 115px; height: 115px; content: ""; border: 16px solid color-mix(in srgb, var(--card-accent) 12%, transparent); border-radius: 50%; }
.rensei-reason-card__icon { display: grid; width: 52px; height: 52px; margin-bottom: 20px; place-items: center; color: var(--card-accent); background: color-mix(in srgb, var(--card-accent) 11%, white); border-radius: 15px; font-size: 22px; }
.rensei-reason-card small { display: block; margin-bottom: 7px; color: var(--card-accent); font-size: 9px; font-weight: 900; letter-spacing: .14em; }
.rensei-reason-card h3 { margin-bottom: 10px; color: #15385f; font-size: 19px; font-weight: 800; line-height: 1.35; }
.rensei-reason-card p { position: relative; margin: 0; color: #66778c; font-size: 14px; line-height: 1.7; z-index: 1; }
.rensei-reason-card:hover { border-color: color-mix(in srgb, var(--card-accent) 45%, #dce9f3); box-shadow: 0 18px 42px rgba(10,40,85,.12); transform: translateY(-5px); }

.rensei-why-us {
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	margin: 42px 0 82px;
	color: #fff;
	background:
		radial-gradient(circle at 18% 30%, rgba(81,199,216,.2), transparent 29%),
		linear-gradient(135deg, #071f43, #0d3f78);
	border-radius: 26px;
	box-shadow: 0 24px 65px rgba(7,31,67,.22);
	overflow: hidden;
}

.rensei-why-us__visual { position: relative; display: grid; min-height: 580px; place-items: center; background-image: radial-gradient(rgba(81,199,216,.23) 1.4px, transparent 1.4px); background-size: 19px 19px; overflow: hidden; }
.rensei-why-us__visual > strong { position: absolute; bottom: 37px; left: 38px; color: rgba(255,255,255,.22); font-size: clamp(29px, 4vw, 48px); font-weight: 900; line-height: .9; letter-spacing: -.03em; }
.rensei-why-us__robot { position: relative; width: 145px; height: 108px; background: linear-gradient(145deg, #fff, #dff6fb); border: 5px solid #51c7d8; border-radius: 35px; box-shadow: 0 0 0 14px rgba(81,199,216,.1), 0 24px 55px rgba(0,0,0,.25); z-index: 2; }
.rensei-why-us__robot i { position: absolute; top: 33px; width: 20px; height: 25px; background: #123b78; border-radius: 50%; box-shadow: inset 0 -6px 0 #0b8ed8; }
.rensei-why-us__robot i:first-of-type { left: 31px; }
.rensei-why-us__robot i:last-of-type { right: 31px; }
.rensei-why-us__robot b { position: absolute; bottom: 22px; left: 50%; width: 38px; height: 6px; background: #ffd340; border-radius: 99px; transform: translateX(-50%); }
.rensei-why-us__robot .antenna { position: absolute; top: -37px; left: 50%; width: 4px; height: 32px; background: #51c7d8; transform: translateX(-50%); }
.rensei-why-us__robot .antenna::before { position: absolute; top: -7px; left: -5px; width: 14px; height: 14px; content: ""; background: #ffe15b; border-radius: 50%; box-shadow: 0 0 18px rgba(255,225,91,.65); }
.rensei-why-us .orbit { position: absolute; width: 270px; height: 270px; border: 1px solid rgba(81,199,216,.32); border-radius: 50%; }
.rensei-why-us .orbit--two { width: 360px; height: 360px; border-color: rgba(255,225,91,.14); }

.rensei-why-us__content { padding: 55px 52px 52px 15px; }
.rensei-why-us__content h2 { margin: 10px 0 26px; color: #fff; font-size: clamp(29px, 3.5vw, 43px); font-weight: 800; }
.rensei-why-us__content ul { margin: 0 0 28px; padding: 0; list-style: none; }
.rensei-why-us__content li { display: grid; grid-template-columns: 58px 1fr; gap: 15px; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.11); }
.rensei-why-us__content li > span { display: grid; width: 50px; height: 50px; place-items: center; color: #ffe15b; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: 14px; font-size: 15px; font-weight: 900; }
.rensei-why-us__content li strong { display: block; margin-bottom: 4px; color: #fff; font-size: 16px; }
.rensei-why-us__content li p { margin: 0; color: rgba(255,255,255,.65); font-size: 13px; line-height: 1.55; }
.rensei-why-us__cta { min-height: 50px; padding: 0 20px; color: #082b5a; background: linear-gradient(135deg, #ffe15b, #ffbd2e); border: 0; border-radius: 14px; font-weight: 800; }
.rensei-why-us__cta i { margin-left: 8px; }

/* Admission -------------------------------------------------------------- */
.rensei-enrollment { display: grid; grid-template-columns: .78fr 1.22fr; margin: 0 0 30px; background: #fff; border: 1px solid #dce9f3; border-radius: 26px; box-shadow: 0 22px 60px rgba(10,40,85,.13); overflow: hidden; }
.rensei-enrollment__aside { position: relative; padding: 48px 38px; color: #fff; background: radial-gradient(circle at 90% 8%, rgba(81,199,216,.23), transparent 28%), linear-gradient(155deg, #071f43, #0c447f); overflow: hidden; }
.rensei-enrollment__aside::after { position: absolute; right: -75px; bottom: -75px; width: 220px; height: 220px; content: ""; background-image: radial-gradient(rgba(81,199,216,.3) 1.5px, transparent 1.5px); background-size: 15px 15px; border-radius: 50%; }
.rensei-enrollment__aside h2 { margin: 10px 0 15px; color: #fff; font-size: clamp(29px, 3.4vw, 42px); font-weight: 800; line-height: 1.15; }
.rensei-enrollment__aside > p { color: rgba(255,255,255,.7); line-height: 1.75; }
.rensei-enrollment__aside ol { position: relative; margin: 36px 0; padding: 0; list-style: none; z-index: 1; }
.rensei-enrollment__aside li { display: grid; grid-template-columns: 48px 1fr; gap: 13px; align-items: center; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.11); }
.rensei-enrollment__aside li > span { display: grid; width: 43px; height: 43px; place-items: center; color: #ffe15b; background: rgba(255,255,255,.08); border-radius: 13px; font-size: 11px; font-weight: 900; }
.rensei-enrollment__aside li strong, .rensei-enrollment__aside li small { display: block; }
.rensei-enrollment__aside li small { margin-top: 3px; color: rgba(255,255,255,.55); font-size: 11px; }
.rensei-enrollment__support { position: relative; display: flex; align-items: center; gap: 12px; padding: 15px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: 15px; z-index: 1; }
.rensei-enrollment__support > i { display: grid; width: 42px; height: 42px; place-items: center; color: #082b5a; background: #ffe15b; border-radius: 12px; }
.rensei-enrollment__support small, .rensei-enrollment__support a { display: block; }
.rensei-enrollment__support small { color: rgba(255,255,255,.6); }
.rensei-enrollment__support a { color: #fff; font-size: 17px; font-weight: 800; }

.rensei-enrollment__panel { padding: 32px 38px 40px; }
.rensei-enrollment__panel-head { display: grid; grid-template-columns: 1fr repeat(3, 8px) auto; gap: 7px; align-items: center; margin-bottom: 25px; padding-bottom: 14px; color: #8090a4; border-bottom: 1px solid #e3ebf2; font-size: 9px; font-weight: 900; letter-spacing: .13em; }
.rensei-enrollment__panel-head i { width: 7px; height: 7px; background: #27b36a; border-radius: 50%; }
.rensei-enrollment__panel-head i:nth-of-type(2) { background: #ffe15b; }
.rensei-enrollment__panel-head i:nth-of-type(3) { background: #0b8ed8; }
.rensei-enrollment__panel-head strong { color: #20a65a; }
.rensei-enrollment-form fieldset { margin: 0 0 27px; padding: 0; border: 0; }
.rensei-enrollment-form legend { display: flex; align-items: center; gap: 10px; margin-bottom: 15px; color: #123b78; font-size: 16px; font-weight: 800; }
.rensei-enrollment-form legend span { display: grid; width: 30px; height: 30px; place-items: center; color: #0b8ed8; background: #eaf7fc; border-radius: 9px; font-size: 9px; }
.rensei-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.rensei-form-grid label { margin: 0; color: #34465d; font-size: 12px; font-weight: 700; }
.rensei-form-grid label.is-wide { grid-column: 1 / -1; }
.rensei-form-grid label > small { color: #8a99aa; font-weight: 500; }
.rensei-form-grid em, .rensei-form-consent em { color: #ed1c24; font-style: normal; }
.rensei-form-grid input, .rensei-form-grid select, .rensei-form-grid textarea { width: 100%; margin-top: 7px; color: #26384e; background: #f7fafe; border: 1px solid #dbe7f1; border-radius: 12px; box-shadow: none; font-size: 14px; font-weight: 500; outline: 0; transition: 180ms ease; }
.rensei-form-grid input, .rensei-form-grid select { height: 47px; padding: 0 13px; }
.rensei-form-grid textarea { min-height: 100px; padding: 12px 13px; resize: vertical; }
.rensei-form-grid input:focus, .rensei-form-grid select:focus, .rensei-form-grid textarea:focus { background: #fff; border-color: #25a9e0; box-shadow: 0 0 0 4px rgba(37,169,224,.11); }
.rensei-form-consent { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 18px; color: #66778c; font-size: 12px; line-height: 1.55; }
.rensei-form-consent input { flex: 0 0 17px; width: 17px; height: 17px; margin-top: 2px; accent-color: #0b8ed8; }
.rensei-enrollment-submit { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 53px; padding: 0 20px; color: #fff; background: linear-gradient(110deg, #123b78, #0b8ed8); border: 0; border-radius: 14px; box-shadow: 0 12px 25px rgba(11,142,216,.2); font-weight: 800; }
.rensei-enrollment-submit:hover { background: linear-gradient(110deg, #0b8ed8, #2db8d2); transform: translateY(-2px); }
.rensei-enrollment-submit.is-loading i { animation: rensei-submit-pulse 800ms ease infinite alternate; }
.rensei-enrollment-submit:disabled { cursor: wait; opacity: .75; }
.rensei-enrollment-privacy { margin: 12px 0 0; color: #8795a7; font-size: 10px; text-align: center; }
.rensei-honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.rensei-form-notice { display: flex; gap: 12px; margin-bottom: 22px; padding: 15px; border-radius: 14px; }
.rensei-form-notice > i { display: grid; flex: 0 0 35px; width: 35px; height: 35px; place-items: center; border-radius: 10px; }
.rensei-form-notice strong { color: inherit; }
.rensei-form-notice p { margin: 3px 0 0; font-size: 12px; line-height: 1.5; }
.rensei-form-notice.is-success { color: #176e45; background: #e9f9f0; }
.rensei-form-notice.is-success > i { color: #fff; background: #20a65a; }
.rensei-form-notice.is-error { color: #8b3a31; background: #fff1ee; }
.rensei-form-notice.is-error > i { color: #fff; background: #dc5a4d; }

@keyframes rensei-submit-pulse { to { transform: translateX(5px); } }

/* Homepage learning modules --------------------------------------------- */
.home .rensei-home-module {
	position: relative;
	padding-top: 64px !important;
	padding-bottom: 64px !important;
	overflow: hidden;
}

.home .rensei-home-module::before {
	position: absolute;
	top: 25px;
	right: 5%;
	width: 155px;
	height: 105px;
	content: "";
	pointer-events: none;
	background:
		radial-gradient(circle at 8% 75%, #2db8d2 0 3px, transparent 4px),
		radial-gradient(circle at 88% 12%, #ffe15b 0 4px, transparent 5px),
		linear-gradient(35deg, transparent 48%, rgba(45,184,210,.22) 49% 51%, transparent 52%),
		linear-gradient(145deg, transparent 48%, rgba(18,59,120,.15) 49% 51%, transparent 52%);
	opacity: .8;
}

.home .rensei-home-module .vc_separator { display: none; }

.home .rensei-home-module h2.vc_custom_heading {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 9px;
	margin-bottom: 38px !important;
	color: #123b78 !important;
	font-size: clamp(28px, 3.8vw, 44px) !important;
	font-weight: 800 !important;
	line-height: 1.15;
	letter-spacing: -.02em;
	text-transform: none !important;
	white-space: nowrap;
}

.home .rensei-home-module h2.vc_custom_heading::before {
	position: static;
	width: auto;
	height: auto;
	content: attr(data-rensei-module-label);
	color: #0b8ed8;
	background: transparent;
	box-shadow: none;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .17em;
	text-transform: uppercase;
}

.home .rensei-home-module h2.vc_custom_heading::after {
	position: static;
	width: 78px;
	height: 4px;
	content: "";
	background: linear-gradient(90deg, #2db8d2 0 32%, #ffe15b 32% 54%, #735ee8 54%);
	border-radius: 99px;
	box-shadow: none;
}

.home .rensei-module--courses {
	background: linear-gradient(180deg, #f7fbfe, #fff);
}

.home .course-carousel {
	position: relative;
	padding: 0 18px;
}

.home .course--item { padding-top: 10px !important; padding-bottom: 18px !important; }

.home .course--items--inner {
	height: 100%;
	padding: 0 !important;
	background: #fff;
	border: 1px solid #d8e7f2;
	border-radius: 23px;
	box-shadow: 0 14px 38px rgba(10,40,85,.1);
}

.home .course--items--inner::before {
	top: 18px;
	right: 18px;
	opacity: .58;
	transform: none;
}

.home .course--thumb {
	position: relative;
	height: 270px;
	border-radius: 22px 22px 0 0;
	overflow: hidden;
}

.home .course--thumb::before {
	position: absolute;
	top: 16px;
	left: 16px;
	padding: 7px 11px;
	content: "LEARNING MISSION";
	color: #fff;
	background: rgba(7,31,67,.78);
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 9px;
	backdrop-filter: blur(8px);
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .13em;
	z-index: 2;
}

.home .course--thumb::after {
	position: absolute;
	right: 16px;
	bottom: 16px;
	width: 11px;
	height: 11px;
	content: "";
	background: #65e69a;
	border: 3px solid #fff;
	border-radius: 50%;
	box-shadow: 0 0 0 5px rgba(101,230,154,.24);
}

.home .course--info { display: flex; flex-direction: column; min-height: 285px; padding: 24px !important; }
.home .course--info .title { margin-bottom: 11px; color: #123b78; font-size: 23px; font-weight: 800; }
.home .course--info .excerpt { display: -webkit-box; margin-bottom: 14px; color: #66778c; font-size: 14px; line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.home .course--meta { margin-top: auto; }
.home .course--meta span { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; color: #326081; background: #eef8fc; border-radius: 10px; font-size: 11px; font-weight: 700; }
.home .course--meta i { color: #0b8ed8; }

.home .course--button { margin-top: 16px; }
.home .course--button a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 48px;
	padding: 0 17px;
	color: #fff;
	background: linear-gradient(105deg, #123b78, #0b8ed8) !important;
	border: 0 !important;
	border-radius: 13px !important;
	font-size: 13px;
	font-weight: 800;
}

.home .course--button a i { display: grid; width: 27px; height: 27px; place-items: center; color: #123b78; background: #ffe15b; border-radius: 8px; font-size: 10px; transition: transform 180ms ease; }
.home .course--button a:hover { background: linear-gradient(105deg, #0b8ed8, #2db8d2) !important; text-decoration: none; }
.home .course--button a:hover i { transform: translateX(3px); }

.home .course-carousel .owl-controls .owl-nav > div {
	display: grid;
	width: 44px;
	height: 44px;
	padding: 0;
	place-items: center;
	color: #fff;
	background: #123b78;
	border: 3px solid #fff;
	border-radius: 50%;
	box-shadow: 0 9px 22px rgba(10,40,85,.22);
}

@media (min-width: 768px) {
	.home .course-carousel.is-underfilled .owl-wrapper {
		display: flex !important;
		width: 100% !important;
		justify-content: center;
		transform: none !important;
	}

	.home .course-carousel.is-underfilled .owl-item {
		float: none;
		width: 50% !important;
		max-width: 570px;
	}
}

.home .rensei-module--news {
	background: radial-gradient(circle at 5% 15%, rgba(45,184,210,.1), transparent 25%), linear-gradient(180deg, #f7fbfe, #fff);
}

.home .event-list { counter-reset: rensei-news; }
.home .event-list .col-md-6 { counter-increment: rensei-news; margin-bottom: 18px; }
.home .event-list-item {
	position: relative;
	height: 100%;
	min-height: 205px;
	margin: 0 !important;
	background: #fff;
	border: 1px solid #dce8f2;
	border-radius: 19px;
	box-shadow: 0 10px 30px rgba(10,40,85,.08);
	overflow: hidden;
	transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.home .event-list-item::after {
	position: absolute;
	top: 12px;
	right: 14px;
	content: counter(rensei-news, decimal-leading-zero);
	color: #d6e5ef;
	font-size: 24px;
	font-weight: 900;
}

.home .event-list-item:hover { border-color: #8ed8e5; box-shadow: 0 18px 42px rgba(10,40,85,.13); transform: translateY(-4px); }
.home .event-list-thumb { flex: 0 0 38%; max-width: 38%; background: #eaf4fa; overflow: hidden; }
.home .event-list-thumb a, .home .event-list-thumb img { display: block; width: 100%; height: 100%; }
.home .event-list-thumb img { object-fit: cover; transition: transform 320ms ease; }
.home .event-list-item:hover .event-list-thumb img { transform: scale(1.05); }
.home .event-list .event-list-content { display: flex; flex: 1; flex-direction: column; max-width: none; padding: 21px !important; background: #fff !important; text-align: left !important; }
.home .rensei-event-signal { display: flex; align-items: center; gap: 6px; margin-bottom: 9px; color: #21a957; font-size: 8px; font-weight: 900; letter-spacing: .13em; }
.home .rensei-event-signal i { width: 7px; height: 7px; background: #2dd072; border-radius: 50%; box-shadow: 0 0 0 4px rgba(45,208,114,.13); }
.home .event-list-content h5.title { display: -webkit-box; margin: 0 0 10px; padding-right: 18px; color: #173557; font-size: 14px; font-weight: 800; line-height: 1.42; text-transform: none !important; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.home .event-list-content h5 a { color: inherit; }
.home .event-list-content h5 a:hover { color: #0b8ed8; text-decoration: none; }
.home .event-list-content .date { margin-bottom: 13px; color: #7f8fa2 !important; font-size: 10px; }
.home .event-list-content .date i { margin-right: 5px; color: #0b8ed8 !important; }
.home .rensei-event-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; width: fit-content; min-width: 126px; margin-top: auto; padding: 9px 11px 9px 13px; color: #123b78 !important; background: #edf7fc; border-radius: 10px; font-size: 11px; font-weight: 800; }
.home .rensei-event-link i { display: grid; width: 22px; height: 22px; place-items: center; color: #fff !important; background: #0b8ed8; border-radius: 7px; font-size: 8px; }
.home .rensei-event-link:hover { background: #dff2fa; text-decoration: none; transform: translateX(2px); }

.home .rensei-module-button,
.home a.vc_btn3.rensei-module-button {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	min-height: 48px;
	padding: 0 11px 0 18px;
	color: #fff !important;
	background: linear-gradient(105deg, #123b78, #0b8ed8) !important;
	border: 0 !important;
	border-radius: 13px !important;
	box-shadow: 0 11px 25px rgba(11,142,216,.2);
	font-size: 12px;
	font-weight: 800;
}

.home .rensei-module-button i { display: grid; width: 27px; height: 27px; place-items: center; color: #123b78; background: #ffe15b; border-radius: 8px; font-size: 9px; }
.home .rensei-module-button:hover { background: linear-gradient(105deg, #0b8ed8, #2db8d2) !important; text-decoration: none; transform: translateY(-2px); }

@media (max-width: 767.98px) {
	.home .rensei-home-module { padding-top: 48px !important; padding-bottom: 48px !important; }
	.home .rensei-home-module::before { display: none; }
	.home .course-carousel { padding: 0; }
	.home .course--thumb { height: 230px; }
	.home .course--info { min-height: auto; }
	.home .event-list-item { min-height: 175px; }
	.home .event-list-thumb { flex-basis: 34%; max-width: 34%; }
	.home .event-list .event-list-content { padding: 17px !important; }
}

@media (max-width: 575.98px) {
	.home .rensei-home-module h2.vc_custom_heading {
		max-width: calc(100% - 12px);
		padding-right: 16px;
		padding-left: 16px;
		font-size: clamp(20px, 6.5vw, 28px) !important;
		letter-spacing: -.035em;
	}
}

/* Reveal and responsive -------------------------------------------------- */
.rensei-inner-intro, .rensei-reason-card, .rensei-why-us, .rensei-science-card, .rensei-enrollment { opacity: 0; transform: translateY(18px); transition: opacity 500ms ease, transform 500ms ease, box-shadow 220ms ease, border-color 220ms ease; }
.rensei-inner-intro.is-visible, .rensei-reason-card.is-visible, .rensei-why-us.is-visible, .rensei-science-card.is-visible, .rensei-enrollment.is-visible { opacity: 1; transform: translateY(0); }
.rensei-reason-card:nth-child(2), .rensei-science-card:nth-child(2) { transition-delay: 60ms; }
.rensei-reason-card:nth-child(3), .rensei-science-card:nth-child(3) { transition-delay: 120ms; }
.rensei-reason-card:nth-child(4), .rensei-science-card:nth-child(4) { transition-delay: 180ms; }

@media (max-width: 1199.98px) {
	.rensei-header-hotline { display: none; }
	.rensei-science-grid--grades { grid-template-columns: repeat(3, 1fr); }
	.rensei-reason-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 991.98px) {
	.rensei-inner-wrapper { padding: 38px 0 70px; }
	.rensei-inner-intro { grid-template-columns: 1fr; padding: 28px; }
	.rensei-inner-intro__console { min-height: 90px; }
	.rensei-why-us { grid-template-columns: 1fr; }
	.rensei-why-us__visual { min-height: 350px; }
	.rensei-why-us__content { padding: 38px 34px 42px; }
	.rensei-enrollment { grid-template-columns: 1fr; }
	.rensei-enrollment__aside { padding: 38px 32px; }
}

@media (max-width: 767.98px) {
	.rensei-showcase-page .page-header h1 { font-size: 30px; }
	.rensei-showcase-page .page-header .flex-bg { min-height: 170px; padding: 35px 0; }
	.rensei-inner-wrapper { padding-top: 25px; }
	.rensei-inner-intro { gap: 20px; margin-bottom: 28px; padding: 23px 20px; border-radius: 19px; }
	.rensei-inner-intro__console { display: none; }
	.rensei-science-grid--grades, .rensei-science-grid--topics { grid-template-columns: 1fr; }
	.rensei-science-grid--grades .rensei-science-card { flex-direction: row; min-height: 138px; }
	.rensei-science-grid--grades .rensei-science-card__icon { width: 48px; height: 48px; flex-basis: 48px; font-size: 20px; }
	.rensei-science-grid--grades .rensei-science-card__arrow { position: static; }
	.rensei-reasons { margin-top: 58px; }
	.rensei-reason-grid { grid-template-columns: 1fr; }
	.rensei-reason-card { min-height: auto; }
	.rensei-why-us { margin-bottom: 58px; border-radius: 20px; }
	.rensei-why-us__visual { min-height: 290px; }
	.rensei-why-us__content { padding: 31px 21px 34px; }
	.rensei-why-us__content li { grid-template-columns: 50px 1fr; gap: 11px; }
	.rensei-why-us__visual > strong { left: 22px; bottom: 22px; }
	.rensei-enrollment { border-radius: 19px; }
	.rensei-enrollment__aside { padding: 31px 22px; }
	.rensei-enrollment__panel { padding: 25px 20px 30px; }
	.rensei-form-grid { grid-template-columns: 1fr; }
	.rensei-form-grid label.is-wide { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
	.rensei-inner-intro, .rensei-reason-card, .rensei-why-us, .rensei-science-card, .rensei-enrollment { opacity: 1; transform: none; transition: none; }
}
