/*!
 * St. Joseph's School theme – skin for the page designs.
 * Bright school palette (navy · electric blue · sunshine yellow on a soft blue background),
 * condensed display headings, glass cards, pill buttons with a round arrow,
 * school-themed 3D banner scenes and the reusable page sections.
 * Colours / fonts come from Appearance → Customize (CSS variables --sjbs-c-* / --sjbs-f-*).
 */

/* ==========================================================================
   0. Tokens
   ========================================================================== */
.sjbs-home {
	--sjbs-navy: var(--sjbs-c-navy, #0B1630);
	--sjbs-royal: var(--sjbs-c-primary, #2F6BFF);
	--sjbs-gold: var(--sjbs-c-accent, #FFC23D);
	--sjbs-gold-deep: #E9A21A;
	--sjbs-white: #FFFFFF;
	--sjbs-sky: var(--sjbs-c-bg, #EEF3FF);
	--sjbs-text: #4A5672;
	--sjbs-pink: #FF6B8A;
	--sjbs-teal: #2EC4B6;
	--sjbs-green: #2EAE6B;
	--sjbs-max: 1240px;
	--sjbs-space: 100px;
	--sjbs-radius: 26px;
	--sjbs-font: var(--sjbs-f-body, "Manrope"), "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--sjbs-font-head: var(--sjbs-f-head, "Bebas Neue"), "Bebas Neue", Impact, "Arial Narrow", sans-serif;
	--sjbs-font-ui: var(--sjbs-f-body, "Manrope"), "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--sjbs-shadow: 0 24px 50px -24px rgba(23, 52, 140, .38);
	--sjbs-shadow-sm: 0 12px 28px -16px rgba(23, 52, 140, .35);
	--sjbs-glass: rgba(255, 255, 255, .62);
	--sjbs-glass-line: rgba(255, 255, 255, .85);
	--sjbs-wipe: var(--sjbs-gold);
	--sjbs-line-a: var(--sjbs-royal);
	--sjbs-line-b: var(--sjbs-gold);
	--sjbs-blob1: rgba(47, 107, 255, .16);
	--sjbs-blob2: rgba(255, 194, 61, .18);
	--sjbs-spot: rgba(47, 107, 255, .14);
	background: transparent;
}

.sjbs-home.sjbs-global-fonts {
	--sjbs-font: var(--e-global-typography-text-font-family, "Manrope"), system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--sjbs-font-head: var(--e-global-typography-primary-font-family, "Bebas Neue"), Impact, "Arial Narrow", sans-serif;
	--sjbs-font-ui: var(--e-global-typography-text-font-family, "Manrope"), system-ui, sans-serif;
}

.sjbs-home.sjbs-tint {
	background: var(--sjbs-sky);
}

.sjbs-home .sjbs-section {
	padding: var(--sjbs-space) 0;
}

.sjbs-home .sjbs-wrap {
	padding: 0 28px;
}

/* ==========================================================================
   1. Headings, labels, text
   ========================================================================== */
.sjbs-home .sjbs-title,
.sjbs-home .sjbs-banner__title,
.sjbs-home .sjbs-s-people__title,
.sjbs-home .sjbs-s-cta__title,
.sjbs-home .sjbs-ip-tl__title {
	font-family: var(--sjbs-font-head);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .01em;
}

.sjbs-home .sjbs-title {
	margin: 14px 0 14px;
	font-size: clamp(38px, 4.6vw, 64px);
	line-height: .98;
	color: var(--sjbs-navy);
}

.sjbs-home .sjbs-label {
	gap: 8px;
	padding: 8px 16px 8px 10px;
	border: 1px solid rgba(47, 107, 255, .18);
	border-radius: 999px;
	background: #FFFFFF;
	box-shadow: 0 8px 20px -14px rgba(23, 52, 140, .45);
	font-family: var(--sjbs-font-ui);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .1em;
	color: var(--sjbs-royal);
}

.sjbs-home .sjbs-label::before,
.sjbs-home .sjbs-ip-head .sjbs-label::before {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--sjbs-gold);
	box-shadow: 0 0 0 4px rgba(255, 194, 61, .28);
}

.sjbs-home .sjbs-lead {
	font-size: 16.5px;
	line-height: 1.8;
	color: var(--sjbs-text);
}

.sjbs-home .sjbs-ab-h::after {
	width: var(--sjbs-uline-w, 74px);
	height: var(--sjbs-uline-h, 6px);
	margin-top: 12px;
	border-radius: 6px;
	background: linear-gradient(90deg, var(--sjbs-gold) 0 55%, var(--sjbs-royal) 55% 100%);
}

.sjbs-home .sjbs-ip-head {
	margin-bottom: var(--sjbs-head-gap, 46px);
}

.sjbs-home .sjbs-ip-head--wide {
	max-width: var(--sjbs-head-w, 820px);
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	--sjbs-uline-ml: auto;
	--sjbs-uline-mr: auto;
}

.sjbs-home .sjbs-ip-head--wide .sjbs-lead {
	margin-left: auto;
	margin-right: auto;
}

/* ==========================================================================
   2. Pill buttons with a round arrow (like "Register Now")
   ========================================================================== */
.sjbs-home .sjbs-pill,
.sjbs-home .sjbs-banner .sjbs-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 7px 7px 7px 24px;
	border: 1.5px solid transparent;
	border-radius: 999px;
	background: var(--sjbs-royal);
	box-shadow: 0 14px 30px -14px rgba(47, 107, 255, .75);
	font-family: var(--sjbs-font-ui);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	color: #FFFFFF;
	text-decoration: none;
	transition: background-color .3s ease, color .3s ease, box-shadow .3s ease, transform .3s ease;
}

.sjbs-home .sjbs-pill i,
.sjbs-home .sjbs-banner .sjbs-btn .sjbs-svg-icon {
	display: inline-grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #FFFFFF;
	color: var(--sjbs-royal);
	font-size: 17px;
	transition: transform .45s cubic-bezier(.34, 1.56, .64, 1), background-color .3s ease;
}

.sjbs-home .sjbs-banner .sjbs-btn .sjbs-svg-icon {
	padding: 11px;
}

.sjbs-home .sjbs-pill i .sjbs-svg-icon {
	transform: rotate(-45deg);
}

.sjbs-home .sjbs-pill:hover,
.sjbs-home .sjbs-pill:focus-visible {
	background: var(--sjbs-navy);
	color: #FFFFFF;
	transform: translateY(-2px);
	box-shadow: 0 18px 34px -16px rgba(11, 22, 48, .7);
}

.sjbs-home .sjbs-pill:hover i {
	transform: rotate(45deg);
	background: var(--sjbs-gold);
	color: var(--sjbs-navy);
}

.sjbs-home .sjbs-pill--light {
	background: #FFFFFF;
	color: var(--sjbs-navy);
}

.sjbs-home .sjbs-pill--light i {
	background: var(--sjbs-royal);
	color: #FFFFFF;
}

.sjbs-home .sjbs-pill--ghost {
	border-color: rgba(11, 22, 48, .14);
	background: #FFFFFF;
	box-shadow: none;
	color: var(--sjbs-navy);
}

.sjbs-home .sjbs-pill--ghost i {
	background: var(--sjbs-sky);
	color: var(--sjbs-royal);
}

.sjbs-home .sjbs-pill--ghost-light {
	border-color: rgba(255, 255, 255, .55);
	background: rgba(255, 255, 255, .08);
	box-shadow: none;
	color: #FFFFFF;
}

.sjbs-home .sjbs-pill--ghost-light i {
	background: rgba(255, 255, 255, .18);
	color: #FFFFFF;
}

.sjbs-home .sjbs-pill--ghost-light:hover {
	background: #FFFFFF;
	color: var(--sjbs-navy);
}

.sjbs-home .sjbs-s-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: var(--sjbs-justify, flex-start);
	margin-top: 30px;
}

.sjbs-home .sjbs-s--grid .sjbs-s-actions,
.sjbs-home .sjbs-s--news .sjbs-s-grid + .sjbs-s-actions {
	justify-content: center;
	margin-top: 44px;
}

/* ==========================================================================
   3. Page banner – rounded blue card with grid lines (reference look)
   ========================================================================== */
.sjbs-home .sjbs-banner,
.sjbs-home .sjbs-banner--bg-3d {
	--sjbs-bn-c1: #E9F0FF;
	--sjbs-bn-c2: #7EA4FF;
	--sjbs-bn-grid: rgba(255, 255, 255, .55);
	min-height: 560px;
	padding: var(--sjbs-bn-top, 150px) 0 86px;
	background: linear-gradient(178deg, var(--sjbs-bn-c1) 0%, #B9CEFF 52%, var(--sjbs-bn-c2) 100%);
	background:
		radial-gradient(760px 420px at 80% 10%, rgba(255, 255, 255, .85), transparent 65%),
		radial-gradient(600px 380px at 0% 100%, rgba(255, 255, 255, .45), transparent 70%),
		linear-gradient(178deg, var(--sjbs-bn-c1) 0%, color-mix(in srgb, var(--sjbs-bn-c1) 45%, var(--sjbs-bn-c2)) 52%, var(--sjbs-bn-c2) 100%);
	color: var(--sjbs-navy);
}

.sjbs-home .sjbs-banner--look-card {
	margin: var(--sjbs-bn-gap, 14px);
	margin-bottom: 0;
	border-radius: var(--sjbs-bn-r, 36px);
	box-shadow: 0 30px 60px -40px rgba(23, 52, 140, .6);
}

.sjbs-home .sjbs-banner--h-tall {
	min-height: min(920px, max(680px, 100svh - var(--sjbs-bn-gap, 14px) * 2));
	padding-bottom: 170px;
}

/* Grid lines like a school notebook / blueprint */
.sjbs-home .sjbs-banner__pattern {
	z-index: -1;
	background-image:
		linear-gradient(var(--sjbs-bn-grid) 1px, transparent 1px),
		linear-gradient(90deg, var(--sjbs-bn-grid) 1px, transparent 1px);
	background-size: 64px 64px;
	background-position: -1px -1px;
	-webkit-mask-image: radial-gradient(120% 90% at 70% 40%, #000 20%, transparent 85%);
	mask-image: radial-gradient(120% 90% at 70% 40%, #000 20%, transparent 85%);
	animation: sjbs-bn-grid calc(60s * var(--sjbs-amb, 1)) linear infinite;
}

@keyframes sjbs-bn-grid {
	to { background-position: 63px 63px; }
}

.sjbs-home .sjbs-banner__glow {
	background:
		radial-gradient(420px 300px at 92% 14%, rgba(255, 255, 255, .7), transparent 70%),
		radial-gradient(380px 260px at 10% 96%, rgba(255, 255, 255, .3), transparent 70%);
}

.sjbs-home .sjbs-banner__sweep {
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .35), transparent);
}

.sjbs-home .sjbs-banner__shade {
	background: linear-gradient(95deg, rgba(233, 240, 255, .96) 0%, rgba(233, 240, 255, .8) 50%, rgba(126, 164, 255, .4) 100%);
}

.sjbs-home .sjbs-banner__inner {
	align-items: center;
}

.sjbs-home .sjbs-banner--bg-3d.sjbs-banner--none .sjbs-banner__text {
	max-width: var(--sjbs-bn-text-w, 54%);
}

.sjbs-home .sjbs-banner--h-tall.sjbs-banner--none .sjbs-banner__text {
	max-width: var(--sjbs-bn-text-w, 52%);
}

.sjbs-home .sjbs-banner__title {
	margin-top: 18px;
	font-size: clamp(54px, 7.2vw, 104px);
	line-height: .9;
	color: var(--sjbs-navy);
}

.sjbs-home .sjbs-banner--h-tall .sjbs-banner__title {
	font-size: clamp(54px, 6.3vw, 96px);
}

.sjbs-home .sjbs-banner__line {
	height: 6px;
	width: 120px;
	border-radius: 6px;
	background: linear-gradient(90deg, var(--sjbs-gold) 0 50%, var(--sjbs-royal) 50% 100%);
}

.sjbs-home .sjbs-banner__desc {
	max-width: 560px;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.75;
	color: #2C3A5C;
}

.sjbs-home .sjbs-crumbs {
	display: inline-flex;
	padding: 8px 16px;
	border: 1px solid var(--sjbs-glass-line);
	border-radius: 999px;
	background: var(--sjbs-glass);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.sjbs-home .sjbs-crumbs li,
.sjbs-home .sjbs-crumbs [aria-current="page"] {
	font-size: 13.5px;
	font-weight: 600;
	color: var(--sjbs-royal);
}

.sjbs-home .sjbs-crumbs a {
	color: var(--sjbs-navy);
	background-image: linear-gradient(var(--sjbs-royal), var(--sjbs-royal));
}

.sjbs-home .sjbs-crumbs a:hover,
.sjbs-home .sjbs-crumbs a:focus-visible {
	color: var(--sjbs-royal);
}

.sjbs-home .sjbs-crumbs__sep {
	color: var(--sjbs-gold-deep);
}

/* Tag pill above the title */
.sjbs-home .sjbs-bn-badge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 6px 18px 6px 6px;
	border: 1px solid var(--sjbs-glass-line);
	border-radius: 999px;
	background: var(--sjbs-glass);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	box-shadow: 0 10px 24px -18px rgba(23, 52, 140, .6);
	font-family: var(--sjbs-font-ui);
	font-size: 13.5px;
	font-weight: 700;
	color: var(--sjbs-navy);
}

.sjbs-home .sjbs-bn-badge .sjbs-3d {
	box-sizing: content-box;
	font-size: 24px;
	padding: 5px;
	border-radius: 50%;
	background: #FFFFFF;
	animation: sjbs-bob calc(3s * var(--sjbs-amb, 1)) ease-in-out infinite;
}

/* E-mail enquiry pill */
.sjbs-home .sjbs-bn-form {
	display: flex;
	align-items: center;
	gap: 6px;
	width: min(100%, 480px);
	margin-top: 30px;
	padding: 6px;
	border: 1px solid var(--sjbs-glass-line);
	border-radius: 999px;
	background: rgba(255, 255, 255, .78);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	box-shadow: 0 18px 40px -24px rgba(23, 52, 140, .6);
}

.sjbs-home .sjbs-bn-form__ic {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	margin-left: 4px;
	border-radius: 50%;
	background: var(--sjbs-sky);
	color: var(--sjbs-royal);
	font-size: 18px;
}

.sjbs-home .sjbs-bn-form input {
	flex: 1 1 auto;
	min-width: 0;
	height: 48px;
	margin: 0;
	padding: 0 8px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	outline: 0;
	font-family: var(--sjbs-font-ui);
	font-size: 15px;
	color: var(--sjbs-navy);
}

.sjbs-home .sjbs-bn-form input::placeholder {
	color: #7A86A3;
}

.sjbs-home .sjbs-bn-form button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	flex: 0 0 auto;
	height: 52px;
	margin: 0;
	padding: 0 6px 0 22px;
	border: 0;
	border-radius: 999px;
	background: var(--sjbs-royal);
	font-family: var(--sjbs-font-ui);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
	color: #FFFFFF;
	cursor: pointer;
	transition: background-color .3s ease;
}

.sjbs-home .sjbs-bn-form button i {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #FFFFFF;
	color: var(--sjbs-royal);
	transition: transform .45s cubic-bezier(.34, 1.56, .64, 1);
}

.sjbs-home .sjbs-bn-form button i .sjbs-svg-icon {
	transform: rotate(-45deg);
}

.sjbs-home .sjbs-bn-form button:hover {
	background: var(--sjbs-navy);
}

.sjbs-home .sjbs-bn-form button:hover i {
	transform: rotate(45deg);
}

.sjbs-home .sjbs-bn-form:focus-within {
	box-shadow: 0 0 0 3px rgba(47, 107, 255, .35), 0 18px 40px -24px rgba(23, 52, 140, .6);
}

/* Avatars row */
.sjbs-home .sjbs-bn-av {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 26px;
}

.sjbs-home .sjbs-bn-av__stack {
	display: flex;
	flex: 0 0 auto;
}

.sjbs-home .sjbs-bn-av__stack img,
.sjbs-home .sjbs-bn-av__num {
	width: 46px;
	height: 46px;
	margin-left: -12px;
	border: 3px solid #FFFFFF;
	border-radius: 50%;
	background: #DCE6FF;
	object-fit: cover;
	box-shadow: 0 6px 14px -8px rgba(23, 52, 140, .6);
}

.sjbs-home .sjbs-bn-av__stack img:first-child {
	margin-left: 0;
}

.sjbs-home .sjbs-bn-av__num {
	display: grid;
	place-items: center;
	background: var(--sjbs-gold);
	font-family: var(--sjbs-font-ui);
	font-size: 13px;
	font-weight: 800;
	color: var(--sjbs-navy);
}

.sjbs-home .sjbs-bn-av__text {
	max-width: 260px;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.45;
	color: #2C3A5C;
}

/* 3D layer on the light banner */
.sjbs-home .sjbs-b3d__floor {
	background-image:
		linear-gradient(var(--b3d-grid, rgba(255, 255, 255, .75)) 1.5px, transparent 1.5px),
		linear-gradient(90deg, var(--b3d-grid, rgba(255, 255, 255, .75)) 1.5px, transparent 1.5px);
}

.sjbs-home .sjbs-b3d__horizon {
	background: radial-gradient(ellipse 34% 50% at var(--b3d-x, 74%) 50%, var(--b3d-glow, rgba(255, 255, 255, .8)), transparent 70%);
}

.sjbs-home .sjbs-b3d__stage {
	--b3d-size: 170px;
	left: var(--b3d-x, 75%);
	top: var(--b3d-y, 58%);
}

.sjbs-home .sjbs-banner--h-tall .sjbs-b3d__stage {
	--b3d-size: 210px;
	top: var(--b3d-y, 52%);
}

.sjbs-home .sjbs-b3d__shadow {
	background: radial-gradient(closest-side, rgba(23, 52, 140, .35), rgba(23, 52, 140, .08) 60%, transparent);
}

.sjbs-home .sjbs-b3d__particles i {
	background: var(--b3d-pc, #FFFFFF);
	box-shadow: 0 0 10px 2px rgba(255, 255, 255, .9);
}

.sjbs-home .sjbs-b3d__mcube i {
	border-color: var(--b3d-mini, rgba(47, 107, 255, .7));
	background: rgba(255, 255, 255, .45);
}

.sjbs-home .sjbs-b3d__mini--2 .sjbs-b3d__mcube i,
.sjbs-home .sjbs-b3d__mini--3 .sjbs-b3d__mcube i {
	border-color: rgba(255, 170, 30, .85);
	background: rgba(255, 194, 61, .35);
}

.sjbs-home .sjbs-b3d__face {
	border-color: var(--b3d-edge, rgba(255, 255, 255, .95));
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .55) 0%, rgba(255, 255, 255, 0) 55%),
		var(--b3d-face, rgba(47, 107, 255, .32));
}

@keyframes sjbs-bob {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-4px); }
}

/* ==========================================================================
   4. School 3D banner scenes (Page Banner → 3D Scene)
   Sizes follow "Scene Size" (--b3d-size = S), speed follows --b3d-k × loop speed.
   ========================================================================== */
.sjbs-home .sjbs-sc {
	--S: var(--b3d-size, 170px);
	--T: calc(var(--b3d-k, 1) * var(--sjbs-amb, 1));
	--A: var(--b3d-accent, var(--sjbs-gold));
	--P: var(--b3d-paper, #FFFFFF);
	position: absolute;
	inset: 0;
	transform-style: preserve-3d;
}

.sjbs-home .sjbs-sc *,
.sjbs-home .sjbs-sc *::before,
.sjbs-home .sjbs-sc *::after {
	box-sizing: border-box;
}

.sjbs-home .sjbs-sc i,
.sjbs-home .sjbs-sc b {
	display: block;
	font-style: normal;
}

.sjbs-home .sjbs-sc img.sjbs-3d {
	filter: drop-shadow(0 6px 8px rgba(23, 52, 140, .25));
}

/* centred helper */
.sjbs-home .sjbs-sc [class^="sc-"],
.sjbs-home .sjbs-sc [class*=" sc-"] {
	position: absolute;
}

/* Generic: rising glyphs, clouds, paper plane, orbit ------------------------ */
.sjbs-home .sjbs-sc .sc-glyph {
	top: 60%;
	left: calc(50% + (var(--k, 0) - 3.5) * var(--S) * .36);
	font-family: var(--sjbs-font-head);
	font-size: calc(var(--S) * .2);
	line-height: 1;
	color: var(--sjbs-royal);
	opacity: 0;
	text-shadow: 0 6px 14px rgba(47, 107, 255, .35);
	animation: scx-rise calc((5.5s + var(--k, 0) * .5s) * var(--T)) ease-in infinite;
	animation-delay: calc(var(--k, 0) * -1.2s * var(--T));
}

.sjbs-home .sjbs-sc .sc-glyph:nth-child(odd) {
	color: var(--sjbs-gold-deep);
	font-size: calc(var(--S) * .26);
}

.sjbs-home .sjbs-sc .sc-glyph:nth-child(3n) {
	color: var(--sjbs-pink);
}

@keyframes scx-rise {
	0%   { transform: translate3d(0, calc(var(--S) * .3), 0) rotate(-14deg) scale(.6); opacity: 0; }
	15%  { opacity: 1; }
	80%  { opacity: .75; }
	100% { transform: translate3d(calc(var(--S) * .2), calc(var(--S) * -1.4), 60px) rotate(16deg) scale(1.1); opacity: 0; }
}

.sjbs-home .sjbs-sc .sc-cloud {
	top: calc(50% - var(--S) * .9);
	left: 50%;
	width: calc(var(--S) * .7);
	height: calc(var(--S) * .22);
	border-radius: 999px;
	background: #FFFFFF;
	box-shadow: 0 10px 22px -12px rgba(23, 52, 140, .35);
	animation: scx-cloud calc(18s * var(--T)) linear infinite;
	opacity: .95;
}

.sjbs-home .sjbs-sc .sc-cloud i {
	position: absolute;
	left: 18%;
	bottom: 40%;
	width: 46%;
	height: 150%;
	border-radius: 50%;
	background: #FFFFFF;
}

.sjbs-home .sjbs-sc .sc-cloud i::after {
	content: "";
	position: absolute;
	left: 70%;
	bottom: -10%;
	width: 70%;
	height: 75%;
	border-radius: 50%;
	background: #FFFFFF;
}

.sjbs-home .sjbs-sc .sc-cloud--2 {
	top: calc(50% + var(--S) * .55);
	transform: scale(.7);
	animation-duration: calc(24s * var(--T));
	animation-delay: calc(-9s * var(--T));
	opacity: .8;
}

.sjbs-home .sjbs-sc .sc-cloud--3 {
	top: calc(50% - var(--S) * .25);
	transform: scale(.55);
	animation-duration: calc(30s * var(--T));
	animation-delay: calc(-20s * var(--T));
	opacity: .7;
}

@keyframes scx-cloud {
	from { translate: calc(var(--S) * 1.9) 0; }
	to   { translate: calc(var(--S) * -2.6) 0; }
}

.sjbs-home .sjbs-sc .sc-plane {
	top: 20%;
	left: 50%;
	width: calc(var(--S) * .32);
	height: calc(var(--S) * .2);
	animation: scx-plane calc(9s * var(--T)) ease-in-out infinite;
	transform-style: preserve-3d;
}

.sjbs-home .sjbs-sc .sc-plane i {
	position: absolute;
	inset: 0;
	background: #FFFFFF;
	clip-path: polygon(0 50%, 100% 0, 38% 62%);
	filter: drop-shadow(0 4px 4px rgba(23, 52, 140, .25));
}

.sjbs-home .sjbs-sc .sc-plane i + i {
	background: #D6E2FF;
	clip-path: polygon(38% 62%, 100% 0, 46% 100%);
}

@keyframes scx-plane {
	0%   { transform: translate3d(calc(var(--S) * -1.8), calc(var(--S) * .2), 0) rotate(-8deg); opacity: 0; }
	10%  { opacity: 1; }
	45%  { transform: translate3d(calc(var(--S) * .2), calc(var(--S) * -.7), 60px) rotate(-22deg); }
	70%  { transform: translate3d(calc(var(--S) * 1), calc(var(--S) * -.2), 20px) rotate(10deg); opacity: 1; }
	100% { transform: translate3d(calc(var(--S) * 1.9), calc(var(--S) * -.9), 0) rotate(-18deg); opacity: 0; }
}

@keyframes scx-orbit {
	0%     { transform: translate3d(calc(var(--S) * 1.25), 0, 0) scale(1); z-index: 3; opacity: 1; }
	25%    { transform: translate3d(0, calc(var(--S) * .5), 80px) scale(1.18); z-index: 4; }
	50%    { transform: translate3d(calc(var(--S) * -1.25), 0, 0) scale(1); z-index: 3; }
	62%    { z-index: 0; }
	75%    { transform: translate3d(0, calc(var(--S) * -.5), -90px) scale(.7); opacity: .65; z-index: 0; }
	100%   { transform: translate3d(calc(var(--S) * 1.25), 0, 0) scale(1); opacity: 1; z-index: 3; }
}

@keyframes scx-float {
	0%, 100% { translate: 0 0; }
	50%      { translate: 0 calc(var(--S) * -.08); }
}

/* ---------------------------------------------------------------- Pencil (Home) */
.sjbs-home .sc-trail {
	top: calc(50% - var(--S) * .55);
	left: calc(50% - var(--S) * 3.1);
	width: calc(var(--S) * 2.6);
	height: calc(var(--S) * 1.1);
	overflow: visible;
	opacity: .95;
}

.sjbs-home .sc-trail path {
	fill: none;
	stroke: #FFFFFF;
	stroke-width: 5;
	stroke-linecap: round;
	stroke-dasharray: 2 14;
	filter: drop-shadow(0 4px 6px rgba(23, 52, 140, .25));
	animation: scx-dash calc(2.2s * var(--T)) linear infinite;
}

@keyframes scx-dash {
	to { stroke-dashoffset: -64; }
}

.sjbs-home .sc-rider {
	top: 50%;
	left: 50%;
	width: calc(var(--S) * 2.5);
	height: calc(var(--S) * 1);
	margin: calc(var(--S) * -.5) 0 0 calc(var(--S) * -1.25);
	transform-style: preserve-3d;
	animation: scx-fly calc(6s * var(--T)) ease-in-out infinite;
}

@keyframes scx-fly {
	0%, 100% { transform: translate3d(0, calc(var(--S) * .06), 0) rotate(-13deg); }
	25%      { transform: translate3d(calc(var(--S) * .06), calc(var(--S) * -.12), 30px) rotate(-17deg); }
	50%      { transform: translate3d(0, calc(var(--S) * -.02), 0) rotate(-10deg); }
	75%      { transform: translate3d(calc(var(--S) * -.05), calc(var(--S) * -.14), -20px) rotate(-15deg); }
}

.sjbs-home .sc-pencil {
	z-index: 2;
	left: 0;
	right: 0;
	top: 62%;
	display: flex;
	height: calc(var(--S) * .26);
	filter: drop-shadow(0 18px 14px rgba(23, 52, 140, .3));
}

.sjbs-home .sjbs-sc .sc-pencil > span {
	position: relative;
	height: 100%;
}

.sjbs-home .sc-pencil__eraser {
	order: 1;
	width: calc(var(--S) * .26);
	border-radius: calc(var(--S) * .1) 0 0 calc(var(--S) * .1);
	background: linear-gradient(180deg, #FFB3C2 0%, #FF6B8A 55%, #D9466A 100%);
}

.sjbs-home .sc-pencil__band {
	order: 2;
	width: calc(var(--S) * .16);
	background:
		repeating-linear-gradient(90deg, transparent 0 7px, rgba(0, 0, 0, .12) 7px 9px),
		linear-gradient(180deg, #F5F7FF 0%, #B8C2DB 55%, #7D89A8 100%);
}

.sjbs-home .sc-pencil__body {
	order: 3;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.sjbs-home .sc-pencil__body i {
	flex: 1 1 0;
	background: #FFC23D;
}

.sjbs-home .sc-pencil__body i:first-child { background: linear-gradient(180deg, #FFE08A, #FFD15C); }
.sjbs-home .sc-pencil__body i:nth-child(2) { background: #FFC23D; border-top: 1px solid rgba(201, 132, 0, .25); border-bottom: 1px solid rgba(201, 132, 0, .25); }
.sjbs-home .sc-pencil__body i:last-child { background: linear-gradient(180deg, #F2A818, #D48A00); }

.sjbs-home .sc-pencil__wood {
	order: 4;
	width: calc(var(--S) * .5);
	background: linear-gradient(180deg, #FBE3C1 0%, #F0C48E 60%, #D9A066 100%);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.sjbs-home .sc-pencil__wood i {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: 34%;
	background: var(--sjbs-navy);
	clip-path: polygon(0 33%, 100% 50%, 0 67%);
}

.sjbs-home .sc-pencil::after {
	content: "";
	position: absolute;
	left: 9%;
	right: 22%;
	top: 16%;
	height: 10%;
	border-radius: 9px;
	background: rgba(255, 255, 255, .55);
}

.sjbs-home .sc-sparks {
	right: calc(var(--S) * -.18);
	top: 54%;
	width: calc(var(--S) * .5);
	height: calc(var(--S) * .5);
}

.sjbs-home .sc-sparks i {
	position: absolute;
	width: calc(var(--S) * .1);
	height: calc(var(--S) * .1);
	background: var(--A);
	clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%);
	animation: scx-twinkle calc(1.6s * var(--T)) ease-in-out infinite;
}

.sjbs-home .sc-sparks i:nth-child(1) { left: 10%; top: 0; }
.sjbs-home .sc-sparks i:nth-child(2) { left: 60%; top: 20%; animation-delay: -.4s; background: #FFFFFF; }
.sjbs-home .sc-sparks i:nth-child(3) { left: 30%; top: 70%; animation-delay: -.8s; }
.sjbs-home .sc-sparks i:nth-child(4) { left: 80%; top: 64%; animation-delay: -1.2s; background: var(--sjbs-pink); }

@keyframes scx-twinkle {
	0%, 100% { transform: scale(.2) rotate(0deg); opacity: 0; }
	50%      { transform: scale(1.2) rotate(90deg); opacity: 1; }
}

/* The child */
.sjbs-home .sc-kid {
	z-index: 1;
	left: 31%;
	bottom: calc(38% - var(--S) * .1);
	width: calc(var(--S) * .56);
	height: calc(var(--S) * .78);
}

.sjbs-home .sc-kid > i {
	position: absolute;
}

.sjbs-home .sc-kid__head {
	z-index: 3;
	left: 22%;
	top: 0;
	width: calc(var(--S) * .32);
	height: calc(var(--S) * .32);
	border-radius: 50%;
	background: radial-gradient(circle at 38% 36%, #FFE1C7 0%, #F6C39A 60%, #E9A979 100%);
	box-shadow: inset -4px -6px 0 rgba(0, 0, 0, .06);
	animation: scx-headtilt calc(3s * var(--T)) ease-in-out infinite;
}

.sjbs-home .sc-kid__hair {
	position: absolute;
	left: -6%;
	top: -8%;
	width: 112%;
	height: 58%;
	border-radius: 60% 60% 30% 40% / 80% 80% 30% 30%;
	background: #2B1D16;
}

.sjbs-home .sc-kid__hair::after {
	content: "";
	position: absolute;
	right: -8%;
	top: 40%;
	width: 34%;
	height: 34%;
	border-radius: 50%;
	background: #2B1D16;
}

.sjbs-home .sc-kid__eye {
	position: absolute;
	right: 24%;
	top: 52%;
	width: 9%;
	height: 13%;
	border-radius: 50%;
	background: #1B2340;
	animation: scx-blink calc(4s * var(--T)) infinite;
}

.sjbs-home .sc-kid__smile {
	position: absolute;
	right: 14%;
	top: 68%;
	width: 26%;
	height: 13%;
	border: 3px solid #B5513E;
	border-top: 0;
	border-radius: 0 0 20px 20px;
}

.sjbs-home .sc-kid__body {
	z-index: 2;
	left: 24%;
	top: 34%;
	width: calc(var(--S) * .28);
	height: calc(var(--S) * .3);
	border-radius: 40% 40% 20% 20%;
	background: linear-gradient(180deg, var(--sjbs-royal) 0%, #1F4FD1 100%);
}

.sjbs-home .sc-kid__body::before {
	content: "";
	position: absolute;
	left: -42%;
	top: 6%;
	width: 50%;
	height: 78%;
	border-radius: 10px;
	background: linear-gradient(180deg, #FFD15C, #F2A818);
	box-shadow: inset -3px 0 0 rgba(0, 0, 0, .12);
}

.sjbs-home .sc-kid__arm {
	z-index: 3;
	left: 52%;
	top: 40%;
	width: calc(var(--S) * .075);
	height: calc(var(--S) * .24);
	border-radius: 20px;
	background: linear-gradient(180deg, #2F6BFF 0 45%, #F6C39A 45% 100%);
	transform-origin: 50% 8%;
}

.sjbs-home .sc-kid__arm--a {
	animation: scx-wave calc(1.4s * var(--T)) ease-in-out infinite;
}

.sjbs-home .sc-kid__arm--b {
	left: 40%;
	transform: rotate(-38deg);
}

@keyframes scx-wave {
	0%, 100% { transform: rotate(-150deg); }
	50%      { transform: rotate(-115deg); }
}

.sjbs-home .sc-kid__leg {
	left: 36%;
	top: 72%;
	width: calc(var(--S) * .085);
	height: calc(var(--S) * .27);
	border-radius: 20px;
	background: linear-gradient(180deg, var(--sjbs-navy) 0 46%, #F6C39A 46% 86%, #FF6B5B 86% 100%);
	transform-origin: 50% 6%;
	animation: scx-swing calc(1.8s * var(--T)) ease-in-out infinite alternate;
}

.sjbs-home .sc-kid__leg--a {
	z-index: 4;
	left: 50%;
}

.sjbs-home .sc-kid__leg--b {
	z-index: 0;
	animation-delay: calc(-.9s * var(--T));
	filter: brightness(.85);
}

@keyframes scx-swing {
	from { transform: rotate(-28deg); }
	to   { transform: rotate(18deg); }
}

.sjbs-home .sc-kid__scarf {
	z-index: 1;
	left: -40%;
	top: 30%;
	width: calc(var(--S) * .36);
	height: calc(var(--S) * .08);
	border-radius: 20px 4px 4px 20px;
	background: linear-gradient(90deg, rgba(255, 107, 91, 0), #FF6B5B 40%, #E24B3B);
	transform-origin: 100% 50%;
	animation: scx-scarf calc(.9s * var(--T)) ease-in-out infinite alternate;
}

@keyframes scx-scarf {
	from { transform: rotate(8deg) skewX(10deg); }
	to   { transform: rotate(-10deg) skewX(-14deg); }
}

@keyframes scx-headtilt {
	0%, 100% { transform: rotate(0); }
	50%      { transform: rotate(-6deg); }
}

@keyframes scx-blink {
	0%, 92%, 100% { transform: scaleY(1); }
	95%           { transform: scaleY(.1); }
}

/* ---------------------------------------------------------------- Doors (About Us) */
.sjbs-home .sc-rays {
	top: 50%;
	left: 50%;
	width: calc(var(--S) * 3.2);
	height: calc(var(--S) * 3.2);
	margin: calc(var(--S) * -1.6) 0 0 calc(var(--S) * -1.6);
	border-radius: 50%;
	background: repeating-conic-gradient(from 0deg, rgba(255, 255, 255, .55) 0deg 8deg, rgba(255, 255, 255, 0) 8deg 22deg);
	-webkit-mask-image: radial-gradient(closest-side, #000 25%, transparent 100%);
	mask-image: radial-gradient(closest-side, #000 25%, transparent 100%);
	animation: sjbs-spin calc(40s * var(--T)) linear infinite;
}

.sjbs-home .sc-school {
	top: 50%;
	left: 50%;
	width: calc(var(--S) * 2);
	height: calc(var(--S) * 1.75);
	margin: calc(var(--S) * -.8) 0 0 calc(var(--S) * -1);
	transform-style: preserve-3d;
	animation: scx-float calc(7s * var(--T)) ease-in-out infinite;
}

.sjbs-home .sc-school__roof {
	left: -6%;
	right: -6%;
	top: 0;
	height: 40%;
	background: linear-gradient(180deg, #FF7A66 0%, #E2503D 100%);
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
	filter: drop-shadow(0 6px 0 #B83A2A);
}

.sjbs-home .sc-school__roof::after {
	content: "";
	position: absolute;
	inset: 18% 30% 0;
	background: #FFF4E2;
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
	opacity: .25;
}

.sjbs-home .sc-school__clock {
	z-index: 2;
	left: 50%;
	top: 15%;
	width: calc(var(--S) * .3);
	height: calc(var(--S) * .3);
	margin-left: calc(var(--S) * -.15);
	border: 4px solid #FFFFFF;
	border-radius: 50%;
	background: #FFF8EC;
	box-shadow: 0 4px 0 rgba(0, 0, 0, .12);
}

.sjbs-home .sc-school__clock i {
	position: absolute;
	left: calc(50% - 1.5px);
	bottom: 50%;
	width: 3px;
	height: 38%;
	border-radius: 2px;
	background: var(--sjbs-navy);
	transform-origin: 50% 100%;
	animation: sjbs-spin calc(6s * var(--T)) linear infinite;
}

.sjbs-home .sc-school__clock i + i {
	height: 28%;
	background: #E2503D;
	animation-duration: calc(36s * var(--T));
}

.sjbs-home .sc-school__flag {
	z-index: 1;
	left: 50%;
	top: calc(var(--S) * -.42);
	width: 3px;
	height: calc(var(--S) * .46);
	background: #7D89A8;
}

.sjbs-home .sc-school__flag i {
	position: absolute;
	left: 3px;
	top: 0;
	width: calc(var(--S) * .3);
	height: calc(var(--S) * .18);
	background: linear-gradient(180deg, #FF9933 0 33.3%, #FFFFFF 33.3% 66.6%, #138808 66.6% 100%);
	transform-origin: 0 50%;
	animation: scx-flag calc(1.6s * var(--T)) ease-in-out infinite alternate;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .15);
}

@keyframes scx-flag {
	from { transform: perspective(200px) rotateY(0) skewY(2deg); }
	to   { transform: perspective(200px) rotateY(-28deg) skewY(-4deg); }
}

.sjbs-home .sc-school__wall {
	left: 4%;
	right: 4%;
	top: 39%;
	height: 50%;
	border-radius: 6px 6px 0 0;
	background:
		repeating-linear-gradient(0deg, rgba(214, 160, 112, .0) 0 13px, rgba(214, 160, 112, .18) 13px 14px),
		linear-gradient(180deg, #FFF7E8 0%, #FBE8C8 100%);
	box-shadow: inset 0 -10px 0 rgba(0, 0, 0, .05), 0 10px 24px -12px rgba(23, 52, 140, .4);
}

.sjbs-home .sc-win {
	top: 16%;
	width: 15%;
	height: 34%;
	border: 3px solid #FFFFFF;
	border-radius: 8px 8px 3px 3px;
	background:
		linear-gradient(90deg, transparent calc(50% - 1.5px), #FFFFFF calc(50% - 1.5px) calc(50% + 1.5px), transparent calc(50% + 1.5px)),
		linear-gradient(0deg, transparent calc(50% - 1.5px), #FFFFFF calc(50% - 1.5px) calc(50% + 1.5px), transparent calc(50% + 1.5px)),
		linear-gradient(160deg, #A8C4FF 0%, #4E7FF5 100%);
	animation: scx-window calc(7s * var(--T)) ease-in-out infinite;
}

.sjbs-home .sc-win--1 { left: 6%; }
.sjbs-home .sc-win--2 { left: 24%; animation-delay: calc(-1s * var(--T)); }
.sjbs-home .sc-win--3 { right: 24%; animation-delay: calc(-2s * var(--T)); }
.sjbs-home .sc-win--4 { right: 6%; animation-delay: calc(-3s * var(--T)); }

@keyframes scx-window {
	0%, 40%, 100% { filter: none; }
	55%, 85%      { filter: brightness(1.25) sepia(.6) saturate(2.2) hue-rotate(-10deg); }
}

.sjbs-home .sc-door {
	left: 50%;
	bottom: 0;
	width: calc(var(--S) * .58);
	height: 82%;
	margin-left: calc(var(--S) * -.29);
	border: 5px solid #B86B3C;
	border-bottom: 0;
	border-radius: calc(var(--S) * .3) calc(var(--S) * .3) 0 0;
	background: #2A1A10;
	perspective: 500px;
	overflow: visible;
}

.sjbs-home .sc-door__light {
	inset: 0;
	border-radius: inherit;
	background: radial-gradient(120% 90% at 50% 100%, #FFFFFF 0%, #FFF2B8 30%, #FFC23D 70%, #F29C1F 100%);
	animation: scx-doorlight calc(7s * var(--T)) ease-in-out infinite;
}

.sjbs-home .sc-door__light::after {
	content: "";
	position: absolute;
	left: -60%;
	right: -60%;
	bottom: -40%;
	height: 70%;
	background: radial-gradient(closest-side, rgba(255, 220, 120, .9), transparent);
	filter: blur(6px);
}

@keyframes scx-doorlight {
	0%, 12%, 88%, 100% { opacity: .15; }
	30%, 70%           { opacity: 1; }
}

.sjbs-home .sc-door__leaf {
	top: 0;
	bottom: 0;
	width: 50%;
	background:
		linear-gradient(180deg, transparent 18%, rgba(0, 0, 0, .12) 18% 20%, transparent 20% 55%, rgba(0, 0, 0, .12) 55% 57%, transparent 57%),
		linear-gradient(90deg, #C67A45, #A85F31);
	backface-visibility: visible;
	animation: scx-door-l calc(7s * var(--T)) cubic-bezier(.65, 0, .35, 1) infinite;
}

.sjbs-home .sc-door__leaf--l {
	left: 0;
	border-radius: calc(var(--S) * .3) 0 0 0;
	transform-origin: 0 50%;
}

.sjbs-home .sc-door__leaf--r {
	right: 0;
	border-radius: 0 calc(var(--S) * .3) 0 0;
	transform-origin: 100% 50%;
	animation-name: scx-door-r;
}

.sjbs-home .sc-door__leaf i {
	position: absolute;
	top: 56%;
	right: 12%;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--sjbs-gold);
	box-shadow: 0 0 6px rgba(255, 194, 61, .8);
}

.sjbs-home .sc-door__leaf--r i {
	right: auto;
	left: 12%;
}

@keyframes scx-door-l {
	0%, 10%, 90%, 100% { transform: rotateY(0); }
	28%, 72%           { transform: rotateY(-112deg); }
}

@keyframes scx-door-r {
	0%, 10%, 90%, 100% { transform: rotateY(0); }
	28%, 72%           { transform: rotateY(112deg); }
}

.sjbs-home .sc-school__steps {
	left: 30%;
	right: 30%;
	top: 89%;
	height: 11%;
}

.sjbs-home .sc-school__steps i {
	height: 33.4%;
	margin: 0 auto;
	border-radius: 3px;
	background: #E4E9F7;
	box-shadow: inset 0 -3px 0 #C3CCE4;
}

.sjbs-home .sc-school__steps i:nth-child(2) { width: 112%; margin-left: -6%; }
.sjbs-home .sc-school__steps i:nth-child(3) { width: 124%; margin-left: -12%; }

.sjbs-home .sc-fly {
	top: 64%;
	left: 50%;
	font-size: calc(var(--S) * .3);
	margin: calc(var(--S) * -.15) 0 0 calc(var(--S) * -.15);
	opacity: 0;
	animation: scx-fly-out calc(7s * var(--T)) ease-out infinite;
	animation-delay: calc(var(--k) * .35s * var(--T));
	filter: drop-shadow(0 8px 10px rgba(23, 52, 140, .3));
}

@keyframes scx-fly-out {
	0%, 24%  { transform: translate3d(0, 0, 0) scale(.2) rotate(0); opacity: 0; }
	30%      { opacity: 1; }
	62%      { transform: translate3d(calc((var(--k) - 2) * var(--S) * .62), calc(var(--S) * (-.9 - (var(--k) - 2) * (var(--k) - 2) * -.12)), 80px) scale(1.15) rotate(calc((var(--k) - 2) * 18deg)); opacity: 1; }
	76%, 100% { transform: translate3d(calc((var(--k) - 2) * var(--S) * .8), calc(var(--S) * -1.25), 80px) scale(.9) rotate(calc((var(--k) - 2) * 26deg)); opacity: 0; }
}

/* ---------------------------------------------------------------- Balloons (Mission & Value) */
.sjbs-home .sc-sun {
	top: calc(50% - var(--S) * 1.05);
	left: calc(50% + var(--S) * .75);
	width: calc(var(--S) * .5);
	height: calc(var(--S) * .5);
	border-radius: 50%;
	background: radial-gradient(circle at 40% 40%, #FFF3C4, #FFC23D 60%, #F7A21B);
	box-shadow: 0 0 40px 10px rgba(255, 194, 61, .55);
}

.sjbs-home .sc-sun i {
	position: absolute;
	inset: -45%;
	border-radius: 50%;
	background: repeating-conic-gradient(rgba(255, 194, 61, .55) 0 10deg, transparent 10deg 30deg);
	-webkit-mask-image: radial-gradient(closest-side, transparent 52%, #000 54%, transparent 100%);
	mask-image: radial-gradient(closest-side, transparent 52%, #000 54%, transparent 100%);
	animation: sjbs-spin calc(20s * var(--T)) linear infinite;
}

.sjbs-home .sc-balloon {
	top: 50%;
	left: 50%;
	width: calc(var(--S) * .9);
	height: calc(var(--S) * 1.55);
	margin: calc(var(--S) * -.8) 0 0 calc(var(--S) * -.45);
	animation: scx-rise-b calc(9s * var(--T)) ease-in-out infinite;
	--b1: #FFC23D;
	--b2: var(--sjbs-royal);
}

.sjbs-home .sc-balloon--2 {
	z-index: -1;
	transform: translate3d(calc(var(--S) * -1.05), calc(var(--S) * .25), -60px) scale(.62);
	animation-delay: calc(-3s * var(--T));
	animation-duration: calc(11s * var(--T));
	--b1: #FF6B8A;
	--b2: #FFFFFF;
}

.sjbs-home .sc-balloon--3 {
	z-index: 2;
	transform: translate3d(calc(var(--S) * 1.05), calc(var(--S) * .1), 40px) scale(.78);
	animation-delay: calc(-6s * var(--T));
	animation-duration: calc(10s * var(--T));
	--b1: #2EC4B6;
	--b2: #FFE08A;
}

@keyframes scx-rise-b {
	0%, 100% { translate: 0 calc(var(--S) * .22); }
	50%      { translate: 0 calc(var(--S) * -.22); }
}

.sjbs-home .sc-balloon__sway {
	inset: 0;
	transform-origin: 50% 0;
	animation: scx-sway calc(4.5s * var(--T)) ease-in-out infinite alternate;
}

@keyframes scx-sway {
	from { transform: rotate(-5deg); }
	to   { transform: rotate(5deg); }
}

.sjbs-home .sc-balloon__env {
	left: 0;
	right: 0;
	top: 0;
	height: 66%;
	overflow: hidden;
	border-radius: 50% 50% 46% 46% / 56% 56% 44% 44%;
	background:
		radial-gradient(circle at 34% 28%, rgba(255, 255, 255, .7) 0 10%, transparent 34%),
		linear-gradient(90deg, rgba(0, 0, 0, .18), transparent 30%, transparent 70%, rgba(0, 0, 0, .22)),
		repeating-linear-gradient(90deg, var(--b1) 0 16.6%, var(--b2) 16.6% 33.3%);
	box-shadow: 0 18px 30px -16px rgba(23, 52, 140, .5);
}

.sjbs-home .sc-balloon__env i {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 54%;
	margin-left: -27%;
	border: 2px solid rgba(255, 255, 255, .28);
	border-top: 0;
	border-bottom: 0;
	border-radius: 50%;
}

.sjbs-home .sc-balloon__env i:nth-child(2) { width: 84%; margin-left: -42%; }
.sjbs-home .sc-balloon__env i:nth-child(3) {
	top: auto;
	height: 14%;
	width: 100%;
	margin-left: -50%;
	border: 0;
	border-radius: 0;
	background: rgba(0, 0, 0, .12);
	bottom: 10%;
}

.sjbs-home .sc-balloon__ropes {
	left: 30%;
	right: 30%;
	top: 64%;
	height: 17%;
	border-left: 2px solid #8B5E3C;
	border-right: 2px solid #8B5E3C;
	clip-path: polygon(0 0, 100% 0, 82% 100%, 18% 100%);
}

.sjbs-home .sc-balloon__basket {
	left: 34%;
	right: 34%;
	top: 80%;
	height: 13%;
	border-radius: 4px 4px 10px 10px;
	background:
		repeating-linear-gradient(90deg, rgba(0, 0, 0, .12) 0 2px, transparent 2px 7px),
		linear-gradient(180deg, #C98A4B, #8B5E3C);
	box-shadow: 0 8px 12px -6px rgba(0, 0, 0, .3);
}

.sjbs-home .sc-balloon__basket {
	display: grid;
	justify-items: center;
}

.sjbs-home .sc-balloon__basket .sjbs-3d {
	margin-top: calc(var(--S) * -.17);
	font-size: calc(var(--S) * .22);
}

.sjbs-home .sc-bird {
	top: calc(50% - var(--S) * (.9 - var(--k) * .12));
	left: 50%;
	width: calc(var(--S) * .1);
	height: calc(var(--S) * .05);
	border-top: 2px solid var(--sjbs-navy);
	border-radius: 50% 50% 0 0;
	opacity: .6;
	animation: scx-bird calc(14s * var(--T)) linear infinite, scx-flap calc(.5s * var(--T)) ease-in-out infinite alternate;
	animation-delay: calc(var(--k) * -2.3s * var(--T)), 0s;
}

.sjbs-home .sc-bird::after {
	content: "";
	position: absolute;
	left: 100%;
	top: -2px;
	width: 100%;
	height: 100%;
	border-top: 2px solid var(--sjbs-navy);
	border-radius: 50% 50% 0 0;
}

@keyframes scx-bird {
	from { translate: calc(var(--S) * -2.2) 0; }
	to   { translate: calc(var(--S) * 2.2) calc(var(--S) * -.3); }
}

@keyframes scx-flap {
	from { transform: scaleY(1); }
	to   { transform: scaleY(-.6); }
}

/* ---------------------------------------------------------------- School bus (Campus Map) */
.sjbs-home .sc-land {
	top: 50%;
	left: 50%;
	width: calc(var(--S) * 3.4);
	height: calc(var(--S) * 1.8);
	margin: calc(var(--S) * -.75) 0 0 calc(var(--S) * -1.7);
	overflow: hidden;
	border-radius: calc(var(--S) * .3);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
}

.sjbs-home .sc-land::before {
	content: "";
	position: absolute;
	left: -10%;
	right: -10%;
	top: 34%;
	height: 50%;
	border-radius: 50% 50% 0 0;
	background: radial-gradient(60% 100% at 30% 100%, #7ED68F, #4CB86A);
	opacity: .75;
}

.sjbs-home .sc-road {
	left: 0;
	right: 0;
	top: 64%;
	height: 22%;
	background: linear-gradient(180deg, #55617F, #3B4766);
	box-shadow: inset 0 4px 0 rgba(255, 255, 255, .15);
}

.sjbs-home .sc-road i {
	position: absolute;
	left: 0;
	right: 0;
	top: 46%;
	height: 4px;
	background: repeating-linear-gradient(90deg, #FFE08A 0 26px, transparent 26px 52px);
	animation: scx-road calc(.9s * var(--T)) linear infinite;
}

@keyframes scx-road {
	to { background-position: -52px 0; }
}

.sjbs-home .sc-tree {
	top: 34%;
	left: 100%;
	width: calc(var(--S) * .22);
	height: calc(var(--S) * .42);
	animation: scx-pass calc(6s * var(--T)) linear infinite;
}

.sjbs-home .sc-tree i {
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 16%;
	height: 42%;
	margin-left: -8%;
	border-radius: 3px;
	background: #8B5E3C;
}

.sjbs-home .sc-tree::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 70%;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #8BE09B, #2EAE6B);
}

.sjbs-home .sc-tree--2 { animation-delay: calc(-1.5s * var(--T)); transform: scale(.8); }
.sjbs-home .sc-tree--3 { animation-delay: calc(-3s * var(--T)); transform: scale(1.1); }
.sjbs-home .sc-tree--4 { animation-delay: calc(-4.5s * var(--T)); transform: scale(.7); }

@keyframes scx-pass {
	from { translate: 0 0; }
	to   { translate: calc(var(--S) * -3.9) 0; }
}

.sjbs-home .sc-mini-school {
	z-index: 1;
	right: 4%;
	top: 6%;
	font-size: calc(var(--S) * .62);
	filter: drop-shadow(0 10px 10px rgba(23, 52, 140, .3));
}

.sjbs-home .sc-pin {
	left: 50%;
	top: -36%;
	width: calc(var(--S) * .2);
	height: calc(var(--S) * .2);
	margin-left: calc(var(--S) * -.1);
	border-radius: 50% 50% 50% 0;
	background: #FF4D5E;
	transform: rotate(-45deg);
	box-shadow: 0 6px 10px rgba(255, 77, 94, .35);
	animation: scx-pin calc(1.4s * var(--T)) ease-in-out infinite;
}

.sjbs-home .sc-pin i {
	position: absolute;
	inset: 30%;
	border-radius: 50%;
	background: #FFFFFF;
}

@keyframes scx-pin {
	0%, 100% { translate: 0 0; }
	50%      { translate: 0 calc(var(--S) * -.1); }
}

.sjbs-home .sc-bus {
	z-index: 3;
	top: calc(50% + var(--S) * .02);
	left: 50%;
	width: calc(var(--S) * 1.5);
	height: calc(var(--S) * .72);
	margin-left: calc(var(--S) * -1);
	animation: scx-bus-drive calc(10s * var(--T)) ease-in-out infinite;
}

@keyframes scx-bus-drive {
	0%, 100% { translate: calc(var(--S) * -.2) 0; }
	50%      { translate: calc(var(--S) * .25) 0; }
}

.sjbs-home .sc-bus__bounce {
	inset: 0;
	animation: scx-bounce calc(.45s * var(--T)) ease-in-out infinite alternate;
}

@keyframes scx-bounce {
	from { transform: translateY(0) rotate(0); }
	to   { transform: translateY(-3px) rotate(-.6deg); }
}

.sjbs-home .sc-bus__body {
	left: 0;
	right: 0;
	top: 0;
	height: 82%;
	border-radius: calc(var(--S) * .1) calc(var(--S) * .2) calc(var(--S) * .06) calc(var(--S) * .06);
	background: linear-gradient(180deg, #FFD65C 0%, #FFC23D 55%, #EFA315 100%);
	box-shadow: inset 0 -8px 0 rgba(0, 0, 0, .1), 0 16px 18px -12px rgba(23, 52, 140, .55);
	display: flex;
	gap: 4%;
	padding: 9% 26% 0 5%;
}

.sjbs-home .sc-bus__win {
	position: relative;
	flex: 1 1 0;
	height: 40%;
	border-radius: 6px;
	background: linear-gradient(160deg, #CFE0FF 0%, #6E95F5 100%);
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .7);
	overflow: hidden;
}

.sjbs-home .sc-bus__win::after {
	content: "";
	position: absolute;
	left: 26%;
	bottom: -14%;
	width: 48%;
	height: 70%;
	border-radius: 50% 50% 20% 20%;
	background: radial-gradient(circle at 50% 30%, #F6C39A 0 38%, #2F6BFF 40%);
	animation: scx-bob-kid calc(1s * var(--T)) ease-in-out infinite alternate;
}

.sjbs-home .sc-bus__win:nth-child(2)::after { animation-delay: -.3s; background: radial-gradient(circle at 50% 30%, #E9A979 0 38%, #FF6B8A 40%); }
.sjbs-home .sc-bus__win:nth-child(3)::after { animation-delay: -.6s; background: radial-gradient(circle at 50% 30%, #F6C39A 0 38%, #2EC4B6 40%); }

@keyframes scx-bob-kid {
	from { transform: translateY(0); }
	to   { transform: translateY(-3px); }
}

.sjbs-home .sc-bus__stripe {
	position: absolute;
	left: 0;
	right: 0;
	top: 62%;
	height: 6%;
	background: var(--sjbs-navy);
}

.sjbs-home .sc-bus__label {
	position: absolute;
	left: 6%;
	top: 72%;
	font-family: var(--sjbs-font-head);
	font-size: calc(var(--S) * .1);
	letter-spacing: .06em;
	color: var(--sjbs-navy);
}

.sjbs-home .sc-bus__door {
	position: absolute;
	right: 8%;
	top: 12%;
	width: 13%;
	height: 70%;
	border-radius: 5px;
	background:
		linear-gradient(90deg, transparent 47%, rgba(255, 255, 255, .8) 47% 53%, transparent 53%),
		linear-gradient(160deg, #CFE0FF, #6E95F5);
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .7);
}

.sjbs-home .sc-bus__light {
	position: absolute;
	right: -2%;
	top: 58%;
	width: 6%;
	height: 12%;
	border-radius: 50%;
	background: #FFF6CF;
	box-shadow: 0 0 14px 6px rgba(255, 246, 207, .9);
}

.sjbs-home .sc-bus__top {
	left: 4%;
	right: 10%;
	top: -6%;
	height: 8%;
	border-radius: 8px 8px 0 0;
	background: #FFE08A;
}

.sjbs-home .sc-bus__wheel {
	bottom: 0;
	width: calc(var(--S) * .27);
	height: calc(var(--S) * .27);
	border-radius: 50%;
	background: radial-gradient(circle, #DDE3F2 0 30%, #2A3350 31% 100%);
	box-shadow: 0 4px 6px rgba(0, 0, 0, .25);
}

.sjbs-home .sc-bus__wheel--a { left: 12%; }
.sjbs-home .sc-bus__wheel--b { right: 16%; }

.sjbs-home .sc-bus__wheel i {
	position: absolute;
	inset: 28%;
	border-radius: 50%;
	background: conic-gradient(#8C97B5 0 25%, #DDE3F2 0 50%, #8C97B5 0 75%, #DDE3F2 0);
	animation: sjbs-spin calc(.5s * var(--T)) linear infinite;
}

.sjbs-home .sc-bus__puff {
	left: -18%;
	bottom: 10%;
	width: 20%;
	height: 30%;
}

.sjbs-home .sc-bus__puff i {
	position: absolute;
	right: 0;
	bottom: 0;
	width: calc(var(--S) * .12);
	height: calc(var(--S) * .12);
	border-radius: 50%;
	background: rgba(255, 255, 255, .9);
	animation: scx-puff calc(1.2s * var(--T)) ease-out infinite;
}

.sjbs-home .sc-bus__puff i:nth-child(2) { animation-delay: -.4s; }
.sjbs-home .sc-bus__puff i:nth-child(3) { animation-delay: -.8s; }

@keyframes scx-puff {
	from { transform: translate(0, 0) scale(.4); opacity: .9; }
	to   { transform: translate(calc(var(--S) * -.35), calc(var(--S) * -.15)) scale(1.5); opacity: 0; }
}

/* ---------------------------------------------------------------- ABC blocks (Nursery) */
.sjbs-home .sjbs-sc--blocks {
	transform: rotateX(-14deg) rotateY(-26deg);
}

.sjbs-home .sc-box {
	--b: calc(var(--S) * .44);
	width: var(--b);
	height: var(--b);
	transform-style: preserve-3d;
}

.sjbs-home .sjbs-sc .sc-f {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	border-radius: 8px;
	background: var(--c, #FFC23D);
	box-shadow: inset 0 0 0 4px rgba(255, 255, 255, .45);
	backface-visibility: hidden;
}

.sjbs-home .sc-f--fr { transform: translateZ(calc(var(--b) / 2)); }
.sjbs-home .sc-f--bk { transform: rotateY(180deg) translateZ(calc(var(--b) / 2)); }
.sjbs-home .sc-f--lf { transform: rotateY(-90deg) translateZ(calc(var(--b) / 2)); filter: brightness(.82); }
.sjbs-home .sc-f--rt { transform: rotateY(90deg) translateZ(calc(var(--b) / 2)); filter: brightness(.82); }
.sjbs-home .sc-f--tp { transform: rotateX(90deg) translateZ(calc(var(--b) / 2)); filter: brightness(1.15); }
.sjbs-home .sc-f--bt { transform: rotateX(-90deg) translateZ(calc(var(--b) / 2)); filter: brightness(.7); }

.sjbs-home .sc-f b {
	font-family: var(--sjbs-font-head);
	font-size: calc(var(--b) * .7);
	line-height: 1;
	color: #FFFFFF;
	text-shadow: 0 3px 0 rgba(0, 0, 0, .15);
}

.sjbs-home .sc-blk {
	--x: 0;
	--y: 0;
	top: 50%;
	left: 50%;
	width: calc(var(--S) * .44);
	height: calc(var(--S) * .44);
	margin: calc(var(--S) * -.22) 0 0 calc(var(--S) * -.22);
	transform-style: preserve-3d;
	transform: translate3d(calc(var(--x) * var(--S)), calc(var(--y) * var(--S)), 0);
	animation: scx-drop calc(9s * var(--T)) cubic-bezier(.3, 0, .3, 1) infinite;
	animation-delay: calc(var(--k) * .45s * var(--T));
}

.sjbs-home .sc-blk--0 { --x: -.47; --y: .5; --c: #FF6B8A; }
.sjbs-home .sc-blk--1 { --x: 0; --y: .5; --c: #FFC23D; }
.sjbs-home .sc-blk--2 { --x: .47; --y: .5; --c: #2EC4B6; }
.sjbs-home .sc-blk--3 { --x: -.235; --y: .04; --c: #2F6BFF; }
.sjbs-home .sc-blk--4 { --x: .235; --y: .04; --c: #8E6CFF; }
.sjbs-home .sc-blk--5 { --x: 0; --y: -.42; --c: #FF8A3D; }

.sjbs-home .sc-blk .sc-box {
	position: absolute;
	inset: 0;
	animation: scx-wobble calc(9s * var(--T)) ease-in-out infinite;
	animation-delay: inherit;
}

@keyframes scx-drop {
	0%   { transform: translate3d(calc(var(--x) * var(--S)), calc(var(--S) * -2.4), 0); opacity: 0; }
	4%   { opacity: 1; }
	12%  { transform: translate3d(calc(var(--x) * var(--S)), calc(var(--y) * var(--S)), 0); }
	15%  { transform: translate3d(calc(var(--x) * var(--S)), calc((var(--y) - .08) * var(--S)), 0); }
	18%, 78% { transform: translate3d(calc(var(--x) * var(--S)), calc(var(--y) * var(--S)), 0); opacity: 1; }
	88%, 100% { transform: translate3d(calc(var(--x) * var(--S) * 1.6), calc((var(--y) + .4) * var(--S)), -80px) rotateZ(calc(var(--x) * 90deg)); opacity: 0; }
}

@keyframes scx-wobble {
	0%, 12%, 100% { transform: rotateY(0); }
	40%           { transform: rotateY(18deg); }
	60%           { transform: rotateY(-12deg); }
}

.sjbs-home .sc-rainbow {
	top: calc(50% - var(--S) * .95);
	left: calc(50% - var(--S) * 1.55);
	width: calc(var(--S) * 1.3);
	height: calc(var(--S) * .65);
	overflow: hidden;
	transform: translateZ(-120px);
}

.sjbs-home .sc-rainbow i {
	position: absolute;
	left: calc(var(--n, 0) * 9%);
	right: calc(var(--n, 0) * 9%);
	top: calc(var(--n, 0) * 18%);
	height: calc(200% - var(--n, 0) * 36%);
	border: calc(var(--S) * .06) solid #FF6B8A;
	border-radius: 50%;
	animation: scx-rainbow calc(4s * var(--T)) ease-in-out infinite alternate;
}

.sjbs-home .sc-rainbow i:nth-child(2) { --n: 1; border-color: #FFC23D; }
.sjbs-home .sc-rainbow i:nth-child(3) { --n: 2; border-color: #2EC4B6; }
.sjbs-home .sc-rainbow i:nth-child(4) { --n: 3; border-color: #2F6BFF; }

@keyframes scx-rainbow {
	from { opacity: .55; }
	to   { opacity: 1; }
}

.sjbs-home .sc-ballb {
	top: calc(50% + var(--S) * .38);
	left: calc(50% + var(--S) * 1.15);
	width: calc(var(--S) * .36);
	height: calc(var(--S) * .36);
	animation: scx-ballbounce calc(1.3s * var(--T)) cubic-bezier(.5, 0, .5, 1) infinite alternate;
}

.sjbs-home .sc-ballb i {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: conic-gradient(#FF6B8A 0 60deg, #FFFFFF 0 120deg, #FFC23D 0 180deg, #FFFFFF 0 240deg, #2F6BFF 0 300deg, #FFFFFF 0);
	box-shadow: inset -6px -8px 0 rgba(0, 0, 0, .12);
	animation: sjbs-spin calc(2.6s * var(--T)) linear infinite;
}

@keyframes scx-ballbounce {
	from { transform: translateY(0) scale(1.08, .9); }
	30%  { transform: translateY(calc(var(--S) * -.1)) scale(1); }
	to   { transform: translateY(calc(var(--S) * -.75)) scale(1); }
}

.sjbs-home .sc-stars i {
	position: absolute;
	width: calc(var(--S) * .14);
	height: calc(var(--S) * .14);
	background: #FFFFFF;
	clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
	animation: scx-twinkle calc(2.4s * var(--T)) ease-in-out infinite;
}

.sjbs-home .sc-stars {
	inset: 0;
}

.sjbs-home .sc-stars i:nth-child(1) { left: -80%; top: -30%; }
.sjbs-home .sc-stars i:nth-child(2) { left: 140%; top: -50%; animation-delay: -.5s; background: var(--sjbs-gold); }
.sjbs-home .sc-stars i:nth-child(3) { left: 170%; top: 40%; animation-delay: -1s; }
.sjbs-home .sc-stars i:nth-child(4) { left: -120%; top: 70%; animation-delay: -1.5s; background: var(--sjbs-pink); }
.sjbs-home .sc-stars i:nth-child(5) { left: 40%; top: -110%; animation-delay: -2s; }

/* ---------------------------------------------------------------- Robot (Facilities / Technology) */
.sjbs-home .sc-circuit {
	top: 50%;
	left: 50%;
	width: calc(var(--S) * 3.2);
	height: calc(var(--S) * 2.2);
	margin: calc(var(--S) * -1.1) 0 0 calc(var(--S) * -1.6);
	opacity: .8;
}

.sjbs-home .sc-circuit i {
	position: absolute;
	height: 2px;
	border-radius: 2px;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .9) 50%, rgba(255, 255, 255, 0));
	background-size: 40% 100%;
	background-repeat: no-repeat;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .25);
	animation: scx-current calc(2.8s * var(--T)) linear infinite;
}

.sjbs-home .sc-circuit i:nth-child(1) { left: 0; right: 60%; top: 22%; }
.sjbs-home .sc-circuit i:nth-child(2) { left: 64%; right: 0; top: 30%; animation-delay: -.7s; }
.sjbs-home .sc-circuit i:nth-child(3) { left: 4%; right: 66%; top: 78%; animation-delay: -1.4s; }
.sjbs-home .sc-circuit i:nth-child(4) { left: 70%; right: 2%; top: 84%; animation-delay: -2.1s; }

.sjbs-home .sc-circuit i::after {
	content: "";
	position: absolute;
	right: -5px;
	top: -4px;
	width: 10px;
	height: 10px;
	border: 2px solid rgba(255, 255, 255, .9);
	border-radius: 50%;
}

@keyframes scx-current {
	from { background-position: -60% 0; }
	to   { background-position: 160% 0; }
}

.sjbs-home .sc-atom {
	top: calc(50% - var(--S) * .95);
	left: calc(50% + var(--S) * .95);
	width: calc(var(--S) * .9);
	height: calc(var(--S) * .9);
	animation: scx-float calc(5s * var(--T)) ease-in-out infinite;
}

.sjbs-home .sc-atom__orbit {
	position: absolute;
	inset: 0;
	border: 2px solid rgba(47, 107, 255, .7);
	border-radius: 50%;
	transform: rotate(var(--r, 0deg)) scaleY(.36);
}

.sjbs-home .sc-atom__orbit:nth-child(2) { --r: 60deg; border-color: rgba(255, 107, 138, .7); }
.sjbs-home .sc-atom__orbit:nth-child(3) { --r: 120deg; border-color: rgba(255, 170, 30, .8); }

.sjbs-home .sc-atom__orbit b {
	position: absolute;
	inset: -2px;
	border-radius: 50%;
	animation: sjbs-spin calc(2.4s * var(--T)) linear infinite;
}

.sjbs-home .sc-atom__orbit:nth-child(2) b { animation-duration: calc(3s * var(--T)); animation-direction: reverse; }
.sjbs-home .sc-atom__orbit:nth-child(3) b { animation-duration: calc(3.6s * var(--T)); }

.sjbs-home .sc-atom__orbit b::before {
	content: "";
	position: absolute;
	left: 50%;
	top: -7px;
	width: 14px;
	height: 14px;
	margin-left: -7px;
	border-radius: 50%;
	background: var(--sjbs-royal);
	box-shadow: 0 0 12px 3px rgba(47, 107, 255, .6);
}

.sjbs-home .sc-atom__core {
	left: 50%;
	top: 50%;
	width: 22%;
	height: 22%;
	margin: -11% 0 0 -11%;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 35%, #FFF3C4, #FFC23D 60%, #F29C1F);
	box-shadow: 0 0 18px 6px rgba(255, 194, 61, .65);
	animation: sjbs-b3d-breathe calc(2s * var(--T)) ease-in-out infinite;
}

.sjbs-home .sc-robot {
	z-index: 2;
	top: 50%;
	left: 50%;
	width: calc(var(--S) * 1.1);
	height: calc(var(--S) * 1.6);
	margin: calc(var(--S) * -.8) 0 0 calc(var(--S) * -.55);
}

.sjbs-home .sc-robot__hover {
	inset: 0;
	animation: scx-hover calc(3.4s * var(--T)) ease-in-out infinite;
	filter: drop-shadow(0 22px 18px rgba(23, 52, 140, .3));
}

@keyframes scx-hover {
	0%, 100% { transform: translateY(0) rotate(-2deg); }
	50%      { transform: translateY(calc(var(--S) * -.12)) rotate(2deg); }
}

.sjbs-home .sc-robot__ant {
	left: 50%;
	top: 0;
	width: 4px;
	height: 12%;
	margin-left: -2px;
	background: #9AA6C4;
}

.sjbs-home .sc-robot__ant i {
	position: absolute;
	left: 50%;
	top: -10px;
	width: 18px;
	height: 18px;
	margin-left: -9px;
	border-radius: 50%;
	background: #FF4D5E;
	box-shadow: 0 0 14px 4px rgba(255, 77, 94, .7);
	animation: scx-pulse calc(1.2s * var(--T)) ease-in-out infinite;
}

@keyframes scx-pulse {
	0%, 100% { transform: scale(1); filter: brightness(1); }
	50%      { transform: scale(1.25); filter: brightness(1.4); }
}

.sjbs-home .sc-robot__head {
	left: 4%;
	right: 4%;
	top: 11%;
	height: 34%;
	border-radius: 26% / 34%;
	background: linear-gradient(180deg, #FFFFFF 0%, #DCE5FA 100%);
	box-shadow: inset 0 -6px 0 rgba(23, 52, 140, .1);
	animation: scx-headturn calc(6s * var(--T)) ease-in-out infinite;
}

@keyframes scx-headturn {
	0%, 100% { transform: rotate(0); }
	30%      { transform: rotate(-6deg); }
	60%      { transform: rotate(5deg); }
}

.sjbs-home .sc-robot__screen {
	inset: 14% 11%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18%;
	border-radius: 22% / 34%;
	background: radial-gradient(120% 120% at 30% 20%, #26407F, var(--sjbs-navy));
	box-shadow: inset 0 0 12px rgba(46, 196, 182, .35);
}

.sjbs-home .sc-robot__eye {
	position: relative;
	width: 16%;
	height: 44%;
	border-radius: 999px;
	background: #5CF2E3;
	box-shadow: 0 0 12px 2px rgba(92, 242, 227, .8);
	animation: scx-blink calc(3.6s * var(--T)) infinite;
}

.sjbs-home .sc-robot__mouth {
	position: absolute;
	left: 40%;
	right: 40%;
	bottom: 14%;
	height: 10%;
	border: 3px solid #5CF2E3;
	border-top: 0;
	border-radius: 0 0 20px 20px;
}

.sjbs-home .sc-robot__ear {
	top: 34%;
	width: 10%;
	height: 32%;
	border-radius: 6px;
	background: var(--sjbs-royal);
}

.sjbs-home .sc-robot__ear--l { left: -6%; }
.sjbs-home .sc-robot__ear--r { right: -6%; }

.sjbs-home .sc-robot__neck {
	left: 42%;
	right: 42%;
	top: 44%;
	height: 5%;
	background: #9AA6C4;
}

.sjbs-home .sc-robot__body {
	left: 14%;
	right: 14%;
	top: 48%;
	height: 36%;
	border-radius: 22% / 26%;
	background: linear-gradient(180deg, #FFFFFF 0%, #D2DCF5 100%);
	box-shadow: inset 0 -8px 0 rgba(23, 52, 140, .1);
}

.sjbs-home .sc-robot__panel {
	left: 16%;
	right: 16%;
	top: 18%;
	height: 26%;
	display: flex;
	align-items: center;
	justify-content: space-around;
	border-radius: 8px;
	background: var(--sjbs-navy);
}

.sjbs-home .sc-robot__panel i {
	width: 16%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: #2EAE6B;
	animation: scx-led calc(1.5s * var(--T)) steps(1) infinite;
}

.sjbs-home .sc-robot__panel i:nth-child(2) { background: #FFC23D; animation-delay: -.5s; }
.sjbs-home .sc-robot__panel i:nth-child(3) { background: #FF4D5E; animation-delay: -1s; }

@keyframes scx-led {
	0%, 50% { opacity: 1; box-shadow: 0 0 8px currentColor; }
	51%, 100% { opacity: .3; }
}

.sjbs-home .sc-robot__heart {
	left: 50%;
	bottom: 16%;
	width: 18%;
	height: 22%;
	margin-left: -9%;
	background: #FF6B8A;
	clip-path: polygon(50% 100%, 4% 46%, 0 24%, 10% 6%, 28% 0, 50% 16%, 72% 0, 90% 6%, 100% 24%, 96% 46%);
	animation: scx-pulse calc(1s * var(--T)) ease-in-out infinite;
}

.sjbs-home .sc-robot__arm {
	top: 52%;
	width: 12%;
	height: 30%;
	border-radius: 999px;
	background: linear-gradient(90deg, #DCE5FA, #FFFFFF);
	transform-origin: 50% 8%;
}

.sjbs-home .sc-robot__arm i {
	position: absolute;
	left: -20%;
	bottom: -14%;
	width: 140%;
	height: 26%;
	border-radius: 50%;
	background: var(--sjbs-royal);
}

.sjbs-home .sc-robot__arm--l {
	left: 2%;
	transform: rotate(18deg);
}

.sjbs-home .sc-robot__arm--r {
	right: 2%;
	animation: scx-robowave calc(1.6s * var(--T)) ease-in-out infinite;
}

@keyframes scx-robowave {
	0%, 100% { transform: rotate(-150deg); }
	50%      { transform: rotate(-110deg); }
}

.sjbs-home .sc-robot__jet {
	left: 38%;
	right: 38%;
	top: 84%;
	height: 16%;
	border-radius: 0 0 50% 50%;
	background: linear-gradient(180deg, #FFF3C4, #FFC23D 40%, rgba(255, 107, 91, 0));
	filter: blur(1px);
	transform-origin: 50% 0;
	animation: scx-jet calc(.25s * var(--T)) ease-in-out infinite alternate;
}

@keyframes scx-jet {
	from { transform: scaleY(.75); opacity: .8; }
	to   { transform: scaleY(1.2); opacity: 1; }
}

.sjbs-home .sc-holo {
	z-index: 3;
	top: 50%;
	left: 50%;
	width: calc(var(--S) * .38);
	height: calc(var(--S) * .32);
	margin: calc(var(--S) * -.16) 0 0 calc(var(--S) * -.19);
	animation: scx-orbit calc(12s * var(--T)) linear infinite;
	animation-delay: calc(var(--k) * -3s * var(--T));
}

.sjbs-home .sc-holo__card {
	inset: 0;
	display: grid;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, .9);
	border-radius: 12px;
	background: rgba(255, 255, 255, .55);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	box-shadow: 0 10px 20px -10px rgba(23, 52, 140, .45);
}

.sjbs-home .sc-holo__card .sjbs-3d {
	font-size: calc(var(--S) * .2);
}

.sjbs-home .sc-holo__card i {
	position: absolute;
	left: 18%;
	right: 30%;
	bottom: 12%;
	height: 4px;
	border-radius: 4px;
	background: rgba(47, 107, 255, .35);
}

.sjbs-home .sc-holo__card i + i {
	right: 50%;
	bottom: 22%;
	display: none;
}

/* ---------------------------------------------------------------- Idea bulb (FAQ) */
.sjbs-home .sc-bulb {
	z-index: 2;
	top: 50%;
	left: 50%;
	width: calc(var(--S) * 1.05);
	height: calc(var(--S) * 1.6);
	margin: calc(var(--S) * -.85) 0 0 calc(var(--S) * -.525);
	animation: scx-float calc(5s * var(--T)) ease-in-out infinite;
}

.sjbs-home .sc-bulb__rays {
	left: 50%;
	top: 34%;
	width: calc(var(--S) * 2.6);
	height: calc(var(--S) * 2.6);
	margin: calc(var(--S) * -1.3) 0 0 calc(var(--S) * -1.3);
	border-radius: 50%;
	background: repeating-conic-gradient(rgba(255, 194, 61, .55) 0 6deg, transparent 6deg 24deg);
	-webkit-mask-image: radial-gradient(closest-side, transparent 30%, #000 34%, transparent 100%);
	mask-image: radial-gradient(closest-side, transparent 30%, #000 34%, transparent 100%);
	animation: sjbs-spin calc(24s * var(--T)) linear infinite, scx-glow calc(3s * var(--T)) ease-in-out infinite;
}

.sjbs-home .sc-bulb__halo {
	left: -30%;
	right: -30%;
	top: -16%;
	height: 96%;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(255, 236, 160, .95), rgba(255, 194, 61, .35) 60%, transparent);
	animation: scx-glow calc(3s * var(--T)) ease-in-out infinite;
}

@keyframes scx-glow {
	0%, 100% { opacity: .65; }
	50%      { opacity: 1; }
}

.sjbs-home .sc-bulb__glass {
	left: 0;
	right: 0;
	top: 0;
	height: 68%;
	border-radius: 50% 50% 42% 42% / 52% 52% 48% 48%;
	background: radial-gradient(circle at 50% 45%, #FFFFFF 0%, #FFF3B0 30%, #FFD34D 70%, #F7B21E 100%);
	box-shadow: inset -10px -14px 0 rgba(230, 150, 0, .2), 0 0 50px 14px rgba(255, 210, 80, .6);
	animation: scx-flicker calc(4s * var(--T)) linear infinite;
}

@keyframes scx-flicker {
	0%, 18%, 22%, 60%, 64%, 100% { filter: brightness(1); }
	20%, 62%                     { filter: brightness(.82); }
}

.sjbs-home .sc-bulb__fil {
	position: absolute;
	left: 30%;
	right: 30%;
	top: 46%;
	height: 22%;
	border: 3px solid #E07B00;
	border-top: 0;
	border-radius: 0 0 50% 50%;
}

.sjbs-home .sc-bulb__fil::before,
.sjbs-home .sc-bulb__fil::after {
	content: "";
	position: absolute;
	top: 100%;
	width: 3px;
	height: 120%;
	background: #9AA6C4;
	left: 18%;
}

.sjbs-home .sc-bulb__fil::after {
	left: auto;
	right: 18%;
}

.sjbs-home .sc-bulb__shine {
	position: absolute;
	left: 18%;
	top: 14%;
	width: 18%;
	height: 30%;
	border-radius: 50%;
	background: rgba(255, 255, 255, .85);
	transform: rotate(24deg);
}

.sjbs-home .sc-bulb__neck {
	left: 27%;
	right: 27%;
	top: 64%;
	height: 8%;
	background: linear-gradient(180deg, #FFD34D, #E9A21A);
	clip-path: polygon(0 0, 100% 0, 92% 100%, 8% 100%);
}

.sjbs-home .sc-bulb__base {
	left: 30%;
	right: 30%;
	top: 71%;
	height: 19%;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.sjbs-home .sc-bulb__base i {
	flex: 1 1 0;
	border-radius: 6px;
	background: linear-gradient(90deg, #8C97B5, #E6EBF7 40%, #8C97B5);
}

.sjbs-home .sc-bulb__base i:last-child {
	margin: 0 18%;
	border-radius: 0 0 50% 50%;
	background: var(--sjbs-navy);
}

.sjbs-home .sc-gear {
	width: calc(var(--S) * .7);
	height: calc(var(--S) * .7);
	border-radius: 50%;
	background:
		radial-gradient(circle, transparent 0 18%, #FFFFFF 19% 54%, transparent 55%),
		repeating-conic-gradient(#FFFFFF 0 15deg, transparent 15deg 30deg);
	-webkit-mask-image: radial-gradient(circle, #000 0 66%, transparent 67%);
	mask-image: radial-gradient(circle, #000 0 66%, transparent 67%);
	opacity: .85;
	animation: sjbs-spin calc(10s * var(--T)) linear infinite;
}

.sjbs-home .sc-gear--1 { top: calc(50% + var(--S) * .2); left: calc(50% - var(--S) * 1.5); }
.sjbs-home .sc-gear--2 { top: calc(50% + var(--S) * .62); left: calc(50% - var(--S) * 1); width: calc(var(--S) * .45); height: calc(var(--S) * .45); animation-direction: reverse; animation-duration: calc(6.4s * var(--T)); }
.sjbs-home .sc-gear--3 { top: calc(50% - var(--S) * 1); left: calc(50% + var(--S) * .95); width: calc(var(--S) * .55); height: calc(var(--S) * .55); animation-direction: reverse; }

.sjbs-home .sc-q {
	top: 50%;
	left: calc(50% + (var(--k) - 2.5) * var(--S) * .55);
	font-family: var(--sjbs-font-head);
	font-size: calc(var(--S) * .42);
	line-height: 1;
	color: var(--sjbs-royal);
	text-shadow: 0 8px 0 rgba(23, 52, 140, .15);
	opacity: 0;
	animation: scx-q calc(6s * var(--T)) ease-in-out infinite;
	animation-delay: calc(var(--k) * -1s * var(--T));
}

.sjbs-home .sc-q:nth-of-type(even) {
	color: var(--sjbs-pink);
}

@keyframes scx-q {
	0%   { transform: translate3d(0, calc(var(--S) * .7), 0) rotateY(0) scale(.5); opacity: 0; }
	20%  { opacity: 1; }
	60%  { transform: translate3d(0, calc(var(--S) * -.6), 60px) rotateY(360deg) scale(1); opacity: 1; }
	100% { transform: translate3d(0, calc(var(--S) * -1.2), 60px) rotateY(540deg) scale(.8); opacity: 0; }
}

/* ---------------------------------------------------------------- Sports (Campus Life) */
.sjbs-home .sc-hoop {
	top: 50%;
	left: 50%;
	width: calc(var(--S) * .9);
	height: calc(var(--S) * 1.9);
	margin: calc(var(--S) * -1.05) 0 0 calc(var(--S) * .45);
}

.sjbs-home .sc-hoop__pole {
	left: 70%;
	top: 20%;
	bottom: 0;
	width: 8%;
	border-radius: 4px;
	background: linear-gradient(90deg, #5B6788, #8C97B5);
}

.sjbs-home .sc-hoop__board {
	left: 0;
	right: 0;
	top: 0;
	height: 40%;
	border: 5px solid #FFFFFF;
	border-radius: 10px;
	background: rgba(255, 255, 255, .55);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	box-shadow: 0 12px 24px -12px rgba(23, 52, 140, .45);
}

.sjbs-home .sc-hoop__board i {
	position: absolute;
	left: 30%;
	right: 30%;
	bottom: 12%;
	height: 38%;
	border: 4px solid #FF6B3D;
	border-radius: 3px;
}

.sjbs-home .sc-hoop__rim {
	z-index: 3;
	left: 14%;
	right: 30%;
	top: 38%;
	height: 7%;
	border: 5px solid #FF6B3D;
	border-radius: 50%;
}

.sjbs-home .sc-hoop__net {
	z-index: 2;
	left: 17%;
	right: 33%;
	top: 41%;
	height: 22%;
	background:
		repeating-linear-gradient(60deg, rgba(255, 255, 255, .95) 0 2px, transparent 2px 10px),
		repeating-linear-gradient(-60deg, rgba(255, 255, 255, .95) 0 2px, transparent 2px 10px);
	clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
	transform-origin: 50% 0;
	animation: scx-net calc(3s * var(--T)) ease-in-out infinite;
}

@keyframes scx-net {
	0%, 52%, 100% { transform: scaleY(1); }
	58%           { transform: scaleY(1.25) scaleX(.9); }
	66%           { transform: scaleY(.92); }
}

.sjbs-home .sc-bball {
	z-index: 2;
	top: 50%;
	left: 50%;
	width: calc(var(--S) * .32);
	height: calc(var(--S) * .32);
	margin: calc(var(--S) * -.16) 0 0 calc(var(--S) * -.16);
	animation: scx-shot calc(3s * var(--T)) cubic-bezier(.35, 0, .65, 1) infinite;
}

@keyframes scx-shot {
	0%   { transform: translate(calc(var(--S) * -1.3), calc(var(--S) * .55)); opacity: 0; }
	6%   { opacity: 1; }
	25%  { transform: translate(calc(var(--S) * -.6), calc(var(--S) * -.75)); }
	45%  { transform: translate(calc(var(--S) * .58), calc(var(--S) * -.68)); }
	56%  { transform: translate(calc(var(--S) * .7), calc(var(--S) * -.32)); }
	70%  { transform: translate(calc(var(--S) * .72), calc(var(--S) * .55)); opacity: 1; }
	76%  { transform: translate(calc(var(--S) * .78), calc(var(--S) * .35)); }
	86%, 100% { transform: translate(calc(var(--S) * .86), calc(var(--S) * .58)); opacity: 0; }
}

.sjbs-home .sc-bball__spin {
	inset: 0;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #FFB27A, #F2741F 60%, #C9520B);
	box-shadow: inset -4px -6px 0 rgba(0, 0, 0, .12);
	animation: sjbs-spin calc(.9s * var(--T)) linear infinite;
}

.sjbs-home .sc-bball__spin i {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 2px solid transparent;
	border-left-color: #6B2A05;
	border-right-color: #6B2A05;
}

.sjbs-home .sc-bball__spin i + i {
	inset: 46% 0 auto;
	height: 2px;
	border: 0;
	background: #6B2A05;
}

.sjbs-home .sc-trophy {
	z-index: 3;
	top: 50%;
	left: 50%;
	width: calc(var(--S) * .78);
	height: calc(var(--S) * 1.05);
	margin: calc(var(--S) * -.3) 0 0 calc(var(--S) * -1.15);
	perspective: 600px;
	filter: drop-shadow(0 16px 14px rgba(23, 52, 140, .35));
}

.sjbs-home .sc-trophy__spin {
	inset: 0;
	transform-style: preserve-3d;
	animation: scx-trophy calc(5s * var(--T)) ease-in-out infinite;
}

@keyframes scx-trophy {
	0%, 100% { transform: rotateY(-32deg) translateY(0); }
	50%      { transform: rotateY(32deg) translateY(calc(var(--S) * -.08)); }
}

.sjbs-home .sc-trophy__cup {
	left: 18%;
	right: 18%;
	top: 0;
	height: 50%;
	overflow: hidden;
	border-radius: 8% 8% 50% 50% / 8% 8% 60% 60%;
	background: linear-gradient(90deg, #F2A818 0%, #FFE08A 35%, #FFC23D 60%, #D48A00 100%);
}

.sjbs-home .sc-trophy__cup i {
	position: absolute;
	top: -20%;
	bottom: -20%;
	left: -40%;
	width: 30%;
	background: rgba(255, 255, 255, .7);
	transform: skewX(-20deg);
	animation: scx-shine calc(3.2s * var(--T)) ease-in-out infinite;
}

@keyframes scx-shine {
	0%, 55% { left: -40%; }
	85%, 100% { left: 130%; }
}

.sjbs-home .sc-trophy__h {
	top: 6%;
	width: 24%;
	height: 28%;
	border: 6px solid #F2A818;
	border-radius: 50%;
}

.sjbs-home .sc-trophy__h--l { left: 2%; border-right-color: transparent; }
.sjbs-home .sc-trophy__h--r { right: 2%; border-left-color: transparent; }

.sjbs-home .sc-trophy__stem {
	left: 44%;
	right: 44%;
	top: 49%;
	height: 18%;
	background: linear-gradient(90deg, #D48A00, #FFD15C, #D48A00);
}

.sjbs-home .sc-trophy__base {
	left: 20%;
	right: 20%;
	top: 66%;
	height: 26%;
	display: grid;
	place-items: center;
	border-radius: 6px 6px 3px 3px;
	background: linear-gradient(180deg, #2C3E7A, var(--sjbs-navy));
	box-shadow: inset 0 4px 0 rgba(255, 255, 255, .15);
}

.sjbs-home .sc-trophy__base b {
	font-family: var(--sjbs-font-head);
	font-size: calc(var(--S) * .17);
	line-height: 1;
	color: var(--sjbs-gold);
}

.sjbs-home .sc-fball {
	z-index: 4;
	top: calc(50% + var(--S) * .7);
	left: 50%;
	width: calc(var(--S) * .3);
	height: calc(var(--S) * .3);
	animation: scx-roll calc(7s * var(--T)) linear infinite;
}

.sjbs-home .sc-fball i {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background:
		radial-gradient(circle at 50% 50%, #1B2340 0 16%, transparent 17%),
		radial-gradient(circle at 18% 30%, #1B2340 0 11%, transparent 12%),
		radial-gradient(circle at 82% 30%, #1B2340 0 11%, transparent 12%),
		radial-gradient(circle at 28% 84%, #1B2340 0 11%, transparent 12%),
		radial-gradient(circle at 72% 84%, #1B2340 0 11%, transparent 12%),
		#FFFFFF;
	box-shadow: inset -4px -5px 0 rgba(0, 0, 0, .1), 0 6px 8px rgba(23, 52, 140, .25);
	animation: sjbs-spin calc(1.4s * var(--T)) linear infinite;
}

@keyframes scx-roll {
	from { transform: translateX(calc(var(--S) * -2)); }
	to   { transform: translateX(calc(var(--S) * 2)); }
}

.sjbs-home .sc-confetti {
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
}

.sjbs-home .sc-confetti i {
	position: absolute;
	left: calc((var(--k) - 6.5) * var(--S) * .22);
	top: calc(var(--S) * -1.3);
	width: 8px;
	height: 14px;
	border-radius: 2px;
	background: #FF6B8A;
	animation: scx-confetti calc((3.2s + var(--k) * .17s) * var(--T)) linear infinite;
	animation-delay: calc(var(--k) * -.43s * var(--T));
}

.sjbs-home .sc-confetti i:nth-child(3n) { background: var(--sjbs-gold); }
.sjbs-home .sc-confetti i:nth-child(3n+1) { background: var(--sjbs-royal); width: 10px; height: 10px; border-radius: 50%; }
.sjbs-home .sc-confetti i:nth-child(4n) { background: #2EC4B6; }

@keyframes scx-confetti {
	0%   { transform: translate3d(0, 0, 0) rotateX(0) rotateZ(0); opacity: 0; }
	10%  { opacity: 1; }
	100% { transform: translate3d(calc(var(--S) * .3), calc(var(--S) * 2.4), 0) rotateX(720deg) rotateZ(260deg); opacity: 0; }
}

/* ---------------------------------------------------------------- Mailbox (Contact) */
.sjbs-home .sc-mailbox {
	z-index: 2;
	top: 50%;
	left: 50%;
	width: calc(var(--S) * 1.2);
	height: calc(var(--S) * 1.7);
	margin: calc(var(--S) * -.7) 0 0 calc(var(--S) * -.2);
	filter: drop-shadow(0 20px 16px rgba(23, 52, 140, .3));
}

.sjbs-home .sc-mailbox__post {
	left: 42%;
	right: 42%;
	top: 46%;
	bottom: 0;
	border-radius: 4px;
	background: linear-gradient(90deg, #8B5E3C, #C98A4B, #8B5E3C);
}

.sjbs-home .sc-mailbox__box {
	left: 0;
	right: 0;
	top: 0;
	height: 50%;
	transform-style: preserve-3d;
	animation: scx-float calc(6s * var(--T)) ease-in-out infinite;
}

.sjbs-home .sc-mailbox__side {
	inset: 0 0 0 18%;
	border-radius: 50% 50% 10px 10px / 46% 46% 10px 10px;
	background: linear-gradient(180deg, #4F82FF, var(--sjbs-royal) 60%, #1F4FD1);
	box-shadow: inset -10px -10px 0 rgba(0, 0, 0, .1);
}

.sjbs-home .sc-mailbox__front {
	left: 0;
	top: 6%;
	bottom: 0;
	width: 36%;
	border-radius: 50% 50% 8px 8px / 34% 34% 8px 8px;
	background: linear-gradient(180deg, #7FA4FF, #4F82FF);
	box-shadow: inset 0 0 0 4px rgba(255, 255, 255, .35);
}

.sjbs-home .sc-mailbox__front i {
	position: absolute;
	left: 24%;
	right: 24%;
	top: 44%;
	height: 9%;
	border-radius: 6px;
	background: var(--sjbs-navy);
}

.sjbs-home .sc-mailbox__lid {
	left: 18%;
	right: 10%;
	top: 22%;
	height: 7%;
	border-radius: 6px;
	background: rgba(255, 255, 255, .5);
}

.sjbs-home .sc-mailbox__flag {
	right: -6%;
	top: 30%;
	width: 6%;
	height: 52%;
	border-radius: 3px;
	background: #9AA6C4;
	transform-origin: 50% 90%;
	animation: scx-mflag calc(6s * var(--T)) ease-in-out infinite;
}

.sjbs-home .sc-mailbox__flag i {
	position: absolute;
	left: 0;
	top: 0;
	width: 420%;
	height: 32%;
	border-radius: 0 4px 4px 0;
	background: #FF4D5E;
}

@keyframes scx-mflag {
	0%, 30%, 100% { transform: rotate(90deg); }
	40%, 85%      { transform: rotate(0); }
}

.sjbs-home .sc-letter {
	z-index: 3;
	top: 50%;
	left: 50%;
	width: calc(var(--S) * .42);
	height: calc(var(--S) * .28);
	margin: calc(var(--S) * -.14) 0 0 calc(var(--S) * -.21);
	opacity: 0;
	animation: scx-letter calc(6s * var(--T)) ease-in-out infinite;
	animation-delay: calc(var(--k) * 1.5s * var(--T));
}

@keyframes scx-letter {
	0%   { transform: translate3d(calc(var(--S) * -1.9), calc(var(--S) * (.3 - var(--k) * .22)), 0) rotate(-12deg) rotateY(0); opacity: 0; }
	10%  { opacity: 1; }
	45%  { transform: translate3d(calc(var(--S) * -.8), calc(var(--S) * -.9), 80px) rotate(10deg) rotateY(180deg); }
	70%  { transform: translate3d(calc(var(--S) * .1), calc(var(--S) * -.38), 40px) rotate(-4deg) rotateY(360deg) scale(.7); opacity: 1; }
	80%, 100% { transform: translate3d(calc(var(--S) * .16), calc(var(--S) * -.3), 0) scale(.2); opacity: 0; }
}

.sjbs-home .sc-letter__in {
	inset: 0;
	border-radius: 5px;
	background: var(--P);
	box-shadow: 0 8px 14px -6px rgba(23, 52, 140, .45);
	overflow: hidden;
}

.sjbs-home .sc-letter__in::before {
	content: "";
	position: absolute;
	inset: 0 0 40%;
	background: #DCE6FF;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.sjbs-home .sc-letter__in i {
	position: absolute;
	right: 8%;
	bottom: 12%;
	width: 18%;
	height: 26%;
	border-radius: 2px;
	background: #FF6B8A;
}

.sjbs-home .sc-plane--1 {
	top: 10%;
	animation-duration: calc(8s * var(--T));
}

.sjbs-home .sc-plane--2 {
	top: 74%;
	animation-duration: calc(11s * var(--T));
	animation-delay: calc(-5s * var(--T));
	transform: scale(.8);
}

.sjbs-home .sc-bubble {
	display: grid;
	place-items: center;
	width: calc(var(--S) * .42);
	height: calc(var(--S) * .42);
	border: 1px solid rgba(255, 255, 255, .95);
	border-radius: 50% 50% 50% 12%;
	background: rgba(255, 255, 255, .7);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	font-size: calc(var(--S) * .24);
	box-shadow: 0 10px 20px -12px rgba(23, 52, 140, .5);
	animation: scx-float calc(4s * var(--T)) ease-in-out infinite;
}

.sjbs-home .sc-bubble--a { top: calc(50% - var(--S) * 1.05); left: calc(50% - var(--S) * 1.05); }
.sjbs-home .sc-bubble--b { top: calc(50% + var(--S) * .35); left: calc(50% + var(--S) * 1.15); animation-delay: -2s; border-radius: 50% 50% 12% 50%; }

/* ---------------------------------------------------------------- Camera (Gallery) */
.sjbs-home .sc-cam {
	z-index: 3;
	top: 50%;
	left: 50%;
	width: calc(var(--S) * 1.5);
	height: calc(var(--S) * 1.1);
	margin: calc(var(--S) * -.42) 0 0 calc(var(--S) * -.75);
}

.sjbs-home .sc-cam__float {
	inset: 0;
	transform-style: preserve-3d;
	animation: scx-camtilt calc(6s * var(--T)) ease-in-out infinite;
	filter: drop-shadow(0 24px 20px rgba(23, 52, 140, .38));
}

@keyframes scx-camtilt {
	0%, 100% { transform: rotate(-4deg) translateY(0); }
	50%      { transform: rotate(3deg) translateY(calc(var(--S) * -.07)); }
}

.sjbs-home .sc-cam__top {
	left: 12%;
	top: 0;
	width: 40%;
	height: 22%;
	border-radius: 12px 12px 0 0;
	background: linear-gradient(180deg, #33477F, #24376B);
}

.sjbs-home .sc-cam__btn {
	position: absolute;
	right: -46%;
	top: 26%;
	width: 26%;
	height: 50%;
	border-radius: 6px 6px 0 0;
	background: #FF4D5E;
}

.sjbs-home .sc-cam__flash {
	position: absolute;
	left: 14%;
	top: 22%;
	width: 46%;
	height: 56%;
	border-radius: 4px;
	background: linear-gradient(135deg, #FFFFFF, #CFE0FF);
	animation: scx-flash calc(4s * var(--T)) ease-out infinite;
}

@keyframes scx-flash {
	0%, 8%, 100% { box-shadow: 0 0 0 rgba(255, 255, 255, 0); filter: none; }
	2%           { box-shadow: 0 0 40px 22px rgba(255, 255, 255, .95); filter: brightness(1.5); }
}

.sjbs-home .sc-cam__body {
	left: 0;
	right: 0;
	top: 18%;
	bottom: 0;
	border-radius: calc(var(--S) * .14);
	background: linear-gradient(180deg, #3A5196 0%, #24376B 100%);
	box-shadow: inset 0 6px 0 rgba(255, 255, 255, .12), inset 0 -8px 0 rgba(0, 0, 0, .18);
}

.sjbs-home .sc-cam__strip {
	position: absolute;
	left: 0;
	right: 0;
	top: 30%;
	height: 38%;
	background: repeating-linear-gradient(90deg, rgba(0, 0, 0, .18) 0 3px, transparent 3px 7px), #1B2A55;
}

.sjbs-home .sc-cam__lens {
	left: 50%;
	top: 50%;
	width: calc(var(--S) * .72);
	height: calc(var(--S) * .72);
	margin: calc(var(--S) * -.36) 0 0 calc(var(--S) * -.36);
	border-radius: 50%;
	background: radial-gradient(circle, #0C1430 0 38%, #5E6F9E 39% 44%, #1B2A55 45% 66%, #C8D3EE 67% 74%, #8C97B5 75%);
	box-shadow: 0 6px 14px rgba(0, 0, 0, .35);
}

.sjbs-home .sc-cam__lens i {
	position: absolute;
	inset: 6%;
	border: 2px dashed rgba(255, 255, 255, .45);
	border-radius: 50%;
	animation: sjbs-spin calc(9s * var(--T)) linear infinite;
}

.sjbs-home .sc-cam__lens i + i {
	inset: 28%;
	border: 0;
	background: conic-gradient(from 20deg, rgba(47, 107, 255, .0), rgba(92, 242, 227, .55), rgba(255, 107, 138, .45), rgba(47, 107, 255, 0));
	animation-duration: calc(4s * var(--T));
	animation-direction: reverse;
}

.sjbs-home .sc-cam__lens b {
	position: absolute;
	left: 30%;
	top: 26%;
	width: 18%;
	height: 18%;
	border-radius: 50%;
	background: rgba(255, 255, 255, .85);
}

.sjbs-home .sc-cam__dot {
	position: absolute;
	right: 9%;
	top: 12%;
	width: 8%;
	height: 11%;
	border-radius: 50%;
	background: #5CF2E3;
	box-shadow: 0 0 10px 2px rgba(92, 242, 227, .8);
	animation: scx-pulse calc(1.4s * var(--T)) ease-in-out infinite;
}

.sjbs-home .sc-cam__slot {
	left: 22%;
	right: 22%;
	bottom: -4%;
	height: 7%;
	border-radius: 6px;
	background: #0C1430;
}

.sjbs-home .sc-polaroid {
	z-index: 2;
	top: 50%;
	left: 50%;
	width: calc(var(--S) * .58);
	height: calc(var(--S) * .7);
	margin: calc(var(--S) * -.1) 0 0 calc(var(--S) * -.29);
	opacity: 0;
	animation: scx-pola calc(8s * var(--T)) cubic-bezier(.2, .8, .2, 1) infinite;
	animation-delay: calc(var(--k) * 2s * var(--T));
	--px: calc((var(--k) - 1.5) * var(--S) * .95);
	--py: calc(var(--S) * (-1 + (var(--k) - 1.5) * (var(--k) - 1.5) * .16));
	--pr: calc((var(--k) - 1.5) * 14deg);
}

@keyframes scx-pola {
	0%   { transform: translate3d(0, calc(var(--S) * .45), -10px) scale(.4) rotate(0); opacity: 0; }
	6%   { opacity: 1; }
	22%  { transform: translate3d(calc(var(--px) * 1.1), calc(var(--py) * 1.1), 60px) scale(1.05) rotate(var(--pr)) rotateY(-20deg); }
	30%, 80% { transform: translate3d(var(--px), var(--py), 40px) scale(1) rotate(var(--pr)) rotateY(0); opacity: 1; }
	92%, 100% { transform: translate3d(var(--px), calc(var(--py) - var(--S) * .4), 40px) scale(.9) rotate(var(--pr)); opacity: 0; }
}

.sjbs-home .sc-polaroid__in {
	inset: 0;
	padding: 7% 7% 24%;
	border-radius: 4px;
	background: #FFFFFF;
	box-shadow: 0 14px 22px -10px rgba(23, 52, 140, .5);
}

.sjbs-home .sc-polaroid__img {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background: #BFD3FF;
}

.sjbs-home .sc-polaroid__img img {
	width: 100%;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
}

.sjbs-home .sc-pic {
	position: absolute;
	inset: 0;
}

.sjbs-home .sc-pic--sun {
	background: linear-gradient(180deg, #9EC0FF 0 60%, #6BCB7F 60%);
}

.sjbs-home .sc-pic--sun i:first-child {
	position: absolute;
	right: 16%;
	top: 14%;
	width: 26%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: #FFC23D;
}

.sjbs-home .sc-pic--sun i + i {
	position: absolute;
	left: -10%;
	right: 30%;
	bottom: 30%;
	height: 34%;
	border-radius: 50% 50% 0 0;
	background: #48B565;
}

.sjbs-home .sc-pic--tree {
	background: linear-gradient(180deg, #FFE1EA 0 66%, #FFC2D0 66%);
}

.sjbs-home .sc-pic--tree i:first-child {
	position: absolute;
	left: 30%;
	top: 14%;
	width: 40%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: #2EAE6B;
}

.sjbs-home .sc-pic--tree i + i {
	position: absolute;
	left: 46%;
	top: 50%;
	width: 8%;
	height: 26%;
	background: #8B5E3C;
}

.sjbs-home .sc-pic--kids {
	background: linear-gradient(180deg, #FFF3C4 0 70%, #FFE08A 70%);
}

.sjbs-home .sc-pic--kids i {
	position: absolute;
	bottom: 18%;
	width: 26%;
	height: 52%;
	border-radius: 50% 50% 20% 20% / 36% 36% 20% 20%;
	background: radial-gradient(circle at 50% 22%, #F6C39A 0 20%, #2F6BFF 21%);
	left: 18%;
}

.sjbs-home .sc-pic--kids i + i {
	left: 54%;
	background: radial-gradient(circle at 50% 22%, #E9A979 0 20%, #FF6B8A 21%);
}

.sjbs-home .sc-pic--star {
	background: linear-gradient(135deg, #2F6BFF, #8E6CFF);
}

.sjbs-home .sc-pic--star i:first-child {
	position: absolute;
	inset: 22%;
	background: #FFC23D;
	clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}

.sjbs-home .sc-burst {
	inset: -150%;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(255, 255, 255, .9), transparent);
	opacity: 0;
	animation: scx-burst calc(4s * var(--T)) ease-out infinite;
	pointer-events: none;
}

@keyframes scx-burst {
	0%, 6%, 100% { opacity: 0; transform: scale(.4); }
	2%           { opacity: .9; transform: scale(1); }
}

/* Mobile / tablet sizing of the scenes */
@media (max-width: 1024px) {
	.sjbs-home .sjbs-banner:not(.sjbs-banner--sc-cube) .sjbs-b3d__stage {
		--b3d-rs: .7;
	}

	.sjbs-home .sjbs-banner--bg-3d.sjbs-banner--none .sjbs-banner__text,
	.sjbs-home .sjbs-banner--h-tall.sjbs-banner--none .sjbs-banner__text {
		max-width: var(--sjbs-bn-text-w, 60%);
	}
}

@media (max-width: 767px) {
	.sjbs-home .sjbs-banner--bg-3d.sjbs-b3d-m-soft {
		padding-bottom: calc(var(--b3d-mob-space, 300px) + 20px);
	}

	.sjbs-home .sjbs-banner--bg-3d.sjbs-banner--none .sjbs-banner__text,
	.sjbs-home .sjbs-banner--h-tall.sjbs-banner--none .sjbs-banner__text {
		max-width: 100%;
	}

	.sjbs-home .sjbs-b3d-m-soft .sjbs-b3d__stage,
	.sjbs-home .sjbs-b3d-m-soft:not(.sjbs-banner--sc-cube) .sjbs-b3d__stage {
		--b3d-size: 120px;
		--b3d-rs: 1;
		--b3d-ro: 1;
		top: calc(100% - var(--b3d-mob-space, 300px) / 2 - 16px);
		left: 50%;
	}

	.sjbs-home .sjbs-b3d-m-hide .sjbs-b3d__stage {
		display: none;
	}
}

/* ==========================================================================
   5. Page sections
   ========================================================================== */
.sjbs-home .sjbs-s {
	position: relative;
	z-index: 1;
}

.sjbs-home .sjbs-ip-body {
	position: relative;
}

.sjbs-home .sjbs-ab-blobs i {
	filter: blur(50px);
}

/* Shared card surface */
.sjbs-home .sjbs-s-card,
.sjbs-home .sjbs-s-tcard,
.sjbs-home .sjbs-s-mini,
.sjbs-home .sjbs-s-step__card {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	border: 1px solid rgba(47, 107, 255, .1);
	border-radius: var(--sjbs-radius);
	background: #FFFFFF;
	box-shadow: 0 22px 44px -32px rgba(23, 52, 140, .55);
	transition: transform .45s cubic-bezier(.2, .8, .2, 1), box-shadow .45s ease, background-color .3s ease;
}

.sjbs-home:not(.sjbs-nolift) .sjbs-s-card:hover,
.sjbs-home:not(.sjbs-nolift) .sjbs-s-tcard:hover,
.sjbs-home:not(.sjbs-nolift) .sjbs-s-mini:hover {
	transform: translateY(calc(var(--sjbs-lift, 8px) * -1));
	box-shadow: 0 30px 56px -30px rgba(23, 52, 140, .55);
}

.sjbs-home .sjbs-s-card__spot {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%), var(--sjbs-spot), transparent 70%);
	opacity: 0;
	transition: opacity .3s ease;
	pointer-events: none;
}

.sjbs-home [data-sjbs-spot]:hover > .sjbs-s-card__spot,
.sjbs-home .sjbs-fx-spot > :hover > .sjbs-s-card__spot {
	opacity: 1;
}

.sjbs-home .sjbs-s-card__line {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: var(--sjbs-line-h, 4px);
	background: linear-gradient(90deg, var(--c, var(--sjbs-line-a)), var(--sjbs-line-b));
	transform: scaleX(0);
	transform-origin: 0 50%;
	transition: transform var(--sjbs-line-dur, 900ms) cubic-bezier(.65, 0, .35, 1) calc(var(--sjbs-delay, 0ms) + 300ms);
}

.sjbs-home.sjbs-cl-always .sjbs-s-card__line,
.sjbs-home.sjbs-cl-appear .is-visible > .sjbs-s-card__line,
.sjbs-home.sjbs-cl-appear:not(.sjbs-js) .sjbs-s-card__line,
.sjbs-home.sjbs-cl-hover .sjbs-s-card:hover > .sjbs-s-card__line {
	transform: scaleX(1);
}

.sjbs-home.sjbs-cl-none .sjbs-s-card__line {
	display: none;
}

.sjbs-home .sjbs-s-card__link {
	position: absolute;
	inset: 0;
	z-index: 5;
	border-radius: inherit;
}

.sjbs-home .sjbs-s-card__link:focus-visible {
	outline: 3px solid var(--sjbs-royal);
	outline-offset: 3px;
}

.sjbs-home .sjbs-s-card__icon,
.sjbs-home .sjbs-s-tcard__icon,
.sjbs-home .sjbs-s-mini__icon,
.sjbs-home .sjbs-s-step__icon,
.sjbs-home .sjbs-s-stat__icon {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: calc(var(--sjbs-card-icon, 44px) + 30px);
	height: calc(var(--sjbs-card-icon, 44px) + 30px);
	border-radius: 50%;
	background: radial-gradient(circle at 30% 25%, #FFFFFF, color-mix(in srgb, var(--c, var(--sjbs-royal)) 16%, #FFFFFF));
	box-shadow: inset 0 0 0 1px rgba(47, 107, 255, .1), 0 12px 22px -14px rgba(23, 52, 140, .5);
	font-size: var(--sjbs-card-icon, 44px);
	transition: transform .5s cubic-bezier(.34, 1.56, .64, 1);
}

.sjbs-home .sjbs-s-card:hover .sjbs-s-card__icon,
.sjbs-home .sjbs-s-tcard:hover .sjbs-s-tcard__icon,
.sjbs-home .sjbs-s-mini:hover .sjbs-s-mini__icon {
	transform: rotate(-10deg) scale(1.08);
}

.sjbs-home.sjbs-anim .sjbs-s-card__icon img,
.sjbs-home.sjbs-anim .sjbs-s-tcard__icon img {
	animation: sjbs-bob calc(3.4s * var(--sjbs-amb, 1)) ease-in-out infinite;
	animation-delay: calc(var(--sjbs-i, 0) * -.6s);
}

.sjbs-home .sjbs-s-card__title,
.sjbs-home .sjbs-s-tcard__title,
.sjbs-home .sjbs-s-step__title {
	margin: 18px 0 8px;
	font-family: var(--sjbs-font-head);
	font-size: 30px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .01em;
	text-transform: uppercase;
	color: var(--sjbs-navy);
}

.sjbs-home .sjbs-s-card__text,
.sjbs-home .sjbs-s-tcard__text,
.sjbs-home .sjbs-s-step__text,
.sjbs-home .sjbs-s-mini__text {
	font-size: 15px;
	line-height: 1.65;
	color: var(--sjbs-text);
}

.sjbs-home .sjbs-s-tag {
	display: inline-flex;
	align-items: center;
	padding: 6px 13px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--c, var(--sjbs-royal)) 12%, #FFFFFF);
	font-family: var(--sjbs-font-ui);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--c, var(--sjbs-royal)) 80%, #0B1630);
}

.sjbs-home .sjbs-s-card__more {
	position: relative;
	z-index: 6;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 18px;
	font-family: var(--sjbs-font-ui);
	font-size: 14.5px;
	font-weight: 800;
	color: var(--sjbs-navy);
}

.sjbs-home .sjbs-s-card__more i {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--c, var(--sjbs-royal));
	color: #FFFFFF;
	transition: transform .45s cubic-bezier(.34, 1.56, .64, 1);
}

.sjbs-home .sjbs-s-card__more .sjbs-svg-icon {
	transform: rotate(-45deg);
}

.sjbs-home .sjbs-s-card:hover .sjbs-s-card__more i {
	transform: rotate(45deg);
}

/* ---------------------------------------------------------------- Grid */
.sjbs-home .sjbs-s-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	gap: var(--sjbs-card-gap, 26px);
	perspective: 1400px;
}

.sjbs-home .sjbs-s-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sjbs-home .sjbs-s-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sjbs-home .sjbs-s-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.sjbs-home .sjbs-s-card {
	display: flex;
	flex-direction: column;
	padding: 30px 28px 32px;
}

.sjbs-home .sjbs-s-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
}

/* Glass highlight cards (pull up over the banner) */
.sjbs-home .sjbs-s--glass .sjbs-s-card {
	border: 1px solid rgba(255, 255, 255, .9);
	background: rgba(255, 255, 255, .62);
	-webkit-backdrop-filter: blur(18px) saturate(1.3);
	backdrop-filter: blur(18px) saturate(1.3);
}

.sjbs-home .sjbs-s--glass .sjbs-s-card__body {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	column-gap: 18px;
}

.sjbs-home .sjbs-s--glass .sjbs-s-card__icon {
	grid-row: span 2;
	--sjbs-card-icon: 38px;
}

.sjbs-home .sjbs-s--glass .sjbs-s-card__title {
	margin: 0 0 4px;
	font-size: 27px;
}

.sjbs-home .sjbs-s--glass .sjbs-s-card__text {
	grid-column: 2;
	margin: 0;
	font-size: 14.5px;
}

.sjbs-home .sjbs-s--glass .sjbs-s-card__num {
	position: absolute;
	top: 10px;
	right: 16px;
	font-family: var(--sjbs-font-head);
	font-size: 34px;
	line-height: 1;
	color: rgba(47, 107, 255, .14);
}

.sjbs-home .sjbs-s--overlap {
	z-index: 3;
	margin-top: -110px;
	padding-top: 0;
}

.sjbs-home .sjbs-s--overlap .sjbs-wrap {
	max-width: calc(var(--sjbs-max) - 40px);
}

/* Levels (Nursery / Primary / High School) */
.sjbs-home .sjbs-s--levels .sjbs-s-card {
	padding: 12px 12px 30px;
}

.sjbs-home .sjbs-s--levels .sjbs-s-card__media {
	position: relative;
	height: var(--sjbs-card-img-h, 230px);
	margin: 0 0 4px;
	overflow: hidden;
	border-radius: calc(var(--sjbs-radius) - 8px);
	background: color-mix(in srgb, var(--c, var(--sjbs-royal)) 20%, #FFFFFF);
}

.sjbs-home .sjbs-s-card__media img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	transition: transform .8s cubic-bezier(.2, .8, .2, 1);
}

.sjbs-home .sjbs-fx-zoom .sjbs-s-card:hover .sjbs-s-card__media img {
	transform: scale(1.07);
}

.sjbs-home .sjbs-s-card__media .sjbs-s-tag {
	position: absolute;
	left: 14px;
	top: 14px;
	background: #FFFFFF;
	box-shadow: 0 8px 16px -10px rgba(23, 52, 140, .5);
}

.sjbs-home .sjbs-s--levels .sjbs-s-card__body {
	position: relative;
	z-index: 1;
	padding: 0 18px;
}

.sjbs-home .sjbs-s--levels .sjbs-s-card__media + .sjbs-s-card__body .sjbs-s-card__icon {
	margin-top: -44px;
}

.sjbs-home .sjbs-s--levels .sjbs-s-card__icon {
	--sjbs-card-icon: 40px;
	border: 5px solid #FFFFFF;
	background: radial-gradient(circle at 30% 25%, #FFFFFF, color-mix(in srgb, var(--c, var(--sjbs-royal)) 30%, #FFFFFF));
}

.sjbs-home .sjbs-s--levels .sjbs-s-card::before {
	content: "";
	position: absolute;
	right: -60px;
	bottom: -60px;
	z-index: -1;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--c, var(--sjbs-royal)) 14%, transparent);
	transition: transform .6s ease;
}

.sjbs-home .sjbs-s--levels .sjbs-s-card:hover::before {
	transform: scale(1.6);
}

/* Flip cards */
.sjbs-home .sjbs-s--flip .sjbs-s-card {
	min-height: var(--sjbs-flip-h, 340px);
	padding: 0;
	overflow: visible;
	border: 0;
	background: transparent;
	box-shadow: none;
	perspective: 1200px;
}

.sjbs-home .sjbs-s--flip .sjbs-s-card:hover {
	transform: none;
	box-shadow: none;
}

.sjbs-home .sjbs-s-flip {
	position: absolute;
	inset: 0;
	transform-style: preserve-3d;
	transition: transform .8s cubic-bezier(.3, .9, .3, 1.05);
}

@media (hover: hover) and (pointer: fine) {
	.sjbs-home .sjbs-s--flip .sjbs-s-card:hover .sjbs-s-flip {
		transform: rotateY(180deg);
	}
}

.sjbs-home .sjbs-s--flip .sjbs-s-card:focus-visible .sjbs-s-flip,
.sjbs-home .sjbs-s--flip .sjbs-s-card.is-flipped .sjbs-s-flip {
	transform: rotateY(180deg);
}

.sjbs-home .sjbs-s--flip .sjbs-s-card:has(a:focus-visible) .sjbs-s-flip {
	transform: rotateY(180deg);
}

.sjbs-home .sjbs-s-flip__face {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: var(--sjbs-radius);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	box-shadow: 0 22px 44px -30px rgba(23, 52, 140, .6);
}

.sjbs-home .sjbs-s-flip__front {
	justify-content: flex-end;
	background: linear-gradient(160deg, #DCE6FF, #9DB9FF);
}

.sjbs-home .sjbs-s-flip__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}

.sjbs-home .sjbs-s-flip__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(11, 22, 48, 0) 35%, rgba(11, 22, 48, .78) 100%);
}

.sjbs-home .sjbs-s-flip__front .sjbs-s-tag {
	position: absolute;
	top: 16px;
	left: 16px;
	background: rgba(255, 255, 255, .9);
}

.sjbs-home .sjbs-s-flip__cap {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 22px;
}

.sjbs-home .sjbs-s-flip__cap .sjbs-s-card__icon {
	--sjbs-card-icon: 30px;
}

.sjbs-home .sjbs-s-flip__cap .sjbs-s-card__title {
	flex: 1 1 auto;
	margin: 0;
	color: #FFFFFF;
}

.sjbs-home .sjbs-s-flip__hint {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--sjbs-gold);
	color: var(--sjbs-navy);
	font-size: 18px;
	animation: scx-hint 2.4s ease-in-out infinite;
}

@keyframes scx-hint {
	0%, 100% { transform: rotate(0); }
	50%      { transform: rotate(-180deg); }
}

.sjbs-home .sjbs-s-flip__back {
	justify-content: center;
	align-items: flex-start;
	padding: 30px;
	background:
		radial-gradient(260px 200px at 100% 0%, rgba(255, 255, 255, .25), transparent 70%),
		linear-gradient(150deg, var(--sjbs-royal), #1D45C9);
	transform: rotateY(180deg);
	color: #FFFFFF;
}

.sjbs-home .sjbs-s-flip__back .sjbs-s-card__title {
	margin-top: 16px;
	color: #FFFFFF;
}

.sjbs-home .sjbs-s-flip__back .sjbs-s-card__text {
	color: rgba(255, 255, 255, .88);
}

.sjbs-home .sjbs-s-flip__back .sjbs-s-card__more {
	color: #FFFFFF;
}

.sjbs-home .sjbs-s-flip__back .sjbs-s-card__more i {
	background: var(--sjbs-gold);
	color: var(--sjbs-navy);
}

/* School houses */
.sjbs-home .sjbs-s--houses .sjbs-s-card {
	align-items: center;
	padding: 40px 24px 34px;
	text-align: center;
}

.sjbs-home .sjbs-s--houses .sjbs-s-card::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	z-index: -1;
	height: 46%;
	background: linear-gradient(180deg, color-mix(in srgb, var(--c, var(--sjbs-royal)) 22%, #FFFFFF), transparent);
}

.sjbs-home .sjbs-s-shield {
	position: relative;
	width: 110px;
	height: 126px;
	perspective: 600px;
}

.sjbs-home .sjbs-s-shield__spin {
	position: absolute;
	inset: 0;
	transform-style: preserve-3d;
	animation: scx-shield 6s ease-in-out infinite;
	animation-delay: calc(var(--sjbs-i, 0) * -1.5s);
}

.sjbs-home .sjbs-s--houses .sjbs-s-card:hover .sjbs-s-shield__spin {
	animation-duration: 1.6s;
}

@keyframes scx-shield {
	0%, 35%, 100% { transform: rotateY(0); }
	50%, 85%      { transform: rotateY(180deg); }
}

.sjbs-home .sjbs-s-shield__face {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	clip-path: polygon(50% 0, 100% 14%, 100% 52%, 86% 78%, 50% 100%, 14% 78%, 0 52%, 0 14%);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .45), transparent 50%),
		var(--c, var(--sjbs-royal));
	font-size: 52px;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.sjbs-home .sjbs-s-shield__face--back {
	transform: rotateY(180deg);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .3), transparent 50%),
		color-mix(in srgb, var(--c, var(--sjbs-royal)) 75%, #0B1630);
}

.sjbs-home .sjbs-s-shield__face b {
	font-family: var(--sjbs-font-head);
	font-size: 64px;
	line-height: 1;
	color: #FFFFFF;
}

/* ---------------------------------------------------------------- Split */
.sjbs-home .sjbs-s-split {
	display: grid;
	grid-template-columns: minmax(0, var(--sjbs-split-img-w, 48%)) minmax(0, 1fr);
	align-items: center;
	gap: clamp(36px, 6vw, 84px);
}

.sjbs-home .is-rev .sjbs-s-split .sjbs-s-split__media {
	order: 2;
}

.sjbs-home .sjbs-s-split--noimg {
	grid-template-columns: minmax(0, 1fr);
}

.sjbs-home .sjbs-s-split__media {
	position: relative;
}

.sjbs-home .sjbs-s-split__fig {
	position: relative;
	z-index: 1;
	height: var(--sjbs-split-img-h, 480px);
	margin: 0;
	--sjbs-fr-r: var(--sjbs-split-r, 32px);
}

.sjbs-home .sjbs-s-split__fig img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}

.sjbs-home .sjbs-s-split__deco i {
	position: absolute;
	z-index: 0;
	border-radius: 50%;
}

.sjbs-home .sjbs-s-split__deco i:nth-child(1) {
	right: -26px;
	top: -26px;
	width: 120px;
	height: 120px;
	background: var(--sjbs-gold);
	animation: scx-float-a 7s ease-in-out infinite;
}

.sjbs-home .sjbs-s-split__deco i:nth-child(2) {
	left: -34px;
	bottom: 40px;
	width: 90px;
	height: 90px;
	border: 14px solid var(--sjbs-royal);
	background: transparent;
	animation: scx-float-a 9s ease-in-out infinite reverse;
}

.sjbs-home .sjbs-s-split__deco i:nth-child(3) {
	right: 18%;
	bottom: -22px;
	width: 140px;
	height: 44px;
	border-radius: 999px;
	background: repeating-linear-gradient(90deg, rgba(47, 107, 255, .4) 0 4px, transparent 4px 12px);
}

@keyframes scx-float-a {
	0%, 100% { transform: translate(0, 0) rotate(0); }
	50%      { transform: translate(8px, -14px) rotate(20deg); }
}

.sjbs-home .sjbs-s-badge {
	position: absolute;
	z-index: 3;
	left: -18px;
	bottom: 34px;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 10px 22px 10px 10px;
	border: 1px solid rgba(255, 255, 255, .9);
	border-radius: 999px;
	background: rgba(255, 255, 255, .82);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	box-shadow: 0 18px 34px -18px rgba(23, 52, 140, .55);
	font-family: var(--sjbs-font-ui);
	font-size: 15px;
	font-weight: 800;
	color: var(--sjbs-navy);
	animation: scx-float-b 5s ease-in-out infinite;
}

.sjbs-home .is-rev .sjbs-s-badge {
	left: auto;
	right: -18px;
}

.sjbs-home .sjbs-s-badge .sjbs-3d {
	box-sizing: content-box;
	padding: 8px;
	border-radius: 50%;
	background: var(--sjbs-sky);
	font-size: 30px;
}

@keyframes scx-float-b {
	0%, 100% { translate: 0 0; }
	50%      { translate: 0 -10px; }
}

.sjbs-home .sjbs-s-split__copy .sjbs-ip-head {
	margin-bottom: 0;
}

.sjbs-home .sjbs-s-split__copy > .sjbs-lead {
	margin-top: 14px;
}

.sjbs-home .sjbs-s-ticks {
	display: grid;
	gap: 12px;
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
}

.sjbs-home .sjbs-s-ticks li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 16px;
	font-weight: 600;
	color: var(--sjbs-navy);
}

.sjbs-home .sjbs-s-ticks__ic {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--sjbs-tick, var(--sjbs-royal));
	color: #FFFFFF;
	font-size: 18px;
}

/* "cards" layout: heading row, then image + 2×2 cards */
.sjbs-home .sjbs-s-split__top {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
	align-items: end;
	gap: 30px 70px;
	margin-bottom: 54px;
}

.sjbs-home .sjbs-s-split__top .sjbs-title {
	margin-bottom: 0;
}

.sjbs-home .sjbs-s-split__aside .sjbs-lead + .sjbs-lead {
	margin-top: 12px;
}

.sjbs-home .sjbs-s-split__aside .sjbs-s-actions {
	margin-top: 22px;
}

.sjbs-home .sjbs-s--cards .sjbs-s-split--bottom {
	align-items: stretch;
	--sjbs-split-img-w: 44%;
}

.sjbs-home .sjbs-s--cards .sjbs-s-split__media,
.sjbs-home .sjbs-s--cards .sjbs-s-split__fig {
	height: 100%;
	min-height: var(--sjbs-split-img-h, 440px);
}

.sjbs-home .sjbs-s-minis {
	display: grid;
	gap: var(--sjbs-card-gap, 20px);
	margin-top: 28px;
}

.sjbs-home .sjbs-s--cards .sjbs-s-minis {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	height: 100%;
	margin: 0;
}

.sjbs-home .sjbs-s-mini {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 22px;
}

.sjbs-home .sjbs-s--cards .sjbs-s-mini {
	flex-direction: column;
	justify-content: space-between;
	gap: 26px;
	padding: 28px;
}

.sjbs-home .sjbs-s--cards .sjbs-s-mini:nth-child(1) {
	background: var(--sjbs-navy);
}

.sjbs-home .sjbs-s--cards .sjbs-s-mini:nth-child(1) .sjbs-s-mini__title { color: #FFFFFF; }
.sjbs-home .sjbs-s--cards .sjbs-s-mini:nth-child(1) .sjbs-s-mini__text { color: rgba(255, 255, 255, .78); }

.sjbs-home .sjbs-s--cards .sjbs-s-mini:nth-child(4) {
	background: var(--sjbs-gold);
}

.sjbs-home .sjbs-s--cards .sjbs-s-mini:nth-child(4) .sjbs-s-mini__text { color: #5A4310; }

.sjbs-home .sjbs-s-mini__icon {
	--sjbs-card-icon: 34px;
}

.sjbs-home .sjbs-s-mini__body {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.sjbs-home .sjbs-s-mini__title {
	font-family: var(--sjbs-font-head);
	font-size: 26px;
	line-height: 1;
	text-transform: uppercase;
	color: var(--sjbs-navy);
}

.sjbs-home .sjbs-s-minis--chips {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.sjbs-home .sjbs-s-minis--chips .sjbs-s-mini {
	align-items: center;
	gap: 10px;
	padding: 8px 20px 8px 8px;
	border-radius: 999px;
}

.sjbs-home .sjbs-s-minis--chips .sjbs-s-mini__icon {
	--sjbs-card-icon: 28px;
	width: 46px;
	height: 46px;
}

.sjbs-home .sjbs-s-minis--chips .sjbs-s-mini__title {
	font-family: var(--sjbs-font-ui);
	font-size: 15px;
	font-weight: 800;
	text-transform: none;
}

/* ---------------------------------------------------------------- Steps / timeline */
.sjbs-home .sjbs-s-steps {
	position: relative;
	--sjbs-steps-p: 1;
}

.sjbs-home.sjbs-js .sjbs-s-steps[data-sjbs-steps] {
	--sjbs-steps-p: 0;
}

.sjbs-home .sjbs-s-steps__list {
	position: relative;
	z-index: 1;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sjbs-home .sjbs-s-steps__path {
	position: absolute;
	border-radius: 6px;
	background: repeating-linear-gradient(90deg, rgba(47, 107, 255, .25) 0 10px, transparent 10px 18px);
}

.sjbs-home .sjbs-s-steps__path i {
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--sjbs-step-line, var(--sjbs-royal)), var(--sjbs-gold));
	transform-origin: 0 50%;
	transform: scaleX(var(--sjbs-steps-p));
	transition: transform .2s linear;
}

.sjbs-home .sjbs-s-step__node {
	position: relative;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border: 6px solid #FFFFFF;
	border-radius: 50%;
	background: var(--sjbs-step-node, var(--sjbs-royal));
	box-shadow: 0 12px 24px -12px rgba(47, 107, 255, .8);
	font-family: var(--sjbs-font-head);
	font-size: 26px;
	color: #FFFFFF;
	transition: transform .5s cubic-bezier(.34, 1.56, .64, 1), background-color .3s ease;
}

.sjbs-home .sjbs-s-step:nth-child(even) .sjbs-s-step__node {
	background: var(--sjbs-gold);
	color: var(--sjbs-navy);
}

.sjbs-home .sjbs-s-step:hover .sjbs-s-step__node {
	transform: scale(1.12) rotate(-8deg);
}

.sjbs-home .sjbs-s-step__card {
	padding: 26px 24px;
}

.sjbs-home .sjbs-s-step__icon {
	--sjbs-card-icon: 32px;
	float: right;
	margin: -6px -6px 6px 10px;
}

.sjbs-home .sjbs-s-step__tag {
	display: inline-block;
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--sjbs-sky);
	font-family: var(--sjbs-font-ui);
	font-size: 12.5px;
	font-weight: 800;
	letter-spacing: .05em;
	color: var(--sjbs-royal);
}

.sjbs-home .sjbs-s-step__title {
	margin-top: 12px;
	font-size: 26px;
}

.sjbs-home .sjbs-s-step__text {
	margin: 0;
}

/* Horizontal */
.sjbs-home .sjbs-s-steps--horizontal .sjbs-s-steps__list {
	display: grid;
	grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr));
	gap: 20px;
}

.sjbs-home .sjbs-s-steps--horizontal .sjbs-s-steps__path {
	left: 32px;
	right: 32px;
	top: 29px;
	height: 6px;
}

.sjbs-home .sjbs-s-steps--horizontal .sjbs-s-step {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
}

.sjbs-home .sjbs-s-steps--horizontal .sjbs-s-step__card {
	width: 100%;
	flex: 1 1 auto;
}

/* Vertical zig-zag */
.sjbs-home .sjbs-s-steps--vertical {
	max-width: 1020px;
	margin: 0 auto;
}

.sjbs-home .sjbs-s-steps--vertical .sjbs-s-steps__path {
	left: calc(50% - 3px);
	top: 10px;
	bottom: 10px;
	width: 6px;
	background: repeating-linear-gradient(180deg, rgba(47, 107, 255, .25) 0 10px, transparent 10px 18px);
}

.sjbs-home .sjbs-s-steps--vertical .sjbs-s-steps__path i {
	background: linear-gradient(180deg, var(--sjbs-step-line, var(--sjbs-royal)), var(--sjbs-gold));
	transform-origin: 50% 0;
	transform: scaleY(var(--sjbs-steps-p));
}

.sjbs-home .sjbs-s-steps--vertical .sjbs-s-steps__list {
	display: grid;
	gap: 26px;
}

.sjbs-home .sjbs-s-steps--vertical .sjbs-s-step {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1fr);
	align-items: center;
	gap: 30px;
}

.sjbs-home .sjbs-s-steps--vertical .sjbs-s-step__node {
	grid-column: 2;
	grid-row: 1;
}

.sjbs-home .sjbs-s-steps--vertical .sjbs-s-step__card {
	grid-column: 1;
	grid-row: 1;
}

.sjbs-home .sjbs-s-steps--vertical .sjbs-s-step:nth-child(even) .sjbs-s-step__card {
	grid-column: 3;
}

.sjbs-home .sjbs-s-steps--vertical .sjbs-s-step__card::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -9px;
	width: 18px;
	height: 18px;
	margin-top: -9px;
	background: #FFFFFF;
	transform: rotate(45deg);
}

.sjbs-home .sjbs-s-steps--vertical .sjbs-s-step__card {
	overflow: visible;
}

.sjbs-home .sjbs-s-steps--vertical .sjbs-s-step:nth-child(even) .sjbs-s-step__card::after {
	right: auto;
	left: -9px;
}

/* ---------------------------------------------------------------- Stats band */
.sjbs-home .sjbs-s-stats {
	position: relative;
	display: grid;
	grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr));
	gap: 10px;
	padding: 46px 30px;
	overflow: hidden;
	border-radius: 36px;
	background:
		radial-gradient(500px 300px at 100% 0%, color-mix(in srgb, var(--sjbs-royal) 60%, transparent), transparent 70%),
		var(--sjbs-navy);
	box-shadow: 0 30px 60px -36px rgba(11, 22, 48, .8);
}

.sjbs-home .sjbs-s-stats__shapes {
	position: absolute;
	inset: 0;
	overflow: hidden;
	border-radius: inherit;
	pointer-events: none;
}

.sjbs-home .sjbs-s-stats__shapes i {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}

.sjbs-home .sjbs-s-stats__shapes i:nth-child(1) {
	left: -40px;
	bottom: -60px;
	width: 180px;
	height: 180px;
	border: 28px solid rgba(255, 194, 61, .25);
	animation: sjbs-spin 30s linear infinite;
}

.sjbs-home .sjbs-s-stats__shapes i:nth-child(2) {
	right: 12%;
	top: -30px;
	width: 70px;
	height: 70px;
	background: rgba(255, 255, 255, .06);
}

.sjbs-home .sjbs-s-stats__shapes i:nth-child(3) {
	inset: 0;
	border-radius: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
	background-size: 48px 48px;
}

.sjbs-home .sjbs-s-stat {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 6px 10px;
	text-align: center;
}

.sjbs-home .sjbs-s-stat + .sjbs-s-stat::before {
	content: "";
	position: absolute;
	left: -5px;
	top: 18%;
	bottom: 18%;
	width: 1px;
	background: rgba(255, 255, 255, .14);
}

.sjbs-home .sjbs-s-stat__icon {
	--sjbs-card-icon: 34px;
	background: rgba(255, 255, 255, .1);
	box-shadow: none;
}

.sjbs-home .sjbs-s-stat__num {
	display: flex;
	align-items: baseline;
	font-family: var(--sjbs-font-head);
	font-size: clamp(48px, 5vw, 72px);
	line-height: 1;
	color: #FFFFFF;
}

.sjbs-home .sjbs-s-stat__num i {
	font-style: normal;
	color: var(--sjbs-gold);
}

.sjbs-home .sjbs-s-stat__label {
	font-size: 14.5px;
	font-weight: 600;
	color: rgba(255, 255, 255, .75);
}

/* ---------------------------------------------------------------- Tabs + slider */
.sjbs-home .sjbs-s-tabs__bar {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 0 auto 36px;
}

.sjbs-home .sjbs-chip {
	margin: 0;
	padding: 12px 24px;
	border: 1px solid rgba(47, 107, 255, .16);
	border-radius: 999px;
	background: #FFFFFF;
	box-shadow: 0 8px 18px -14px rgba(23, 52, 140, .5);
	font-family: var(--sjbs-font-ui);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	color: var(--sjbs-navy);
	cursor: pointer;
	transition: background-color .3s ease, color .3s ease, transform .3s ease;
}

.sjbs-home .sjbs-chip:hover {
	transform: translateY(-2px);
	color: var(--sjbs-royal);
	background: #FFFFFF;
}

.sjbs-home .sjbs-chip.is-active {
	border-color: transparent;
	background: var(--sjbs-royal);
	color: #FFFFFF;
	box-shadow: 0 12px 24px -12px rgba(47, 107, 255, .9);
}

.sjbs-home .sjbs-s-slider {
	position: relative;
}

.sjbs-home .sjbs-s-track {
	display: grid;
	gap: var(--sjbs-card-gap, 22px);
}

.sjbs-home .sjbs-s-track--chips {
	display: flex;
	padding: 14px 4px 30px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.sjbs-home .sjbs-s-track--chips::-webkit-scrollbar {
	display: none;
}

.sjbs-home .sjbs-s-track--cards {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
}

.sjbs-home .sjbs-s-tcard.is-hidden {
	display: none;
}

.sjbs-home .sjbs-s-tcard {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 34px 22px 30px;
	text-align: center;
}

.sjbs-home .sjbs-s-track--chips .sjbs-s-tcard {
	flex: 1 0 var(--sjbs-slide-w, 232px);
	scroll-snap-align: start;
}

.sjbs-home .sjbs-s-tcard__icon {
	--sjbs-card-icon: 50px;
}

.sjbs-home .sjbs-s-tcard__title {
	font-size: 27px;
}

.sjbs-home .sjbs-s-tcard__text {
	margin: 0;
}

.sjbs-home .sjbs-s-track--chips .sjbs-s-tcard::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -40px;
	z-index: -1;
	width: 160px;
	height: 80px;
	margin-left: -80px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--sjbs-royal) 12%, transparent);
	transition: transform .5s ease;
}

.sjbs-home .sjbs-s-track--chips .sjbs-s-tcard:hover::after {
	transform: scale(1.8);
}

.sjbs-home .sjbs-s-track--cards .sjbs-s-tcard {
	align-items: flex-start;
	padding: 12px 12px 26px;
	text-align: left;
}

.sjbs-home .sjbs-s-tcard__media {
	width: 100%;
	height: var(--sjbs-card-img-h, 190px);
	margin: 0 0 -30px;
	overflow: hidden;
	border-radius: calc(var(--sjbs-radius) - 8px);
	background: #DCE6FF;
}

.sjbs-home .sjbs-s-tcard__media img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	transition: transform .8s ease;
}

.sjbs-home .sjbs-s-tcard:hover .sjbs-s-tcard__media img {
	transform: scale(1.07);
}

.sjbs-home .sjbs-s-track--cards .sjbs-s-tcard__icon {
	position: relative;
	margin-left: 16px;
	--sjbs-card-icon: 34px;
	border: 5px solid #FFFFFF;
}

.sjbs-home .sjbs-s-track--cards .sjbs-s-tcard__title,
.sjbs-home .sjbs-s-track--cards .sjbs-s-tcard__text {
	padding: 0 16px;
}

.sjbs-home .sjbs-s-track--cards .sjbs-s-tcard__title {
	margin-top: 14px;
}

.sjbs-home .sjbs-s-tcard.is-entering {
	animation: scx-card-in .6s cubic-bezier(.2, .8, .2, 1) both;
	animation-delay: calc(var(--sjbs-ci, 0) * 70ms);
}

@keyframes scx-card-in {
	from { opacity: 0; transform: translateY(24px) rotateX(-20deg); }
	to   { opacity: 1; transform: none; }
}

.sjbs-home .sjbs-s-slider__nav {
	position: absolute;
	top: calc(50% - 36px);
	z-index: 4;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #FFFFFF;
	box-shadow: 0 12px 26px -14px rgba(23, 52, 140, .6);
	font-size: 20px;
	color: var(--sjbs-navy);
	cursor: pointer;
	transition: background-color .3s ease, color .3s ease, opacity .3s ease, transform .3s ease;
}

.sjbs-home .sjbs-s-slider__nav:hover {
	background: var(--sjbs-royal);
	color: #FFFFFF;
}

.sjbs-home .sjbs-s-slider__nav--prev {
	left: -26px;
	transform: rotate(180deg);
}

.sjbs-home .sjbs-s-slider__nav--next {
	right: -26px;
}

.sjbs-home .sjbs-s-slider__nav[disabled] {
	opacity: 0;
	pointer-events: none;
}

.sjbs-home .sjbs-s-dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	min-height: 10px;
}

.sjbs-home .sjbs-s-dots button {
	width: 10px;
	height: 10px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: color-mix(in srgb, var(--sjbs-dot, var(--sjbs-royal)) 25%, transparent);
	cursor: pointer;
	transition: width .4s cubic-bezier(.2, .8, .2, 1), background-color .3s ease;
}

.sjbs-home .sjbs-s-dots button.is-active {
	width: 34px;
	background: var(--sjbs-dot, var(--sjbs-royal));
}

/* ---------------------------------------------------------------- Happy learners */
.sjbs-home .sjbs-s-people {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(36px, 6vw, 80px);
}

.sjbs-home .sjbs-s-people--nophotos {
	grid-template-columns: minmax(0, 1fr);
	max-width: 760px;
}

.sjbs-home .sjbs-s-people__title {
	display: flex;
	flex-direction: column;
	margin: 16px 0 14px;
	font-size: clamp(54px, 6.6vw, 104px);
	line-height: .88;
	color: var(--sjbs-navy);
}

.sjbs-home .sjbs-s-people__num {
	background: linear-gradient(90deg, var(--sjbs-royal), #7E5BFF 60%, var(--sjbs-pink));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.sjbs-home .sjbs-s-quote {
	position: relative;
	margin-top: 28px;
	padding: 28px 30px 24px;
	border: 1px solid rgba(47, 107, 255, .1);
	border-radius: var(--sjbs-radius);
	background: #FFFFFF;
	box-shadow: 0 22px 44px -32px rgba(23, 52, 140, .55);
}

.sjbs-home .sjbs-s-quote__mark {
	position: absolute;
	top: -26px;
	left: 26px;
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: var(--sjbs-gold);
	font-family: Georgia, serif;
	font-size: 54px;
	line-height: 1;
	padding-top: 16px;
	color: var(--sjbs-navy);
}

.sjbs-home .sjbs-s-quote__stage {
	display: grid;
}

.sjbs-home .sjbs-s-quote__item {
	grid-area: 1 / 1;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(14px);
	transition: opacity .6s ease, transform .6s ease, visibility 0s linear .6s;
}

.sjbs-home .sjbs-s-quote__item.is-active {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition-delay: 0s;
}

.sjbs-home .sjbs-s-quote__text {
	margin: 6px 0 12px;
	padding: 0;
	border: 0;
	font-size: 17px;
	font-weight: 600;
	font-style: normal;
	line-height: 1.65;
	color: var(--sjbs-navy);
}

.sjbs-home .sjbs-s-quote__name {
	font-size: 14px;
	font-weight: 700;
	color: var(--sjbs-royal);
}

.sjbs-home .sjbs-s-quote__dots {
	display: flex;
	gap: 6px;
	margin-top: 16px;
}

.sjbs-home .sjbs-s-quote__dots button {
	width: 8px;
	height: 8px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(47, 107, 255, .25);
	cursor: pointer;
	transition: width .4s ease, background-color .3s ease;
}

.sjbs-home .sjbs-s-quote__dots button.is-active {
	width: 26px;
	background: var(--sjbs-royal);
}

.sjbs-home .sjbs-s-mosaic {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	transform-style: preserve-3d;
}

.sjbs-home .sjbs-s-mosaic__ring {
	position: absolute;
	inset: 8% 6%;
	z-index: 0;
	border: 2px dashed rgba(47, 107, 255, .3);
	border-radius: 50%;
	animation: sjbs-spin 40s linear infinite;
}

.sjbs-home .sjbs-s-mosaic__ph {
	position: relative;
	z-index: 1;
	display: block;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	border: 5px solid #FFFFFF;
	border-radius: 999px;
	background: #DCE6FF;
	box-shadow: 0 18px 30px -20px rgba(23, 52, 140, .6);
	transition: transform .5s cubic-bezier(.34, 1.56, .64, 1);
}

.sjbs-home .sjbs-s-mosaic__ph:nth-child(odd) {
	transform: translateY(34px);
}

.sjbs-home .sjbs-s-mosaic__ph:nth-child(4n+2) { background: #FFE9B8; }
.sjbs-home .sjbs-s-mosaic__ph:nth-child(4n+3) { background: #FFD9E2; }
.sjbs-home .sjbs-s-mosaic__ph:nth-child(4n) { background: #CDF3EF; }

.sjbs-home .sjbs-s-mosaic__ph:hover {
	z-index: 2;
	transform: scale(1.08) rotate(-3deg);
}

.sjbs-home .sjbs-s-mosaic__ph img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}

.sjbs-home .sjbs-s-mosaic__heart,
.sjbs-home .sjbs-s-mosaic__star {
	position: absolute;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 70px;
	height: 70px;
	border-radius: 50%;
	background: #FFFFFF;
	box-shadow: 0 14px 28px -14px rgba(23, 52, 140, .6);
	font-size: 40px;
	animation: scx-float-b 4s ease-in-out infinite;
}

.sjbs-home .sjbs-s-mosaic__heart {
	left: -24px;
	top: 40%;
}

.sjbs-home .sjbs-s-mosaic__star {
	right: -18px;
	bottom: -10px;
	animation-delay: -2s;
}

/* ---------------------------------------------------------------- News */
.sjbs-home .sjbs-s-headrow {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px 40px;
	margin-bottom: 44px;
}

.sjbs-home .sjbs-s-headrow .sjbs-ip-head {
	max-width: 680px;
	margin: 0;
}

.sjbs-home .sjbs-s-headrow .sjbs-s-actions {
	margin: 0;
}

.sjbs-home .sjbs-s-card--news {
	padding: 12px 12px 28px;
}

.sjbs-home .sjbs-s-card--news .sjbs-s-card__media {
	position: relative;
	height: var(--sjbs-card-img-h, 220px);
	margin: 0 0 6px;
	overflow: hidden;
	border-radius: calc(var(--sjbs-radius) - 8px);
	background: #DCE6FF;
}

.sjbs-home .sjbs-s-card--news .sjbs-s-card__body {
	padding: 10px 16px 0;
}

.sjbs-home .sjbs-s-card--news .sjbs-s-card__title {
	margin-top: 10px;
	font-size: 28px;
}

.sjbs-home .sjbs-s-card__date {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 700;
	color: var(--sjbs-royal);
}

/* ---------------------------------------------------------------- CTA */
.sjbs-home .sjbs-s-ctabox {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 34px;
	padding: 54px 56px;
	overflow: hidden;
	border-radius: 40px;
	background:
		radial-gradient(500px 340px at 100% 0%, rgba(255, 255, 255, .3), transparent 70%),
		radial-gradient(420px 300px at 0% 100%, rgba(255, 194, 61, .35), transparent 70%),
		linear-gradient(120deg, var(--sjbs-royal) 0%, #1F49D6 60%, #2A2FB8 100%);
	box-shadow: 0 34px 60px -36px rgba(47, 107, 255, .9);
	color: #FFFFFF;
	--sjbs-spot: rgba(255, 255, 255, .18);
}

.sjbs-home .sjbs-s-cta__shapes {
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
}

.sjbs-home .sjbs-s-cta__shapes i {
	position: absolute;
	z-index: -1;
	border-radius: 50%;
}

.sjbs-home .sjbs-s-cta__shapes i:nth-child(1) {
	inset: 0;
	border-radius: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, .08) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px);
	background-size: 56px 56px;
}

.sjbs-home .sjbs-s-cta__shapes i:nth-child(2) {
	right: -50px;
	bottom: -80px;
	width: 220px;
	height: 220px;
	border: 34px solid rgba(255, 194, 61, .6);
	animation: scx-float-a 9s ease-in-out infinite;
}

.sjbs-home .sjbs-s-cta__shapes i:nth-child(3) {
	left: 30%;
	top: -30px;
	width: 70px;
	height: 70px;
	background: rgba(255, 255, 255, .14);
	animation: scx-float-a 7s ease-in-out infinite reverse;
}

.sjbs-home .sjbs-s-cta__shapes i:nth-child(4) {
	left: 46%;
	bottom: 18px;
	width: 16px;
	height: 16px;
	background: var(--sjbs-gold);
	animation: scx-float-b 4s ease-in-out infinite;
}

.sjbs-home .sjbs-s-cta__shapes i:nth-child(5) {
	right: 30%;
	top: 26px;
	width: 10px;
	height: 10px;
	background: #FFFFFF;
	animation: scx-float-b 5s ease-in-out infinite reverse;
}

.sjbs-home .sjbs-s-cta__icon {
	display: grid;
	place-items: center;
	width: calc(var(--sjbs-card-icon, 76px) + 40px);
	height: calc(var(--sjbs-card-icon, 76px) + 40px);
	border-radius: 32px;
	background: rgba(255, 255, 255, .15);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3);
	font-size: var(--sjbs-card-icon, 76px);
	transform: rotate(-8deg);
	animation: scx-float-b 4s ease-in-out infinite;
}

.sjbs-home .sjbs-s-cta__title {
	margin: 0;
	font-size: clamp(38px, 4.4vw, 60px);
	line-height: .95;
	color: #FFFFFF;
}

.sjbs-home .sjbs-s-cta__text {
	max-width: 560px;
	margin: 12px 0 0;
	font-size: 16.5px;
	line-height: 1.7;
	color: rgba(255, 255, 255, .85);
}

.sjbs-home .sjbs-s-cta__btns {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* ---------------------------------------------------------------- Message (Principal) */
.sjbs-home .sjbs-s-msg {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 360px) minmax(0, 1fr);
	align-items: center;
	gap: clamp(30px, 5vw, 64px);
	max-width: 1080px;
	margin: 0 auto;
	padding: 40px;
	border-radius: 40px;
	background: #FFFFFF;
	box-shadow: 0 30px 60px -40px rgba(23, 52, 140, .6);
}

.sjbs-home .sjbs-s-msg--noimg {
	grid-template-columns: minmax(0, 1fr);
}

.sjbs-home .sjbs-s-msg__img {
	position: relative;
	aspect-ratio: 4 / 5;
	margin: 0;
	--sjbs-fr-r: 28px;
}

.sjbs-home .sjbs-s-msg__img img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}

.sjbs-home .sjbs-s-msg__body {
	position: relative;
}

.sjbs-home .sjbs-s-msg__mark {
	display: block;
	height: 70px;
	font-family: Georgia, serif;
	font-size: 140px;
	line-height: 1;
	color: var(--sjbs-gold);
}

.sjbs-home .sjbs-s-msg__text {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.8;
	color: var(--sjbs-navy);
}

.sjbs-home .sjbs-s-msg__sign {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-top: 24px;
	padding-left: 18px;
	border-left: 5px solid var(--sjbs-royal);
}

.sjbs-home .sjbs-s-msg__name {
	font-family: var(--sjbs-font-head);
	font-size: 30px;
	font-weight: 400;
	line-height: 1;
	color: var(--sjbs-navy);
}

.sjbs-home .sjbs-s-msg__role {
	font-size: 14px;
	font-weight: 700;
	color: var(--sjbs-royal);
}

/* ---------------------------------------------------------------- Section backgrounds rhythm */
.sjbs-home .sjbs-s--split:nth-of-type(4n+1),
.sjbs-home .sjbs-s--tabs,
.sjbs-home .sjbs-s--quote {
	background: transparent;
}

.sjbs-home .sjbs-s--levels,
.sjbs-home .sjbs-s--houses,
.sjbs-home .sjbs-s--steps.sjbs-s--vertical {
	background:
		radial-gradient(700px 400px at 0% 0%, rgba(255, 255, 255, .8), transparent 70%),
		linear-gradient(180deg, rgba(255, 255, 255, .55), rgba(255, 255, 255, 0));
}

/* ==========================================================================
   6. Responsive
   ========================================================================== */
@media (max-width: 1100px) {
	.sjbs-home .sjbs-s-cols-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sjbs-home .sjbs-s-steps--horizontal .sjbs-s-steps__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		row-gap: 34px;
	}

	.sjbs-home .sjbs-s-steps--horizontal .sjbs-s-steps__path {
		display: none;
	}

	.sjbs-home .sjbs-s-ctabox {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.sjbs-home .sjbs-s-cta__btns {
		grid-column: 1 / -1;
		flex-direction: row;
		flex-wrap: wrap;
	}
}

@media (max-width: 900px) {
	.sjbs-home {
		--sjbs-space: 72px;
	}

	.sjbs-home .sjbs-s-cols-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sjbs-home .sjbs-s-split,
	.sjbs-home .sjbs-s-split__top,
	.sjbs-home .sjbs-s-people {
		grid-template-columns: minmax(0, 1fr);
	}

	.sjbs-home .is-rev .sjbs-s-split .sjbs-s-split__media {
		order: 0;
	}

	.sjbs-home .sjbs-s-split__fig {
		height: var(--sjbs-split-img-h, 380px);
	}

	.sjbs-home .sjbs-s--cards .sjbs-s-split__media,
	.sjbs-home .sjbs-s--cards .sjbs-s-split__fig {
		height: auto;
		min-height: 320px;
	}

	.sjbs-home .sjbs-s-split__top {
		margin-bottom: 36px;
	}

	.sjbs-home .sjbs-s-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 30px;
	}

	.sjbs-home .sjbs-s-stat:nth-child(odd)::before {
		display: none;
	}

	.sjbs-home .sjbs-s-msg {
		grid-template-columns: minmax(0, 1fr);
		padding: 26px;
	}

	.sjbs-home .sjbs-s-msg__img {
		max-width: 340px;
	}

	.sjbs-home .sjbs-s-steps--vertical .sjbs-s-steps__path {
		left: 29px;
	}

	.sjbs-home .sjbs-s-steps--vertical .sjbs-s-step {
		grid-template-columns: 64px minmax(0, 1fr);
		gap: 20px;
	}

	.sjbs-home .sjbs-s-steps--vertical .sjbs-s-step__node {
		grid-column: 1;
	}

	.sjbs-home .sjbs-s-steps--vertical .sjbs-s-step__card,
	.sjbs-home .sjbs-s-steps--vertical .sjbs-s-step:nth-child(even) .sjbs-s-step__card {
		grid-column: 2;
	}

	.sjbs-home .sjbs-s-steps--vertical .sjbs-s-step__card::after,
	.sjbs-home .sjbs-s-steps--vertical .sjbs-s-step:nth-child(even) .sjbs-s-step__card::after {
		left: -9px;
		right: auto;
	}
}

@media (max-width: 767px) {
	.sjbs-home .sjbs-wrap {
		padding: 0 18px;
	}

	.sjbs-home .sjbs-banner,
	.sjbs-home .sjbs-banner--bg-3d {
		padding-top: var(--sjbs-bn-top, 120px);
	}

	.sjbs-home .sjbs-banner--look-card {
		margin: var(--sjbs-bn-gap, 8px);
		margin-bottom: 0;
		border-radius: var(--sjbs-bn-r, 26px);
	}

	.sjbs-home .sjbs-banner__title {
		font-size: clamp(46px, 13vw, 64px);
	}

	.sjbs-home .sjbs-bn-form button span {
		display: none;
	}

	.sjbs-home .sjbs-bn-form button {
		padding: 0 6px;
	}

	.sjbs-home .sjbs-s--overlap {
		margin-top: -60px;
	}

	.sjbs-home .sjbs-s-cols-2,
	.sjbs-home .sjbs-s-cols-3,
	.sjbs-home .sjbs-s-cols-4 {
		grid-template-columns: minmax(0, 1fr);
	}

	.sjbs-home .sjbs-s--cards .sjbs-s-minis {
		grid-template-columns: minmax(0, 1fr);
	}

	.sjbs-home .sjbs-s-steps--horizontal .sjbs-s-steps__list {
		grid-template-columns: minmax(0, 1fr);
	}

	.sjbs-home .sjbs-s-steps--horizontal .sjbs-s-step {
		flex-direction: row;
	}

	.sjbs-home .sjbs-s-slider__nav {
		display: none;
	}

	.sjbs-home .sjbs-s-ctabox {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
		padding: 36px 26px;
		border-radius: 30px;
	}

	.sjbs-home .sjbs-s-cta__icon {
		--sjbs-card-icon: 54px;
	}

	.sjbs-home .sjbs-s-mosaic {
		gap: 8px;
	}

	.sjbs-home .sjbs-s-mosaic__heart {
		left: -6px;
	}

	.sjbs-home .sjbs-s-badge {
		left: 8px;
	}

	.sjbs-home .is-rev .sjbs-s-badge {
		right: 8px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sjbs-home:not(.sjbs-force-motion) .sjbs-sc *,
	.sjbs-home:not(.sjbs-force-motion) .sjbs-s-mosaic__ring,
	.sjbs-home:not(.sjbs-force-motion) .sjbs-s-shield__spin {
		animation: none !important;
	}
}

.sjbs-home.sjbs-noloop .sjbs-sc *,
.sjbs-home.sjbs-noloop .sjbs-s-card__icon img,
.sjbs-home.sjbs-noloop .sjbs-s-tcard__icon img {
	animation-play-state: paused !important;
}

.sjbs-home .sjbs-s--levels .sjbs-s-card__spot + .sjbs-s-card__body {
	padding-top: 22px;
}

.sjbs-home .sjbs-s--levels .sjbs-s-card__spot + .sjbs-s-card__body .sjbs-s-tag {
	order: -1;
	margin-bottom: 16px;
}

/* ==========================================================================
   7. Reused page designs (Mission, Campus Map, FAQ, Contact, Gallery)
   – condensed display font needs a larger size and uppercase.
   ========================================================================== */
.sjbs-home :is(.sjbs-ip-card__title, .sjbs-ip-form__title, .sjbs-ip-help__title, .sjbs-ip-info__head, .sjbs-ip-loc__title, .sjbs-ip-show__title, .sjbs-ip-tile__title, .sjbs-ip-tl__title, .sjbs-ab-card__title, .sjbs-ab-feat__title, .sjbs-ab-help__title, .sjbs-acc__title) {
	font-family: var(--sjbs-font-head);
	font-weight: 400;
	letter-spacing: .01em;
	text-transform: uppercase;
}

.sjbs-home .sjbs-ip-card__title { font-size: 28px; line-height: 1; }
.sjbs-home .sjbs-ip-form__title { font-size: 40px; line-height: 1; }
.sjbs-home .sjbs-ip-help__title,
.sjbs-home .sjbs-ab-help__title { font-size: 28px; line-height: 1.05; }
.sjbs-home .sjbs-ip-loc__title { font-size: 30px; line-height: 1; }
.sjbs-home .sjbs-ip-tl__title { font-size: 36px; line-height: 1; }
.sjbs-home .sjbs-ip-tile__title,
.sjbs-home .sjbs-ip-show__title { font-size: 26px; line-height: 1; }
.sjbs-home .sjbs-acc__title { font-size: 24px; line-height: 1.05; }
.sjbs-home .sjbs-ip-info__head { font-size: 30px; line-height: 1; }

.sjbs-home .sjbs-acc--faq .sjbs-acc__head {
	font-family: var(--sjbs-font-ui);
	font-weight: 700;
}

.sjbs-home .sjbs-acc--faq .sjbs-acc__head .sjbs-acc__title {
	font-family: var(--sjbs-font-ui);
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
}

.sjbs-home .sjbs-ip-card,
.sjbs-home .sjbs-ip-cc,
.sjbs-home .sjbs-acc__item {
	border-radius: var(--sjbs-radius);
}

.sjbs-home .sjbs-ip-submit,
.sjbs-home .sjbs-ip-map__btn,
.sjbs-home .sjbs-ip-help .sjbs-btn {
	border-radius: 999px;
}

@media (max-width: 767px) {
	.sjbs-home .sjbs-s--overlap {
		margin-top: 0;
		padding-top: 44px;
	}
}
