/* Block: Free class card. Overlaps the footer by 107px, as in the design. */
.vx-cta { position: relative; z-index: 2; margin: calc(152 * var(--u)) 0 calc(-107 * var(--u)); }
.vx-cta::before { content: ""; position: absolute; z-index: -1; left: 50%; bottom: calc(-40 * var(--u)); width: calc(1400 * var(--u)); height: calc(520 * var(--u)); transform: translateX(-50%); background: radial-gradient(closest-side, rgba(43, 73, 159, .3), rgba(43, 73, 159, 0)); pointer-events: none; }

.vx-cta__card { position: relative; width: calc(1447 * var(--u)); height: calc(496 * var(--u)); margin-inline: auto; border-radius: calc(50 * var(--u)); overflow: hidden; background: #fff url("../../assets/img/cta-card.webp") center / 100% 100% no-repeat; }

.vx-cta__copy { position: absolute; left: calc(78 * var(--u)); top: calc(107 * var(--u)); display: flex; flex-direction: column; align-items: flex-start; }
.vx-cta__heading { max-width: calc(520 * var(--u)); margin-top: calc(17 * var(--u)); font-family: var(--vx-font-head); font-weight: 600; font-size: calc(60 * var(--u)); line-height: calc(59 / 60); letter-spacing: -0.05em; color: #0b0c0b; }
.vx-cta__text { max-width: calc(629 * var(--u)); margin-top: calc(10 * var(--u)); color: var(--vx-grey); font-size: calc(25 * var(--u)); line-height: 1.4; letter-spacing: -0.05em; }
.vx-cta__copy .vx-btn { margin-top: calc(19 * var(--u)); }

.vx-cta__panel { position: absolute; left: calc(799 * var(--u)); top: calc(46 * var(--u)); width: calc(602 * var(--u)); height: calc(404 * var(--u)); border-radius: calc(30 * var(--u)); overflow: hidden; background: var(--vx-black) url("../../assets/img/cta-panel.webp") center / cover no-repeat; --cx: calc(301 * var(--u)); --cy: calc(191 * var(--u)); }
.vx-cta__panel > * { position: absolute; }
.vx-cta__wave { left: calc(158.4 * var(--u)); top: calc(71.7 * var(--u)); width: calc(285.2 * var(--u)); height: calc(238 * var(--u)); }
.vx-cta__ring { left: var(--cx); top: var(--cy); width: var(--d); height: var(--d); margin: calc(var(--d) / -2) 0 0 calc(var(--d) / -2); border: 1px solid rgba(43, 73, 159, .1); border-radius: 50%; }
.vx-cta__ring--1 { --d: calc(360 * var(--u)); }
.vx-cta__ring--2 { --d: calc(285.2 * var(--u)); }
.vx-cta__ring--3 { --d: calc(204.1 * var(--u)); border-color: rgba(43, 73, 159, .2); }
.vx-cta__dot { width: calc(4.865 * var(--u)); height: calc(4.865 * var(--u)); border-radius: 50%; background: var(--vx-blue); }
.vx-cta__dot--1 { left: calc(130.7 * var(--u)); top: calc(123.6 * var(--u)); }
.vx-cta__dot--2 { left: calc(476.1 * var(--u)); top: calc(211.8 * var(--u)); }
.vx-cta__glow { left: var(--cx); top: var(--cy); width: calc(281 * var(--u)); height: calc(281 * var(--u)); max-width: none; transform: translate(-50%, -50%); }
.vx-cta__photo { left: var(--cx); top: var(--cy); width: calc(143.24 * var(--u)); height: calc(143.24 * var(--u)); transform: translate(-50%, -50%); border-radius: 50%; overflow: hidden; }
.vx-cta__photo img { width: 100%; height: 100%; object-fit: cover; }
.vx-cta__zoom { left: calc(260.7 * var(--u)); top: calc(216 * var(--u)); width: calc(80.6 * var(--u)); height: calc(80.6 * var(--u)); }
.vx-cta__zoom img { position: absolute; inset: 0; width: 100%; height: 100%; }
.vx-cta__zoom img + img { inset: calc(22.9 * var(--u)); width: calc(34.75 * var(--u)); height: calc(34.75 * var(--u)); }
.vx-cta__badge { display: flex; align-items: center; height: calc(16 * var(--u)); padding: 0 calc(10 * var(--u)); border-radius: calc(1000 * var(--u)); color: #fff; font-size: calc(12 * var(--u)); line-height: 1; letter-spacing: -0.05em; white-space: nowrap; filter: drop-shadow(0 calc(4 * var(--u)) calc(12 * var(--u)) rgba(0, 0, 0, .25)); }
.vx-cta__badge--1 { left: calc(167 * var(--u)); top: calc(29 * var(--u)); background: #8092c5; }
.vx-cta__badge--2 { left: calc(128 * var(--u)); top: calc(234 * var(--u)); background: var(--vx-lime); color: #000; }
.vx-cta__badge--3 { left: calc(381 * var(--u)); top: calc(86 * var(--u)); background: var(--vx-blue); }
.vx-cta__caption { left: calc(177 * var(--u)); top: calc(330 * var(--u)); display: flex; align-items: center; gap: calc(13 * var(--u)); color: #fff; font-weight: 700; font-size: calc(18 * var(--u)); line-height: calc(25 / 18); letter-spacing: -0.05em; white-space: nowrap; }
.vx-cta__caption img { width: calc(24 * var(--u)); height: calc(24 * var(--u)); }

@media (max-width: 1099.98px) {
	.vx-cta { margin: calc(55 * var(--u)) 0 calc(67 * var(--u)); }
	.vx-cta::before { display: none; }
	.vx-cta__card { width: calc(365 * var(--u)); height: calc(738 * var(--u)); border-radius: calc(30 * var(--u));
		background: radial-gradient(120% 45% at 0% 100%, rgba(43, 73, 159, .42), rgba(43, 73, 159, 0) 70%), radial-gradient(90% 40% at 100% 100%, rgba(203, 200, 43, .5), rgba(203, 200, 43, 0) 70%), url("../../assets/img/cta-bars-mobile.svg") calc(120 * var(--u)) calc(560 * var(--u)) / calc(300 * var(--u)) auto no-repeat, #fbfbff; }
	.vx-cta__copy { left: calc(36 * var(--u)); top: calc(60 * var(--u)); }
	.vx-cta__heading { max-width: calc(260 * var(--u)); margin-top: calc(16 * var(--u)); font-size: calc(30 * var(--u)); line-height: 1; }
	.vx-cta__text { max-width: calc(228 * var(--u)); margin-top: calc(12 * var(--u)); font-size: calc(12 * var(--u)); line-height: calc(20 / 12); }
	.vx-cta__copy .vx-btn { margin-top: calc(10 * var(--u)); }

	.vx-cta__panel { left: calc(23 * var(--u)); top: calc(313 * var(--u)); width: calc(319 * var(--u)); height: calc(347 * var(--u)); background-image: url("../../assets/img/cta-panel-mobile.webp"); --cx: calc(164.8 * var(--u)); --cy: calc(150.3 * var(--u)); }
	.vx-cta__wave { left: calc(75.7 * var(--u)); top: calc(76 * var(--u)); width: calc(178.2 * var(--u)); height: calc(148.5 * var(--u)); }
	.vx-cta__ring { border-width: .5px; }
	.vx-cta__ring--1 { --d: calc(224.86 * var(--u)); }
	.vx-cta__ring--2 { --d: calc(178.14 * var(--u)); }
	.vx-cta__ring--3 { --d: calc(127.47 * var(--u)); }
	.vx-cta__dot { width: calc(3 * var(--u)); height: calc(3 * var(--u)); }
	.vx-cta__dot--1 { left: calc(58.5 * var(--u)); top: calc(108 * var(--u)); }
	.vx-cta__dot--2 { left: calc(274 * var(--u)); top: calc(163 * var(--u)); }
	.vx-cta__glow { width: calc(156.8 * var(--u)); height: calc(156.8 * var(--u)); }
	.vx-cta__photo { width: calc(89.47 * var(--u)); height: calc(89.47 * var(--u)); }
	.vx-cta__zoom { left: calc(139.6 * var(--u)); top: calc(165.9 * var(--u)); width: calc(50.35 * var(--u)); height: calc(50.35 * var(--u)); }
	.vx-cta__zoom img + img { inset: calc(14.3 * var(--u)); width: calc(21.7 * var(--u)); height: calc(21.7 * var(--u)); }
	.vx-cta__badge { height: calc(19.5 * var(--u)); padding: 0 calc(8.5 * var(--u)); font-size: calc(10 * var(--u)); }
	.vx-cta__badge--1 { left: calc(62.4 * var(--u)); top: calc(44.5 * var(--u)); }
	.vx-cta__badge--2 { left: calc(42 * var(--u)); top: calc(187.3 * var(--u)); }
	.vx-cta__badge--3 { left: calc(196.2 * var(--u)); top: calc(80.2 * var(--u)); }
	.vx-cta__caption { left: calc(77 * var(--u)); top: calc(264 * var(--u)); gap: calc(13 * var(--u)); font-size: calc(12 * var(--u)); line-height: calc(25 / 12); }
}
