/* ==========================================================================
   Top English — base tokens & reset
   ========================================================================== */
:root {
	--te-navy: #0b2545;
	--te-navy-dark: #0b1526;
	--te-navy-deep: #02215d;
	--te-blue: #3aa0ff;
	--te-blue-dark: #2e7dd1;
	--te-blue-light: #51abff;
	--te-text-gray: #5b6b7e;
	--te-text-gray2: #4a5b73;
	--te-bg-light: #f4f7fa;
	--te-bg-light2: #eff3f7;
	--te-border: #e6ebf1;
	--te-sticky-h: 92px;
	--te-container: 1920px;
	--te-side-pad: 120px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: 'Heebo', 'Assistant', sans-serif;
	color: var(--te-navy);
	background: #fff;
	direction: rtl;
	position: relative;
	min-width: 1920px;
}
img { max-width: 100%; display: block; }
h1, h2, h3 { margin: 0; line-height: 1.1; }
p { margin: 0; }
a { text-decoration: none; color: inherit; }
button { font: inherit; cursor: pointer; }

.te-accent { color: var(--te-blue); }

/* ==========================================================================
   Buttons
   ========================================================================== */
.te-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 60px;
	padding: 0 44px;
	border-radius: 999px;
	font-weight: 800;
	font-size: 18px;
	white-space: nowrap;
	border: none;
	transition: transform .2s ease, box-shadow .2s ease;
}
.te-btn:hover { transform: translateY(-2px); }

.te-btn--primary {
	background: linear-gradient(166deg, var(--te-blue-dark) 0%, #3aa0ff 100%);
	color: #fff;
	box-shadow: 0 14px 30px -10px rgba(46,125,209,.6);
}
.te-btn--method { width: 320px; padding: 0; font-size: 20px; }
.te-btn--outline {
	background: transparent;
	color: #fff;
	border: 2px solid #fff;
	box-shadow: 4px 8px 16px 0 rgba(132,196,255,.3);
}
.te-btn--phone {
	background: linear-gradient(165.96375653207355deg, rgb(46,125,209) 0%, rgb(58,160,255) 100%);
	color: #fff;
	width: 200px;
	height: 52px;
	font-size: 20px;
	line-height: 20px;
	letter-spacing: -.2px;
	box-shadow: 0 14px 30px -10px rgba(46,125,209,.6);
}
.te-btn--form-submit {
	width: 100%;
	height: 58px;
	background: linear-gradient(166deg, var(--te-blue-dark) 0%, #3aa0ff 100%);
	color: #fff;
	font-size: 21px;
	box-shadow: 0 14px 30px -10px rgba(46,125,209,.6);
	cursor: pointer;
}
.te-btn--form-submit:hover { filter: brightness(1.08); }

/* ==========================================================================
   Topbar
   ========================================================================== */
.te-topbar {
	background: rgba(255,255,255,.86);
	backdrop-filter: blur(5px);
	border-bottom: 1px solid var(--te-border);
	position: relative;
	z-index: 30;
}
.te-topbar__inner {
	max-width: var(--te-container);
	margin: 0 auto;
	padding: 20px var(--te-side-pad);
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.te-topbar__logo { font-family: 'Heebo', sans-serif; font-weight: 900; font-size: 52px; letter-spacing: -.52px; line-height: 34.56px; }
.te-logo-navy { color: var(--te-navy); }
.te-logo-blue { color: var(--te-blue-dark); }
.te-logo-white { color: #fff; }

/* ==========================================================================
   Hero
   ========================================================================== */
.te-hero {
	position: relative;
	background: url('../img/hero-bg.png') center/cover no-repeat;
	padding: 40px var(--te-side-pad);
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 876px;
}
.te-hero__panel {
	direction: ltr;
	background: rgba(11,37,69,.7);
	border-radius: 24px;
	max-width: 1500px;
	width: 100%;
	padding: 42px 72px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.te-hero__row {
	display: flex;
	align-items: center;
	gap: 42px;
}
.te-hero__form-card {
	direction: rtl;
	background: #fff;
	border: 1px solid var(--te-border);
	border-radius: 28px;
	box-shadow: 4.66px 4.66px 18.62px 0 rgba(11,37,69,.1);
	padding: 52px 55px;
	width: 654px;
	min-height: 625px;
	max-width: 100%;
	flex-shrink: 0;
	text-align: center;
}
.te-hero__form-title { font-size: 65px; font-weight: 900; letter-spacing: -3.26px; margin-bottom: 8px; }
.te-hero__form-sub { color: var(--te-text-gray); font-size: 23px; margin-bottom: 28px; }

.te-lead-form { display: flex; flex-direction: column; gap: 14px; text-align: right; }
.te-lead-form > .te-btn--form-submit { margin-top: 28px; }
.te-input {
	height: 56px;
	border: 1px solid var(--te-text-gray);
	border-radius: 14px;
	padding: 0 20px;
	font-size: 18px;
	font-family: inherit;
	text-align: right;
	color: var(--te-navy);
	width: 100%;
}
.te-input::placeholder { color: var(--te-text-gray); }

.te-select-wrap { position: relative; }
.te-select {
	height: 56px;
	background: var(--te-bg-light2);
	border: 1px solid var(--te-text-gray);
	border-radius: 14px;
	padding: 0 18px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	text-align: right;
}
.te-select__label { font-size: 18px; color: var(--te-text-gray); }
.te-select.has-value .te-select__label { color: var(--te-navy); font-weight: 600; }
.te-select__chevron { width: 22px; height: 22px; transition: transform .2s; }
.te-select.is-open .te-select__chevron { transform: rotate(180deg); }
.te-select__options {
	position: absolute;
	inset-inline: 0;
	top: calc(100% + 6px);
	max-height: min(260px, 70vh);
	overflow-y: auto;
	background: #fff;
	border: 1px solid var(--te-border);
	border-radius: 14px;
	box-shadow: 0 12px 24px rgba(11,37,69,.12);
	z-index: 10;
	overflow: hidden;
}
.te-select__options button {
	display: block;
	width: 100%;
	background: none;
	border: none;
	padding: 14px 18px;
	text-align: right;
	font-size: 16px;
	color: var(--te-navy);
}
.te-select__options button:hover { background: var(--te-bg-light); }
.te-select__options.drop-up { top: auto; bottom: calc(100% + 6px); }

.te-form-alert {
	color: #c0392b;
	background: #fdecea;
	border-radius: 10px;
	padding: 10px 14px;
	font-size: 16px;
	text-align: center;
}
.te-form-success {
	color: #1e7e34;
	background: #e6f6ea;
	border-radius: 10px;
	padding: 10px 14px;
	font-size: 16px;
	text-align: center;
}
.te-shake { animation: te-shake .4s; }
@keyframes te-shake {
	10%, 90% { transform: translateX(-2px); }
	20%, 80% { transform: translateX(4px); }
	30%, 50%, 70% { transform: translateX(-8px); }
	40%, 60% { transform: translateX(8px); }
}

.te-hero__content { flex: 1; width: 654px; max-width: 654px; direction: rtl; text-align: right; color: #fff; }
.te-hero__logo { font-size: 32px; font-weight: 900; margin-bottom: 16px; }
.te-hero__kicker { font-size: 25px; font-weight: 600; margin-bottom: 16px; }
.te-hero__headline { font-size: 88px; font-weight: 900; line-height: 1.08; letter-spacing: -2px; margin-bottom: 16px; }
.te-hero__headline .te-line { display: block; }
.te-hero__desc { font-size: 24px; margin-bottom: 24px; }
.te-hero__ctas { display: flex; gap: 24px; justify-content: flex-start; margin-bottom: 24px; }
.te-hero__ctas .te-btn { font-size: 20px; }
.te-hero__trust {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4px 10px;
	direction: rtl;
	text-align: center;
	color: #fff;
	font-size: 26px;
	text-shadow: .5px .5px .5px rgba(11,37,69,1);
}
.te-hero__trust span:not(:last-child)::after { content: ' \00b7'; margin-inline-start: 10px; }
.te-hero__trust-break { display: none; }

/* ==========================================================================
   Sticky bottom CTA bar
   ========================================================================== */
.te-sticky-cta {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(11,37,69,.97);
	backdrop-filter: blur(4px);
	box-shadow: 0 -8px 30px rgba(0,0,0,.2);
	z-index: 40;
	height: var(--te-sticky-h);
	display: flex;
	align-items: center;
}
.te-sticky-cta__inner {
	max-width: var(--te-container);
	margin: 0 auto;
	width: 100%;
	padding: 0 var(--te-side-pad);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}
.te-sticky-cta__title { color: #fff; font-size: 20px; font-weight: 700; }
.te-sticky-cta__sub { color: #c9d3df; font-size: 16px; }
.te-sticky-cta__text { text-align: right; }

/* ==========================================================================
   Section 2 — Method / orbit diagram
   ========================================================================== */
.te-method {
	max-width: var(--te-container);
	margin: 0 auto;
	padding: 24px var(--te-side-pad) 42px;
	background: rgba(244,247,250,.2);
	text-align: center;
}
.te-method__title { font-weight: 900; margin-bottom: 24px; }
.te-method__title .te-accent { font-size: 36px; display: block; margin-bottom: 8px; letter-spacing: -1.08px; }
.te-method__title span:last-child { font-size: 64px; color: var(--te-navy); display: block; letter-spacing: -2.56px; }
.te-method__divider {
	display: inline-block;
	width: 233px;
	height: 3px;
	background: var(--te-blue);
	margin: 0 auto 24px;
	border-radius: 3px;
}

.te-orbit {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 124px;
	flex-wrap: wrap;
}
.te-orbit__col { position: relative; display: flex; flex-direction: column; gap: 64px; flex: 1; max-width: 440px; min-width: 320px; }
.te-orbit__col--right .te-orbit__item { flex-direction: row-reverse; text-align: left; }
.te-orbit__col--left .te-orbit__item { flex-direction: row; }
.te-orbit__connector {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 122px;
	height: 398px;
	pointer-events: none;
	z-index: 0;
}
.te-orbit__col--right .te-orbit__connector { left: -122px; }
.te-orbit__col--left .te-orbit__connector { right: -122px; }
.te-orbit__item {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 28px;
	text-align: right;
}
.te-orbit__icon {
	width: 132px;
	height: 132px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform .3s ease;
	transform-origin: center;
}
.te-orbit__icon img { width: 100%; height: 100%; object-fit: contain; }
.te-orbit__item:hover .te-orbit__icon {
	transform: scale(1.12);
}
.te-orbit__text { display: flex; flex-direction: column; gap: 4px; }
.te-orbit__q { font-weight: 700; font-size: 24px; }
.te-orbit__a { color: var(--te-text-gray); font-size: 18px; line-height: 1.4; }

.te-orbit__center {
	position: relative;
	width: 280px;
	height: 280px;
	flex-shrink: 0;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 3px 15px rgba(46,125,209,.35);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform .3s ease;
}
.te-orbit__center::before {
	content: "";
	position: absolute;
	width: 254px;
	height: 254px;
	border-radius: 50%;
	background: #eaf4ff;
	z-index: 1;
}
.te-orbit:hover .te-orbit__center { transform: scale(1.05); }
.te-orbit__ring { display: none; }
.te-orbit__center-inner {
	position: relative;
	z-index: 2;
	text-align: center;
}
.te-orbit__logo { font-size: 44px; font-weight: 800; }
.te-orbit__logo-top { color: var(--te-blue); }
.te-orbit__logo-english { color: var(--te-navy-deep); }
.te-orbit__center-line { font-size: 20px; color: var(--te-text-gray2); }

.te-method__closing { color: var(--te-text-gray); font-size: 24px; line-height: 1.67; margin: 24px 0 20px; }

/* ==========================================================================
   Section 4 — "How you learn" sticky stacking cards
   ========================================================================== */
.te-steps {
	max-width: var(--te-container);
	margin: 0 auto;
	padding: 48px var(--te-side-pad) 56px;
	text-align: center;
}
.te-steps__title {
	font-weight: 900;
	line-height: 1.25;
	margin-bottom: 28px;
}
.te-steps__title > span { display: block; }
.te-steps__title-line1 { font-size: 52px; letter-spacing: -1.56px; margin-bottom: 12px; }
.te-steps__title-line2 { font-size: 72px; letter-spacing: -2.16px; }

.te-steps__list {
	display: flex;
	gap: 24px;
	align-items: flex-start;
	justify-content: center;
	margin-bottom: 28px;
}
.te-steps__cards {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 100%;
	max-width: 992px;
}
.te-steps__card {
	position: sticky;
	background: rgb(244,245,246);
	border: 1px solid rgba(11,37,69,.12);
	border-radius: 24px;
	display: flex;
	direction: ltr;
	align-items: stretch;
	overflow: hidden;
	min-height: 359px;
	text-align: right;
}
.te-steps__card[data-step="0"] { top: 100px; }
.te-steps__card[data-step="1"] { top: 130px; }
.te-steps__card[data-step="2"] { top: 160px; }
.te-steps__card[data-step="3"] { top: 190px; }

.te-steps__img {
	position: relative;
	width: 306px;
	flex-shrink: 0;
	background-size: cover;
	background-position: center;
	border-radius: 20px 0 0 20px;
}
.te-steps__card[data-step="2"] .te-steps__img { background-position: 75% center; }
.te-steps__img::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 20px 0 0 20px;
	background: linear-gradient(90deg, transparent 44%, rgba(244,244,244,.5) 75%, rgba(243,244,244,.9) 87%, rgb(243,244,245) 99%);
}
.te-steps__body {
	direction: rtl;
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 20px;
	padding: 32px 40px;
	text-align: center;
}
.te-steps__body h3 { font-size: 48px; letter-spacing: -.96px; font-weight: 900; color: var(--te-navy); }
.te-steps__body p { font-size: 19px; line-height: 1.6; letter-spacing: -.3px; color: var(--te-text-gray); max-width: 576px; }

.te-steps__dots {
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: center;
	padding-top: 104px;
	position: sticky;
	top: 40vh;
	align-self: flex-start;
}
.te-steps__dot {
	width: 16px;
	height: 16px;
	border-radius: 999px;
	background: rgba(11,37,69,.25);
	transition: background .3s ease, width .3s ease;
}
.te-steps__dot.is-active { background: var(--te-blue); width: 16px; height: 47px; }



/* ==========================================================================
   Section 3 — learning-myths thought bubbles
   ========================================================================== */
.te-myths {
	position: relative;
	z-index: 0;
	max-width: var(--te-container);
	margin: 0 auto;
	padding: 20px var(--te-side-pad) 20px;
	text-align: center;
}
.te-myths::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 100vw;
	transform: translateX(-50%);
	z-index: -1;
	background: linear-gradient(180deg, #fff 0%, #eaf4ff 25%, #d1e7ff 50%, #eaf4ff 80%, #fff 100%);
}
.te-myths__title { font-size: 42px; font-weight: 900; margin-bottom: 8px; letter-spacing: -1.68px; }
.te-myths__title span { display: block; margin-bottom: 8px; }
.te-myths__title span:last-child { color: var(--te-blue); font-size: 78px; letter-spacing: -3.12px; margin-bottom: 24px; }

.te-myths__bubbles {
	max-width: 1556px;
	margin: 0 auto;
}
.te-myths__row {
	display: flex;
	gap: 48px;
	justify-content: center;
	position: relative;
}
.te-myths__row--outer { justify-content: space-between; margin-top: 0; }
.te-bubble {
	background: #fff;
	border-radius: 16px;
	padding: 20px;
	text-align: center;
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 16px;
	width: 346px;
	filter: drop-shadow(1px 2px 4px rgba(46,125,209,.45));
	transition: transform .25s ease;
}
.te-bubble--wide { width: 371px; }
.te-bubble__q { font-weight: 700; font-size: 19px; letter-spacing: -.38px; }
.te-bubble__a { font-size: 16px; letter-spacing: -.16px; color: var(--te-text-gray); line-height: 1.5; }
.te-bubble__tail { position: absolute; z-index: 1; bottom: -14px; width: 44px; height: 44px; background: #fff; border-radius: 50%; }
.te-bubble__tail::before, .te-bubble__tail::after { content: ""; position: absolute; background: #fff; border-radius: 50%; }
.te-bubble__tail::before { width: 25px; height: 21px; bottom: -14px; }
.te-bubble__tail::after { width: 13px; height: 11px; bottom: -22px; }
.te-bubble--tail-r .te-bubble__tail { right: 24px; }
.te-bubble--tail-r .te-bubble__tail::before { right: 14px; }
.te-bubble--tail-r .te-bubble__tail::after { right: 22px; }
.te-bubble--tail-l .te-bubble__tail { left: 24px; }
.te-bubble--tail-l .te-bubble__tail::before { left: 14px; }
.te-bubble--tail-l .te-bubble__tail::after { left: 22px; }
.te-bubble { opacity: 0; transform: scale(.55) translateY(24px); }
.te-bubble.is-visible { opacity: 1; transform: scale(1) translateY(0); transition: opacity .5s cubic-bezier(.28,1.65,.55,1), transform .5s cubic-bezier(.28,1.65,.55,1); }
.te-bubble.is-visible:hover { transform: scale(1.06); }

@keyframes te-pop-in {
	0% { opacity: 0; transform: scale(.55) translateY(24px); }
	60% { opacity: 1; transform: scale(1.08) translateY(-4px); }
	80% { transform: scale(.96) translateY(1px); }
	100% { opacity: 1; transform: scale(1) translateY(0); }
}

.te-why__item { opacity: 0; transform: translateX(30px) scale(.9); }
.te-why__item.is-visible { animation: te-pop-in-rtl .55s cubic-bezier(.28,1.65,.55,1) forwards; }

@keyframes te-pop-in-rtl {
	0% { opacity: 0; transform: translateX(30px) scale(.9); }
	60% { opacity: 1; transform: translateX(-6px) scale(1.05); }
	100% { opacity: 1; transform: translateX(0) scale(1); }
}

.te-benefits__card, .te-includes__card {
	opacity: 0;
	transform: scale(.75) translateY(18px);
}
.te-benefits__card.is-visible, .te-includes__card.is-visible {
	animation: te-pop-in .55s cubic-bezier(.28,1.65,.55,1) forwards;
}
.te-myths__closing { max-width: 733px; margin: -140px auto 0; color: var(--te-text-gray); font-size: 18px; line-height: 1.6; text-align: center; position: relative; z-index: 3; }
.te-btn--myths { width: 240px; padding: 0; font-size: 20px; margin-top: 24px; }
.te-btn--objections { width: 420px; padding: 0; font-size: 20px; }




/* ==========================================================================
   Section 5 — course includes grid
   ========================================================================== */
.te-includes {
	position: relative;
	z-index: 0;
	max-width: var(--te-container);
	margin: 0 auto;
	padding: 48px var(--te-side-pad) 56px;
	text-align: center;
}
.te-includes::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 100vw;
	transform: translateX(-50%);
	z-index: -1;
	background: rgba(234,244,255,.7);
}
.te-includes__title { font-size: 64px; font-weight: 900; letter-spacing: -1.28px; margin-bottom: 16px; }
.te-includes__sub { color: var(--te-text-gray); font-size: 20px; margin-bottom: 42px; }
.te-includes__grid {
	display: grid;
	grid-template-columns: repeat(3, 328px);
	gap: 42px;
	justify-content: center;
	max-width: 1100px;
	margin: 0 auto 42px;
}
.te-includes__card {
	background: #fff;
	border-radius: 16px;
	padding: 24px 44px;
	text-align: center;
	box-shadow: 2px 2px 10px rgba(0,0,0,.1);
	transition: transform .3s ease, box-shadow .3s ease;
}
.te-includes__card:hover { transform: translateY(-6px); box-shadow: 0 16px 32px rgba(11,37,69,.1); }
.te-includes__icon { width: 153px; height: 96px; margin: 0 auto 20px; border-radius: 12px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.te-includes__card img { width: 100%; height: 100%; object-fit: contain; }
.te-includes__card h3 { font-size: 24px; font-weight: 800; margin-bottom: 8px; }
.te-includes__card p { font-size: 16px; color: var(--te-text-gray); line-height: 1.47; }




/* ==========================================================================
   Section 6 — objections
   ========================================================================== */
.te-objections {
	max-width: var(--te-container);
	margin: 0 auto;
	padding: 48px var(--te-side-pad) 56px;
	text-align: center;
}
.te-objections__title { font-size: 48px; font-weight: 900; }
.te-objections__title span { display: block; }
.te-objections__title span:last-child { color: var(--te-blue); font-size: 96px; letter-spacing: -3.84px; margin-top: 8px; }
.te-objections__sub { color: var(--te-text-gray); font-size: 20px; margin: 12px 0 24px; }
.te-objections .te-method__divider { width: 240px; margin-top: 24px; }
.te-objections__grid {
	display: grid;
	grid-template-columns: repeat(4, 386px);
	gap: 40px;
	justify-content: center;
	max-width: 1700px;
	margin: 0 auto -60px;
	align-items: start;
	position: relative;
	z-index: 1;
}
.te-btn--objections { position: relative; z-index: 2; }
.te-obj-card {
	background: rgba(218,234,251,.4);
	border-radius: 22px;
	box-shadow: 2px 4px 8px rgba(0,0,0,.15);
	padding: 32px 24px;
	text-align: center;
	transition: transform .3s ease;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 480px;
}
.te-obj-card:hover { transform: translateY(-6px); }
.te-obj-card--outer { margin-top: 169px; }
.te-obj-card__avatar {
	width: 175px;
	height: 175px;
	margin: 0 auto 16px;
	border-radius: 50%;
	background: #eaf4ff;
	border: 1px solid rgba(46,125,209,.6);
	box-shadow: 0 0 4px rgba(46,125,209,.65);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.te-obj-card__avatar img { width: 78%; height: 78%; object-fit: contain; margin: 0; }
.te-obj-card h3 { font-size: 33px; font-weight: 800; margin-bottom: 18px; }
.te-obj-card__dots { display: flex; gap: 16px; justify-content: center; margin-bottom: 18px; }
.te-obj-card__dots span { width: 8px; height: 8px; border-radius: 999px; background: var(--te-navy-deep); }
.te-obj-card__lead { font-size: 22px; font-weight: 900; color: var(--te-navy); margin-bottom: 7px; }
.te-obj-card p:not(.te-obj-card__lead) { font-size: 18px; color: var(--te-text-gray2); line-height: 1.41; }




/* ==========================================================================
   Section 7 — why students choose us
   ========================================================================== */
.te-why {
	max-width: var(--te-container);
	margin: 0 auto;
	padding: 24px var(--te-side-pad) 56px;
}
.te-why__panel {
	background: rgba(238,243,250,.5);
	border-radius: 32px;
	padding: 39px 51px;
	box-shadow: 2px 4px 16px rgba(0,0,0,.1);
	display: flex;
	direction: ltr;
	gap: 52px;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
	width: 1300px;
	max-width: 100%;
	margin: 0 auto;
}
.te-why__panel::before {
	content: "";
	position: absolute;
	right: 32px;
	bottom: 28px;
	width: 130px;
	height: 60px;
	background-image: radial-gradient(rgba(46,125,209,.35) 1.5px, transparent 1.5px);
	background-size: 16px 16px;
	pointer-events: none;
}
.te-why__panel::after {
	content: "";
	position: absolute;
	right: -40px;
	bottom: -60px;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: rgba(58,160,255,.18);
	box-shadow: 60px 30px 0 -20px rgba(58,160,255,.12);
	pointer-events: none;
}
.te-why__checklist, .te-why__text {
	position: relative;
	z-index: 1;
}
.te-why__checklist {
	direction: rtl;
	background: #fff;
	border-radius: 24px;
	padding: 32px;
	width: 660px;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
	box-shadow: 2px 2px 8px rgba(0,0,0,.1);
}
.te-why__item { display: flex; align-items: center; gap: 16px; justify-content: flex-start; text-align: right; font-family: 'Assistant', sans-serif; font-size: 22px; font-weight: 700; width: 100%; white-space: nowrap; }
.te-why__check {
	width: 26px; height: 26px; border-radius: 50%;
	background: var(--te-blue); color: #fff;
	display: flex; align-items: center; justify-content: center;
	font-size: 16px; flex-shrink: 0;
	transform: scale(1);
	transition: transform .4s cubic-bezier(.34,1.56,.64,1);
}
.te-why__text { direction: rtl; width: 471px; flex-shrink: 0; text-align: right; margin-bottom: 24px; }
.te-why__text h2 { font-size: 52px; font-weight: 900; line-height: 1.25; letter-spacing: -1.04px; }
.te-why__title-line2 { letter-spacing: -2.6px; }
.te-why__divider { display: block; width: 429px; height: 1px; background: rgba(11,37,69,.15); margin: 16px 0; }
.te-why__text p { font-family: 'Assistant', sans-serif; color: var(--te-text-gray2); font-size: 20px; line-height: 1.42; margin-top: 16px; }



/* ==========================================================================
   Section 8 — course benefits
   ========================================================================== */
.te-benefits {
	padding-top: 24px;
	padding-bottom: 32px;
	padding-left: 0;
	padding-right: 0;
	display: flex;
	direction: ltr;
	gap: 48px;
	align-items: stretch;
	background: #fff;
}
.te-benefits__content { max-width: calc(var(--te-container) - 1018px - 48px); }
.te-benefits__photo { flex: 0 0 auto; border-radius: 0 32px 32px 0; overflow: hidden; align-self: flex-end; background: rgba(244,249,255,.4); }
.te-benefits__photo img { display: block; }
.te-benefits__content { direction: rtl; flex: 1; min-width: 0; text-align: right; padding: 24px var(--te-side-pad) 0 0; background: rgba(244,249,255,.4); }
.te-benefits__content h2 { font-weight: 900; line-height: 1.15; letter-spacing: -1.92px; }
.te-benefits__title-line1 { font-size: 44px; }
.te-benefits__title-line2 { font-size: 76px; color: var(--te-navy); }
.te-benefits__sub { color: var(--te-text-gray); font-size: 20px; line-height: 1.5; margin-bottom: 24px; }
.te-benefits__grid { direction: ltr; display: grid; grid-template-columns: repeat(3, 220px); gap: 18px; justify-content: end; align-items: stretch; }
.te-benefits__card { direction: rtl; }
.te-benefits__card { background: #fff; border-radius: 14px; padding: 18px 16px; text-align: center; box-shadow: 1.7px 1.7px 8.7px rgba(0,0,0,.1); transition: transform .3s; }
.te-benefits__card:hover { transform: translateY(-4px); }
.te-benefits__icon { width: 84px; height: 84px; margin: 0 auto 10px; border-radius: 50%; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.te-benefits__card img { width: 100%; height: 100%; object-fit: contain; }
.te-benefits__card h4 { font-size: 21px; font-weight: 800; margin-bottom: 3px; white-space: nowrap; }
.te-benefits__card p { font-size: 16px; color: var(--te-text-gray); margin-bottom: 7px; white-space: nowrap; }
.te-benefits__card::after { content: ""; display: block; width: 55px; height: 1px; background: rgba(11,37,69,.15); margin: 0 auto; }




/* ==========================================================================
   Section 9 — stats bar (hover to reveal detail)
   ========================================================================== */
.te-stats { background: var(--te-navy); }
.te-stats__bar {
	max-width: var(--te-container);
	margin: 0 auto;
	display: flex;
	direction: ltr;
}
.te-stat {
	flex: 1;
	position: relative;
	padding: 28px 24px;
	text-align: center;
	border-inline-start: 1px solid rgba(255,255,255,.12);
	cursor: default;
	transition: background .3s ease;
}
.te-stat:first-child { border-inline-start: none; }
.te-stat__main { display: flex; flex-direction: column; gap: 0; }
.te-stat__number { color: var(--te-blue); font-size: 44px; font-weight: 900; letter-spacing: -2px; }
.te-stat__label { color: #c9d3df; font-size: 24px; opacity: .9; }
.te-stat__extra {
	direction: rtl;
	color: #d6deeb;
	font-size: 16px;
	line-height: 1.5;
	max-width: 320px;
	margin: 0 auto;
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: max-height .35s ease, opacity .3s ease, margin-top .35s ease;
}
.te-stat:hover { background: rgba(58,160,255,.12); }
.te-stat:hover .te-stat__extra { max-height: 100px; opacity: 1; margin-top: 12px; }



/* ==========================================================================
   Carousels — teachers & video testimonials
   ========================================================================== */
.te-social-proof {
	background: linear-gradient(180deg, #fff 0%, #eaf4ff 35%, #dce9fb 55%, #4d6a9a 82%, var(--te-navy-deep) 100%);
}
.te-teachers, .te-testimonials {
	max-width: var(--te-container);
	margin: 0 auto;
	padding: 48px var(--te-side-pad) 40px;
	text-align: center;
}
/* Sized so exactly 5 teacher cards (263px + 24px gaps) fit the track with no
   6th card peeking in at the design width, instead of the generic 1920px
   container which leaves enough slack to show a sliver of a 6th card. */
.te-teachers { max-width: 1795px; }
.te-teachers__title, .te-testimonials__title { font-size: 64px; font-weight: 900; letter-spacing: -1.28px; margin-bottom: 20px; }
.te-teachers__title > span { display: block; }
.te-teachers__title > span:last-child { font-size: 78px; }
.te-testimonials__title { color: var(--te-navy); }
.te-testimonials__sub { color: var(--te-text-gray2); font-size: 28px; margin-bottom: 20px; margin-top: -8px; }

.te-carousel { position: relative; display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.te-carousel__track {
	display: flex;
	gap: 24px;
	overflow-x: auto;
	scroll-behavior: smooth;
	scroll-snap-type: x proximity;
	padding: 8px 8px 32px;
	margin-bottom: -24px;
	flex: 1;
}
.te-carousel__track::-webkit-scrollbar { display: none; }
.te-carousel__arrow {
	flex-shrink: 0;
	width: 48px; height: 48px;
	border-radius: 50%;
	border: 1px solid var(--te-border);
	background: #fff;
	font-size: 22px;
	color: var(--te-navy);
	box-shadow: 0 4px 12px rgba(11,37,69,.1);
	transition: background .2s;
}
.te-carousel__arrow:hover { background: var(--te-bg-light); }

.te-teacher-card {
	scroll-snap-align: start;
	flex: 0 0 263px;
	background: #fff;
	border: 1px solid var(--te-border);
	border-radius: 18px;
	box-shadow: 0 8px 24px -12px rgba(11,37,69,.3);
	overflow: hidden;
	text-align: right;
}
.te-teacher-card img { width: 100%; height: 220px; object-fit: cover; display: block; }
.te-teacher-card h4 { padding: 16px 16px 0; font-size: 20px; font-weight: 700; }
.te-teacher-card__role { padding: 0 16px; color: #2e7dd1; font-weight: 700; font-size: 16px; margin-bottom: 8px; }
.te-teacher-card__bio { padding: 0 16px 16px; font-size: 16px; color: var(--te-text-gray); line-height: 1.43; }

.te-teachers__cta { max-width: 640px; margin: 0 auto 24px; }
.te-teachers__cta h3 { font-size: 42px; font-weight: 800; margin-bottom: 8px; }
.te-teachers__cta p { color: var(--te-navy); font-size: 24px; margin-bottom: 20px; }

.te-video-card {
	display: block;
	scroll-snap-align: start;
	flex: 0 0 280px;
	position: relative;
	border-radius: 14px;
	overflow: hidden;
	cursor: pointer;
}
.te-video-card img, .te-video-card iframe { width: 100%; height: 425px; object-fit: cover; display: block; background: #0b2545; border: 0; }
.te-video-card__play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: rgba(11,37,69,.55);
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	transition: background .2s, transform .2s;
}
.te-video-card__play::after {
	content: "";
	border-style: solid;
	border-width: 12px 0 12px 20px;
	border-color: transparent transparent transparent #fff;
	margin-left: 4px;
}
.te-video-card:hover .te-video-card__play { background: rgba(46,125,209,.85); transform: translate(-50%, -50%) scale(1.08); }
.te-video-card.is-playing .te-video-card__play,
.te-video-card.is-playing img { display: none; }
.te-carousel__arrow[disabled] { opacity: .3; cursor: default; }

/* ==========================================================================
   Google reviews
   ========================================================================== */
.te-reviews {
	max-width: var(--te-container);
	margin: 0 auto;
	padding: 40px var(--te-side-pad) 48px;
	color: #fff;
	text-align: center;
}
.te-reviews__title { font-size: 36px; font-weight: 800; margin-bottom: 20px; }
.te-reviews__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	max-width: 1300px;
	margin: 0 auto 24px;
}
.te-review-card {
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.14);
	border-radius: 17px;
	padding: 20px;
	text-align: right;
}
.te-review-card__head { display: flex; direction: ltr; align-items: center; justify-content: flex-end; gap: 10px; margin-bottom: 8px; }
.te-review-card__name { direction: rtl; unicode-bidi: isolate; font-weight: 700; font-size: 20px; color: #fff; }
.te-review-card__avatar {
	width: 48px; height: 48px; border-radius: 50%;
	background: linear-gradient(135deg, #2e7dd1 0%, #3aa0ff 100%);
	display: flex; align-items: center; justify-content: center;
	font-size: 20px; font-weight: 800; color: #fff;
}
.te-review-card__stars { color: var(--te-blue); font-size: 16px; letter-spacing: 1.06px; margin-bottom: 8px; }
.te-review-card p:not(.te-review-card__stars) { font-size: 16px; line-height: 1.25; color: #c9d3df; }
.te-reviews__summary { font-weight: 400; font-size: 16px; color: #c9d3df; }
.te-reviews__summary .te-reviews__stars { color: var(--te-blue); letter-spacing: 2px; }




/* ==========================================================================
   Urgency
   ========================================================================== */
.te-urgency {
	max-width: var(--te-container);
	margin: 0 auto;
	padding: 36px var(--te-side-pad) 76px;
}
.te-urgency__panel {
	position: relative;
	max-width: 1700px;
	margin: 0 auto;
	border-radius: 24px;
	overflow: hidden;
	background: linear-gradient(rgba(6,22,46,.82), rgba(6,22,46,.82)), url('../img/urgency-bg.png') center/cover;
	padding: 24px;
	text-align: center;
	color: #fff;
}
.te-urgency__title-line1 { font-size: 52px; line-height: 78px; letter-spacing: -1px; display: block; margin-bottom: 10px; text-shadow: 0 2px 14px rgba(0,0,0,.75), 0 1px 2px rgba(0,0,0,.9); }
.te-urgency__panel h2 { font-size: 38px; font-weight: 900; line-height: 1.15; letter-spacing: -1px; margin-bottom: 20px; text-shadow: 0 2px 14px rgba(0,0,0,.75), 0 1px 2px rgba(0,0,0,.9); }
.te-urgency .te-accent {
	color: #fff;
	background: linear-gradient(178.69deg, #5fb6ff 4.17%, #3a92e0 95.83%);
	padding: 6px 22px;
	margin: 0 2px;
	letter-spacing: 2px;
	border-radius: 10px;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}
.te-urgency__badge {
	display: inline-block;
	background: rgba(255,255,255,.22);
	border: 1px solid rgba(255,255,255,.35);
	border-radius: 20px;
	padding: 12px 22px;
	font-size: 22px;
	font-weight: 800;
	text-shadow: 0 1px 4px rgba(0,0,0,.8);
	margin-bottom: 20px;
}
.te-urgency__panel p { color: #fff; font-size: 17px; margin-bottom: 20px; line-height: 1.47; text-shadow: 0 1px 6px rgba(0,0,0,.7); }
.te-btn--urgency { background: linear-gradient(178.69deg, #3aa0ff 4.17%, #2576c1 95.83%); letter-spacing: -.4px; }

/* ==========================================================================
   Contact + map
   ========================================================================== */
.te-contact {
	position: relative;
	z-index: 0;
	max-width: var(--te-container);
	margin: 0 auto;
	padding: 64px var(--te-side-pad) 72px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 28px;
}
.te-contact::before {
	content: "";
	position: absolute;
	top: -40px;
	bottom: 0;
	left: 50%;
	width: 100vw;
	transform: translateX(-50%);
	z-index: -1;
	background: #eaf4ff;
}
.te-contact__deco { position: absolute; pointer-events: none; z-index: 0; }
.te-contact__deco--ring-1 { width: 260px; height: 260px; border: 4px solid rgba(58,160,255,.35); border-radius: 50%; top: -60px; left: 6%; animation: te-deco-float-1 6s ease-in-out infinite; }
.te-contact__deco--ring-2 { width: 140px; height: 140px; border: 4px solid rgba(46,125,209,.3); border-radius: 50%; bottom: -30px; right: 8%; animation: te-deco-float-2 7s ease-in-out infinite; }
.te-contact__deco--dot { width: 26px; height: 26px; background: var(--te-blue); opacity: .45; border-radius: 50%; top: 18%; right: 20%; animation: te-deco-float-3 4.5s ease-in-out infinite; }
.te-contact__deco--square { width: 90px; height: 90px; border: 4px solid rgba(11,37,69,.2); border-radius: 20px; transform: rotate(20deg); bottom: 12%; left: 16%; animation: te-deco-float-4 6.5s ease-in-out infinite; }
.te-contact__form-col { position: relative; z-index: 1; }

@keyframes te-deco-float-1 {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50% { transform: translate(40px, 45px) scale(1.25); }
}
@keyframes te-deco-float-2 {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50% { transform: translate(-36px, -40px) scale(1.3); }
}
@keyframes te-deco-float-3 {
	0%, 100% { transform: translate(0, 0) scale(1); opacity: .45; }
	50% { transform: translate(-30px, 34px) scale(1.8); opacity: .75; }
}
@keyframes te-deco-float-4 {
	0%, 100% { transform: rotate(20deg) translate(0, 0) scale(1); }
	50% { transform: rotate(50deg) translate(28px, -32px) scale(1.35); }
}
.te-contact__form-col {
	background: #fff;
	border: 1px solid var(--te-border);
	border-radius: 28px;
	box-shadow: 4.66px 4.66px 18.62px 0 rgba(11,37,69,.1);
	padding: 52px 55px;
	width: 824px;
	max-width: 100%;
	text-align: center;
}
.te-contact__form-col h2 { font-weight: 900; line-height: 1.3; }
.te-contact__form-col h2 span:first-child { font-size: 32px; letter-spacing: -.64px; }
.te-contact__form-col h2 span.te-accent { font-size: 56px; letter-spacing: -1.12px; }
.te-contact__sub { color: var(--te-text-gray); font-size: 16px; margin: 12px 0 24px; }
.te-contact__address { text-align: center; }
.te-contact__address h4 { font-weight: 800; margin-bottom: 8px; }
.te-contact__address p { color: var(--te-text-gray); margin-bottom: 6px; }



/* ==========================================================================
   FAQ accordion
   ========================================================================== */
.te-faq {
	max-width: 973px;
	margin: 0 auto;
	padding: 40px var(--te-side-pad) 56px;
	text-align: center;
}
.te-faq__title { font-size: 56px; font-weight: 900; letter-spacing: -1.12px; margin-bottom: 20px; }
.te-faq__list { display: flex; flex-direction: column; gap: 20px; text-align: right; }
.te-faq__item { border: 1px solid var(--te-border); border-radius: 14px; overflow: hidden; }
.te-faq__question {
	width: 100%;
	background: #fff;
	border: none;
	padding: 20px 26px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-weight: 700;
	font-size: 20px;
	text-align: right;
}
.te-faq__chevron {
	width: 32px; height: 32px; border-radius: 50%;
	background: var(--te-bg-light);
	color: var(--te-blue);
	display: flex; align-items: center; justify-content: center;
	transition: transform .3s ease;
	flex-shrink: 0;
}
.te-faq__chevron img { width: 16px; height: 16px; display: block; }
.te-faq__item.is-open .te-faq__chevron { transform: rotate(180deg); }
.te-faq__answer { padding: 0 24px; text-align: right; font-size: 16px; line-height: 1.6; color: var(--te-text-gray); max-height: 0; overflow: hidden; transition: max-height .3s ease, padding .3s ease; }
.te-faq__item.is-open .te-faq__answer { padding: 0 24px 20px; max-height: 200px; }

/* ==========================================================================
   Footer
   ========================================================================== */
.te-footer {
	background: var(--te-navy);
	color: #c9d3df;
	font-size: 16px;
	text-align: center;
	padding: 36px 24px;
	margin-bottom: var(--te-sticky-h);
}


/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 768px) {
	:root { --te-side-pad: 20px; }

	body { min-width: 0; overflow-x: hidden; }
	img { max-width: 100%; }

	/* ---------- Buttons & touch targets ---------- */
	.te-btn { height: 52px; padding: 0 28px; font-size: 16px; }
	.te-btn--method, .te-btn--myths, .te-btn--objections, .te-btn--urgency { width: 100%; max-width: 340px; }
	.te-btn--method, .te-btn--objections { margin-top: 20px; }

	/* ---------- Letter-spacing: desktop values are tuned for much larger font-sizes;
	   at mobile sizes they read as too tight, so reset to normal on mobile only. ---------- */
	.te-hero__headline,
	.te-method__title .te-accent, .te-method__title span:last-child,
	.te-steps__title-line1, .te-steps__title-line2, .te-steps__body h3,
	.te-myths__title, .te-myths__title span:last-child,
	.te-includes__title,
	.te-objections__title span:last-child,
	.te-why__text h2, .te-why__title-line2,
	.te-benefits__content h2,
	.te-teachers__title, .te-testimonials__title,
	.te-urgency__title-line1, .te-urgency__panel h2,
	.te-contact__form-col h2 span:first-child, .te-contact__form-col h2 span.te-accent,
	.te-faq__title {
		letter-spacing: normal;
	}
	.te-btn--phone { width: auto; padding: 0 18px; height: 44px; font-size: 16px; }
	.te-btn--form-submit { height: 54px; font-size: 18px; }

	/* ---------- Topbar ---------- */
	.te-topbar__inner { padding: 14px var(--te-side-pad); }
	.te-topbar__logo { font-size: 28px; line-height: 1; }

	/* ---------- Sticky bottom CTA ---------- */
	.te-sticky-cta { height: auto; padding: 10px 0; }
	.te-sticky-cta__inner { flex-direction: column; align-items: stretch; padding: 0 var(--te-side-pad); gap: 10px; }
	.te-sticky-cta__text { text-align: center; }
	.te-sticky-cta__title { font-size: 16px; }
	.te-sticky-cta__sub { font-size: 16px; }
	.te-sticky-cta__btn { width: 100%; height: 44px; }
	:root { --te-sticky-h: 130px; }

	/* ---------- Hero ---------- */
	.te-hero { padding: 24px var(--te-side-pad); min-height: 0; }
	.te-hero__panel { padding: 24px 20px; gap: 24px; border-radius: 18px; }
	.te-hero__row { flex-direction: column; gap: 24px; }
	.te-hero__form-card { width: 100%; height: auto; min-height: 0; padding: 28px 20px; border-radius: 16px; }
	.te-hero__form-title { font-size: 32px; letter-spacing: -1px; }
	.te-hero__form-sub { font-size: 16px; margin-bottom: 20px; }
	.te-hero__content { max-width: 100%; text-align: center; order: 1; }
	.te-hero__form-card { order: 2; }
	.te-hero__logo { font-size: 24px; text-align: center; margin-bottom: 12px; }
	.te-hero__kicker { font-size: 16px; text-align: center; }
	.te-hero__headline { font-size: 38px; text-align: center; margin-bottom: 12px; }
	.te-hero__desc { font-size: 16px; text-align: center; text-wrap: balance; }
	.te-hero__ctas { flex-direction: column; justify-content: center; gap: 12px; }
	.te-hero__ctas .te-btn { font-size: 16px; width: 100%; }
	.te-hero__trust { font-size: 18px; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 8px; }
	.te-hero__trust span:not(:last-child)::after { content: none; }
	.te-hero__trust-break { display: block; flex-basis: 100%; width: 0; height: 0; }

	/* ---------- Method / orbit ---------- */
	.te-method { padding: 20px var(--te-side-pad) 32px; }
	.te-method__title .te-accent { font-size: 20px; }
	.te-method__title span:last-child { font-size: 32px; }
	.te-orbit { flex-direction: column; gap: 44px; }
	.te-orbit__col { max-width: 100%; min-width: 0; gap: 44px; display: contents; }
	.te-orbit__connector { display: none; }
	.te-orbit__center { display: none; }
	.te-orbit__icon { width: 100px; height: 100px; }
	.te-orbit__q { font-size: 18px; }
	.te-orbit__a { font-size: 16px; text-wrap: balance; }
	.te-orbit__col--right .te-orbit__item:nth-of-type(odd),
	.te-orbit__col--left .te-orbit__item:nth-of-type(even) { flex-direction: row; text-align: right; }
	.te-orbit__col--right .te-orbit__item:nth-of-type(even),
	.te-orbit__col--left .te-orbit__item:nth-of-type(odd) { flex-direction: row-reverse; text-align: left; }
	.te-method__closing { font-size: 16px; }

	/* ---------- Steps ---------- */
	.te-steps { padding: 32px var(--te-side-pad) 40px; }
	.te-steps__title { margin-bottom: 20px; }
	.te-steps__title-line1 { font-size: 28px; margin-bottom: 4px; }
	.te-steps__title-line2 { font-size: 34px; }
	.te-steps__list { flex-direction: column; align-items: center; }
	.te-steps__dots { display: none; }
	.te-steps__card { position: sticky; top: 76px; flex-direction: column; min-height: 0; box-shadow: 0 12px 28px rgba(11,37,69,.22); }
	.te-steps__img { width: 100%; height: 190px; border-radius: 20px 20px 0 0; }
	.te-steps__img::after { display: none; }
	.te-steps__body { padding: 20px 20px; }
	.te-steps__body h3 { font-size: 24px; }
	.te-steps__body p { font-size: 16px; max-width: 100%; }

	/* ---------- Myths bubbles ---------- */
	.te-myths { padding: 24px var(--te-side-pad); }
	.te-myths__title { font-size: 26px; }
	.te-myths__title span:last-child { font-size: 34px; }
	.te-myths__bubbles { max-width: 100%; display: flex; flex-direction: column; gap: 32px; }
	.te-myths__row, .te-myths__row--outer { flex-direction: column; align-items: center; gap: 32px; }
	.te-bubble, .te-bubble--wide { width: 100%; max-width: 360px; }
	.te-bubble__tail { display: none; }
	.te-myths__closing { margin-top: 24px; font-size: 16px; }

	/* ---------- Includes grid ---------- */
	.te-includes { padding: 32px var(--te-side-pad) 40px; }
	.te-includes__title { font-size: 32px; }
	.te-includes__sub { font-size: 16px; margin-bottom: 28px; }
	.te-includes__grid { grid-template-columns: 1fr; max-width: 360px; gap: 20px; }
	.te-includes__card { padding: 20px 24px; }

	/* ---------- Objections ---------- */
	.te-objections { padding: 32px var(--te-side-pad) 40px; }
	.te-objections__title { font-size: 26px; }
	.te-objections__title span:last-child { font-size: 44px; }
	.te-objections__sub { font-size: 16px; }
	.te-objections__grid { grid-template-columns: 1fr; max-width: 360px; margin: 0 auto; gap: 24px; }
	.te-obj-card--outer { margin-top: 0; }
	.te-obj-card { min-height: 0; }
	.te-obj-card__avatar { width: 120px; height: 120px; }
	.te-obj-card h3 { font-size: 26px; }
	.te-obj-card__lead { font-size: 20px; }
	.te-obj-card p:not(.te-obj-card__lead) { font-size: 17px; }

	/* ---------- Why panel ---------- */
	.te-why { padding: 20px var(--te-side-pad) 40px; }
	.te-why__panel { flex-direction: column; direction: rtl; width: 100%; padding: 24px 20px; gap: 24px; }
	.te-why__checklist { width: 100%; padding: 24px 20px; order: 2; }
	.te-why__item { font-size: 17px; white-space: normal; }
	.te-why__check { width: 28px; height: 28px; font-size: 16px; }
	.te-why__text { width: 100%; margin-bottom: 0; order: 1; text-align: center; }
	.te-why__text h2 { font-size: 28px; }
	.te-why__divider { width: 100%; margin-inline: auto; }
	.te-why__text p { font-size: 16px; }

	/* ---------- Benefits ---------- */
	.te-benefits { flex-direction: column; gap: 0; }
	.te-benefits__photo { display: none; }
	.te-benefits__content { max-width: 100%; padding: 24px var(--te-side-pad); text-align: center; }
	.te-benefits__title-line1 { font-size: 26px; }
	.te-benefits__title-line2 { font-size: 38px; }
	.te-benefits__sub { font-size: 16px; }
	.te-benefits__grid { grid-template-columns: repeat(2, 1fr); max-width: 340px; margin: 0 auto; justify-content: center; }
	.te-benefits__card h4, .te-benefits__card p { white-space: normal; }
	.te-benefits__card p { font-size: 16px; }

	/* ---------- Stats ---------- */
	.te-stats__bar { flex-direction: column; }
	.te-stat { border-inline-start: none; border-top: 1px solid rgba(255,255,255,.12); padding: 20px; }
	.te-stat:first-child { border-top: none; }
	.te-stat__number { font-size: 32px; }
	.te-stat__label { font-size: 18px; }
	.te-stat__extra { max-height: none; opacity: 1; margin-top: 8px; overflow: visible; font-size: 16px; }

	/* ---------- Carousels ---------- */
	.te-teachers, .te-testimonials { padding: 32px var(--te-side-pad) 32px; }
	.te-teachers__title, .te-testimonials__title { font-size: 30px; }
	.te-teachers__title > span:last-child { font-size: 36px; }
	.te-testimonials__sub { font-size: 16px; }
	.te-carousel__track { scroll-snap-type: x mandatory; }
	.te-teacher-card { flex: 0 0 100%; scroll-snap-align: center; max-width: 220px; margin: 0 auto; }
	.te-teacher-card img { height: 170px; }
	.te-teacher-card h4 { padding: 12px 14px 0; font-size: 18px; }
	.te-teacher-card__role { padding: 0 14px; margin-bottom: 4px; font-size: 15px; }
	.te-teacher-card__bio { padding: 0 14px 14px; font-size: 14px; line-height: 1.35; }
	.te-video-card { flex: 0 0 100%; scroll-snap-align: center; max-width: 200px; margin: 0 auto; }
	.te-video-card img, .te-video-card iframe { height: 320px; }
	.te-carousel__arrow { width: 40px; height: 40px; font-size: 18px; flex-shrink: 0; }
	.te-teachers__cta h3 { font-size: 26px; }
	.te-teachers__cta p { font-size: 16px; }

	/* ---------- Reviews ---------- */
	.te-reviews { padding: 32px var(--te-side-pad) 40px; }
	.te-reviews__title { font-size: 26px; color: var(--te-navy); }
	.te-reviews__grid { grid-template-columns: 1fr; max-width: 360px; margin: 0 auto 20px; }
	/* This section sits on a light-to-dark gradient; on mobile the taller stacked
	   layout means the first review cards can land on the lighter part of it,
	   making the light-gray text hard to read. A consistent dark backdrop per
	   card fixes contrast regardless of where it lands, without changing the
	   overall color scheme. */
	.te-review-card { background: rgba(11,37,69,.55); border-color: rgba(255,255,255,.22); }

	/* ---------- Urgency ---------- */
	.te-urgency { padding: 20px var(--te-side-pad) 60px; }
	.te-urgency__panel { padding: 24px 18px; border-radius: 14px; }
	.te-urgency__title-line1 { font-size: 30px; line-height: 1.3; }
	.te-urgency__panel h2 { font-size: 24px; }
	.te-urgency .te-accent { padding: 4px 12px; }
	.te-urgency__badge { font-size: 16px; padding: 10px 16px; }
	.te-urgency__panel p { font-size: 16px; line-height: 1.8; text-wrap: balance; }

	/* ---------- Contact ---------- */
	.te-contact { padding: 40px var(--te-side-pad) 48px; }
	.te-contact__form-col { width: 100%; padding: 32px 20px; }
	.te-contact__form-col h2 span:first-child { font-size: 22px; }
	.te-contact__form-col h2 span.te-accent { font-size: 34px; }
	.te-contact__deco--ring-1 { width: 140px; height: 140px; }
	.te-contact__deco--ring-2 { width: 90px; height: 90px; }
	.te-contact__deco--square { width: 60px; height: 60px; }

	/* ---------- FAQ ---------- */
	.te-faq { max-width: 100%; padding: 32px var(--te-side-pad) 48px; }
	.te-faq__title { font-size: 28px; }
	.te-faq__question { padding: 16px 18px; font-size: 17px; min-height: 40px; gap: 14px; }
	.te-faq__chevron { width: 40px; height: 40px; flex-shrink: 0; }
	.te-faq__answer { font-size: 16px; }

	/* ---------- Footer ---------- */
	.te-footer { padding: 24px 20px; font-size: 16px; }

	.te-form-alert, .te-form-success { font-size: 16px; }
}




