/* Speak Bright Theme — Main Styles */

:root {
	--sb-blue: #06488d;
	--sb-blue-dark: #0f3d81;
	--sb-blue-deep: #071230;
	--sb-orange: #f97316;
	--sb-orange-hover: #ea580c;
	--sb-cream: #faf7f4;
	--sb-cream-dark: #f2ede8;
	--sb-white: #ffffff;
	--sb-gray-50: #f8f9fa;
	--sb-gray-100: #f1f5f9;
	--sb-gray-200: #e2e8f0;
	--sb-gray-400: #94a3b8;
	--sb-gray-600: #475569;
	--sb-gray-800: #1e293b;
	--sb-font: 'Inter', system-ui, sans-serif;
	--sb-font-display: 'Plus Jakarta Sans', var(--sb-font);
	--sb-radius: 12px;
	--sb-radius-lg: 16px;
	--sb-radius-xl: 20px;
	--sb-shadow-sm: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
	--sb-shadow: 0 4px 16px rgba(0,0,0,0.07);
	--sb-shadow-lg: 0 12px 40px rgba(0,0,0,0.10);
	--sb-header-h: 72px;
	--sb-topbar-h: 44px;
	--sb-site-head-h: calc(var(--sb-topbar-h) + var(--sb-header-h));
	--sb-max-w: 1240px;
	--sb-gutter: clamp(1.25rem, 4vw, 2.5rem);
	--sb-hero-panel-h: min(560px, calc(100svh - var(--sb-site-head-h) - var(--sb-admin-bar-h) - 1.5rem));
	--sb-admin-bar-h: 0px;
	--sb-transition: 0.2s ease;
	--header-progress: 0;
	--sb-hero-top: #071230;
	--sb-hero-deep: #040c1e;
}

body.admin-bar { --sb-admin-bar-h: 32px; }
@media screen and (max-width: 782px) { body.admin-bar { --sb-admin-bar-h: 46px; } }

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: var(--sb-font);
	color: var(--sb-gray-800);
	line-height: 1.6;
	background: var(--sb-white);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--sb-blue); text-decoration: none; transition: color var(--sb-transition); }
a:hover { color: var(--sb-orange); }

.sb-container {
	width: 100%;
	max-width: var(--sb-max-w);
	margin-inline: auto;
	padding-inline: var(--sb-gutter);
}

.sb-skip-link {
	position: absolute; left: -9999px; top: 0; z-index: 9999;
	padding: 0.75rem 1rem; background: var(--sb-blue); color: #fff;
}
.sb-skip-link:focus { left: 0; }

/* ─── Site Head ──────────────────────────────────────────── */
.sb-site-head {
	position: fixed;
	top: var(--sb-admin-bar-h);
	left: 0; right: 0; width: 100%;
	z-index: 1000;
	overflow: visible;
}
.sb-site-head--hero {
	background: rgb(255 255 255 / calc(var(--header-progress, 0) * 1));
	border-bottom: 1px solid rgb(226 232 240 / calc(var(--header-progress, 0) * 1));
	box-shadow: none;
	transition: background 0.4s ease, border-color 0.4s ease;
}
.sb-site-head--hero::before,
.sb-site-head--hero::after { display: none; }
.sb-site-head > .sb-topbar { position: relative; z-index: 40; }
.sb-site-head > .sb-header { position: relative; z-index: 1; }

/* Top bar */
.sb-topbar {
	background: var(--sb-blue-deep);
	color: rgba(255,255,255,0.80);
	font-size: 0.8rem;
	padding: 0;
	min-height: var(--sb-topbar-h);
	display: block;
	overflow: visible;
}
.sb-topbar__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	flex-wrap: nowrap;
	width: 100%;
	min-height: var(--sb-topbar-h);
}
.sb-topbar__inner > span {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.sb-topbar a { color: rgba(255,255,255,0.90); font-weight: 600; transition: color var(--sb-transition); }
.sb-topbar a:hover { color: var(--sb-orange); }
.sb-topbar__actions {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-shrink: 0;
}
.sb-lang-switcher { position: relative; flex-shrink: 0; }
.sb-lang-switcher__toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.28rem;
	padding: 0.12rem 0.5rem;
	border: 1px solid rgba(255,255,255,0.28);
	border-radius: 999px;
	background: rgba(255,255,255,0.08);
	color: rgba(255,255,255,0.95);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1.2;
	cursor: pointer;
}
.sb-lang-switcher__toggle:hover,
.sb-lang-switcher__toggle[aria-expanded="true"] {
	border-color: rgba(255,255,255,0.5);
	background: rgba(255,255,255,0.14);
	color: #fff;
}
.sb-lang-switcher__menu {
	position: fixed;
	width: 10.25rem;
	margin: 0;
	padding: 0.3rem;
	list-style: none;
	background: #fff;
	border: 1px solid rgba(15,23,42,0.08);
	border-radius: 0.55rem;
	box-shadow: 0 12px 28px rgba(15,23,42,0.22);
	z-index: 2000;
}
.sb-lang-switcher__menu[hidden] { display: none; }
.sb-lang-switcher__menu li { margin: 0; }
.sb-lang-switcher__link {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.4rem 0.55rem;
	border-radius: 0.4rem;
	color: #0f172a !important;
	background: transparent !important;
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1.2;
}
.sb-lang-switcher__link:hover,
.sb-lang-switcher__link.is-active {
	background: #eef4ff !important;
	color: #1d4ed8 !important;
}
.sb-lang-switcher__code {
	flex: 0 0 1.6rem;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	color: var(--sb-orange);
}
.sb-lang-switcher__name {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Logo */
.sb-logo__text {
	font-family: var(--sb-font-display);
	font-size: 1.5rem;
	font-weight: 800;
	color: #fff;
	letter-spacing: -0.03em;
}
.sb-logo__text em { color: var(--sb-orange); font-style: normal; }
.sb-logo { position: relative; display: inline-flex; align-items: center; }
.sb-logo__mark { display: block; line-height: 0; transition: opacity 0.15s linear; }
.sb-logo__mark--light { opacity: calc(1 - var(--header-progress, 0)); }
.sb-logo__mark--dark {
	position: absolute; left: 0; top: 50%;
	transform: translateY(-50%);
	opacity: var(--header-progress, 0);
}
.sb-logo__img, .custom-logo {
	max-height: 48px;
	width: auto;
}

/* Main navbar */
.sb-header {
	background: #fff;
	box-shadow: none;
	border-bottom: 1px solid var(--sb-gray-200);
}
.sb-header--hero {
	background: transparent;
	box-shadow: none;
	border-bottom: 0;
}
.sb-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: var(--sb-header-h);
	gap: 1rem;
}
.sb-header__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-width: 0;
	flex: 0 1 auto;
}
.sb-header__brand { flex-shrink: 0; }

/* Nav */
.sb-nav {
	position: relative;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex: 1 1 auto;
	min-width: 0;
	gap: 0.65rem;
}
.sb-nav__list {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0.1rem;
	list-style: none;
	margin: 0; padding: 0;
}
.sb-nav__list > li {
	position: relative;
	flex-shrink: 0;
}
.sb-nav__list > li.menu-item-has-children > a::after {
	content: '';
	display: block;
	width: 0.46em;
	height: 0.28em;
	margin-left: 0.32em;
	border: 0;
	transform: none;
	flex: 0 0 auto;
	align-self: center;
	opacity: 0.7;
	background: currentColor;
	clip-path: polygon(50% 100%, 0 0, 100% 0);
}
.sb-nav__list a {
	display: block;
	padding: 0.5rem 0.9rem;
	font-weight: 600;
	font-size: 0.90rem;
	border-radius: 8px;
	transition: color var(--sb-transition), background var(--sb-transition);
}
.sb-nav__list > li > a {
	display: inline-flex;
	align-items: center;
	flex-wrap: nowrap;
	white-space: nowrap;
	padding: 0.45rem 0.7rem;
	font-size: 0.82rem;
	line-height: 1.2;
	position: relative;
}
/* Hero state: white text */
.sb-header--hero .sb-nav__list a {
	color: rgba(255,255,255,calc(0.5 + var(--header-progress,0)*0.5 + (1 - var(--header-progress,0))*0.42));
}
.sb-header--hero .sb-nav__list a {
	color: color-mix(in srgb, var(--sb-blue) calc(var(--header-progress,0)*100%), rgba(255,255,255,0.92));
}
.sb-header--hero .sb-nav__list a:hover {
	color: color-mix(in srgb, var(--sb-orange) calc(var(--header-progress,0)*100%), rgba(255,255,255,1));
	background: rgba(255,255,255,calc((1 - var(--header-progress,0))*0.10));
}
.sb-header--hero .sb-nav__list .current-menu-item > a {
	color: var(--sb-orange);
	background: transparent;
	box-shadow: none;
}
.sb-header--hero .sb-nav__list .current-menu-item > a:not(.sb-cta):not(.sb-nav__cta)::before {
	content: '';
	position: absolute;
	left: 0.65rem;
	right: 0.65rem;
	bottom: 0.12rem;
	height: 2px;
	background: var(--sb-orange);
	pointer-events: none;
}
/* Scrolled / non-hero state */
.sb-header:not(.sb-header--hero) .sb-nav__list a { color: var(--sb-gray-800); }
.sb-header:not(.sb-header--hero) .sb-nav__list a:hover { color: var(--sb-blue); background: var(--sb-gray-50); }
.sb-header:not(.sb-header--hero) .sb-nav__list .current-menu-item > a { color: var(--sb-orange); background: transparent; }

/* Submenu */
.sb-nav__submenu {
	position: absolute;
	top: calc(100% + 0.5rem);
	left: 50%;
	min-width: 200px;
	background: #fff;
	border: 1px solid var(--sb-gray-200);
	border-radius: var(--sb-radius-lg);
	box-shadow: var(--sb-shadow-lg);
	list-style: none;
	padding: 0.5rem;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateX(-50%) translateY(4px);
	transition: opacity 0.18s ease, visibility 0.18s, transform 0.18s ease;
	z-index: 1100;
}
.sb-nav__list > li.menu-item-has-children::before {
	content: '';
	position: absolute; left: 0; right: 0; top: 100%; height: 0.75rem;
}
.sb-nav__list li:hover > .sb-nav__submenu,
.sb-nav__list li:focus-within > .sb-nav__submenu,
.sb-nav__list li.is-submenu-open > .sb-nav__submenu {
	opacity: 1; visibility: visible;
	transform: translateX(-50%) translateY(0);
}
.sb-nav__submenu a { color: var(--sb-gray-800) !important; font-size: 0.875rem; border-radius: 8px; }
.sb-nav__submenu a:hover { background: var(--sb-gray-50); color: var(--sb-blue) !important; }

/* Courses mega flyout */
.sb-header:has(.sb-nav__flyout) {
	position: relative;
}
.sb-header:has(.sb-nav__flyout) .sb-nav {
	position: static;
}
.sb-nav__list > li.sb-nav__item--flyout,
.sb-nav__list > li:has(.sb-nav__flyout) {
	position: static;
}
.sb-nav__flyout {
	left: 50%;
	right: auto;
	width: min(var(--sb-max-w), calc(100vw - (2 * var(--sb-gutter))));
	max-height: calc(100svh - var(--sb-site-head-h) - var(--sb-admin-bar-h) - 1rem);
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	transform: translateX(-50%) translateY(6px);
	overflow: auto;
	overscroll-behavior: contain;
}
.sb-nav__flyout::before {
	content: '';
	position: absolute;
	left: 0; right: 0;
	bottom: 100%;
	height: 0.85rem;
}
.sb-nav__list li:hover > .sb-nav__flyout,
.sb-nav__list li:focus-within > .sb-nav__flyout,
.sb-nav__list li.is-submenu-open > .sb-nav__flyout {
	transform: translateX(-50%) translateY(0);
}
.sb-nav__flyout-panel {
	background: #fff;
	border: 1px solid var(--sb-gray-200);
	border-radius: var(--sb-radius-lg);
	box-shadow: var(--sb-shadow-lg);
	padding: 0.85rem 1rem 1rem;
}
.sb-nav__flyout-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.55rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid var(--sb-gray-200);
}
.sb-nav__flyout-kicker {
	margin: 0 0 0.2rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sb-orange);
}
.sb-nav__flyout-all {
	flex-shrink: 0;
	font-size: 0.82rem !important;
	font-weight: 700;
	color: var(--sb-blue) !important;
	padding: 0.35rem 0 !important;
	white-space: nowrap;
}
.sb-nav__flyout-all:hover {
	color: var(--sb-orange) !important;
	background: transparent !important;
}
.sb-nav__flyout-compact {
	display: grid;
	grid-template-columns: 13.5rem minmax(0, 1fr);
	gap: 0.85rem;
	align-items: stretch;
}
.sb-nav__flyout-feature {
	position: relative;
	overflow: hidden;
	border-radius: 12px;
	background: var(--sb-gray-100);
	min-height: 11.5rem;
}
.sb-nav__flyout-feature img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
	display: block;
}
.sb-nav__flyout-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.2rem 0.45rem;
	align-content: start;
}
.sb-nav__flyout-link {
	display: flex !important;
	flex-direction: column;
	gap: 0.12rem;
	padding: 0.42rem 0.55rem !important;
	border-radius: 8px !important;
	color: var(--sb-gray-800) !important;
	background: transparent !important;
	box-shadow: none;
}
.sb-header--hero .sb-nav__flyout a,
.sb-header--hero .sb-nav__flyout-link,
.sb-header:not(.sb-header--hero) .sb-nav__flyout-link {
	color: var(--sb-gray-800) !important;
	background: transparent;
	box-shadow: none;
}
.sb-nav__flyout-link:hover {
	background: var(--sb-gray-50) !important;
	color: var(--sb-blue) !important;
}
.sb-nav__flyout-title {
	font-size: 0.86rem;
	font-weight: 700;
	line-height: 1.25;
	color: inherit;
}
.sb-nav__flyout-brief {
	font-size: 0.7rem;
	font-weight: 500;
	line-height: 1.3;
	color: var(--sb-gray-600);
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
@media (max-width: 900px) {
	.sb-nav__flyout-compact { grid-template-columns: 11rem minmax(0, 1fr); }
	.sb-nav__flyout-list { grid-template-columns: 1fr; }
}

/* Burger */
.sb-nav__burger {
	display: none;
	flex-direction: column;
	flex-shrink: 0;
	justify-content: center;
	gap: 5px;
	background: none;
	border: 0;
	cursor: pointer;
	padding: 0.7rem;
	margin-left: auto;
	min-width: 44px;
	min-height: 44px;
	position: relative;
	z-index: 40;
	-webkit-tap-highlight-color: transparent;
}
.sb-nav__burger span {
	display: block;
	width: 22px; height: 2px;
	background: var(--sb-blue);
	border-radius: 2px;
	transition: background var(--sb-transition);
}
.sb-header--hero .sb-nav__burger span {
	background: color-mix(in srgb, var(--sb-blue) calc(var(--header-progress,0)*100%), #fff);
	box-shadow: 0 0 0 1px rgba(7, 18, 48, calc((1 - var(--header-progress, 0)) * 0.28));
}

/* ─── Buttons ──────────────────────────────────────────── */
/* CTA (nav variant) */
.sb-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	padding: 0.625rem 1.4rem;
	font-weight: 700;
	font-size: 0.875rem;
	line-height: 1.2;
	border-radius: 999px;
	border: 2px solid transparent;
	background: var(--sb-orange);
	color: #fff !important;
	cursor: pointer;
	transition: background var(--sb-transition), transform var(--sb-transition);
}
.sb-cta:hover, .sb-cta:focus-visible {
	background: var(--sb-orange-hover);
	color: #fff !important;
	transform: translateY(-1px);
}
.sb-cta--nav { padding: 0.45rem 1.05rem; margin-left: 0.2rem; font-size: 0.82rem; }
.sb-cta--footer { margin-top: 0.25rem; }

/* Force CTA styles in nav regardless of hero/scroll state */
.sb-nav__list a.sb-cta,
.sb-nav__list a.sb-nav__cta,
.sb-header--hero .sb-nav__list a.sb-cta,
.sb-header--hero .sb-nav__list a.sb-nav__cta {
	display: inline-flex;
	align-items: center;
	align-self: center;
	color: #fff !important;
	background: var(--sb-orange) !important;
	box-shadow: none !important;
	margin-top: 0;
	margin-bottom: 0;
	line-height: 1.2;
}
.sb-nav__list a.sb-cta:hover,
.sb-nav__list a.sb-nav__cta:hover,
.sb-header--hero .sb-nav__list a.sb-cta:hover,
.sb-header--hero .sb-nav__list a.sb-nav__cta:hover {
	color: #fff !important;
	background: var(--sb-orange-hover) !important;
	transform: translateY(-1px);
}

/* Footer overrides */
.sb-footer__cta { margin: 1rem 0 0; }
.sb-footer a.sb-cta { color: #fff !important; }

/* Base buttons */
.sb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.875rem 2rem;
	font-weight: 700;
	font-size: 0.95rem;
	border-radius: 999px;
	border: 2px solid transparent;
	cursor: pointer;
	transition: background var(--sb-transition), color var(--sb-transition), transform var(--sb-transition), border-color var(--sb-transition);
	line-height: 1.2;
}
.sb-btn--primary {
	background: var(--sb-blue);
	color: #fff !important;
	border-color: var(--sb-blue);
}
.sb-btn--primary:hover {
	background: var(--sb-blue-dark);
	border-color: var(--sb-blue-dark);
	color: #fff !important;
	transform: translateY(-1px);
}
.sb-btn--orange {
	background: var(--sb-orange);
	color: #fff !important;
	border-color: var(--sb-orange);
}
.sb-btn--orange:hover {
	background: var(--sb-orange-hover);
	border-color: var(--sb-orange-hover);
	color: #fff !important;
	transform: translateY(-1px);
}
.sb-btn--outline {
	background: transparent;
	border-color: var(--sb-blue);
	color: var(--sb-blue);
}
.sb-btn--outline:hover {
	background: var(--sb-blue);
	color: #fff !important;
	transform: translateY(-1px);
}
.sb-btn--ghost {
	background: rgba(255,255,255,0.12);
	color: #fff !important;
	border-color: rgba(255,255,255,0.45);
}
.sb-btn--ghost:hover {
	background: rgba(255,255,255,0.22);
	border-color: rgba(255,255,255,0.70);
	color: #fff !important;
	transform: translateY(-1px);
}
.sb-btn--outline-light {
	background: transparent;
	border-color: rgba(255,255,255,0.55);
	color: #fff !important;
}
.sb-btn--outline-light:hover {
	background: rgba(255,255,255,0.12);
	border-color: rgba(255,255,255,0.80);
	color: #fff !important;
	transform: translateY(-1px);
}
.sb-btn--block { display: flex; width: 100%; }
.sb-btn--lg { padding: 1.05rem 2.25rem; font-size: 1.05rem; }

/* Main layout */
.sb-main { padding-top: calc(var(--sb-site-head-h) + var(--sb-admin-bar-h)); }
.sb-main--hero { padding-top: 0; }

.sb-gallery-section,
.sb-testimonials,
.sb-stats-section,
.sb-brochures,
.sb-faq-home,
.sb-tutors,
.sb-blog-index {
	content-visibility: auto;
	contain-intrinsic-size: auto 520px;
}

/* ─── Hero ──────────────────────────────────────────────── */
.sb-hero {
	position: relative;
	min-height: calc(var(--sb-hero-panel-h) + var(--sb-site-head-h) + var(--sb-admin-bar-h));
	margin-top: var(--sb-admin-bar-h);
	overflow: hidden;
	background: var(--sb-blue-deep);
}
.sb-hero::before {
	content: '';
	position: absolute; inset: 0;
	background:
		radial-gradient(ellipse 60% 70% at 75% 0%, rgba(6,72,141,0.60) 0%, transparent 65%),
		radial-gradient(ellipse 50% 50% at 20% 100%, rgba(249,115,22,0.08) 0%, transparent 60%);
	pointer-events: none;
}
.sb-hero__slider {
	position: relative;
	min-height: calc(var(--sb-hero-panel-h) + var(--sb-site-head-h) + var(--sb-admin-bar-h));
	z-index: 2;
}
.sb-hero__slide {
	position: absolute; inset: 0;
	opacity: 0; visibility: hidden;
	transition:
		opacity var(--sb-hero-transition, 1200ms) ease-in-out,
		visibility var(--sb-hero-transition, 1200ms) ease-in-out;
	z-index: 0;
	display: flex; align-items: stretch;
}
.sb-hero__slide.is-active { opacity: 1; visibility: visible; z-index: 1; }

.sb-hero__layout {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: clamp(1.5rem, 3vw, 2.75rem);
	align-items: center;
	width: 100%;
	min-height: var(--sb-hero-panel-h);
	padding-top: calc(var(--sb-site-head-h) + 1.25rem);
	padding-bottom: 3.75rem;
}
.sb-hero__layout.sb-container {
	max-width: var(--sb-max-w);
}
.sb-hero__slide--text-right .sb-hero__content { grid-column: 2; grid-row: 1; }
.sb-hero__slide--text-right .sb-hero__visual  { grid-column: 1; grid-row: 1; }

.sb-hero__visual {
	display: flex;
	align-items: center;
	justify-content: stretch;
	align-self: center;
	width: 100%;
}
.sb-hero__photo-card {
	position: relative;
	width: 100%;
}
.sb-hero__photo-frame {
	position: relative;
	aspect-ratio: 4 / 3;
	min-height: clamp(280px, 36vh, 420px);
	border-radius: var(--sb-radius-xl);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.14);
	box-shadow: 0 22px 50px rgba(0, 0, 0, 0.32);
	background: rgba(255, 255, 255, 0.06);
}
.sb-hero__photo-frame picture,
.sb-hero__photo-frame img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
}
.sb-hero__figure {
	width: 100%;
	height: 100%;
	min-width: 0;
	max-width: none;
	object-fit: cover;
	object-position: center;
	filter: none;
}
.sb-hero__photo-tag {
	position: absolute;
	left: 1rem;
	bottom: 1rem;
	z-index: 2;
	padding: 0.4rem 0.85rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.96);
	color: var(--sb-blue);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}

.sb-hero__content {
	position: relative; z-index: 2;
	display: flex; flex-direction: column; justify-content: center;
	max-width: 560px;
}
.sb-hero__slide--text-right .sb-hero__content { justify-self: stretch; max-width: none; }

.sb-hero__title {
	font-family: var(--sb-font-display);
	font-size: clamp(1.85rem, 3.8vw, 3.1rem);
	font-weight: 800;
	color: #fff;
	line-height: 1.08;
	margin: 0 0 1rem;
	letter-spacing: -0.03em;
}
.sb-hero__desc {
	font-size: clamp(0.95rem, 1.5vw, 1.08rem);
	color: rgba(255,255,255,0.80);
	margin: 0 0 1.65rem;
	max-width: 520px;
	line-height: 1.65;
}
.sb-hero__actions { display:flex; flex-wrap:wrap; gap:0.875rem; align-items:center; }

/* Hero nav dots */
.sb-hero__nav {
	position: absolute; bottom:1.15rem; left:50%; transform:translateX(-50%);
	display:flex; align-items:center; gap:1rem; z-index:10;
}
.sb-hero__prev, .sb-hero__next {
	width:40px; height:40px; border-radius:50%;
	border: 1.5px solid rgba(255,255,255,0.40);
	background: rgba(255,255,255,0.08);
	color:#fff; font-size:1.25rem; cursor:pointer;
	display:flex; align-items:center; justify-content:center;
	transition: background var(--sb-transition), border-color var(--sb-transition);
}
.sb-hero__prev:hover, .sb-hero__next:hover {
	background:rgba(255,255,255,0.18);
	border-color:rgba(255,255,255,0.65);
}
.sb-hero__dots { display:flex; gap:0.5rem; }
.sb-hero__dot {
	width:8px; height:8px; border-radius:50%; border:0;
	background:rgba(255,255,255,0.30); cursor:pointer;
	transition: all 0.3s ease;
}
.sb-hero__dot.is-active { background:var(--sb-orange); width:24px; border-radius:999px; }

/* ─── Sections ──────────────────────────────────────────── */
.sb-section { padding:5rem 0; background: var(--sb-white); }
.sb-section--muted { background: var(--sb-cream); }
.sb-section--cream-dark { background: var(--sb-cream-dark); }
.sb-section--dark {
	background: var(--sb-blue-deep);
	color: #fff;
}
.sb-section--dark .sb-section__header h2 { color: #fff; }

.sb-section__header { text-align:center; max-width:680px; margin:0 auto 3.5rem; }
.sb-section__header h2 {
	font-family: var(--sb-font-display);
	font-size: clamp(1.85rem,3vw,2.75rem);
	color: var(--sb-blue);
	margin: 0 0 1rem;
	letter-spacing: -0.025em;
	line-height: 1.12;
}
.sb-section__header p { color:var(--sb-gray-600); font-size:1.05rem; margin:0; }
.sb-section__header--center { text-align:center; max-width:680px; margin-inline:auto; }

.sb-eyebrow {
	display: inline-block;
	text-transform: uppercase;
	letter-spacing: 0.10em;
	font-size: 0.72rem;
	font-weight: 800;
	color: var(--sb-orange);
	margin-bottom: 0.75rem;
	padding: 0.35rem 1rem;
	border: 1px solid rgba(249,115,22,0.25);
	border-radius: 999px;
	background: rgba(249,115,22,0.06);
}

/* ─── Trust bar ─────────────────────────────────────────── */
.sb-trust-bar {
	background: linear-gradient(180deg, #fff 0%, var(--sb-gray-50) 100%);
	border-bottom: 1px solid var(--sb-gray-200);
	position: relative;
	z-index: 5;
	margin-top: -1px;
	padding: 0.5rem 0;
}
.sb-trust-bar__grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 0.75rem;
	padding: 1.25rem 0;
	list-style: none;
	margin: 0;
}
.sb-trust-bar__item {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding: 0.85rem 1rem;
	background: #fff;
	border: 1px solid var(--sb-gray-200);
	border-radius: var(--sb-radius-lg);
	box-shadow: var(--sb-shadow-sm);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.sb-trust-bar__item:hover {
	transform: translateY(-2px);
	box-shadow: var(--sb-shadow);
	border-color: rgba(6, 72, 141, 0.15);
}
.sb-trust-bar__icon {
	flex-shrink: 0;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 999px;
	background: rgba(6, 72, 141, 0.08);
	display: flex;
	align-items: center;
	justify-content: center;
}
.sb-trust-bar__item--learners .sb-trust-bar__icon::before { content: '👥'; font-size: 1rem; }
.sb-trust-bar__item--class .sb-trust-bar__icon::before { content: '12'; font-family: var(--sb-font-display); font-size: 0.75rem; font-weight: 800; color: var(--sb-blue); }
.sb-trust-bar__item--cert .sb-trust-bar__icon::before { content: '✓'; font-weight: 800; color: var(--sb-orange); font-size: 1rem; }
.sb-trust-bar__item--calendar .sb-trust-bar__icon::before { content: '📅'; font-size: 0.95rem; }
.sb-trust-bar__item--location .sb-trust-bar__icon::before { content: '📍'; font-size: 0.95rem; }
.sb-trust-bar__text strong {
	display: block;
	font-family: var(--sb-font-display);
	font-size: 1.05rem;
	color: var(--sb-blue);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.2;
}
.sb-trust-bar__text span {
	display: block;
	font-size: 0.68rem;
	color: var(--sb-gray-600);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-weight: 600;
	margin-top: 0.15rem;
	line-height: 1.35;
}

/* ─── SEO Intro ─────────────────────────────────────────── */
.sb-intro__grid {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: clamp(2rem, 4vw, 4rem);
	align-items: center;
}
.sb-intro__content h2 {
	font-family: var(--sb-font-display);
	font-size: clamp(1.85rem, 3vw, 2.5rem);
	color: var(--sb-blue);
	line-height: 1.15;
	margin: 0 0 1.25rem;
	letter-spacing: -0.025em;
}
.sb-intro__content p { color: var(--sb-gray-600); margin-bottom: 1rem; line-height: 1.75; }
.sb-intro__programmes {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.65rem;
	margin: 1.75rem 0 1.5rem;
}
.sb-programme-pill {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.85rem 1rem;
	background: #fff;
	border: 1px solid var(--sb-gray-200);
	border-radius: var(--sb-radius-lg);
	color: var(--sb-gray-800);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.sb-programme-pill:hover {
	transform: translateY(-2px);
	box-shadow: var(--sb-shadow);
	border-color: rgba(6, 72, 141, 0.2);
	color: var(--sb-blue);
}
.sb-programme-pill__icon {
	flex-shrink: 0;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 10px;
	background: rgba(6, 72, 141, 0.08);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--sb-font-display);
	font-size: 0.62rem;
	font-weight: 800;
	color: var(--sb-blue);
	letter-spacing: -0.02em;
}
.sb-programme-pill--general .sb-programme-pill__icon { background: rgba(6, 72, 141, 0.10); }
.sb-programme-pill--general .sb-programme-pill__icon::before { content: 'GE'; }
.sb-programme-pill--ielts .sb-programme-pill__icon { background: rgba(249, 115, 22, 0.12); color: var(--sb-orange); }
.sb-programme-pill--ielts .sb-programme-pill__icon::before { content: 'IELTS'; font-size: 0.5rem; }
.sb-programme-pill--pte .sb-programme-pill__icon { background: rgba(16, 185, 129, 0.12); color: #059669; }
.sb-programme-pill--pte .sb-programme-pill__icon::before { content: 'PTE'; }
.sb-programme-pill--corporate .sb-programme-pill__icon { background: rgba(99, 102, 241, 0.12); color: #4f46e5; }
.sb-programme-pill--corporate .sb-programme-pill__icon::before { content: 'Biz'; }
.sb-programme-pill--visa .sb-programme-pill__icon { background: rgba(236, 72, 153, 0.10); color: #db2777; }
.sb-programme-pill--visa .sb-programme-pill__icon::before { content: 'Visa'; font-size: 0.55rem; }
.sb-programme-pill--online .sb-programme-pill__icon { background: rgba(14, 165, 233, 0.12); color: #0284c7; }
.sb-programme-pill--online .sb-programme-pill__icon::before { content: 'Live'; font-size: 0.55rem; }
.sb-programme-pill__text { display: flex; flex-direction: column; gap: 0.1rem; min-width: 0; }
.sb-programme-pill__text strong { font-size: 0.875rem; font-weight: 700; color: var(--sb-blue); line-height: 1.3; }
.sb-programme-pill__text small { font-size: 0.72rem; color: var(--sb-gray-600); line-height: 1.35; }
.sb-programme-pill:hover .sb-programme-pill__text strong { color: var(--sb-orange); }
.sb-link-arrow { font-weight: 700; color: var(--sb-blue); display: inline-flex; align-items: center; gap: 0.35rem; }
.sb-link-arrow:hover { color: var(--sb-orange); }
.sb-intro__visual {
	position: relative;
	overflow: hidden;
	border-radius: var(--sb-radius-xl);
	box-shadow: var(--sb-shadow-lg);
	aspect-ratio: 4 / 3;
	background: var(--sb-gray-50);
}
.sb-intro__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
}
.sb-intro__card {
	position: absolute;
	bottom: -1.25rem;
	left: -1.25rem;
	background: #fff;
	padding: 1.15rem 1.25rem;
	border-radius: var(--sb-radius-lg);
	box-shadow: var(--sb-shadow-lg);
	max-width: 300px;
	border: 1px solid var(--sb-gray-200);
	display: flex;
	gap: 0.85rem;
	align-items: flex-start;
}
.sb-intro__card-icon {
	flex-shrink: 0;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 999px;
	background: rgba(249, 115, 22, 0.12);
	color: var(--sb-orange);
	display: flex;
	align-items: center;
	justify-content: center;
}
.sb-intro__card-body { min-width: 0; }
.sb-intro__card-label { font-size: 0.68rem; text-transform: uppercase; color: var(--sb-gray-600); letter-spacing: 0.07em; font-weight: 700; display: block; }
.sb-intro__card strong { display: block; color: var(--sb-blue); margin: 0.2rem 0 0.35rem; font-family: var(--sb-font-display); font-size: 1rem; }
.sb-intro__card p { margin: 0; font-size: 0.82rem; color: var(--sb-gray-600); line-height: 1.45; }
.sb-intro__card-note {
	font-size: 0.75rem;
	color: var(--sb-gray-500);
	margin: 0.45rem 0 0;
	line-height: 1.45;
	display: flex;
	align-items: center;
	gap: 0.35rem;
}

/* ─── Course cards (homepage) ───────────────────────────── */
.sb-course-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.35rem;
}
.sb-course-card {
	background: #fff;
	border-radius: var(--sb-radius-xl);
	overflow: hidden;
	border: 1px solid var(--sb-gray-200);
	display: flex;
	flex-direction: column;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
	box-shadow: var(--sb-shadow-sm);
}
.sb-course-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--sb-shadow-lg);
	border-color: rgba(6, 72, 141, 0.12);
}
.sb-course-card--general-english { --sb-card-accent: var(--sb-blue); }
.sb-course-card--ielts-preparation { --sb-card-accent: var(--sb-orange); }
.sb-course-card--business-english { --sb-card-accent: #6366f1; }
.sb-course-card--private-classes { --sb-card-accent: #0ea5e9; }
.sb-course-card__media {
	display: block;
	position: relative;
	overflow: hidden;
}
.sb-course-card__media::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 40%, rgba(7, 18, 48, 0.55) 100%);
	pointer-events: none;
}
.sb-course-card__media { aspect-ratio: 16 / 10; }
.sb-course-card__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
	transition: transform 0.45s ease;
}
.sb-course-card:hover .sb-course-card__media img { transform: scale(1.05); }
.sb-course-card__price {
	position: absolute;
	bottom: 1rem;
	left: 1rem;
	z-index: 1;
	background: var(--sb-orange);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
	padding: 0.35rem 0.85rem;
	border-radius: 999px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	box-shadow: 0 2px 8px rgba(249, 115, 22, 0.35);
}
.sb-course-card__badge {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 1;
	background: rgba(255, 255, 255, 0.92);
	color: var(--sb-blue);
	font-size: 0.68rem;
	font-weight: 800;
	padding: 0.3rem 0.7rem;
	border-radius: 999px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	backdrop-filter: blur(4px);
}
.sb-course-card__body {
	padding: 1.35rem 1.5rem 1.5rem;
	display: flex;
	flex-direction: column;
	flex: 1;
	border-top: 3px solid var(--sb-card-accent, var(--sb-blue));
}
.sb-course-card__body h3 {
	margin: 0 0 0.45rem;
	font-family: var(--sb-font-display);
	font-size: 1.25rem;
	letter-spacing: -0.02em;
	line-height: 1.25;
}
.sb-course-card__body h3 a { color: var(--sb-blue); }
.sb-course-card__body h3 a:hover { color: var(--sb-orange); }
.sb-course-card__tagline {
	margin: 0 0 0.85rem;
	color: var(--sb-gray-600);
	font-size: 0.875rem;
	line-height: 1.55;
	flex: 1;
}
.sb-course-card__meta {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.sb-course-card__meta li {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--sb-gray-600);
	background: var(--sb-gray-50);
	border: 1px solid var(--sb-gray-200);
	padding: 0.35rem 0.65rem;
	border-radius: 999px;
}
.sb-course-card__meta svg { color: var(--sb-blue); flex-shrink: 0; }
.sb-course-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--sb-blue);
	margin-top: auto;
	padding-top: 0.85rem;
	border-top: 1px solid var(--sb-gray-100);
	transition: gap 0.2s ease, color 0.2s ease;
}
.sb-course-card__cta:hover { color: var(--sb-orange); gap: 0.65rem; }

.sb-programme-strip {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.85rem;
	margin-top: 1.75rem;
	padding-top: 1.75rem;
	border-top: 1px solid var(--sb-gray-200);
}
.sb-programme-strip__item {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding: 1rem 1.15rem;
	background: #fff;
	border: 1px solid var(--sb-gray-200);
	border-radius: var(--sb-radius-lg);
	color: var(--sb-gray-800);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.sb-programme-strip__item:hover {
	transform: translateY(-2px);
	box-shadow: var(--sb-shadow);
	border-color: rgba(6, 72, 141, 0.18);
	color: var(--sb-blue);
}
.sb-programme-strip__icon {
	flex-shrink: 0;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 10px;
	background: rgba(6, 72, 141, 0.08);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--sb-font-display);
	font-size: 0.62rem;
	font-weight: 800;
	color: var(--sb-blue);
}
.sb-programme-strip__item--pte .sb-programme-strip__icon { background: rgba(16, 185, 129, 0.12); color: #059669; }
.sb-programme-strip__item--pte .sb-programme-strip__icon::before { content: 'PTE'; }
.sb-programme-strip__item--visa .sb-programme-strip__icon { background: rgba(236, 72, 153, 0.10); color: #db2777; }
.sb-programme-strip__item--visa .sb-programme-strip__icon::before { content: 'Visa'; }
.sb-programme-strip__item--online .sb-programme-strip__icon { background: rgba(14, 165, 233, 0.12); color: #0284c7; }
.sb-programme-strip__item--online .sb-programme-strip__icon::before { content: 'Live'; }
.sb-programme-strip__text { display: flex; flex-direction: column; gap: 0.1rem; flex: 1; min-width: 0; }
.sb-programme-strip__text strong { font-size: 0.875rem; color: var(--sb-blue); line-height: 1.3; }
.sb-programme-strip__text small { font-size: 0.72rem; color: var(--sb-gray-600); }
.sb-programme-strip__arrow { flex-shrink: 0; color: var(--sb-orange); opacity: 0; transform: translateX(-4px); transition: opacity 0.2s ease, transform 0.2s ease; }
.sb-programme-strip__item:hover .sb-programme-strip__arrow { opacity: 1; transform: translateX(0); }
.sb-programme-strip__item:hover .sb-programme-strip__text strong { color: var(--sb-orange); }

/* ─── Why / Features ────────────────────────────────────── */
.sb-why__grid { display:grid; grid-template-columns:1.35fr 0.85fr; gap:4rem; align-items:start; }
.sb-why__content h2 {
	font-family:var(--sb-font-display);
	font-size:clamp(1.75rem,3vw,2.4rem);
	color:var(--sb-blue); margin:0 0 1rem; letter-spacing:-0.025em;
}
.sb-features { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:2rem; }
.sb-feature {
	padding:1.35rem 1.25rem;
	background:#fff;
	border-radius:var(--sb-radius-lg);
	border:1px solid var(--sb-gray-200);
	transition:transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.sb-feature:hover { transform:translateY(-3px); box-shadow:var(--sb-shadow); border-color:rgba(6,72,141,0.12); }
.sb-feature__icon-wrap {
	width:2.5rem;
	height:2.5rem;
	border-radius:12px;
	background:rgba(249,115,22,0.10);
	color:var(--sb-orange);
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bottom:0.85rem;
}
.sb-feature h3 { margin:0 0 0.4rem; font-size:0.95rem; color:var(--sb-blue); font-weight:700; font-family:var(--sb-font-display); }
.sb-feature p { margin:0; font-size:0.875rem; color:var(--sb-gray-600); line-height:1.60; }

.sb-why__aside {}
.sb-why__courses,
.sb-apply-card {
	background: linear-gradient(145deg, var(--sb-blue-deep) 0%, #0a2a5c 100%);
	color:#fff;
	padding:2rem 1.85rem;
	border-radius:var(--sb-radius-xl);
	border:1px solid rgba(255,255,255,0.08);
	box-shadow:var(--sb-shadow-lg);
	position:relative;
	overflow:hidden;
}
.sb-apply-card::before {
	content:'';
	position:absolute;
	top:-40%; right:-20%;
	width:60%; height:80%;
	background:radial-gradient(circle, rgba(249,115,22,0.15) 0%, transparent 70%);
	pointer-events:none;
}
.sb-apply-card__badge {
	display:inline-block;
	font-size:0.68rem;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:0.06em;
	background:rgba(249,115,22,0.2);
	color:var(--sb-orange);
	padding:0.3rem 0.75rem;
	border-radius:999px;
	margin-bottom:0.85rem;
	border:1px solid rgba(249,115,22,0.35);
}
.sb-why__courses h3,
.sb-apply-card h3 { margin-top:0; font-family:var(--sb-font-display); font-size:1.3rem; letter-spacing:-0.02em; position:relative; }
.sb-apply-card p { opacity:0.85; font-size:0.93rem; line-height:1.6; position:relative; }
.sb-course-links { list-style:none; padding:0; margin:0 0 1.5rem; }
.sb-course-links a {
	color:rgba(255,255,255,0.80); display:block;
	padding:0.55rem 0;
	border-bottom:1px solid rgba(255,255,255,0.08);
	transition:color var(--sb-transition);
	font-size:0.93rem;
}
.sb-course-links a:hover { color:var(--sb-orange); }

.sb-checklist { list-style:none; padding:0; margin:0 0 1.5rem; }
.sb-checklist li {
	padding:0.4rem 0 0.4rem 1.75rem;
	position:relative;
	color:rgba(255,255,255,0.85);
	font-size:0.91rem;
}
.sb-checklist li::before { content:'✓'; position:absolute; left:0; color:var(--sb-orange); font-weight:700; }

/* ─── Gallery ───────────────────────────────────────────── */
/* ─── Gallery carousel ───────────────────────────────────── */
.sb-gallery-section { /* background via .sb-section--muted */ }

.sb-gallery-carousel { margin-top: 0.5rem; }

.sb-gallery-carousel__main {
	position: relative;
	border-radius: var(--sb-radius-xl);
	overflow: hidden;
	background: var(--sb-gray-100);
	box-shadow: var(--sb-shadow-lg);
	border: 1px solid var(--sb-gray-200);
}

.sb-gallery-carousel__viewport {
	position: relative;
	aspect-ratio: 16 / 9;
	background: var(--sb-gray-900);
}

.sb-gallery-carousel__slide {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.55s ease, visibility 0.55s ease;
}

.sb-gallery-carousel__slide.is-active {
	opacity: 1;
	visibility: visible;
	z-index: 1;
}

.sb-gallery-carousel__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
	display: block;
}

.sb-gallery-carousel__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 2.75rem;
	height: 2.75rem;
	border: none;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--sb-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: var(--sb-shadow);
	transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.sb-gallery-carousel__arrow:hover {
	background: var(--sb-orange);
	color: #fff;
	transform: translateY(-50%) scale(1.05);
}

.sb-gallery-carousel__arrow--prev { left: 1rem; }
.sb-gallery-carousel__arrow--next { right: 1rem; }

.sb-gallery-carousel__counter {
	position: absolute;
	bottom: 1rem;
	left: 1rem;
	z-index: 3;
	background: rgba(7, 18, 48, 0.72);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 700;
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	backdrop-filter: blur(4px);
	font-family: var(--sb-font-display);
}

.sb-gallery-carousel__sep { opacity: 0.55; margin: 0 0.15rem; }

.sb-gallery-carousel__thumbs {
	display: flex;
	gap: 0.65rem;
	margin-top: 1rem;
	padding: 0.25rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
}

.sb-gallery-carousel__thumb {
	position: relative;
	flex: 0 0 auto;
	width: clamp(72px, 12vw, 108px);
	aspect-ratio: 3 / 2;
	border: 2px solid transparent;
	border-radius: var(--sb-radius);
	overflow: hidden;
	padding: 0;
	cursor: pointer;
	background: var(--sb-gray-100);
	opacity: 0.65;
	transition: opacity 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
	scroll-snap-align: start;
}
.sb-gallery-carousel__thumb img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
	display: block;
}

.sb-gallery-carousel__thumb:hover { opacity: 0.9; transform: translateY(-2px); }

.sb-gallery-carousel__thumb.is-active {
	opacity: 1;
	border-color: var(--sb-orange);
	box-shadow: 0 0 0 2px rgba(249, 115, 22, 0.25);
}

/* Legacy masonry (unused) */
.sb-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:0.75rem; }
.sb-gallery__item { position:relative; overflow:hidden; border-radius:var(--sb-radius-lg); aspect-ratio:3/2; }
.sb-gallery__img { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; border-radius:0; transition:transform 0.4s ease; }
.sb-gallery__item:hover .sb-gallery__img { transform:scale(1.05); }
.sb-gallery--masonry .sb-gallery__item--wide { grid-column:span 2; }

/* ─── Video ─────────────────────────────────────────────── */
.sb-video-section__inner { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.sb-video-section__player {
	aspect-ratio:16/9;
	background:var(--sb-blue-dark) center/cover;
	border-radius:var(--sb-radius-xl);
	display:flex; align-items:center; justify-content:center;
	position:relative; overflow:hidden;
	box-shadow:var(--sb-shadow-lg);
}
.sb-video-section__player::after {
	content:'';
	position:absolute; inset:0;
	background:rgba(4,12,30,0.35);
}
.sb-video-play {
	width:76px; height:76px; border-radius:50%;
	background:var(--sb-orange);
	color:#fff;
	display:flex; align-items:center; justify-content:center;
	font-size:1.4rem;
	position:relative; z-index:2;
	transition:transform 0.2s ease, background 0.2s ease;
}
.sb-video-play:hover { transform:scale(1.1); color:#fff; background:var(--sb-orange-hover); }
.sb-video-section__content h2 {
	font-family:var(--sb-font-display);
	color:var(--sb-blue);
	font-size:clamp(1.6rem,2.5vw,2.15rem);
	letter-spacing:-0.02em;
}

/* ─── Stats ─────────────────────────────────────────────── */
.sb-stats-section { text-align: center; }
.sb-stats-section__head { text-align:center; max-width:640px; margin:0 auto 3rem; }
.sb-stats-section__head h2 { font-family:var(--sb-font-display); color:var(--sb-blue); margin-bottom:0.75rem; letter-spacing:-0.02em; }
.sb-stats { max-width:600px; margin:0 auto 2rem; display:grid; gap:1.75rem; text-align:left; }
.sb-stat__bar { height:8px; background:rgba(6,72,141,0.12); border-radius:999px; overflow:hidden; }
.sb-stat__fill {
	height:100%;
	background:var(--sb-blue);
	border-radius:999px;
	width:0;
	transition:width 1.2s cubic-bezier(0.4,0,0.2,1);
}
.sb-stat__meta { display:flex; justify-content:space-between; margin-top:0.5rem; font-weight:600; }
.sb-stat__value { color:var(--sb-blue); font-size:1.05rem; font-weight:700; }

/* ─── Tutors ────────────────────────────────────────────── */
.sb-tutors__grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.sb-tutors__content h2 { font-family:var(--sb-font-display); color:var(--sb-blue); font-size:clamp(1.6rem,2.5vw,2.15rem); letter-spacing:-0.02em; }
.sb-tutors__img { border-radius:var(--sb-radius-xl); box-shadow:var(--sb-shadow-lg); }

/* ─── Page hero ─────────────────────────────────────────── */
.sb-page-hero {
	position:relative;
	min-height:clamp(440px,58vh,700px);
	padding:3rem 0 1.5rem;
	background:var(--sb-blue-deep);
	color:#fff; text-align:left;
	overflow:hidden; display:flex; align-items:stretch;
}
.sb-main--hero .sb-page-hero {
	padding-top:calc(var(--sb-site-head-h) + var(--sb-admin-bar-h) + 3.5rem);
	min-height:clamp(520px,64vh,780px);
}
.sb-page-hero::before {
	content:'';
	position:absolute; inset:0;
	background:
		radial-gradient(circle 28rem at 88% 6%, rgba(249,115,22,0.30), transparent 62%),
		radial-gradient(circle 22rem at 10% 92%, rgba(255,255,255,0.10), transparent 60%),
		radial-gradient(circle 18rem at 48% 42%, rgba(6,72,141,0.42), transparent 70%);
	pointer-events:none;
}
.sb-page-hero > .sb-container,
.sb-page-hero__inner {
	position:relative;
	z-index:1;
	width:100%;
	display:flex;
	flex-direction:column;
	justify-content:center;
	flex:1;
	min-height:100%;
}
.sb-page-hero__copy { text-align:left; }
.sb-page-hero h1 {
	font-family:var(--sb-font-display);
	font-size:clamp(2.1rem,4vw,3.15rem);
	margin:0 0 0.75rem;
	letter-spacing:-0.03em;
}
.sb-page-hero__sub { font-size:1.1rem; opacity:0.82; max-width:40rem; margin:0; line-height:1.70; }
.sb-page-hero--blog { background:var(--sb-blue-deep); }

/* ─── Cards ─────────────────────────────────────────────── */
.sb-cards { display:grid; gap:1.5rem; }
.sb-cards--3 { grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }
.sb-card {
	background:#fff;
	padding:2.25rem;
	border-radius:var(--sb-radius-xl);
	border:1px solid var(--sb-gray-200);
	transition:transform 0.2s ease, box-shadow 0.2s ease;
}
.sb-card:hover { transform:translateY(-4px); box-shadow:var(--sb-shadow-lg); }
.sb-card h3 { color:var(--sb-blue); margin-top:0; font-family:var(--sb-font-display); }

.sb-values__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}
.sb-value {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 0 0 1.5rem;
	background: #fff;
	border: 1px solid var(--sb-gray-200);
	border-radius: var(--sb-radius-xl);
	box-shadow: 0 8px 24px rgba(7, 18, 48, 0.04);
	overflow: hidden;
}
.sb-value__photo {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--sb-gray-50);
}
.sb-value__photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
}
.sb-value h3,
.sb-value p { padding-left: 1.3rem; padding-right: 1.3rem; }
.sb-value::before {
	content: '';
	position: absolute;
	left: 0; right: 0; top: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--sb-orange), #fdba74);
}
.sb-value__index {
	position: absolute;
	top: 0.85rem;
	right: 0.9rem;
	z-index: 1;
	background: rgba(255,255,255,0.9);
	padding: 0.2rem 0.45rem;
	border-radius: 999px;
	font-family: var(--sb-font-display);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	color: rgba(6, 72, 141, 0.28);
}
.sb-value__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	margin-bottom: 1rem;
	border-radius: 12px;
	background: rgba(6, 72, 141, 0.06);
	color: var(--sb-blue);
}
.sb-value h3 {
	margin: 1.1rem 0 0.55rem;
	color: var(--sb-blue);
	font-family: var(--sb-font-display);
	font-size: 1.15rem;
}
.sb-value p {
	margin: 0;
	color: var(--sb-gray-600);
	font-size: 0.9rem;
	line-height: 1.6;
	flex: 1 1 auto;
}
@media (max-width: 1100px) {
	.sb-values__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.sb-values__grid { grid-template-columns: 1fr; }
}

.sb-split { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.sb-split__content h2 { font-family:var(--sb-font-display); color:var(--sb-blue); letter-spacing:-0.02em; }
.sb-split__media {
	position: relative;
	overflow: hidden;
	border-radius: var(--sb-radius-xl);
	min-height: 16rem;
	height: 100%;
	background: var(--sb-gray-50);
}
.sb-split__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
}

/* ─── Team ──────────────────────────────────────────────── */
.sb-team-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.5rem; }
.sb-team-card {
	background:#fff;
	border-radius:var(--sb-radius-xl);
	overflow:hidden;
	border:1px solid var(--sb-gray-200);
	text-align:center;
	padding-bottom:1.75rem;
	transition:transform 0.2s ease, box-shadow 0.2s ease;
}
.sb-team-card:hover { transform:translateY(-4px); box-shadow:var(--sb-shadow-lg); }
.sb-team-card__photo { position:relative; aspect-ratio:1; overflow:hidden; }
.sb-team-card__img { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; border-radius:0; transition:transform 0.4s ease; }
.sb-team-card:hover .sb-team-card__img { transform:scale(1.04); }
.sb-team-card h3 { margin:1rem 0 0.25rem; color:var(--sb-blue); font-family:var(--sb-font-display); }
.sb-team-card__role { color:var(--sb-orange); font-weight:700; margin:0 0 0.75rem; font-size:0.82rem; text-transform:uppercase; letter-spacing:0.05em; }
.sb-team-card__bio { padding:0 1.25rem; font-size:0.875rem; color:var(--sb-gray-600); }

/* ─── Course single ─────────────────────────────────────── */
.sb-course-hero,
.sb-post-single__hero {
	position:relative; min-height:clamp(480px,68vh,780px);
	display:flex; align-items:flex-end; overflow:hidden;
}
.sb-course-hero__img,
.sb-post-single__hero-img {
	position:absolute; inset:0; width:100%; height:100%; max-width:none;
	object-fit:cover; object-position:center 35%;
}
.sb-course-hero__overlay,
.sb-post-single__hero-overlay {
	position:absolute; inset:0;
	background:
		linear-gradient(180deg, rgba(4,12,30,0.92) 0%, rgba(7,18,48,0.58) 16%, rgba(7,18,48,0.14) 34%, rgba(7,18,48,0) 50%),
		linear-gradient(0deg, rgba(4,12,30,0.95) 0%, rgba(7,18,48,0.72) 28%, rgba(7,18,48,0.28) 52%, rgba(7,18,48,0) 74%);
	pointer-events:none;
}
.sb-course-hero__content,
.sb-post-single__hero-content {
	position:relative; z-index:2; padding-block:5rem 3.5rem; color:#fff;
}
.sb-course-hero__accent,
.sb-post-single__hero-accent {
	display:block; width:56px; height:3px; background:var(--sb-orange);
	border-radius:2px; margin-bottom:1rem;
}
.sb-course-hero h1,
.sb-post-single__title {
	font-family:var(--sb-font-display);
	font-size:clamp(2rem,4vw,3rem);
	margin:0 0 0.75rem;
	letter-spacing:-0.03em;
	max-width:820px;
	line-height:1.12;
}

.sb-course-layout { display:grid; grid-template-columns:1fr 280px; gap:3rem; padding:4rem 0; }
.sb-course-meta-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1rem; margin-bottom:2.5rem; }
.sb-course-meta {
	padding:1.35rem 1.5rem;
	background:var(--sb-cream);
	border-radius:var(--sb-radius-lg);
	border:1px solid var(--sb-gray-200);
}
.sb-course-meta--highlight { border-color:rgba(249,115,22,0.40); background:#fff7ed; }
.sb-course-meta__label { display:block; font-size:0.70rem; text-transform:uppercase; letter-spacing:0.07em; color:var(--sb-gray-600); margin-bottom:0.4rem; font-weight:700; }
.sb-course-meta__value { font-weight:700; color:var(--sb-blue); font-size:1.05rem; font-family:var(--sb-font-display); }

.sb-prose { font-size:1.05rem; line-height:1.80; color:var(--sb-gray-800); }
.sb-prose > *:first-child { margin-top:0; }
.sb-prose h2 { font-family:var(--sb-font-display); color:var(--sb-blue); margin:2rem 0 0.75rem; font-size:1.5rem; letter-spacing:-0.02em; }
.sb-prose h3 { color:var(--sb-blue); margin:1.5rem 0 0.5rem; }
.sb-prose p { margin:0 0 1.15rem; }
.sb-prose ul, .sb-prose ol { padding-left:1.25rem; margin:0 0 1.15rem; }
.sb-prose li { margin-bottom:0.4rem; }
.sb-prose a { color:var(--sb-orange); font-weight:600; }

.sb-course-sidebar {
	background:var(--sb-cream);
	padding:1.75rem;
	border-radius:var(--sb-radius-xl);
	border:1px solid var(--sb-gray-200);
	height:fit-content;
	position:sticky;
	top:calc(var(--sb-site-head-h) + var(--sb-admin-bar-h) + 1rem);
}
.sb-course-sidebar ul { list-style:none; padding:0; margin:0; }
.sb-course-sidebar li { border-bottom:1px solid var(--sb-gray-200); }
.sb-course-sidebar a { display:block; padding:0.75rem 0; color:var(--sb-gray-800); }
.sb-course-sidebar a:hover { color:var(--sb-orange); }

.sb-course-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:2rem; }
.sb-course-card {
	background:#fff; border-radius:var(--sb-radius-xl); overflow:hidden;
	border:1px solid var(--sb-gray-200);
	transition:transform 0.2s ease, box-shadow 0.2s ease;
}
.sb-course-card:hover { transform:translateY(-4px); box-shadow:var(--sb-shadow-lg); }
.sb-course-card__thumb { display:block; position:relative; aspect-ratio:16/10; overflow:hidden; }
.sb-course-card__thumb img { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; border-radius:0; }
.sb-course-card__body { padding:1.75rem; }
.sb-course-card h2 { margin:0 0 0.75rem; font-size:1.2rem; font-family:var(--sb-font-display); }
.sb-course-card h2 a { color:var(--sb-blue); }

/* ─── FAQ ───────────────────────────────────────────────── */
.sb-faq { max-width:760px; margin:0 auto; }
.sb-faq__item {
	border:1px solid var(--sb-gray-200);
	border-radius:var(--sb-radius-lg);
	margin-bottom:0.75rem;
	overflow:hidden;
	background:#fff;
	transition:border-color 0.2s ease;
}
.sb-faq__item[open] { border-color:rgba(6,72,141,0.25); }
.sb-faq__item summary {
	padding:1.25rem 1.5rem;
	cursor:pointer;
	list-style:none;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1rem;
}
.sb-faq__item summary::-webkit-details-marker { display:none; }
.sb-faq__item summary::after {
	content:'+';
	flex-shrink:0;
	width:26px; height:26px; border-radius:50%;
	background:var(--sb-gray-100);
	color:var(--sb-blue);
	display:flex; align-items:center; justify-content:center;
	font-size:1.1rem; font-weight:500;
	transition:transform 0.2s ease, background 0.2s ease;
	text-align:center; line-height:1;
}
.sb-faq__item[open] summary::after { content:'−'; transform:none; background:rgba(249,115,22,0.10); color:var(--sb-orange); }
.sb-faq__question { margin:0; font-size:1.02rem; color:var(--sb-blue); font-weight:600; }
.sb-faq__answer { padding:0 1.5rem 1.25rem; color:var(--sb-gray-600); line-height:1.72; }
.sb-faq-home__more { text-align:center; margin-top:1.75rem; }

/* ─── Apply / Contact ───────────────────────────────────── */
.sb-apply-grid, .sb-contact-grid {
	display:grid; grid-template-columns:1.2fr 0.8fr; gap:3rem; align-items:start;
}
.sb-form__row { margin-bottom:1.25rem; }
.sb-form__row--2 { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.sb-form label { display:block; font-weight:600; margin-bottom:0.4rem; font-size:0.875rem; color:var(--sb-gray-800); }
.sb-form input, .sb-form select, .sb-form textarea {
	width:100%;
	padding:0.85rem 1.1rem;
	border:1.5px solid var(--sb-gray-200);
	border-radius:10px;
	font:inherit;
	background:#fff;
	transition:border-color var(--sb-transition), box-shadow var(--sb-transition);
	color:var(--sb-gray-800);
}
.sb-form input:focus, .sb-form select:focus, .sb-form textarea:focus {
	outline:none;
	border-color:var(--sb-blue);
	box-shadow:0 0 0 3px rgba(6,72,141,0.10);
}
.sb-apply-sidebar, .sb-contact-info {
	background:var(--sb-cream);
	padding:2.25rem 2rem;
	border-radius:var(--sb-radius-xl);
	border:1px solid var(--sb-gray-200);
}
.sb-map, .sb-map--large { border-radius:var(--sb-radius-lg); overflow:hidden; margin-top:1rem; }
.sb-contact-list { list-style:none; padding:0; margin:1.5rem 0; }
.sb-contact-list li { margin-bottom:1rem; }
.sb-contact-actions { display:flex; flex-wrap:wrap; gap:0.75rem; margin-top:1.5rem; }
.sb-cta-banner { text-align:center; color:#fff; }
.sb-cta-banner h2 { margin-top:0; }

/* ─── Testimonials ──────────────────────────────────────── */
.sb-testimonials__grid {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:1.25rem;
	margin-top:2rem;
}
.sb-testimonial {
	background:#fff;
	padding:1.5rem 1.4rem;
	border-radius:var(--sb-radius-xl);
	border:1px solid var(--sb-gray-200);
	margin:0;
	transition:transform 0.2s ease, box-shadow 0.2s ease;
	position:relative;
	display:flex;
	flex-direction:column;
	gap:0.85rem;
}
.sb-testimonial::before {
	content:'"';
	position:absolute;
	top:0.75rem;
	right:1.25rem;
	font-family:var(--sb-font-display);
	font-size:3rem;
	line-height:1;
	color:rgba(6,72,141,0.08);
	pointer-events:none;
}
.sb-testimonial:hover { transform:translateY(-3px); box-shadow:var(--sb-shadow); }
.sb-testimonial__top { display:flex; align-items:center; gap:0.75rem; position:relative; z-index:1; }
.sb-testimonial__avatar {
	width:2.5rem;
	height:2.5rem;
	border-radius:999px;
	background:linear-gradient(135deg, var(--sb-blue) 0%, #0a2a5c 100%);
	color:#fff;
	font-family:var(--sb-font-display);
	font-weight:800;
	font-size:0.95rem;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-shrink:0;
}
.sb-testimonial__stars { color:var(--sb-orange); font-size:0.75rem; letter-spacing:0.05em; margin-bottom:0.15rem; }
.sb-testimonial cite { display:block; font-style:normal; font-weight:700; color:var(--sb-blue); font-size:0.82rem; }
.sb-testimonial p { font-size:0.9rem; line-height:1.72; color:var(--sb-gray-800); margin:0; position:relative; z-index:1; }
.sb-testimonial__photo {
	width: 3rem;
	height: 3rem;
	border-radius: 999px;
	object-fit: cover;
	flex-shrink: 0;
}
.sb-testimonial__course {
	display: inline-block;
	margin-top: 0.2rem;
	padding: 0.12rem 0.5rem;
	border-radius: 999px;
	background: var(--sb-gray-50);
	color: var(--sb-gray-600);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.sb-awards-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
	margin-top: 0.5rem;
}
.sb-award-card {
	background: #fff;
	border: 1px solid var(--sb-gray-200);
	border-radius: var(--sb-radius-xl);
	padding: 1.4rem 1.25rem 1.35rem;
	text-align: center;
	min-height: 100%;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.sb-award-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--sb-shadow);
}
.sb-award-card__logo {
	height: 5.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.85rem;
	background: var(--sb-gray-50);
	border-radius: 12px;
	overflow: hidden;
}
.sb-award-card__logo img {
	max-height: 4.6rem;
	max-width: 86%;
	width: auto;
	object-fit: contain;
}
.sb-award-card__kind {
	margin: 0 0 0.35rem;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sb-orange);
}
.sb-award-card h3 {
	margin: 0 0 0.35rem;
	color: var(--sb-blue);
	font-family: var(--sb-font-display);
	font-size: 1.05rem;
}
.sb-award-card__meta {
	margin: 0 0 0.55rem;
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--sb-gray-600);
}
.sb-award-card p { margin: 0; font-size: 0.88rem; color: var(--sb-gray-600); line-height: 1.5; }
@media (max-width: 900px) {
	.sb-awards-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.sb-awards-grid { grid-template-columns: 1fr; }
}

/* ─── Brochures ─────────────────────────────────────────── */
.sb-brochures__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.sb-brochure-card {
	display:flex; flex-direction:column; align-items:center; gap:0.85rem;
	padding:1.75rem 1.35rem 1.5rem;
	background:#fff;
	border-radius:var(--sb-radius-xl);
	border:1px solid var(--sb-gray-200);
	transition:transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
	color:var(--sb-gray-800);
	text-align:center;
}
.sb-brochure-card__cover-wrap {
	position:relative;
	width:100%;
	max-width:180px;
}
.sb-brochure-card__cover {
	width:100%; height:auto;
	border-radius:var(--sb-radius-lg);
	box-shadow:var(--sb-shadow);
	transition:transform 0.25s ease;
}
.sb-brochure-card__download {
	position:absolute;
	bottom:0.65rem;
	right:0.65rem;
	width:2.25rem;
	height:2.25rem;
	border-radius:999px;
	background:var(--sb-orange);
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	box-shadow:0 2px 8px rgba(249,115,22,0.4);
	opacity:0;
	transform:scale(0.85);
	transition:opacity 0.2s ease, transform 0.2s ease;
}
.sb-brochure-card:hover { transform:translateY(-4px); box-shadow:var(--sb-shadow-lg); color:var(--sb-blue); border-color:rgba(6,72,141,0.15); }
.sb-brochure-card:hover .sb-brochure-card__cover { transform:scale(1.02); }
.sb-brochure-card:hover .sb-brochure-card__download { opacity:1; transform:scale(1); }
.sb-brochure-card__lang { font-size:1.75rem; font-weight:800; color:var(--sb-blue); font-family:var(--sb-font-display); letter-spacing:-0.03em; }
.sb-brochure-card__label { font-size:0.875rem; font-weight:600; color:var(--sb-gray-600); }

/* ─── Accreditation ─────────────────────────────────────── */
.sb-accreditation__inner { text-align:center; max-width:800px; margin:0 auto; }
.sb-accreditation__logos { display:flex; justify-content:center; gap:3rem; flex-wrap:wrap; margin-top:2rem; }
.sb-accreditation__logos img { max-height:56px; width:auto; filter:grayscale(20%) opacity(0.80); transition:filter var(--sb-transition); }
.sb-accreditation__logos img:hover { filter:grayscale(0%) opacity(1); }

/* ─── CTA Final ─────────────────────────────────────────── */
.sb-cta-final {
	position: relative;
	background: linear-gradient(135deg, var(--sb-blue) 0%, #0a3d7a 55%, var(--sb-blue-dark) 100%);
	color: #fff;
	padding: clamp(3.5rem, 6vw, 5rem) 0;
	overflow: hidden;
}

.sb-cta-final::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 55% 80% at 100% 0%, rgba(249, 115, 22, 0.18) 0%, transparent 60%),
		radial-gradient(ellipse 40% 60% at 0% 100%, rgba(255, 255, 255, 0.06) 0%, transparent 55%);
	pointer-events: none;
}

.sb-cta-final::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 5px;
	background: linear-gradient(90deg, var(--sb-orange) 0%, #fbbf24 50%, var(--sb-orange) 100%);
}

.sb-cta-final__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	flex-wrap: wrap;
}

.sb-cta-final__text h2 {
	font-family: var(--sb-font-display);
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	margin: 0 0 0.75rem;
	letter-spacing: -0.025em;
}

.sb-cta-final__text p { margin: 0; opacity: 0.88; max-width: 500px; line-height: 1.68; }
.sb-cta-final__actions { display: flex; flex-wrap: wrap; gap: 1rem; }

/* ─── Footer ────────────────────────────────────────────── */
.sb-footer {
	background: linear-gradient(180deg, #040c1e 0%, #071830 42%, #0b2748 100%);
	color: rgba(255, 255, 255, 0.75);
	padding: clamp(3.5rem, 5vw, 5rem) 0 0;
	border-top: 0;
}

.sb-footer::before {
	content: none;
}
.sb-footer__grid {
	display:grid;
	grid-template-columns:1.5fr 1fr 1fr 1.2fr;
	gap:2.5rem;
	padding-bottom:4rem;
}
.sb-footer h3 { color:rgba(255,255,255,0.95); font-size:0.78rem; margin:0 0 1.1rem; text-transform:uppercase; letter-spacing:0.10em; font-weight:700; }
.sb-footer ul { list-style:none; padding:0; margin:0; }
.sb-footer li { margin-bottom:0.65rem; }
.sb-footer a { color:rgba(255,255,255,0.60); font-size:0.88rem; transition:color var(--sb-transition); }
.sb-footer a:hover { color:rgba(255,255,255,0.95); }
.sb-footer address { font-style:normal; line-height:1.85; font-size:0.88rem; }
.sb-footer__logo-img { max-height:44px; margin-bottom:1.25rem; }
.sb-footer__social { display:flex; gap:0.5rem; flex-wrap:wrap; margin-top:1rem; }
.sb-footer__social-link {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:36px;
	height:36px;
	border-radius:999px;
	background:rgba(255,255,255,0.08);
	color:#fff !important;
	transition:background var(--sb-transition), color var(--sb-transition), transform var(--sb-transition);
}
.sb-footer__social-link:hover {
	background:rgba(255,255,255,0.16);
	color:#fff !important;
	transform:translateY(-1px);
}
.sb-footer__social-link--instagram:hover { background:#c13584; }
.sb-footer__social-link--facebook:hover { background:#1877f2; }
.sb-footer__social-link--youtube:hover { background:#ff0000; }
.sb-footer__bottom {
	border-top:1px solid rgba(255,255,255,0.08);
	padding:1.35rem 0;
	text-align:center;
	font-size:0.80rem;
	color:rgba(255,255,255,0.38);
}

/* ─── Blog index ────────────────────────────────────────── */
.sb-blog-index { padding-top:3rem; padding-bottom:4rem; }
.sb-blog-index__toolbar {
	display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
	gap:0.75rem 1.5rem; margin-bottom:2rem; padding-bottom:1.25rem;
	border-bottom:1px solid var(--sb-gray-200);
}
.sb-blog-index__count { margin:0; font-size:0.92rem; font-weight:600; color:var(--sb-blue); }
.sb-blog-index__hint  { margin:0; font-size:0.875rem; color:var(--sb-gray-600); }

/* ─── Blog grid ─────────────────────────────────────────── */
.sb-blog-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.75rem; }
.sb-blog-grid--index { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sb-blog-grid--3 { grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }

.sb-blog-card {
	background:#fff;
	border-radius:var(--sb-radius-xl);
	overflow:hidden;
	border:1px solid var(--sb-gray-200);
	transition:transform 0.2s ease, box-shadow 0.2s ease;
	height:100%; display:flex; flex-direction:column;
}
.sb-blog-card--featured {
	grid-column:1/-1;
	display:grid;
	grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr);
	min-height:320px;
}
.sb-blog-card__thumb--featured { min-height:100%; aspect-ratio:auto; }
.sb-blog-card__body--featured {
	display:flex; flex-direction:column; justify-content:center;
	padding:2.25rem 2.5rem;
}
.sb-blog-card__label {
	display:inline-block; width:fit-content;
	margin:0 0 0.65rem;
	padding:0.28rem 0.75rem;
	border-radius:999px;
	background:rgba(249,115,22,0.10);
	color:var(--sb-orange);
	font-size:0.68rem; font-weight:800;
	text-transform:uppercase; letter-spacing:0.07em;
}
.sb-blog-card__title--featured { font-size:clamp(1.35rem,2.5vw,1.85rem); }
.sb-blog-card__body--featured .sb-blog-card__excerpt { font-size:1rem; margin-bottom:1.25rem; }
.sb-blog-card__body--featured .sb-btn { width:fit-content; }
.sb-blog-card:hover { transform:translateY(-4px); box-shadow:var(--sb-shadow-lg); }
.sb-blog-card__thumb { display:block; position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--sb-gray-100); }
.sb-blog-card__img { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; border-radius:0; transition:transform 0.4s ease; }
.sb-blog-card:hover .sb-blog-card__img { transform:scale(1.04); }
.sb-blog-card__cat {
	position:absolute; top:0.75rem; left:0.75rem;
	background:var(--sb-orange); color:#fff;
	font-size:0.68rem; font-weight:700;
	padding:0.28rem 0.7rem; border-radius:999px;
	text-transform:uppercase; letter-spacing:0.05em;
}
.sb-blog-card__body { padding:1.5rem 1.6rem 1.75rem; flex:1; display:flex; flex-direction:column; }
.sb-blog-card__excerpt { flex:1; }
.sb-blog-card__meta { font-size:0.78rem; color:var(--sb-gray-400); margin:0 0 0.5rem; }
.sb-blog-card__title { font-family:var(--sb-font-display); font-size:1.15rem; margin:0 0 0.6rem; line-height:1.3; }
.sb-blog-card__title a { color:var(--sb-blue); }
.sb-blog-card__title a:hover { color:var(--sb-orange); }
.sb-blog-card__excerpt { font-size:0.90rem; color:var(--sb-gray-600); margin:0 0 0.75rem; line-height:1.58; }
.sb-blog-card__read { font-size:0.875rem; font-weight:700; color:var(--sb-orange); }
.sb-blog-card__read:hover { color:var(--sb-orange-hover); }

/* ─── Single post ───────────────────────────────────────── */
.sb-post-single__cat { margin:0 0 0.85rem; }
.sb-post-single__cat a {
	display:inline-block; color:#fff;
	background:var(--sb-orange);
	font-weight:700; font-size:0.70rem;
	text-transform:uppercase; letter-spacing:0.07em;
	padding:0.32rem 0.75rem; border-radius:999px;
}
.sb-post-single__cat a:hover { background:var(--sb-orange-hover); color:#fff; }
.sb-post-single__lead {
	font-size:clamp(1rem,1.8vw,1.15rem);
	color:rgba(255,255,255,0.88);
	margin:0 0 1rem;
	max-width:720px;
	line-height:1.65;
}
.sb-post-single__meta { opacity:0.82; margin:0; font-size:0.875rem; }
.sb-post-single__layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:3rem; align-items:start; }
.sb-post-single__content {
	background:#fff;
	border-radius:var(--sb-radius-xl);
	padding:2.25rem 2.5rem;
	border:1px solid var(--sb-gray-200);
}
.sb-post-single__sidebar { position:sticky; top:calc(var(--sb-site-head-h) + var(--sb-admin-bar-h) + 1rem); }
.sb-sidebar-card {
	background:#fff;
	border:1px solid var(--sb-gray-200);
	border-radius:var(--sb-radius-xl);
	padding:1.75rem;
	margin-bottom:1rem;
}
.sb-sidebar-card h3 { margin:0 0 0.75rem; color:var(--sb-blue); font-size:1.05rem; font-family:var(--sb-font-display); }
.sb-sidebar-card p  { font-size:0.875rem; color:var(--sb-gray-600); margin:0 0 1rem; line-height:1.58; }
.sb-sidebar-card .sb-btn { width:100%; justify-content:center; }
.sb-sidebar-links { list-style:none; margin:0; padding:0; }
.sb-sidebar-links li { margin-bottom:0.5rem; padding-bottom:0.5rem; border-bottom:1px solid var(--sb-gray-100); }
.sb-sidebar-links li:last-child { border-bottom:0; margin-bottom:0; padding-bottom:0; }
.sb-sidebar-links a { color:var(--sb-blue); font-weight:600; font-size:0.875rem; }
.sb-sidebar-links a:hover { color:var(--sb-orange); }

/* ─── Pagination ────────────────────────────────────────── */
.sb-pagination { margin-top:3rem; }
.sb-pagination .page-numbers,
.sb-pagination a,
.sb-pagination span {
	display:inline-flex; align-items:center; justify-content:center;
	min-width:2.5rem; height:2.5rem; padding:0 0.75rem;
	border-radius:var(--sb-radius);
	background:#fff; border:1px solid var(--sb-gray-200);
	color:var(--sb-blue); font-weight:600; font-size:0.875rem;
	transition:all var(--sb-transition);
}
.sb-pagination ul { display:flex; gap:0.4rem; flex-wrap:wrap; justify-content:center; list-style:none; margin:0; padding:0; }
.sb-pagination li { margin:0; }
.sb-pagination .current,
.sb-pagination .page-numbers.current { background:var(--sb-blue); color:#fff; border-color:var(--sb-blue); }
.sb-pagination a:hover,
.sb-pagination .page-numbers:hover { background:var(--sb-gray-50); color:var(--sb-orange); border-color:rgba(249,115,22,0.30); }
.sb-pagination .nav-links { display:flex; gap:0.4rem; flex-wrap:wrap; justify-content:center; }

/* ─── Breadcrumbs ───────────────────────────────────────── */
.sb-breadcrumbs { margin-bottom:1.25rem; text-align:left; }
.sb-page-hero .sb-breadcrumbs {
	max-width:none;
	width:100%;
	margin:auto 0 0;
	padding-top:2.5rem;
	text-align:left;
}
.sb-breadcrumbs__list {
	display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start;
	gap:0.35rem 0.5rem; list-style:none; margin:0; padding:0; font-size:0.82rem;
}
.sb-breadcrumbs__item { display:flex; align-items:center; }
.sb-breadcrumbs__item:not(:last-child)::after { content:'›'; margin-left:0.5rem; opacity:0.40; font-size:1rem; line-height:1; }
.sb-breadcrumbs a { color:rgba(255,255,255,0.75); font-weight:500; transition:color var(--sb-transition); }
.sb-breadcrumbs a:hover { color:var(--sb-orange); }
.sb-breadcrumbs span { color:rgba(255,255,255,0.45); }

/* ─── Empty / 404 ───────────────────────────────────────── */
.sb-empty-state {
	text-align:center; padding:3.5rem 2rem;
	background:#fff;
	border-radius:var(--sb-radius-xl);
	border:2px dashed var(--sb-gray-200);
}
.sb-empty-state--404 { max-width:680px; margin:0 auto; }
.sb-empty-state__actions { display:flex; flex-wrap:wrap; gap:0.75rem; justify-content:center; margin-top:1.75rem; }

/* Misc */
.sb-course-hero__content .sb-breadcrumbs,
.sb-post-single__hero-content .sb-breadcrumbs,
.sb-landing-hero--anim .sb-breadcrumbs {
	margin:1.75rem 0 0;
	padding-top:0;
	text-align:left;
	margin-left:0;
	margin-right:0;
	max-width:none;
}
.sb-course-hero__content .sb-breadcrumbs__list,
.sb-post-single__hero-content .sb-breadcrumbs__list { justify-content:flex-start; }
.sb-course-hero__content .sb-breadcrumbs a,
.sb-post-single__hero-content .sb-breadcrumbs a  { color:rgba(255,255,255,0.80); }
.sb-course-hero__content .sb-breadcrumbs span,
.sb-post-single__hero-content .sb-breadcrumbs span { color:rgba(255,255,255,0.50); }
.sb-section__title { font-family:var(--sb-font-display); color:var(--sb-blue); margin-bottom:1.5rem; letter-spacing:-0.02em; }
.sb-stats-section__title { font-family:var(--sb-font-display); color:var(--sb-blue); margin-bottom:2.5rem; }

/* ─── SEO landing pages ─────────────────────────────────── */
.sb-landing-layout { padding:3rem 0 4rem; }
.sb-landing-main { max-width:820px; margin:0 auto; }
.sb-landing-meta { margin-bottom:2rem; }
.sb-landing-prose .sb-landing-section { margin-bottom:2.25rem; }
.sb-landing-prose .sb-landing-section h2 {
	font-family:var(--sb-font-display);
	color:var(--sb-blue);
	font-size:clamp(1.25rem,2.5vw,1.5rem);
	margin:0 0 0.85rem;
}
.sb-landing-hrd {
	background:linear-gradient(135deg, rgba(6,72,141,0.06) 0%, rgba(249,115,22,0.08) 100%);
	border:1px solid rgba(6,72,141,0.15);
	border-radius:var(--sb-radius-xl);
	padding:1.5rem 1.75rem;
	margin:0.5rem 0 1rem;
}
.sb-landing-hrd ul { margin:0.75rem 0 0; padding-left:1.25rem; }
.sb-landing-related {
	margin:2.5rem 0;
	padding:1.75rem;
	background:var(--sb-gray-50);
	border-radius:var(--sb-radius-xl);
	border:1px solid var(--sb-gray-200);
}
.sb-landing-related h2 {
	font-family:var(--sb-font-display);
	font-size:1.15rem;
	color:var(--sb-blue);
	margin:0 0 1rem;
}
.sb-landing-related__grid {
	list-style:none;
	margin:0;
	padding:0;
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
	gap:0.65rem;
}
.sb-landing-related__link {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:0.5rem;
	padding:0.75rem 1rem;
	background:#fff;
	border:1px solid var(--sb-gray-200);
	border-radius:var(--sb-radius);
	color:var(--sb-blue);
	font-weight:600;
	font-size:0.875rem;
	transition:all var(--sb-transition);
}
.sb-landing-related__link:hover {
	border-color:rgba(249,115,22,0.35);
	color:var(--sb-orange);
	box-shadow:var(--sb-shadow);
}

.sb-landing-facts { margin-bottom:2rem; }
.sb-landing-facts__grid {
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:0.75rem;
	list-style:none;
	margin:0;
	padding:0;
}
.sb-landing-facts__item {
	background:#fff;
	border:1px solid var(--sb-gray-200);
	border-radius:var(--sb-radius-lg);
	padding:1.1rem 1rem;
	text-align:center;
	box-shadow:var(--sb-shadow);
}
.sb-landing-facts__value {
	display:block;
	font-family:var(--sb-font-display);
	font-size:1.15rem;
	font-weight:700;
	color:var(--sb-blue);
	line-height:1.2;
	margin-bottom:0.35rem;
}
.sb-landing-facts__label {
	display:block;
	font-size:0.75rem;
	color:var(--sb-gray-500);
	line-height:1.35;
}

.sb-landing-steps { margin:2.5rem 0; }
.sb-landing-steps h2 {
	font-family:var(--sb-font-display);
	color:var(--sb-blue);
	font-size:clamp(1.25rem,2.5vw,1.5rem);
	margin:0 0 1.25rem;
}
.sb-landing-steps__list {
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:1rem;
}
.sb-landing-steps__item {
	display:flex;
	gap:1rem;
	align-items:flex-start;
	background:var(--sb-gray-50);
	border:1px solid var(--sb-gray-200);
	border-radius:var(--sb-radius-lg);
	padding:1.25rem 1.35rem;
}
.sb-landing-steps__num {
	flex-shrink:0;
	width:2rem;
	height:2rem;
	display:flex;
	align-items:center;
	justify-content:center;
	background:var(--sb-orange);
	color:#fff;
	font-weight:800;
	font-size:0.875rem;
	border-radius:999px;
}
.sb-landing-steps__body h3 {
	margin:0 0 0.35rem;
	font-size:1rem;
	color:var(--sb-blue);
	font-family:var(--sb-font-display);
}
.sb-landing-steps__body p {
	margin:0;
	font-size:0.875rem;
	color:var(--sb-gray-600);
	line-height:1.55;
}

.sb-flow {
	--sb-flow-progress: 0;
	position: relative;
}
.sb-flow__spine {
	position: absolute;
	left: 50%;
	top: 3.6rem;
	bottom: 3.6rem;
	width: 3px;
	transform: translateX(-50%);
	background: rgba(6, 72, 141, 0.1);
	border-radius: 999px;
	z-index: 0;
	pointer-events: none;
	overflow: hidden;
}
.sb-flow__spine-fill {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, var(--sb-orange) 0%, #fb923c 100%);
	transform: scaleY(var(--sb-flow-progress));
	transform-origin: top center;
	border-radius: inherit;
	will-change: transform;
}
.sb-flow__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1.15rem;
	position: relative;
	z-index: 1;
}
.sb-flow__item {
	display: grid;
	grid-template-columns: 5rem minmax(0, 1fr) 6.5rem;
	align-items: center;
	gap: 1rem;
	min-height: 7.25rem;
	padding: 0.7rem 1.1rem;
	background: var(--sb-blue-deep);
	color: #fff;
	border-radius: 999px;
	border: 2px solid var(--sb-orange);
	box-shadow: 0 10px 28px rgba(6, 32, 71, 0.12);
	transition:
		transform 0.9s cubic-bezier(0.16, 1, 0.3, 1),
		opacity 0.7s ease,
		box-shadow 0.45s ease,
		border-color 0.45s ease;
}
.sb-flow--ready .sb-flow__item {
	opacity: 0;
	transform: translate3d(-3.25rem, 1.6rem, 0) rotate(-1.6deg) scale(0.94);
}
.sb-flow--ready .sb-flow__item--even {
	transform: translate3d(3.25rem, 1.6rem, 0) rotate(1.6deg) scale(0.94);
}
.sb-flow--ready .sb-flow__item.is-in {
	opacity: 1;
	transform: none;
}
.sb-flow--ready .sb-flow__item.is-current {
	border-color: #fdba74;
	box-shadow:
		0 0 0 3px rgba(249, 115, 22, 0.28),
		0 18px 40px rgba(6, 32, 71, 0.22);
	transform: scale(1.015);
}
.sb-flow__item--even { grid-template-columns: 6.5rem minmax(0, 1fr) 5rem; }
.sb-flow__item--even .sb-flow__num { order: 3; }
.sb-flow__item--even .sb-flow__copy { order: 2; }
.sb-flow__item--even .sb-flow__photo { order: 1; }
.sb-flow__num {
	font-family: var(--sb-font-display);
	font-size: clamp(2.2rem, 5vw, 3.2rem);
	font-weight: 800;
	color: var(--sb-orange);
	text-align: center;
	line-height: 1;
	transition: transform 0.7s cubic-bezier(0.34, 1.4, 0.64, 1), text-shadow 0.4s ease;
}
.sb-flow--ready .sb-flow__num { transform: scale(0.45); }
.sb-flow--ready .sb-flow__item.is-in .sb-flow__num {
	transform: scale(1);
	transition-delay: 0.08s;
}
.sb-flow--ready .sb-flow__item.is-current .sb-flow__num {
	text-shadow: 0 0 22px rgba(249, 115, 22, 0.55);
}
.sb-flow__copy {
	transition: opacity 0.55s ease, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.sb-flow--ready .sb-flow__copy {
	opacity: 0;
	transform: translateY(0.7rem);
}
.sb-flow--ready .sb-flow__item.is-in .sb-flow__copy {
	opacity: 1;
	transform: none;
	transition-delay: 0.14s;
}
.sb-flow__copy h3 {
	margin: 0 0 0.3rem;
	color: var(--sb-orange);
	font-size: 1.05rem;
	font-family: var(--sb-font-display);
}
.sb-flow__copy p {
	margin: 0;
	color: rgba(255,255,255,0.86);
	font-size: 0.88rem;
	line-height: 1.5;
}
.sb-flow__photo {
	width: 5.75rem;
	height: 5.75rem;
	border-radius: 50%;
	overflow: hidden;
	border: 3px solid rgba(255,255,255,0.22);
	background: var(--sb-gray-50);
	transition:
		transform 0.75s cubic-bezier(0.34, 1.45, 0.64, 1),
		border-color 0.4s ease,
		opacity 0.5s ease;
}
.sb-flow--ready .sb-flow__photo {
	opacity: 0;
	transform: scale(0.35);
}
.sb-flow--ready .sb-flow__item.is-in .sb-flow__photo {
	opacity: 1;
	transform: scale(1);
	transition-delay: 0.2s;
}
.sb-flow--ready .sb-flow__item.is-current .sb-flow__photo {
	border-color: #fdba74;
}
.sb-flow__photo img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
}
@media (max-width: 720px) {
	.sb-flow__spine { display: none; }
	.sb-flow--ready .sb-flow__item,
	.sb-flow--ready .sb-flow__item--even {
		transform: translate3d(0, 1.4rem, 0) scale(0.97);
	}
	.sb-flow--ready .sb-flow__item.is-in,
	.sb-flow--ready .sb-flow__item.is-current {
		transform: none;
	}
	.sb-flow__item,
	.sb-flow__item--even {
		grid-template-columns: 1fr;
		border-radius: var(--sb-radius-xl);
		text-align: center;
		padding: 1.2rem 1.1rem 1.35rem;
		min-height: 0;
	}
	.sb-flow__item--even .sb-flow__num,
	.sb-flow__item--even .sb-flow__copy,
	.sb-flow__item--even .sb-flow__photo { order: 0; }
	.sb-flow__photo { margin-inline: auto; }
}

.sb-landing-table-wrap { margin:2.5rem 0; }
.sb-landing-table-wrap h2 {
	font-family:var(--sb-font-display);
	color:var(--sb-blue);
	font-size:clamp(1.25rem,2.5vw,1.5rem);
	margin:0 0 1rem;
}
.sb-landing-table-scroll { overflow-x:auto; }
.sb-landing-table {
	width:100%;
	border-collapse:collapse;
	font-size:0.875rem;
	background:#fff;
	border:1px solid var(--sb-gray-200);
	border-radius:var(--sb-radius-lg);
	overflow:hidden;
}
.sb-landing-table th,
.sb-landing-table td {
	padding:0.75rem 1rem;
	text-align:left;
	border-bottom:1px solid var(--sb-gray-100);
	vertical-align:top;
}
.sb-landing-table th {
	background:var(--sb-blue);
	color:#fff;
	font-weight:600;
	font-size:0.8rem;
}
.sb-landing-table tr:last-child td { border-bottom:0; }
.sb-landing-table tr:nth-child(even) td { background:var(--sb-gray-50); }

.sb-landing-cta__actions {
	display:flex;
	flex-wrap:wrap;
	gap:0.75rem;
	justify-content:center;
	margin-top:0.5rem;
}

@media (max-width:768px) {
	.sb-gallery-carousel__arrow {
		width: 2.35rem;
		height: 2.35rem;
	}
	.sb-gallery-carousel__arrow--prev { left: 0.5rem; }
	.sb-gallery-carousel__arrow--next { right: 0.5rem; }
	.sb-gallery-carousel__viewport { aspect-ratio: 4 / 3; }
}

@media (max-width:768px) {
	.sb-landing-facts__grid { grid-template-columns:repeat(2, 1fr); }
}

@media (max-width:480px) {
	.sb-landing-facts__grid { grid-template-columns:1fr 1fr; }
	.sb-landing-steps__item { flex-direction:column; gap:0.65rem; }
}

/* ─── Responsive ────────────────────────────────────────── */
@media (max-width:992px) {
	.sb-why__grid, .sb-video-section__inner, .sb-tutors__grid,
	.sb-split, .sb-apply-grid, .sb-contact-grid, .sb-course-layout,
	.sb-footer__grid, .sb-intro__grid, .sb-course-grid { grid-template-columns:1fr; }
	.sb-trust-bar__grid { grid-template-columns:repeat(2,1fr); }
	.sb-programme-strip { grid-template-columns:1fr; }
	.sb-testimonials__grid { grid-template-columns:1fr; }
	.sb-brochures__grid { grid-template-columns:1fr; }
	.sb-features { grid-template-columns:1fr 1fr; }
	.sb-course-sidebar { position:static; }
	.sb-intro__card { position:static; margin-top:1.25rem; max-width:none; }
	.sb-blog-grid--index { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.sb-blog-card--featured { grid-template-columns:1fr; }
}

@media (max-width:1180px) {
	:root { --sb-header-h: 56px; }
	.sb-logo__img, .custom-logo { max-height: 36px; }
	.sb-site-head.is-nav-open {
		--header-progress: 1;
		background: #fff;
		border-bottom-color: var(--sb-gray-200);
	}
	.sb-header__inner {
		min-height: var(--sb-header-h);
		height: auto;
		max-height: none;
		overflow: visible;
	}
	.sb-header__bar {
		width: 100%;
		min-height: var(--sb-header-h);
		height: var(--sb-header-h);
	}
	.sb-header__brand { z-index: 2; min-width: 0; max-width: calc(100% - 3.5rem); }
	.sb-logo { max-width: 100%; }
	.sb-logo__img, .custom-logo { max-width: 100%; height: auto; }
	.sb-nav__burger {
		display: flex;
		margin-left: auto;
		z-index: 40;
	}
	.sb-header:has(.sb-nav__flyout) .sb-nav,
	.sb-nav {
		position: fixed;
		top: calc(var(--sb-site-head-h) + var(--sb-admin-bar-h));
		left: 0;
		right: 0;
		width: 100%;
		max-height: calc(100svh - var(--sb-site-head-h) - var(--sb-admin-bar-h));
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		background: #fff;
		padding: 1.25rem;
		box-shadow: var(--sb-shadow-lg);
		border-top: 1px solid var(--sb-gray-200);
		transform: none;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity var(--sb-transition), visibility var(--sb-transition);
		flex: none;
		justify-content: flex-start;
		z-index: 4000;
	}
	.sb-nav.is-open {
		transform: none;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
	.sb-nav { flex-direction:column; align-items:stretch; }
	.sb-nav__list { flex-direction:column; flex-wrap:nowrap; align-items:stretch; gap:0.15rem; }
	.sb-nav__list > li { display:block; }
	.sb-nav__list > li > a { white-space:normal; font-size:0.95rem; padding:0.7rem 0.85rem; }
	.sb-nav__list a { color:var(--sb-gray-800) !important; }
	.sb-nav__list a.sb-cta,
	.sb-nav__list a.sb-nav__cta {
		color:#fff !important;
		background:var(--sb-orange) !important;
		text-align:center;
		justify-content:center;
		margin:0.75rem 0 0;
	}
	.sb-nav__list > li.menu-item-has-children > a::after { display:none; }
	.sb-nav__submenu {
		position:static; opacity:0; visibility:hidden;
		max-height:0; overflow:hidden;
		transform:none; box-shadow:none;
		background:transparent; border:none;
		padding:0 0 0 1rem; margin:0;
		transition:max-height var(--sb-transition), opacity var(--sb-transition);
	}
	.sb-nav__list li.is-submenu-open > .sb-nav__submenu,
	.sb-nav__list li:focus-within > .sb-nav__submenu { opacity:1; visibility:visible; max-height:20rem; }
	.sb-nav__flyout {
		left: 0; right: 0; width: auto;
		transform: none;
		max-height: 0;
	}
	.sb-nav__list li.is-submenu-open > .sb-nav__flyout,
	.sb-nav__list li:focus-within > .sb-nav__flyout {
		max-height: 70vh;
		overflow: auto;
	}
	.sb-nav__flyout-panel {
		padding: 0.75rem 0 0.25rem;
		border: 0;
		box-shadow: none;
		background: transparent;
	}
	.sb-nav__flyout-head {
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: 0.5rem;
		padding-bottom: 0.5rem;
	}
	.sb-nav__flyout-compact { grid-template-columns: 1fr; gap: 0.55rem; }
	.sb-nav__flyout-feature { display: none; }
	.sb-nav__flyout-list { grid-template-columns: 1fr; }
	.sb-nav__flyout-brief { -webkit-line-clamp: 2; }
}

@media (max-width:768px) {
	.sb-topbar__inner > span { display: none; }
	.sb-topbar__inner { justify-content: flex-end; }
	.sb-form__row--2 { grid-template-columns:1fr; }
	.sb-hero:not(.sb-hero--cover) {
		min-height: auto;
		margin-top: var(--sb-admin-bar-h);
	}
	.sb-hero:not(.sb-hero--cover) .sb-hero__slider {
		min-height: auto;
	}
	.sb-hero--cover,
	.sb-hero--cover .sb-hero__slider,
	.sb-hero--cover .sb-hero__slide {
		min-height: max(34rem, 100svh);
		height: auto;
	}
	.sb-hero--cover .sb-hero__overlay {
		justify-content: flex-end;
		padding-top: calc(var(--sb-site-head-h) + 2.75rem);
		padding-bottom: 5.75rem;
		gap: 0.7rem;
	}
	.sb-hero--cover .sb-hero__title {
		max-width: none;
		font-size: clamp(1.55rem, 7vw, 2.05rem);
		margin-bottom: 0.55rem;
	}
	.sb-hero--cover .sb-hero__desc {
		font-size: 0.9rem;
		margin-bottom: 0.35rem;
	}
	.sb-hero__slide {
		position: relative;
		inset: auto;
		display: none;
		opacity: 1;
		visibility: visible;
	}
	.sb-hero__slide.is-active {
		display: block;
		z-index: 1;
	}
	.sb-hero__layout {
		grid-template-columns: 1fr;
		min-height: auto;
		padding-top: calc(var(--sb-site-head-h) + 1.25rem);
		padding-bottom: 4.5rem;
		gap: 1.25rem;
	}
	.sb-hero__slide--text-right .sb-hero__content,
	.sb-hero__slide--text-right .sb-hero__visual {
		grid-column: auto;
		grid-row: auto;
	}
	.sb-hero__content {
		max-width: none;
		padding: 0;
		order: 1;
	}
	.sb-hero__visual {
		order: 2;
		width: 100%;
	}
	.sb-hero__photo-card {
		width: 100%;
	}
	.sb-hero__title {
		font-size: clamp(1.85rem, 7.5vw, 2.35rem);
		margin-bottom: 1rem;
	}
	.sb-hero__desc {
		font-size: 0.95rem;
		margin-bottom: 1.5rem;
		max-width: none;
	}
	.sb-hero__actions {
		flex-direction: column;
		align-items: stretch;
		gap: 0.5rem;
		width: min(100%, 16.5rem);
	}
	.sb-hero__actions .sb-btn,
	.sb-hero--cover .sb-hero__actions .sb-btn--lg {
		justify-content: center;
		width: 100%;
		padding: 0.62rem 1.1rem;
		font-size: 0.86rem;
	}
	.sb-hero__nav {
		bottom: 1rem;
		gap: 0.65rem;
	}
	.sb-hero__prev,
	.sb-hero__next {
		width: 36px;
		height: 36px;
		font-size: 1.1rem;
	}
	.sb-trust-bar__grid { grid-template-columns:1fr 1fr; }
	.sb-cta-final__inner { flex-direction:column; text-align:center; }
	.sb-cta-final__actions { justify-content:center; width:100%; }
	.sb-features { grid-template-columns:1fr; }
	.sb-section { padding:3.5rem 0; }
	.sb-post-single__layout { grid-template-columns:1fr; }
	.sb-post-single__sidebar { position:static; }
	.sb-post-single__content { padding:1.75rem 1.5rem; }
	.sb-blog-grid,
	.sb-blog-grid--index { grid-template-columns:1fr; }
	.sb-page-hero .sb-breadcrumbs { text-align:left; }
}

@media (max-width:480px) {
	.sb-hero__layout {
		padding-bottom: 4.25rem;
	}
	.sb-hero__photo-frame {
		min-height: clamp(240px, 52vw, 320px);
	}
	.sb-hero__title {
		font-size: clamp(1.65rem, 8vw, 2rem);
	}
	.sb-trust-bar__grid { grid-template-columns:1fr; }
	.sb-intro__programmes { grid-template-columns:1fr; }
	.sb-footer__grid { grid-template-columns:1fr; }
}

/* Full-viewport cover hero */
.sb-hero--cover,
.sb-hero--cover .sb-hero__slider {
	width: 100%;
	min-height: 100svh;
	margin-top: 0;
}
@media (min-width: 769px) {
	.sb-hero--cover,
	.sb-hero--cover .sb-hero__slider {
		height: 100svh;
		min-height: 100vh;
	}
}
.sb-hero--cover .sb-hero__slide {
	position: absolute;
	inset: 0;
}
.sb-hero--cover .sb-hero__bg,
.sb-hero--cover .sb-hero__bg picture,
.sb-hero--cover .sb-hero__bg-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.sb-hero--cover .sb-hero__bg-img {
	object-fit: cover;
	object-position: center;
}
.sb-hero--cover .sb-hero__shade {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(90deg, rgba(7, 18, 48, 0.78) 0%, rgba(7, 18, 48, 0.42) 58%, rgba(7, 18, 48, 0.22) 100%),
		linear-gradient(180deg, rgba(7, 18, 48, 0.35) 0%, transparent 28%, rgba(7, 18, 48, 0.45) 100%);
}
.sb-hero--cover::before { display: none; }
.sb-hero--cover .sb-hero__overlay {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	height: 100%;
	width: 100%;
	max-width: var(--sb-max-w);
	box-sizing: border-box;
	padding-inline: var(--sb-gutter);
	padding-top: calc(var(--sb-site-head-h) + 1.5rem);
	padding-bottom: 5rem;
	margin-inline: auto;
}
.sb-hero--cover .sb-hero__kicker {
	display: inline-block;
	margin: 0 0 0.85rem;
	padding: 0.35rem 0.9rem;
	border-radius: 999px;
	background: rgba(249, 115, 22, 0.18);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	width: fit-content;
}
.sb-hero--cover .sb-hero__title { max-width: 16ch; }
.sb-hero--cover .sb-hero__desc { max-width: 36rem; color: rgba(255,255,255,0.88); }

/* Side social dock */
.sb-float-dock {
	position: fixed;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1200;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}
.sb-float-dock__btn {
	width: 48px;
	height: 48px;
	border-radius: 999px;
	border: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: #111;
	box-shadow: 0 8px 20px rgba(0,0,0,0.18);
	cursor: pointer;
	text-decoration: none;
}
.sb-float-dock__btn--ig { background: #c13584; }
.sb-float-dock__btn--wx { background: #07c160; flex-direction: column; height: auto; min-height: 48px; padding: 0.45rem 0.35rem; width: 52px; }
.sb-float-dock__label { font-size: 0.58rem; font-weight: 800; line-height: 1.1; margin-top: 0.15rem; color: #fff; }
.sb-wechat-modal,
.sb-video-modal {
	position: fixed;
	inset: 0;
	z-index: 2000;
}
.sb-wechat-modal__backdrop,
.sb-video-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(7, 18, 48, 0.62);
}
.sb-wechat-modal__panel,
.sb-video-modal__panel {
	position: relative;
	z-index: 1;
	width: min(520px, calc(100vw - 2rem));
	margin: 12vh auto 0;
	background: #fff;
	border-radius: var(--sb-radius-lg);
	padding: 1.5rem 1.4rem 1.6rem;
	box-shadow: var(--sb-shadow-lg);
}
.sb-video-modal__panel { width: min(860px, calc(100vw - 2rem)); padding: 0.75rem; }
.sb-wechat-modal__close,
.sb-video-modal__close {
	position: absolute;
	top: 0.5rem;
	right: 0.6rem;
	border: 0;
	background: transparent;
	font-size: 1.6rem;
	line-height: 1;
	cursor: pointer;
}
.sb-wechat-modal__qr { display: block; width: 220px; height: 220px; object-fit: contain; margin: 0.75rem auto; }
.sb-wechat-modal__id { text-align: center; }
.sb-video-modal__frame { position: relative; aspect-ratio: 16/9; background: #000; }
.sb-video-modal__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.sb-jump-nav { background: var(--sb-gray-50); border-bottom: 1px solid var(--sb-gray-200); }
.sb-jump-nav__inner { display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; padding: 0.85rem 0; font-weight: 700; }
.sb-cards { display: grid; gap: 1.25rem; }
.sb-cards--2 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.sb-cards--3 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.sb-cards--4 { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.sb-table-wrap { overflow-x: auto; margin: 1.5rem 0; }
.sb-table { width: 100%; border-collapse: collapse; font-size: 0.92rem; }
.sb-table th, .sb-table td { border: 1px solid var(--sb-gray-200); padding: 0.7rem 0.8rem; text-align: left; }
.sb-table th { background: var(--sb-gray-50); color: var(--sb-blue); }
.sb-price { font-size: 1.35rem; font-weight: 800; color: var(--sb-blue); margin: 0.35rem 0; }
.sb-download-row { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1rem; }
.sb-awards-frame { margin: 1.5rem 0 2rem; border: 1px solid var(--sb-gray-200); border-radius: var(--sb-radius-lg); overflow: hidden; background: #fff; }
.sb-awards-frame img { display: block; width: 100%; height: auto; }
.sb-timeline { list-style: none; padding: 0; margin: 0; max-width: 720px; }
.sb-timeline li { padding: 0 0 1.5rem 1.25rem; border-left: 3px solid var(--sb-orange); }
.sb-timeline strong { display: block; color: var(--sb-blue); margin-bottom: 0.35rem; }
.sb-steps-ol { padding-left: 1.2rem; }
.sb-steps-ol li { margin-bottom: 0.65rem; }
.sb-form-success { background: #ecfdf3; border: 1px solid #bbf7d0; padding: 0.75rem 1rem; border-radius: 10px; }
.sb-share { margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--sb-gray-200); }
.sb-share__list { display: flex; flex-wrap: wrap; gap: 0.5rem 0.85rem; list-style: none; margin: 0.4rem 0 0; padding: 0; }
.sb-share__list a, .sb-share__wechat { font-weight: 700; color: var(--sb-blue); background: none; border: 0; padding: 0; cursor: pointer; font: inherit; }
@media (max-width: 768px) {
	.sb-float-dock { top: auto; bottom: 6.5rem; transform: none; }
	.sb-hero--cover .sb-hero__overlay { margin-inline: auto; }
}

/* ─── Course grid 6 ─────────────────────────────────────── */
.sb-course-grid--6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* ─── Why Choose tabs ───────────────────────────────────── */
.sb-why-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.55rem;
	padding: 0;
	margin: 0 auto 2rem;
	max-width: 56rem;
	background: transparent;
	border: 0;
}
.sb-why-tabs__tab {
	appearance: none;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	border: 1px solid rgba(6, 72, 141, 0.10);
	background: #fff;
	color: var(--sb-blue);
	font: inherit;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 0.42rem 0.85rem 0.42rem 0.42rem;
	border-radius: 999px;
	cursor: pointer;
	position: relative;
	box-shadow: 0 6px 18px rgba(7, 18, 48, 0.04);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}
.sb-why-tabs__dot {
	width: 1.85rem;
	height: 1.85rem;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: radial-gradient(circle at 30% 25%, #fff7ed, rgba(249, 115, 22, 0.16));
	color: var(--sb-orange);
	flex-shrink: 0;
}
.sb-why-tabs__dot svg { width: 0.95rem; height: 0.95rem; }
.sb-why-tabs__tab:hover {
	transform: translateY(-2px);
	border-color: rgba(249, 115, 22, 0.35);
	box-shadow: 0 10px 22px rgba(6, 72, 141, 0.10);
}
.sb-why-tabs__tab.is-active {
	color: #fff;
	border-color: transparent;
	background: linear-gradient(135deg, #fb923c 0%, #f97316 42%, #ea580c 100%);
	box-shadow: 0 10px 24px rgba(249, 115, 22, 0.32);
}
.sb-why-tabs__tab.is-active .sb-why-tabs__dot {
	background: radial-gradient(circle at 30% 25%, #fff, rgba(255, 255, 255, 0.82));
	color: #ea580c;
}
.sb-why-tabs__stage {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
}
.sb-why-tabs__panel {
	grid-area: 1 / 1;
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 0;
	align-items: stretch;
	min-height: 22rem;
	background: #fff;
	border: 1px solid var(--sb-gray-200);
	border-radius: var(--sb-radius-xl);
	overflow: hidden;
	padding: 0;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	z-index: 0;
}
.sb-why-tabs__panel.is-active {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
	z-index: 1;
}
.sb-why-tabs__media {
	position: relative;
	min-height: 22rem;
	height: 100%;
	overflow: hidden;
	background: var(--sb-gray-50);
}
.sb-why-tabs__media img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
}
.sb-why-tabs__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 2.25rem 2rem;
	min-height: 22rem;
}
.sb-why-tabs__icon {
	width: 3rem;
	height: 3rem;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(249, 115, 22, 0.12);
	color: var(--sb-orange);
	margin-bottom: 1rem;
}
.sb-why-tabs__copy h3 {
	margin: 0 0 0.75rem;
	font-family: var(--sb-font-display);
	color: var(--sb-blue);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.sb-why-tabs__copy p { margin: 0; color: var(--sb-gray-600); line-height: 1.7; }

/* ─── Mission portraits ─────────────────────────────────── */
.sb-mission {
	position: relative;
	min-height: clamp(420px, 58vh, 620px);
	display: flex;
	align-items: center;
	overflow: hidden;
}
.sb-mission__portraits {
	position: absolute;
	inset: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}
.sb-mission__portraits img {
	width: 100%;
	height: 100%;
	min-height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	filter: grayscale(0.15) saturate(0.85);
	border-radius: 0;
}
.sb-mission__veil {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0.78) 55%, rgba(255,255,255,0.88) 100%);
}
.sb-mission__copy {
	position: relative;
	z-index: 1;
	text-align: center;
	max-width: 40rem;
	margin-inline: auto;
}
.sb-mission__copy h2 {
	font-family: var(--sb-font-display);
	font-size: clamp(2.4rem, 6vw, 4.2rem);
	letter-spacing: -0.04em;
	color: #111;
	margin: 0 0 1rem;
	text-transform: lowercase;
}
.sb-mission__copy p { margin: 0 0 0.75rem; color: #222; font-size: 1.05rem; line-height: 1.7; }

.sb-timeline-split {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 3rem;
	align-items: stretch;
}
.sb-timeline-split__media {
	position: relative;
	overflow: hidden;
	border-radius: var(--sb-radius-xl);
	min-height: 0;
	height: auto;
	max-height: none;
	align-self: stretch;
	background: var(--sb-gray-50);
}
.sb-timeline-split__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
}

/* ─── Awards slider ─────────────────────────────────────── */
.sb-awards-slider {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-template-rows: auto auto;
	align-items: stretch;
	gap: 0.75rem;
}
.sb-awards-slider__dots { grid-column: 1 / -1; }
.sb-awards-slider__track { min-height: 280px; }
.sb-awards-slider__item { display: none; }
.sb-awards-slider__item.is-active { display: block; }
.sb-awards-slider__arrow {
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 999px;
	border: 1px solid var(--sb-gray-200);
	background: #fff;
	align-self: center;
	cursor: pointer;
}
.sb-awards-slider__dots {
	display: flex;
	justify-content: center;
	gap: 0.4rem;
	margin-top: 1rem;
}
.sb-awards-slider__dot {
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 999px;
	border: 0;
	background: var(--sb-gray-200);
	cursor: pointer;
}
.sb-awards-slider__dot.is-active { background: var(--sb-orange); width: 1.4rem; }

/* ─── Bigger reviews ────────────────────────────────────── */
.sb-testimonials--lg .sb-testimonials__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.6rem;
}
.sb-testimonials--lg .sb-testimonial {
	padding: 2.1rem 1.85rem 1.9rem;
	gap: 1.15rem;
	min-height: 100%;
}
.sb-testimonials--lg .sb-testimonial::before { font-size: 5rem; top: 0.4rem; right: 1.1rem; }
.sb-testimonials--lg .sb-testimonial p { font-size: 1.08rem; line-height: 1.75; }
.sb-testimonials--lg .sb-testimonial cite { font-size: 1rem; }
.sb-testimonials--lg .sb-testimonial__photo,
.sb-testimonials--lg .sb-testimonial__avatar {
	width: 5.5rem;
	height: 5.5rem;
}
.sb-testimonials--lg .sb-testimonial__stars { font-size: 0.95rem; }

/* ─── Student life hub / albums / jobs ──────────────────── */
.sb-life-hub {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}
.sb-life-hub__card {
	background: #fff;
	border: 1px solid var(--sb-gray-200);
	border-radius: var(--sb-radius-xl);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	min-height: 100%;
}
.sb-life-hub__media {
	display: block;
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--sb-gray-50);
}
.sb-life-hub__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
}
.sb-life-hub__body { padding: 1.15rem 1.2rem 1.35rem; flex: 1; }
.sb-life-hub__body h2 { margin: 0 0 0.4rem; font-size: 1.2rem; font-family: var(--sb-font-display); color: var(--sb-blue); }
.sb-life-hub__body p { margin: 0 0 0.75rem; color: var(--sb-gray-600); }

.sb-albums {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.35rem;
}
.sb-album {
	background: #fff;
	border: 1px solid var(--sb-gray-200);
	border-radius: var(--sb-radius-xl);
	overflow: hidden;
}
.sb-album__media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--sb-gray-50);
}
.sb-album__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
}
.sb-album__date {
	position: absolute;
	left: 0.85rem;
	bottom: 0.85rem;
	background: #fff;
	color: var(--sb-blue);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 0.35rem 0.65rem;
	border-radius: 999px;
}
.sb-album__body { padding: 1.1rem 1.2rem 1.3rem; }
.sb-album__body h3 { margin: 0 0 0.4rem; font-family: var(--sb-font-display); }
.sb-album-single__cover {
	display: block;
	width: 100%;
	height: 420px;
	max-width: none;
	object-fit: cover;
	object-position: center;
	border-radius: var(--sb-radius-xl);
	margin-bottom: 1.5rem;
}

.sb-gallery-posts__main { position: relative; }
.sb-gallery-posts__viewport { position: relative; }
.sb-gallery-posts__slide {
	margin: 0;
	overflow: visible;
	background: transparent;
}
.sb-gallery-posts__slide img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 8;
	height: auto;
	max-width: none;
	object-fit: cover;
	object-position: center;
	border-radius: var(--sb-radius-xl);
}
.sb-gallery-posts__slide figcaption {
	max-width: 40rem;
	margin: 1.25rem auto 0;
	text-align: center;
}
.sb-gallery-posts__slide h2 {
	margin: 0 0 0.4rem;
	font-family: var(--sb-font-display);
	color: var(--sb-blue);
}
.sb-gallery-posts__dots { display: flex; justify-content: center; gap: 0.4rem; margin-top: 1rem; }
.sb-gallery-posts__dot {
	width: 0.55rem; height: 0.55rem; border-radius: 999px; border: 0; background: var(--sb-gray-200); cursor: pointer;
}
.sb-gallery-posts__dot.is-active { background: var(--sb-orange); width: 1.4rem; }

.sb-jobs { display: grid; gap: 1.25rem; }
.sb-job {
	background: #fff;
	border: 1px solid var(--sb-gray-200);
	border-radius: var(--sb-radius-xl);
	padding: 1.6rem 1.5rem;
}
.sb-job__head h3 { margin: 0 0 0.45rem; font-family: var(--sb-font-display); color: var(--sb-blue); }
.sb-job__meta { list-style: none; display: flex; flex-wrap: wrap; gap: 0.45rem 1rem; padding: 0; margin: 0 0 1rem; color: var(--sb-gray-600); font-size: 0.88rem; font-weight: 700; }

/* ─── Landing video + animated heroes ───────────────────── */
.sb-landing-video { margin: 0 0 2rem; }
.sb-landing-video h2 {
	font-family: var(--sb-font-display);
	color: var(--sb-blue);
	margin: 0 0 1rem;
}
.sb-landing-video__player {
	position: relative;
	aspect-ratio: 16 / 9;
	background-size: cover;
	background-position: center;
	border-radius: var(--sb-radius-xl);
	overflow: hidden;
}
.sb-landing-hero--anim {
	position: relative;
	overflow: hidden;
	background: var(--sb-blue-deep);
	min-height: clamp(520px, 64vh, 780px);
	align-items: stretch;
}
.sb-landing-hero--anim .sb-course-hero__img { display: none; }
.sb-landing-hero--anim .sb-course-hero__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex: 1;
	width: 100%;
	padding-top: calc(var(--sb-site-head-h) + var(--sb-admin-bar-h) + 3.5rem);
	padding-bottom: 1.75rem;
}
.sb-landing-hero--anim .sb-breadcrumbs {
	margin-top: auto;
	padding-top: 2.25rem;
}

.sb-page-hero__orb {
	position: absolute;
	pointer-events: none;
	z-index: 0;
	border-radius: 50%;
	filter: blur(8px);
	will-change: transform;
	transform: translateZ(0);
}
.sb-page-hero__orb--a {
	width: 26rem; height: 26rem; top: -8rem; right: -6rem;
	background: radial-gradient(circle, rgba(249,115,22,0.42) 0%, rgba(249,115,22,0.08) 48%, transparent 72%);
	animation: sb-orb-a 12s ease-in-out infinite;
}
.sb-page-hero__orb--b {
	width: 20rem; height: 20rem; bottom: -7rem; left: 4%;
	background: radial-gradient(circle, rgba(255,255,255,0.16) 0%, rgba(255,255,255,0.04) 50%, transparent 72%);
	animation: sb-orb-b 15s ease-in-out infinite;
}
.sb-page-hero__orb--c {
	width: 12rem; height: 12rem; top: 28%; left: 38%;
	background: radial-gradient(circle, rgba(56,189,248,0.22) 0%, transparent 70%);
	animation: sb-orb-c 9s ease-in-out infinite;
}
.sb-page-hero__orb--d {
	width: 16rem; height: 16rem; top: 8%; left: -4rem;
	background: radial-gradient(circle, rgba(6,72,141,0.55) 0%, transparent 70%);
	animation: sb-orb-d 14s ease-in-out infinite;
}
.sb-page-hero__orb--e {
	width: 10rem; height: 10rem; bottom: 18%; right: 18%;
	background: radial-gradient(circle, rgba(253,186,116,0.32) 0%, transparent 70%);
	animation: sb-orb-e 10s ease-in-out infinite;
}
@keyframes sb-orb-a {
	0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
	25% { transform: translate3d(-90px, 70px, 0) scale(1.15); }
	50% { transform: translate3d(-40px, 120px, 0) scale(0.88); }
	75% { transform: translate3d(50px, 30px, 0) scale(1.2); }
}
@keyframes sb-orb-b {
	0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
	33% { transform: translate3d(80px, -60px, 0) scale(1.18); }
	66% { transform: translate3d(30px, 70px, 0) scale(0.9); }
}
@keyframes sb-orb-c {
	0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
	25% { transform: translate3d(70px, -50px, 0) scale(1.25); }
	50% { transform: translate3d(-40px, -80px, 0) scale(0.85); }
	75% { transform: translate3d(-70px, 40px, 0) scale(1.15); }
}
@keyframes sb-orb-d {
	0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
	50% { transform: translate3d(110px, 80px, 0) scale(1.22); }
}
@keyframes sb-orb-e {
	0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
	25% { transform: translate3d(-60px, -70px, 0) scale(1.3); }
	50% { transform: translate3d(40px, -30px, 0) scale(0.8); }
	75% { transform: translate3d(70px, 50px, 0) scale(1.2); }
}

/* Photos fill the parent box. Radius lives on the box, not a second shrink on the photo. */
.sb-life-hub__media img,
.sb-album__media img,
.sb-course-card__media img,
.sb-course-card__thumb img,
.sb-why-tabs__media img,
.sb-timeline-split__media img,
.sb-value__photo img,
.sb-community-slider__item img,
.sb-flow__photo img,
.sb-impact__media img,
.sb-residence__shot img,
.sb-split__media img,
.sb-nav__flyout-feature img,
.sb-gallery-carousel__img,
.sb-gallery-carousel__thumb img,
.sb-gallery__img,
.sb-intro__img,
.sb-mission__portraits img,
.sb-team-card__img,
.sb-blog-card__img,
.sb-hero__photo-frame img,
.sb-hero--cover .sb-hero__bg-img,
.sb-course-hero__img,
.sb-post-single__hero-img {
	max-width: none;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
}
.sb-video-section__player,
.sb-landing-video__player,
.sb-gallery-carousel__main,
.sb-album-single__cover {
	border-radius: var(--sb-radius-xl);
	overflow: hidden;
}
.sb-logo__img,
.custom-logo,
.sb-footer__logo-img,
.sb-testimonial__photo { border-radius: 999px; }

@media (max-width: 992px) {
	.sb-course-grid--6,
	.sb-why-tabs__panel,
	.sb-timeline-split,
	.sb-life-hub,
	.sb-albums,
	.sb-mission__portraits { grid-template-columns: 1fr 1fr; }
	.sb-why-tabs__copy { padding: 1.5rem; min-height: 16rem; }
	.sb-why-tabs__media,
	.sb-why-tabs__media img { min-height: 16rem; }
	.sb-testimonials--lg .sb-testimonials__grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.sb-course-grid--6,
	.sb-life-hub,
	.sb-albums,
	.sb-mission__portraits { grid-template-columns: 1fr; }
	.sb-why-tabs__panel { grid-template-columns: 1fr; }
	.sb-why-tabs__tab { font-size: 0.66rem; padding: 0.32rem 0.7rem 0.32rem 0.32rem; }
}

@media (min-width: 769px) {
	.sb-page-hero {
		min-height: clamp(300px, 36vh, 420px);
		padding: 2rem 0 1.15rem;
	}
	.sb-main--hero .sb-page-hero {
		padding-top: calc(var(--sb-site-head-h) + var(--sb-admin-bar-h) + 2rem);
		min-height: clamp(340px, 40vh, 460px);
	}
	.sb-page-hero .sb-breadcrumbs { padding-top: 1.5rem; }
	.sb-landing-hero--anim {
		min-height: clamp(340px, 40vh, 460px);
	}
	.sb-landing-hero--anim .sb-course-hero__content {
		padding-top: calc(var(--sb-site-head-h) + var(--sb-admin-bar-h) + 2rem);
		padding-bottom: 1.25rem;
	}
	.sb-landing-hero--anim .sb-breadcrumbs { padding-top: 1.35rem; }
	.sb-course-hero,
	.sb-post-single__hero {
		min-height: clamp(360px, 44vh, 500px);
	}
	.sb-course-hero__content,
	.sb-post-single__hero-content {
		padding-block: 4rem 2.25rem;
	}
}

.sb-downloads { margin: 2.25rem 0 0.5rem; }
.sb-downloads__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}
.sb-downloads__actions--center {
	justify-content: center;
}

.sb-community-slider {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.75rem;
}
.sb-community-slider__track {
	position: relative;
	aspect-ratio: 16 / 8;
	border-radius: var(--sb-radius-xl);
	overflow: hidden;
	background: var(--sb-gray-50);
}
.sb-community-slider__item {
	display: none;
	position: absolute;
	inset: 0;
	margin: 0;
}
.sb-community-slider__item.is-active { display: block; }
.sb-community-slider__item img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
}
.sb-community-slider__arrow {
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 999px;
	border: 1px solid var(--sb-gray-200);
	background: #fff;
	cursor: pointer;
	font-size: 1.5rem;
	line-height: 1;
}
.sb-community-slider__dots {
	grid-column: 1 / -1;
	display: flex;
	justify-content: center;
	gap: 0.4rem;
}
.sb-community-slider__dot {
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 999px;
	border: 0;
	background: var(--sb-gray-200);
	cursor: pointer;
}
.sb-community-slider__dot.is-active { background: var(--sb-orange); width: 1.4rem; }
.sb-community-downloads { text-align: center; margin-top: 2rem; }
.sb-community-downloads h3 {
	font-family: var(--sb-font-display);
	color: var(--sb-blue);
	margin: 0.35rem 0 1rem;
}

.sb-impact__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 3rem;
	align-items: center;
}
.sb-impact__row--flip .sb-impact__media { order: 2; }
.sb-impact__row--flip .sb-impact__copy { order: 1; }
.sb-impact__media {
	position: relative;
	overflow: hidden;
	border-radius: var(--sb-radius-xl);
	min-height: 16rem;
	aspect-ratio: 4 / 3;
	background: var(--sb-gray-50);
}
.sb-impact__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
}
.sb-impact__copy h2 {
	font-family: var(--sb-font-display);
	color: var(--sb-blue);
	letter-spacing: -0.02em;
	margin: 0 0 0.85rem;
}
.sb-impact__copy p { margin: 0 0 0.85rem; color: var(--sb-gray-800); line-height: 1.7; }
.sb-impact__cta { text-align: left; }
.sb-impact__cta h2 {
	font-family: var(--sb-font-display);
	color: var(--sb-blue);
	margin: 0 0 0.5rem;
}
.sb-first-day { margin: 0 0 1rem; padding-left: 1.15rem; }
.sb-first-day li { margin-bottom: 0.45rem; }

.sb-residence { padding-top: 2.25rem; }
.sb-residence__lead { max-width: 46rem; color: var(--sb-gray-800); line-height: 1.7; }
.sb-residence__note { font-size: 0.9rem; color: var(--sb-gray-600); margin: 0.35rem 0 0; }
.sb-residence__photos {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
	margin: 1.25rem 0 0.75rem;
}
.sb-residence__shot {
	position: relative;
	margin: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: var(--sb-radius-xl);
	background: var(--sb-gray-50);
}
.sb-residence__shot img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
}
.sb-room-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1.25rem;
}
.sb-room { padding: 1.35rem 1.4rem; }

@media (max-width: 900px) {
	.sb-impact__row,
	.sb-impact__row--flip { grid-template-columns: 1fr; }
	.sb-impact__row--flip .sb-impact__media,
	.sb-impact__row--flip .sb-impact__copy { order: 0; }
	.sb-residence__photos,
	.sb-room-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion:reduce) {
	*, *::before, *::after {
		animation-duration:0.01ms !important;
		animation-iteration-count:1 !important;
		transition-duration:0.01ms !important;
	}
	.sb-page-hero__orb {
		animation-duration: 22s !important;
		animation-iteration-count: infinite !important;
	}
	.sb-flow--ready .sb-flow__item,
	.sb-flow--ready .sb-flow__item--even,
	.sb-flow--ready .sb-flow__num,
	.sb-flow--ready .sb-flow__copy,
	.sb-flow--ready .sb-flow__photo {
		opacity: 1;
		transform: none;
	}
	.sb-flow__spine-fill { transform: scaleY(1); }
}
