/*
 * Redesign v2 (Figma "UBA_new_2", 2026).
 * Desktop sizes use --u = 1 Figma px at a 1920px wide viewport, so values copy 1:1 from the layout.
 * Mobile (<=768px) uses plain px, like the rest of style.css.
 */

:root {
	--u: calc(100vw / 1920);
	--m: calc(min(100vw, 480px) / 390);
	--yellow: #F2F302;
	--black: #121212;
	--gray: #9C9C9C;
}

/* Figma uses static Inter (no optical sizing); the Google variable font would otherwise narrow larger sizes. */
body {
	font-optical-sizing: none;
}

/* Animated offsets are non-inheriting typed properties: no double movement of nested elements and cheap style recalcs. */
@property --px {
	syntax: '<length>';
	inherits: false;
	initial-value: 0px;
}

@property --py {
	syntax: '<length>';
	inherits: false;
	initial-value: 0px;
}

/* Scroll animations move elements with `translate` (see initMotion in js/v2.js) so layout transforms stay untouched. */
.dirs-v2__title span, .gal-v2__title span, .howit-v2__title span, .rev-v2__title span, .google-v2__title span,
.form-v2__title span, .tr-v2__title span, .seo-v2__kicker, .seo-v2__title, .sched-v2__title, .gal-v2__label,
.google-v2__rating, .form-v2__badge, .form-v2__text,
.hero-v2__usyk, .hero-v2__crawford, .hero-v2__logo, .hero-v2__word--fight2, .hero-v2__tagline-brush, .hero-v2__tagline, .hero-v2__btn,
.dirs-v2__splash, .gal-v2__splash, .sched-v2__splash, .howit-v2__uba, .howit-v2__splash, .google-v2__splash, .google-v2__photo,
.seo-v2__uba, .tr-v2__uba, .tr-v2__our, .form-v2__slogan, .rev-v2__quote,
.dirs-v2__card, .tr-v2__item, .howit-v2__item, .google-v2__card, .seo-v2__col, .sched-v2__about p, .gal-v2__item,
.tr-v2__num, .tr-v2__photo, .howit-v2__photo, .form-v2__card,
.tt-hero__title span, .tt-hero__btn, .tt-hero__crumbs, .price-v2__title span, .price-v2__badge, .price-v2__splash, .price-v2__bag,
.price-v2__btn, .tt-v2__title, .tt-v2__filters, .tt-v2__signup, .tt-v2__badge,
.trh__title, .trh__role, .trh__text, .trh__photo, .trd__title, .trd__splash, .trd__bag, .trd__btn,
.tri__title, .tri__text, .tri__list, .tri__btn, .yg-v2__title span,
.trd__title > span, .why-v2__title > span, .perks-v2__title > span, .sban-v2__title > span {
	translate: var(--px, 0px) var(--py, 0px);
	will-change: translate, opacity;
}

.visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* ---------- header ---------- */

@media (min-width: 769px) {
	.header {
		background: var(--black);
		min-height: calc(79.375 * var(--u));
	}

	.header > .container {
		max-width: none;
		padding: 0 calc(20 * var(--u)) 0 calc(85 * var(--u));
	}

	.header__inner {
		justify-content: flex-start;
		gap: calc(85 * var(--u));
		min-height: calc(79.375 * var(--u));
		padding: calc(10 * var(--u)) 0;
	}

	.header__logo {
		max-width: none;
		width: calc(101.784 * var(--u));
		height: calc(59.375 * var(--u));
		margin: 0;
		flex-shrink: 0;
	}

	.header__logo img {
		width: 100%;
		height: 100%;
	}

	.header__content {
		max-width: none;
		width: auto;
		gap: calc(85 * var(--u));
		justify-content: flex-start;
	}

	.header__menu {
		max-width: none;
		width: auto;
	}

	.header__menu > ul {
		gap: calc(39 * var(--u));
		justify-content: flex-start;
	}

	.header__menu-btn,
	.header__menu ul li a,
	.header__lang-link,
	.header__lang-line {
		font-family: 'Oswald', sans-serif;
		font-size: calc(20 * var(--u));
		font-weight: 600;
	}

	.header__menu-btn {
		gap: calc(6 * var(--u));
	}

	.header__menu-btn::after {
		width: calc(21.77 * var(--u));
		height: calc(11.896 * var(--u));
	}

	.header__info {
		gap: calc(22 * var(--u));
	}

	.header__tel {
		gap: calc(22 * var(--u));
	}

	.header__tel-name {
		width: calc(224 * var(--u));
		max-width: none;
		height: calc(50 * var(--u));
		padding: calc(14 * var(--u)) calc(20 * var(--u));
		gap: calc(5 * var(--u));
		justify-content: center;
		color: #000;
		font-size: calc(20 * var(--u));
		font-weight: 600;
		white-space: nowrap;
	}

	.header__tel-name svg:first-child {
		width: calc(24 * var(--u));
		height: auto;
	}

	.header__tel-name svg:last-child {
		width: calc(16 * var(--u));
		height: calc(16 * var(--u));
	}

	.header__tel-num {
		font-size: calc(24 * var(--u));
		font-weight: 600;
	}

	.header__social {
		gap: calc(4 * var(--u));
	}

	.header__social-link {
		width: calc(44 * var(--u));
		height: calc(44 * var(--u));
		min-width: calc(44 * var(--u));
	}

	.header__social-link svg {
		width: 100%;
		height: 100%;
	}
}

.header__social-link svg path {
	transition: fill .2s ease;
}

/* ---------- shared: brush button ---------- */

.v2-btn {
	position: relative;
	display: block;
	width: calc(810.68 * var(--u));
	height: calc(85.773 * var(--u));
	flex: none;
}

.v2-btn img {
	position: absolute;
	top: 0;
	left: 0;
	width: calc(679.598 * var(--u));
	height: 100%;
	max-width: none;
	pointer-events: none;
}

.v2-btn img + img {
	left: calc(131.08 * var(--u));
}

.v2-btn span {
	position: absolute;
	left: calc(399.5 * var(--u));
	top: calc(23 * var(--u));
	transform: translateX(-50%);
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(26 * var(--u));
	line-height: 1.482;
	color: var(--black);
	text-transform: uppercase;
	white-space: nowrap;
	transition: color .2s ease;
}

.v2-btn img {
	transition: filter .2s ease;
}

/* white brush → yellow: sepia + saturate keep every in-between frame on the yellow hue
   (the old invert/hue-rotate chain flashed orange while transitioning) */
.v2-btn--white:hover img {
	filter: sepia(1) saturate(17) brightness(.95);
}

/* yellow button: black on light sections, white on dark ones */
.v2-btn--yellow:hover img {
	filter: brightness(0);
}

.v2-btn--yellow:hover span {
	color: #fff;
}

.faq-v2 .v2-btn--yellow:hover img,
.sban-v2 .v2-btn--yellow:hover img,
.price-v2 .v2-btn--yellow:hover img,
.trd .v2-btn--yellow:hover img,
.tri .v2-btn--yellow:hover img,
.tt-hero--dark .v2-btn--yellow:hover img {
	filter: saturate(0) brightness(1.15);
}

.faq-v2 .v2-btn--yellow:hover span,
.sban-v2 .v2-btn--yellow:hover span,
.price-v2 .v2-btn--yellow:hover span,
.trd .v2-btn--yellow:hover span,
.tri .v2-btn--yellow:hover span,
.tt-hero--dark .v2-btn--yellow:hover span {
	color: var(--black);
}

@media (max-width: 768px) {
	.v2-btn {
		width: calc(360 * var(--m));
		height: calc(58 * var(--m));
	}

	.v2-btn img {
		width: calc(302 * var(--m));
	}

	.v2-btn img + img {
		left: calc(58 * var(--m));
	}

	.v2-btn span {
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		font-size: calc(13 * var(--m));
	}

	/* hero buttons follow the content column exactly (same left edge as the title) */
	.tt-hero__btn.v2-btn, .price-hero__btn.v2-btn, .sban-v2__btn.v2-btn, .trd__btn.v2-btn { width: calc(100% + 12px) !important; max-width: 412px; margin-left: -12px !important; }
	.tt-hero__btn.v2-btn img, .price-hero__btn.v2-btn img, .sban-v2__btn.v2-btn img, .trd__btn.v2-btn img { width: 84%; }
	.tt-hero__btn.v2-btn img + img, .price-hero__btn.v2-btn img + img, .sban-v2__btn.v2-btn img + img, .trd__btn.v2-btn img + img { left: 16% !important; }
}

/* ---------- hero ---------- */

.hero.hero-v2 {
	position: relative;
	z-index: 3;
	padding-top: calc(79.375 * var(--u));
	background: var(--black);
}

.hero.hero-v2::after {
	content: none;
}

.hero-v2__stage {
	position: relative;
	height: calc(870 * var(--u));
	overflow: hidden;
	background: var(--black);
}

.hero-v2__stage img {
	display: block;
	max-width: none;
	pointer-events: none;
	user-select: none;
}

.hero-v2__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero-v2__gym {
	position: absolute;
	left: calc(-268 * var(--u));
	top: calc(-5 * var(--u));
	width: calc(2227 * var(--u));
	height: calc(899 * var(--u));
}

.hero-v2__gym img {
	width: 100%;
	height: 100%;
	opacity: .8;
	object-position: bottom;
}

.hero-v2__gym::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 2227 899' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><rect x='0' y='0' height='100%' width='100%' fill='url(%23grad)' opacity='0.6000000238418579'/><defs><radialGradient id='grad' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(0.50001 58.4 -144.67 1.2386 1237 29.5)'><stop stop-color='rgba(0,0,0,1)' offset='0'/><stop stop-color='rgba(0,0,0,0)' offset='1'/></radialGradient></defs></svg>");
	background-size: 100% 100%;
}

.hero-v2__usyk-photo,
.hero-v2__usyk-color {
	position: absolute;
	left: calc(-114 * var(--u));
	top: calc(45 * var(--u));
	width: calc(629 * var(--u));
	height: calc(847 * var(--u));
	object-position: bottom;
}

.hero-v2__usyk-color {
	mix-blend-mode: color;
}

.hero-v2__usyk-outline {
	position: absolute;
	left: calc(-196 * var(--u));
	top: calc(40 * var(--u));
	width: calc(984 * var(--u));
	height: calc(830 * var(--u));
	overflow: hidden;
}

.hero-v2__usyk-outline img {
	position: absolute;
	left: -22.83%;
	top: -32.71%;
	width: 316.38%;
	height: 140.07%;
}

.hero-v2__crawford img {
	position: absolute;
	left: calc(1122.71 * var(--u));
	top: calc(-141 * var(--u));
	width: calc(1227.538 * var(--u));
	height: calc(1068.043 * var(--u));
	object-fit: cover;
}

.hero-v2__crawford img + img {
	left: calc(1122 * var(--u));
}

.hero-v2__word {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(1332.444 * var(--u));
	height: calc(388.542 * var(--u));
	pointer-events: none;
}

.hero-v2__word--fight2 {
	left: calc(657 * var(--u));
	top: calc(666 * var(--u));
	font-family: 'NeoPrintM319', sans-serif;
	font-size: calc(250 * var(--u));
	line-height: calc(150 * var(--u));
	text-transform: uppercase;
	color: rgba(221, 221, 221, .5);
	opacity: .3;
}

.hero-v2__word--fight2 {
	transform: rotate(-4.49deg);
	width: calc(1314.039 * var(--u));
	height: calc(286.469 * var(--u));
	left: calc((657 + (1332.444 - 1314.039) / 2) * var(--u));
	top: calc((666 + (388.542 - 286.469) / 2) * var(--u));
	align-items: flex-start;
	justify-content: flex-start;
}

.hero-v2__logo {
	position: absolute;
	left: calc(485.96 * var(--u));
	top: 0;
	width: calc(1017 * var(--u));
	height: calc(560 * var(--u));
	overflow: hidden;
	filter: drop-shadow(calc(3 * var(--u)) calc(17 * var(--u)) calc(12 * var(--u)) rgba(0, 0, 0, .66));
}

.hero-v2__logo img {
	position: absolute;
	left: 0;
	top: -7.5%;
	width: 100%;
	height: 110.18%;
}

.hero-v2__tagline-brush {
	position: absolute;
	left: calc(537.3 * var(--u));
	top: calc(448.92 * var(--u));
	width: calc(987.42 * var(--u));
	height: calc(224.9 * var(--u));
	display: flex;
	align-items: center;
	justify-content: center;
}

.hero-v2__tagline-brush span {
	position: relative;
	flex: none;
	width: calc(982.04 * var(--u));
	height: calc(196.11 * var(--u));
	transform: rotate(1.68deg);
}

.hero-v2__tagline-brush img {
	position: absolute;
	left: -2.48%;
	top: -3.46%;
	width: 104.03%;
	height: 122.96%;
}

.hero-v2__tagline {
	position: absolute;
	left: calc(607.97 * var(--u));
	top: calc(509 * var(--u));
	width: calc(804.427 * var(--u));
	height: calc(109.921 * var(--u));
	display: flex;
	align-items: center;
	justify-content: center;
}

.hero-v2__tagline p {
	flex: none;
	transform: rotate(-5deg);
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(50 * var(--u));
	line-height: calc(40 * var(--u));
	letter-spacing: -0.005em;
	text-transform: uppercase;
	white-space: nowrap;
	color: #fff;
}

.hero-v2__tagline span {
	color: var(--gray);
}

.hero-v2__tagline em {
	font-style: normal;
	color: var(--yellow);
}

.hero-v2__btn.v2-btn {
	position: absolute;
	left: calc(593.02 * var(--u));
	top: calc(672 * var(--u));
}

/* ribbons */

.hero-v2__ribbon {
	position: absolute;
	z-index: 4;
	height: calc(91.338 * var(--u));
	overflow: hidden;
	display: flex;
	align-items: center;
}

.hero-v2__ribbon--dark {
	width: calc(1945.816 * var(--u));
	left: calc((962.42 - 1945.816 / 2) * var(--u));
	top: calc((79.375 + 862.84 - 91.338 / 2) * var(--u));
	transform: rotate(.24deg);
	background: #2F2F2F;
	color: #fff;
}

.hero-v2__ribbon--yellow {
	width: calc(2104.801 * var(--u));
	left: calc((913.39 - 2104.801 / 2) * var(--u));
	top: calc((79.375 + 882.3 - 91.338 / 2) * var(--u));
	transform: rotate(-3.9deg);
	background: var(--yellow);
	color: #303030;
	z-index: 5;
}

.hero-v2__ribbon-track {
	display: flex;
	align-items: center;
	gap: calc(25 * var(--u));
	flex: none;
	animation: v2-marquee 60s linear infinite;
}

.hero-v2__ribbon--dark .hero-v2__ribbon-track {
	margin-left: calc(-91.8 * var(--u));
}

.hero-v2__ribbon--yellow .hero-v2__ribbon-track {
	margin-left: calc(123.7 * var(--u));
}

.hero-v2__ribbon-track span {
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
	font-size: calc(48 * var(--u));
	line-height: 1.15;
	text-transform: uppercase;
	white-space: nowrap;
}

.hero-v2__ribbon-track span.is-outline {
	color: transparent;
	-webkit-text-stroke: calc(2 * var(--u)) #fff;
}

.hero-v2__ribbon--yellow .hero-v2__ribbon-track span.is-outline {
	-webkit-text-stroke-color: #303030;
}

.hero-v2__arrow {
	flex: none;
	width: calc(21.28 * var(--u));
	height: calc(39.15 * var(--u));
	background: url('../img/v2/common/ribbon-arrow-white.svg') center / 100% 100% no-repeat;
}

.hero-v2__edge {
	position: absolute;
	z-index: 3;
	left: calc(-74 * var(--u));
	top: calc((79.375 + 870) * var(--u));
	width: calc(2011 * var(--u));
	height: calc(127.276 * var(--u));
	max-width: none;
	pointer-events: none;
}

@keyframes v2-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
	.hero-v2__ribbon-track { animation: none; }
}

/* hero — mobile: own composition (logo → tagline → fighters → button) */
@media (max-width: 768px) {
	:root {
		--m: calc(min(100vw, 480px) / 390);
	}

	.hero.hero-v2 {
		padding-top: 17px;
		overflow: hidden;
	}

	.hero-v2__stage {
		height: calc(660 * var(--m));
		max-width: 480px;
		margin: 0 auto;
		overflow: visible;
	}

	.hero-v2__bg {
		left: 50%;
		width: 100vw;
		transform: translateX(-50%);
		object-position: 30% center;
	}

	.hero-v2__gym {
		left: 50%;
		top: auto;
		bottom: 0;
		width: calc(1500 * var(--m));
		height: calc(605 * var(--m));
		transform: translateX(-50%);
	}

	.hero-v2__usyk-photo,
	.hero-v2__usyk-color {
		left: calc(-62 * var(--m));
		top: auto;
		bottom: 0;
		width: calc(283 * var(--m));
		height: calc(381 * var(--m));
	}

	.hero-v2__usyk-outline {
		left: calc(-99 * var(--m));
		top: auto;
		bottom: calc(3 * var(--m));
		width: calc(443 * var(--m));
		height: calc(373.5 * var(--m));
	}

	.hero-v2__crawford img,
	.hero-v2__crawford img + img {
		left: calc(55 * var(--m));
		top: auto;
		bottom: calc(-40 * var(--m));
		width: calc(552 * var(--m));
		height: calc(480 * var(--m));
	}

	.hero-v2__word--fight2 {
		display: none;
	}

	.hero-v2__logo {
		left: calc(22 * var(--m));
		top: calc(14 * var(--m));
		width: calc(346 * var(--m));
		height: calc(190.5 * var(--m));
		filter: drop-shadow(1px 6px 6px rgba(0, 0, 0, .66));
	}

	.hero-v2__tagline-brush {
		left: calc(-8 * var(--m));
		top: calc(186 * var(--m));
		width: calc(406 * var(--m));
		height: calc(92 * var(--m));
	}

	.hero-v2__tagline-brush span {
		width: calc(404 * var(--m));
		height: calc(80.7 * var(--m));
	}

	.hero-v2__tagline {
		left: 0;
		top: calc(198 * var(--m));
		width: 100%;
		height: calc(64 * var(--m));
	}

	.hero-v2__tagline p {
		font-size: calc(21 * var(--m));
		line-height: calc(18 * var(--m));
	}

	.hero-v2__btn.v2-btn {
		left: calc(15 * var(--m));
		top: auto;
		bottom: calc(40 * var(--m));
		width: calc(360 * var(--m));
		height: calc(58 * var(--m));
		z-index: 2;
	}

	.hero-v2__btn.v2-btn span {
		font-size: calc(13 * var(--m));
	}

	.hero-v2__ribbon {
		height: calc(40 * var(--m));
	}

	.hero-v2__ribbon--dark {
		width: 110vw;
		left: -5vw;
		top: calc(17px + 650 * var(--m));
	}

	.hero-v2__ribbon--yellow {
		width: 116vw;
		left: -8vw;
		top: calc(17px + 668 * var(--m));
	}

	.hero-v2__ribbon-track {
		gap: calc(12 * var(--m));
		margin-left: 0 !important;
		animation-duration: 40s;
	}

	.hero-v2__ribbon-track span {
		font-size: calc(22 * var(--m));
	}

	.hero-v2__ribbon-track span.is-outline {
		-webkit-text-stroke-width: 1px;
	}

	.hero-v2__arrow {
		width: calc(10 * var(--m));
		height: calc(18 * var(--m));
	}

	.hero-v2__edge {
		left: -10vw;
		width: 120vw;
		height: calc(50 * var(--m));
		top: calc(17px + 660 * var(--m));
	}

	.hero.hero-v2 {
		padding-bottom: calc(60 * var(--m));
		margin-bottom: calc(-60 * var(--m));
	}
}


/* ---------- directions ("Клуб єдиноборств") ---------- */

.management.dirs-v2 {
	position: relative;
	z-index: 2;
	height: calc(2164 * var(--u));
	margin-top: calc(-10.375 * var(--u));
	margin-bottom: calc(-154 * var(--u));
	padding: 0;
	background: none;
}

.dirs-v2__bg {
	position: absolute;
	left: calc(-25 * var(--u));
	top: 0;
	width: calc(2037 * var(--u));
	height: calc(2091 * var(--u));
	max-width: none;
	object-fit: cover;
	pointer-events: none;
}

.dirs-v2__splash {
	position: absolute;
	left: calc(1329 * var(--u));
	top: calc(40.47 * var(--u));
	width: calc(656.7 * var(--u));
	height: calc(650.7 * var(--u));
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}

.dirs-v2__splash img {
	flex: none;
	width: calc(502.348 * var(--u));
	height: calc(423.217 * var(--u));
	max-width: none;
	transform: rotate(42.08deg);
}

.dirs-v2__title {
	position: absolute;
	inset: 0 0 auto 0;
	height: 0;
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(150 * var(--u));
	line-height: calc(160 * var(--u));
	text-transform: uppercase;
	color: var(--black);
	z-index: 1;
}

.dirs-v2__title span {
	position: absolute;
	height: calc(147.049 * var(--u));
	white-space: nowrap;
	transform: rotate(-7.29deg);
}

.dirs-v2__title span:nth-of-type(1) {
	left: calc(83.93 * var(--u));
	top: calc(190.52 * var(--u));
	width: calc(1309.79 * var(--u));
}

.dirs-v2__title span:nth-of-type(2) {
	left: calc(184.4 * var(--u));
	top: calc(322.9 * var(--u));
	width: calc(1659.725 * var(--u));
	color: transparent;
	-webkit-text-stroke: calc(2 * var(--u)) var(--black);
}

.dirs-v2__grid {
	position: absolute;
	left: calc(12.1 * var(--u));
	top: calc(628.15 * var(--u));
	display: grid;
	grid-template-columns: repeat(3, calc(612.5 * var(--u)));
	grid-auto-rows: calc(547 * var(--u));
	z-index: 2;
}

.dirs-v2__card {
	position: relative;
	display: block;
}

.dirs-v2__frame,
.dirs-v2__photo {
	position: absolute;
	left: 0;
	top: 0;
	width: calc(807.031 * var(--u));
	height: calc(455 * var(--u));
	max-width: none;
}

.dirs-v2__photo {
	object-fit: cover;
	-webkit-mask: url('../img/v2/directions/mask.png') 0 0 / 100% 100% no-repeat;
	mask: url('../img/v2/directions/mask.png') 0 0 / 100% 100% no-repeat;
}

.dirs-v2__tape {
	position: absolute;
	left: calc(184.36 * var(--u));
	top: calc(-8.72 * var(--u));
	width: calc(343.211 * var(--u));
	height: calc(143.152 * var(--u));
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}

.dirs-v2__tape img {
	flex: none;
	width: calc(335 * var(--u));
	height: calc(117 * var(--u));
	max-width: none;
	opacity: .7;
	transform: rotate(-4.54deg) scaleY(-1);
}

.dirs-v2__name {
	position: absolute;
	left: calc(347 * var(--u));
	top: calc(445 * var(--u));
	width: calc(550 * var(--u));
	transform: translateX(-50%);
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(40 * var(--u));
	line-height: calc(48 * var(--u));
	text-align: center;
	text-transform: uppercase;
	color: var(--black);
	transition: color .2s ease;
}

.dirs-v2__card:hover .dirs-v2__name {
	color: #b9ba00;
}

.dirs-v2__btn.v2-btn {
	position: absolute;
	left: calc(556 * var(--u));
	top: calc(1802.93 * var(--u));
	z-index: 2;
}

@media (max-width: 768px) {
	.management.dirs-v2 {
		height: auto;
		margin-bottom: 0;
		padding: 60px 0 120px;
		overflow: hidden;
	}

	.dirs-v2__bg {
		left: 0;
		width: 100%;
		height: 100%;
	}

	.dirs-v2__splash {
		left: auto;
		right: -120px;
		top: 0;
		width: 300px;
		height: 300px;
	}

	.dirs-v2__splash img {
		width: 220px;
		height: 185px;
	}

	.dirs-v2__title {
		position: relative;
		height: auto;
		max-width: 480px;
		margin: 0 auto;
		padding: 20px 16px 40px;
		font-size: 44px;
		line-height: 46px;
		display: flex;
		flex-direction: column;
		transform: rotate(-7.29deg);
	}

	.dirs-v2__title span,
	.dirs-v2__title span:nth-of-type(1),
	.dirs-v2__title span:nth-of-type(2) {
		position: static;
		width: auto;
		height: auto;
		transform: none;
		white-space: normal;
	}

	.dirs-v2__title span:nth-of-type(2) {
		-webkit-text-stroke-width: 1px;
		font-size: 34px;
		line-height: 40px;
		white-space: nowrap;
	}

	.dirs-v2__grid {
		position: relative;
		left: auto;
		top: auto;
		max-width: 480px;
		margin: 0 auto;
		padding: 0 16px;
		grid-template-columns: 1fr;
		grid-auto-rows: auto;
		gap: 36px;
	}

	/* the card is the visible torn photo; frame/photo images carry ~35% transparent padding,
	   so they are scaled past the card to make the photo almost full width (as on the current site) */
	.dirs-v2__card {
		width: 100%;
		aspect-ratio: 520 / 375;
		margin-bottom: 56px;
	}

	.dirs-v2__frame,
	.dirs-v2__photo {
		left: -14%;
		top: -13.2%;
		width: 155%;
		height: 121.2%;
	}

	.dirs-v2__tape {
		left: 21%;
		top: -15%;
		width: 60%;
		height: 34%;
	}

	.dirs-v2__tape img {
		width: 100%;
		height: 82%;
	}

	.dirs-v2__name {
		left: 50%;
		top: calc(100% + 12px);
		width: 100%;
		font-size: 26px;
		line-height: 30px;
	}

	.dirs-v2__btn.v2-btn {
		position: relative;
		left: auto;
		top: auto;
		margin: 40px auto 0;
	}
}

/* ---------- ribbons (shared) ---------- */

.v2-ribbon {
	position: absolute;
	z-index: 4;
	height: calc(91.338 * var(--u));
	overflow: hidden;
	display: flex;
	align-items: center;
}

.v2-ribbon--dark .hero-v2__arrow,
.gal-v2__ribbon .hero-v2__arrow {
	background-image: url('../img/v2/common/ribbon-arrow-black.svg');
}

/* ---------- gallery ("Атмосфера тренувань") ---------- */

.gal-v2 {
	position: relative;
	z-index: 3;
	height: calc((71 + 1415) * var(--u));
	margin-bottom: calc(-214.1 * var(--u));
	padding-top: calc(71 * var(--u));
	color: #fff;
}

.gal-v2__ribbon {
	left: calc(-24.05 * var(--u));
	top: calc(25.3 * var(--u));
	width: calc(1974.441 * var(--u));
	transform: rotate(-1.37deg);
	background: #fff;
	color: var(--black);
	z-index: 5;
}

.gal-v2__ribbon .hero-v2__ribbon-track {
	margin-left: calc(43.5 * var(--u));
}

.gal-v2__ribbon .hero-v2__ribbon-track span.is-outline {
	-webkit-text-stroke-color: var(--black);
}

.gal-v2__frame {
	position: relative;
	height: calc(1415 * var(--u));
	overflow: hidden;
	background: var(--black);
}

.gal-v2__frame img {
	display: block;
	max-width: none;
}

.gal-v2__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-position: bottom;
	pointer-events: none;
}

.gal-v2__frame::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 66.214%, var(--black));
	pointer-events: none;
}

/* the texture fades out before the frame ends, into the flat #111 of the next block's torn edge,
   so the photo background is not cut by a hard line (the ::before gradient sits under the image) */
.gal-v2:not(.gal-v2--trainer) .gal-v2__frame { background: #111; }
.gal-v2:not(.gal-v2--trainer) .gal-v2__bg {
	-webkit-mask-image: linear-gradient(to bottom, #000 62%, transparent 92%);
	mask-image: linear-gradient(to bottom, #000 62%, transparent 92%);
}

.gal-v2__splash {
	position: absolute;
	left: calc(733.06 * var(--u));
	top: calc(112.07 * var(--u));
	width: calc(492.84 * var(--u));
	height: calc(499.23 * var(--u));
	pointer-events: none;
}

.gal-v2__splash img {
	width: 100%;
	height: 100%;
}

.gal-v2__label-brush {
	position: absolute;
	left: calc(81.09 * var(--u));
	top: calc(207.07 * var(--u));
	width: calc(334.72 * var(--u));
	height: calc(18 * var(--u));
	transform: rotate(-5.54deg);
}

.gal-v2__label-brush img {
	position: absolute;
	left: 0;
	top: calc(-37 * var(--u));
	width: 100%;
	height: calc(92 * var(--u));
}

.gal-v2__label-text {
	position: absolute;
	left: calc(112 * var(--u));
	top: calc(177.66 * var(--u));
	width: calc(219.411 * var(--u));
	height: calc(78.51 * var(--u));
	display: flex;
	align-items: center;
	justify-content: center;
}

.gal-v2__label-text,
.gal-v2__title span {
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	text-transform: uppercase;
	white-space: nowrap;
}

.gal-v2__label-text {
	font-size: calc(60 * var(--u));
	line-height: calc(60 * var(--u));
	color: var(--black);
	transform: rotate(-5deg);
}

.gal-v2__title span {
	position: absolute;
	font-size: calc(150 * var(--u));
	line-height: calc(160 * var(--u));
	transform: rotate(-5deg);
}

.gal-v2__title span:nth-of-type(1) {
	left: calc(85.57 * var(--u));
	top: calc(255.94 * var(--u));
	width: calc(968.86 * var(--u));
	height: calc(147.049 * var(--u));
	color: #fff;
}

.gal-v2__title span:nth-of-type(2) {
	left: calc(262.61 * var(--u));
	top: calc(412.03 * var(--u));
	color: var(--yellow);
}

.gal-v2__text {
	position: absolute;
	left: calc(1282 * var(--u));
	top: calc(255 * var(--u));
	width: calc(434 * var(--u));
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	font-size: calc(32 * var(--u));
	line-height: 1.15;
	text-transform: uppercase;
	color: #fff;
}

.gal-v2__nav {
	position: absolute;
	left: calc(1591 * var(--u));
	top: calc(446 * var(--u));
	width: calc(247.22 * var(--u));
	height: calc(88 * var(--u));
	z-index: 3;
}

.gal-v2__prev,
.gal-v2__next {
	position: absolute;
	top: calc(7 * var(--u));
	width: calc(40 * var(--u));
	height: calc(74 * var(--u));
	padding: 0;
	border: 0;
	background: url('../img/v2/gallery/nav-left.svg') center / 100% 100% no-repeat;
	cursor: pointer;
	transition: opacity .2s ease, transform .2s ease;
}

.gal-v2__prev {
	left: 0;
}

.gal-v2__next {
	left: calc(206.38 * var(--u));
	width: calc(40.84 * var(--u));
	height: calc(74.734 * var(--u));
	background-image: url('../img/v2/gallery/nav-right.svg');
}

.gal-v2__prev:hover { transform: translateX(calc(-4 * var(--u))); }
.gal-v2__next:hover { transform: translateX(calc(4 * var(--u))); }

.gal-v2__prev.swiper-button-disabled,
.gal-v2__next.swiper-button-disabled {
	opacity: .3;
	pointer-events: none;
}

.gal-v2__count {
	position: absolute;
	left: calc(68 * var(--u));
	top: 0;
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	text-transform: uppercase;
	white-space: nowrap;
	line-height: calc(88 * var(--u));
	color: #fff;
}

.gal-v2__current {
	font-size: calc(96 * var(--u));
}

.gal-v2__total {
	font-size: calc(48 * var(--u));
	color: rgba(255, 255, 255, .56);
}

.gal-v2__slider {
	position: absolute !important;
	left: 0;
	top: calc(630 * var(--u));
	width: 100%;
	height: calc(640 * var(--u));
	overflow: hidden;
}

.gal-v2__slide {
	position: relative;
	width: 100%;
	height: 100%;
}

.gal-v2__item {
	position: absolute;
	display: block;
	cursor: zoom-in;
}

.gal-v2__item img,
.gal-v2__item video {
	transition: filter .3s ease;
}

.gal-v2__item:hover img,
.gal-v2__item:hover video {
	filter: brightness(1.08);
}

/* play badge on video items */
.gal-v2__item.is-video::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: calc(72 * var(--u));
	height: calc(72 * var(--u));
	min-width: 44px;
	min-height: 44px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: var(--yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='%23121212'/%3E%3C/svg%3E") 55% 50% / 45% no-repeat;
	pointer-events: none;
	transition: transform .2s ease;
}

.gal-v2__item.is-video:hover::after { transform: translate(-50%, -50%) scale(1.08); }

.fancybox__container { --fancybox-accent-color: var(--yellow); z-index: 100000; }

.gal-v2__item img,
.gal-v2__item video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	-webkit-mask: var(--mask) 0 0 / 100% 100% no-repeat;
	mask: var(--mask) 0 0 / 100% 100% no-repeat;
}

.gal-v2__item--big { left: calc(85.5 * var(--u)); top: calc(11 * var(--u)); width: calc(1040.627 * var(--u)); height: calc(607 * var(--u)); --mask: url('../img/v2/gallery/mask-big.png'); }
.gal-v2__item--tl { left: calc(1147.57 * var(--u)); top: calc(10.5 * var(--u)); width: calc(332.245 * var(--u)); height: calc(293 * var(--u)); --mask: url('../img/v2/gallery/mask-tl.png'); }
.gal-v2__item--tr { left: calc(1498.19 * var(--u)); top: calc(10.5 * var(--u)); width: calc(339.979 * var(--u)); height: calc(292.503 * var(--u)); --mask: url('../img/v2/gallery/mask-tr.png'); }
.gal-v2__item--bl { left: calc(1149.44 * var(--u)); top: calc(326.99 * var(--u)); width: calc(329.272 * var(--u)); height: calc(290.527 * var(--u)); --mask: url('../img/v2/gallery/mask-bl.png'); }
.gal-v2__item--br { left: calc(1499.77 * var(--u)); top: calc(325.5 * var(--u)); width: calc(339.228 * var(--u)); height: calc(292.009 * var(--u)); --mask: url('../img/v2/gallery/mask-br.png'); }

.gal-v2__hint {
	position: absolute;
	left: calc(1559 * var(--u));
	top: calc(1278 * var(--u));
	font-family: 'Oswald', sans-serif;
	font-weight: 300;
	font-size: calc(22 * var(--u));
	line-height: 1.15;
	color: var(--gray);
	white-space: nowrap;
}

@media (max-width: 768px) {
	.gal-v2 {
		height: auto;
		margin-bottom: 0;
		padding-top: 40px;
	}

	.v2-ribbon {
		height: calc(40 * var(--m));
	}

	.gal-v2__ribbon {
		left: -5vw;
		top: 12px;
		width: 110vw;
	}

	.gal-v2__ribbon .hero-v2__ribbon-track {
		margin-left: 0;
	}

	.gal-v2__frame {
		height: auto;
		padding: 70px 16px 120px;
	}

	.gal-v2__frame > * {
		max-width: 448px;
		margin-left: auto;
		margin-right: auto;
	}

	.gal-v2__splash {
		left: auto;
		right: -60px;
		top: 30px;
		width: 240px;
		height: 243px;
	}

	.gal-v2__label {
		position: relative;
		width: 170px;
		height: 50px;
		margin-left: 0;
	}

	.gal-v2__label-brush {
		left: 0;
		top: 18px;
		width: 170px;
		height: 10px;
	}

	.gal-v2__label-brush img {
		top: -20px;
		height: 50px;
	}

	.gal-v2__label-text {
		left: 0;
		top: 0;
		width: 170px;
		height: 50px;
		font-size: 32px;
		line-height: 32px;
	}

	.gal-v2__title {
		position: relative;
		display: flex;
		flex-direction: column;
		margin-top: 10px;
		transform: rotate(-5deg);
	}

	.gal-v2__title span,
	.gal-v2__title span:nth-of-type(1),
	.gal-v2__title span:nth-of-type(2) {
		position: static;
		width: auto;
		height: auto;
		transform: none;
		font-size: 62px;
		line-height: 66px;
	}

	.gal-v2__title span:nth-of-type(2) {
		padding-left: 40px;
	}

	.gal-v2__text {
		position: relative;
		left: auto;
		top: auto;
		width: auto;
		margin-top: 28px;
		font-size: 20px;
	}

	.gal-v2__nav {
		position: relative;
		left: auto;
		top: auto;
		width: 180px;
		height: 60px;
		margin: 24px 0 0;
	}

	.gal-v2__prev,
	.gal-v2__next {
		top: 8px;
		width: 24px;
		height: 44px;
	}

	.gal-v2__next {
		left: 150px;
	}

	.gal-v2__count {
		left: 50px;
		line-height: 60px;
	}

	.gal-v2__current { font-size: 64px; }
	.gal-v2__total { font-size: 32px; }

	.gal-v2__slider {
		position: relative !important;
		top: auto;
		height: auto;
		margin-top: 16px;
	}

	.gal-v2__slide {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
		height: auto;
	}

	.gal-v2__item,
	.gal-v2__item--big,
	.gal-v2__item--tl,
	.gal-v2__item--tr,
	.gal-v2__item--bl,
	.gal-v2__item--br {
		position: relative;
		left: auto;
		top: auto;
		width: 100%;
		height: auto;
		aspect-ratio: 332 / 293;
	}

	.gal-v2__item--big {
		grid-column: 1 / -1;
		aspect-ratio: 1040 / 607;
	}

	.gal-v2__hint {
		position: relative;
		left: auto;
		top: auto;
		margin-top: 20px;
		font-size: 16px;
		text-align: right;
	}
}

/* ---------- schedule info ("Розклад занять") — shared block ---------- */

.scheduleinfo.sched-v2 {
	position: relative;
	z-index: 2;
	/* equal room above and below the content (layout 02.10) */
	height: calc(1146 * var(--u));
	padding: 0;
	overflow: visible;
}

.sched-v2 img {
	display: block;
	max-width: none;
	pointer-events: none;
}

.sched-v2__bg {
	position: absolute;
	left: calc(-1 * var(--u));
	top: calc(169.09 * var(--u));
	width: calc(1927 * var(--u));
	height: calc(1089 * var(--u));
	object-fit: cover;
	object-position: top;
}

.sched-v2__edge {
	position: absolute;
	z-index: 1;
	left: calc(-37 * var(--u));
	top: calc(195.09 * var(--u));
	width: calc(2011 * var(--u));
	height: calc(133 * var(--u));
}

/* content stage: design-frame coordinates (layout 02.10.2026, frame top = 69px above the paper) */
.sched-v2__stage {
	position: absolute;
	left: 0;
	top: calc(270 * var(--u));
	width: 100%;
	height: calc(1089 * var(--u));
	pointer-events: none;
}

.sched-v2__stage a { pointer-events: auto; }

/* decoration beyond the screen edges is clipped here (no horizontal scroll) */
.sched-v2__decor {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.sched-v2__decor img { position: absolute; }

.sched-v2__splash--r { left: calc(1507 * var(--u)); top: 0; width: calc(770 * var(--u)); height: calc(656 * var(--u)); }
.sched-v2__splash--l { left: calc(-248 * var(--u)); top: calc(142 * var(--u)); width: calc(633.977 * var(--u)); height: calc(540.037 * var(--u)); }
.sched-v2__splash--b { left: calc(126 * var(--u)); top: calc(465 * var(--u)); width: calc(484 * var(--u)); height: calc(412 * var(--u)); }

.sched-v2__banner--1 { left: calc(666.95 * var(--u)); top: calc(195.06 * var(--u)); width: calc(1016.729 * var(--u)); height: calc(238.248 * var(--u)); transform: rotate(-5.64deg); }
.sched-v2__banner--2 { left: calc(720.03 * var(--u)); top: calc(242.15 * var(--u)); width: calc(1394.893 * var(--u)); height: calc(332.903 * var(--u)); transform: rotate(-5.64deg); }
.sched-v2__underline { left: calc(1319.04 * var(--u)); top: calc(443.26 * var(--u)); width: calc(501 * var(--u)); height: calc(43.52 * var(--u)); transform: rotate(-2.52deg); }

.sched-v2__brush { left: calc(72.7 * var(--u)); top: calc(433.8 * var(--u)); width: calc(600.299 * var(--u)); height: calc(158.93 * var(--u)); transform: rotate(-5.54deg); }
.sched-v2__crown { left: calc(133.51 * var(--u)); top: calc(194 * var(--u)); width: calc(138 * var(--u)); height: calc(127 * var(--u)); transform: rotate(-5.24deg); }
.sched-v2__mark--1 { left: calc(639.64 * var(--u)); top: calc(466.6 * var(--u)); width: calc(53.18 * var(--u)); height: calc(117.69 * var(--u)); }
.sched-v2__mark--2 { left: calc(662.33 * var(--u)); top: calc(506.78 * var(--u)); width: calc(37.35 * var(--u)); height: calc(66.96 * var(--u)); }
.sched-v2__graffiti { left: calc(26 * var(--u)); top: calc(637 * var(--u)); width: calc(245 * var(--u)); height: calc(163 * var(--u)); }

.sched-v2__title,
.sched-v2__when {
	margin: 0;
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--black);
}

.sched-v2__title span,
.sched-v2__when span {
	position: absolute;
	transform: rotate(-5deg);
	white-space: nowrap;
}

/* "Розклад" / "занять": 150/160, centred on the layout boxes */
.sched-v2__title span { height: calc(160 * var(--u)); font-size: calc(150 * var(--u) * var(--fit, 1)); line-height: calc(160 * var(--u)); }
.sched-v2__title-1 { left: calc(77.99 * var(--u)); top: calc(285.83 * var(--u)); width: calc(645.57 * var(--u)); }
.sched-v2__title-2 { left: calc(128.3 * var(--u)); top: calc(426.05 * var(--u)); width: calc(480 * var(--u)); }

.sched-v2__when span { height: calc(70 * var(--u)); line-height: calc(70 * var(--u)); }
.sched-v2__when-1 { left: calc(799.6 * var(--u)); top: calc(274.46 * var(--u)); width: calc(756.77 * var(--u)); font-size: calc(60 * var(--u) * var(--fit, 1)); }
.sched-v2__when-2 { left: calc(818.17 * var(--u)); top: calc(367.74 * var(--u)); width: calc(987.16 * var(--u)); font-size: calc(100 * var(--u) * var(--fit, 1)); letter-spacing: calc(-2 * var(--u)); }

.sched-v2__about {
	position: absolute;
	left: calc(813 * var(--u));
	top: calc(554 * var(--u));
	width: calc(1004 * var(--u));
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.sched-v2__about p {
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(26 * var(--u));
	line-height: calc(31 * var(--u));
	text-transform: uppercase;
	color: var(--black);
	max-width: calc(310 * var(--u));
	text-wrap: balance;
}

.sched-v2__about i {
	flex: none;
	width: calc(2 * var(--u));
	height: calc(63 * var(--u));
	background: var(--black);
}

.sched-v2__btn {
	position: absolute;
	display: block;
	text-decoration: none;
}

.sched-v2__btn > img { position: absolute; left: 0; top: 0; height: 100%; }

.sched-v2__btn span {
	position: absolute;
	display: flex;
	align-items: center;
	gap: calc(8.28 * var(--u));
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(26 * var(--u));
	line-height: calc(37.26 * var(--u));
	text-transform: uppercase;
	white-space: nowrap;
}

.sched-v2__btn span img { position: static; width: calc(24.84 * var(--u)); height: calc(24.84 * var(--u)); transition: transform .2s ease; }
.sched-v2__btn:hover span img { transform: translateX(calc(5 * var(--u))); }

.sched-v2__btn--view { left: calc(437 * var(--u)); top: calc(675 * var(--u)); width: calc(392 * var(--u)); height: calc(91 * var(--u)); }
.sched-v2__btn--view > img { width: 100%; }
.sched-v2__btn--view span { left: calc(61.14 * var(--u)); top: calc(27.3 * var(--u)); color: var(--black); }

.sched-v2__btn--signup { left: calc(813 * var(--u)); top: calc(675 * var(--u)); width: calc(813.34 * var(--u)); height: calc(88.77 * var(--u)); }
.sched-v2__btn--signup > img { width: calc(703.344 * var(--u)); }
.sched-v2__btn--signup > img + img { left: calc(110 * var(--u)); }
.sched-v2__btn--signup span { left: calc(109.45 * var(--u)); top: calc(25.36 * var(--u)); color: #fff; }

@media (max-width: 768px) {
	.scheduleinfo.sched-v2 {
		height: auto;
		padding: 64px 16px 84px;
		overflow: hidden;
	}

	.sched-v2__bg {
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		max-width: none;
	}

	.sched-v2__edge {
		left: -10vw;
		top: 0;
		width: 120vw;
		height: 44px;
		max-width: none;
	}

	.sched-v2__stage {
		position: relative;
		top: auto;
		height: auto;
		display: flex;
		flex-direction: column;
		align-items: center;
		max-width: 480px;
		margin: 0 auto;
	}

	.sched-v2__decor { overflow: visible; }
	.sched-v2__splash--r { left: auto; right: -110px; top: -40px; width: 230px; height: 196px; }
	.sched-v2__splash--l { left: -120px; top: 40px; width: 220px; height: 187px; }
	.sched-v2__splash--b, .sched-v2__banner--1, .sched-v2__mark--1, .sched-v2__mark--2 { display: none; }
	.sched-v2__crown { left: 8px; top: -6px; width: 60px; height: 55px; }

	/* title on its brush, hours on the yellow banner (backgrounds follow the text height) */
	.sched-v2__brush, .sched-v2__banner--2, .sched-v2__underline { display: none; }
	.sched-v2__title { position: relative; display: flex; flex-direction: column; align-items: flex-start; align-self: flex-start; margin-top: 40px; transform: rotate(-5deg); }
	.sched-v2__title span { position: relative; left: auto; top: auto; width: auto; height: auto; transform: none; font-size: calc(64px * var(--fit, 1)); line-height: 66px; }
	.sched-v2__title .sched-v2__title-2 { margin-left: 18px; padding: 0 22px 0 6px; background: url('../img/v2/schedule2/title-brush.webp') center 60% / 100% 70% no-repeat; }
	.sched-v2__graffiti { left: auto; right: 0; top: 116px; width: 120px; height: 80px; }

	.sched-v2__when { position: relative; display: flex; flex-direction: column; align-items: flex-start; width: calc(100% + 32px); margin: 34px -16px 0; padding: 26px 26px 30px; transform: rotate(-4deg);
		background: url('../img/v2/schedule2/banner-2.webp') center 47% / 104% 235% no-repeat; }
	.sched-v2__when span { position: relative; left: auto; top: auto; width: auto; height: auto; transform: none; white-space: normal; }
	.sched-v2__when .sched-v2__when-1 { font-size: calc(26px * var(--fit, 1)); line-height: 32px; }
	.sched-v2__when .sched-v2__when-2 { font-size: calc(min(34px, 8.8vw) * var(--fit, 1)); line-height: 40px; letter-spacing: -1px; white-space: nowrap; }

	.sched-v2__about { position: relative; left: auto; top: auto; width: 100%; margin-top: 34px; flex-direction: column; gap: 14px; }
	.sched-v2__about p { max-width: none; font-size: 20px; line-height: 24px; text-align: center; }
	.sched-v2__about i { width: 30px; height: 2px; }

	.sched-v2__btn { position: relative; left: auto; top: auto; margin-top: 30px; }
	.sched-v2__btn--view { width: 260px; height: 60px; }
	.sched-v2__btn--view span { left: 40px; top: 17px; }
	.sched-v2__btn--signup { width: 340px; height: 60px; margin-top: 14px; }
	.sched-v2__btn--signup > img { width: 290px; }
	.sched-v2__btn--signup > img + img { left: 50px; }
	.sched-v2__btn--signup span { left: 34px; right: 40px; top: 50%; transform: translateY(-50%); justify-content: center; white-space: normal; text-align: center; }
	.sched-v2__btn span { gap: 6px; font-size: 16px; line-height: 26px; }
	.sched-v2__btn--signup span { font-size: 14px; line-height: 17px; }
	.sched-v2__btn span img { width: 14px; height: 14px; }
}

/* ---------- trainers ("Чемпіони та сильні духом люди") ---------- */

.trainer.tr-v2 {
	position: relative;
	z-index: 3;
	height: calc(2530 * var(--u));
	padding: 0;
	background: none;
	overflow: visible;
	color: #F0F4FA;
}

.tr-v2 img {
	display: block;
	max-width: none;
}

.tr-v2__bg {
	position: absolute;
	left: calc(-65.48 * var(--u));
	top: calc(124.84 * var(--u));
	width: calc(2005 * var(--u));
	height: calc(2560 * var(--u));
	object-fit: cover;
	pointer-events: none;
}

.tr-v2::before {
	content: '';
	position: absolute;
	left: calc(-65.48 * var(--u));
	top: calc(124.84 * var(--u));
	width: calc(2005 * var(--u));
	height: calc(2560 * var(--u));
	background: linear-gradient(to bottom, var(--black) 4.791%, rgba(18, 18, 18, 0) 38.131%);
	pointer-events: none;
	transform: none;
	z-index: 1;
}

.tr-v2__edge {
	position: absolute;
	z-index: 2;
	left: calc(-37 * var(--u));
	top: calc(0.4 * var(--u));
	width: calc(2011 * var(--u));
	height: calc(133.2 * var(--u));
	transform: rotate(180deg);
	pointer-events: none;
}

.tr-v2 > *:not(.tr-v2__bg):not(.tr-v2__edge) {
	z-index: 2;
}

.tr-v2__ribbon {
	left: calc((969.3 - 1974.586 / 2) * var(--u));
	top: calc((118.25 - 96.691 / 2) * var(--u));
	width: calc(1974.586 * var(--u));
	height: calc(96.691 * var(--u));
	transform: rotate(2.12deg) skewX(.23deg);
	background: var(--yellow);
	color: var(--black);
	z-index: 5 !important;
}

.tr-v2__ribbon .hero-v2__ribbon-track {
	margin-left: calc(43.5 * var(--u));
}

.tr-v2__ribbon .hero-v2__ribbon-track span.is-outline {
	-webkit-text-stroke-color: var(--black);
}

.tr-v2__ribbon .hero-v2__arrow {
	background-image: url('../img/v2/common/ribbon-arrow-black.svg');
}

.tr-v2__uba img {
	position: absolute;
	pointer-events: none;
}

.tr-v2__uba { position: absolute; inset: 0; }
.tr-v2__uba-united { left: calc(4.13 * var(--u)); top: calc(1995.23 * var(--u)); width: calc(441.48 * var(--u)); height: calc(183.38 * var(--u)); }
.tr-v2__uba-boxing { left: calc(82.37 * var(--u)); top: calc(2155.19 * var(--u)); width: calc(528.522 * var(--u)); height: calc(240.418 * var(--u)); }
.tr-v2__uba-academy { left: calc(-71.57 * var(--u)); top: calc(2371.85 * var(--u)); width: calc(629.873 * var(--u)); height: calc(172.895 * var(--u)); }

.tr-v2__title {
	position: absolute;
	left: calc(151.83 * var(--u));
	top: calc(333.37 * var(--u));
	width: calc(1667.242 * var(--u));
	transform: rotate(-5deg);
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	font-size: calc(91.075 * var(--u));
	line-height: calc(91.075 * var(--u));
	text-transform: uppercase;
	color: #fff;
}

.tr-v2__title span {
	display: block;
	color: #fff;
}

.tr-v2__title span:first-child {
	color: var(--yellow);
}

.tr-v2__text {
	position: absolute;
	left: calc(1124.1 * var(--u));
	top: calc(629.28 * var(--u));
	width: calc(558.715 * var(--u));
	font-family: 'Inter', sans-serif;
	font-weight: 300;
	font-size: calc(20 * var(--u));
	line-height: 1.21;
	color: #F0F4FA;
}

.tr-v2__schedule,
.tr-v2__all {
	position: absolute;
	display: block;
	z-index: 4 !important;
}

.tr-v2__schedule {
	left: calc(1373.18 * var(--u));
	top: calc(1112.7 * var(--u));
	width: calc(504.96 * var(--u));
	height: calc(86.5 * var(--u));
}

.tr-v2__all {
	left: calc(662.2 * var(--u));
	top: calc(2356.5 * var(--u));
	width: calc(566.2 * var(--u));
	height: calc(86.5 * var(--u));
}

.tr-v2__schedule > img:first-child,
.tr-v2__all > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transition: filter .2s ease;
}

.tr-v2__schedule span,
.tr-v2__all span {
	position: absolute;
	top: calc(22.3 * var(--u));
	transform: translateX(-50%);
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(26 * var(--u));
	line-height: 1.482;
	text-transform: uppercase;
	text-align: center;
	white-space: nowrap;
	color: var(--black);
}

.tr-v2__schedule span {
	left: calc((1613 - 1373.18) * var(--u));
}

.tr-v2__all span {
	left: calc((938 - 662.2) * var(--u));
	top: calc(24.5 * var(--u));
	color: #191919;
}

.tr-v2__schedule-arrow {
	position: absolute;
	left: calc((1748.67 - 1373.18) * var(--u));
	top: calc(30.94 * var(--u));
	width: calc(22 * var(--u));
	height: calc(22 * var(--u));
	transition: transform .2s ease;
}

.tr-v2__schedule:hover > img:first-child { filter: sepia(1) saturate(17) brightness(.95); }
.tr-v2__schedule:hover .tr-v2__schedule-arrow { transform: translateX(calc(5 * var(--u))); }
.tr-v2__all:hover > img { filter: saturate(0) brightness(1.15); }

/* items: slot geometry comes from the layout (3 fixed slots) */

.tr-v2__item {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.tr-v2__item > * {
	pointer-events: auto;
}

.tr-v2__photo {
	position: absolute;
	display: block;
	-webkit-mask: var(--mask) 0 0 / 100% 100% no-repeat;
	mask: var(--mask) 0 0 / 100% 100% no-repeat;
}

.tr-v2__under {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.tr-v2__pic {
	position: absolute;
	overflow: hidden;
}

.tr-v2__pic img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	/* black & white until hover, as on the current site */
	filter: grayscale(1);
	transition: transform .6s ease, filter .4s ease;
}

.tr-v2__pic::after {
	content: '';
	position: absolute;
	inset: 0;
	box-shadow: inset calc(13 * var(--u)) calc(14 * var(--u)) calc(9.2 * var(--u)) 0 #000;
	pointer-events: none;
}

.tr-v2__photo:hover .tr-v2__pic img,
.tr-v2__item:has(.tr-v2__name:hover, .tr-v2__more:hover) .tr-v2__pic img {
	transform: scale(1.04);
	filter: grayscale(0);
}

.tr-v2__tape {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none !important;
}

.tr-v2__tape img {
	flex: none;
	object-fit: cover;
	opacity: .7;
}

.tr-v2__num,
.tr-v2__name {
	position: absolute;
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	color: #F0F4FA;
	text-box: trim-both cap alphabetic;
	transform: translateY(-50%);
}

.tr-v2__num {
	font-size: calc(200 * var(--u));
	line-height: 1.482;
	white-space: nowrap;
}

.tr-v2__name {
	font-size: calc(64 * var(--u));
	line-height: 1.15;
	text-transform: uppercase;
	transition: color .2s ease;
}

.tr-v2__name:hover {
	color: var(--yellow);
}

.tr-v2__descr {
	position: absolute;
	font-family: 'Inter', sans-serif;
	font-weight: 400;
	font-size: calc(18 * var(--u));
	line-height: 1.15;
	color: #F0F4FA;
}

.tr-v2__descr p + p {
	margin-top: 0;
}

.tr-v2__more {
	position: absolute;
	display: flex;
	align-items: center;
	gap: calc(3 * var(--u));
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(26 * var(--u));
	line-height: 1.482;
	text-transform: uppercase;
	color: #E5E51F;
}

.tr-v2__more span {
	width: calc(279.578 * var(--u));
	height: calc(34.685 * var(--u));
	text-align: center;
	white-space: nowrap;
}

.tr-v2__more img {
	width: calc(25.653 * var(--u));
	height: calc(46.944 * var(--u));
	transition: transform .2s ease;
}

.tr-v2__more:hover img {
	transform: translateX(calc(5 * var(--u)));
}

/* slot 1 */
.tr-v2__item--1 { --mask: url('../img/v2/trainers/mask1.png'); }
.tr-v2__item--1 .tr-v2__photo { left: calc(-27.65 * var(--u)); top: calc(640.11 * var(--u)); width: calc(1053.125 * var(--u)); height: calc(593.747 * var(--u)); }
/* photos fill exactly the visible part of the torn mask, so the edges are always the torn ones (never a straight crop) */
.tr-v2__item--1 .tr-v2__pic { left: calc(99 * var(--u)); top: calc(60 * var(--u)); width: calc(671 * var(--u)); height: calc(466 * var(--u)); }
.tr-v2__item--1 .tr-v2__tape--a { left: calc(43.43 * var(--u)); top: calc(701.28 * var(--u)); }
.tr-v2__item--1 .tr-v2__tape--b { left: calc(530.54 * var(--u)); top: calc(1026.71 * var(--u)); }
.tr-v2__item--1 .tr-v2__num { left: calc(148.46 * var(--u)); top: calc(1277.36 * var(--u)); }
.tr-v2__item--1 .tr-v2__name { left: calc(368.04 * var(--u)); top: calc(1259.36 * var(--u)); width: calc(354.797 * var(--u)); }
.tr-v2__item--1 .tr-v2__descr { left: calc(368.04 * var(--u)); top: calc(1363.7 * var(--u)); width: calc(325 * var(--u)); }
.tr-v2__item--1 .tr-v2__more { left: calc(376.42 * var(--u)); top: calc(1574 * var(--u)); color: var(--yellow); }

/* slot 2 */
.tr-v2__item--2 { --mask: url('../img/v2/trainers/mask2.png'); }
.tr-v2__item--2 .tr-v2__photo { left: calc(819.54 * var(--u)); top: calc(835.83 * var(--u)); width: calc(547.045 * var(--u)); height: calc(892.086 * var(--u)); }
.tr-v2__item--2 .tr-v2__pic { left: calc(-4 * var(--u)); top: calc(92 * var(--u)); width: calc(555 * var(--u)); height: calc(687 * var(--u)); }
.tr-v2__item--2 .tr-v2__tape--a { left: calc(754.86 * var(--u)); top: calc(1532.91 * var(--u)); }
.tr-v2__item--2 .tr-v2__tape--b { left: calc(1299.72 * var(--u)); top: calc(878.18 * var(--u)); }
.tr-v2__item--2 .tr-v2__num { left: calc(1227.2 * var(--u)); top: calc(1408.5 * var(--u)); }
.tr-v2__item--2 .tr-v2__name { left: calc(1488.09 * var(--u)); top: calc(1389.5 * var(--u)); width: calc(353 * var(--u)); }
.tr-v2__item--2 .tr-v2__descr { left: calc(1488.09 * var(--u)); top: calc(1496.47 * var(--u)); width: calc(341 * var(--u)); }
.tr-v2__item--2 .tr-v2__more { left: calc(1502.79 * var(--u)); top: calc(1717.44 * var(--u)); gap: calc(10 * var(--u)); }

/* slot 3 */
.tr-v2__item--3 { --mask: url('../img/v2/trainers/mask3.png'); }
.tr-v2__item--3 .tr-v2__photo { left: calc(77.51 * var(--u)); top: calc(1366.73 * var(--u)); width: calc(602.891 * var(--u)); height: calc(1069.344 * var(--u)); }
.tr-v2__item--3 .tr-v2__pic { left: calc(61 * var(--u)); top: calc(288 * var(--u)); width: calc(473 * var(--u)); height: calc(681 * var(--u)); }
.tr-v2__item--3 .tr-v2__tape--a { left: calc(526.96 * var(--u)); top: calc(2244.05 * var(--u)); }
.tr-v2__item--3 .tr-v2__tape--b { left: calc(105.71 * var(--u)); top: calc(1594.12 * var(--u)); }
.tr-v2__item--3 .tr-v2__num { left: calc(676.33 * var(--u)); top: calc(1914.23 * var(--u)); }
.tr-v2__item--3 .tr-v2__name { left: calc(919.74 * var(--u)); top: calc(1908.11 * var(--u)); width: calc(379.773 * var(--u)); }
.tr-v2__item--3 .tr-v2__descr { left: calc(919.74 * var(--u)); top: calc(2004.5 * var(--u)); width: calc(345.133 * var(--u)); }
.tr-v2__item--3 .tr-v2__more { left: calc(952.83 * var(--u)); top: calc(2176.7 * var(--u)); }

/* tapes: slot 1/3 use the wide tape, slot 2 the narrow one */
.tr-v2__tape { width: calc(211.332 * var(--u)); height: calc(156.992 * var(--u)); }
.tr-v2__tape img { width: calc(201.857 * var(--u)); height: calc(70.499 * var(--u)); transform: rotate(-27.99deg); }
.tr-v2__item--2 .tr-v2__tape { width: calc(129.367 * var(--u)); height: calc(137.462 * var(--u)); }
.tr-v2__item--2 .tr-v2__tape img { width: calc(140.114 * var(--u)); height: calc(48.935 * var(--u)); transform: rotate(48.6deg); }
.tr-v2__item--3 .tr-v2__tape--a { width: calc(199.476 * var(--u)); height: calc(148.185 * var(--u)); }
.tr-v2__item--3 .tr-v2__tape--a img { width: calc(190.533 * var(--u)); height: calc(66.545 * var(--u)); }

.tr-v2__our {
	position: absolute;
	left: calc(1575.24 * var(--u));
	top: calc(1809.41 * var(--u));
	width: calc(235 * var(--u));
	height: calc(716.264 * var(--u));
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}

.tr-v2__our span {
	flex: none;
	width: calc(716.264 * var(--u));
	transform: rotate(-90deg);
	font-family: 'Black Ops One', sans-serif;
	font-size: calc(145 * var(--u));
	line-height: .97;
	color: #fff;
	text-box: trim-both cap alphabetic;
}

.form-v2__bag { display: none; }

/* ---------- trial form ("Спробуй UBA безкоштовно") — shared block ---------- */

.form-v2 {
	position: relative;
	z-index: 4;
	height: calc(975 * var(--u));
	color: var(--black);
}

.form-v2 img {
	display: block;
	max-width: none;
}

.form-v2__bg {
	position: absolute;
	left: calc(-3.02 * var(--u));
	top: 0;
	width: calc(1957.81 * var(--u));
	height: calc(1190.73 * var(--u));
	pointer-events: none;
}

.form-v2__slogan {
	position: absolute;
	left: calc(44.99 * var(--u));
	top: calc(751.69 * var(--u));
	font-family: 'NeoPrintM319', sans-serif;
	font-size: calc(150 * var(--u));
	line-height: calc(150 * var(--u));
	letter-spacing: calc(-18 * var(--u));
	text-transform: uppercase;
	white-space: nowrap;
	color: #ddd;
	opacity: .8;
	transform: rotate(-3deg);
	transform-origin: left top;
	pointer-events: none;
}

.form-v2__title {
	position: absolute;
	left: calc(83.93 * var(--u));
	top: calc(243 * var(--u));
	width: calc(762 * var(--u));
	display: flex;
	flex-direction: column;
	gap: calc(2 * var(--u));
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(120 * var(--u));
	line-height: calc(120 * var(--u));
	text-transform: uppercase;
	color: #000;
}

.form-v2__title span + span {
	color: #E5E51F;
}

.form-v2__badge {
	position: absolute;
	left: calc(88.9 * var(--u));
	top: calc(518.5 * var(--u));
	width: calc(884.9 * var(--u));
	height: calc(84.7 * var(--u));
}

.form-v2__badge img {
	width: 100%;
	height: 100%;
}

.form-v2__badge span {
	position: absolute;
	left: calc((534.37 - 88.9) * var(--u));
	top: calc(0.5 * var(--u));
	transform: translateX(-50%);
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(60 * var(--u));
	line-height: calc(80 * var(--u));
	text-transform: uppercase;
	white-space: nowrap;
	color: #fff;
}

.form-v2__text {
	position: absolute;
	left: calc(88.93 * var(--u));
	top: calc(647 * var(--u));
	width: calc(821 * var(--u));
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	font-size: calc(32 * var(--u));
	line-height: 1.15;
	text-transform: uppercase;
	color: #000;
}

.form-v2__card {
	position: absolute;
	left: calc(1097.93 * var(--u));
	top: calc(231 * var(--u));
	width: calc(584 * var(--u));
	height: calc(679 * var(--u));
	box-shadow: 0 calc(9 * var(--u)) calc(24 * var(--u)) rgba(0, 0, 0, .2);
}

.form-v2__sheet {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.form-v2__card-title,
.form-v2__card-subtitle,
.form-v2__note {
	position: absolute;
	transform: translateX(-50%);
	font-family: 'Oswald', sans-serif;
	text-align: center;
	color: var(--black);
}

.form-v2__card-title {
	left: calc((1389.67 - 1097.93) * var(--u));
	top: calc(93 * var(--u));
	width: calc(479.417 * var(--u));
	font-weight: 600;
	font-size: calc(60 * var(--u));
	line-height: calc(60 * var(--u));
	text-transform: uppercase;
}

.form-v2__card-subtitle {
	left: calc((1390.14 - 1097.93) * var(--u));
	top: calc(159 * var(--u));
	width: calc(363.727 * var(--u));
	font-weight: 500;
	font-size: calc(26 * var(--u));
	line-height: calc(30 * var(--u));
	text-transform: uppercase;
	color: #000;
}

.form-v2__note {
	left: calc((1389.43 - 1097.93) * var(--u));
	top: calc(541 * var(--u));
	width: calc(301 * var(--u));
	font-weight: 400;
	font-size: calc(20 * var(--u));
	line-height: calc(24 * var(--u));
}

.form-v2__form {
	position: absolute;
	left: calc(52.03 * var(--u));
	top: calc(219 * var(--u));
	width: calc(479.417 * var(--u));
}

.form-v2__form .wpcf7 form,
.form-v2__form .feedback__form {
	display: flex;
	flex-direction: column;
	gap: calc(15 * var(--u));
	margin: 0;
	padding: 0;
	max-width: none;
	width: 100%;
}

.form-v2__form .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
	margin: 0 !important;
	position: relative;
}

.form-v2__form .feedback__form-input {
	display: block;
	width: 100%;
	height: calc(86.538 * var(--u));
	margin: 0 !important;
	transform: none !important;
	padding: 0 calc(34.12 * var(--u));
	border: 0;
	border-radius: 0;
	background: #fff;
	font-family: 'Inter', sans-serif;
	font-size: calc(20 * var(--u));
	line-height: calc(24 * var(--u));
	color: var(--black);
	outline: none;
	box-shadow: none;
}

.form-v2__form .feedback__form-input::placeholder {
	color: var(--gray);
	opacity: 1;
}

.form-v2__form .feedback__form-input:focus {
	box-shadow: inset 0 0 0 calc(2 * var(--u)) var(--yellow);
}

.form-v2__form .feedback__form-send {
	position: relative;
	display: block;
	width: calc(509.2 * var(--u));
	height: calc(86.5 * var(--u));
	margin: calc(14.2 * var(--u)) 0 0 calc(-16.56 * var(--u));
	padding: 0;
	border: 0;
	background: url('../img/v2/form/btn.webp') center / 100% 100% no-repeat;
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(26 * var(--u));
	line-height: 1.482;
	text-transform: uppercase;
	color: var(--black);
	cursor: pointer;
	transition: filter .2s ease;
}

.form-v2__form .feedback__form-send span {
	display: inline-flex;
	align-items: center;
	gap: calc(8.28 * var(--u));
}

.form-v2__form .feedback__form-send span::after {
	content: '';
	width: calc(24.839 * var(--u));
	height: calc(24.839 * var(--u));
	background: url('../img/v2/form/arrow.svg') center / contain no-repeat;
	transition: transform .2s ease;
}

.form-v2__form .feedback__form-send:hover span::after {
	transform: translateX(calc(5 * var(--u)));
}

.form-v2__form .wpcf7-spinner {
	position: absolute;
	margin: 0;
}

.form-v2__form .wpcf7-not-valid-tip {
	font-family: 'Inter', sans-serif;
	font-size: calc(14 * var(--u));
	margin-top: calc(4 * var(--u));
}

.form-v2__form .wpcf7-response-output {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	margin: calc(8 * var(--u)) 0 0 !important;
	padding: calc(8 * var(--u)) !important;
	font-family: 'Inter', sans-serif;
	font-size: calc(14 * var(--u));
	background: #fff;
}

@media (max-width: 768px) {
	.form-v2 {
		height: auto;
		padding: 110px 16px 150px;
		overflow: hidden;
	}

	.form-v2 > * {
		max-width: 448px;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.form-v2__bg {
		left: 0;
		width: 100%;
		height: 100%;
		max-width: none !important;
		object-fit: cover;
		object-position: 30% center;
	}

	/* the punching bag of the desktop background, hung on the right edge on phones */
	.form-v2 > .form-v2__bag {
		display: block;
		position: absolute;
		z-index: 0;
		right: -6px;
		top: 34px;
		width: 72px;
		height: auto;
		margin: 0 !important;
		pointer-events: none;
		filter: drop-shadow(-6px 10px 12px rgba(0, 0, 0, .25));
	}

	.form-v2__title, .form-v2__badge, .form-v2__text, .form-v2__card { z-index: 1; }

	.form-v2__slogan {
		left: 10px;
		top: auto;
		bottom: 60px;
		font-size: 64px;
		line-height: 64px;
		letter-spacing: -7px;
	}

	.form-v2__title,
	.form-v2__badge,
	.form-v2__text,
	.form-v2__card {
		position: relative;
		left: auto;
		top: auto;
	}

	.form-v2__title {
		width: auto;
		font-size: 58px;
		line-height: 58px;
	}

	.form-v2__badge {
		width: calc(100% + 16px);
		height: 52px;
		margin-top: 16px;
		margin-left: -8px !important;
	}

	.form-v2__badge span {
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		font-size: 28px;
		line-height: 36px;
	}

	.form-v2__text {
		width: auto;
		padding-right: 70px;
		margin-top: 18px;
		font-size: 18px;
	}

	.form-v2__card {
		width: 100%;
		height: 520px;
		margin-top: 40px;
		box-shadow: 0 9px 24px rgba(0, 0, 0, .2);
	}

	.form-v2__card-title,
	.form-v2__card-subtitle,
	.form-v2__note,
	.form-v2__form {
		left: 50%;
		width: 86%;
	}

	.form-v2__form {
		transform: translateX(-50%);
		top: 150px;
	}

	.form-v2__card-title { top: 40px; font-size: 44px; line-height: 44px; }
	.form-v2__card-subtitle { top: 92px; font-size: 18px; line-height: 22px; }
	.form-v2__note { top: auto; bottom: 34px; font-size: 16px; line-height: 20px; }

	.form-v2__form .wpcf7 form,
	.form-v2__form .feedback__form { gap: 12px; }

	.form-v2__form .feedback__form-input {
		height: 60px;
		padding: 0 22px;
		font-size: 16px;
		line-height: 20px;
	}

	.form-v2__form .feedback__form-send {
		width: calc(100% + 30px);
		height: 62px;
		margin: 6px 0 0 -15px;
		font-size: 17px;
	}

	.form-v2__form .feedback__form-send span::after {
		width: 18px;
		height: 18px;
	}

	.form-v2__form .wpcf7-not-valid-tip,
	.form-v2__form .wpcf7-response-output { font-size: 13px; }
}

/* ---------- how trainings go ("Як проходять тренування") — shared block ---------- */

.howit-v2__ribbons {
	position: relative;
	z-index: 6;
	height: 0;
}

.howit-v2__ribbon--dark {
	left: calc((962.8 - 1945.816 / 2) * var(--u));
	top: calc((116.5 - 91.338 / 2) * var(--u));
	width: calc(1945.816 * var(--u));
	transform: rotate(-4deg);
	background: #2F2F2F;
	color: #fff;
}

.howit-v2__ribbon--dark .hero-v2__ribbon-track {
	margin-left: calc(-52.1 * var(--u));
}

.howit-v2__ribbon--dark .hero-v2__ribbon-track span.is-outline {
	font-weight: 600;
}

.howit-v2__ribbon--yellow {
	left: calc((962.46 - 1974.586 / 2) * var(--u));
	top: calc((107.2 - 96.691 / 2) * var(--u));
	width: calc(1974.586 * var(--u));
	height: calc(96.691 * var(--u));
	transform: rotate(2.12deg) skewX(.23deg);
	background: var(--yellow);
	color: var(--black);
}

.howit-v2__ribbon--yellow .hero-v2__ribbon-track {
	margin-left: calc(43.4 * var(--u));
}

.howit-v2__ribbon--yellow .hero-v2__ribbon-track span.is-outline {
	-webkit-text-stroke-color: var(--black);
}

.howit-v2__ribbon--yellow .hero-v2__arrow {
	background-image: url('../img/v2/common/ribbon-arrow-black.svg');
}

.howit.howit-v2 {
	position: relative;
	z-index: 3;
	height: calc(1698 * var(--u));
	padding: 0;
	background: #111;
	overflow: visible;
	color: #fff;
}

.howit-v2 img {
	display: block;
	max-width: none;
}

.howit-v2__bg {
	position: absolute;
	left: calc(-22.94 * var(--u));
	top: 0;
	width: calc(2005 * var(--u));
	height: calc(1698 * var(--u));
	object-position: bottom;
	pointer-events: none;
}

.howit-v2::before {
	content: '';
	position: absolute;
	left: calc(-22.94 * var(--u));
	top: 0;
	width: calc(2005 * var(--u));
	height: calc(1698 * var(--u));
	background:
		linear-gradient(180deg, rgba(18, 18, 18, 0) 78.823%, var(--black) 100.25%),
		linear-gradient(180deg, var(--black) 4.7913%, rgba(18, 18, 18, 0) 38.131%);
	pointer-events: none;
	transform: none;
	z-index: 0;
}

.howit-v2__bg {
	/* fade the texture out before the torn edge so it is not cut by a straight line */
	-webkit-mask-image: linear-gradient(to bottom, #000 80%, transparent 97%);
	mask-image: linear-gradient(to bottom, #000 80%, transparent 97%);
}

.howit-v2__edge {
	position: absolute;
	z-index: 4;
	left: calc(-12.2 * var(--u));
	top: calc(1688 * var(--u));
	width: calc(2011 * var(--u));
	height: calc(133 * var(--u));
	pointer-events: none;
}

.howit-v2__title span {
	position: absolute;
	height: calc(147.049 * var(--u));
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(150 * var(--u));
	line-height: calc(160 * var(--u));
	text-transform: uppercase;
	white-space: nowrap;
	transform: rotate(-5deg);
	z-index: 2;
}

.howit-v2__title span:nth-child(1) {
	left: calc(87.62 * var(--u));
	top: calc(247.94 * var(--u));
	width: calc(968.86 * var(--u));
	color: #fff;
}

.howit-v2__title span:nth-child(2) {
	left: calc(263.86 * var(--u));
	top: calc(398.68 * var(--u));
	width: calc(837.548 * var(--u));
	color: var(--yellow);
}

.howit-v2__uba {
	position: absolute;
	left: calc(1138.18 * var(--u));
	top: calc(84.41 * var(--u));
	width: calc(685 * var(--u));
	height: calc(410 * var(--u));
}

.howit-v2__splash {
	position: absolute;
	left: calc(877.35 * var(--u));
	top: calc(94.97 * var(--u));
	width: calc(493 * var(--u));
	height: calc(500 * var(--u));
	pointer-events: none;
}

.howit-v2__photo {
	position: absolute;
	left: calc(-38.25 * var(--u));
	top: calc(480.77 * var(--u));
	width: calc(1047.98 * var(--u));
	height: calc(851.56 * var(--u));
	z-index: 1;
}

.howit-v2__photo::before,
.howit-v2__item::before,
.howit-v2__item::after {
	content: none !important;
}

.howit-v2__paper {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.howit-v2 .howit__image {
	position: absolute;
	left: calc((-120.94 + 38.25) * var(--u));
	top: calc((572 - 480.77) * var(--u));
	width: calc(921 * var(--u));
	height: calc(1291 * var(--u));
	opacity: 0;
	transition: opacity .45s ease;
	-webkit-mask: url('../img/v2/howit/photo-mask.png') calc(48.664 * var(--u)) calc(-91.234 * var(--u)) / calc(1047.979 * var(--u)) calc(851.559 * var(--u)) no-repeat;
	mask: url('../img/v2/howit/photo-mask.png') calc(48.664 * var(--u)) calc(-91.234 * var(--u)) / calc(1047.979 * var(--u)) calc(851.559 * var(--u)) no-repeat;
}

.howit-v2 .howit__image.active {
	opacity: 1;
}

.howit-v2 .howit__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.howit-v2 .howit__image img.is-fill {
	object-fit: fill;
}

.howit-v2__frame {
	position: absolute;
	left: 0;
	top: calc(534 * var(--u));
	width: calc(804 * var(--u));
	height: calc(894 * var(--u));
	z-index: 1;
	pointer-events: none;
}

.howit-v2__list {
	position: absolute;
	left: calc(888.34 * var(--u));
	top: calc(604.09 * var(--u));
	width: calc(850 * var(--u));
	border-top: 1px solid var(--gray);
	z-index: 2;
}

.howit-v2__item {
	position: relative;
	display: flex;
	align-items: center;
	height: calc(135 * var(--u));
	border-bottom: 1px solid var(--gray);
	cursor: default;
}

.howit-v2__hover {
	position: absolute;
	/* the brush starts after the step number so "{ 01 }" stays readable, as on the current site */
	left: calc(95 * var(--u));
	top: calc(0.93 * var(--u));
	width: calc(755 * var(--u));
	height: calc(133.81 * var(--u));
	opacity: 0;
	transition: opacity .25s ease;
	pointer-events: none;
}

.howit-v2__num {
	position: relative;
	display: flex;
	justify-content: space-between;
	width: calc(57 * var(--u));
	padding: 0;
	font-family: 'Inter', sans-serif;
	font-size: calc(20 * var(--u));
	line-height: calc(24 * var(--u));
	color: var(--gray);
	transition: color .25s ease;
}

.howit-v2__num span {
	font-family: 'Montserrat', sans-serif;
}

.howit-v2__text {
	position: absolute;
	left: calc(150 * var(--u));
	top: 50%;
	width: calc(610 * var(--u));
	transform: translateY(calc(-50% - 1.5 * var(--u)));
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(50 * var(--u));
	line-height: calc(55 * var(--u));
	text-transform: uppercase;
	color: #fff;
	transition: color .25s ease;
}

.howit-v2__item.active .howit-v2__hover {
	opacity: 1;
}

.howit-v2__item.active .howit-v2__text {
	color: var(--black);
}

.howit-v2__item.active .howit-v2__num {
	color: #fff;
}

/* ---------- reviews ("Відгуки / Про нас говорять") ---------- */

.reviews.rev-v2 {
	position: relative;
	z-index: 2;
	height: calc(1592.5 * var(--u));
	padding: 0;
	overflow: visible;
	color: var(--black);
}

.reviews.rev-v2::before,
.reviews.rev-v2::after {
	content: none !important;
}

.rev-v2 .reviews__bg {
	position: absolute;
	left: calc(-48 * var(--u));
	top: calc(-11 * var(--u));
	width: calc(2037 * var(--u));
	height: calc(1749 * var(--u));
	overflow: hidden;
}

.rev-v2 .reviews__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rev-v2 img {
	display: block;
	max-width: none;
}

.rev-v2__title span {
	position: absolute;
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	text-transform: uppercase;
	white-space: nowrap;
	transform: rotate(-5deg);
	z-index: 1;
}

.rev-v2__title span:nth-child(1) {
	left: calc(450.33 * var(--u));
	top: calc(211.43 * var(--u));
	width: calc(967 * var(--u));
	height: calc(239 * var(--u));
	font-size: calc(260 * var(--u));
	line-height: calc(250 * var(--u));
	text-align: center;
}

.rev-v2__title span:nth-child(2) {
	left: calc(351.49 * var(--u));
	top: calc(477.87 * var(--u));
	width: calc(1258.475 * var(--u));
	height: calc(165.514 * var(--u));
	font-size: calc(150 * var(--u));
	line-height: calc(160 * var(--u));
	color: transparent;
	-webkit-text-stroke: calc(2 * var(--u)) var(--black);
}

.rev-v2__count {
	position: absolute;
	display: block !important;
	left: calc(486.8 * var(--u));
	top: calc(1104.69 * var(--u));
	margin: 0 !important;
	transform: translateY(-50%);
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(73.896 * var(--u));
	line-height: 1.482;
	text-align: left !important;
	text-box: trim-both cap alphabetic;
	white-space: nowrap;
	color: #E5E51F;
	z-index: 1;
}

.rev-v2__count span {
	position: absolute !important;
	left: calc((227.68 - 486.8) * var(--u));
	top: calc((957.31 - 1104.69) * var(--u) + 50%);
	transform: translateY(-50%) !important;
	font-size: calc(264.99 * var(--u));
	line-height: 1.482;
	text-box: trim-both cap alphabetic;
}

.rev-v2__count span::after,
.rev-v2__count::after,
.rev-v2__count::before {
	content: none !important;
}

.rev-v2__slash {
	position: absolute;
	left: calc(435.86 * var(--u));
	top: calc(1012.17 * var(--u));
	width: calc(85.822 * var(--u));
	height: calc(113.593 * var(--u));
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
}

.rev-v2__slash::before {
	content: '';
	flex: none;
	width: calc(5.204 * var(--u));
	height: calc(137.386 * var(--u));
	background: #E5E51F;
	transform: rotate(36.46deg);
}

.rev-v2__quote {
	position: absolute;
	left: calc(1220.23 * var(--u));
	top: calc(923.67 * var(--u));
	width: calc(255.266 * var(--u));
	height: calc(224.267 * var(--u));
	z-index: 1;
}

.rev-v2__slider {
	position: absolute !important;
	left: 0;
	top: calc(640 * var(--u));
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	height: calc(1040 * var(--u));
	overflow: hidden;
	z-index: 2;
}

.rev-v2 .reviews__slide {
	position: relative;
	width: 100%;
	height: 100%;
}

.rev-v2 .reviews__slide-image {
	position: absolute;
	left: calc(578.66 * var(--u));
	top: calc(19.66 * var(--u));
	width: calc(637.376 * var(--u));
	height: calc(1012.303 * var(--u));
	max-width: none;
	margin: 0;
}

.rev-v2 .reviews__slide-image img:first-child {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: bottom;
	mix-blend-mode: soft-light;
}

.rev-v2 .reviews__slide-content {
	position: absolute;
	left: calc(1221.5 * var(--u));
	top: 0;
	width: calc(524 * var(--u));
	height: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.rev-v2 .reviews__slide-name {
	position: absolute;
	left: 0;
	top: calc(174.45 * var(--u));
	width: calc(353 * var(--u));
	transform: translateY(-50%);
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(64 * var(--u));
	line-height: 1.15;
	text-transform: uppercase;
	color: var(--black);
	text-box: trim-both cap alphabetic;
	margin: 0;
}

.rev-v2 .reviews__slide-descr {
	position: absolute;
	left: calc(106.87 * var(--u));
	top: calc(314.81 * var(--u));
	width: calc(416.852 * var(--u));
	margin: 0;
	font-family: 'Inter', sans-serif;
	font-style: italic;
	font-weight: 400;
	font-size: calc(24 * var(--u));
	line-height: 1.2;
	color: #303030;
}

.rev-v2 .reviews__slide-descr::before,
.rev-v2 .reviews__slide-descr::after,
.rev-v2 .reviews__slide-content::before,
.rev-v2 .reviews__slide-content::after {
	content: none !important;
}

.rev-v2__nav {
	position: absolute;
	top: calc(1368.06 * var(--u));
	height: calc(143.066 * var(--u));
	display: flex;
	align-items: center;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	z-index: 3;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
}

.rev-v2__nav .rev-v2__arrow {
	position: absolute;
	top: 0;
	width: calc(78.18 * var(--u));
	height: calc(143.066 * var(--u));
	transition: transform .2s ease;
}

.rev-v2__nav .reviews-btn-image {
	position: absolute;
	top: calc(6.54 * var(--u));
	width: calc(130 * var(--u));
	height: calc(130 * var(--u));
	border-radius: 50%;
	overflow: hidden;
	display: block;
}

.rev-v2__nav .reviews-btn-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: bottom;
}

.rev-v2__nav .reviews-btn-name {
	position: absolute;
	top: 50%;
	width: calc(258.586 * var(--u));
	transform: translateY(-50%);
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(40 * var(--u));
	line-height: 1.15;
	text-transform: uppercase;
	color: var(--black);
	text-box: trim-both cap alphabetic;
}

.rev-v2__nav--prev {
	left: calc(90.27 * var(--u));
	width: calc(551.57 * var(--u));
}

.rev-v2__nav--prev .rev-v2__arrow { left: 0; }
.rev-v2__nav--prev .reviews-btn-image { left: calc(128.1 * var(--u)); }
.rev-v2__nav--prev .reviews-btn-name { left: calc(292.98 * var(--u)); text-align: left; }
.rev-v2__nav--prev:hover .rev-v2__arrow { transform: translateX(calc(-6 * var(--u))); }

.rev-v2__nav--next {
	left: calc(1277.38 * var(--u));
	width: calc(539.35 * var(--u));
	justify-content: flex-end;
}

.rev-v2__nav--next .rev-v2__arrow { left: calc(461.17 * var(--u)); }
.rev-v2__nav--next .reviews-btn-image { left: calc(293.29 * var(--u)); }
.rev-v2__nav--next .reviews-btn-name { left: calc(0 * var(--u)); text-align: right; }
.rev-v2__nav--next:hover .rev-v2__arrow { transform: translateX(calc(6 * var(--u))); }

.v2-ribbon-holder {
	position: relative;
	height: 0;
	z-index: 6;
}

.rev-v2__ribbon {
	left: calc((954.03 - 1974.441 / 2) * var(--u));
	top: calc((1685.08 - 1592.5 - 91.338 / 2) * var(--u));
	width: calc(1974.441 * var(--u));
	transform: rotate(-1.37deg);
	background: #2F2F2F;
	color: #fff;
}

.rev-v2__ribbon .hero-v2__ribbon-track {
	margin-left: calc(43.5 * var(--u));
}

/* ---------- Google reviews ("Відгуки наших чемпіонів") ---------- */

.google-v2 {
	position: relative;
	z-index: 3;
	height: calc(1302.6 * var(--u));
	color: #fff;
	overflow: visible;
}

.google-v2 img {
	display: block;
	max-width: none;
}

.google-v2__bg {
	position: absolute;
	left: 0;
	top: calc(107.6 * var(--u));
	width: calc(1922 * var(--u));
	height: calc(1195 * var(--u));
	overflow: hidden;
	pointer-events: none;
}

.google-v2__bg img {
	width: 100%;
	height: 100%;
}

.google-v2__bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, var(--black) 0%, rgba(18, 18, 18, 0) 22.278%);
}

.google-v2__splash,
.google-v2__photo {
	position: absolute;
	pointer-events: none;
}

.google-v2__splash--1 { left: calc(1373 * var(--u)); top: calc(11.97 * var(--u)); width: calc(547 * var(--u)); height: calc(651 * var(--u)); }
.google-v2__splash--2 { left: calc(1505 * var(--u)); top: calc(-0.03 * var(--u)); width: calc(415 * var(--u)); height: calc(694 * var(--u)); }
.google-v2__splash--3 { left: calc(931.997 * var(--u)); top: calc(315.07 * var(--u)); width: calc(688 * var(--u)); height: calc(689 * var(--u)); }
.google-v2__photo { left: calc(1256.3 * var(--u)); top: calc(168.85 * var(--u)); width: calc(547.31 * var(--u)); height: calc(481.638 * var(--u)); }

.google-v2__title span {
	position: absolute;
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(150 * var(--u));
	line-height: calc(160 * var(--u));
	text-transform: uppercase;
	white-space: nowrap;
	transform-origin: left top;
	z-index: 1;
}

.google-v2__title span:nth-child(1) {
	left: calc(77 * var(--u));
	top: calc(340.47 * var(--u));
	transform: rotate(-9.5deg) skewX(-9deg);
	color: #fff;
}

.google-v2__title span:nth-child(2) {
	left: calc(181 * var(--u));
	top: calc(495.47 * var(--u));
	transform: rotate(-10deg) skewX(-9deg);
	color: var(--yellow);
}

.google-v2__rating {
	position: absolute;
	left: calc(85 * var(--u));
	top: calc(673.06 * var(--u));
	width: calc(397 * var(--u));
	height: calc(393 * var(--u));
	z-index: 2;
}

.google-v2__score {
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(91.075 * var(--u));
	line-height: calc(91.075 * var(--u));
	text-transform: uppercase;
	color: #fff;
}

.google-v2__stars {
	position: absolute;
	top: calc(106 * var(--u));
	left: 0;
	display: flex;
	height: calc(52 * var(--u));
}

.google-v2__stars img {
	width: calc(71 * var(--u));
	height: calc(52 * var(--u));
	object-fit: contain;
}

.google-v2__stars img:nth-child(3) {
	width: calc(72 * var(--u));
}

.google-v2__count {
	position: absolute;
	top: calc(172 * var(--u));
	left: 0;
	width: calc(356 * var(--u));
	font-family: 'Inter', sans-serif;
	font-weight: 500;
	font-size: calc(26 * var(--u));
	line-height: calc(26 * var(--u));
	color: #fff;
}

.google-v2__count a {
	color: var(--yellow);
	text-decoration: underline;
	text-underline-position: from-font;
}

.google-v2__nav {
	position: absolute;
	top: calc(318 * var(--u));
	left: 0;
	width: calc(127.22 * var(--u));
	height: calc(75 * var(--u));
}

.google-v2__prev,
.google-v2__next {
	position: absolute;
	top: 0;
	width: calc(40 * var(--u));
	height: calc(74 * var(--u));
	padding: 0;
	border: 0;
	cursor: pointer;
	background: url('../img/v2/gallery/nav-left.svg') center / 100% 100% no-repeat;
	transition: transform .2s ease;
}

.google-v2__prev { left: 0; }
.google-v2__next { left: calc(86.38 * var(--u)); top: calc(0.27 * var(--u)); width: calc(40.84 * var(--u)); height: calc(74.734 * var(--u)); background-image: url('../img/v2/gallery/nav-right.svg'); }

.google-v2__prev.swiper-button-disabled { background-image: url('../img/v2/google/nav-left-gray.svg'); cursor: default; }
.google-v2__next.swiper-button-disabled { filter: grayscale(1) brightness(1.1); opacity: .75; cursor: default; }
.google-v2__prev:not(.swiper-button-disabled):hover { transform: translateX(calc(-4 * var(--u))); }
.google-v2__next:not(.swiper-button-disabled):hover { transform: translateX(calc(4 * var(--u))); }

.google-v2__slider {
	position: absolute !important;
	left: calc(535 * var(--u));
	top: calc(673.06 * var(--u) - 20 * var(--u));
	width: calc(1385 * var(--u));
	padding: calc(20 * var(--u)) 0 calc(30 * var(--u)) !important;
	overflow: hidden;
	z-index: 2;
}

.google-v2__card {
	width: calc(498 * var(--u)) !important;
	height: calc(393 * var(--u));
	margin-right: calc(40 * var(--u));
	padding: calc(35 * var(--u));
	background: #fff;
	filter: drop-shadow(0 calc(6 * var(--u)) calc(12 * var(--u)) rgba(0, 0, 0, .2));
	color: #000;
}

.google-v2__head {
	display: flex;
	align-items: center;
	gap: calc(20 * var(--u));
}

.google-v2__avatar {
	width: calc(71 * var(--u));
	height: calc(71 * var(--u));
	border-radius: 50%;
	object-fit: cover;
	flex: none;
}

.google-v2__avatar--letter {
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Inter', sans-serif;
	font-weight: 500;
	font-size: calc(32 * var(--u));
	line-height: 1;
	color: #fff;
}

.google-v2__who {
	display: flex;
	flex-direction: column;
	gap: calc(5 * var(--u));
	min-width: calc(131 * var(--u));
}

.google-v2__name {
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	font-size: calc(26 * var(--u));
	line-height: calc(26 * var(--u));
	text-transform: uppercase;
	color: #000;
}

.google-v2__date {
	font-family: 'Inter', sans-serif;
	font-size: calc(18 * var(--u));
	line-height: calc(16 * var(--u));
	color: var(--gray);
}

.google-v2__g {
	width: calc(44 * var(--u));
	height: calc(45 * var(--u));
	margin-left: auto;
}

.google-v2__card-stars {
	position: relative;
	width: calc(181 * var(--u));
	height: calc(26 * var(--u));
	margin-top: calc(15 * var(--u));
}

.google-v2__card-stars::before {
	content: '';
	position: absolute;
	left: calc(-1.54 * var(--u));
	top: calc(-1.2 * var(--u));
	width: calc(182.823 * var(--u) * var(--stars, 5) / 5);
	height: calc(28.541 * var(--u));
	background: url('../img/v2/google/stars-small.svg') left center / calc(182.823 * var(--u)) 100% no-repeat;
}

.google-v2__text {
	margin-top: calc(30 * var(--u));
	font-family: 'Inter', sans-serif;
	font-style: italic;
	font-size: calc(24 * var(--u));
	line-height: 1.2;
	color: #303030;
	display: -webkit-box;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.google-v2__btn {
	position: absolute;
	left: calc(637.1 * var(--u));
	top: calc(1115.7 * var(--u));
	width: calc(662.2 * var(--u));
	height: calc(84.8 * var(--u));
	z-index: 2;
}

.google-v2__btn > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transition: filter .2s ease;
}

.google-v2__btn span {
	position: absolute;
	left: calc((723 - 637.1) * var(--u));
	top: calc(24.35 * var(--u));
	display: flex;
	align-items: center;
	gap: calc(8.28 * var(--u));
	height: calc(37.258 * var(--u));
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(26 * var(--u));
	line-height: 1.482;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--black);
}

.google-v2__btn span img {
	width: calc(24.839 * var(--u));
	height: calc(24.839 * var(--u));
	transition: transform .2s ease;
}

.google-v2__btn:hover > img { filter: saturate(0) brightness(1.15); }
.google-v2__btn:hover span img { transform: translateX(calc(5 * var(--u))); }


/* ---------- SEO text ("Система, що розвиває") — shared block ---------- */

.seo.seo-v2 {
	position: relative;
	z-index: 2;
	margin: 0 !important;
	min-height: calc(760 * var(--u));
	padding: calc(226.85 * var(--u)) 0 calc(200 * var(--u));
	background: none;
	color: var(--black);
	overflow: visible;
}

.seo.seo-v2::before,
.seo.seo-v2::after {
	content: none !important;
}

.seo-v2 img {
	display: block;
	max-width: none;
}

.seo-v2__bg {
	position: absolute;
	left: calc(-12 * var(--u));
	top: calc(23.87 * var(--u));
	width: calc(2066 * var(--u));
	/* grows with the section when the copy is longer than the layout (no white strip at the bottom) */
	height: calc(100% - 23.87 * var(--u));
	object-fit: cover;
	object-position: top;
	pointer-events: none;
}

.seo-v2__edge {
	position: absolute;
	z-index: 1;
	left: calc(-42 * var(--u));
	top: 0;
	width: calc(2011 * var(--u));
	height: calc(133 * var(--u));
	pointer-events: none;
}

.seo-v2__uba {
	position: absolute;
	left: calc(910 * var(--u));
	top: calc(26.87 * var(--u));
	width: calc(992 * var(--u));
	height: calc(527 * var(--u));
	pointer-events: none;
}

.seo-v2 > :not(img) {
	position: relative;
	z-index: 1;
}

.seo-v2__body {
	width: calc(1000 * var(--u));
	margin-left: calc(84.99 * var(--u));
	font-family: 'Inter', sans-serif;
	font-weight: 400;
	font-size: calc(20 * var(--u));
	line-height: calc(26 * var(--u));
	color: var(--black);
}

/* collapsed: about the first 300 characters (height set by js), the rest fades out */
.seo-v2__body.is-clamped {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - calc(30 * var(--u))), transparent);
	mask-image: linear-gradient(to bottom, #000 calc(100% - calc(30 * var(--u))), transparent);
}

.seo-v2__body > * + * { margin-top: calc(20 * var(--u)); }

.seo-v2 .seo-v2__body h2,
.seo-v2 .seo-v2__body h3,
.seo-v2 .seo-v2__body h4 {
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--black);
}

.seo-v2 .seo-v2__body h2 { margin-top: calc(56 * var(--u)); font-size: calc(40 * var(--u)); line-height: calc(44 * var(--u)); }
.seo-v2 .seo-v2__body h3 { margin-top: calc(40 * var(--u)); font-size: calc(30 * var(--u)); line-height: calc(34 * var(--u)); }
.seo-v2 .seo-v2__body h4 { margin-top: calc(32 * var(--u)); font-size: calc(24 * var(--u)); line-height: calc(28 * var(--u)); }
.seo-v2 .seo-v2__body > :first-child { margin-top: 0; }
.seo-v2__body strong, .seo-v2__body b { font-weight: 700; }
.seo-v2__body a { text-decoration: underline; color: inherit; }

/* bullet lists: brush check marks; numbered lists: the number in the same place, in the same brush style */
.seo-v2 .seo-v2__body ul,
.seo-v2 .seo-v2__body ol {
	margin-left: 0;
	padding: 0;
	list-style: none;
	counter-reset: seo-n;
}

.seo-v2 .seo-v2__body li {
	position: relative;
	display: flex;
	align-items: center;
	gap: calc(19 * var(--u));
	min-height: calc(48 * var(--u));
	padding: calc(5 * var(--u));
}

.seo-v2 .seo-v2__body li + li { margin-top: calc(14 * var(--u)); }

.seo-v2 .seo-v2__body ul > li::before {
	content: '';
	flex: none;
	width: calc(34.625 * var(--u));
	height: calc(41.602 * var(--u));
	margin: calc(-0.52 * var(--u)) calc(-2.094 * var(--u)) calc(-6.183 * var(--u)) calc(-4.52 * var(--u));
	background: url('../img/v2/seo/check.svg') center / 100% 100% no-repeat;
}

.seo-v2 .seo-v2__body ol > li { counter-increment: seo-n; }

.seo-v2 .seo-v2__body ol > li::before {
	content: counter(seo-n, decimal-leading-zero);
	flex: none;
	width: calc(50 * var(--u));
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
	font-size: calc(34 * var(--u));
	line-height: 1;
	color: #9a9a9a;
	transform: rotate(-6deg);
}

.seo-v2__toggle {
	position: relative;
	z-index: 1;
	display: block;
	width: calc(461.8 * var(--u));
	height: calc(91.7 * var(--u));
	margin: calc(16.27 * var(--u)) 0 0 calc(56.06 * var(--u));
	padding: 0;
	border: 0;
	background: url('../img/v2/seo/btn.webp') center / 100% 100% no-repeat;
	transform: scaleY(-1);
	cursor: pointer;
}

.seo-v2__toggle span {
	position: absolute;
	left: calc(102.38 * var(--u));
	top: calc(27.64 * var(--u));
	display: flex;
	align-items: center;
	gap: calc(8.28 * var(--u));
	height: calc(37.258 * var(--u));
	transform: scaleY(-1);
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(26 * var(--u));
	line-height: 1.482;
	text-transform: uppercase;
	white-space: nowrap;
	color: #fff;
}

.seo-v2__toggle span img {
	width: calc(24.839 * var(--u));
	height: calc(24.839 * var(--u));
	transition: transform .2s ease;
}

.seo-v2__toggle:hover span img {
	transform: translateX(calc(5 * var(--u)));
}

.seo-v2:not(.is-open) {
	height: auto;
}

.seo-v2__toggle[hidden],
.seo-v2.is-open .seo-v2__toggle {
	display: none;
}

/* ---------- FAQ ("Популярні питання") — shared block ---------- */

.faq.faq-v2 {
	position: relative;
	z-index: 3;
	min-height: calc(1460 * var(--u));
	margin: calc(-95 * var(--u)) 0 0 !important;
	padding: calc(446 * var(--u)) 0 calc(120 * var(--u)) !important;
	background: none;
	overflow: visible;
	color: #fff;
}

.faq.faq-v2::before,
.faq.faq-v2::after {
	content: none !important;
}

.faq-v2 img {
	display: block;
	max-width: none;
}

.faq-v2__edge {
	position: absolute;
	z-index: 1;
	left: calc(-29 * var(--u));
	top: 0;
	width: calc(2011 * var(--u));
	height: calc(133 * var(--u));
	transform: rotate(180deg);
	pointer-events: none;
}

.faq-v2__bg {
	position: absolute;
	left: 0;
	top: calc(133 * var(--u));
	right: 0;
	bottom: 0;
	background: var(--black);
}

.faq-v2__letters {
	position: absolute;
	left: calc(780 * var(--u));
	top: calc(413 * var(--u));
	width: calc(1140 * var(--u));
	height: calc(830 * var(--u));
	pointer-events: none;
}

.faq-v2__photo {
	position: absolute;
	left: calc(-60 * var(--u));
	top: calc(176.23 * var(--u));
	width: calc(833 * var(--u));
	height: calc(1249 * var(--u));
	pointer-events: none;
}

.faq-v2__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(1) brightness(.87);
}

.faq-v2__photo::after {
	content: '';
	position: absolute;
	inset: 0;
	background:
		linear-gradient(195deg, rgba(18, 18, 18, 0) 62.52%, #121212 84.871%),
		linear-gradient(183.73deg, #121212 9.1192%, rgba(18, 18, 18, 0) 41.637%),
		linear-gradient(270deg, #121212 0%, rgba(0, 0, 0, 0) 23.649%),
		linear-gradient(179.79deg, rgba(18, 18, 18, 0) 66.688%, #121212 98.754%),
		linear-gradient(183.73deg, #121212 9.1192%, rgba(18, 18, 18, 0) 41.637%),
		linear-gradient(270deg, #121212 0%, rgba(0, 0, 0, 0) 23.649%);
}

.faq-v2__title span {
	position: absolute;
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(80 * var(--u));
	line-height: calc(80 * var(--u));
	text-transform: uppercase;
	white-space: nowrap;
	z-index: 1;
}

.faq-v2__title span:nth-child(1) { left: calc(678 * var(--u)); top: calc(211 * var(--u)); color: #fff; }
.faq-v2__title span:nth-child(2) { left: calc(771 * var(--u)); top: calc(304 * var(--u)); color: var(--yellow); }

.faq-v2__list {
	position: relative;
	z-index: 1;
	width: calc(850 * var(--u));
	margin-left: calc(785.67 * var(--u));
	border-top: 1px solid var(--gray);
}

.faq-v2 .faq__item {
	position: relative;
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid var(--gray);
	background: none;
	transition: background-color .3s ease;
}

.faq-v2 .faq__item.active {
	background: rgba(25, 25, 25, .6);
	backdrop-filter: blur(7.5px);
	-webkit-backdrop-filter: blur(7.5px);
}

.faq-v2 .faq__item-title {
	position: relative;
	display: flex;
	align-items: center;
	min-height: calc(136 * var(--u));
	margin: 0;
	padding: calc(18 * var(--u)) calc(100 * var(--u)) calc(18 * var(--u)) calc(42 * var(--u));
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-size: calc(32 * var(--u));
	line-height: 1.15;
	text-transform: uppercase;
	color: #fff;
	cursor: pointer;
	transition: color .25s ease;
}

.faq-v2 .faq__item-title::after {
	content: '';
	position: absolute;
	left: calc(906 * var(--u));
	top: 50%;
	width: calc(20 * var(--u));
	height: calc(20 * var(--u));
	margin-top: calc(-10 * var(--u));
	transform: none;
	background: url('../img/v2/faq/plus.svg') center / 100% 100% no-repeat;
}

.faq-v2 .faq__item.active .faq__item-title,
.faq-v2 .faq__item-title:hover {
	color: var(--yellow);
}

.faq-v2 .faq__item.active .faq__item-title {
	min-height: 0;
	padding-top: calc(50 * var(--u));
	padding-bottom: calc(20 * var(--u));
}

.faq-v2 .faq__item.active .faq__item-title::after {
	top: calc(64 * var(--u));
	height: calc(6 * var(--u));
	margin-top: 0;
	background: var(--yellow);
}

.faq-v2 .faq__item-descr {
	display: none;
	margin: 0;
	padding: calc(28.2 * var(--u)) calc(100 * var(--u)) calc(57 * var(--u)) calc(43 * var(--u));
}

.faq-v2 .faq__item-descr p {
	margin: 0;
	width: calc(707 * var(--u));
	font-family: 'Inter', sans-serif;
	font-size: calc(20 * var(--u));
	line-height: calc(24 * var(--u));
	color: var(--gray);
}

.faq-v2__btn.v2-btn {
	position: absolute;
	left: calc(44.15 * var(--u));
	top: calc(1087.84 * var(--u));
	z-index: 2;
}

.faq-v2__btn.v2-btn span {
	left: calc(382.5 * var(--u));
}

/* narrower brush so it ends before the questions column (it used to run under the answers) */
@media (min-width: 769px) {
	.faq-v2__btn.v2-btn { width: calc(705 * var(--u)); height: calc(75 * var(--u)); }
	.faq-v2__btn.v2-btn img { width: calc(591 * var(--u)); }
	.faq-v2__btn.v2-btn img + img { left: calc(114 * var(--u)); }
	.faq-v2__btn.v2-btn span { left: calc(348 * var(--u)); top: calc(19 * var(--u)); font-size: calc(23 * var(--u)); }
}

/* =========================================================================
   Mobile (<=768px) for trainers, how-it-works, reviews, google, seo, faq
   ========================================================================= */
@media (max-width: 768px) {
	/* shared */
	.tr-v2, .howit-v2, .rev-v2, .google-v2, .seo-v2, .faq-v2 {
		--mw: min(100vw - 32px, 448px);
	}

	/* ---- trainers ---- */
	.trainer.tr-v2 {
		height: auto;
		padding: 110px 16px 80px;
		display: flex;
		flex-direction: column;
		align-items: center;
		overflow: hidden;
	}

	.tr-v2__bg, .tr-v2::before {
		left: 0; top: 30px; width: 100%; height: calc(100% - 30px);
	}

	.tr-v2__edge { left: -10vw; top: 0; width: 120vw; height: 46px; }
	.tr-v2__ribbon { left: -5vw; top: 12px; width: 110vw; height: 42px; }
	.tr-v2__ribbon .hero-v2__ribbon-track { margin-left: 0; }
	.tr-v2__uba, .tr-v2__our { display: none; }

	.tr-v2__title {
		position: relative; left: auto; top: auto; width: var(--mw);
		font-size: 30px; line-height: 32px;
	}

	.tr-v2__text {
		position: relative; left: auto; top: auto; width: var(--mw);
		margin-top: 28px; font-size: 15px;
	}

	.tr-v2__item {
		position: relative; inset: auto; width: var(--mw);
		margin-top: 44px;
		display: grid;
		grid-template-columns: auto 1fr;
		column-gap: 14px;
		align-items: center;
	}

	.tr-v2__photo {
		position: relative !important; left: auto !important; top: auto !important;
		grid-column: 1 / -1;
		width: 100% !important; height: auto !important;
		margin-bottom: 16px;
	}

	/* the torn masks have wide transparent margins: the photo box is scaled past the column
	   (negative margins) so the visible torn photo is ~full width, and the picture fills exactly that part */
	.tr-v2__item--1 .tr-v2__photo { aspect-ratio: 2107 / 1188; width: 159% !important; margin: -9.8% 0 calc(16px - 10.8%) -15.6%; }
	.tr-v2__item--2 .tr-v2__photo { aspect-ratio: 1095 / 1785; width: 86% !important; margin: -15.1% 0 calc(16px - 18.5%) 7%; }
	.tr-v2__item--3 .tr-v2__photo { aspect-ratio: 1206 / 2139; width: 112% !important; margin: -54.3% 0 calc(16px - 19.5%) -5.3%; }

	.tr-v2__item--1 .tr-v2__photo .tr-v2__pic { left: 9.8% !important; top: 10.9% !important; width: 62.9% !important; height: 77% !important; transform: none !important; }
	.tr-v2__item--2 .tr-v2__photo .tr-v2__pic { left: 0 !important; top: 10.8% !important; width: 100% !important; height: 76% !important; transform: none !important; }
	.tr-v2__item--3 .tr-v2__photo .tr-v2__pic { left: 10.9% !important; top: 27.3% !important; width: 77% !important; height: 62.9% !important; transform: none !important; }

	.tr-v2__num, .tr-v2__name, .tr-v2__descr, .tr-v2__more {
		position: relative !important; left: auto !important; top: auto !important; transform: none;
	}

	.tr-v2__num { font-size: 76px; line-height: 1; grid-row: 2; }
	.tr-v2__name { font-size: 28px; width: auto !important; grid-row: 2; }
	.tr-v2__descr { grid-column: 1 / -1; width: 100% !important; margin-top: 12px; font-size: 15px; }
	.tr-v2__more { grid-column: 1 / -1; margin-top: 10px; font-size: 18px; }
	.tr-v2__more span { width: auto; height: auto; }
	.tr-v2__more img { width: 14px; height: 26px; }

	.tr-v2__schedule, .tr-v2__all {
		position: relative !important; left: auto; top: auto;
		width: 300px; height: 56px; margin-top: 36px;
	}

	.tr-v2__schedule { order: 10; }
	.tr-v2__all { order: 11; margin-top: 14px; }
	.tr-v2__schedule span, .tr-v2__all span { left: 50% !important; top: 50%; transform: translate(-50%, -50%); font-size: 16px; }
	.tr-v2__schedule-arrow { left: auto; right: 34px; top: 50%; width: 14px; height: 14px; margin-top: -7px; }

	/* ---- how it works ---- */
	.howit-v2__ribbons { height: 0; }
	.howit-v2__ribbon { height: 42px; }
	.howit-v2__ribbon--dark { left: -5vw; top: 14px; width: 110vw; }
	.howit-v2__ribbon--yellow { left: -5vw; top: 2px; width: 110vw; height: 44px; }
	.howit-v2__ribbon .hero-v2__ribbon-track { margin-left: 0; }

	.howit.howit-v2 {
		height: auto;
		padding: 150px 16px 90px;
		display: flex;
		flex-direction: column;
		align-items: center;
		overflow: hidden;
	}

	.howit-v2__bg, .howit-v2::before { left: 0; width: 100%; height: 100%; }
	.howit-v2__edge { left: -10vw; top: auto; bottom: -1px; width: 120vw; height: 46px; }
	.howit-v2__splash { left: auto; right: -40px; top: 60px; width: 200px; height: 203px; }
	.howit-v2 .howit-v2__frame { display: none; }

	.howit-v2__title { width: var(--mw); display: flex; flex-direction: column; transform: rotate(-5deg); }
	.howit-v2__title span, .howit-v2__title span:nth-child(1), .howit-v2__title span:nth-child(2) {
		position: static; width: auto; height: auto; transform: none;
		font-size: 50px; line-height: 54px;
	}
	.howit-v2__title span:nth-child(2) { padding-left: 50px; }

	.howit-v2__uba { position: relative; left: auto; top: auto; width: 200px; height: 120px; margin-top: 14px; align-self: flex-end; }

	.howit-v2__photo {
		position: relative; left: auto; top: auto;
		width: var(--mw); height: auto; aspect-ratio: 4 / 3;
		margin-top: 20px; overflow: hidden;
		-webkit-mask: none;
		mask: none;
	}

	.howit-v2 .howit__image { left: 0; top: 0; width: 100%; height: 100%; -webkit-mask: none; mask: none; }
	.howit-v2 .howit__image img.is-fill { object-fit: cover; }

	.howit-v2__list { position: relative; left: auto; top: auto; width: var(--mw); margin-top: 24px; }
	.howit-v2__item { height: auto; min-height: 72px; padding: 12px 0; }
	.howit-v2__hover { left: 0; top: 0; width: 100%; height: 100%; }
	.howit-v2__num { width: 44px; font-size: 14px; line-height: 18px; margin-left: 4px; }
	.howit-v2__text { position: relative; left: auto; top: auto; width: auto; transform: none; margin-left: 16px; font-size: 22px; line-height: 26px; }

	/* ---- reviews (structure of the current site: counter above the photo, big photo, left-aligned copy) ---- */
	.reviews.rev-v2 { height: auto; padding: 50px 16px 130px; overflow: hidden; }
	.rev-v2 .reviews__bg { left: 0; top: 0; width: 100%; height: 100%; }
	.rev-v2__title { position: relative; display: flex; flex-direction: column; align-items: center; transform: rotate(-5deg); }
	.rev-v2__title span, .rev-v2__title span:nth-child(1), .rev-v2__title span:nth-child(2) {
		position: static; width: auto; height: auto; transform: none; text-align: center;
	}
	.rev-v2__title span:nth-child(1) { font-size: 52px; line-height: 54px; }
	.rev-v2__title span:nth-child(2) { font-size: 34px; line-height: 38px; -webkit-text-stroke-width: 1px; }

	.rev-v2__count { left: 16px; top: 250px; font-size: 26px; transform: none; }
	.rev-v2__count span { left: 0; top: -58px; transform: none !important; font-size: 64px; }
	.rev-v2__slash { display: none; }
	.rev-v2__quote { display: none; }
	/* yellow quote mark sits behind the first lines of each review, whatever its length */
	.rev-v2 .reviews__slide-descr::before {
		content: '' !important; display: block; position: absolute; z-index: -1; left: -2px; top: -6px; width: 62px; height: 55px;
		background: url('../img/v2/reviews/quote.svg') center / contain no-repeat;
	}
	.rev-v2 .reviews__slide-content { isolation: isolate; }

	.rev-v2__slider { position: relative !important; top: auto; height: auto; margin-top: 90px !important; z-index: 1; }
	.rev-v2 .reviews__slide { height: auto; display: flex; flex-direction: column; align-items: center; }
	.rev-v2 .reviews__slide-image { position: relative; left: auto; top: auto; width: 86%; height: auto; aspect-ratio: 637 / 1012; }
	.rev-v2 .reviews__slide-content { position: relative; left: auto; top: auto; width: 100%; height: auto; margin-top: 18px; }
	.rev-v2 .reviews__slide-name { position: relative; top: auto; width: auto; transform: none; font-size: 36px; line-height: 40px; text-align: left; }
	.rev-v2 .reviews__slide-descr { position: relative; left: auto; top: auto; width: 100%; margin-top: 14px; padding-left: 18px; font-size: 16px; line-height: 22px; text-align: left; }

	.rev-v2__nav { top: auto; bottom: 36px; height: 64px; }
	.rev-v2__nav .rev-v2__arrow { width: 26px; height: 48px; top: 8px; }
	.rev-v2__nav .reviews-btn-image { width: 52px; height: 52px; top: 6px; }
	.rev-v2__nav .reviews-btn-name { width: 90px; font-size: 14px; }
	.rev-v2__nav--prev { left: 16px; width: 170px; }
	.rev-v2__nav--prev .reviews-btn-image { left: 34px; }
	.rev-v2__nav--prev .reviews-btn-name { left: 94px; }
	.rev-v2__nav--next { left: auto; right: 16px; width: 170px; }
	.rev-v2__nav--next .rev-v2__arrow { left: auto; right: 0; }
	.rev-v2__nav--next .reviews-btn-image { left: auto; right: 34px; }
	.rev-v2__nav--next .reviews-btn-name { left: 0; width: 76px; text-align: right; }

	.rev-v2__ribbon { left: -5vw; top: -30px; width: 110vw; height: 42px; }
	.rev-v2__ribbon .hero-v2__ribbon-track { margin-left: 0; }

	/* ---- google ---- */
	.google-v2 { height: auto; padding: 80px 16px 120px; overflow: hidden; display: flex; flex-direction: column; }
	/* mobile order: title → photo → rating → reviews → CTA */
	.google-v2__title { order: 1; }
	.google-v2__photo { order: 2; }
	.google-v2__rating { order: 3; }
	.google-v2__slider { order: 4; }
	.google-v2__btn { order: 5; }
	.google-v2__bg { top: 20px; width: 100%; height: calc(100% - 20px); }
	.google-v2 .google-v2__splash--2, .google-v2 .google-v2__splash--3 { display: none; }
	.google-v2 .google-v2__splash--1 { display: none; }
	.google-v2__photo { position: relative; left: auto; top: auto; width: 88%; height: auto; margin: 36px auto 0; aspect-ratio: 547 / 481; }
	.google-v2__title { position: relative; display: flex; flex-direction: column; margin-top: 20px; }
	.google-v2__title span, .google-v2__title span:nth-child(1), .google-v2__title span:nth-child(2) {
		position: static; font-size: 52px; line-height: 56px; transform: rotate(-9.5deg) skewX(-9deg);
	}
	.google-v2__title span:nth-child(2) { padding-left: 30px; }
	.google-v2__rating { position: relative; left: auto; top: auto; width: 100%; height: auto; margin-top: 40px; }
	.google-v2__score { font-size: 56px; line-height: 56px; }
	.google-v2__stars { position: relative; top: auto; margin-top: 10px; height: 32px; }
	.google-v2__stars img, .google-v2__stars img:nth-child(3) { width: 44px; height: 32px; }
	.google-v2__count { position: relative; top: auto; width: auto; margin-top: 10px; font-size: 18px; line-height: 22px; }
	.google-v2__nav { top: 0; left: auto; right: 0; width: 90px; height: 50px; }
	.google-v2__prev, .google-v2__next { width: 27px; height: 50px; }
	.google-v2__next { left: 60px; width: 27px; height: 50px; }
	.google-v2__slider { position: relative !important; left: auto; top: auto; width: 100%; margin-top: 10px; }
	.google-v2__card { width: 280px !important; height: auto; min-height: 250px; margin-right: 14px; padding: 20px; }
	.google-v2__avatar { width: 48px; height: 48px; }
	.google-v2__avatar--letter { font-size: 22px; }
	.google-v2__name { font-size: 18px; line-height: 20px; }
	.google-v2__date { font-size: 13px; line-height: 14px; }
	.google-v2__g { width: 28px; height: 29px; }
	.google-v2__card-stars { width: 120px; height: 18px; }
	.google-v2__card-stars::before { width: calc(122px * var(--stars, 5) / 5); height: 19px; background-size: 122px 100%; left: -1px; top: -1px; }
	.google-v2__text { margin-top: 16px; font-size: 16px; }
	.google-v2__btn { position: relative; display: block; left: auto; top: auto; width: min(340px, 100%); height: 56px; margin: 30px auto 0; }
	.google-v2__btn span { left: 50%; top: 50%; height: auto; transform: translate(-50%, -50%); font-size: 14px; }
	.google-v2__btn span img { width: 14px; height: 14px; }

	/* ---- seo ---- */
	.seo.seo-v2, .seo-v2:not(.is-open) { height: auto; min-height: 0; padding: 90px 16px 90px; overflow: hidden; }
	.seo-v2__bg { left: 0; top: 20px; width: 100%; height: calc(100% - 20px) !important; object-fit: cover; }
	.seo-v2__edge { left: -10vw; width: 120vw; height: 46px; }
	.seo-v2__uba { left: auto; right: -20px; top: 40px; width: 240px; height: 128px; opacity: .8; }
	.seo-v2__body { width: auto; margin: 0; padding-right: 14px; font-size: 15px; line-height: 21px; }
	.seo-v2__body > * + * { margin-top: 14px; }
	.seo-v2 .seo-v2__body h2 { margin-top: 30px; font-size: 26px; line-height: 28px; }
	.seo-v2 .seo-v2__body h3 { margin-top: 24px; font-size: 21px; line-height: 25px; }
	.seo-v2 .seo-v2__body li { min-height: 0; gap: 12px; padding: 2px 0; }
	.seo-v2 .seo-v2__body li + li { margin-top: 10px; }
	.seo-v2 .seo-v2__body ul > li::before { width: 22px; height: 26px; margin: 0; }
	.seo-v2 .seo-v2__body ol > li::before { width: 30px; font-size: 22px; }
	.seo-v2__body.is-clamped { -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 22px), transparent); mask-image: linear-gradient(to bottom, #000 calc(100% - 22px), transparent); }
	.seo-v2__toggle { width: 280px; height: 56px; margin: 30px 0 0; }
	.seo-v2__toggle span { left: 50%; top: 50%; height: auto; transform: translate(-50%, -50%) scaleY(-1); font-size: 16px; }
	.seo-v2__toggle span img { width: 16px; height: 16px; }

	/* ---- faq ---- */
	.faq.faq-v2 { min-height: 0; margin-top: -30px !important; padding: 80px 16px 70px !important; display: flex; flex-direction: column; align-items: center; }
	.faq-v2__edge { left: -10vw; width: 120vw; height: 46px; }
	.faq-v2__bg { top: 40px; }
	.faq-v2__letters { left: 0; top: 140px; width: 100%; height: auto; opacity: .7; }
	.faq-v2__photo { left: 0; top: 40px; width: 100%; height: 520px; opacity: .45; }
	.faq-v2__title { position: relative; display: flex; flex-direction: column; align-items: center; }
	.faq-v2__title span, .faq-v2__title span:nth-child(1), .faq-v2__title span:nth-child(2) {
		position: static; font-size: 48px; line-height: 50px;
	}
	.faq-v2__list { width: 100%; max-width: 448px; margin: 30px 0 0; }
	.faq-v2 .faq__item-title { min-height: 72px; padding: 14px 44px 14px 12px; font-size: 18px; line-height: 22px; }
	.faq-v2 .faq__item-title::after { left: auto; right: 12px; width: 16px; height: 16px; margin-top: -8px; }
	.faq-v2 .faq__item.active .faq__item-title { padding-top: 20px; padding-bottom: 8px; }
	.faq-v2 .faq__item.active .faq__item-title::after { top: 28px; height: 5px; }
	.faq-v2 .faq__item-descr { padding: 8px 20px 22px 12px; }
	.faq-v2 .faq__item-descr p { width: auto; font-size: 15px; line-height: 20px; }
	.faq-v2__btn.v2-btn { position: relative; left: auto; top: auto; margin-top: 30px; order: 5; }
	.faq-v2__btn.v2-btn span { left: 50%; }
}

/* =========================================================================
   Service page (page-service.php)
   ========================================================================= */

/* ---------- banner ---------- */

.hero.sban-v2 {
	position: relative;
	z-index: 3;
	padding: calc(79.375 * var(--u)) 0 0 !important;
	background: var(--black);
	overflow: visible;
}

.hero.sban-v2::after,
.hero.sban-v2::before {
	content: none !important;
}

.sban-v2__stage {
	position: relative;
	height: calc(870 * var(--u));
	overflow: hidden;
	background: #fff;
}

.sban-v2 img {
	display: block;
	max-width: none;
}

.sban-v2__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sban-v2__stage::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(178.39deg, rgba(0, 0, 0, .6) 10.234%, rgba(0, 0, 0, 0) 98.327%);
	z-index: 0;
}

.sban-v2__word {
	position: absolute;
	font-family: 'NeoPrintM319', sans-serif;
	line-height: calc(150 * var(--u));
	text-transform: uppercase;
	opacity: .3;
	white-space: nowrap;
	pointer-events: none;
	transform: rotate(var(--r));
}

.sban-v2__word--uba {
	--r: -4.69deg;
	left: calc((12 + (1333.058 - 1314.039) / 2) * var(--u));
	top: calc((86 + (392.924 - 286.469) / 2) * var(--u));
	width: calc(1314.039 * var(--u));
	height: calc(286.469 * var(--u));
	font-size: calc(350 * var(--u));
	color: rgba(221, 221, 221, .6);
}

.sban-v2__word--fight {
	--r: -4.49deg;
	left: calc((133 + (1332.444 - 1314.039) / 2) * var(--u));
	top: calc((657.19 + (388.542 - 286.469) / 2) * var(--u));
	width: calc(1314.039 * var(--u));
	height: calc(286.469 * var(--u));
	font-size: calc(250 * var(--u));
	color: rgba(221, 221, 221, .5);
}

.sban-v2__edge,
.sban-v2__v1,
.sban-v2__v2,
.sban-v2__photo {
	position: absolute;
	width: calc(1212 * var(--u));
	height: calc(1030 * var(--u));
}

.sban-v2__edge { left: calc(809 * var(--u)); top: calc(-99 * var(--u)); }
.sban-v2__v1 { left: calc(799 * var(--u)); top: calc(-103 * var(--u)); mix-blend-mode: screen; }
.sban-v2__v2 { left: calc(817 * var(--u)); top: calc(-103 * var(--u)); mix-blend-mode: screen; z-index: 1; }

.sban-v2__photo {
	left: calc(817 * var(--u));
	top: calc(-103 * var(--u));
	-webkit-mask: url('../img/v2/service/banner-mask.png') 0 0 / 100% 100% no-repeat;
	mask: url('../img/v2/service/banner-mask.png') 0 0 / 100% 100% no-repeat;
}

.sban-v2__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sban-v2__crumbs {
	position: absolute;
	left: calc(84.6 * var(--u));
	top: calc(136.23 * var(--u));
	z-index: 1;
	font-family: 'Inter', sans-serif;
	font-size: calc(12 * var(--u));
	line-height: 1.15;
	color: var(--gray);
	white-space: nowrap;
}

.sban-v2__crumbs a,
.sban-v2__crumbs span {
	color: var(--gray);
}

.sban-v2__crumbs a:hover {
	color: var(--yellow);
}

.sban-v2__title span:not(.visually-hidden) {
	position: absolute;
	z-index: 2;
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(150 * var(--u));
	line-height: calc(160 * var(--u));
	text-transform: uppercase;
	white-space: nowrap;
	transform: rotate(-5deg);
}

.sban-v2__title span:nth-child(1) {
	left: calc(91.56 * var(--u));
	top: calc(105.94 * var(--u));
	width: calc(968.86 * var(--u));
	height: calc(147.049 * var(--u));
	color: #fff;
}

.sban-v2__title span:nth-child(2):not(.visually-hidden) {
	left: calc(93.04 * var(--u));
	top: calc(278.44 * var(--u));
	color: var(--yellow);
}

.sban-v2__title.is-single span:nth-child(1) {
	white-space: normal;
	width: calc(1000 * var(--u));
	height: auto;
}

.sban-v2__about {
	position: absolute;
	z-index: 2;
	left: calc(104 * var(--u));
	top: calc(476 * var(--u));
	width: calc(559 * var(--u));
	display: flex;
	flex-direction: column;
	gap: calc(20 * var(--u));
	color: var(--gray);
}

.sban-v2__subtitle {
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(36 * var(--u));
	line-height: calc(36 * var(--u));
	text-transform: uppercase;
}

.sban-v2__text {
	font-family: 'Inter', sans-serif;
	font-size: calc(20 * var(--u));
	line-height: calc(24 * var(--u));
}

.sban-v2__btn.v2-btn {
	position: absolute;
	z-index: 2;
	left: calc(59 * var(--u));
	top: calc(652 * var(--u));
}

.sban-v2__btn.v2-btn span {
	left: calc(382.5 * var(--u));
}

.sban-v2__ribbon--dark {
	/* wider than the layout and lifted a bit: no gap at the left edge, stage bottom stays hidden */
	left: calc((977.14 - 2000 / 2) * var(--u));
	top: calc((997.88 - 16 - 84.343 / 2) * var(--u));
	width: calc(2000 * var(--u));
	height: calc(84.343 * var(--u));
	transform: rotate(1.47deg) skewX(-.25deg);
	background: #2F2F2F;
	color: #fff;
}

.sban-v2__ribbon--dark .hero-v2__ribbon-track { margin-left: calc(-62.65 * var(--u)); }

.sban-v2__ribbon--yellow {
	left: calc((928.12 - 2104.279 / 2) * var(--u));
	top: calc((1014.9 - 16 - 84.361 / 2) * var(--u));
	width: calc(2104.279 * var(--u));
	height: calc(84.361 * var(--u));
	transform: rotate(-3.07deg) skewX(.53deg);
	background: var(--yellow);
	color: #303030;
	z-index: 5;
}

.sban-v2__ribbon--yellow .hero-v2__ribbon-track { margin-left: calc(123.8 * var(--u)); }

.sban-v2__bottom {
	position: absolute;
	z-index: 2;
	left: calc(-76.6 * var(--u));
	top: calc(940.78 * var(--u));
	width: calc(2011.71 * var(--u));
	height: calc(102.22 * var(--u));
	pointer-events: none;
}

/* ---------- "Чому UBA" ---------- */

.why-v2 {
	position: relative;
	z-index: 3;
	height: calc(871 * var(--u));
	color: var(--black);
}

.why-v2 img {
	display: block;
	max-width: none;
}

.why-v2 > img,
.why-v2__rot,
.why-v2__more {
	position: absolute;
	pointer-events: none;
}

.why-v2__rot {
	display: flex;
	align-items: center;
	justify-content: center;
}

.why-v2__rot img {
	flex: none;
	transform: rotate(var(--r, 0deg));
}

.why-v2__bg { left: calc(0.93 * var(--u)); top: calc(44 * var(--u)); width: calc(1921 * var(--u)); height: calc(1004 * var(--u)); object-fit: cover; object-position: top; }
.why-v2__crown-y { left: calc(30.48 * var(--u)); top: calc(189.57 * var(--u)); width: calc(149 * var(--u)); height: calc(139 * var(--u)); z-index: 1; }
.why-v2__splash--l { left: calc(-156.1 * var(--u)); top: calc(781.3 * var(--u)); width: calc(315.1 * var(--u)); height: calc(322.3 * var(--u)); z-index: 1; }
.why-v2__splash--r { left: calc(1517 * var(--u)); top: calc(55.7 * var(--u)); width: calc(550.8 * var(--u)); height: calc(561.8 * var(--u)); }
.why-v2__hardwork { left: calc(854 * var(--u)); top: calc(139 * var(--u)); width: calc(241 * var(--u)); height: calc(261 * var(--u)); opacity: .7; }
.why-v2__cross1 { left: calc(1172 * var(--u)); top: calc(270 * var(--u)); width: calc(145.809 * var(--u)); height: calc(180.375 * var(--u)); --r: -12.38deg; }
.why-v2__cross1 img { width: calc(114.257 * var(--u)); height: calc(159.594 * var(--u)); }
.why-v2__cross2 { left: calc(-6 * var(--u)); top: calc(1034 * var(--u)); width: calc(142.116 * var(--u)); height: calc(175.806 * var(--u)); --r: -12.38deg; z-index: 2; }
.why-v2__cross2 img { width: calc(111.363 * var(--u)); height: calc(155.552 * var(--u)); }
.why-v2__crown-b { left: calc(1774 * var(--u)); top: calc(131 * var(--u)); width: calc(160.175 * var(--u)); height: calc(158.59 * var(--u)); --r: 23.06deg; }
.why-v2__crown-b img { width: calc(123 * var(--u)); height: calc(120 * var(--u)); }
.why-v2__bag { left: calc(1627 * var(--u)); top: calc(111 * var(--u)); width: calc(341 * var(--u)); height: calc(1315 * var(--u)); z-index: 0; }

.why-v2__more {
	left: calc(1323.49 * var(--u));
	top: calc(164.9 * var(--u));
	width: calc(556.548 * var(--u));
	height: calc(286.469 * var(--u));
	transform: rotate(-1.43deg);
	font-family: 'NeoPrintM319', sans-serif;
	font-size: calc(140 * var(--u));
	line-height: calc(120 * var(--u));
	letter-spacing: calc(-16.8 * var(--u));
	text-transform: uppercase;
	color: #ddd;
	opacity: .8;
}

.why-v2__label-brush { left: calc(88 * var(--u)); top: calc(303.3 * var(--u)); width: calc(413.721 * var(--u)); height: calc(57.904 * var(--u)); --r: -5.54deg; }
.why-v2__label-brush img { width: calc(413.918 * var(--u)); height: calc(92 * var(--u)); }

.why-v2__label-text {
	position: absolute;
	left: calc(121.13 * var(--u));
	top: calc(305.09 * var(--u));
	z-index: 1;
	transform: rotate(-5deg);
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(60 * var(--u));
	line-height: calc(60 * var(--u));
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--yellow);
}

.why-v2__brush-long { left: calc(32.35 * var(--u)); top: calc(467.99 * var(--u)); width: calc(1222.11 * var(--u)); height: calc(168.754 * var(--u)); --r: -5.54deg; }
.why-v2__brush-long img { width: calc(1222.918 * var(--u)); height: calc(124.85 * var(--u)); }
.why-v2__brush-a { left: calc(62.35 * var(--u)); top: calc(514.37 * var(--u)); width: calc(723.717 * var(--u)); height: calc(120.378 * var(--u)); --r: -5.54deg; }
.why-v2__brush-a img { width: calc(722.183 * var(--u)); height: calc(124.85 * var(--u)); }
.why-v2__brush-b { left: calc(574 * var(--u)); top: calc(470 * var(--u)); width: calc(723.07 * var(--u)); height: calc(113.711 * var(--u)); --r: -5.54deg; }
.why-v2__brush-b img { width: calc(722.183 * var(--u)); height: calc(118.14 * var(--u)); }

.why-v2__title span {
	position: absolute;
	z-index: 1;
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	text-transform: uppercase;
	white-space: nowrap;
	transform: rotate(-5deg);
}

.why-v2__title span:nth-child(1) {
	left: calc(82.69 * var(--u));
	top: calc(361.69 * var(--u));
	font-size: calc(120 * var(--u));
	line-height: calc(120 * var(--u));
	color: var(--black);
}

.why-v2__title span:nth-child(2) {
	left: calc(82.38 * var(--u));
	top: calc(506.51 * var(--u));
	font-size: calc(100 * var(--u));
	line-height: calc(100 * var(--u));
	color: #E5E51F;
}

.why-v2__side {
	position: absolute;
	left: calc(1121 * var(--u));
	top: calc(587 * var(--u));
	width: calc(510 * var(--u));
	z-index: 1;
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	font-size: calc(24 * var(--u));
	line-height: calc(30 * var(--u));
	text-align: right;
	text-transform: uppercase;
	color: #000;
}

.why-v2__zigzag { left: calc(437 * var(--u)); top: calc(615.3 * var(--u)); width: calc(585 * var(--u)); height: calc(96 * var(--u)); z-index: 1; }

.why-v2__card {
	position: absolute;
	top: calc(716.7 * var(--u));
	width: calc(582.96 * var(--u));
	height: calc(402.467 * var(--u));
	z-index: 1;
	color: #fff;
}

.why-v2__card--1 { left: calc(86.1 * var(--u)); }
.why-v2__card--2 { left: calc(686 * var(--u)); }
.why-v2__card--3 { left: calc(1286 * var(--u)); }

.why-v2__paper {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	/* the sheet is not clipped: torn edges stay visible and the shadow follows them */
	filter: drop-shadow(calc(-4 * var(--u)) calc(20 * var(--u)) calc(12 * var(--u)) rgba(0, 0, 0, .35));
}

.why-v2__paper > span {
	position: relative;
	flex: none;
	width: calc(399.591 * var(--u));
	height: calc(580.986 * var(--u));
	/* the sheet image is larger than the card: scale it so the three sheets have a gap between them, as in the layout */
	transform: rotate(-90.28deg) scale(.92);
}

.why-v2__paper img {
	position: absolute;
	left: -4.76%;
	top: -14%;
	width: 109.97%;
	height: 114%;
}

.why-v2__num {
	position: absolute;
	left: calc(71 * var(--u));
	top: calc(144.79 * var(--u));
	transform: translateY(-50%);
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(120 * var(--u));
	line-height: 1.482;
	color: var(--yellow);
	text-box: trim-both cap alphabetic;
}

.why-v2__slash {
	position: absolute;
	left: calc(195 * var(--u));
	top: calc(95.29 * var(--u));
	width: calc(36.28 * var(--u));
	height: calc(100 * var(--u));
	display: flex;
	align-items: center;
	justify-content: center;
}

.why-v2__slash::before {
	content: '';
	flex: none;
	width: calc(3.571 * var(--u));
	height: calc(104.206 * var(--u));
	background: var(--yellow);
	transform: rotate(18.4deg);
}

.why-v2__card-title {
	position: absolute;
	left: calc(254.92 * var(--u));
	top: calc(149.29 * var(--u));
	width: calc(290 * var(--u));
	transform: translateY(-50%);
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	font-size: calc(30 * var(--u));
	line-height: calc(32 * var(--u));
	text-transform: uppercase;
	text-box: trim-both cap alphabetic;
}

.why-v2__card-text {
	position: absolute;
	left: calc(77.9 * var(--u));
	top: calc(216.3 * var(--u));
	width: calc(435 * var(--u));
	font-family: 'Inter', sans-serif;
	font-size: calc(20 * var(--u));
	line-height: calc(24 * var(--u));
}

.why-v2__line {
	position: absolute;
	left: calc(111 * var(--u));
	top: calc(1165.5 * var(--u));
	width: calc(98 * var(--u));
	height: calc(5 * var(--u));
	background: var(--yellow);
	z-index: 2;
}

.why-v2__note {
	position: absolute;
	left: calc(241 * var(--u));
	top: calc(1149 * var(--u));
	width: calc(402 * var(--u));
	z-index: 2;
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	font-size: calc(20 * var(--u));
	line-height: calc(30 * var(--u));
	text-transform: uppercase;
	color: #fff;
}

.why-v2__arrow { left: calc(652 * var(--u)); top: calc(1086 * var(--u)); width: calc(257 * var(--u)); height: calc(129 * var(--u)); z-index: 2; }
.why-v2__start { left: calc(1196 * var(--u)); top: calc(1102 * var(--u)); width: calc(217.75 * var(--u)); height: calc(121.517 * var(--u)); --r: -4.6deg; z-index: 2; }
.why-v2__start img { width: calc(210 * var(--u)); height: calc(105 * var(--u)); }
.why-v2__underline { left: calc(1273 * var(--u)); top: calc(1207.4 * var(--u)); width: calc(140.2 * var(--u)); height: calc(39.5 * var(--u)); z-index: 2; }

/* ---------- gallery on service pages ---------- */

.gal-v2.gal-v2--service {
	z-index: 2;
	height: calc(1594 * var(--u));
	margin-bottom: 0;
	padding-top: calc(244 * var(--u));
}

.gal-v2--service .gal-v2__frame {
	background: none;
	overflow: visible;
}

.gal-v2--service .gal-v2__bg,
.gal-v2--service .gal-v2__frame::before {
	display: none;
}

.gal-v2__svc-bg {
	position: absolute;
	left: 0;
	top: calc(120 * var(--u));
	width: calc(2021 * var(--u));
	height: calc(1474 * var(--u));
	object-fit: cover;
	pointer-events: none;
}

.gal-v2__svc-edge {
	position: absolute;
	z-index: 1;
	left: calc(-43 * var(--u));
	width: calc(2011 * var(--u));
	height: calc(133 * var(--u));
	max-width: none;
	pointer-events: none;
}

.gal-v2__svc-edge--top { top: calc(133 * var(--u)); transform: rotate(180deg); }
.gal-v2__svc-edge--bottom { top: calc(1594 * var(--u)); left: calc(-9 * var(--u)); }

/* ---------- perks ("Більше ніж тренування") ---------- */

.perks-v2 {
	position: relative;
	z-index: 1;
	height: calc(1206 * var(--u));
	color: var(--black);
}

.perks-v2 img { display: block; max-width: none; }

.perks-v2__bg {
	position: absolute;
	left: 0;
	top: calc(-60 * var(--u));
	width: 100%;
	height: calc(100% + 160 * var(--u));
	object-fit: cover;
	pointer-events: none;
}

.perks-v2__more {
	left: calc(1514.5 * var(--u));
	top: calc(153.8 * var(--u));
}

.perks-v2__brush { left: calc(69.41 * var(--u)); top: calc(311.04 * var(--u)); width: calc(905.206 * var(--u)); height: calc(147.437 * var(--u)); --r: -5.54deg; }
.perks-v2__brush img { width: calc(903.595 * var(--u)); height: calc(134.4 * var(--u)); }

.perks-v2__title span {
	position: absolute;
	z-index: 1;
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(120 * var(--u));
	text-transform: uppercase;
	white-space: nowrap;
	transform: rotate(-5deg);
	color: var(--black);
}

.perks-v2__title span:nth-child(1) { left: calc(79.65 * var(--u)); top: calc(207.9 * var(--u)); line-height: calc(120 * var(--u)); }
.perks-v2__title span:nth-child(2) { left: calc(128.8 * var(--u)); top: calc(340.8 * var(--u)); line-height: calc(100 * var(--u)); }

.perks-v2__text {
	position: absolute;
	left: calc(1022 * var(--u));
	top: calc(241 * var(--u));
	width: calc(477 * var(--u));
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	font-size: calc(32 * var(--u));
	line-height: 1.15;
	text-transform: uppercase;
	color: #000;
}

.perks-v2__underline { position: absolute; left: calc(104 * var(--u)); top: calc(476.3 * var(--u)); width: calc(585 * var(--u)); height: calc(96.05 * var(--u)); pointer-events: none; }

/* cards: yellow slanted frame behind a photo of the same shape (layout 02.10.2026); the text sits on a white haze at the bottom */
.perks-v2__item { position: absolute; top: calc(431.08 * var(--u)); width: calc(668.9 * var(--u)); height: calc(706.95 * var(--u)); }
.perks-v2__item--1 { left: calc(85 * var(--u)); top: calc(574.84 * var(--u)); width: calc(641 * var(--u)); height: calc(564.03 * var(--u)); z-index: 1; }
.perks-v2__item--2 { left: calc(627.05 * var(--u)); z-index: 2; }
.perks-v2__item--3 { left: calc(1169.1 * var(--u)); z-index: 3; }

.perks-v2__frame,
.perks-v2__photo { position: absolute; top: 0; height: 100%; }
.perks-v2__frame { left: 0; width: 97.6%; background: var(--yellow); clip-path: polygon(18.33% 12.26%, 0 100%, 80.44% 100%, 88.92% 59.57%, 100% 0); }
.perks-v2__photo { left: .76%; width: 99.24%; overflow: hidden; clip-path: polygon(100% 0, 17.8% 12.3%, 0 100%, 79.2% 100%); background: #ddd; }
.perks-v2__item--1 .perks-v2__frame { top: .15%; width: 99.2%; height: 99.4%; clip-path: polygon(16.16% 15.39%, 0 100%, 82.58% 100%, 100% 0); }
.perks-v2__item--1 .perks-v2__photo { left: .79%; width: 99.2%; clip-path: polygon(100% 0, 16.2% 15.4%, 0 100%, 82.6% 100%); }
.perks-v2__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.perks-v2__item:hover .perks-v2__photo img { transform: scale(1.05); }
/* soft white at the bottom of the photo, under the text */
.perks-v2__photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 52%, rgba(255, 255, 255, .78) 72%, #fff 92%); pointer-events: none; }
.perks-v2__haze { position: absolute; left: calc(37 * var(--u)); bottom: calc(-43 * var(--u)); width: calc(501 * var(--u)); height: calc(350 * var(--u)); pointer-events: none; opacity: .85; }

.perks-v2__body { position: absolute; left: calc(85.3 * var(--u)); bottom: 0; top: auto; width: calc(480 * var(--u)); height: calc(234.9 * var(--u)); }
.perks-v2__label { position: absolute; left: 0; top: 0; display: flex; align-items: center; gap: calc(45 * var(--u)); height: calc(91.76 * var(--u)); padding-left: calc(14.9 * var(--u)); }
.perks-v2__label-brush { position: absolute; left: 0; top: 0; width: calc(97.25 * var(--u)); height: calc(91.76 * var(--u)); }
.perks-v2__icon { position: relative; flex: none; }
.perks-v2__icon--massage { width: calc(60 * var(--u)); height: calc(38 * var(--u)); }
.perks-v2__icon--cafe { width: calc(49 * var(--u)); height: calc(57 * var(--u)); }
.perks-v2__icon--parking { width: calc(60 * var(--u)); height: calc(60 * var(--u)); }
.perks-v2__name { position: relative; font-family: 'Oswald', sans-serif; font-weight: 600; font-size: calc(50 * var(--u)); line-height: calc(60 * var(--u)); text-transform: uppercase; white-space: nowrap; color: var(--black); }
.perks-v2__desc { position: absolute; left: calc(1.7 * var(--u)); top: calc(96.86 * var(--u)); width: calc(414 * var(--u)); margin: 0; font-family: 'Inter', sans-serif; font-weight: 400; font-size: calc(22 * var(--u)); line-height: 1.15; text-align: left; color: var(--black); }
.perks-v2__item--3 .perks-v2__desc { width: calc(380 * var(--u)); }
.perks-v2__foot { position: absolute; left: calc(1.7 * var(--u)); top: calc(186.86 * var(--u)); display: flex; align-items: center; width: calc(393.4 * var(--u)); }
.perks-v2__foot span { font-family: 'Oswald', sans-serif; font-weight: 400; font-size: calc(24 * var(--u)); line-height: calc(28 * var(--u)); color: var(--black); }
.perks-v2__foot i { flex: none; width: calc(269 * var(--u)); height: 1px; margin-left: calc(13 * var(--u)); background: #000; }

@media (max-width: 768px) {
	.perks-v2 { height: auto; padding: 60px 16px 80px; overflow: hidden; }
	.perks-v2__more { display: none; }
	.perks-v2__brush { left: -20px; top: 80px; width: 110vw; height: 60px; }
	.perks-v2__brush img { width: 100%; height: 60px; }
	.perks-v2__title { display: flex; flex-direction: column; transform: rotate(-5deg); }
	.perks-v2__title span, .perks-v2__title span:nth-child(1), .perks-v2__title span:nth-child(2) { position: static; transform: none; font-size: 52px; line-height: 54px; }
	.perks-v2__text { position: relative; left: auto; top: auto; width: auto; margin-top: 24px; font-size: 18px; }
	.perks-v2__underline { display: none; }
	.perks-v2__list { display: flex; flex-direction: column; gap: 22px; margin-top: 40px; align-items: center; }
	.perks-v2__item, .perks-v2__item--1, .perks-v2__item--2, .perks-v2__item--3 { position: relative; left: auto; top: auto; width: 100%; max-width: 420px; height: auto; aspect-ratio: 669 / 707; }
	.perks-v2__item--1 .perks-v2__frame { top: 0; width: 97.6%; height: 100%; clip-path: polygon(18.33% 12.26%, 0 100%, 80.44% 100%, 88.92% 59.57%, 100% 0); }
	.perks-v2__item--1 .perks-v2__photo { left: .76%; width: 99.24%; clip-path: polygon(100% 0, 17.8% 12.3%, 0 100%, 79.2% 100%); }
	.perks-v2__haze { left: 4%; bottom: -6%; width: 76%; height: 52%; }
	/* the text column ends inside the slanted right edge of the photo (79% at the bottom) */
	.perks-v2__body { left: 10%; bottom: 4%; top: auto; width: 66%; height: auto; display: flex; flex-direction: column; gap: 8px; }
	.perks-v2__label, .perks-v2__desc, .perks-v2__foot { position: relative; left: auto; top: auto; }
	.perks-v2__label { gap: 18px; height: 52px; padding-left: 8px; }
	.perks-v2__label-brush { width: 56px; height: 52px; }
	.perks-v2__name { font-size: 32px; line-height: 40px; }
	.perks-v2__icon--massage { width: 36px; height: 23px; }
	.perks-v2__icon--cafe { width: 30px; height: 35px; }
	.perks-v2__icon--parking { width: 36px; height: 36px; }
	.perks-v2__desc, .perks-v2__item--3 .perks-v2__desc { width: auto; font-size: 14px; line-height: 1.25; }
	.perks-v2__foot { width: 100%; }
	.perks-v2__foot span { font-size: 16px; line-height: 20px; }
	.perks-v2__foot i { flex: 1; width: auto; margin: 0 10px; }
}

/* ---------- training packages (service + prices page) ---------- */

.price-v2 {
	position: relative;
	z-index: 2;
	color: #fff;
}

.price-v2 img { display: block; max-width: none; }

.price-v2__ribbon {
	left: calc(-28.4 * var(--u));
	/* lifted so the tilted ribbon covers the section edge at the left too */
	top: calc((74.3 - 54 - 96.691 / 2) * var(--u));
	width: calc(1974.586 * var(--u));
	height: calc(96.691 * var(--u));
	transform: rotate(-1.46deg) skewX(.23deg);
	background: #fff;
	color: var(--black);
	z-index: 6;
}

.price-v2__ribbon .hero-v2__ribbon-track { margin-left: calc(44.1 * var(--u)); }
.price-v2__ribbon .hero-v2__ribbon-track span.is-outline { -webkit-text-stroke-color: var(--black); }
.price-v2__ribbon .hero-v2__arrow { background-image: url('../img/v2/common/ribbon-arrow-black.svg'); }

.price-v2__group {
	position: relative;
	padding: calc(551 * var(--u)) 0 calc(101 * var(--u));
}

.price-v2--single .price-v2__group { margin-top: calc(45 * var(--u)); }

.price-v2__bg {
	position: absolute;
	left: calc(-11 * var(--u));
	top: calc(18 * var(--u));
	width: calc(1944 * var(--u));
	bottom: 0;
	overflow: hidden;
	pointer-events: none;
}

.price-v2__bg img { width: 100%; height: 100%; object-fit: cover; object-position: bottom; }

.price-v2__bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(18, 18, 18, 0) 86.755%, #121212 100%),
		linear-gradient(189.27deg, #121212 10.047%, rgba(0, 0, 0, 0) 29.029%);
}

.price-v2__splash { position: absolute; left: calc(868 * var(--u)); top: calc(29 * var(--u)); width: calc(493 * var(--u)); height: calc(499 * var(--u)); pointer-events: none; }
.price-v2__bag { position: absolute; left: calc(1591 * var(--u)); top: 0; width: calc(332 * var(--u)); height: calc(1343 * var(--u)); pointer-events: none; }

.price-v2__badge { position: absolute; left: calc(1313 * var(--u)); top: calc(247 * var(--u)); width: calc(416 * var(--u)); height: calc(152 * var(--u)); z-index: 1; text-align: center; text-transform: uppercase; font-family: 'Oswald', sans-serif; font-weight: 600; }
.price-v2__badge img:nth-of-type(1) { position: absolute; left: calc(-2.25 * var(--u)); top: calc(-1.69 * var(--u)); width: calc(420.03 * var(--u)); height: calc(156.06 * var(--u)); }
.price-v2__badge img:nth-of-type(2) { position: absolute; left: calc(4.27 * var(--u)); top: calc(3.01 * var(--u)); width: calc(408.5 * var(--u)); height: calc(145.58 * var(--u)); }
.price-v2__badge span { position: absolute; left: calc(59 * var(--u)); top: calc(33 * var(--u)); width: calc(315 * var(--u)); font-size: calc(20 * var(--u)); line-height: calc(24 * var(--u)); color: var(--yellow); }
.price-v2__badge strong { position: absolute; left: calc(216 * var(--u)); top: calc(65 * var(--u)); transform: translateX(-50%); font-weight: 600; font-size: calc(40 * var(--u)); line-height: calc(40 * var(--u)); white-space: nowrap; color: #fff; }

.price-v2__title span {
	position: absolute;
	z-index: 1;
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	line-height: calc(160 * var(--u));
	text-transform: uppercase;
	white-space: nowrap;
	transform: rotate(-5deg);
}

.price-v2__title span:nth-child(1) { left: calc(78.04 * var(--u)); top: calc(173.9 * var(--u)); font-size: calc(110 * var(--u)); color: #fff; }
.price-v2__title span:nth-child(2) { left: calc(146.38 * var(--u)); top: calc(304.68 * var(--u)); font-size: calc(120 * var(--u)); color: var(--yellow); }

.price-v2__table {
	position: relative;
	z-index: 1;
	width: calc(1702 * var(--u));
	margin-left: calc(85 * var(--u));
	display: flex;
	flex-direction: column;
	gap: calc(60 * var(--u));
}

.price-v2__block { display: flex; flex-direction: column; gap: calc(15 * var(--u)); }

.price-v2__row {
	position: relative;
	height: calc(125 * var(--u));
	border: 1px solid var(--gray);
	border-radius: calc(10 * var(--u));
	background: var(--black);
	box-shadow: calc(-3 * var(--u)) calc(6 * var(--u)) calc(24 * var(--u)) rgba(0, 0, 0, .2);
	transition: border-color .2s ease;
}

.price-v2__row:hover { border-color: var(--yellow); }

.price-v2__num {
	position: absolute;
	left: calc(28.93 * var(--u));
	top: calc(22 * var(--u));
	width: calc(95.37 * var(--u));
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(80 * var(--u));
	line-height: calc(80 * var(--u));
	color: var(--yellow);
}

.price-v2__sep {
	position: absolute;
	top: calc(33 * var(--u));
	width: 1px;
	height: calc(62 * var(--u));
	background: var(--gray);
}

.price-v2__sep--1 { left: calc(141 * var(--u)); }
.price-v2__sep--2 { left: calc(871 * var(--u)); }

.price-v2__kind {
	position: absolute;
	left: calc(174 * var(--u));
	top: calc(16 * var(--u));
	width: calc(64 * var(--u));
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: calc(2 * var(--u));
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(24 * var(--u));
	line-height: calc(20 * var(--u));
	text-transform: uppercase;
	color: var(--yellow);
}

.price-v2__kind img { width: calc(55 * var(--u)); height: calc(55 * var(--u)); }

.price-v2__name {
	position: absolute;
	left: calc(298 * var(--u));
	top: calc(43 * var(--u));
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(30 * var(--u));
	line-height: calc(36 * var(--u));
	text-transform: uppercase;
	white-space: nowrap;
}

.price-v2__name em { font-style: normal; color: var(--yellow); }

.price-v2__underline { position: absolute; left: calc(333 * var(--u)); top: calc(85 * var(--u)); width: calc(202 * var(--u)); height: calc(10 * var(--u)); }

.price-v2__lead {
	position: absolute;
	left: calc(900 * var(--u));
	top: calc(32 * var(--u));
	width: calc(405 * var(--u));
	display: flex;
	flex-direction: column;
	font-family: 'Oswald', sans-serif;
	font-size: calc(24 * var(--u));
	line-height: calc(30 * var(--u));
	text-transform: uppercase;
	white-space: nowrap;
}

.price-v2__lead strong { font-weight: 600; }
.price-v2__lead span { font-weight: 300; color: var(--gray); text-transform: none; }

.price-v2__cell {
	position: absolute;
	top: 0;
	right: 0;
	width: calc(352 * var(--u));
	height: calc(123 * var(--u));
	color: var(--black);
}

.price-v2__row.is-wide .price-v2__cell { width: calc(562 * var(--u)); }

.price-v2__cell > img { position: absolute; inset: 0; width: 100%; height: 100%; }

.price-v2__price {
	position: absolute;
	right: calc(72 * var(--u));
	top: calc(33 * var(--u));
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	line-height: calc(55 * var(--u));
	text-transform: uppercase;
	white-space: nowrap;
}

.price-v2__row.is-wide .price-v2__price { top: calc(20 * var(--u)); }
.price-v2__price b { font-size: calc(60 * var(--u)); font-weight: 600; }
.price-v2__price small { font-size: calc(30 * var(--u)); }

.price-v2__per {
	position: absolute;
	right: calc(72 * var(--u));
	top: calc(80 * var(--u));
	height: calc(21 * var(--u));
	padding: 0 calc(10 * var(--u));
	border-radius: calc(2 * var(--u));
	background: var(--black);
	font-family: 'Inter', sans-serif;
	font-size: calc(18 * var(--u));
	line-height: calc(21 * var(--u));
	color: #fff;
	white-space: nowrap;
}

.price-v2__disc {
	position: absolute;
	left: calc(1648 * var(--u));
	top: calc(45 * var(--u));
	width: calc(88 * var(--u));
	height: calc(33 * var(--u));
}

.price-v2__disc img { position: absolute; inset: 0; width: 100%; height: 100%; }
.price-v2__disc span { position: absolute; left: calc(14 * var(--u)); top: calc(5 * var(--u)); width: calc(54 * var(--u)); font-family: 'Oswald', sans-serif; font-weight: 600; font-size: calc(20 * var(--u)); line-height: calc(20 * var(--u)); text-align: center; white-space: nowrap; color: #fff; }

.price-v2__btn.v2-btn {
	position: relative;
	z-index: 1;
	margin: calc(67 * var(--u)) auto 0;
	left: calc(-30 * var(--u));
}

.price-v2__btn--all.v2-btn { width: calc(408.4 * var(--u)); }
.price-v2__btn--all.v2-btn img { width: calc(342.4 * var(--u)); }
.price-v2__btn--all.v2-btn img + img { left: calc(66 * var(--u)); }
.price-v2__btn--all.v2-btn span { left: calc(203.4 * var(--u)); }

/* service page: schedule block overlaps the dark end of the packages block */
.page-template-page-service .scheduleinfo.sched-v2 {
	margin-top: calc(-268 * var(--u));
}

.page-template-page-service .sched-v2__edge { display: none; }
.page-template-page-service .sched-v2__bg { top: calc(238 * var(--u)); height: calc(1020 * var(--u)); }
.page-template-page-service .sched-v2__stage { top: calc(179 * var(--u)); }
.page-template-page-service .scheduleinfo.sched-v2 { height: calc(1136 * var(--u)); }

/* ---------- "Що ви отримаєте на тренуваннях?" (service) ---------- */

.youget.yg-v2 {
	position: relative;
	z-index: 3;
	height: calc(1465 * var(--u));
	margin-top: calc(-54 * var(--u));
	padding: 0;
	background: none;
	color: #fff;
	overflow: visible;
}

.youget.yg-v2::before,
.youget.yg-v2::after { content: none !important; }

.yg-v2 img { display: block; max-width: none; }

.yg-v2__ribbon--dark {
	left: calc((962.1 - 1974.586 / 2) * var(--u));
	top: calc((118.6 - 96.691 / 2) * var(--u));
	width: calc(1974.586 * var(--u));
	height: calc(96.691 * var(--u));
	transform: rotate(.74deg) skewX(.23deg);
	background: #2F2F2F;
	color: #fff;
}

.yg-v2__ribbon--yellow {
	left: calc((962 - 1974.586 / 2) * var(--u));
	top: calc((119.9 - 96.691 / 2) * var(--u));
	width: calc(1974.586 * var(--u));
	height: calc(96.691 * var(--u));
	transform: rotate(-3.9deg) skewX(.23deg);
	background: var(--yellow);
	color: var(--black);
	z-index: 5;
}

.yg-v2__ribbon .hero-v2__ribbon-track { margin-left: calc(43.5 * var(--u)); }
.yg-v2__ribbon--yellow .hero-v2__ribbon-track span.is-outline { -webkit-text-stroke-color: var(--black); }
.yg-v2__ribbon--yellow .hero-v2__arrow { background-image: url('../img/v2/common/ribbon-arrow-black.svg'); }

.yg-v2__bg { position: absolute; left: calc(-12 * var(--u)); top: calc(157 * var(--u)); width: calc(1944 * var(--u)); height: calc(1344 * var(--u)); overflow: hidden; pointer-events: none; }
.yg-v2__bg img { width: 100%; height: 100%; object-fit: cover; }
.yg-v2__bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 89.918%, #121212 100%), linear-gradient(187.4deg, #121212 14.441%, rgba(0, 0, 0, 0) 30.081%); }

.yg-v2__splash { position: absolute; left: 0; top: calc(188 * var(--u)); width: calc(347 * var(--u)); height: calc(613 * var(--u)); pointer-events: none; }

.yg-v2__title span {
	position: absolute;
	z-index: 1;
	height: calc(147.049 * var(--u));
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	line-height: calc(160 * var(--u));
	text-transform: uppercase;
	white-space: nowrap;
	transform: rotate(-5deg);
}

.yg-v2__title span:nth-child(1) { left: calc(76.9 * var(--u)); top: calc(339.4 * var(--u)); width: calc(1328.9 * var(--u)); font-size: calc(110 * var(--u)); color: #fff; }
.yg-v2__title span:nth-child(2) { left: calc(253.6 * var(--u)); top: calc(451 * var(--u)); width: calc(951.9 * var(--u)); font-size: calc(120 * var(--u)); color: var(--yellow); }

.yg-v2__side {
	position: absolute;
	z-index: 1;
	left: calc(1431 * var(--u));
	top: calc(343 * var(--u));
	width: calc(403 * var(--u));
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(32 * var(--u));
	line-height: 1.15;
	text-align: right;
	text-transform: uppercase;
}

.yg-v2__side p + p { margin-top: calc(36.8 * var(--u)); }
.yg-v2__side .mark { color: var(--yellow); background: none; }

.yg-v2__slider { position: absolute !important; left: 0; top: 0; width: 100%; height: 100%; z-index: 1; }
.yg-v2__page { position: relative; height: 100%; overflow: hidden; } /* item 3 runs past 1920: keep it out of the next slide */
.yg-v2__item { position: absolute; inset: 0; pointer-events: none; }
.yg-v2__item > * { position: absolute; }

.yg-v2__frame { pointer-events: none; }
.yg-v2__photo { overflow: hidden; }
.yg-v2__photo img { width: 100%; height: 100%; object-fit: cover; }

.yg-v2__item--1 .yg-v2__frame,
.yg-v2__item--1 .yg-v2__photo { left: calc(78.77 * var(--u)); top: calc(738.56 * var(--u)); width: calc(807.03 * var(--u)); height: calc(455 * var(--u)); }
.yg-v2__item--1 .yg-v2__photo { -webkit-mask: url('../img/v2/directions/mask.png') 0 0 / 100% 100% no-repeat; mask: url('../img/v2/directions/mask.png') 0 0 / 100% 100% no-repeat; }

.yg-v2__item--2 .yg-v2__frame { left: calc(845.62 * var(--u)); top: calc(577.49 * var(--u)); width: calc(544 * var(--u)); height: calc(441 * var(--u)); }
.yg-v2__item--3 .yg-v2__frame { left: calc(1556.7 * var(--u)); top: calc(782.99 * var(--u)); width: calc(544 * var(--u)); height: calc(441 * var(--u)); }
.yg-v2__item--2 .yg-v2__photo { left: calc(862.62 * var(--u)); top: calc(586.49 * var(--u)); }
.yg-v2__item--3 .yg-v2__photo { left: calc(1573.7 * var(--u)); top: calc(791.99 * var(--u)); }
.yg-v2__item--2 .yg-v2__photo,
.yg-v2__item--3 .yg-v2__photo { width: calc(527 * var(--u)); height: calc(414 * var(--u)); -webkit-mask: url('../img/v2/youget/mask-s.png') 0 0 / 100% 100% no-repeat; mask: url('../img/v2/youget/mask-s.png') 0 0 / 100% 100% no-repeat; }

.yg-v2__tape { width: calc(343.211 * var(--u)); height: calc(143.152 * var(--u)); display: flex; align-items: center; justify-content: center; }
.yg-v2__tape img { flex: none; width: calc(335 * var(--u)); height: calc(117 * var(--u)); opacity: .7; transform: rotate(-4.54deg) scaleY(-1); }
.yg-v2__item--1 .yg-v2__tape { left: calc(263.13 * var(--u)); top: calc(729.84 * var(--u)); }
.yg-v2__item--2 .yg-v2__tape { left: calc(974.98 * var(--u)); top: calc(568.49 * var(--u)); }
.yg-v2__item--3 .yg-v2__tape { left: calc(1686.06 * var(--u)); top: calc(773.99 * var(--u)); }

.yg-v2__num {
	transform: translateY(-50%);
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(120 * var(--u));
	line-height: 1.482;
	color: #fff;
	text-box: trim-both cap alphabetic;
	z-index: 1;
}

.yg-v2__item--1 .yg-v2__num { left: calc(59.77 * var(--u)); top: calc(830.34 * var(--u)); }
.yg-v2__item--2 .yg-v2__num { left: calc(754.62 * var(--u)); top: calc(668.99 * var(--u)); }
.yg-v2__item--3 .yg-v2__num { left: calc(1465.7 * var(--u)); top: calc(874.49 * var(--u)); }

.yg-v2__text {
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(50 * var(--u));
	line-height: calc(60 * var(--u));
	text-transform: uppercase;
	color: #fff;
}

.yg-v2__item--1 .yg-v2__text { left: calc(142.77 * var(--u)); top: calc(1181.84 * var(--u)); width: calc(576 * var(--u)); }
.yg-v2__item--2 .yg-v2__text { left: calc(863 * var(--u)); top: calc(1020 * var(--u)); width: calc(568 * var(--u)); }
.yg-v2__item--3 .yg-v2__text { left: calc(1573.7 * var(--u)); top: calc(1225.71 * var(--u)); width: calc(550 * var(--u)); }

.yg-v2__nav { position: absolute; z-index: 2; left: calc(836.39 * var(--u)); top: calc(1300.67 * var(--u)); width: calc(247.22 * var(--u)); height: calc(88 * var(--u)); }
.yg-v2__prev, .yg-v2__next { position: absolute; top: calc(7 * var(--u)); width: calc(40 * var(--u)); height: calc(74 * var(--u)); padding: 0; border: 0; cursor: pointer; background: url('../img/v2/gallery/nav-left.svg') center / 100% 100% no-repeat; }
.yg-v2__prev { left: 0; }
.yg-v2__next { left: calc(206.38 * var(--u)); background-image: url('../img/v2/gallery/nav-right.svg'); }
.yg-v2__count { position: absolute; left: calc(68 * var(--u)); top: 0; font-family: 'Oswald', sans-serif; font-weight: 600; line-height: calc(88 * var(--u)); white-space: nowrap; }
.yg-v2__count span:first-child { font-size: calc(96 * var(--u)); }
.yg-v2__count span:last-child { font-size: calc(48 * var(--u)); color: rgba(255, 255, 255, .56); }

/* ---------- trainers slider on service pages (existing block, layout tweaks) ---------- */

.treners.treners-v2 { position: relative; z-index: 2; }
.treners-v2 > .howit__line { display: none; }
.treners-v2__edge { position: absolute; z-index: 3; left: calc(-37 * var(--u)); top: calc(-10 * var(--u)); width: calc(2011 * var(--u)); height: calc(133 * var(--u)); max-width: none; pointer-events: none; }
.treners-v2__uba { position: absolute; left: 0; top: calc(1200 * var(--u)); width: calc(410 * var(--u)); height: calc(531 * var(--u)); max-width: none; pointer-events: none; }
.treners-v2 .treners__slide:nth-child(even) .treners__slide-num { color: transparent; -webkit-text-stroke: calc(2 * var(--u)) var(--black); }

.treners-v2__ribbon {
	left: calc((976.35 - 1974.586 / 2) * var(--u));
	top: calc((72 - 96.691 / 2) * var(--u));
	width: calc(1974.586 * var(--u));
	height: calc(96.691 * var(--u));
	transform: rotate(-1.29deg) skewX(.23deg);
	background: var(--yellow);
	color: #2d2d2d;
}

.treners-v2__ribbon .hero-v2__ribbon-track { margin-left: calc(43.5 * var(--u)); }
.treners-v2__ribbon .hero-v2__ribbon-track span.is-outline { -webkit-text-stroke-color: var(--black); }
.treners-v2__ribbon .hero-v2__arrow { background-image: url('../img/v2/common/ribbon-arrow-black.svg'); }

@media (max-width: 768px) {
	.treners-v2__uba { display: none; }
	.treners-v2__edge { left: -10vw; width: 120vw; height: 44px; }
	.treners-v2__ribbon { left: -5vw; top: 10px; width: 110vw; height: 42px; }
	.treners-v2__ribbon .hero-v2__ribbon-track { margin-left: 0; }
}
.treners.treners-v2 { min-height: calc(1694 * var(--u)); box-sizing: border-box; }

/* =========================================================================
   Service page — mobile (<=768px)
   ========================================================================= */
@media (max-width: 768px) {
	/* banner */
	.hero.sban-v2 { padding-top: 17px !important; overflow: hidden; }
	.sban-v2__stage { height: auto; min-height: 640px; padding: 20px 16px 110px; display: flex; flex-direction: column; }
	.sban-v2__word--uba { left: -20px; top: 20px; width: auto; height: auto; font-size: 150px; line-height: 110px; }
	.sban-v2__word--fight { left: 0; top: auto; bottom: 90px; width: auto; height: auto; font-size: 110px; line-height: 90px; }
	.sban-v2 .sban-v2__edge, .sban-v2 .sban-v2__v2 { display: none !important; }
	.sban-v2__photo { position: relative; order: 3; left: auto; top: auto; width: calc(100% + 32px); height: 300px; margin: 16px -16px 0; -webkit-mask-size: 130% 115%; mask-size: 130% 115%; -webkit-mask-position: 40% 40%; mask-position: 40% 40%; }
	.sban-v2__crumbs { position: relative; left: auto; top: auto; order: 0; font-size: 11px; white-space: normal; }
	.sban-v2__title { position: relative; order: 1; display: flex; flex-direction: column; margin-top: 10px; transform: rotate(-5deg); }
	.sban-v2__title span:not(.visually-hidden), .sban-v2__title span:nth-child(1), .sban-v2__title span:nth-child(2):not(.visually-hidden) { position: static; width: auto; height: auto; transform: none; font-size: 52px; line-height: 54px; white-space: normal; }
	.sban-v2__about { position: relative; order: 2; left: auto; top: auto; width: auto; margin-top: 18px; gap: 10px; }
	.sban-v2__subtitle { font-size: 22px; line-height: 24px; }
	.sban-v2__text { font-size: 15px; line-height: 20px; }
	.sban-v2__btn.v2-btn { position: relative; order: 4; left: auto; top: auto; margin: 18px auto 0; }
	.sban-v2__ribbon { height: 40px; }
	.sban-v2__ribbon--dark { left: -5vw; top: auto; bottom: 34px; width: 110vw; }
	.sban-v2__ribbon--yellow { left: -8vw; top: auto; bottom: 18px; width: 116vw; }
	.sban-v2__ribbon .hero-v2__ribbon-track { margin-left: 0 !important; }
	.sban-v2__bottom { left: -10vw; top: auto; bottom: -10px; width: 120vw; height: 40px; }

	/* why */
	.why-v2 { height: auto; padding: 60px 16px 40px; overflow: hidden; display: flex; flex-direction: column; }
	.why-v2__bg { left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; }
	.why-v2__splash, .why-v2__hardwork, .why-v2__cross1, .why-v2__cross2, .why-v2__more, .why-v2__crown-b, .why-v2__bag, .why-v2__brush-long, .why-v2__brush-a, .why-v2__brush-b, .why-v2__zigzag, .why-v2__arrow, .why-v2__start, .why-v2__underline, .why-v2__line { display: none !important; }
	.why-v2__crown-y { left: 10px; top: 20px; width: 60px; height: 56px; }
	.why-v2__label { position: relative; height: 56px; }
	.why-v2__label-brush { left: 0; top: 10px; width: 220px; height: 34px; }
	.why-v2__label-brush img { width: 220px; height: 50px; }
	.why-v2__label-text { left: 20px; top: 8px; font-size: 32px; line-height: 34px; }
	.why-v2__title { position: relative; display: flex; flex-direction: column; margin-top: 16px; transform: rotate(-5deg); }
	.why-v2__title span, .why-v2__title span:nth-child(1), .why-v2__title span:nth-child(2) { position: static; transform: none; white-space: normal; }
	.why-v2__title span:nth-child(1) { font-size: 52px; line-height: 54px; }
	.why-v2__title span:nth-child(2) { font-size: 38px; line-height: 42px; background: var(--black); padding: 0 8px; align-self: flex-start; }
	.why-v2__side { position: relative; left: auto; top: auto; width: auto; margin-top: 26px; font-size: 18px; line-height: 22px; text-align: left; }
	.why-v2__cards { display: flex; flex-direction: column; gap: 16px; margin-top: 26px; }
	.why-v2__card, .why-v2__card--1, .why-v2__card--2, .why-v2__card--3 { position: relative; left: auto; top: auto; width: 100%; height: auto; min-height: 220px; padding: 24px 20px; background: #1a1a1a url('../img/v2/why/card.webp') center / 128% auto; /* the sheet has transparent torn margins: scale it so only the solid paper fills the card */ }
	.why-v2__paper { display: none; }
	.why-v2__num, .why-v2__slash, .why-v2__card-title, .why-v2__card-text { position: relative; left: auto; top: auto; transform: none; }
	.why-v2__num { display: inline-block; font-size: 70px; line-height: 1; vertical-align: middle; }
	.why-v2__slash { display: inline-block; width: 20px; height: 60px; vertical-align: middle; }
	.why-v2__slash::before { width: 3px; height: 62px; display: block; margin: 0 auto; }
	.why-v2__card-title { display: inline-block; width: auto; max-width: 60%; vertical-align: middle; margin-left: 8px; font-size: 22px; line-height: 24px; }
	.why-v2__card-text { width: auto; margin-top: 14px; font-size: 15px; line-height: 20px; }
	.why-v2__note { position: relative; left: auto; top: auto; width: auto; margin-top: 20px; font-size: 16px; color: var(--black); }

	/* gallery on service */
	.gal-v2.gal-v2--service { height: auto; padding-top: 20px; }
	.gal-v2__svc-bg { left: 0; top: 0; width: 100%; height: 100%; }
	.gal-v2__svc-edge { display: none; }

	/* prices */
	.price-v2__ribbon { left: -5vw; top: 6px; width: 110vw; height: 42px; }
	.price-v2__ribbon .hero-v2__ribbon-track { margin-left: 0; }
	.price-v2__group { padding: 90px 16px 60px; }
	.price-v2--single .price-v2__group { margin-top: 20px; }
	.price-v2__bg { left: 0; top: 0; width: 100%; }
	.price-v2__splash { left: auto; right: -40px; top: 20px; width: 200px; height: 203px; }
	.price-v2__bag { display: none; }
	.price-v2__badge { position: relative; left: auto; top: auto; width: 240px; height: 88px; margin: 0 0 24px auto; }
	.price-v2__badge img:nth-of-type(1) { left: 0; top: 0; width: 100%; height: 100%; }
	.price-v2__badge img:nth-of-type(2) { left: 4px; top: 2px; width: calc(100% - 8px); height: calc(100% - 4px); }
	.price-v2__badge span { left: 30px; top: 18px; width: 180px; font-size: 12px; line-height: 14px; }
	.price-v2__badge strong { left: 120px; top: 38px; font-size: 24px; line-height: 26px; }
	.price-v2__title { position: relative; display: flex; flex-direction: column; margin-bottom: 30px; transform: rotate(-5deg); }
	.price-v2__title span, .price-v2__title span:nth-child(1), .price-v2__title span:nth-child(2) { position: static; transform: none; white-space: normal; font-size: 44px; line-height: 48px; }
	.price-v2__title span:nth-child(2) { padding-left: 30px; }
	.price-v2__table { width: 100%; margin: 0; gap: 26px; }
	/* phones: cards as in the approved example — number, format, text over a dark club photo, price on a torn white label */
	.price-v2__label-m { display: flex; align-items: center; gap: 14px; margin: 22px 0 12px; font-family: 'Oswald', sans-serif; font-weight: 500; font-size: 17px; line-height: 20px; text-transform: uppercase; color: #9a9a9a; }
	.price-v2__label-m::after { content: ''; flex: 1; height: 1px; background: #4a4a4a; }
	.price-v2__table > .price-v2__label-m:first-child { margin-top: 0; }
	.price-v2__table { gap: 0; }
	.price-v2__block { gap: 12px; }

	.price-v2__row { position: relative; isolation: isolate; height: auto; min-height: 112px; display: grid; grid-template-columns: 30px 42px 1fr; align-items: center; column-gap: 9px; padding: 14px 31% 14px 10px; border: 1px solid #3a3a3a; border-radius: 10px; background: #0d0d0d; overflow: hidden; }
	.price-v2__row > * { position: relative !important; left: auto !important; top: auto !important; right: auto !important; }
	.price-v2__photo-m { display: block; position: absolute !important; z-index: -1; right: 22% !important; top: 0 !important; width: 48%; height: 100%; object-fit: cover; object-position: center 25%;
		-webkit-mask-image: linear-gradient(to right, transparent, #000 45%); mask-image: linear-gradient(to right, transparent, #000 45%); }
	.price-v2__num { grid-column: 1; grid-row: 1 / 4; width: auto; font-size: 46px; line-height: 46px; text-align: center; }
	.price-v2__kind { grid-column: 2; grid-row: 1 / 4; display: flex; flex-direction: column; align-items: center; gap: 2px; width: auto; height: auto; padding-right: 8px; border-right: 1px solid #4a4a4a; align-self: stretch; justify-content: center; }
	.price-v2__kind img { position: static !important; width: 26px; height: 26px; }
	.price-v2__kind span { position: static !important; font-size: 13px; line-height: 15px; }
	.price-v2 .price-v2__sep, .price-v2 .price-v2__underline { display: none; }
	.price-v2__name { grid-column: 3; grid-row: 1; width: auto; padding: 0; font-size: 13px; line-height: 16px; white-space: nowrap; }
	.price-v2__name em { display: block; }
	.price-v2__dash { display: none; }
	.price-v2__lead { grid-column: 3; grid-row: 2; width: auto; margin-top: 6px; white-space: normal; font-size: 12px; line-height: 15px; }
	.price-v2__lead strong, .price-v2__lead span { display: inline; font-family: 'Inter', sans-serif; font-weight: 400; font-size: 12px; line-height: 15px; text-transform: none; color: #b5b5b5; }
	.price-v2__lead strong::first-letter { text-transform: uppercase; }
	.price-v2__lead strong::after { content: ' '; }
	/* group rows: one short line under the title, as in the example */
	.price-v2__row:not(.is-solo) .price-v2__lead span { display: none; }
	.price-v2__row.is-solo .price-v2__name { white-space: normal; }

	.price-v2__cell, .price-v2__row.is-wide .price-v2__cell { position: absolute !important; right: 0 !important; top: 0 !important; left: auto !important; width: 45% !important; height: 100%; margin: 0; }
	/* short torn label for every row on phones (the long one is for the wide desktop rows) */
	.price-v2__cell { background: url('../img/v2/price/cell-s.webp') 0 0 / 100% 100% no-repeat; }
	.price-v2 .price-v2__cell > img { display: none; }
	.price-v2__price, .price-v2__row.is-wide .price-v2__price { position: absolute !important; right: 10px !important; left: auto !important; top: 50% !important; transform: translateY(-50%); line-height: 32px; white-space: nowrap; }
	.price-v2__row.is-wide .price-v2__price { top: 42% !important; }
	.price-v2__price b { font-size: 30px; }
	.price-v2__price small { font-size: 15px; }
	.price-v2__per { position: absolute !important; right: 10px !important; left: auto !important; top: calc(42% + 20px) !important; height: 16px; font-size: 9px; line-height: 16px; padding: 0 4px; text-transform: uppercase; white-space: nowrap; }
	.price-v2__disc { position: absolute !important; left: auto !important; right: 6px !important; top: 6px !important; bottom: auto; width: 50px; height: 24px; z-index: 2; }
	.price-v2__disc span { left: 5px; top: 4px; width: 40px; font-size: 13px; line-height: 16px; }

	/* individual trainings: two tall cards side by side, photo fills the card */
	.price-v2__block:has(> .is-solo) { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
	.price-v2__row.is-solo { min-height: 270px; grid-template-columns: auto 1fr; grid-template-rows: auto auto auto 1fr 74px; align-items: start; column-gap: 8px; padding: 12px 12px 0; }
	.price-v2__row.is-solo .price-v2__photo-m { right: 0 !important; width: 100%; height: 72%; object-position: center 20%; -webkit-mask-image: linear-gradient(to bottom, #000 45%, transparent); mask-image: linear-gradient(to bottom, #000 45%, transparent); opacity: .85; }
	.price-v2__row.is-solo .price-v2__num { grid-row: 1; font-size: 46px; line-height: 46px; text-align: left; }
	.price-v2__row.is-solo .price-v2__kind { grid-column: 2; grid-row: 1; align-self: end; align-items: flex-start; padding: 0; border: 0; margin-bottom: 4px; }
	.price-v2__row.is-solo .price-v2__name { grid-column: 1 / -1; grid-row: 2; margin-top: 60px; font-size: 15px; line-height: 18px; }
	.price-v2__row.is-solo .price-v2__lead { grid-column: 1 / -1; grid-row: 3; }
	.price-v2__row.is-solo .price-v2__cell { top: auto !important; bottom: 0 !important; width: calc(100% + 2px) !important; right: -1px !important; height: 74px; }
	.price-v2__row.is-solo .price-v2__price { right: 12px !important; }
	.price-v2__row.is-solo.is-wide .price-v2__price { top: 36% !important; }
	.price-v2__row.is-solo .price-v2__per { top: calc(36% + 18px) !important; right: 12px !important; }
	.price-v2__row.is-solo .price-v2__price b { font-size: 28px; }
	.price-v2__row.is-solo .price-v2__disc { top: 12px !important; right: 8px !important; }
	.price-v2__row.is-solo:has(.price-v2__disc) .price-v2__kind { margin-right: 44px; }
	.price-v2__btn.v2-btn { left: auto; margin-top: 30px; }
	.price-v2__btn--all.v2-btn { width: 260px; }
	.price-v2__btn--all.v2-btn img { width: 220px; }
	.price-v2__btn--all.v2-btn img + img { left: 40px; }
	.price-v2__btn--all.v2-btn span { left: 50%; }

	/* youget */
	.youget.yg-v2 { height: auto; margin-top: 0; padding: 80px 16px 50px; overflow: hidden; }
	.yg-v2__ribbon { height: 40px; }
	.yg-v2__ribbon--dark { left: -5vw; top: 14px; width: 110vw; }
	.yg-v2__ribbon--yellow { left: -5vw; top: 8px; width: 110vw; }
	.yg-v2__ribbon .hero-v2__ribbon-track { margin-left: 0; }
	.yg-v2__bg { left: 0; top: 40px; width: 100%; height: calc(100% - 40px); }
	.yg-v2__splash { width: 150px; height: 265px; top: 60px; }
	.yg-v2__title { position: relative; display: flex; flex-direction: column; transform: rotate(-5deg); margin-top: 20px; }
	.yg-v2__title span, .yg-v2__title span:nth-child(1), .yg-v2__title span:nth-child(2) { position: static; width: auto; height: auto; transform: none; white-space: normal; font-size: 46px; line-height: 50px; }
	.yg-v2__side { position: relative; left: auto; top: auto; width: auto; margin-top: 24px; font-size: 18px; text-align: left; }
	.yg-v2__side p + p { margin-top: 10px; }
	.yg-v2__slider { position: relative !important; top: auto; height: auto; margin-top: 30px; }
	.yg-v2__page { height: auto; display: flex; flex-direction: column; gap: 36px; }
	.yg-v2__item { position: relative; inset: auto; }
	.yg-v2__item > * { position: relative; left: auto !important; top: auto !important; }
	.yg-v2__frame { position: absolute !important; width: 100% !important; height: auto !important; aspect-ratio: 807 / 455; }
	.yg-v2__photo { width: 100% !important; height: auto !important; aspect-ratio: 807 / 455; }
	.yg-v2__item--2 .yg-v2__frame, .yg-v2__item--3 .yg-v2__frame, .yg-v2__item--2 .yg-v2__photo, .yg-v2__item--3 .yg-v2__photo { aspect-ratio: 527 / 414; }
	.yg-v2__tape { position: absolute !important; left: 30% !important; top: -20px !important; width: 170px; height: 70px; }
	.yg-v2__tape img { width: 160px; height: 56px; }
	.yg-v2__num { position: absolute !important; left: 0 !important; top: -10px !important; transform: none; font-size: 60px; }
	.yg-v2__text { margin-top: 12px; width: auto !important; font-size: 24px; line-height: 28px; }
	.yg-v2__nav { position: relative; left: auto; top: auto; margin: 26px auto 0; width: 180px; height: 60px; }
	.yg-v2__prev, .yg-v2__next { width: 24px; height: 44px; top: 8px; }
	.yg-v2__next { left: 150px; }
	.yg-v2__count { left: 50px; line-height: 60px; }
	.yg-v2__count span:first-child { font-size: 60px; }
	.yg-v2__count span:last-child { font-size: 30px; }
	.page-template-page-service .scheduleinfo.sched-v2 { margin-top: 0; height: auto; padding-top: 56px; }
	.page-template-page-service .sched-v2__stage { top: auto; }
	.page-template-page-service .sched-v2__bg { top: 0; height: 100%; }
}

.sban-v2__title.is-single span:nth-child(1) { font-size: calc(120 * var(--u)); line-height: calc(125 * var(--u)); width: calc(1000 * var(--u)); top: calc(90 * var(--u)); }

@media (max-width: 768px) {
	.sban-v2__btn.v2-btn span,
	.faq-v2__btn.v2-btn span,
	.price-v2__btn.v2-btn span,
	.dirs-v2__btn.v2-btn span { left: 50% !important; }
	.sban-v2__title.is-single span:nth-child(1) { font-size: 44px !important; line-height: 48px !important; width: auto; }
}

/* =========================================================================
   Schedule page (page-schedule.php)
   ========================================================================= */

.tt-hero {
	position: relative;
	height: calc(591 * var(--u));
	color: var(--black);
}

.tt-hero img, .tt-v2 img { display: block; max-width: none; }

.tt-hero__bg { position: absolute; left: 0; top: 0; width: 100%; height: calc(1050 * var(--u)); object-fit: cover; object-position: top; pointer-events: none; }

.tt-hero__crumbs, .price-hero__crumbs {
	position: absolute;
	left: calc(85 * var(--u));
	top: calc(91.2 * var(--u));
	z-index: 1;
	font-family: 'Inter', sans-serif;
	font-size: calc(12 * var(--u));
	line-height: 1.15;
	color: var(--gray);
}

.tt-hero__crumbs a, .tt-hero__crumbs span, .price-hero__crumbs a, .price-hero__crumbs span { color: var(--gray); }

.tt-hero__title {
	position: absolute;
	z-index: 1;
	left: calc(72.87 * var(--u));
	top: calc(147.53 * var(--u));
	display: flex;
	flex-direction: column;
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(150 * var(--u));
	line-height: calc(150 * var(--u));
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--black);
}

.tt-hero__btn.v2-btn, .price-hero__btn.v2-btn {
	position: absolute;
	z-index: 1;
	left: calc(976 * var(--u));
	top: calc(251.6 * var(--u));
	width: calc(768.6 * var(--u));
}

.tt-hero__btn.v2-btn img + img, .price-hero__btn.v2-btn img + img { left: calc(89 * var(--u)); }
.tt-hero__btn.v2-btn span, .price-hero__btn.v2-btn span { left: calc(382.45 * var(--u)); }

/* breadcrumbs: "Головна / Розклад", as on the current site */
.tt-hero__crumbs > span > span:not(:last-child)::after,
.trh__crumbs > span > span:not(:last-child)::after,
.sban-v2__crumbs > span > span:not(:last-child)::after { content: '/'; margin: 0 .6em; color: var(--gray); }
.tt-hero__crumbs .breadcrumb_last { color: var(--black); }

/* schedule banner: compact like the current site — smaller title, button on the title's level */
@media (min-width: 769px) {
	.tt-hero:not(.tt-hero--price) { height: calc(470 * var(--u)); }
	.tt-hero:not(.tt-hero--price) .tt-hero__crumbs { top: calc(96 * var(--u)); left: calc(110 * var(--u)); font-size: calc(16 * var(--u)); }
	.tt-hero:not(.tt-hero--price) .tt-hero__title { left: calc(108 * var(--u)); top: calc(148 * var(--u)); font-size: calc(100 * var(--u)); line-height: calc(96 * var(--u)); }
	.tt-hero:not(.tt-hero--price) .tt-hero__btn.v2-btn { left: calc(1010 * var(--u)); top: calc(196 * var(--u)); }
}

.tt-v2 {
	position: relative;
	z-index: 2;
	padding: calc(496 * var(--u)) 0 calc(125 * var(--u));
	color: #fff;
}

.tt-v2__bg { position: absolute; left: 0; top: 0; width: calc(1944 * var(--u)); height: calc(2580 * var(--u)); overflow: hidden; pointer-events: none; }
.tt-v2__bg img { width: 100%; height: 100%; object-fit: cover; }

.tt-v2__ribbon--dark {
	left: calc((956.2 - 1974.586 / 2) * var(--u));
	top: calc((22.7 - 96.691 / 2) * var(--u));
	width: calc(1974.586 * var(--u));
	height: calc(96.691 * var(--u));
	transform: rotate(2.39deg) skewX(.23deg);
	background: #2F2F2F;
	color: #fff;
}

.tt-v2__ribbon--yellow {
	left: calc((956.2 - 1974.586 / 2) * var(--u));
	top: calc((24 - 96.691 / 2) * var(--u));
	width: calc(1974.586 * var(--u));
	height: calc(96.691 * var(--u));
	transform: rotate(-2.26deg) skewX(.23deg);
	background: var(--yellow);
	color: var(--black);
	z-index: 5;
}

.tt-v2__ribbon .hero-v2__ribbon-track { margin-left: calc(43.5 * var(--u)); }
.tt-v2__ribbon--yellow .hero-v2__ribbon-track span.is-outline { -webkit-text-stroke-color: var(--black); }
.tt-v2__ribbon--yellow .hero-v2__arrow { background-image: url('../img/v2/common/ribbon-arrow-black.svg'); }

.tt-v2__title {
	position: absolute;
	left: calc(74.7 * var(--u));
	top: calc((743.3 - 591) * var(--u));
	width: calc(1182.5 * var(--u));
	height: calc(136.3 * var(--u));
	transform: rotate(-5deg);
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(110 * var(--u));
	line-height: calc(160 * var(--u));
	text-transform: uppercase;
	white-space: nowrap;
}

.tt-v2__title em { font-style: normal; color: var(--yellow); }

.tt-v2__badge { left: calc(1312 * var(--u)); top: calc((757 - 591) * var(--u)); }
.tt-v2__badge span { left: calc(58.5 * var(--u)); }
.tt-v2__badge strong { left: calc(216 * var(--u)); }

.tt-v2__signup {
	position: absolute;
	z-index: 1;
	left: calc(1298 * var(--u));
	top: calc((938.8 - 591) * var(--u));
	width: calc(408.2 * var(--u));
	height: calc(85.2 * var(--u));
}

.tt-v2__signup > img { position: absolute; inset: 0; width: 100%; height: 100%; transition: filter .2s ease; }
.tt-v2__signup span { position: absolute; left: calc(120.3 * var(--u)); top: calc(24.2 * var(--u)); display: flex; align-items: center; gap: calc(8.28 * var(--u)); font-family: 'Oswald', sans-serif; font-weight: 600; font-size: calc(26 * var(--u)); line-height: 1.482; text-transform: uppercase; color: var(--black); }
.tt-v2__signup span img { width: calc(24.84 * var(--u)); height: calc(24.84 * var(--u)); }
.tt-v2__signup:hover > img { filter: saturate(0) brightness(1.15); }

.tt-v2__filters {
	position: absolute;
	left: calc(85 * var(--u));
	top: calc((987 - 591) * var(--u));
	display: flex;
	align-items: flex-end;
	gap: calc(20 * var(--u));
	z-index: 1;
}

.tt-v2__filter {
	display: flex;
	align-items: center;
	gap: calc(12 * var(--u));
	padding: calc(10 * var(--u)) calc(20 * var(--u));
	border: 1px solid transparent;
	border-radius: calc(5 * var(--u));
	background: none;
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	font-size: calc(20 * var(--u));
	line-height: calc(24 * var(--u));
	text-transform: uppercase;
	color: #fff;
	cursor: pointer;
	transition: border-color .2s ease;
}

.tt-v2__filter:hover { border-color: rgba(242, 243, 2, .5); }
.tt-v2__filter.is-active { border-color: var(--yellow); font-weight: 600; }

.tt-dot { width: calc(12 * var(--u)); height: calc(12 * var(--u)); border-radius: 50%; flex: none; }
.tt-dot--all { background: var(--yellow); }
.tt-dot--box { background: #fb8082; }
.tt-dot--kick { background: #a8a9ff; }
.tt-dot--thai { background: #79d979; }
.tt-dot--func { background: #e5a329; }
.tt-dot--kids { background: #36cdd8; }

.tt-v2__table {
	position: relative;
	z-index: 1;
	width: calc(1750 * var(--u));
	margin: calc((1097 - 591 - 496) * var(--u)) 0 0 calc(85 * var(--u));
	border: 1px solid var(--gray);
	border-radius: calc(10 * var(--u));
	background: var(--black);
	box-shadow: calc(-3 * var(--u)) calc(6 * var(--u)) calc(24 * var(--u)) rgba(0, 0, 0, .2);
	background-image: repeating-linear-gradient(90deg, transparent 0, transparent calc(218 * var(--u) - 1px), var(--gray) calc(218 * var(--u) - 1px), var(--gray) calc(218 * var(--u)));
	background-position: 0 0;
	background-size: calc(218 * 8 * var(--u)) 100%;
	background-repeat: no-repeat;
}

.tt-v2__head,
.tt-v2__row {
	display: grid;
	grid-template-columns: repeat(8, calc(218 * var(--u)));
	height: calc(100 * var(--u));
	align-items: center;
}

.tt-v2__row { border-top: 1px solid var(--gray); }

.tt-v2__label {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: calc(5 * var(--u));
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(24 * var(--u));
	line-height: calc(24 * var(--u));
	text-transform: uppercase;
	color: var(--gray);
}

.tt-v2__label img { width: calc(45 * var(--u)); height: calc(45 * var(--u)); }

.tt-v2__day {
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(30 * var(--u));
	line-height: calc(30 * var(--u));
	text-align: center;
	text-transform: uppercase;
	color: var(--yellow);
}

.tt-v2__time {
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	font-size: calc(40 * var(--u));
	line-height: calc(40 * var(--u));
	text-align: center;
	text-transform: uppercase;
}

.tt-v2__slot { height: 100%; display: flex; align-items: center; justify-content: center; }

.tt-v2__class {
	width: calc(204 * var(--u));
	height: calc(83 * var(--u));
	display: flex;
	align-items: center;
	justify-content: center;
	gap: calc(5 * var(--u));
	padding: 0 calc(20 * var(--u)) 0 calc(10 * var(--u));
	border: 1px solid var(--c);
	border-radius: calc(5 * var(--u));
	background: var(--bg);
	transition: opacity .25s ease, transform .25s ease;
}

.tt-v2__class img { width: calc(50 * var(--u)); height: calc(50 * var(--u)); flex: none; }
.tt-v2__class p { display: flex; flex-direction: column; gap: calc(2 * var(--u)); min-width: 0; }
.tt-v2__class strong { font-family: 'Oswald', sans-serif; font-weight: 600; font-size: calc(20 * var(--u)); line-height: calc(24 * var(--u)); text-transform: uppercase; white-space: nowrap; }
.tt-v2__class span { font-family: 'Oswald', sans-serif; font-weight: 300; font-size: calc(16 * var(--u)); line-height: calc(18 * var(--u)); }

.tt-v2__class--box { --c: #fb8082; --bg: rgba(251, 128, 130, .1); }
.tt-v2__class--thai { --c: #79d979; --bg: rgba(185, 254, 185, .1); }
.tt-v2__class--kids { --c: #36cdd8; --bg: rgba(54, 205, 216, .1); }
.tt-v2__class--kick { --c: #a8a9ff; --bg: rgba(201, 202, 255, .1); }
.tt-v2__class--func { --c: #e5a329; --bg: rgba(229, 163, 41, .1); }

.tt-v2[data-filter]:not([data-filter="all"]) .tt-v2__class { opacity: .12; }
.tt-v2.tt-v2[data-filter="box"] .tt-v2__class--box.tt-v2__class,
.tt-v2.tt-v2[data-filter="kick"] .tt-v2__class--kick.tt-v2__class,
.tt-v2.tt-v2[data-filter="thai"] .tt-v2__class--thai.tt-v2__class,
.tt-v2.tt-v2[data-filter="func"] .tt-v2__class--func.tt-v2__class,
.tt-v2.tt-v2[data-filter="kids"] .tt-v2__class--kids.tt-v2__class { opacity: 1; transform: scale(1.03); }

.page-template-page-schedule .form-v2 { margin-top: calc(-4 * var(--u)); }

@media (max-width: 768px) {
	.tt-hero { height: auto; padding: 70px 16px 60px; }
	.tt-hero__bg { height: 100%; }
	.tt-hero__crumbs, .price-hero__crumbs { position: relative; left: auto; top: auto; font-size: 11px; }
	.tt-hero__title { position: relative; left: auto; top: auto; margin-top: 16px; font-size: 56px; line-height: 58px; white-space: normal; }
	.tt-hero__btn.v2-btn, .price-hero__btn.v2-btn { position: relative; left: auto; top: auto; margin-top: 20px; width: calc(360 * var(--m)); }
	.tt-hero__btn.v2-btn span, .price-hero__btn.v2-btn span { left: 50% !important; }
	.tt-hero__btn.v2-btn img + img, .price-hero__btn.v2-btn img + img { left: calc(58 * var(--m)); }
	.tt-v2 { padding: 80px 16px 60px; overflow: hidden; }
	.tt-v2__bg { width: 100%; height: 100%; }
	.tt-v2__ribbon { height: 40px; }
	.tt-v2__ribbon--dark { left: -5vw; top: 16px; width: 110vw; }
	.tt-v2__ribbon--yellow { left: -5vw; top: 14px; width: 110vw; }
	.tt-v2__ribbon .hero-v2__ribbon-track { margin-left: 0; }
	.tt-v2__title { position: relative; left: auto; top: auto; width: auto; height: auto; margin-top: 30px; font-size: 44px; line-height: 50px; white-space: normal; }
	.tt-v2__badge { position: relative; left: auto; top: auto; margin: 26px 0 0 auto; }
	.tt-v2__badge span { left: 30px; }
	.tt-v2__badge strong { left: 120px; }
	.tt-v2__signup { position: relative; left: auto; top: auto; display: block; width: 240px; height: 56px; margin: 10px 0 0 auto; }
	.tt-v2__signup span { left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: 18px; }
	.tt-v2__signup span img { width: 16px; height: 16px; }
	.tt-v2__filters { position: relative; left: auto; top: auto; margin-top: 24px; flex-wrap: wrap; gap: 8px; }
	.tt-v2__filter { gap: 8px; padding: 7px 12px; font-size: 15px; line-height: 18px; border-radius: 5px; }
	.tt-dot { width: 10px; height: 10px; }
	.tt-v2__table { width: auto; margin: 20px -16px 0; border-radius: 0; border-left: 0; border-right: 0; overflow-x: auto; background-image: none; -webkit-overflow-scrolling: touch; }
	.tt-v2__head, .tt-v2__row { grid-template-columns: 70px repeat(7, 150px); height: 76px; width: max-content; }
	.tt-v2__head > *, .tt-v2__row > * { border-right: 1px solid var(--gray); height: 100%; display: flex; align-items: center; justify-content: center; }
	.tt-v2__head > :first-child, .tt-v2__row > :first-child { position: sticky; left: 0; z-index: 2; background: var(--black); }
	.tt-v2__label { font-size: 14px; gap: 2px; }
	.tt-v2__label img { width: 22px; height: 22px; }
	.tt-v2__day { font-size: 22px; }
	.tt-v2__time { font-size: 22px; line-height: 24px; }
	.tt-v2__class { width: 140px; height: 62px; padding: 0 8px 0 4px; gap: 4px; border-radius: 5px; }
	.tt-v2__class img { width: 32px; height: 32px; }
	.tt-v2__class strong { font-size: 14px; line-height: 16px; white-space: normal; }
	.tt-v2__class span { font-size: 12px; line-height: 14px; }
}

/* =========================================================================
   Price page (page-price.php): shares the schedule hero, shows all price groups
   ========================================================================= */

.tt-hero--price { height: calc(585.4 * var(--u)); }
.tt-hero--price .tt-hero__title { left: calc(80 * var(--u)); top: calc(162 * var(--u)); }
.tt-hero--price .tt-hero__btn.v2-btn { left: calc(1071 * var(--u)); top: calc(275.1 * var(--u)); }

.price-v2__ribbon--yellow { background: var(--yellow); }

.price-v2--all .price-v2__group--1 .price-v2__splash { left: calc(932.1 * var(--u)); top: calc(-9.4 * var(--u)); }
.price-v2--all .price-v2__group--2 { padding-top: calc(551 * var(--u)); }
.price-v2--all .price-v2__group--2 .price-v2__bg { top: 0; }
.price-v2--all .price-v2__group--2 .price-v2__bg::after { background: linear-gradient(180deg, rgba(18, 18, 18, 0) 86.755%, #121212 100%), linear-gradient(180deg, #121212 0, rgba(18, 18, 18, 0) 18%); }
.price-v2--all .price-v2__group--2 .price-v2__splash { left: calc(74 * var(--u)); top: calc(101 * var(--u)); }
.price-v2--all .price-v2__group--2 .price-v2__title span:nth-child(1) { left: calc(394 * var(--u)); }
.price-v2--all .price-v2__group--2 .price-v2__title span:nth-child(2) { left: calc(500.4 * var(--u)); }

@media (max-width: 768px) {
	.tt-hero--price { height: auto; }
	.tt-hero--price .tt-hero__title { left: auto; top: auto; }
	.tt-hero--price .tt-hero__btn.v2-btn { left: auto; top: auto; }
	.price-v2--all .price-v2__group--2 { padding-top: 60px; }
	.price-v2--all .price-v2__group--1 .price-v2__splash,
	.price-v2--all .price-v2__group--2 .price-v2__splash { left: auto; right: -40px; top: 20px; }
	.price-v2--all .price-v2__group--2 .price-v2__title span:nth-child(1),
	.price-v2--all .price-v2__group--2 .price-v2__title span:nth-child(2) { left: auto; }
}
@media (min-width: 769px) {
	.price-v2--all .price-v2__ribbon { top: calc((24.3 - 96.691 / 2) * var(--u)); }
	.price-v2--all .price-v2__group--1 { padding-top: calc(581 * var(--u)); }
	.price-v2--all .price-v2__group--2 { padding-top: calc(425 * var(--u)); }
	.price-v2--all .price-v2__group--2 .price-v2__title span:nth-child(1) { top: calc(68.9 * var(--u)); }
	.price-v2--all .price-v2__group--2 .price-v2__title span:nth-child(2) { top: calc(199.7 * var(--u)); }
	.price-v2--all .price-v2__group--2 .price-v2__splash { top: calc(-4 * var(--u)); }
}
@media (min-width: 769px) {
	.price-v2--all .price-v2__btn.v2-btn { margin-top: calc(49 * var(--u)); }
	.price-v2--all .price-v2__group--1 .price-v2__title span:nth-child(1) { top: calc(159.9 * var(--u)); }
	.price-v2--all .price-v2__group--1 .price-v2__title span:nth-child(2) { top: calc(290.68 * var(--u)); }
	.price-v2--all .price-v2__group--2 { padding-top: calc(443 * var(--u)); }
	.price-v2--all .price-v2__group--2 .price-v2__title span:nth-child(1) { top: calc(29.9 * var(--u)); }
	.price-v2--all .price-v2__group--2 .price-v2__title span:nth-child(2) { top: calc(160.7 * var(--u)); }
	.price-v2--all .price-v2__group--2 .price-v2__splash { top: calc(-43 * var(--u)); }
}
.price-v2--all .price-v2__group--2 .price-v2__bg { bottom: calc(-300 * var(--u)); }
.page-template-page-price .form-v2 { margin-top: calc(-76 * var(--u)); }

/* =========================================================================
   Trainer page (page-trainer.php)
   ========================================================================= */

.trh { position: relative; z-index: 4; height: calc(1288 * var(--u)); color: var(--black); }
.trh img, .trd img, .tri img { display: block; max-width: none; }

.trh__bg { position: absolute; left: calc(-22 * var(--u)); top: calc(57 * var(--u)); width: calc(2005 * var(--u)); height: max(calc(1169 * var(--u)), calc(100% - 57 * var(--u))); object-fit: cover; pointer-events: none; }
.trh::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: calc(60 * var(--u)); background: #f1f1f1; }

.trh__crumbs {
	position: absolute; z-index: 1;
	left: calc(86 * var(--u)); top: calc(91 * var(--u));
	font-family: 'Inter', sans-serif; font-size: calc(12 * var(--u)); line-height: 1.15; color: var(--gray);
}
.trh__crumbs a, .trh__crumbs span { color: var(--gray); }

.trh__photo {
	position: absolute; z-index: 1;
	left: calc(1018 * var(--u)); top: calc(-59 * var(--u));
	width: calc(741 * var(--u)); height: calc(1176 * var(--u));
	-webkit-mask: url('../img/v2/trainer/hero-mask.png') 0 0 / 100% 100% no-repeat;
	mask: url('../img/v2/trainer/hero-mask.png') 0 0 / 100% 100% no-repeat;
	pointer-events: none;
}
.trh__photo img { position: absolute; left: calc(5 * var(--u)); top: calc(291 * var(--u)); width: calc(712.04 * var(--u)); height: calc(985.46 * var(--u)); object-fit: cover; }

.trh__tape { position: absolute; z-index: 2; width: calc(276.04 * var(--u)); height: calc(96.408 * var(--u)); opacity: .7; pointer-events: none; }
.trh__tape--1 { left: calc((1655.13 - 138.02) * var(--u)); top: calc((289.84 - 48.2) * var(--u)); transform: rotate(-144.19deg) scaleY(-1); }
.trh__tape--2 { left: calc((1110.52 - 138.02) * var(--u)); top: calc((982.44 - 48.2) * var(--u)); transform: rotate(-140.91deg) scaleY(-1); }

.trh__title {
	position: absolute; z-index: 1;
	left: calc(232 * var(--u)); top: calc(192 * var(--u)); width: calc(760 * var(--u));
	font-family: 'Oswald', sans-serif; font-weight: 600; font-size: calc(120 * var(--u)); line-height: calc(130 * var(--u));
	text-transform: uppercase;
}
.trh__title span { display: block; }

.trh__role {
	position: absolute; z-index: 1;
	left: calc(237.22 * var(--u)); top: calc(487.72 * var(--u)); width: calc(700 * var(--u));
	font-family: 'Oswald', sans-serif; font-weight: 500; font-size: calc(32 * var(--u)); line-height: 1.482; text-transform: uppercase;
}

.trh__text {
	position: absolute; z-index: 1;
	left: calc(237.22 * var(--u)); top: calc(556.72 * var(--u)); width: calc(541.262 * var(--u));
	font-family: 'Inter', sans-serif; font-weight: 300; font-size: calc(24 * var(--u)); line-height: 1.21;
}
.trh__text p { margin: 0; }

.trh__adv-title {
	position: absolute; z-index: 1;
	left: calc(235 * var(--u)); top: calc(833 * var(--u)); width: calc(613 * var(--u));
	font-family: 'Oswald', sans-serif; font-weight: 500; font-size: calc(50 * var(--u)); line-height: calc(55 * var(--u)); text-transform: uppercase;
}

.trh__nav { position: absolute; z-index: 4; top: calc(488.12 * var(--u)); width: calc(78.18 * var(--u)); height: calc(143.07 * var(--u)); }
.trh__nav svg { display: block; width: 100%; height: 100%; transition: fill .2s ease, transform .2s ease; }
.trh__nav--prev { left: calc(84.61 * var(--u)); }
.trh__nav--prev svg { fill: #9c9c9c; }
.trh__nav--next { left: calc(1752.41 * var(--u)); }
.trh__nav--next svg { fill: var(--yellow); }
.trh__nav:hover svg { fill: var(--yellow); }
.trh__nav--prev:hover svg { transform: translateX(calc(-6 * var(--u))); }
.trh__nav--next:hover svg { transform: translateX(calc(6 * var(--u))); }

.trh__peek {
	position: absolute; top: 50%;
	display: flex; align-items: center; gap: calc(35 * var(--u));
	width: calc(508.8 * var(--u)); padding: calc(10 * var(--u)) calc(20 * var(--u)) calc(10 * var(--u)) calc(9 * var(--u));
	background: var(--black); color: #fff;
	opacity: 0; visibility: hidden; transform: translateY(-50%) translateX(calc(-10 * var(--u)));
	transition: opacity .25s ease, transform .25s ease, visibility .25s;
	pointer-events: none;
}
.trh__nav--prev .trh__peek { left: calc(126.57 * var(--u)); }
.trh__nav--next .trh__peek { right: calc(126.57 * var(--u)); transform: translateY(-50%) translateX(calc(10 * var(--u))); }
.trh__nav:hover .trh__peek { opacity: 1; visibility: visible; transform: translateY(-50%); }
.trh__peek img { width: calc(130 * var(--u)); height: calc(130 * var(--u)); object-fit: cover; flex: none; }
.trh__peek > span { display: flex; flex-direction: column; gap: calc(19 * var(--u)); min-width: 0; }
.trh__peek strong { font-family: 'Oswald', sans-serif; font-weight: 600; font-size: calc(36 * var(--u)); line-height: calc(39 * var(--u)); text-transform: uppercase; }
.trh__peek em { font-family: 'Inter', sans-serif; font-style: normal; font-weight: 300; font-size: calc(20 * var(--u)); line-height: calc(26 * var(--u)); color: #d9d9d9; }

.trh__band {
	position: absolute; z-index: 3;
	left: calc(-46.96 * var(--u)); top: calc(1012.24 * var(--u));
	width: calc(2011 * var(--u)); height: calc(406.76 * var(--u));
	pointer-events: none;
}
.trh__band-bg { position: absolute; inset: 0; width: 100%; height: 100%; filter: drop-shadow(calc(-25 * var(--u)) 0 calc(20 * var(--u)) rgba(128, 128, 128, .25)); }
.trh__adv {
	position: absolute;
	left: calc((85 + 46.96) * var(--u)); top: calc((1166 - 1012.24) * var(--u));
	width: calc(1746 * var(--u));
	display: flex; justify-content: space-between; align-items: flex-start;
	margin: 0; padding: 0; list-style: none;
	font-family: 'Inter', sans-serif; font-weight: 600; font-size: calc(34 * var(--u)); line-height: 1.15; color: var(--black);
}
.trh__adv li { flex: none; max-width: calc(421 * var(--u)); }
.trh__adv li:nth-child(1) { width: calc(146 * var(--u)); }
.trh__adv li:nth-child(2) { width: calc(301 * var(--u)); }
.trh__adv li:nth-child(3) { width: calc(397 * var(--u)); }
.trh__adv li:nth-child(4) { width: calc(421 * var(--u)); }

/* dark block: prices + personal schedule */
.trd { position: relative; z-index: 2; height: calc(2077 * var(--u)); color: #fff; }
.trd__bg { position: absolute; left: calc(-12 * var(--u)); top: 0; width: calc(1944 * var(--u)); height: calc(2193 * var(--u)); overflow: hidden; pointer-events: none; }
.trd__bg img { width: 100%; height: 100%; object-fit: fill; }
.trd__bg::after {
	content: ''; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 81.182%, #121212 100%), linear-gradient(203.75deg, #121212 16.683%, rgba(0, 0, 0, 0) 37.434%);
}
.trd__splash { position: absolute; left: calc(1174 * var(--u)); top: calc(-42 * var(--u)); width: calc(858 * var(--u)); height: calc(869 * var(--u)); pointer-events: none; }
.trd__bag { position: absolute; left: calc(1560 * var(--u)); top: calc(21 * var(--u)); width: calc(332 * var(--u)); height: calc(1343 * var(--u)); pointer-events: none; }

.trd__title {
	position: absolute; z-index: 1;
	display: flex; flex-direction: column;
	font-family: 'Oswald', sans-serif; font-weight: 600; font-size: calc(110 * var(--u)); line-height: calc(120 * var(--u));
	text-transform: uppercase; white-space: nowrap;
}
.trd__title span + span { color: var(--yellow); }
.trd__title--price { left: calc(87.09 * var(--u)); top: calc(209.76 * var(--u)); width: calc(980.82 * var(--u)); height: calc(232.41 * var(--u)); transform: rotate(-5.06deg) skewX(-.12deg); }
.trd__title--sched { left: calc(88.08 * var(--u)); top: calc(1122.54 * var(--u)); width: calc(550.31 * var(--u)); height: calc(232.43 * var(--u)); transform: rotate(-5deg); }

.trd__zigzag { position: absolute; z-index: 1; width: calc(215.486 * var(--u)); height: calc(81.723 * var(--u)); transform: rotate(6.21deg); pointer-events: none; }
.trd__zigzag--price { left: calc(1002.96 * var(--u)); top: calc(304.05 * var(--u)); }
.trd__zigzag--sched { left: calc(350.07 * var(--u)); top: calc(1399.05 * var(--u)); }

.trd__card { position: absolute; z-index: 1; top: calc(519.79 * var(--u)); width: calc(619.99 * var(--u)); height: calc(402.65 * var(--u)); color: var(--black); text-transform: uppercase; }
.trd__card:nth-of-type(1) { left: calc(83.94 * var(--u)); }
.trd__card:nth-of-type(2) { left: calc(775.95 * var(--u)); }
.trd__card-bg { position: absolute; left: calc(-40 * var(--u)); top: calc(-40 * var(--u)); width: calc(699.99 * var(--u)); height: calc(482.65 * var(--u)); pointer-events: none; }
.trd__card-head { position: absolute; left: calc(97.07 * var(--u)); top: calc(35.21 * var(--u)); height: calc(120 * var(--u)); display: flex; align-items: center; gap: calc(38.95 * var(--u)); }
.trd__card--solo .trd__card-head { gap: 0; margin-left: calc(-1.06 * var(--u)); }
.trd__card-head img { width: calc(120 * var(--u)); height: calc(120 * var(--u)); flex: none; }
.trd__card-head p { width: calc(283 * var(--u)); font-family: 'Oswald', sans-serif; font-weight: 500; font-size: calc(45 * var(--u)); line-height: calc(45 * var(--u)); }
.trd__card--solo .trd__card-head p { width: calc(300 * var(--u)); }
.trd__card-price { position: absolute; left: calc(126.01 * var(--u)); top: calc(195.19 * var(--u)); width: calc(363 * var(--u)); text-align: center; font-family: 'Oswald', sans-serif; font-weight: 600; line-height: calc(55 * var(--u)); white-space: nowrap; }
.trd__card-price b { font-weight: 600; font-size: calc(100 * var(--u)); }
.trd__card-price small { font-size: calc(50 * var(--u)); }
.trd__card-note { position: absolute; left: calc((304.82 - 200) * var(--u)); top: calc(308.19 * var(--u)); width: calc(400 * var(--u)); text-align: center; font-family: 'Oswald', sans-serif; font-weight: 600; font-size: calc(24 * var(--u)); line-height: calc(30 * var(--u)); }

.trd__day-name { position: absolute; z-index: 1; top: calc(1137.55 * var(--u)); height: calc(92.8 * var(--u)); }
.trd__day-name img { width: 100%; height: 100%; }
.trd__day-name span { position: absolute; top: calc(6.48 * var(--u)); transform: translateX(-50%); font-family: 'Oswald', sans-serif; font-weight: 600; font-size: calc(50 * var(--u)); line-height: calc(80 * var(--u)); text-transform: uppercase; white-space: nowrap; color: var(--black); }
.trd__day--1 .trd__day-name { left: calc(686 * var(--u)); width: calc(308 * var(--u)); }
.trd__day--1 .trd__day-name span { left: calc((809.5 - 686) * var(--u)); }
.trd__day--2 .trd__day-name { left: calc(1291 * var(--u)); width: calc(212.9 * var(--u)); }
.trd__day--2 .trd__day-name span { left: calc((1378 - 1291) * var(--u)); }

.trd__class {
	position: absolute; z-index: 1;
	width: calc(548 * var(--u)); height: calc(199 * var(--u));
	display: flex; align-items: center; gap: calc(30 * var(--u));
	padding: 0 calc(60 * var(--u));
	border: 1px solid var(--c); border-radius: calc(5 * var(--u)); background: var(--bg);
}
.trd__day--1 .trd__class { left: calc(686 * var(--u)); }
.trd__day--2 .trd__class { left: calc(1291 * var(--u)); }
.trd__day .trd__class:nth-of-type(1) { top: calc(1267.03 * var(--u)); }
.trd__day .trd__class:nth-of-type(2) { top: calc(1497.02 * var(--u)); }
.trd__day .trd__class:nth-of-type(3) { top: calc(1727.01 * var(--u)); }
.trd__class-icon { position: relative; width: calc(126 * var(--u)); height: calc(126 * var(--u)); flex: none; display: flex; align-items: center; justify-content: center; }
.trd__class-icon img { width: 100%; height: 100%; }
.trd__class p { display: flex; flex-direction: column; gap: calc(15 * var(--u)); white-space: nowrap; }
.trd__class strong { font-family: 'Oswald', sans-serif; font-weight: 600; font-size: calc(50 * var(--u)); line-height: calc(50 * var(--u)); text-transform: uppercase; }
.trd__class span { font-family: 'Oswald', sans-serif; font-weight: 300; font-size: calc(36 * var(--u)); line-height: calc(36 * var(--u)); }

.trd__noexcuses { position: absolute; left: calc(73 * var(--u)); top: calc(1565.51 * var(--u)); width: calc(399.38 * var(--u)); height: calc(254.82 * var(--u)); pointer-events: none; }
.trd__arrow { position: absolute; left: calc(257 * var(--u)); top: calc(1767 * var(--u)); width: calc(278 * var(--u)); height: calc(139 * var(--u)); pointer-events: none; }
.trd__btn.v2-btn { position: absolute; z-index: 1; left: calc(583 * var(--u)); top: calc(1803 * var(--u)); width: calc(768.6 * var(--u)); }
.trd__btn.v2-btn img + img { left: calc(89 * var(--u)); }
.trd__btn.v2-btn span { left: calc(382.45 * var(--u)); }

/* trainer gallery (block-gallery, trainer variant) */
.gal-v2.gal-v2--trainer { z-index: 3; height: calc(1018 * var(--u)); margin-bottom: 0; padding-top: 0; color: var(--black); }
.gal-v2--trainer .gal-v2__frame { height: calc(1151 * var(--u)); background: #f1f1f1 url('../img/v2/timetable/paper.webp') center / cover no-repeat; }
.gal-v2--trainer .gal-v2__bg, .gal-v2--trainer .gal-v2__splash, .gal-v2--trainer .gal-v2__frame::before { display: none; }
.gal-v2__tr-edge { position: absolute; z-index: 2; left: calc(-38 * var(--u)); top: calc(-43 * var(--u)); width: calc(2011 * var(--u)); height: calc(133 * var(--u)); max-width: none; transform: scaleX(-1); pointer-events: none; }
.gal-v2--trainer .gal-v2__label-brush { left: calc(85.09 * var(--u)); top: calc(181.07 * var(--u)); }
.gal-v2--trainer .gal-v2__label-text { left: calc(116 * var(--u)); top: calc(151.66 * var(--u)); }
.gal-v2--trainer .gal-v2__text { left: calc(539 * var(--u)); top: calc(152 * var(--u)); width: calc(569 * var(--u)); color: var(--black); }
.gal-v2__nav-bg { position: absolute; left: calc(1429 * var(--u)); top: calc(136 * var(--u)); width: calc(413 * var(--u)); height: calc(110 * var(--u)); }
.gal-v2--trainer .gal-v2__nav { left: calc(1476 * var(--u)); top: calc(148 * var(--u)); width: calc(267.23 * var(--u)); }
.gal-v2--trainer .gal-v2__next { left: calc(226.39 * var(--u)); top: calc(7.27 * var(--u)); }
.gal-v2--trainer .gal-v2__total { color: #9c9c9c; }
.gal-v2--trainer .gal-v2__slider { top: calc(284.5 * var(--u)); }
.gal-v2--trainer .gal-v2__item--big { left: calc(90 * var(--u)); top: calc(11 * var(--u)); width: calc(1039.63 * var(--u)); height: calc(606 * var(--u)); }
.gal-v2--trainer .gal-v2__item--tl { left: calc(1152.58 * var(--u)); top: calc(11 * var(--u)); width: calc(330.25 * var(--u)); height: calc(291 * var(--u)); }
.gal-v2--trainer .gal-v2__item--tr { left: calc(1502.69 * var(--u)); top: calc(10.5 * var(--u)); width: calc(338.98 * var(--u)); height: calc(291.5 * var(--u)); }
.gal-v2--trainer .gal-v2__item--bl { left: calc(1153.94 * var(--u)); top: calc(327 * var(--u)); width: calc(328.27 * var(--u)); height: calc(289.5 * var(--u)); }
.gal-v2--trainer .gal-v2__item--br { left: calc(1504.27 * var(--u)); top: calc(325.5 * var(--u)); width: calc(338.23 * var(--u)); height: calc(291 * var(--u)); }
.gal-v2--trainer .gal-v2__hint { left: calc(1563 * var(--u)); top: calc(932 * var(--u)); }

/* "Відкритий набір" */
.tri { position: relative; z-index: 5; height: calc(952 * var(--u)); margin-bottom: calc(-189 * var(--u)); color: #fff; text-align: center; }
.tri__bg { position: absolute; left: calc(-12 * var(--u)); top: calc(133 * var(--u)); width: calc(1944 * var(--u)); height: calc(686 * var(--u)); overflow: hidden; }
.tri__bg img { width: 100%; height: 100%; object-fit: fill; }
.tri__bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 74.582%, #121212 100%), linear-gradient(187.71deg, #121212 19.466%, rgba(0, 0, 0, 0) 50.431%); }
.tri__edge { position: absolute; left: calc(-38 * var(--u)); width: calc(2011 * var(--u)); height: calc(133 * var(--u)); pointer-events: none; }
.tri__edge--top { top: 0; transform: rotate(180deg); }
.tri__edge--bottom { top: calc(819 * var(--u)); transform: scaleX(-1); }
.tri__inner { position: absolute; inset: 0; }
.tri__title { position: absolute; left: calc(638 * var(--u)); top: calc(237 * var(--u)); width: calc(647 * var(--u)); font-family: 'Oswald', sans-serif; font-weight: 500; font-size: calc(80 * var(--u)); line-height: calc(80 * var(--u)); text-transform: uppercase; }
.tri__list { position: absolute; left: 0; right: 0; top: calc(347 * var(--u)); display: flex; justify-content: center; gap: calc(60 * var(--u)); margin: 0; padding: 0; list-style: none; text-align: left; }
.tri__list li { position: relative; padding-left: calc(64 * var(--u)); max-width: calc(533 * var(--u)); font-family: 'Inter', sans-serif; font-weight: 300; font-size: calc(34 * var(--u)); line-height: calc(50 * var(--u)); }
.tri__list li::before { content: ''; position: absolute; left: calc(-4.52 * var(--u)); top: calc(6.34 * var(--u)); width: calc(34.63 * var(--u)); height: calc(41.6 * var(--u)); background: url('../img/v2/trainer/check.svg') center / 100% 100% no-repeat; }
.tri__text { position: absolute; left: calc(651 * var(--u)); top: calc(486 * var(--u)); width: calc(621 * var(--u)); font-family: 'Oswald', sans-serif; font-weight: 500; font-size: calc(32 * var(--u)); line-height: calc(60 * var(--u)); text-transform: uppercase; }
.tri__btn.v2-btn { position: absolute; left: calc(607 * var(--u)); top: calc(608 * var(--u)); width: calc(700 * var(--u)); }
.tri__btn.v2-btn img { width: calc(590 * var(--u)); }
.tri__btn.v2-btn img + img { left: calc(110 * var(--u)); }
.tri__btn.v2-btn span { left: calc(347 * var(--u)); top: calc(11 * var(--u)); width: calc(606 * var(--u)); line-height: calc(30 * var(--u)); white-space: normal; text-align: center; }


@media (max-width: 768px) {
	/* trainer hero: text, photo, achievements */
	.trh { height: auto; display: flex; flex-direction: column; padding: 70px 16px 0; overflow: hidden; }
	.trh::before { display: none; }
	.trh__bg { left: 0; top: 0; width: 100%; height: 100%; }
	.trh > * { position: relative; left: auto; top: auto; }
	/* order as on the current site: photo → name → role → text → neighbour trainers → achievements */
	.trh__crumbs { font-size: 11px; order: 0; }
	.trh__photo { order: 1; width: min(340px, 86vw); height: auto; aspect-ratio: 741 / 1176; margin: calc(min(340px, 86vw) * -.22) auto calc(min(340px, 86vw) * -.1); }
	.trh__photo img { left: .675%; top: 24.74%; width: 96.09%; height: 83.8%; }
	.trh__title { order: 2; width: auto; margin-top: 10px; font-size: 48px; line-height: 52px; text-align: center; align-items: center; }
	.trh__role { order: 3; width: auto; margin-top: 10px; font-size: 20px; text-align: center; }
	.trh__text { order: 4; width: auto; margin-top: 14px; font-size: 16px; line-height: 1.4; }
	/* neighbour trainers: arrow + avatar + name, always visible on phones */
	.trh__nav { order: 5; position: relative; left: auto !important; right: auto !important; top: auto; display: flex; align-items: center; gap: 12px; width: 100%; height: auto; margin-top: 22px; z-index: 5; }
	.trh__nav + .trh__nav { margin-top: 14px; }
	.trh__nav svg { flex: none; width: 26px; height: 48px; fill: var(--yellow); }
	.trh__nav--next { flex-direction: row-reverse; }
	.trh__peek, .trh__nav--prev .trh__peek, .trh__nav--next .trh__peek { position: static; display: flex; flex: 1; gap: 14px; width: auto; padding: 0; background: none; color: var(--black); opacity: 1; visibility: visible; transform: none !important; }
	.trh__nav--next .trh__peek { flex-direction: row-reverse; text-align: right; }
	.trh__peek img { width: 72px; height: 72px; border-radius: 50%; }
	.trh__peek > span { gap: 6px; }
	.trh__peek strong { font-size: 20px; line-height: 22px; }
	.trh__peek em { font-size: 12px; line-height: 15px; color: #444; }
	.trh__adv-title { order: 6; width: auto; margin-top: 30px; font-size: 30px; line-height: 34px; text-align: center; }
	.trh__band { order: 7; position: relative; left: auto; top: auto; width: auto; height: auto; margin: 20px -16px 0; padding: 70px 24px 80px; }
	.trh__band-bg { filter: none; }
	.trh__adv { position: relative; left: auto; top: auto; width: auto; display: grid; grid-template-columns: 1fr; gap: 14px; font-size: 17px; }
	.trh__adv li, .trh__adv li:nth-child(n) { width: auto; max-width: none; }

	/* dark block: cards and classes keep the desktop geometry, scaled to the column (local --u) */
	.trd { height: auto; padding: 60px 16px 70px; overflow: hidden; }
	.trd__bg { left: 0; width: 100%; height: 100%; }
	.trd__bag, .trd__zigzag, .trd__noexcuses, .trd__arrow { display: none; }
	.trd__splash { left: auto; right: -120px; top: -20px; width: 300px; height: 304px; }
	.trd__title, .trd__title--price, .trd__title--sched { position: relative; left: auto; top: auto; width: auto; height: auto; transform: rotate(-5deg); font-size: 42px; line-height: 46px; white-space: normal; }
	.trd__prices, .trd__sched { position: relative; display: flex; flex-direction: column; align-items: center; gap: 18px; max-width: 460px; margin: 0 auto; }
	.trd__prices .trd__title, .trd__sched .trd__title { align-self: flex-start; margin-bottom: 18px; }
	.trd__sched { margin-top: 56px; }
	.trd__card { --u: calc(min(100vw - 40px, 440px) / 660); position: relative; left: auto !important; top: auto; }
	.trd__day { display: flex; flex-direction: column; align-items: center; gap: 12px; width: 100%; }
	.trd__day + .trd__day { margin-top: 18px; }
	.trd__day-name { --u: .62px; position: relative; top: auto; left: auto !important; }
	.trd__class { --u: calc(min(100vw - 32px, 460px) / 548); position: relative; left: auto !important; top: auto !important; }
	.trd__btn.v2-btn { position: relative; left: auto; top: auto; margin: 44px auto 0; width: calc(360 * var(--m)); }
	.trd__btn.v2-btn span { left: 50%; }
	.trd__btn.v2-btn img + img { left: calc(58 * var(--m)); }

	/* trainer gallery */
	.gal-v2.gal-v2--trainer { height: auto; padding-top: 0; }
	.gal-v2--trainer .gal-v2__frame { height: auto; padding: 80px 16px 90px; }
	.gal-v2__tr-edge { top: -20px; left: -5%; width: 110%; height: 60px; }
	.gal-v2__nav-bg { display: none; }
	.gal-v2--trainer .gal-v2__label-brush { left: 0; top: 18px; }
	.gal-v2--trainer .gal-v2__label-text { left: 0; top: 0; }
	.gal-v2--trainer .gal-v2__text { left: auto; top: auto; width: auto; margin-top: 16px; }
	.gal-v2--trainer .gal-v2__nav { left: auto; top: auto; width: 180px; background: var(--black); border-radius: 4px; }
	.gal-v2--trainer .gal-v2__next { left: 150px; top: 8px; }
	.gal-v2--trainer .gal-v2__slider { top: auto; }
	.gal-v2--trainer .gal-v2__item--big, .gal-v2--trainer .gal-v2__item--tl, .gal-v2--trainer .gal-v2__item--tr, .gal-v2--trainer .gal-v2__item--bl, .gal-v2--trainer .gal-v2__item--br { left: auto; top: auto; width: auto; height: auto; }
	.gal-v2--trainer .gal-v2__hint { left: auto; top: auto; }

	/* "Відкритий набір" */
	.tri { height: auto; margin-bottom: -60px; padding: 90px 16px 110px; }
	.tri__bg { left: 0; top: 40px; bottom: 40px; width: 100%; height: auto; }
	.tri__edge { left: -5%; width: 110%; height: 50px; }
	.tri__edge--bottom { top: auto; bottom: 0; }
	.tri__inner { position: relative; inset: auto; display: flex; flex-direction: column; align-items: center; gap: 18px; }
	.tri__inner > * { position: relative; left: auto; top: auto; width: auto; }
	.tri__title { font-size: 40px; line-height: 44px; }
	.tri__list { flex-direction: column; gap: 10px; }
	.tri__list li { padding-left: 38px; font-size: 18px; line-height: 26px; }
	.tri__list li::before { left: 0; top: 0; width: 22px; height: 26px; }
	.tri__text { font-size: 18px; line-height: 26px; }
	.tri__btn.v2-btn { width: calc(360 * var(--m)); height: calc(70 * var(--m)); }
	.tri__btn.v2-btn img { width: calc(300 * var(--m)); }
	.tri__btn.v2-btn img + img { left: calc(60 * var(--m)); }
	.tri__btn.v2-btn span { left: 50%; top: 50%; transform: translate(-50%, -50%); width: calc(320 * var(--m)); font-size: 15px; line-height: 18px; }
	.page-template-page-trainer .form-v2 { margin-bottom: 0; }
}
@media (max-width: 768px) {
	.trh > .trh__bg { position: absolute; left: 0; top: 0; }
	.trd .trd__bag, .trd .trd__zigzag, .trd .trd__noexcuses, .trd .trd__arrow, .gal-v2--trainer .gal-v2__nav-bg { display: none; }
	.tri .tri__btn.v2-btn { position: relative; left: auto; top: auto; margin-top: 10px; }
	.tri__list { left: auto; right: auto; }
	.tri__list li { max-width: none; }
	.trh__adv { font-family: "Oswald", sans-serif; font-weight: 500; font-size: 17px; line-height: 1.25; }
	.trh__band { padding: 80px 28px 90px; }
}
/* trainer without prices/schedule: gallery starts under the yellow band */
@media (min-width: 769px) {
	/* +133 / -133: the paper runs under the transparent torn edge of .tri, so no white strip shows through */
	.gal-v2.gal-v2--trainer:is(.trh + *) { height: calc((1178 + 133) * var(--u)); margin-bottom: calc(-133 * var(--u)); padding-top: calc(160 * var(--u)); background: #f1f1f1 url('../img/v2/timetable/paper.webp') center / cover no-repeat; }
	.trh + .gal-v2--trainer .gal-v2__frame { background: none; }
	.trh + .gal-v2--trainer .gal-v2__tr-edge { display: none; }
}


/* =========================================================================
   Contacts + footer (template-parts/block-contacts.php, footer.php)
   ========================================================================= */

.cnt-v2 { position: relative; z-index: 5; height: calc(1092 * var(--u)); color: var(--black); }
.cnt-v2 img { display: block; max-width: none; }

.cnt-v2__ribbon--dark {
	left: calc(-33.8 * var(--u)); top: calc(40.83 * var(--u));
	width: calc(1974.67 * var(--u)); height: calc(96.74 * var(--u));
	transform: rotate(2.39deg) skewX(.23deg);
	background: #2f2f2f; color: #fff; z-index: 2;
}
.cnt-v2__ribbon--yellow {
	left: calc(-37.95 * var(--u)); top: calc(74.91 * var(--u));
	width: calc(1974.5 * var(--u)); height: calc(96.45 * var(--u));
	transform: rotate(-1.36deg) skewX(.23deg);
	background: var(--yellow); color: var(--black); z-index: 3;
}
.cnt-v2__ribbon .hero-v2__ribbon-track { margin-left: calc(43.5 * var(--u)); }
.cnt-v2__ribbon--yellow .hero-v2__ribbon-track span.is-outline { -webkit-text-stroke-color: var(--black); }
.cnt-v2__ribbon--yellow .hero-v2__arrow { background-image: url('../img/v2/common/ribbon-arrow-black.svg'); }

.cnt-v2__inner { position: absolute; left: 0; top: calc(141 * var(--u)); width: 100%; height: calc(951 * var(--u)); overflow: hidden; background: #f1f1f1; }
.cnt-v2__inner > * { position: absolute; }
.cnt-v2__mountain { left: calc(98.13 * var(--u)); top: calc(-358.72 * var(--u)); width: calc(3031.19 * var(--u)); height: calc(2020.29 * var(--u)); object-fit: cover; }
.cnt-v2__bg { left: calc(-.24 * var(--u)); top: calc(-2.02 * var(--u)); width: calc(1920 * var(--u)); height: calc(953 * var(--u)); object-fit: fill; object-position: bottom; opacity: .2; }
.cnt-v2__inner::before { content: ''; position: absolute; left: calc(-.24 * var(--u)); top: calc(-2.02 * var(--u)); width: calc(1920 * var(--u)); height: calc(953 * var(--u)); background: linear-gradient(136.1deg, rgba(0, 0, 0, 0) 36.814%, rgba(0, 0, 0, .52) 86.526%); z-index: 0; }
.cnt-v2__graffiti { left: calc(178.64 * var(--u)); top: calc(216 * var(--u)); width: calc(1401 * var(--u)); height: calc(713 * var(--u)); z-index: 1; pointer-events: none; }
.cnt-v2__uba { left: calc(477.95 * var(--u)); top: calc(118.19 * var(--u)); width: calc(1524.87 * var(--u)); height: calc(730.14 * var(--u)); opacity: .9; z-index: 2; pointer-events: none; }
.cnt-v2__splash { left: calc(1415.2 * var(--u)); top: calc(-166.3 * var(--u)); width: calc(910.1 * var(--u)); height: calc(817.8 * var(--u)); z-index: 2; pointer-events: none; }
.cnt-v2__hue { left: calc(667.72 * var(--u)); top: calc(195.13 * var(--u)); width: calc(1227.46 * var(--u)); height: calc(585.7 * var(--u)); background: var(--yellow); mix-blend-mode: hue; z-index: 3; pointer-events: none; }
.cnt-v2__time { left: calc(722.04 * var(--u)); top: calc(18.97 * var(--u)); width: calc(687 * var(--u)); height: calc(301 * var(--u)); z-index: 4; pointer-events: none; }

.cnt-v2__title { left: calc(91 * var(--u)); top: calc(186.98 * var(--u)); z-index: 4; font-family: 'Oswald', sans-serif; font-weight: 600; font-size: calc(80 * var(--u)); line-height: calc(80 * var(--u)); text-transform: uppercase; white-space: nowrap; }
.cnt-v2__info { left: calc(93.98 * var(--u)); top: 0; z-index: 4; font-family: 'Oswald', sans-serif; font-weight: 400; line-height: 1.15; text-transform: uppercase; color: #303030; }
.cnt-v2__info > * { position: absolute; left: 0; display: block; width: calc(348 * var(--u)); color: #303030; transition: color .2s ease; }
.cnt-v2__info a:hover { color: #000; text-decoration: underline; }
.cnt-v2__address { top: calc(279.89 * var(--u)); font-size: calc(40 * var(--u)); }
.cnt-v2__tel { top: calc(395.89 * var(--u)); font-size: calc(40 * var(--u)); white-space: nowrap; }
.cnt-v2__mail { top: calc(463.89 * var(--u)); font-size: calc(32 * var(--u)); white-space: nowrap; text-transform: uppercase; }
.cnt-v2__socials { left: calc(98.13 * var(--u)); top: calc(550.89 * var(--u)); z-index: 4; display: flex; align-items: center; gap: calc(36 * var(--u)); }
.cnt-v2__socials a { display: block; width: calc(36 * var(--u)); height: calc(36 * var(--u)); transition: transform .2s ease; }
.cnt-v2__socials a:hover { transform: translateY(calc(-3 * var(--u))); }
.cnt-v2__socials svg { display: block; width: 100%; height: 100%; }
.cnt-v2__btn { left: calc(52.4 * var(--u)); top: calc(649.5 * var(--u)); width: calc(431 * var(--u)); height: calc(85 * var(--u)); z-index: 4; }
.cnt-v2__btn img { width: 100%; height: 100%; transition: filter .2s ease; }
.cnt-v2__btn span { position: absolute; left: calc(207.58 * var(--u)); top: calc(23.06 * var(--u)); transform: translateX(-50%); font-family: 'Oswald', sans-serif; font-weight: 600; font-size: calc(26 * var(--u)); line-height: 1.482; text-transform: uppercase; white-space: nowrap; color: #000; transition: color .2s ease; }
.cnt-v2__btn:hover img { filter: brightness(0); }
.cnt-v2__btn:hover span { color: #fff; }

.cnt-v2__join { left: calc((1249.26 - 119.5) * var(--u)); top: calc(380.84 * var(--u)); width: calc(239 * var(--u)); z-index: 4; text-align: center; font-family: 'Oswald', sans-serif; font-weight: 600; font-size: calc(26 * var(--u)); line-height: 1.482; text-transform: uppercase; }
.cnt-v2__links { left: calc(781 * var(--u)); width: calc(897 * var(--u)); height: calc(65 * var(--u)); z-index: 4; display: flex; align-items: flex-start; gap: calc(78 * var(--u)); }
.cnt-v2__links--1 { top: calc(439 * var(--u)); }
.cnt-v2__links--2 { top: calc(504.91 * var(--u)); }
.cnt-v2__links a { font-family: 'Oswald', sans-serif; font-weight: 700; font-size: calc(48 * var(--u)); line-height: 1.15; text-transform: uppercase; white-space: nowrap; color: var(--black); transition: color .2s ease; }
.cnt-v2__links a:hover { color: #fff; }
.cnt-v2__quote { left: calc(1222.76 * var(--u)); top: calc(702.84 * var(--u)); width: calc(612 * var(--u)); z-index: 4; text-align: right; font-family: 'Oswald', sans-serif; font-weight: 300; font-size: calc(36 * var(--u)); line-height: 1.15; text-transform: uppercase; color: #fff; }
.cnt-v2__up { left: calc(1768.9 * var(--u)); top: calc(806 * var(--u)); width: calc(78.34 * var(--u)); z-index: 4; display: flex; flex-direction: column; align-items: center; gap: calc(5 * var(--u)); padding: 0; border: 0; background: none; cursor: pointer; }
.cnt-v2__up img { width: calc(52.3 * var(--u)); height: calc(28.16 * var(--u)); transition: transform .2s ease; }
.cnt-v2__up span { font-family: 'Oswald', sans-serif; font-weight: 700; font-size: calc(16 * var(--u)); line-height: .95; text-align: center; text-transform: uppercase; color: var(--yellow); }
.cnt-v2__up:hover img { transform: translateY(calc(-4 * var(--u))); }

@media (min-width: 769px) { .footer { position: relative; z-index: 6; height: calc(53.1 * var(--u)); margin-top: calc(-53.1 * var(--u)); padding: 0 !important; background: none !important; } }
@media (min-width: 769px) { .footer .container { max-width: none; width: 100%; padding: 0 calc(78 * var(--u)) 0 0; margin: 0; } }
@media (min-width: 769px) { .footer__inner { display: flex; justify-content: flex-end; align-items: flex-start; gap: calc(44 * var(--u)); padding: 0 !important; border: 0 !important; } }
@media (min-width: 769px) { .footer__copy, .footer__link { font-family: 'Inter', sans-serif !important; font-size: calc(20 * var(--u)) !important; line-height: calc(24 * var(--u)) !important; color: #f0f4fa !important; } }
@media (min-width: 769px) { .footer__inner > .footer__link { text-decoration: underline; } }
.cnt-v2__mountain, .cnt-v2__bg { z-index: 0; }
.cnt-v2__inner::before { z-index: 1; }
.cnt-v2__graffiti { z-index: 2; }
.cnt-v2__up.scroll-up { position: absolute; bottom: auto; right: auto; max-width: none; opacity: 1; pointer-events: all; }
.cnt-v2__up.scroll-up::before { content: none; }
/* gap between the trial form and the contacts ribbons, per layout */
.form-v2 + .fixed__socials + .cnt-v2 { margin-top: calc(25.5 * var(--u)); }
.page-template-page-schedule .form-v2 + .fixed__socials + .cnt-v2 { margin-top: calc(28.5 * var(--u)); }
.page-template-page-trainer .form-v2 + .fixed__socials + .cnt-v2 { margin-top: calc(50.1 * var(--u)); }
/* behind the ribbons the previous section continues: dark after FAQ etc., the form background after the form */
.cnt-v2::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: calc(160 * var(--u)); background: var(--black); }
.form-v2 + .fixed__socials + .cnt-v2::before { content: none; }
@media (max-width: 768px) {
	.cnt-v2 { height: auto; padding-top: 70px; }
	.form-v2 + .fixed__socials + .cnt-v2, .page-template-page-schedule .form-v2 + .fixed__socials + .cnt-v2, .page-template-page-trainer .form-v2 + .fixed__socials + .cnt-v2 { margin-top: 0; }
	.cnt-v2::before { height: 60px; }
	.cnt-v2__ribbon { height: 40px; }
	.cnt-v2__ribbon .hero-v2__ribbon-track { margin-left: 0; }
	.cnt-v2__ribbon--dark { left: -5vw; top: 8px; width: 110vw; }
	.cnt-v2__ribbon--yellow { left: -5vw; top: 26px; width: 110vw; }
	.cnt-v2__inner { position: relative; top: auto; height: auto; padding: 60px 16px 120px; display: flex; flex-direction: column; align-items: flex-start; }
	.cnt-v2__inner > * { position: relative; left: auto !important; top: auto !important; }
	.cnt-v2__inner > img, .cnt-v2__hue { position: absolute; }
	.cnt-v2__mountain { left: -60% !important; top: auto !important; bottom: -40px; width: 230%; height: auto; }
	.cnt-v2__bg { left: 0 !important; top: 0 !important; width: 100%; height: 100%; }
	.cnt-v2__inner::before { left: 0; top: 0; width: 100%; height: 100%; }
	.cnt-v2__graffiti { left: -20px !important; top: 60px !important; width: 110%; height: auto; }
	.cnt-v2__time { left: auto !important; right: -20px; top: 14px !important; width: 190px; height: auto; }
	.cnt-v2__uba { left: -30px !important; top: auto !important; bottom: 250px; width: 120%; height: auto; }
	.cnt-v2__splash { left: auto !important; right: -140px; top: -40px !important; width: 320px; height: auto; }
	.cnt-v2__hue { display: none; }
	.cnt-v2__title { font-size: 44px; line-height: 44px; }
	.cnt-v2__info { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; }
	.cnt-v2__info > * { position: static; width: auto; }
	.cnt-v2__address, .cnt-v2__tel { font-size: 22px; }
	.cnt-v2__mail { font-size: 18px; }
	.cnt-v2__socials { margin-top: 18px; gap: 18px; }
	.cnt-v2__socials a { width: 34px; height: 34px; }
	.cnt-v2__btn { width: 260px; height: 52px; margin-top: 22px; }
	.cnt-v2__btn span { left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: 17px; }
	.cnt-v2__join { width: 100%; margin-top: 60px; font-size: 20px; text-align: center; }
	/* four links in one row that always fits the screen, repeated twice as on the current site */
	.cnt-v2__links { width: 100%; height: auto; margin-top: 10px; display: grid; grid-template-columns: repeat(4, auto); justify-content: space-between; gap: 0; }
	.cnt-v2__links--2 { margin-top: 0; }
	.cnt-v2__links a { font-size: clamp(16px, 5vw, 22px); line-height: 1.1; }
	.cnt-v2__quote { width: 100%; margin-top: 60px; padding-left: 40px; font-size: 20px; text-align: right; }
	.cnt-v2__up.scroll-up { position: relative; align-self: flex-end; width: 70px; margin-top: 16px; }
	.cnt-v2__up img { width: 40px; height: 22px; }
	.cnt-v2__up span { font-size: 13px; }
}

/* service page trainers block — offsets from the layout (section top = 0) */
@media (min-width: 769px) {
	.treners-v2 .treners__title { position: relative; top: calc(108 * var(--u)); left: calc(-10 * var(--u)); }
	.treners-v2 .treners__descr { position: relative; top: calc(52 * var(--u)); left: calc(-110 * var(--u)); max-width: calc(558 * var(--u)); }
	.treners-v2 .treners__slider { position: relative; top: calc(100 * var(--u)); left: calc(-35 * var(--u)); }
	.treners-v2 .treners__slide { max-width: calc(1116.8 * var(--u)); }
	.treners-v2 .treners__slide-image { margin-left: calc(-19 * var(--u)); max-width: calc(477.7 * var(--u)); height: calc(592 * var(--u)); }
	.treners-v2 .treners__bottom { position: relative; top: calc(125 * var(--u)); }
	/* paper continues under the yellow ribbon, the dark "how it works" block starts below it */
	.treners.treners-v2 { min-height: calc(1760 * var(--u)); margin-bottom: calc(-66 * var(--u)); }
	.page-template-page-service .howit-v2 { z-index: 1; }
}
/* schedule cells: text wraps inside the card instead of touching the border */
.tt-v2__class { padding: 0 calc(12 * var(--u)) 0 calc(8 * var(--u)); justify-content: flex-start; gap: calc(6 * var(--u)); }
.tt-v2__class p { flex: 1; }
.tt-v2__class strong { white-space: normal; font-size: calc(18 * var(--u)); line-height: calc(20 * var(--u)); overflow-wrap: anywhere; }
.tt-v2__class img { width: calc(46 * var(--u)); height: calc(46 * var(--u)); }
.hero.sban-v2 { z-index: 4; }
.hero-v2__usyk, .hero-v2__crawford { position: absolute; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; }
/* CF7 messages must not push the card layout: field tips sit inside the input, the summary replaces the note */
.form-v2__form .wpcf7-not-valid-tip { position: absolute; right: calc(16 * var(--u)); top: 50%; transform: translateY(-50%); margin: 0; padding: calc(3 * var(--u)) calc(8 * var(--u)); background: #fff; color: #d92d20; font-size: calc(13 * var(--u)); line-height: 1.2; pointer-events: none; }
.form-v2__form .feedback__form-input.wpcf7-not-valid { box-shadow: inset 0 0 0 calc(2 * var(--u)) #d92d20; }
.form-v2__form .wpcf7 form.invalid .wpcf7-response-output,
.form-v2__form .wpcf7 form.unaccepted .wpcf7-response-output { display: none; }
.form-v2__form .wpcf7-response-output { top: calc(322 * var(--u)); margin: 0 !important; border: 0 !important; background: var(--black); color: #fff; text-align: center; z-index: 2; }
.form-v2__form .wpcf7 form.sent .wpcf7-response-output { background: var(--yellow); color: var(--black); }
.screen-reader-response { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
@media (max-width: 768px) {
	.form-v2__form .wpcf7-not-valid-tip { right: 10px; font-size: 12px; padding: 2px 6px; }
	.form-v2__form .wpcf7-response-output { top: auto; bottom: -70px; }
}

/* service FAQ: ribbons over the seam with the SEO block, content shifted as in the layout */
.faq-v2__ribbon { z-index: 6; }
.faq-v2__ribbon--dark { left: calc((967.45 - 1945.816 / 2) * var(--u)); top: calc((84.4 - 91.338 / 2) * var(--u)); width: calc(1945.816 * var(--u)); transform: rotate(-4deg); background: #2f2f2f; color: #fff; }
.faq-v2__ribbon--yellow { left: calc((952.05 - 1974.586 / 2) * var(--u)); top: calc((75.2 - 96.691 / 2) * var(--u)); width: calc(1974.586 * var(--u)); height: calc(96.691 * var(--u)); transform: rotate(2.12deg) skewX(.23deg); background: var(--yellow); color: var(--black); z-index: 7; }
.faq-v2__ribbon--yellow .hero-v2__ribbon-track span.is-outline { -webkit-text-stroke-color: var(--black); }
.faq-v2__ribbon--yellow .hero-v2__arrow { background-image: url('../img/v2/common/ribbon-arrow-black.svg'); }
@media (min-width: 769px) {
	.faq-v2--service .faq-v2__title span:nth-child(1) { left: calc(737 * var(--u)); }
	.faq-v2--service .faq-v2__title span:nth-child(2) { left: calc(830 * var(--u)); }
	.faq-v2--service .faq-v2__list { margin-left: calc(846 * var(--u)); }
}
@media (max-width: 768px) {
	.faq-v2__ribbon { height: 40px; }
	.faq-v2__ribbon .hero-v2__ribbon-track { margin-left: 0; }
	.faq-v2__ribbon--dark { left: -5vw; top: 10px; width: 110vw; }
	.faq-v2__ribbon--yellow { left: -5vw; top: 6px; width: 110vw; }
	.faq-v2--service { padding-top: 110px !important; }
}
/* "what you get": third item's caption stays inside the screen */
.yg-v2__item--3 .yg-v2__text { width: calc(320 * var(--u)); }
@media (max-width: 768px) {
	.yg-v2__item { display: flex; flex-direction: column; }
	.yg-v2__item .yg-v2__frame { display: none; }
	.yg-v2__item .yg-v2__num { order: 0; transform: none; margin-bottom: 12px; font-size: 56px; line-height: 1; }
	.yg-v2__item .yg-v2__photo { order: 1; }
	.yg-v2__item .yg-v2__text { order: 2; width: auto !important; margin-top: 14px; }
}

/* ---------- schedule: trainer name in a cell, phone view (day tabs + list) ---------- */
.tt-v2__trainer { display: block; font-family: 'Inter', sans-serif; font-style: normal; font-weight: 500; font-size: calc(13 * var(--u)); line-height: calc(16 * var(--u)); color: var(--c); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tt-m { display: none; }

@media (min-width: 769px) {
	/* rows are lower than before (current site proportions) */
	.tt-v2__head, .tt-v2__row { height: calc(78 * var(--u)); }
	.tt-v2__class { height: calc(66 * var(--u)); }
	.tt-v2__class img { width: calc(40 * var(--u)); height: calc(40 * var(--u)); }
	.tt-v2__time { font-size: calc(34 * var(--u)); line-height: calc(34 * var(--u)); }
}

@media (max-width: 768px) {
	.tt-v2__table { display: none !important; }
	.tt-m { display: block; position: relative; z-index: 1; margin-top: 24px; }
	.tt-m__days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
	.tt-m__day { height: 48px; padding: 0; border: 1px solid #3a3a3a; border-radius: 8px; background: rgba(255, 255, 255, .04); font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 16px; text-transform: uppercase; color: #fff; cursor: pointer; transition: background .2s ease, color .2s ease; }
	.tt-m__day.is-active { background: var(--yellow); border-color: var(--yellow); color: var(--black); }
	.tt-m__list { display: none; margin-top: 16px; }
	.tt-m__list.is-active { display: flex; flex-direction: column; gap: 10px; }
	.tt-m__item { display: grid; grid-template-columns: 62px 1fr; align-items: center; gap: 10px; }
	.tt-m__time { font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 22px; line-height: 24px; color: #fff; }
	.tt-m .tt-v2__class { width: 100%; height: auto; min-height: 60px; padding: 8px 12px; gap: 10px; justify-content: flex-start; border-radius: 8px; }
	.tt-m .tt-v2__class img { width: 34px; height: 34px; }
	.tt-m .tt-v2__class strong { font-size: 17px; line-height: 20px; white-space: normal; }
	.tt-m .tt-v2__class span { font-size: 13px; line-height: 16px; }
	.tt-m .tt-v2__trainer { font-size: 12px; line-height: 15px; }
	.tt-m__empty { padding: 24px 0; text-align: center; font-family: 'Inter', sans-serif; color: var(--gray); }
	.tt-v2[data-filter="box"] .tt-m__item:not([data-kind="box"]),
	.tt-v2[data-filter="kick"] .tt-m__item:not([data-kind="kick"]),
	.tt-v2[data-filter="thai"] .tt-m__item:not([data-kind="thai"]),
	.tt-v2[data-filter="func"] .tt-m__item:not([data-kind="func"]),
	.tt-v2[data-filter="kids"] .tt-m__item:not([data-kind="kids"]) { display: none; }
	.tt-m .tt-v2__class { opacity: 1 !important; transform: none !important; }
	/* same yellow brush + arrow as the "Записатись" button above */
	.tt-m__signup { position: relative; display: block; width: 100%; max-width: 360px; height: 60px; margin: 24px auto 0; }
	.tt-m__signup > img { position: absolute; inset: 0; width: 100%; height: 100%; transition: filter .2s ease; }
	.tt-m__signup span { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: flex; align-items: center; gap: 8px; font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 18px; line-height: 1; text-transform: uppercase; white-space: nowrap; color: var(--black); }
	.tt-m__signup span img { width: 16px; height: 16px; }
	.tt-m__signup:hover > img { filter: saturate(0) brightness(1.15); }
}

/* trainer gallery sits on light paper: trim the thin coloured edge baked into the club photos */
.gal-v2--trainer .gal-v2__item:not(.gal-v2__item--big) img { clip-path: inset(4px); }

@media (max-width: 768px) {
	/* one "what you get" item per slide; the number sits above the photo so it is never clipped */
	.youget.yg-v2 { padding-bottom: 60px; }
	.yg-v2__title span, .yg-v2__title span:nth-child(1), .yg-v2__title span:nth-child(2) { font-size: 40px; line-height: 44px; }
	.yg-v2__title span:nth-child(2) { padding-left: 24px; }
	.yg-v2__slider { overflow: hidden; }
	.yg-v2__page { gap: 0; }
	.yg-v2__item .yg-v2__num { position: relative !important; top: auto !important; margin: 0 0 14px; font-size: 52px; line-height: 1; }
	.yg-v2__item .yg-v2__photo, .yg-v2__item--2 .yg-v2__photo, .yg-v2__item--3 .yg-v2__photo { aspect-ratio: 4 / 3; -webkit-mask: url('../img/v2/youget/mask-s.png') 0 0 / 100% 100% no-repeat; mask: url('../img/v2/youget/mask-s.png') 0 0 / 100% 100% no-repeat; }
	.yg-v2__item .yg-v2__text { min-height: 84px; font-size: 22px; line-height: 28px; }
}

/* "Як проходять тренування": content in the current site's layout (style.css), redesign background and torn edge */
.howit.howit-orig { position: relative; z-index: 3; padding: calc(190 * var(--u)) 0 calc(170 * var(--u)); background: #111; overflow: visible; }
.howit.howit-orig::before { content: none; }
.howit-orig__bg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: bottom; pointer-events: none;
	-webkit-mask-image: linear-gradient(to bottom, #000 80%, transparent 97%); mask-image: linear-gradient(to bottom, #000 80%, transparent 97%); }
.howit-orig__edge { position: absolute; z-index: 4; left: calc(-12.2 * var(--u)); bottom: calc(-122 * var(--u)); width: calc(2011 * var(--u)); height: calc(133 * var(--u)); max-width: none; pointer-events: none; }
.howit-orig .container { position: relative; z-index: 2; }
@media (max-width: 768px) {
	.howit.howit-orig { padding: 90px 0 80px; }
	.howit-orig__edge { left: -10vw; bottom: -40px; width: 120vw; height: 46px; }
}

/* contacts + footer: layout 2026 on desktop, the current site's version on phones */
@media (min-width: 769px) {
	.lineBlock--m, .contacts--m, .scroll-up--m { display: none !important; }
}
@media (max-width: 768px) {
	.cnt-v2 { display: none !important; }
}

/* banner titles split into letters by js/v2.js */
.v2-ch { display: inline-block; translate: none; will-change: transform, opacity; }

@media (max-width: 768px) {
	/* prices: the yellow ribbon overlaps the hero bottom, so no black strip shows above it */
	.tt-hero--price + .price-v2 { position: relative; z-index: 4; }
	.tt-hero--price + .price-v2 .price-v2__ribbon { top: -18px; }
	.tt-hero--price + .price-v2 .price-v2__group:first-of-type { padding-top: 70px; }
}

.price-v2 .price-v2__label-m, .price-v2 .price-v2__photo-m { display: none; }
@media (max-width: 768px) {
	.price-v2 .price-v2__label-m { display: flex; }
	.price-v2 .price-v2__photo-m { display: block; }
}
@media (max-width: 768px) {
	.price-v2__row.is-wide:not(.is-solo) .price-v2__cell { width: 45% !important; }
	.price-v2__row.is-wide:not(.is-solo) { padding-right: 35%; }
	/* keep the copy readable over the photo */
	.price-v2__row:not(.is-solo) .price-v2__photo-m { filter: brightness(.8); }
}
@media (max-width: 374px) {
	.price-v2__row:not(.is-solo) { grid-template-columns: 24px 36px 1fr; column-gap: 7px; padding-left: 8px; }
	.price-v2__row:not(.is-solo) .price-v2__num { font-size: 38px; line-height: 38px; }
	.price-v2__row:not(.is-solo) .price-v2__kind { padding-right: 6px; }
	.price-v2__row:not(.is-solo) .price-v2__kind img { width: 22px; height: 22px; }
	.price-v2__row:not(.is-solo) .price-v2__kind span { font-size: 11px; }
	.price-v2__row:not(.is-solo) .price-v2__name { font-size: 12px; line-height: 15px; }
	.price-v2__row:not(.is-solo) .price-v2__lead strong { font-size: 11px; }
	.price-v2__price b { font-size: 26px; }
	.price-v2__price small { font-size: 13px; }
	.price-v2__per { font-size: 8px; padding: 0 3px; }
	.price-v2__row.is-solo .price-v2__price b { font-size: 24px; }
}

/* letters of split banner titles must not inherit the line rules (absolute position, size, rotation, colour) */
.sban-v2__title > span > .v2-ch.v2-ch.v2-ch, .trh__title > span > .v2-ch.v2-ch.v2-ch, .tt-hero__title > span > .v2-ch.v2-ch.v2-ch {
	display: inline-block; position: static; left: auto; top: auto; width: auto; height: auto; transform: none;
	font: inherit; color: inherit; white-space: pre; text-box: none; -webkit-text-stroke: inherit;
}
.treners__title > * { translate: var(--px, 0px) 0; }
.treners__title > .treners__line { display: block; font-weight: inherit; }
@media (min-width: 769px) { .why-v2__paper { transform: translateX(calc(20 * var(--u))); } }
/* the schedule block is pulled up over the prices: let clicks/hover through its empty top part */
.price-v2 + .sched-v2 { pointer-events: none; }
.price-v2 + .sched-v2 > :not(img) { pointer-events: auto; }

/* "what you get" desktop strip: each item is a slide, shifted into its own box */
@media (min-width: 769px) {
	.yg-v2--flow .yg-v2__page { overflow: visible; }
	.yg-v2--flow .yg-v2__page--1 { width: calc(735 * var(--u)); }
	.yg-v2--flow .yg-v2__page--2 { width: calc(759 * var(--u)); }
	.yg-v2--flow .yg-v2__page--2 .yg-v2__item { left: calc(-735 * var(--u)); right: auto; width: calc(1920 * var(--u)); }
	.yg-v2--flow .yg-v2__slider { overflow: hidden; }
}

/* ---- phone price cards: copy never runs onto the price label, photo sits between copy and price, readable text ---- */
@media (max-width: 768px) {
	.price-v2__row:not(.is-solo) { grid-template-columns: 28px 40px minmax(0, 1fr); column-gap: 8px; padding: 14px calc(45% + 10px) 14px 10px; min-height: 116px; }
	.price-v2__row.is-wide:not(.is-solo) { padding-right: calc(45% + 10px); }
	.price-v2__row:not(.is-solo) .price-v2__cell { width: 45% !important; }
	.price-v2__row.is-wide:not(.is-solo) .price-v2__cell { width: 45% !important; }
	.price-v2__row:not(.is-solo) .price-v2__num { font-size: 42px; line-height: 42px; }
	.price-v2__row:not(.is-solo) .price-v2__kind { padding-right: 6px; }
	.price-v2__row:not(.is-solo) .price-v2__name { white-space: normal; font-size: 13px; line-height: 16px; }
	/* photo only in the strip before the price, fading out towards the copy */
	.price-v2__row:not(.is-solo) .price-v2__photo-m { right: 30% !important; width: 42%; filter: blur(1px) brightness(.45) !important;
		-webkit-mask-image: linear-gradient(to right, transparent 0, rgba(0,0,0,.35) 45%, #000 85%); mask-image: linear-gradient(to right, transparent 0, rgba(0,0,0,.35) 45%, #000 85%); }
	.price-v2__row.is-wide:not(.is-solo) .price-v2__photo-m { right: 33% !important; }

	/* individual cards: darker photo, a gap between copy and the price label */
	.price-v2__row.is-solo .price-v2__photo-m { filter: blur(1px) brightness(.45); opacity: 1; height: 62%; transform: scale(1.06);
		-webkit-mask-image: linear-gradient(to bottom, #000 35%, transparent 95%); mask-image: linear-gradient(to bottom, #000 35%, transparent 95%); }
	.price-v2__row.is-solo .price-v2__lead { margin-bottom: 14px; }

	.price-v2__row .price-v2__num, .price-v2__row .price-v2__kind, .price-v2__row .price-v2__name, .price-v2__row .price-v2__lead {
		text-shadow: 0 1px 2px rgba(0, 0, 0, .9), 0 0 12px rgba(0, 0, 0, .8);
	}
}
@media (max-width: 374px) {
	.price-v2__row:not(.is-solo) { grid-template-columns: 22px 34px minmax(0, 1fr); column-gap: 6px; padding-left: 8px; }
	.price-v2__row:not(.is-solo) .price-v2__name { font-size: 12px; line-height: 15px; }
}
@media (max-width: 768px) {
	/* blurred photo fills the whole card (behind the copy and the price label) */
	.price-v2 .price-v2__row .price-v2__photo-m, .price-v2 .price-v2__row.is-wide .price-v2__photo-m, .price-v2 .price-v2__row.is-solo .price-v2__photo-m {
		left: 0 !important; right: auto !important; top: 0 !important; width: 100%; height: 100%;
		object-fit: cover; object-position: center 30%;
		filter: blur(1px) brightness(.45) !important; transform: scale(1.08); opacity: 1;
		-webkit-mask-image: none; mask-image: none;
	}
}

/* ---- phone: no white page background between sections — ribbons/torn edges overlap the section above ---- */
@media (max-width: 768px) {
	.gal-v2:not(.gal-v2--service):not(.gal-v2--trainer) { margin-top: -24px; }
	.trainer.tr-v2 { margin-top: -24px; }
	.reviews.rev-v2 { margin-top: 0; }
	.rev-v2__ribbon { top: -8px; }
}

/* ---- phone: ribbons cover the joints between sections (not clipped by their own section) ---- */
@media (max-width: 768px) {
	/* home hero: black only behind the stage, the ribbons sit on the joint with the next section */
	.hero.hero-v2 { background: linear-gradient(var(--black), var(--black)) 0 0 / 100% 17px no-repeat; overflow: clip visible; }
	.hero-v2__ribbon--dark { top: calc(27px + 650 * var(--m)); }
	.hero-v2__ribbon--yellow { top: calc(27px + 668 * var(--m)); }
	/* service hero: ribbons lowered onto the joint with "why UBA" */
	.hero.sban-v2 { overflow: clip visible; }
	.sban-v2__ribbon--dark { bottom: 12px; }
	.sban-v2__ribbon--yellow { bottom: -8px; }
	/* service gallery: torn edge into the perks, as on desktop */
	.gal-v2--service .gal-v2__svc-edge--bottom { display: block; z-index: 3; left: 0; top: 100%; width: 100%; height: 40px; object-fit: cover; object-position: center top; }
	/* service prices: no gap (collapsed group margin) above the black, ribbon raised over the joint */
	.perks-v2 + .price-v2 > .price-v2__ribbon + .price-v2__group { margin-top: 0; }
	.perks-v2 + .price-v2 .price-v2__ribbon { top: -14px; }
	/* "what you get": pulled up over the schedule, ribbons inside the section so they are not cut */
	.sched-v2 + .youget.yg-v2 { margin-top: -40px; padding-top: calc(3.75vw + 74px); }
	.sched-v2 + .youget.yg-v2 .yg-v2__ribbon--yellow { top: calc(3.75vw + 2px); }
	.sched-v2 + .youget.yg-v2 .yg-v2__ribbon--dark { top: calc(3.75vw + 8px); }
}

/* ---- desktop: section titles whose lines are positioned inside the section get a real box (SEO tools showed them as 0-height / hidden) ---- */
@media (min-width: 769px) {
	.dirs-v2__title { inset: 0; height: auto; pointer-events: none; }
	.gal-v2__title, .rev-v2__title, .google-v2__title, .faq-v2__title, .sban-v2__title,
	.why-v2__title, .perks-v2__title, .price-v2__title, .yg-v2__title {
		position: absolute; inset: 0; margin: 0; pointer-events: none;
	}
}

/* ---- "Дисципліни" dropdown: photos of the "Клуб єдиноборств" cards. The card image has transparent margins
   for the torn frame of that block (photo at 118,74 – 880,600 of 1211×683), so only the photo part is shown ---- */
.header__menu-image {
	aspect-ratio: 762 / 526;
}

.header__menu-image img {
	position: absolute;
	left: -15.486%;
	top: -14.068%;
	width: 158.924%;
	max-width: none;
	height: auto;
}

/* ---- trainer hero: role, text, "Детальніше" and the achievements title flow in one column (text length differs per trainer) ---- */
.trh__info {
	position: absolute; z-index: 1;
	left: calc(235 * var(--u)); top: calc(487.72 * var(--u)); width: calc(760 * var(--u));
	display: flex; flex-direction: column; align-items: flex-start;
}
.trh__info > * { position: relative; z-index: 1; left: auto; top: auto; }
.trh__info > .trh__text { margin-top: calc(22 * var(--u)); }
.trh__info > .trh__adv-title { margin-top: calc(40 * var(--u)); }

.trh__more-btn {
	display: inline-flex; align-items: center; justify-content: center;
	height: calc(64 * var(--u)); margin-top: calc(26 * var(--u)); padding: 0 calc(56 * var(--u));
	border: 0; background: url('../img/v2/trainer/invite-brush.webp') center / 100% 100% no-repeat;
	font-family: 'Oswald', sans-serif; font-weight: 600; font-size: calc(24 * var(--u)); line-height: 1; text-transform: uppercase; color: var(--black);
	cursor: pointer; transition: transform .2s ease;
}
.trh__more-btn:hover { transform: translateX(calc(5 * var(--u))); }

/* the extra text ("Додатково про тренера") opens right under the trainer's text, the button moves below it */
.trh__more { margin-top: calc(22 * var(--u)); font-family: 'Inter', sans-serif; font-weight: 300; font-size: calc(22 * var(--u)); line-height: 1.25; }
.trh__more[hidden] { display: none; }
.trh__more > * + * { margin-top: calc(12 * var(--u)); }
.trh__more h2, .trh__more h3, .trh__more h4 { font-family: 'Oswald', sans-serif; font-weight: 600; font-size: calc(30 * var(--u)); line-height: 1.15; text-transform: uppercase; }
.trh__more strong { font-weight: 600; }
.trh__more ul { padding-left: 1.2em; list-style: disc; }

.trh__adv li, .trh__adv li:nth-child(n) { width: auto; max-width: calc(421 * var(--u)); flex: 0 1 auto; }

@media (max-width: 768px) {
	.trh__info { display: contents; }
	.trh__more-btn { order: 4; align-self: center; height: 52px; margin-top: 18px; padding: 0 44px; font-size: 18px; }
	.trh__adv li, .trh__adv li:nth-child(n) { max-width: none; }
	.trh__more { order: 4; margin-top: 14px; font-size: 16px; line-height: 1.4; }
	.trh__more h2, .trh__more h3, .trh__more h4 { font-size: 22px; }
	.trh__more > * + * { margin-top: 10px; }
}

/* ---- champions' reviews: "Дивитися відео" on the photo when a YouTube link is set ---- */
.rev-v2__video {
	position: absolute; z-index: 3; left: 50%; top: 46%;
	display: flex; flex-direction: column; align-items: center; gap: calc(12 * var(--u));
	transform: translate(-50%, -50%);
	color: #fff; text-decoration: none;
}
.rev-v2__video-icon {
	position: relative;
	width: calc(92 * var(--u)); height: calc(92 * var(--u)); min-width: 56px; min-height: 56px;
	border-radius: 50%; background: rgba(18, 18, 18, .78);
	box-shadow: 0 0 0 calc(2 * var(--u)) rgba(255, 255, 255, .85);
	transition: transform .2s ease, background .2s ease;
}
.rev-v2__video-icon::after {
	content: ''; position: absolute; left: 54%; top: 50%;
	border-style: solid; border-width: calc(16 * var(--u)) 0 calc(16 * var(--u)) calc(26 * var(--u));
	border-color: transparent transparent transparent #fff;
	transform: translate(-50%, -50%);
}
.rev-v2__video-text {
	font-family: 'Inter', sans-serif; font-weight: 500; font-size: calc(18 * var(--u)); line-height: 1.2;
	text-decoration: underline; text-underline-offset: 3px; white-space: nowrap;
	text-shadow: 0 1px 6px rgba(0, 0, 0, .7);
}
.rev-v2__video:hover .rev-v2__video-icon { transform: scale(1.08); background: var(--black); }
@media (max-width: 768px) {
	.rev-v2__video-icon::after { border-width: 10px 0 10px 16px; }
	.rev-v2__video-text { font-size: 14px; }
}

/* trainer page: photo and its tapes live in one box (desktop: the box is transparent, coordinates stay on the hero) */
.trh__media { display: contents; }

/* ---- phones: the tape on the photos, as on the desktop and on the old site ---- */
@media (max-width: 768px) {
	/* home: trainers (positions = desktop ones, in % of the item width) */
	.tr-v2__item > .tr-v2__tape { display: flex; position: absolute !important; z-index: 2; top: 0; height: auto !important; }
	.tr-v2__item > .tr-v2__tape img { width: 95.5% !important; height: auto !important; aspect-ratio: 201.857 / 70.499; }
	.tr-v2__item--1 .tr-v2__tape { width: 31.9% !important; aspect-ratio: 211.3 / 157; }
	.tr-v2__item--1 .tr-v2__tape--a { left: -4.9% !important; margin-top: -.6%; }
	.tr-v2__item--1 .tr-v2__tape--b { left: 68.7% !important; margin-top: 48.5%; }
	.tr-v2__item--2 .tr-v2__tape { width: 20.3% !important; aspect-ratio: 129.4 / 137.5; }
	.tr-v2__item--2 .tr-v2__tape img { width: 108.3% !important; aspect-ratio: 140.114 / 48.935; }
	.tr-v2__item--2 .tr-v2__tape--a { left: -3.2% !important; margin-top: 94.4%; }
	.tr-v2__item--2 .tr-v2__tape--b { left: 82.5% !important; margin-top: -8.4%; }
	.tr-v2__item--3 .tr-v2__tape--a { left: 78.1% !important; margin-top: 108.6%; width: 37.1% !important; aspect-ratio: 199.5 / 148.2; }
	.tr-v2__item--3 .tr-v2__tape--b { left: -.1% !important; margin-top: -12%; width: 39.3% !important; aspect-ratio: 211.3 / 157; }

	/* service pages: "what you get" photos */
	/* photos are 4:3 here: the tape sits on the top edge, then gives its height back */
	.yg-v2__item .yg-v2__tape, .yg-v2__item--2 .yg-v2__tape, .yg-v2__item--3 .yg-v2__tape { display: flex; position: relative !important; order: 1; z-index: 2; width: 50% !important; height: auto !important; aspect-ratio: 343.2 / 143.15; margin: -71% 0 50.14% 24%; }
	.yg-v2__item .yg-v2__tape img { width: 97.6%; height: auto; aspect-ratio: 335 / 117; }

	/* trainer page: hero photo */
	.trh__media { display: block; position: relative; order: 1; width: min(340px, 86vw); margin: calc(min(340px, 86vw) * -.22) auto calc(min(340px, 86vw) * -.1); }
	.trh__media .trh__photo { position: relative; left: auto; top: auto; width: 100%; margin: 0; }
	.trh__media .trh__tape { position: absolute; display: block; width: 37.25%; height: auto; }
	.trh__media .trh__tape--1 { left: 67.4%; top: 25.6%; }
	.trh__media .trh__tape--2 { left: -6.1%; top: 84.5%; }
}

/* trainers list (Тренери) and the trainers slider on service pages: photo and name open the trainer, as the button does */
a.trainer__item-image--wrapper, a.treners__slide-image--wrapper { display: block; cursor: pointer; pointer-events: auto; }
.trainer__item-title a, .treners__slide-title a { pointer-events: auto; color: inherit; text-decoration: none; transition: color .2s ease; }
.trainer__item-title a:hover, .treners__slide-title a:hover { color: var(--yellow); }

/* trainer: no schedule filled — the block ends under the prices (no empty dark gap); no prices — the schedule moves up */
@media (min-width: 769px) {
	.trd--no-sched { height: calc(1522 * var(--u)); }
	.trd--no-sched .trd__bg { height: calc(100% + 116 * var(--u)); }
	.trd--no-sched .trd__noexcuses { top: calc((1565.51 - 555) * var(--u)); }
	.trd--no-sched .trd__arrow { top: calc((1767 - 555) * var(--u)); }
	.trd--no-sched .trd__btn.v2-btn { top: calc((1803 - 555) * var(--u)); }
	.trd--no-prices { height: calc(2077 * var(--u) - 860 * var(--u)); }
	.trd--no-prices .trd__bg { height: calc(100% + 116 * var(--u)); }
	.trd--no-prices .trd__sched { position: absolute; inset: 0; transform: translateY(calc(-860 * var(--u))); }
	.trd--no-prices .trd__noexcuses, .trd--no-prices .trd__arrow, .trd--no-prices .trd__btn.v2-btn { translate: 0 calc(-860 * var(--u)); }
}

/* gallery: partner logos next to the «Галерея» label (home and service pages) */
.gal-v2__partners { position: absolute; z-index: 2; left: calc(470 * var(--u)); top: calc(176 * var(--u)); display: flex; align-items: center; gap: calc(30 * var(--u)); pointer-events: none; }
.gal-v2__partners img { display: block; width: auto; height: calc(72 * var(--u)); }
.gal-v2__partners img + img { height: calc(78 * var(--u)); }
@media (max-width: 768px) {
	.gal-v2__partners { left: 186px; top: 50%; transform: translateY(-50%); gap: 14px; }
	.gal-v2__partners img { height: 40px; }
	.gal-v2__partners img + img { height: 44px; }
}
