/* =========================================================
   Plus 2026 — Главная страница (натяжка по макету).
   ========================================================= */

/* ---------- HERO ---------- */
.hero {
	position: relative;
	overflow: hidden;
	min-height: clamp(600px, 51vw, 820px);
	background: var(--c-ink);
	color: var(--c-white);
}

.hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(180deg, rgba(24, 29, 44, 0.55) 0%, rgba(24, 29, 44, 0) 22%),
		linear-gradient(90deg, rgba(24, 29, 44, 0.92) 0%, rgba(24, 29, 44, 0.5) 45%, rgba(24, 29, 44, 0.12) 100%);
}

.hero__inner {
	position: relative;
	z-index: 2;
	padding-top: clamp(120px, 11vw, 170px);
	padding-bottom: clamp(120px, 11vw, 180px);
}

.hero__content {
	display: flex;
	flex-direction: column;
	gap: clamp(1.5rem, 2.7vw, 2.5rem); /* 24 → 40 */
}

.hero__title {
	font-size: clamp(2.5rem, 1rem + 6.39vw, 6.875rem); /* 40 → 110 */
	line-height: 0.95;
	font-weight: var(--fw-semibold);
	color: var(--c-white);
}

.hero__subtitle {
	max-width: 676px;
	font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.375rem); /* 17 → 22 */
	line-height: 1.6;
	color: var(--c-white);
}

.hero__note {
	max-width: 509px;
	margin-top: clamp(1rem, 1.5vw, 1.5rem);
	font-size: var(--fs-body);
	line-height: 1.625;
	color: var(--c-white);
}

/* ---------- Home motion ---------- */
.home-title-line {
	display: block;
	overflow: clip;
}

.home-title-line > span {
	display: block;
}

body.home-animations-ready .site-header--overlay .site-header__inner {
	opacity: 0;
	transform: translate3d(0, -16px, 0);
}

body.home-hero-ready .site-header--overlay .site-header__inner {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	transition:
		opacity 680ms cubic-bezier(0.19, 1, 0.22, 1),
		transform 760ms cubic-bezier(0.19, 1, 0.22, 1);
}

body.home-animations-ready .hero__bg {
	transform: translate3d(0, var(--home-parallax-y, 0), 0) scale(1.045);
	transform-origin: center;
	will-change: transform;
}

body.home-animations-ready .hero__overlay {
	opacity: 0.9;
}

body.home-hero-ready .hero__overlay {
	opacity: 1;
	transition: opacity 900ms ease;
}

body.home-animations-ready .home-title-line > span {
	opacity: 0;
	transform: translate3d(0, 112%, 0) skewY(2deg);
	transform-origin: left bottom;
}

body.home-hero-ready .home-title-line > span {
	animation: home-title-in 920ms cubic-bezier(0.19, 1, 0.22, 1) forwards;
	animation-delay: calc(120ms + var(--home-title-delay, 0ms));
}

body.home-animations-ready .hero__subtitle,
body.home-animations-ready .hero__note {
	opacity: 0;
	transform: translate3d(0, 28px, 0);
}

body.home-hero-ready .hero__subtitle,
body.home-hero-ready .hero__note {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	transition:
		opacity 780ms cubic-bezier(0.19, 1, 0.22, 1),
		transform 860ms cubic-bezier(0.19, 1, 0.22, 1);
}

body.home-hero-ready .hero__subtitle {
	transition-delay: 560ms;
}

body.home-hero-ready .hero__note {
	transition-delay: 700ms;
}

body.home-animations-ready .home-reveal {
	opacity: 0;
	clip-path: inset(0 0 14% 0);
	transform: translate3d(0, var(--home-reveal-y, 42px), 0) scale(var(--home-reveal-scale, 1));
	will-change: opacity, transform, clip-path;
	transition:
		opacity 760ms cubic-bezier(0.19, 1, 0.22, 1),
		clip-path 820ms cubic-bezier(0.19, 1, 0.22, 1),
		transform 900ms cubic-bezier(0.19, 1, 0.22, 1);
	transition-delay: var(--home-reveal-delay, 0ms);
}

body.home-animations-ready .home-reveal--title {
	--home-reveal-y: 56px;
}

body.home-animations-ready .home-reveal--soft {
	--home-reveal-y: 28px;
}

body.home-animations-ready .home-reveal--stagger {
	--home-reveal-y: 38px;
	--home-reveal-scale: 0.985;
}

body.home-animations-ready .home-reveal--media {
	--home-reveal-y: 34px;
	--home-reveal-scale: 0.975;
}

body.home-animations-ready .home-reveal.is-visible {
	opacity: 1;
	clip-path: inset(0);
	transform: translate3d(0, 0, 0) scale(1);
}

body.home-animations-ready .stat.home-reveal.is-visible {
	clip-path: none;
}

body.home-animations-ready .home-parallax {
	transform: translate3d(0, var(--home-parallax-y, 0), 0) scale(1.035);
	transform-origin: center;
	will-change: transform;
}

@keyframes home-title-in {
	0% {
		opacity: 0;
		transform: translate3d(0, 112%, 0) skewY(2deg);
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0) skewY(0);
	}
}

/* ---------- Интро + цифры + партнёры ---------- */
.company {
	overflow: hidden;
	padding-block: 288px 80px;
	background: var(--c-white);
}
.company > .container,
.directions > .container {
	max-width: none;
	padding-inline: 16px;
}
.company__title {
	width: 343px;
	font-size: 26px;
	line-height: 34px;
	font-weight: var(--fw-semibold);
	color: var(--c-ink);
}
.stats {
	display: flex;
	flex-direction: column;
	gap: 48px;
	width: 343px;
	margin-top: 48px;
}
.stat {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.stat:first-child { width: 216px; }
.stat:last-child { width: 337px; }
.stat__num {
	--odometer-line-height: 60px;
	--odometer-row-height: 65px;

	display: inline-flex;
	align-items: flex-start;
	width: max-content;
	white-space: nowrap;
	font-size: 65px;
	line-height: 60px;
	font-weight: var(--fw-semibold);
	font-variant-numeric: tabular-nums;
	color: var(--c-primary);
}
.stat__num.is-odometer {
	height: var(--odometer-line-height);
	margin-bottom: 0;
	overflow: visible;
}
.odometer__digit {
	display: inline-block;
	height: var(--odometer-row-height);
	overflow: hidden;
	transform: translateY(var(--odometer-viewport-shift, 0));
}
.odometer__reel {
	display: flex;
	flex-direction: column;
	transform: translate3d(0, 0, 0);
	transition:
		transform var(--odometer-duration, 1600ms) cubic-bezier(0.16, 1, 0.3, 1) var(--odometer-delay, 0ms);
	will-change: transform;
}
.stat__num.is-odometer-running .odometer__reel {
	transform: translate3d(0, var(--odometer-offset, 0), 0);
}
.odometer__value,
.odometer__static {
	display: inline-flex;
	align-items: center;
}
.odometer__value {
	height: var(--odometer-row-height);
	line-height: var(--odometer-row-height);
}
.odometer__static {
	height: var(--odometer-line-height);
	line-height: var(--odometer-line-height);
}
.stat__label {
	font-size: 16px;
	line-height: 24px;
	color: var(--c-ink);
}
.company__bottom {
	display: flex;
	flex-direction: column;
	gap: 32px;
	width: 343px;
	margin-top: 64px;
}
.company__left { display: contents; }
.company__text {
	order: 1;
	width: 343px;
	font-size: 16px;
	line-height: 24px;
	color: var(--c-ink);
}
.company__left .btn {
	order: 3;
	width: 343px;
	height: 60px;
	padding-block: 0;
	font-size: 13px;
}
.partners {
	order: 2;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: nowrap;
	gap: 12px;
	width: 343px;
	height: 78px;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.partners::-webkit-scrollbar {
	display: none;
}
.partner {
	position: relative;
	flex: 0 0 187.295px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 59.514px;
}
.partner:nth-child(4) {
	flex-basis: 213px;
	height: 68px;
}
.partner__logo {
	display: block;
	width: auto;
	height: auto;
	max-width: none;
	object-fit: fill;
	pointer-events: none;
	transition: opacity 0.2s ease;
}
.partner__logo--hover {
	position: absolute;
	left: 50%;
	top: 50%;
	opacity: 0;
	transform: translate(-50%, -50%);
}
.partner:hover .partner__logo--default,
.partner:focus-visible .partner__logo--default {
	opacity: 0;
}
.partner:hover .partner__logo--hover,
.partner:focus-visible .partner__logo--hover {
	opacity: 1;
}
.partner:nth-child(1) .partner__logo { width: 136.533px; height: 34.517px; }
.partner:nth-child(2) .partner__logo { width: 143.534px; height: 35.008px; }
.partner:nth-child(3) .partner__logo { width: 132.157px; height: 36.759px; }
.partner:nth-child(4) .partner__logo { width: 141px; height: 48px; }

@media (max-width: 767px) {
	.hero {
		min-height: 820px;
	}
	.hero__bg {
		object-position: 55% center;
	}
	.company {
		padding-block: 80px;
	}
}

/* ---------- Направления ---------- */
.directions {
	overflow: hidden;
	padding-block: 0 0;
	background: var(--c-white);
}
.directions__title {
	width: 334px;
	font-size: 26px;
	line-height: 34px;
	font-weight: var(--fw-semibold);
	color: var(--c-ink);
}
.directions__layout {
	display: flex;
	flex-direction: column;
	gap: 48px;
	width: 343px;
	margin-top: 38px;
}
.directions__aside {
	--directions-aside-hover-bg:
		url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 452 330' preserveAspectRatio='none'><g transform='matrix(54.3 -11.1 8.1064 39.655 0.000012923 330)'><foreignObject x='-94.256' y='-94.256' width='188.51' height='188.51'><div xmlns='http://www.w3.org/1999/xhtml' style='background-image: conic-gradient(from 90deg, rgb(255, 255, 255) -12.009%, rgb(255, 255, 255) 0.36188%, rgb(255, 220, 220) 4.4948%, rgb(255, 185, 185) 8.6277%, rgb(255, 220, 220) 48.31%, rgb(255, 255, 255) 87.991%, rgb(255, 255, 255) 100.36%); opacity:1; height: 100%; width: 100%;'></div></foreignObject></g></svg>");
	order: 1;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 76px;
	width: 343px;
	height: 153px;
	padding: 0;
	background: transparent;
}
.directions__aside::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: var(--directions-aside-hover-bg);
	opacity: 0;
	transition: opacity 0.2s ease;
}
.directions__aside:hover::before,
.directions__aside:focus-within::before {
	opacity: 1;
}
.directions__aside-text {
	position: relative;
	z-index: 1;
	width: 322px;
	font-size: 11px;
	line-height: 18px;
	color: rgba(24, 29, 44, 0.5);
}
.dir-search {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	width: 343px;
	height: 41px;
	padding: 0 0 12px;
	border-bottom: 1px solid var(--c-line);
}
.dir-search__input {
	flex: 1;
	min-width: 0;
	height: 20px;
	padding: 0;
	border: none;
	background: none;
	outline: none;
	font-size: 13px;
	line-height: 20px;
	color: var(--c-ink);
}
.dir-search__input::placeholder { color: var(--c-ink); opacity: 1; }
.dir-search__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 29px;
	height: 29px;
	color: var(--c-ink);
}
.dir-search__btn svg {
	width: 29px;
	height: 29px;
}
.directions__cards {
	order: 2;
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	width: 343px;
}
.dir-card {
	--dir-hover-bg:
		none;
	--dir-img-left: -5.752%;
	--dir-img-top: 45.455%;
	--dir-img-width: 98.673%;
	--dir-img-height: 108.788%;
	--dir-img-transform: none;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: block;
	width: 343px;
	height: 250.42px;
	color: var(--c-ink);
	background: var(--c-bg-soft);
	transition: color 0.2s ease;
}
.dir-card--trauma {
	--dir-hover-bg:
		url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 452 330' preserveAspectRatio='none'><g transform='matrix(52.9 -14 10.224 38.633 0.000028219 330)'><foreignObject x='-100.78' y='-100.78' width='201.56' height='201.56'><div xmlns='http://www.w3.org/1999/xhtml' style='background-image: conic-gradient(from 90deg, rgb(48, 56, 72) -12.009%, rgb(48, 56, 72) 0.36188%, rgb(94, 67, 79) 2.4283%, rgb(141, 79, 87) 4.4948%, rgb(187, 90, 94) 6.5612%, rgb(233, 101, 101) 8.6277%, rgb(187, 90, 94) 28.469%, rgb(141, 79, 87) 48.31%, rgb(94, 67, 79) 68.15%, rgb(48, 56, 72) 87.991%, rgb(48, 56, 72) 100.36%); opacity:1; height: 100%; width: 100%;'></div></foreignObject></g></svg>"),
		linear-gradient(90deg, rgb(244, 246, 248) 0%, rgb(244, 246, 248) 100%);
	background:
		url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 452 330' preserveAspectRatio='none'><g transform='matrix(52.9 -14 10.224 38.633 0.000028219 330)'><foreignObject x='-100.78' y='-100.78' width='201.56' height='201.56'><div xmlns='http://www.w3.org/1999/xhtml' style='background-image: conic-gradient(from 90deg, rgb(244, 246, 248) -12.009%, rgb(244, 246, 248) 0.36188%, rgb(255, 185, 185) 8.6277%, rgb(244, 246, 248) 87.991%, rgb(244, 246, 248) 100.36%); opacity:1; height: 100%; width: 100%;'></div></foreignObject></g></svg>"),
		linear-gradient(90deg, rgb(244, 246, 248) 0%, rgb(244, 246, 248) 100%);
}
.dir-card--ortho {
	--dir-hover-bg:
		url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 452 330' preserveAspectRatio='none'><g transform='matrix(52.9 -14 10.224 38.633 0.000028219 330)'><foreignObject x='-100.78' y='-100.78' width='201.56' height='201.56'><div xmlns='http://www.w3.org/1999/xhtml' style='background-image: conic-gradient(from 90deg, rgb(48, 56, 72) -12.009%, rgb(48, 56, 72) 0.36188%, rgb(94, 67, 79) 2.4283%, rgb(141, 79, 87) 4.4948%, rgb(187, 90, 94) 6.5612%, rgb(233, 101, 101) 8.6277%, rgb(187, 90, 94) 28.469%, rgb(141, 79, 87) 48.31%, rgb(94, 67, 79) 68.15%, rgb(48, 56, 72) 87.991%, rgb(48, 56, 72) 100.36%); opacity:1; height: 100%; width: 100%;'></div></foreignObject></g></svg>"),
		linear-gradient(90deg, rgb(244, 246, 248) 0%, rgb(244, 246, 248) 100%);
	--dir-img-left: 32.08%;
	--dir-img-top: 42.121%;
	--dir-img-width: 53.927%;
	--dir-img-height: 106.97%;
	background:
		url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 452 330' preserveAspectRatio='none'><g transform='matrix(1.2 -35.6 25.999 0.87637 465 330)'><foreignObject x='-159.64' y='-159.64' width='319.28' height='319.28'><div xmlns='http://www.w3.org/1999/xhtml' style='background-image: conic-gradient(from 90deg, rgb(244, 246, 248) -8.9665%, rgb(255, 185, 185) 8.6277%, rgb(244, 246, 248) 74.608%, rgb(244, 246, 248) 91.034%, rgb(255, 185, 185) 108.63%); opacity:1; height: 100%; width: 100%;'></div></foreignObject></g></svg>"),
		linear-gradient(90deg, rgb(244, 246, 248) 0%, rgb(244, 246, 248) 100%);
}
.dir-card--surgery {
	--dir-hover-bg:
		url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 452 330' preserveAspectRatio='none'><g transform='matrix(8.4 61.4 -44.841 6.1345 0 0)'><foreignObject x='-98.949' y='-98.949' width='197.9' height='197.9'><div xmlns='http://www.w3.org/1999/xhtml' style='background-image: conic-gradient(from 90deg, rgb(48, 56, 72) -4.5746%, rgba(141, 79, 87, 0.67) 3.5508%, rgba(187, 90, 94, 0.505) 7.6135%, rgba(233, 101, 101, 0.34) 11.676%, rgba(187, 90, 94, 0.505) 13.016%, rgba(141, 79, 87, 0.67) 14.355%, rgb(48, 56, 72) 17.034%, rgb(48, 56, 72) 95.425%, rgba(141, 79, 87, 0.67) 103.55%, rgba(187, 90, 94, 0.505) 107.61%, rgba(233, 101, 101, 0.34) 111.68%); opacity:1; height: 100%; width: 100%;'></div></foreignObject></g></svg>"),
		linear-gradient(90deg, rgb(48, 56, 72) 0%, rgb(48, 56, 72) 100%);
	--dir-img-left: 11.283%;
	--dir-img-top: 27.879%;
	--dir-img-width: 91.319%;
	--dir-img-height: 125.079%;
	--dir-img-transform: rotate(-3.48deg);
	background:
		url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 452 330' preserveAspectRatio='none'><g transform='matrix(16.6 67 -48.93 12.123 0 0)'><foreignObject x='-87.034' y='-87.034' width='174.07' height='174.07'><div xmlns='http://www.w3.org/1999/xhtml' style='background-image: conic-gradient(from 90deg, rgb(244, 246, 248) -4.5746%, rgb(255, 185, 185) 11.676%, rgb(244, 246, 248) 17.034%, rgb(244, 246, 248) 95.425%, rgb(255, 185, 185) 111.68%); opacity:1; height: 100%; width: 100%;'></div></foreignObject></g></svg>"),
		linear-gradient(90deg, rgb(244, 246, 248) 0%, rgb(244, 246, 248) 100%);
}
.dir-card--sport {
	--dir-hover-bg:
		url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 452 330' preserveAspectRatio='none'><g transform='matrix(-5.4 -48.2 35.201 -3.9436 245 330)'><foreignObject x='-120.98' y='-120.98' width='241.96' height='241.96'><div xmlns='http://www.w3.org/1999/xhtml' style='background-image: conic-gradient(from 90deg, rgb(48, 56, 72) -12.009%, rgb(48, 56, 72) 15.053%, rgb(94, 67, 79) 16.911%, rgb(141, 79, 87) 18.77%, rgb(187, 90, 94) 20.628%, rgb(233, 101, 101) 22.486%, rgb(187, 90, 94) 38.863%, rgb(141, 79, 87) 55.239%, rgb(94, 67, 79) 71.615%, rgb(48, 56, 72) 87.991%, rgb(48, 56, 72) 115.05%); opacity:1; height: 100%; width: 100%;'></div></foreignObject></g></svg>"),
		linear-gradient(90deg, rgb(244, 246, 248) 0%, rgb(244, 246, 248) 100%);
	--dir-img-left: 5.31%;
	--dir-img-top: 37.576%;
	--dir-img-width: 94.69%;
	--dir-img-height: 86.667%;
	background:
		url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 452 330' preserveAspectRatio='none'><g transform='matrix(-5.4 -48.2 35.201 -3.9436 245 330)'><foreignObject x='-120.98' y='-120.98' width='241.96' height='241.96'><div xmlns='http://www.w3.org/1999/xhtml' style='background-image: conic-gradient(from 90deg, rgb(244, 246, 248) -12.009%, rgb(244, 246, 248) 15.053%, rgb(255, 185, 185) 22.486%, rgb(244, 246, 248) 87.991%, rgb(244, 246, 248) 115.05%); opacity:1; height: 100%; width: 100%;'></div></foreignObject></g></svg>"),
		linear-gradient(90deg, rgb(244, 246, 248) 0%, rgb(244, 246, 248) 100%);
}
.dir-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: var(--dir-hover-bg);
	opacity: 0;
	transition: opacity 0.2s ease;
}
.dir-card:hover::before,
.dir-card:focus-visible::before {
	opacity: 1;
}
.dir-card__body {
	position: absolute;
	z-index: 2;
	left: 21px;
	top: 22px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	width: 280px;
}
.dir-card__title {
	font-size: 20px;
	line-height: 28px;
	font-weight: var(--fw-semibold);
	color: var(--c-ink);
	transition: color 0.2s ease;
}
.dir-card__text {
	max-width: 280px;
	font-size: 13px;
	line-height: 20px;
	color: var(--c-ink);
	transition: color 0.2s ease;
}
.dir-card:hover .dir-card__title,
.dir-card:hover .dir-card__text,
.dir-card:focus-visible .dir-card__title,
.dir-card:focus-visible .dir-card__text {
	color: #fff;
}
.dir-card__img {
	position: absolute;
	z-index: 1;
	left: var(--dir-img-left);
	top: var(--dir-img-top);
	width: var(--dir-img-width);
	max-width: none;
	height: var(--dir-img-height);
	object-fit: contain;
	object-position: bottom left;
	pointer-events: none;
	transform: var(--dir-img-transform);
	transform-origin: 50% 50%;
	transition:
		opacity 0.2s ease,
		transform 0.2s ease;
}
.directions__cta {
	order: 3;
	display: flex;
	flex-direction: column;
	gap: 28px;
	width: 343px;
}
.directions__cta-text {
	width: 325px;
	font-size: 14px;
	line-height: 20px;
	color: var(--c-ink);
}
.directions__cta-button {
	width: 343px;
	height: 60px;
	padding-block: 0;
	font-size: 14px;
}

@media (min-width: 768px) {
	.hero {
		min-height: 751px;
	}
	.hero__bg {
		object-position: 25% center;
	}
	.company {
		padding-block: 80px 0;
	}
	.company > .container,
	.directions > .container {
		padding-inline: 40px;
	}
	.company__title {
		width: 688px;
		font-size: 40px;
		line-height: 50px;
	}
	.stats {
		flex-direction: row;
		gap: 74px;
		width: 688px;
		margin-top: 48px;
	}
	.stat {
		gap: 21px;
	}
	.stat:first-child { width: 198px; }
	.stat:last-child { width: 342px; }
	.stat__num {
		--odometer-line-height: 65px;
		--odometer-row-height: 65px;

		font-size: 65px;
		line-height: 65px;
	}
	.company__bottom {
		width: 809px;
		margin-top: 64px;
	}
	.company__text {
		width: 692px;
		font-size: 16px;
		line-height: 24px;
	}
	.company__left .btn {
		width: 333px;
		font-size: 13px;
	}
	.partners {
		gap: 11.664px;
		width: calc(100vw - 40px);
		height: 68px;
	}

	.directions {
		padding-block: 120px 120px;
	}
	.directions__title {
		width: 692px;
		font-size: 40px;
		line-height: 50px;
	}
	.directions__layout {
		gap: 32px;
		width: 688px;
		margin-top: 32px;
	}
	.directions__aside {
		width: 342px;
		height: 157px;
		margin-left: 6px;
	}
	.directions__aside-text {
		font-size: 13px;
		line-height: 20px;
	}
	.dir-search {
		width: 342px;
	}
	.dir-search__input {
		font-size: 16px;
		line-height: 26px;
	}
	.directions__cards {
		grid-template-columns: repeat(2, 336px);
		gap: 16px;
		width: 688px;
	}
	.dir-card {
		width: 336px;
		height: 245px;
	}
	.dir-card__body {
		left: 21px;
		top: 22px;
		gap: 6px;
		width: 274px;
	}
	.dir-card__img {
		left: var(--dir-img-left);
		top: var(--dir-img-top);
		width: var(--dir-img-width);
		height: var(--dir-img-height);
	}
	.directions__cta {
		align-self: flex-end;
		width: 335px;
	}
	.directions__cta-text {
		font-size: 13px;
	}
	.directions__cta-button {
		width: 335px;
		font-size: 13px;
	}
}

@media (min-width: 1200px) {
	.hero {
		min-height: clamp(600px, 51vw, 820px);
	}
	.hero__bg {
		object-position: center center;
	}
	.company {
		padding-block: 60px 0;
	}
	.company > .container,
	.directions > .container {
		max-width: 1470px;
		padding-inline: 32px;
	}
	.company__title {
		width: 1405px;
		font-size: 55px;
		line-height: 65px;
	}
	.stats {
		gap: 276px;
		width: 1101px;
		margin-top: 60px;
		margin-left: 116px;
	}
	.stat:first-child { width: 322px; }
	.stat:last-child { width: 503px; }
	.stat__num {
		--odometer-line-height: 65px;
		--odometer-row-height: 65px;

		font-size: 110px;
		line-height: 65px;
	}
	.stat__label {
		font-size: 22px;
		line-height: 26px;
	}
	.company__bottom {
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		justify-content: space-between;
		gap: 24px;
		width: 1403px;
		margin-top: 120px;
		margin-left: 2px;
	}
	.company__left {
		display: flex;
		flex-direction: column;
		gap: 32px;
		width: 570px;
	}
	.company__text {
		width: 570px;
		font-size: 22px;
		line-height: 36px;
	}
	.company__left .btn {
		width: 333px;
		font-size: 16px;
	}
	.partners {
		width: 809px;
		overflow: visible;
	}

	.directions {
		padding-block: 120px 160px;
	}
	.directions__title {
		width: 1176px;
		font-size: 55px;
		line-height: 65px;
	}
	.directions__layout {
		position: relative;
		display: block;
		width: 1406px;
		height: 682px;
		margin-top: 13px;
	}
	.directions__aside {
		position: absolute;
		left: 2px;
		top: 5px;
		width: 452px;
		height: 330px;
		margin-left: 0;
		padding: 153px 22px 0 21px;
		background: var(--c-white);
	}
	.directions__aside-text {
		width: 322px;
		font-size: 13px;
		line-height: 20px;
	}
	.dir-search {
		width: 409px;
	}
	.directions__cards {
		display: contents;
	}
	.dir-card {
		position: absolute;
		width: 452px;
		height: 330px;
	}
	.dir-card:nth-child(1) {
		left: 477px;
		top: 0;
	}
	.dir-card:nth-child(2) {
		left: 953px;
		top: 0;
	}
	.dir-card:nth-child(3) {
		left: 0;
		top: 352px;
	}
	.dir-card:nth-child(4) {
		left: 477px;
		top: 352px;
	}
	.dir-card__body {
		left: 28px;
		top: 29px;
		gap: 8px;
		width: 369px;
	}
	.dir-card__title {
		font-size: 30px;
		line-height: 40px;
	}
	.dir-card__text {
		max-width: 369px;
		font-size: 16px;
		line-height: 26px;
	}
	.dir-card__img {
		left: var(--dir-img-left);
		top: var(--dir-img-top);
		width: var(--dir-img-width);
		height: var(--dir-img-height);
	}
	.directions__cta {
		position: absolute;
		left: 951px;
		top: 542px;
		width: 454px;
	}
	.directions__cta-text {
		font-size: 16px;
		line-height: 26px;
	}
	.directions__cta-button {
		width: 454px;
		font-size: 16px;
	}
}

/* ---------- Обучение ---------- */
.training {
	position: relative;
}
.training__hero {
	position: relative;
	overflow: hidden;
}
.training__band {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 288px;
	background:
		radial-gradient(75% 130% at 0% 100%, rgba(233, 101, 101, 0.6), rgba(48, 56, 72, 0) 52%),
		#303848;
}
.training__hero-inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1fr;
	align-items: start;
	max-width: 375px;
	padding: 55px 16px 0;
}
.training__intro {
	display: contents;
}
.training__title {
	order: 1;
	width: 343px;
	font-size: 26px;
	line-height: 34px;
	font-weight: var(--fw-semibold);
	color: var(--c-white);
}
.training__lead {
	order: 3;
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 343px;
	max-width: 343px;
	margin-top: 32px;
}
.training__lead-text {
	width: 325px;
	font-size: 14px;
	line-height: 20px;
	color: var(--c-ink);
}
.training__lead .btn {
	align-self: flex-start;
	width: 343px;
	height: 60px;
	padding-block: 0;
	font-size: 14px;
}

.training__panel {
	order: 2;
	width: 343px;
	margin-top: 32px;
	overflow: hidden;
}
.training__panel-img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 684 / 479;
	object-fit: cover;
}
.training__accordion-wrap {
	max-width: 375px;
	padding: 80px 16px 0;
}

@media (max-width: 767px) {
	.training {
		margin-top: 84px;
	}
}

.accordion {
	--accordion-indent: 59px;
	--accordion-title-w: 284px;
	--accordion-title-size: 22px;
	--accordion-title-lh: 28px;
	--accordion-body-size: 14px;
	--accordion-body-lh: 20px;
	--accordion-pad-top: 22px;
	--accordion-pad-bottom: 23px;
	--accordion-panel-gap: 18px;

	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	align-items: start;
	width: 100%;
}
.accordion__media {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 416px;
	min-height: 0;
}
.accordion__media-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transform: scale(1.035);
	transition:
		opacity 0.45s ease,
		transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}
.accordion__media-img.is-active {
	z-index: 1;
	opacity: 1;
	transform: scale(1);
}
.accordion__list {
	display: flex;
	flex-direction: column;
	width: 100%;
}
.accordion__item {
	position: relative;
	border-top: 1px solid var(--c-line);
	transition: padding 0.45s cubic-bezier(0.19, 1, 0.22, 1);
}
.accordion__item:last-child { box-shadow: inset 0 -1px 0 var(--c-line); }
.accordion__head {
	display: grid;
	grid-template-columns: 17px minmax(0, 1fr);
	column-gap: calc(var(--accordion-indent) - 17px);
	align-items: start;
	width: 100%;
	max-width: calc(var(--accordion-indent) + var(--accordion-title-w));
	padding: var(--accordion-pad-top) 0 var(--accordion-pad-bottom);
	text-align: left;
	transition: padding 0.45s cubic-bezier(0.19, 1, 0.22, 1);
}
.accordion__num {
	flex: none;
	width: 17px;
	font-size: 13px;
	line-height: 26px;
	font-weight: var(--fw-semibold);
	color: var(--c-primary);
}
.accordion__title {
	display: block;
	max-width: var(--accordion-title-w);
	font-size: var(--accordion-title-size);
	line-height: var(--accordion-title-lh);
	font-weight: var(--fw-semibold);
	color: var(--c-ink);
}
.accordion__panel {
	display: grid;
	grid-template-rows: 0fr;
	width: calc(100% - var(--accordion-indent));
	max-width: var(--accordion-title-w);
	margin-top: 0;
	margin-left: var(--accordion-indent);
	font-size: var(--accordion-body-size);
	line-height: var(--accordion-body-lh);
	color: var(--c-ink);
	opacity: 0;
	transform: translateY(-8px);
	pointer-events: none;
	transition:
		grid-template-rows 0.45s cubic-bezier(0.19, 1, 0.22, 1),
		margin-top 0.45s cubic-bezier(0.19, 1, 0.22, 1),
		opacity 0.3s ease,
		transform 0.45s cubic-bezier(0.19, 1, 0.22, 1);
}
.accordion__panel-inner {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-height: 0;
	overflow: hidden;
}
.accordion__item.is-open {
	padding: var(--accordion-pad-top) 0 var(--accordion-pad-bottom);
}
.accordion__item.is-open .accordion__head {
	display: block;
	max-width: 100%;
	padding: 0;
}
.accordion__item.is-open .accordion__num {
	position: absolute;
	left: 0;
	bottom: var(--accordion-pad-bottom);
}
.accordion__item.is-open .accordion__title {
	width: calc(100% - var(--accordion-indent));
	margin-left: var(--accordion-indent);
}
.accordion__item.is-open .accordion__panel {
	grid-template-rows: 1fr;
	margin-top: var(--accordion-panel-gap);
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

@media (min-width: 768px) {
	.training__band {
		height: 396px;
	}
	.training__hero-inner {
		max-width: 768px;
		padding: 52px 40px 0;
	}
	.training__title {
		width: 691px;
		max-width: 100%;
		font-size: 40px;
		line-height: 50px;
	}
	.training__panel {
		width: 100%;
		max-width: 691px;
		margin-top: 32px;
	}
	.training__lead {
		width: 334px;
		max-width: 334px;
		margin-top: 32px;
	}
	.training__lead .btn {
		width: 334px;
	}
	.training__accordion-wrap {
		max-width: 768px;
		padding: 120px 42px 0 40px;
	}
	.accordion {
		--accordion-title-w: 336px;

		grid-template-columns: 275px minmax(0, 395px);
		gap: 16px;
		min-height: 476px;
	}
	.accordion__media {
		height: 333px;
	}
}

@media (min-width: 1200px) {
	.training__hero-inner {
		grid-template-columns: 691px 684px;
		gap: 30px;
		max-width: 1470px;
		padding: 118px 32px 0;
	}
	.training__intro {
		display: flex;
		flex-direction: column;
		width: 691px;
		min-height: 479px;
	}
	.training__title {
		width: 691px;
		font-size: 55px;
		line-height: 65px;
	}
	.training__lead {
		width: 334px;
		max-width: 334px;
		margin-top: 148px;
	}
	.training__lead-text {
		font-size: 16px;
		line-height: 26px;
	}
	.training__lead .btn {
		width: 334px;
		font-size: 16px;
	}
	.training__panel {
		width: 684px;
		height: 479px;
		margin-top: 0;
	}
	.training__panel-img {
		height: 100%;
	}
	.training__accordion-wrap {
		max-width: 1470px;
		padding: 160px 30px 0 32px;
	}
	.accordion {
		--accordion-indent: 123px;
		--accordion-title-w: 576px;
		--accordion-title-size: 30px;
		--accordion-title-lh: 40px;
		--accordion-body-size: 16px;
		--accordion-body-lh: 26px;
		--accordion-pad-top: 26px;
		--accordion-pad-bottom: 27px;

		grid-template-columns: minmax(360px, 447px) minmax(0, 929px);
		gap: 32px;
		min-height: 548px;
	}
	.accordion__media {
		height: 548px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.site-header--overlay .site-header__inner,
	.hero__bg,
	.hero__overlay,
	.hero__subtitle,
	.hero__note,
	.home-title-line > span,
	.home-reveal,
	.home-parallax,
	.odometer__reel,
	.accordion__media-img,
	.accordion__item,
	.accordion__head,
	.accordion__panel,
	.news-card__media img {
		opacity: 1;
		clip-path: none;
		transform: none;
		animation: none;
		transition-duration: 0.01ms;
	}
}

/* ---------- Новости ---------- */
.news {
	overflow: hidden;
	padding-block: 96px 108px;
	background: var(--c-white);
}
.news__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	max-width: 375px;
	padding-inline: 16px 0;
}
.news__title {
	width: 343px;
	font-size: 34px;
	line-height: 1;
	font-weight: var(--fw-semibold);
	color: var(--c-ink);
}
.news__title br { display: none; }
.news__button {
	order: 3;
	width: 343px;
	height: 60px;
	padding-block: 0;
	margin-top: 32px;
}
.news__viewport {
	order: 2;
	width: calc(100vw - 16px);
	margin-top: 32px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.news__viewport::-webkit-scrollbar { display: none; }
.news__track {
	display: flex;
	align-items: stretch;
	gap: 10px;
	width: max-content;
}
.news-card {
	position: relative;
	flex: 0 0 314px;
	display: flex;
	flex-direction: column;
	width: 314px;
	height: 286px;
	scroll-snap-align: start;
	overflow: hidden;
	background-color: var(--c-bg-soft);
	background-image:
		radial-gradient(120% 85% at 82% 100%, rgba(255, 185, 185, 0.72) 0%, rgba(255, 185, 185, 0.22) 33%, rgba(244, 246, 248, 0) 72%),
		linear-gradient(90deg, var(--c-bg-soft), var(--c-bg-soft));
}
.news-card__media {
	position: relative;
	height: 139px;
	overflow: hidden;
	background: var(--c-bg-soft);
}
.news-card__media img {
	position: absolute;
	top: -23px;
	left: 50%;
	width: 364px;
	max-width: none;
	height: 204px;
	object-fit: cover;
	transform: translateX(-50%);
	transition:
		top 260ms ease,
		width 260ms ease,
		height 260ms ease;
}
.news-card__arrow {
	position: absolute;
	z-index: 1;
	top: 11px;
	right: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	color: var(--c-primary);
	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}
.news-card:hover .news-card__arrow,
.news-card:focus-visible .news-card__arrow {
	background: var(--c-primary);
	color: var(--c-white);
}
.news-card__arrow svg { width: 28px; height: 28px; }
.news-card__body {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 14px 20px 0;
}
.news-card__date {
	font-size: 13px;
	line-height: 18px;
	color: var(--c-muted);
}
.news-card__title {
	font-size: 22px;
	line-height: 28px;
	font-weight: var(--fw-semibold);
	color: var(--c-ink);
	transition: color 0.2s ease;
}
.news-card:hover .news-card__title,
.news-card:focus-visible .news-card__title {
	color: #7e4048;
}
.news__progress,
.news__controls { display: none; }

@media (min-width: 768px) {
	.news {
		padding-block: 76px 120px;
	}
	.news__inner {
		max-width: 768px;
		padding-inline: 40px 0;
	}
	.news__title {
		width: 692px;
		font-size: 46px;
		line-height: 50px;
		white-space: nowrap;
	}
	.news__button {
		width: 336px;
		margin-top: 32px;
	}
	.news__viewport {
		width: calc(100vw - 40px);
		margin-top: 32px;
	}
	.news__track {
		gap: 16px;
	}
	.news-card {
		flex-basis: 334px;
		width: 334px;
		height: 305px;
	}
	.news-card__media {
		height: 148px;
	}
	.news-card__media img {
		top: -23px;
		width: 363px;
		height: 204px;
	}
	.news-card__arrow {
		top: 12px;
		right: 8px;
		width: 30px;
		height: 30px;
	}
	.news-card__arrow svg { width: 30px; height: 30px; }
	.news-card__body {
		gap: 12px;
		padding: 14px 20px 0;
	}
	.news-card__title {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}
}

@media (min-width: 1200px) {
	.news {
		padding-block: 160px 54px;
	}
	.news__inner {
		display: block;
		max-width: 1470px;
		height: 526px;
		padding-inline: 0;
	}
	.news__title {
		position: absolute;
		left: 32px;
		top: 0;
		width: 442px;
		font-size: 55px;
		line-height: 65px;
		white-space: normal;
	}
	.news__title br { display: block; }
	.news__button {
		position: absolute;
		left: 32px;
		top: 352px;
		width: 333px;
		margin: 0;
	}
	.news__viewport {
		position: absolute;
		left: 390px;
		top: 0;
		width: calc(50vw + 350px);
		margin: 0;
	}
	.news__track {
		gap: 24px;
		transition: transform 320ms ease;
	}
	.news-card {
		flex-basis: 453px;
		width: 453px;
		height: 413px;
	}
	.news-card__media {
		height: 200px;
	}
	.news-card__media img {
		top: -31px;
		width: 480px;
		height: 269px;
	}
	.news-card:hover .news-card__media img,
	.news-card:focus-visible .news-card__media img {
		top: -47px;
		width: 538px;
		height: 301px;
	}
	.news-card__arrow {
		top: 14px;
		right: 11px;
		width: 38px;
		height: 38px;
	}
	.news-card__arrow svg { width: 38px; height: 38px; }
	.news-card__body {
		gap: 16px;
		padding: 28px 32px 0 35px;
	}
	.news-card__date {
		line-height: 22px;
	}
	.news-card__title {
		font-size: 30px;
		line-height: 40px;
	}
	.news__progress {
		position: absolute;
		left: 32px;
		top: 486px;
		display: grid;
		grid-template-columns: 10px 64px 10px;
		column-gap: 22px;
		align-items: center;
		width: 128px;
		height: 26px;
		font-size: 16px;
		line-height: 26px;
		color: var(--c-ink);
	}
	.news__progress-line {
		position: relative;
		display: block;
		height: 1px;
		background: rgba(145, 165, 186, 0.35);
		overflow: hidden;
	}
	.news__progress-line span {
		position: absolute;
		inset: 0;
		background: var(--c-ink);
		transform: scaleX(0.2);
		transform-origin: left center;
		transition: transform 260ms ease;
	}
	.news__progress-total {
		color: rgba(145, 165, 186, 0.5);
	}
	.news__controls {
		position: absolute;
		left: 1311px;
		top: 473px;
		display: flex;
		align-items: center;
		width: 118px;
		height: 53px;
	}
	.news__control {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 53px;
		height: 53px;
		color: var(--c-ink);
		transition:
			background-color 0.2s ease,
			color 0.2s ease,
			opacity 0.2s ease;
	}
	.news__control + .news__control {
		margin-left: 12px;
	}
	.news__control[disabled] {
		opacity: 0.35;
		cursor: default;
	}
}

/* ---------- CTA ---------- */
.cta {
	position: relative;
	overflow: hidden;
	background: #303848;
	color: var(--c-white);
}
.cta__bg {
	position: absolute;
	top: auto;
	right: auto;
	bottom: 0;
	left: 50%;
	width: max(1478px, 100vw);
	height: 684px;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: 0 0;
	transform: translateX(-50%) scaleX(-1);
	transform-origin: center bottom;
}
.cta__bg::after {
	content: '';
	position: absolute;
	right: auto;
	bottom: 0;
	left: 4px;
	width: calc(100% - 8px);
	height: 532px;
	background: url('../images/fig/cta-gradient.svg') center / 100% 100% no-repeat;
	pointer-events: none;
}
.cta__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: clamp(32px, 5vw, 80px);
	padding-block: clamp(56px, 8vw, 110px);
}
.cta__title {
	max-width: 632px;
	font-size: clamp(2rem, 1.17rem + 2.47vw, 3.4375rem);
	line-height: 1.18;
	font-weight: var(--fw-semibold);
	color: var(--c-white);
}
.cta__aside { display: flex; flex-direction: column; gap: 36px; max-width: 453px; }
.cta__text { font-size: var(--fs-body); line-height: 1.625; color: var(--c-white); }

@media (max-width: 767px) {
	.cta {
		height: 532px;
	}
	.cta__bg {
		width: 1478px;
		left: -4px;
		transform: scaleX(-1);
		transform-origin: center bottom;
	}
	.cta__bg::after {
		width: 1470px;
	}
	.cta__inner {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: space-between;
		width: 100%;
		height: 532px;
		max-width: none;
		gap: 0;
		padding: 38px 17px 38px 21px;
	}
	.cta__title {
		width: 337px;
		max-width: 100%;
		font-size: 26px;
		line-height: 34px;
	}
	.cta__aside {
		width: 337px;
		max-width: 100%;
		gap: 32px;
	}
	.cta__text {
		font-size: 13px;
		line-height: 20px;
	}
	.cta__aside .btn {
		width: 100%;
		height: 60px;
		padding: 0 30px;
		font-size: 13px;
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.cta {
		height: 532px;
	}
	.cta__bg {
		width: 1478px;
	}
	.cta__bg::after {
		width: 1470px;
	}
	.cta__inner {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: space-between;
		width: 100%;
		max-width: 768px;
		height: 532px;
		gap: 0;
		padding: 42px;
	}
	.cta__title {
		width: 632px;
		max-width: 100%;
		font-size: 40px;
		line-height: 50px;
	}
	.cta__aside {
		width: 343px;
		max-width: none;
		gap: 36px;
	}
	.cta__text {
		font-size: 13px;
		line-height: 20px;
	}
	.cta__aside .btn {
		width: 343px;
		height: 60px;
		padding: 0 30px;
		font-size: 13px;
	}
}

@media (min-width: 1200px) {
	.cta {
		height: 532px;
	}
	.cta__inner {
		position: relative;
		display: block;
		max-width: 1470px;
		height: 532px;
		padding: 0;
	}
	.cta__title {
		position: absolute;
		left: 32px;
		top: 131px;
		width: 632px;
		max-width: none;
		font-size: 55px;
		line-height: 65px;
	}
	.cta__aside {
		position: absolute;
		left: 985px;
		top: 217px;
		width: 453px;
		max-width: none;
		gap: 36px;
	}
	.cta__aside .btn {
		width: 453px;
		height: 60px;
		padding-block: 0;
	}
}

/* ---------- Consultation modal ---------- */
.consultation-modal {
	position: fixed;
	inset: 0;
	z-index: 1400;
	display: flex;
	padding: 38px 24px;
	color: var(--c-ink);
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	overflow: auto;
	transition:
		opacity 220ms ease,
		visibility 0s linear 220ms;
}
.consultation-modal.is-open,
.consultation-modal.is-closing {
	visibility: visible;
}
.consultation-modal.is-open {
	opacity: 1;
	pointer-events: auto;
	transition-delay: 0s;
}
.consultation-modal__backdrop {
	position: fixed;
	inset: 0;
	background: rgba(24, 29, 44, 0.58);
}
.consultation-modal__dialog {
	position: relative;
	width: min(534px, calc(100vw - 48px));
	min-height: 850px;
	margin: auto;
	padding: 48px 31px 52px;
	background: var(--c-white);
	border: 1px solid #ececee;
	box-shadow: 0 0 13.5px rgba(145, 165, 186, 0.4);
	opacity: 0;
	transform: translateY(16px);
	transition:
		width 180ms ease,
		min-height 180ms ease,
		padding 180ms ease,
		opacity 260ms ease,
		transform 260ms ease;
}
.consultation-modal__dialog:focus {
	outline: none;
}
.consultation-modal.is-open .consultation-modal__dialog {
	opacity: 1;
	transform: translateY(0);
}
.consultation-modal.is-closing .consultation-modal__dialog {
	opacity: 0;
	transform: translateY(16px);
}
.consultation-modal__dialog[data-state="success"] {
	width: min(458px, calc(100vw - 32px));
	min-height: 280px;
	padding: 78px 54px 40px;
}
.consultation-modal__dialog[data-state="fail"] {
	width: min(458px, calc(100vw - 32px));
	min-height: 260px;
	padding: 54px 54px 40px;
}
.consultation-modal__close {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
	width: 50px;
	height: 50px;
	color: var(--c-primary);
}
.consultation-modal__close::before,
.consultation-modal__close::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 33px;
	height: 2px;
	background: currentColor;
	transform-origin: center;
}
.consultation-modal__close::before { transform: translate(-50%, -50%) rotate(45deg); }
.consultation-modal__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.consultation-modal__view {
	display: none;
}
.consultation-modal__view.is-active {
	display: block;
}
.consultation-modal__intro {
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-width: 459px;
}
.consultation-modal__title {
	width: 331px;
	max-width: 100%;
	color: var(--c-ink);
	font-size: 30px;
	line-height: 40px;
	font-weight: var(--fw-semibold);
}
.consultation-modal__text {
	margin: 0;
	color: var(--c-ink);
	font-size: 16px;
	line-height: 26px;
}
.consultation-modal__fields {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-top: 37px;
}
.consultation-modal__input,
.consultation-modal__textarea {
	width: 100%;
	color: var(--c-ink);
	background: var(--c-white);
	border: 1px solid var(--c-line);
	border-radius: 0;
	font: inherit;
	font-size: 16px;
	line-height: 26px;
}
.consultation-modal__input {
	height: 60px;
	padding: 16px 23px;
}
.consultation-modal__textarea {
	height: 121px;
	padding: 17px 23px;
	resize: none;
}
.consultation-modal__input::placeholder,
.consultation-modal__textarea::placeholder {
	color: var(--c-ink);
	opacity: 1;
}
.consultation-modal__input:focus,
.consultation-modal__textarea:focus {
	outline: none;
	border-color: var(--c-primary);
}
.consultation-modal__consent {
	display: grid;
	grid-template-columns: 20px 1fr;
	gap: 12px;
	margin-top: 8px;
	color: rgba(24, 29, 44, 0.5);
	font-size: 13px;
	line-height: 20px;
	cursor: pointer;
}
.consultation-modal__consent a {
	color: rgba(24, 29, 44, 0.5);
	text-decoration: underline;
}
.consultation-modal__checkbox {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.consultation-modal__checkbox-ui {
	position: relative;
	width: 20px;
	height: 20px;
	border: 1px solid var(--c-line);
	background: var(--c-white);
}
.consultation-modal__checkbox-ui::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 3px;
	width: 6px;
	height: 11px;
	border: solid var(--c-primary);
	border-width: 0 2px 2px 0;
	opacity: 0;
	transform: rotate(45deg) scale(0.7);
	transform-origin: center;
	transition:
		opacity 0.2s ease,
		transform 0.2s ease;
}
.consultation-modal__checkbox:checked + .consultation-modal__checkbox-ui::after {
	opacity: 1;
	transform: rotate(45deg) scale(1);
}
.consultation-modal__checkbox:focus-visible + .consultation-modal__checkbox-ui {
	outline: 2px solid var(--c-primary);
	outline-offset: 2px;
}
.consultation-modal__submit {
	width: 100%;
	margin-top: 32px;
}
.consultation-modal__result {
	text-align: center;
}
.consultation-modal__view--result.is-active {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
	text-align: center;
}
.consultation-modal__result-title {
	color: var(--c-ink);
	font-size: 30px;
	line-height: 40px;
	font-weight: var(--fw-semibold);
}
.consultation-modal__result-text {
	width: 349px;
	max-width: 100%;
	margin: 0;
	color: var(--c-ink);
	font-size: 16px;
	line-height: 26px;
}

@media (max-width: 575px) {
	.consultation-modal {
		padding: 16px;
	}
	.consultation-modal__dialog,
	.consultation-modal__dialog[data-state="success"],
	.consultation-modal__dialog[data-state="fail"] {
		width: 100%;
		min-height: auto;
		padding: 56px 24px 32px;
	}
	.consultation-modal__title,
	.consultation-modal__result-title {
		font-size: 26px;
		line-height: 34px;
	}
	.consultation-modal__consent br {
		display: none;
	}
}
