@charset "utf-8";
@font-face {
		font-family: 'SF Pro Display';
		src: url('../fonts/SFProDisplay-Medium.woff') format('woff'), url('../fonts/SFProDisplay-Medium.ttf') format('truetype');
		font-weight: 500;
		font-style: normal;
		font-display: swap;
}
@font-face {
		font-family: 'SF Pro Display';
		src: url('../fonts/SFProDisplay-Semibold.woff') format('woff'), url('../fonts/SFProDisplay-Semibold.ttf') format('truetype');
		font-weight: 600;
		font-style: normal;
		font-display: swap;
}
@font-face {
		font-family: 'SF Pro Display';
		src: url('../fonts/SFProDisplay-Bold.woff') format('woff'), url('../fonts/SFProDisplay-Bold.ttf') format('truetype');
		font-weight: bold;
		font-style: normal;
		font-display: swap;
}
@font-face {
		font-family: 'SF Pro Display';
		src: url('../fonts/sf-pro-display-heavy-webfont.woff') format('woff'), url('../fonts/sf-pro-display-heavy-webfont.ttf') format('truetype');
		font-weight: 800;
		font-style: normal;
		font-display: swap;
}
@font-face {
		font-family: 'SF Pro Display';
		src: url('../fonts/SFProDisplay-Black.woff') format('woff'), url('../fonts/SFProDisplay-Black.ttf') format('truetype');
		font-weight: 900;
		font-style: normal;
		font-display: swap;
}
@font-face {
		font-family: 'SF Pro Display';
		src: url('../fonts/sf-pro-display-light-webfont.woff') format('woff'), url('../fonts/sf-pro-display-light-webfont.ttf') format('truetype');
		font-weight: 300;
		font-style: normal;
		font-display: swap;
}
@font-face {
		font-family: 'SF Pro Display';
		src: url('../fonts/SFProDisplay-Regular.woff') format('woff'), url('../fonts/SFProDisplay-Regular.ttf') format('truetype');
		font-weight: normal;
		font-style: normal;
		font-display: swap;
}
:root {
		font-size: 16px;
		--font: "SF Pro Display", -apple-system, "Open Sans", system-ui, "sans-serif";
		--white: #000;
		--dark: #fff;
		--lime: #3e0093;
		--block: #141415;
		--grey: #86868D;
}
@media only screen and (max-width: 440px) {
		:root {
				/*font-size: 4.102564vw;*/
				font-size: calc((100vw - 40px) / 24);
		}
}
html, body {
		height: 100%;
		box-sizing: border-box;
		text-rendering: optimizeLegibility !important;
		-webkit-font-smoothing: antialiased;
}
body {
		margin: 0;
		padding: 0;
		background: var(--dark);
		font: 500 20px/1.5 var(--font);
		color: var(--white);
		-webkit-text-size-adjust: none;
		display: flex;
		flex-direction: column;
}
*, *:before, *:after {
		box-sizing: border-box;
}
form, fieldset {
		margin: 0;
		padding: 0;
		border: 0;
}
input, select, textarea, button {
		font: normal 15px/24px Arial, Helvetica, sans-serif;
		color: #5a5a5a;
		outline: none;
		text-align: left;
}
input[type="text"], input[type="password"], input[type="email"], input[type="color"], input[type="date"], input[type="datetime-local"], input[type="month"], input[type="number"], input[type="range"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="week"], textarea, select {
		-webkit-appearance: none;
		border-radius: 0;
		box-shadow: none;
		border: 1px solid #e0e0e0;
		background: #fff;
		margin: 0;
		padding: 12px 25px 13px 25px;
		width: 100%;
		display: block;
}
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
		opacity: 1;
		color: #9c9c9c;
}
input::-moz-placeholder, textarea::-moz-placeholder {
		opacity: 1;
		color: #9c9c9c;
}
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
		opacity: 1;
		color: #9c9c9c;
}
input:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder {
		opacity: 0.5 !important;
}
input:focus::-moz-placeholder, textarea:focus::-moz-placeholder {
		opacity: 0.5 !important;
}
input:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder {
		opacity: 0.5 !important;
}
input::-ms-clear {
		display: none;
}
button::-moz-focus-inner {
		border: 0;
}
textarea {
		resize: none;
}
video {
		-webkit-mask-image: -webkit-radial-gradient(white, black);
		-webkit-backface-visibility: hidden;
		-moz-backface-visibility: hidden;
}
.outtaHere {
		overflow: hidden;
		max-width: 100vw;
		position: fixed !important;
		transform: scale(0) !important;
}
header, nav, section, article, aside, footer, menu, time, figure, figcaption, main {
		display: block;
}
img, svg, picture {
		border: 0;
		vertical-align: top;
}
a {
		color: var(--white);
		text-decoration: underline;
		outline: none;
		cursor: pointer;
}
@media (pointer:fine) {
		a:hover {
				text-decoration: none;
		}
}
a[href^=tel] {
		color: inherit !important;
		cursor: inherit;
		text-decoration: none !important;
}
strong {
		font-weight: bold;
}
p, ol, ul {
		margin: 1.5em 0;
		padding: 0;
}
ol, ul, li {
		list-style: none;
}
li {
		position: relative;
		margin: 0;
		padding: 0 0 0 1.5em;
}
ul > li:before {
		content: '';
		width: 1.5em;
		text-align: center;
		position: absolute;
		top: 0;
		left: 0;
}
ol {
		counter-reset: li;
}
ol > li:before {
		counter-increment: li;
		content: counters(li, ".") ". ";
		position: relative;
		display: inline-block;
		vertical-align: top;
		min-width: 1.5em;
		margin: 0 0 0 -1.5em;
		padding: 0 0.25em 0 0;
}
.h1, .h2, .h3 {
		font-weight: 800;
		margin: 0 0 10px 0;
}
.h1 {
		font-size: 36px;
		line-height: 1.1;
}
.h2 {
		margin-top: 80px;
		font-size: 30px;
		line-height: 1.1;
}
.h3 {
		font-size: 26px;
		line-height: 1.4;
}
.break-word {
		word-break: break-all;
}
.nowrap {
		white-space: nowrap;
}
.uppercase {
		text-transform: uppercase;
}
.swiper {
		overflow: hidden;
}
.swiper-wrapper, .swiper-slide {
		list-style: none;
		margin: 0;
		padding: 0;
}
.swiper-wrapper {
		display: flex;
}
.swiper-slide {
		flex: 0 0 auto;
}
.swiper-slide:before {
		display: none;
}
.btn {
		flex: 0 0 auto;
		max-width: 100%;
		-webkit-appearance: none;
		cursor: pointer;
		user-select: none;
		text-decoration: none !important;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: left;
		padding: 0 30px;
		height: 50px;
		border-radius: 16px;
		font: bold 16px/1.4 var(--font);
		border: 0;
		outline: none;
		transition-property: color, background, transform !important;
		transition-duration: 0.2s !important;
		transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1) !important;
		transform: scale(1);
		backface-visibility: hidden;
}
.btn-big {
		font-size: 20px;
		height: 70px;
		border-radius: 16px;
}
.btn:before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		border-radius: inherit;
		transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
		backface-visibility: hidden;
		transform: scale(1);
}
.btn-lime {
		background: var(--white);
		color: var(--dark) !important;
}
.btn-grey {
		color: var(--white) !important;
		background-color: rgba(255, 255, 255, 0.1);
}
.btn-white {
		background: var(--white);
		color: var(--dark) !important;
}
.btn-dark {
		background: var(--dark);
		color: var(--white) !important;
}
@media (pointer:fine) {
		/*
	.btn-grey:hover {
				color: var(--lime) !important;
		}
		.btn-white:hover, .btn-dark:hover {
				background: var(--lime);
				color: var(--dark) !important;
		}
	*/
		.btn:hover {
				transform: scale(0.97);
		}
		.btn:hover:before {
				transform: scale(1.032);
		}
}
.mainwrap {
		flex: 0 0 auto;
		width: 100%;
		min-height: 100%;
		position: relative;
		overflow: hidden;
		display: flex;
		flex-direction: column;
}
.content {
		flex: 1 0 auto;
}
.footer-old {
		flex: 0 0 auto;
}
.container {
		flex: 0 0 auto;
		width: 100%;
		margin: 0 auto;
		position: relative;
		padding: 0 20px;
		max-width: 460px;
}
.header-old {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 100;
		height: 70px;
}
.header-old:before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		backface-visibility: hidden;
		backdrop-filter: blur(40px);
		-webkit-backdrop-filter: blur(40px);
		opacity: 0;
		transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
html.scrolled .header-old:before {
		opacity: 1;
}
.header-old .container {
		height: 100%;
		position: relative;
		display: flex;
		align-items: center;
		z-index: 2;
}
.header-old .logo {
		flex: 0 0 auto;
		overflow: hidden;
		text-align: left;
		text-indent: -100vw;
		white-space: nowrap;
		width: 131px;
		height: 40px;
		background: url("../logo.svg") no-repeat 0 50%;
		background-size: contain;
		position: relative;
		z-index: 2;
}
.menu-old a {
		text-decoration: none;
		color: var(--white);
		transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
@media (pointer:fine) {
		.menu-old a:hover {
				color: var(--lime);
		}
}
.menu-old .btn {
		height: 60px;
		font-size: 18px;
}
@media only screen and (max-width: 1023px) {
		.toggle-menu {
				flex: 0 0 auto;
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: center;
				margin: -12px;
				padding: 12px;
				gap: 4px;
				position: relative;
				z-index: 2;
				margin-left: auto;
				cursor: pointer;
				user-select: none;
		}
		.toggle-menu:before, .toggle-menu:after {
				content: '';
		}
		.toggle-menu:before, .toggle-menu:after, .toggle-menu > * {
				flex: 0 0 auto;
				width: 18px;
				height: 2px;
				background: var(--white);
				border-radius: 1px;
				transition-property: transform, opacity;
				transition-duration: 0.2s;
				transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
				transform: translate3d(0, 0, 0) rotate(0deg);
		}
		html.open-menu {
				overflow: hidden;
		}
		.open-menu .toggle-menu:before {
				transform: translate3d(0, 6px, 0) rotate(-135deg);
		}
		.open-menu .toggle-menu:after {
				transform: translate3d(0, -6px, 0) rotate(135deg);
		}
		.open-menu .toggle-menu > * {
				opacity: 0;
		}
		.menu-old {
				position: fixed;
				top: 0;
				left: 100%;
				transform: translate3d(0, 0, 0);
				padding: 0 20px 32px 20px;
				gap: 40px;
				background: var(--dark);
				display: flex;
				flex-direction: column;
				width: 100%;
				height: 100%;
				overflow: hidden;
				overflow-y: auto;
				z-index: 1;
				transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
		}
		.open-menu .menu-old {
				transform: translate3d(-100%, 0, 0);
		}
		.menu-old:before {
				content: '';
				flex: 0 0 auto;
				margin: 0 -20px;
				position: sticky;
				top: 0;
				z-index: 1;
				height: 70px;
				backface-visibility: hidden;
				backdrop-filter: blur(40px);
				-webkit-backdrop-filter: blur(40px);
		}
		.menu-old .btn {
				width: 100%;
		}
		.menu-old .btn + .btn {
				margin-top: -25px;
		}
		.menu-old .links {
				margin: auto 0;
				width: 100%;
				flex: 0 0 auto;
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				gap: 15px;
				font-weight: 800;
				font-size: 30px;
				line-height: 36px;
		}
		.menu-old .email {
				flex: 0 0 auto;
				width: 100%;
				text-align: center;
				font-weight: bold;
				font-size: 24px;
				line-height: 1.4;
		}
		.menu-old .links, .menu-old .btn {
				max-width: 420px;
				margin-left: auto;
				margin-right: auto;
		}
}
@media only screen and (max-width: 1279px) {
		.menu-old .hide-on-mobile {
				display: none;
		}
}
.top-block {
		text-align: center;
		font-weight: 600;
		font-size: 16px;
		overflow: hidden;
}
.top-block .h1, .top-block .text, .top-block .btns {
		transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
		opacity: 0;
}
.top-block.ready .h1, .top-block.ready .text, .top-block.ready .btns {
		opacity: 1;
}
@media only screen and (max-width: 767px) {
		.top-block .text {
				font-size: 14px;
				line-height: 21px;
				font-weight: 500;
		}
}
.top-block .h1 {
		font-size: 1.875rem;
		line-height: 1.1;
		margin-bottom: 10px;
}
.top-block .words {
		color: var(--lime);
		height: 1.1em;
		overflow: hidden;
		display: inline-block;
		vertical-align: top;
		text-align: center;
		--width1: 2.785em;
		--width2: 1.017em;
		--width3: 3.5535em;
		--width4: 5.791em;
}
.top-block .ready .words.ready {
		opacity: 1;
}
.top-block .words > * {
		display: flex;
		flex-direction: column;
		align-items: center;
		transform: translate3d(0, -80%, 0);
		width: var(--width1);
		animation: words 15s linear infinite;
		animation-direction: reverse;
}
.top-block .words > * > * {
		flex: 0 0 auto;
}
@-webkit-keyframes words {
		0% {
				transform: translate3d(0, -80%, 0);
				width: var(--width1);
		}
		1% {
				transform: translate3d(0, -60%, 0);
				width: var(--width4);
		}
		25% {
				transform: translate3d(0, -60%, 0);
				width: var(--width4);
		}
		26% {
				transform: translate3d(0, -40%, 0);
				width: var(--width3);
		}
		50% {
				transform: translate3d(0, -40%, 0);
				width: var(--width3);
		}
		51% {
				transform: translate3d(0, -20%, 0);
				width: var(--width2);
		}
		75% {
				transform: translate3d(0, -20%, 0);
				width: var(--width2);
		}
		76% {
				transform: translate3d(0, 0%, 0);
				width: var(--width1);
		}
		100% {
				transform: translate3d(0, 0%, 0);
				width: var(--width1);
		}
}
@keyframes words {
		0% {
				transform: translate3d(0, -80%, 0);
				width: var(--width1);
		}
		1% {
				transform: translate3d(0, -60%, 0);
				width: var(--width4);
		}
		25% {
				transform: translate3d(0, -60%, 0);
				width: var(--width4);
		}
		26% {
				transform: translate3d(0, -40%, 0);
				width: var(--width3);
		}
		50% {
				transform: translate3d(0, -40%, 0);
				width: var(--width3);
		}
		51% {
				transform: translate3d(0, -20%, 0);
				width: var(--width2);
		}
		75% {
				transform: translate3d(0, -20%, 0);
				width: var(--width2);
		}
		76% {
				transform: translate3d(0, 0%, 0);
				width: var(--width1);
		}
		100% {
				transform: translate3d(0, 0%, 0);
				width: var(--width1);
		}
}
.top-block .wrap-video {
		position: relative;
		width: 110%;
		left: -5%;
}
.top-block .video {
		position: relative;
		margin: 0 auto -24px auto;
		min-height: 416px;
		max-height: calc(100vh - 300px);
		max-width: 1370px;
}
.top-block .video:before {
		content: '';
		display: block;
		padding-top: 56.982%;
}
.top-block .video:after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		aspect-ratio: 1920/1080;
		left: 50%;
		transform: translate3d(-50%, 0, 0);
		
}
.top-block .video video {
		position: absolute;
		top: 0;
		left: 50%;
		min-width: 730px;
		transform: translate3d(-50%, 0, 0);
		width: 100%;
		height: 100%;
}
.top-block .btns {
		margin: 30px 0 60px 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 10px 15px;
}
.top-block .btns .btn {
		min-width: 240px;
}
@media only screen and (max-width: 767px) {
		.top-block .btns .btn {
				width: 100%;
		}
}
.works-slider, .works-slider-logos {
		transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.top-block:not(.ready) .works-slider, .top-block:not(.ready) .works-slider-logos {
		opacity: 0;
		pointer-events: none;
}
.works-slider {
		--gap: 10px;
		--size: 269px;
		overflow: visible !important;
		width: auto !important;
		margin: 0 calc(var(--gap) * -2) var(--gap) calc(var(--gap) * -2) !important;
}
.works-slider1 {
		margin-left: calc(var(--size) / -2) !important;
}
.works-slider2 {
		margin-right: calc(var(--size) / -2) !important;
}
.works-slider .swiper-wrapper {
		transition-timing-function: linear !important;
}
.works-slider .swiper-slide {
		width: calc(var(--size) + var(--gap));
		min-height: 164px;
		position: relative;
		container-type: inline-size;
		container-name: portfolio-works-slide;
}
.works-slider .swiper-slide:first-child {
		margin-left: auto;
}
.works-slider .swiper-slide:last-child {
		margin-right: auto;
}
.works-slider .swiper-slide:before {
		content: '';
		display: block;
		padding-top: 71%;
}
.works-slider .swiper-slide img, .works-slider .swiper-slide iframe, .works-slider .swiper-slide video {
		position: absolute;
		top: 0;
		left: calc(var(--gap) * 2);
		right: calc(var(--gap) * 2);
		width: calc(100% - var(--gap));
		height: 100%;
		border-radius: 15px;
		border: 0;
		margin: 0;
		padding: 0;
		outline: none;
		object-fit: cover;
		object-position: center;
}
@container portfolio-works-slide (max-width: 309px) {
		.works-slider .swiper-slide > * {
				border-radius: 9px;
		}
}
.works-slider-logos {
		--gap: 12.5px;
		--size: 100px;
		overflow: visible !important;
		width: auto !important;
		margin: 30px 0 0 0 !important;
}
.works-slider-logos .swiper-wrapper {
		transition-timing-function: linear !important;
}
.works-slider-logos .swiper-slide {
		width: calc(var(--size) + var(--gap));
		height: var(--size) !important;
		padding-left: calc(var(--gap) / 1);
		padding-right: calc(var(--gap) / 1);
		display: flex;
		align-items: center;
		justify-content: center;
}
.works-slider-logos .swiper-slide:first-child {
		margin-left: auto;
}
.works-slider-logos .swiper-slide:last-child {
		margin-right: auto;
}
.works-slider-logos .swiper-slide img {
		flex: 0 0 auto;
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 100%;
}
.section {
		padding-top: 80px;
}
.section .h1, .section .h2 {
		text-align: center;
		margin-top: 0;
}
.top-text {
		text-align: center;
}
@media only screen and (max-width: 767px) {
		.top-text {
				font-size: 16px;
		}
}
.steps {
		margin-top: -40px;
}
@media only screen and (max-width: 767px) {
		.steps h1, .steps .h1 {
				font-size: 30px;
				line-height: 33px;
		}
}
.steps ol {
		list-style: none;
		margin: 30px 0 0 0;
		padding: 0;
		display: grid;
		gap: 15px;
		grid-template-columns: repeat(1, 1fr);
}
.steps li:before {
		display: none;
}
.steps li {
		list-style: none;
		margin: 0;
		height: 517px;
		background-repeat: no-repeat;
		background-position: 50% 100%;
		background-size: cover;
		background-color: var(--block);
		border-radius: 15px;
		text-align: left;
		padding: 40px 30px;
		font-weight: 500;
		font-size: 18px;
		line-height: 27px;
}
.steps li:nth-child(1) {
		background-image: url("../img/steps/1.png");
}
.steps li:nth-child(2) {
		background-image: url("../img/steps/2.png");
}
.steps li:nth-child(3) {
		background-color: #FFDDDD;
		color: var(--dark);
		background-image: url("../img/steps/3.png");
}
.steps .big {
		font-weight: 300;
		font-size: 36px;
		line-height: 1.1;
		margin: 0 0 10px 0;
}
.steps .big strong {
		display: block;
		font-weight: 800;
}
.benefits .top-text {
		text-align: center;
		margin-bottom: -10px;
		position: relative;
		z-index: 2;
}
@media only screen and (max-width: 767px) {
		.benefits .top-text {
				font-size: 18px;
		}
}
.benefits .h3 {
		color: var(--white);
		margin: 0 0 5px 0;
}
.benefits ul {
		color: rgba(255, 255, 255, 0.7);
		margin: 0 -20px;
		padding: 0;
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
		gap: 10px 20px;
		text-align: center;
}
.benefits li:before {
		display: none;
}
.benefits li {
		margin: 0;
		padding: 0;
}
.benefits .ind {
		padding: 0 30px;
}
.benefits .img {
		position: relative;
		margin: 0 auto;
		max-width: 390px;
}
.benefits .img:before {
		content: '';
		display: block;
		padding-top: 54.618%;
}
.benefits .img img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: contain;
		object-position: center;
}
.our-services {
		margin-top: 80px;
		border-radius: 10px;
		position: relative;
		background-color: var(--dark);
		background-repeat: no-repeat;
}
@media only screen and (max-width: 767px) {
		.our-services {
				margin-left: -10px;
				margin-right: -10px;
		}
}
.our-services:after {
		content: '';
		pointer-events: none;
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		border: 2px solid transparent;
		background: #3e0093 border-box;
		-webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
		mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
		-webkit-mask-composite: destination-out;
		mask-composite: exclude;
		border-radius: inherit;
}
.our-services .h1, .our-services .h2 {
		margin-top: 0;
		text-align: inherit;
}
.our-services .top-text {
		text-align: inherit;
}
.our-services .tags {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 5px;
}
.our-services .tags > * {
		flex: 0 0 auto;
		text-align: center;
		text-decoration: none;
		color: white;
		font-weight: 600;
		font-size: 14px;
		padding: 15px 20px;
		background: rgba(62,0,157, 1);
		border-radius: 16px;
}
.our-services .btns {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 10px 15px;
		max-width: 495px;
}
.our-services .btns .btn {
		min-width: 240px;
		flex: 1 0 auto;
}
.our-services .btns .btn:only-child {
		flex: 0 0 auto;
}
@media only screen and (max-width: 767px) {
		.our-services .btns {
				padding: 0 15px;
		}
}
@media only screen and (max-width: 1023px) {
		.our-services {
				text-align: center;
				padding: 0 15px 40px 15px;
				background-image: url("../img/services-mobile.png");
				background-size: 100% auto;
				background-position: 50% 0;
		}
		.our-services:before {
				content: '';
				display: block;
				padding-top: 61.76%;
		}
		.our-services .top-text {
				margin-bottom: 20px;
		}
		.our-services .tags {
				justify-content: center;
		}
		.our-services .btns {
				justify-content: center;
				margin-top: 30px;
				margin-left: auto;
				margin-right: auto;
		}
}
.portfolio {
		padding-bottom: 20px;
		text-align: center;
}
.portfolio .btns {
		margin: 60px 0 0 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 10px 15px;
}
.portfolio .btns .btn {
		min-width: 240px;
}
@media only screen and (max-width: 767px) {
		.portfolio .btns .btn {
				width: 100%;
		}
}
.portfolio .h1 {
		margin-bottom: 15px;
}
.portfolio .top-text {
		margin-bottom: 30px;
}
.portfolio .top-text {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: 13px 15px;
}
@media only screen and (max-width: 767px) {
		.portfolio .top-text {
				font-size: 24.6px;
				flex-direction: column;
		}
}
.portfolio .top-text strong {
		position: relative;
		flex: 0 0 auto;
		max-width: 100%;
		text-align: center;
		padding: 0 1.143em;
		font-weight: 800;
		color: #3e0093;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 2.859em;
		border-radius: 1.4295em;
		background: radial-gradient(61.77% 123.48% at 76.21% -14.52%, #FFDDDD 0%, #D7C4FF 52.6%, #D7F0FF 100%), #FFB0FE;
		font-size: 0.8743em;
		line-height: 1.2;
		backface-visibility: hidden;
}
.portfolio .top-text strong {
		transform: rotate(-4deg);
}
.portfolio .top-text strong:before, .portfolio .top-text strong:after {
		content: '';
}
.portfolio .top-text strong:before, .portfolio .top-text strong:after, .portfolio .top-text strong .point1, .portfolio .top-text strong .point2 {
		width: 16px;
		height: 8px;
		border-radius: 4px;
		position: absolute;
}
.portfolio .top-text strong:before, .portfolio .top-text strong:after {
		top: 100%;
		right: 100%;
		transform-origin: 100% 50%;
}
.portfolio .top-text strong:before {
		background: #d3b3ff;
		transform: translate3d(-30%, -250%, 0) rotate(-20deg);
}
.portfolio .top-text strong:after {
			background: #6823c7;
		transform: translate3d(10%, -100%, 0) rotate(-55deg);
}
.portfolio .top-text strong .point1, .portfolio .top-text strong .point2 {
		bottom: 100%;
		left: 100%;
		transform-origin: 0 50%;
}
.portfolio .top-text strong .point1 {
		background: #6823c7;
		transform: translate3d(0, 120%, 0) rotate(-50deg);
}
.portfolio .top-text strong .point2 {
		background: #fff;
		transform: translate3d(50%, 300%, 0) rotate(-18deg);
}
.portfolio .grid {
		margin: 0 -20px;
		display: grid;
		gap: 10px;
		align-items: center;
		grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
		overflow: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
}
@media only screen and (max-width: 767px) {
		.portfolio .grid > *:not(:nth-child(1)):not(:nth-child(2)):not(:nth-child(3)):not(:nth-child(4)):not(:nth-child(5)):not(:nth-child(6)):not(:nth-child(7)):not(:nth-child(8)):not(:nth-child(9)):not(:nth-child(10)) {
				display: none;
				visibility: hidden;
		}
}
.portfolio .grid img, .portfolio .grid video {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
}
.reviews {
		overflow: hidden;
}
.slider-reviews {
		width: auto !important;
		overflow: visible !important;
		--gap: 10px;
		margin: 30px calc(var(--gap) / -2) 0 calc(var(--gap) / -2) !important;
		padding-bottom: 110px !important;
}
@media (pointer:coarse) {
		.slider-reviews {
				padding-bottom: 0 !important;
		}
		.reviews-prev, .reviews-next, .reviews-scrollbar {
				display: none !important;
		}
}
.slider-reviews .swiper-slide {
		display: flex;
		flex-direction: column;
		height: auto !important;
		padding: 0 calc(var(--gap) / 2);
		width: 100%;
		max-width: 340px;
}
.reviews-prev, .reviews-next {
		cursor: pointer;
		user-select: none;
		position: absolute;
		z-index: 5;
		outline: none;
		border: 0;
		width: 70px;
		height: 70px;
		bottom: 0;
		left: 50%;
		transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.reviews-prev.swiper-button-disabled, .reviews-next.swiper-button-disabled {
		pointer-events: none;
		opacity: 0.1;
}
.reviews-prev:before, .reviews-next:before, .reviews-prev:after, .reviews-next:after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		background-repeat: no-repeat;
		background-position: 50% 50%;
		background-size: 50px auto;
		transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.reviews-prev:before, .reviews-next:before {
		background-image: url("../img/faq-arrow.svg");
}
.reviews-prev:after, .reviews-next:after {
		background-image: url("../img/faq-arrow-hover.svg");
		opacity: 0;
}
@media (pointer:fine) {
		.reviews-prev:hover:after, .reviews-next:hover:after {
				opacity: 1;
		}
}
.reviews-prev {
		margin-left: -120px;
		transform: rotate(90deg);
}
.reviews-next {
		margin-left: 50px;
		transform: rotate(-90deg);
}
.reviews-scrollbar-wrap {
		position: absolute;
		width: 240px;
		height: 70px;
		border-radius: 10px;
		background: #aaaaaa;
		bottom: 0;
		left: 50%;
		margin: 0 -120px;
}
.reviews-scrollbar {
		position: absolute;
		top: 50%;
		left: 50%;
		bottom: 0;
		right: 0;
		width: 90px;
		height: 6px;
		background: rgba(255, 255, 255, 0.1);
		border-radius: 3px;
		transform: translate3d(-50%, -50%, 0);
}
.reviews-scrollbar .swiper-scrollbar-drag {
		border-radius: 3px;
		background: var(--dark);
}
.review {
		--vert: 40px;
		flex: 1 0 auto;
		width: 100%;
		display: flex;
		flex-direction: column;
		background: #dadada;
		border-radius: 15px;
		padding: calc(100px + var(--vert)) 30px var(--vert) 30px;
		position: relative;
		line-height: 1.1932;
		min-height: 470px;
}
.review .stars {
		position: absolute;
		top: var(--vert);
		right: 30px;
		width: 134px;
		height: 46px;
		background: #fff;
		object-fit: scale-down;
		object-position: center;
		border-radius: 23px;
}
.review .photo {
		position: absolute;
		top: var(--vert);
		left: 30px;
		width: 70px;
		height: 70px;
		border-radius: 50%;
		object-fit: cover;
		object-position: center;
}
.review blockquote {
		flex: 1 0 auto;
		display: flex;
		flex-direction: column;
		margin: 0;
		padding: 0;
		border: 0;
		outline: none;
		font: inherit;
		color: inherit;
}
.review .text {
		flex: 1 0 auto;
		font-weight: bold;
		font-size: 21px;
}
.review .text:before {
		content: '"'
}
.review .text:after {
		content: '"'
}
.review .author {
		margin: var(--vert) 0 0 0;
		font-weight: 500;
		font-size: 16px;
		color: var(--grey);
}
.review .author strong {
		display: block;
		color: var(--white);
		font-weight: bold;
		font-size: 20px;
		margin-bottom: 8px;
}
.pricing .bg {
		border-radius: 15px;
		background-color: #D7C3FF;
		background-repeat: no-repeat;
		color: var(--dark);
		padding: 189px 20px 20px 20px;
		position: relative;
}
.pricing .bg ul {
		list-style: none;
		margin: 0;
		padding: 0;
		font-weight: 500;
		font-size: 20px;
		line-height: 1.5;
}
.pricing .bg li {
		margin: 0;
		padding: 0;
}
.pricing .btns {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 12px;
		margin: 30px 0 0 0;
}
.pricing .btns .btn {
		flex: 1 0 auto;
}
.pricing .h1 {
		font-weight: bold;
		margin: 0 0 10px 0;
		text-align: inherit;
		font-size: 46px;
}
.pricing .try {
		text-align: center;
		color: var(--dark);
		background: var(--lime);
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		font-weight: bold;
		font-size: 24px;
		line-height: 1.4;
		position: absolute;
		top: 10px;
		right: 10px;
		width: 220px;
		height: 220px;
}
.pricing .try strong {
		font-weight: 800;
		font-size: 44px;
		line-height: 1.193;
}
@media only screen and (max-width: 767px) {
		.pricing .bg {
				background-image: url("../img/pricing/mobile.png"), radial-gradient(124% 109.29% at 85.59% 12.93%, #FDD 0%, #D7C3FF 52.6%, #D7F0FF 100%);
				background-position: 100% 0, 50% 50%;
				background-size: 200px auto, 100% 100%;
		}
		.pricing .bg li:before {
				display: none;
		}
}
@media only screen and (max-width: 1279px) {
		.pricing .try {
				width: 140px;
				height: 140px;
				font-size: 16px;
		}
		.pricing .try strong {
				font-size: 24px;
		}
}
.pricing .bottom {
		display: flex;
		flex-direction: column;
		gap: 40px;
		flex-wrap: wrap;
		padding: 30px 20px;
		border-radius: 10px;
		background: var(--block);
		margin-top: 40px;
		font-weight: normal;
		font-size: 18px;
		line-height: 1.5;
}
.pricing .bottom .big {
		font-weight: bold;
		font-size: 20px;
		line-height: 1;
		margin: 0 0 10px 0;
}
.why {
		overflow: hidden;
		padding-bottom: 20px;
}
.why .top-text {
		margin-bottom: 20px;
}
.slider-why {
		overflow: visible !important;
		margin: 0 -5px !important;
}
.slider-why .swiper-slide {
		flex: 0 0 auto;
		min-width: 270px;
		padding: 0 5px;
		display: flex;
		flex-direction: column;
		height: auto !important;
}
.why .el {
		font-weight: 800;
		font-size: 18px;
		line-height: 1.4;
		text-align: left;
		border-radius: 10px;
		padding: 30px 20px;
}
.why .el.light {
		background: radial-gradient(123% 83.51% at 85.59% 12.93%, #FFDDDD 0%, #D7C4FF 52.6%, #D7F0FF 100%);
		color: var(--dark);
}
.why .el .btn {
		width: 100%;
		height: 55px;
		margin: 30px 0 0 0;
}
.why .el .top {
		font-weight: bold;
		font-size: 24px;
		height: 89px;
		margin: 0 0 20px 0;
}
.why .el .top.logo {
		padding-top: 15px;
}
.why .el .top.logo img {
		height: 50px;
		width: auto;
}
.why .label {
		font-weight: 600;
		font-size: 16px;
		margin: 0 0 5px 0;
}
.why .rowl {
		margin: 20px 0 0 0;
}
.why .rowl img {
		vertical-align: top;
		height: 24px;
		width: auto;
		margin-top: 5px;
}
.why .pics {
		display: flex;
		align-items: center;
		margin: 10px 0 0 0;
		gap: 5px;
}
.why .pics img {
		width: calc((100% - 15px) / 4);
		max-width: 35px;
		height: auto;
}
@media only screen and (max-width: 1279px) {
		.why .labels {
				display: none;
		}
		.why .el {
				background: #17171A;
		}
		.slider-why .swiper-slide {
				width: 25%;
		}
}
.priorities {
		padding-bottom: 80px;
}
.priorities .top-text {
		margin-bottom: 30px;
}
.priorities .grid {
		display: grid;
		gap: 10px;
		grid-template-columns: repeat(1, 1fr);
}
.priorities .el {
		text-align: center;
		position: relative;
		border-radius: 15px;
		overflow: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
		color: rgba(255, 255, 255, 0.6);
		container-type: inline-size;
		container-name: priorities-el;
}
.priorities .el:before {
		content: '';
		pointer-events: none;
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		border: 1.5px solid transparent;
		background-origin: border-box;
		-webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
		mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
		-webkit-mask-composite: destination-out;
		mask-composite: exclude;
		border-radius: inherit;
		z-index: 2;
}
.priorities .el.bg1:before {
		background-image: linear-gradient(180deg, #AF6896 0%, #631A49 100%);
}
.priorities .el.bg2:before {
		background-image: linear-gradient(180deg, #AEAF68 0%, #635B1A 100%);
}
.priorities .el.bg3:before {
		background-image: linear-gradient(180deg, #6896AF 0%, #241A63 100%);
}
.priorities .el img {
		display: block;
		width: 100%;
		height: auto;
}
.priorities .el video {
		display: block;
		width: 100%;
		height: auto;
		backface-visibility: hidden;
		transform: translateZ(0);
		mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 70%, rgba(0, 0, 0, 0) 100%);
}
.priorities .h3 {
		font-size: 30px;
		line-height: 1.1;
		color: var(--white);
		margin: 0 0 15px 0;
}
.priorities .text {
		padding: 45px 40px;
}
@container priorities-el (max-width: 319px) {
		.priorities .text {
				padding: 30px 20px;
				font-size: 16px;
		}
		.priorities .h3 {
				font-size: 24px;
		}
}

.we-ready {
		text-align: center;
		padding-top: 0 !important;
		padding-bottom: 120px;
}
.we-ready .image {
		position: relative;
		margin: 0 auto 20px auto;
		max-width: 1440px;
}
.we-ready img {
		display: block;
		width: 100%;
		height: auto;
		min-height: 217px;
		object-fit: cover;
		object-position: center;
}
.we-ready .h2 {
		font-size: 36px;
		margin-bottom: 15px;
}
.we-ready .top-text {
		font-weight: 600;
		margin-bottom: 30px;
}
.we-ready .btns {
		margin: 60px 0 0 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 10px 15px;
}
.we-ready .btns .btn {
		min-width: 240px;
}
@media only screen and (max-width: 767px) {
		.we-ready .btn {
				width: 100%;
		}
}
.footer-old {
		padding: 70px 0 50px 0;
		text-align: center;
		line-height: 1.4;
}
.footer-old .container {
		display: grid;
		gap: 30px;
		grid-template-columns: repeat(1, 1fr);
}
.footer-old .logo {
		display: block;
		overflow: hidden;
		text-align: left;
		text-indent: -100vw;
		white-space: nowrap;
		width: 180px;
		height: 55px;
		background: url("../logo.svg") no-repeat 0 50%;
		background-size: contain;
		margin: 0 auto;
}
.footer-old .soc {
		font-weight: bold;
		font-size: 16px;
}
.footer-old .soc a {
		color: black;
		text-decoration: underline;
		transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
@media (pointer:fine) {
		.footer-old .soc a:hover {
				color: #3e0093;
		}
}
.footer-old .soc, .footer-old .soc .links {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
}
.footer-old .soc {
		gap: 15px 42px;
}
.footer-old .soc .links {
		gap: 15px 32px;
		flex: 0 0 auto;
}
@media only screen and (max-width: 390px) {
		.footer-old .soc .links {
				gap: 15px;
				justify-content: space-between;
				width: 100%;
		}
}
.footer-old .soc .label {
		flex: 0 0 auto;
		opacity: 0.5;
}
@media only screen and (max-width: 767px) {
		.footer-old .soc .label {
				display: none;
		}
}
.footer-old .email {
		font-weight: bold;
		font-size: 18px;
}
.footer-old .email a {
		color: black;
		text-decoration: none;
		transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
@media (pointer:fine) {
		.footer-old .email a:hover {
				color: var(--lime);
		}
}
.footer-old .text, .footer-old .text-links {
		font-weight: bold;
		font-size: 14px;
		color: rgba(255, 255, 255, 0.5);
}
.footer-old .text a, .footer-old .text-links a {
		color: inherit;
		text-decoration: none;
		transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
@media (pointer:fine) {
		.footer-old .text a:hover, .footer-old .text-links a:hover {
				color: var(--white);
		}
}
.footer-old .text-links {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 15px 40px;
		margin-top: 20px;
		margin-bottom: -10px;
}
.footer-old .soc, .footer-old .soc .links {
		max-width: 100%;
}
.pricing-info .list {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		gap: 20px;
}
.pricing-info .list-head {
		flex: 0 0 auto;
		width: 100%;
		font-weight: bold;
		font-size: 33px;
		line-height: 1.2;
		color: rgba(255, 255, 255, 0.3);
		background: var(--block);
		display: block;
		text-align: center;
		margin: 0 0 -20px 0;
		padding: 30px 20px;
		border-radius: 15px 15px 0 0;
}
.pricing-info .list-head:before {
		content: '';
		display: block;
		width: 54px;
		height: 54px;
		margin: 0 auto 15px auto;
		border-radius: 50%;
		background-image: url("../img/Calendar.svg"), radial-gradient(123% 83.51% at 85.59% 12.93%, #FFDDDD 0%, #D7C4FF 52.6%, #D7F0FF 100%);
		background-repeat: no-repeat;
		background-position: 50% 50%;
		background-size: 24px auto, 100% 100%;
}
.pricing-info .list-head strong {
		color: var(--white);
		font-weight: inherit;
}
.pricing-info .list-text {
		flex: 0 0 auto;
		width: 100%;
		background: var(--block);
		border-radius: 0 0 15px 15px;
		padding: 1px 20px 20px 20px;
		margin: -1px 0 0 0;
		font-weight: 500;
		font-size: 16px;
		line-height: 19px;
}
.pricing-info .list-text ul, .pricing-info .list-text li {
		list-style: none;
		margin: 0;
		padding: 0;
}
.pricing-info .list-text li:before {
		display: none;
}
.pricing-info .list-text ul {
		display: flex;
		flex-direction: column;
		gap: 8px;
}
.pricing-info .list-text li {
		flex: 0 0 auto;
		width: 100%;
		padding: 25px 15px;
		background: rgba(255, 255, 255, 0.05);
		border-radius: 10px;
		text-align: center;
}
.pricing-info .list-text li .or {
		position: absolute;
		top: -4px;
		left: 50%;
		text-align: center;
		font-weight: 500;
		font-size: 12px;
		text-transform: uppercase;
		width: 40px;
		height: 40px;
		line-height: 32px;
		transform: translate3d(-50%, -50%, 0);
		background: var(--block) linear-gradient(to bottom, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.05) 100%);
		border-radius: 50%;
		border: 4px solid var(--block);
		color: rgba(255, 255, 255, 0.5);
}
.pricing-info .info {
		text-align: center;
		margin: 50px 0 0 0;
}
.pricing-info .info .h1 {
		font-size: 30px;
}
.pricing-info .info .top-text {
		font-weight: 600;
}
.pricing-info .info .btns {
		margin-top: 30px;
		display: flex;
		align-items: center;
		justify-content: center;
}
.pricing-info .btns .btn {
		min-width: 240px;
}
@media only screen and (max-width: 767px) {
		.pricing-info .btns .btn {
				width: 100%;
		}
}
@media only screen and (max-width: 1023px) {
		.pricing-info .btns .btn {
				font-size: 20px;
				height: 70px;
				border-radius: 16px;
		}
}
.achievements {
		padding-top: 160px;
		padding-bottom: 60px;
}
.achievements .h1 {
		font-size: 30px;
		max-width: 13.47em;
		margin-left: auto;
		margin-right: auto;
}
.achievements ul, .achievements li {
		list-style: none;
		margin: 0;
		padding: 0;
}
.achievements li:before {
		display: none;
}
.achievements ul {
		margin-top: 50px;
		display: grid;
		gap: 30px;
		grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}
.achievements li {
		display: flex;
		align-items: center;
		gap: 13px;
}
.achievements video {
		width: 64px;
		aspect-ratio: 1/1;
		flex: 0 0 auto;
		margin: 0 9px;
		padding: 0;
		border: 0;
		outline: none;
}
.achievements .text {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 0 4px;
		justify-content: space-between;
		font-weight: 500;
		font-size: 15px;
		line-height: 18px;
		flex: 0 0 auto;
		width: calc(100% - 95px);
}
.achievements .name {
		font-weight: 600;
		font-size: 24px;
		line-height: 1.1;
		flex: 0 0 auto;
		width: 100%;
		margin: 0 0 12px 0;
}
.achievements .year {
		color: #B9B9C7;
		opacity: 0.5;
}
.achievements .views {
		color: #71717C;
}
.achievements .views span {
		color: #FBFF3E;
}
.top-block .ratings {
		margin: -20px 0 76px 0;
		text-align: center;
		font-weight: 500;
		font-size: 16px;
		line-height: 24px;
		overflow: hidden;
		--gap: 12px;
		width: 100vw;
		position: relative;
		left: 50%;
		transform: translate3d(-50%, 0, 0);
}
.top-block .ratings .list {
		display: flex;
		margin-top: 14px;
		backface-visibility: hidden;
		animation: top-block-ratings 10s linear infinite reverse;
}
.top-block .ratings ul, .top-block .ratings li {
		list-style: none;
		margin: 0;
		padding: 0;
}
.top-block .ratings ul {
		flex: 0 0 auto;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: var(--gap);
		padding: 0 calc(var(--gap) / 2);
		min-width: 100%;
}
.top-block .ratings li {
		display: flex;
		align-items: center;
		font-weight: bold;
		font-size: 15px;
		line-height: normal;
		color: var(--lime);
		border: 0.63px solid #201D1D;
		background: var(--block);
		border-radius: 9.38px;
		height: 50px;
		padding: 0 15px;
		gap: var(--gap);
}
.top-block .ratings li:before {
		display: none;
}
.top-block .ratings li span {
		display: flex;
		align-items: center;
		flex: 0 0 auto;
		gap: 3px;
}
.top-block .ratings li span:before {
		content: '';
		flex: 0 0 auto;
		width: 19px;
		height: 19px;
		background: url("../img/feedback-star.svg") no-repeat 50% 50%;
		background-size: contain;
}
.top-block .ratings li img {
		flex: 0 0 auto;
		height: 18px;
		width: auto;
}
@-webkit-keyframes top-block-ratings {
		from {
				transform: translate3d(0, 0, 0);
		}
		to {
				transform: translate3d(-50%, 0, 0);
		}
}
@keyframes top-block-ratings {
		from {
				transform: translate3d(0, 0, 0);
		}
		to {
				transform: translate3d(-50%, 0, 0);
		}
}
@media only screen and (min-width: 768px) {
		.top-block .ratings .list {
				animation: none;
		}
		.top-block .ratings li[aria-hidden="true"] {
				display: none;
		}
}
@media only screen and (min-width: 1024px) {
		.top-block .ratings {
				font-size: 20px;
				line-height: 30px;
				margin-top: 60px;
				--gap: 18px;
		}
		.top-block .ratings li {
				font-size: 21px;
				height: 70px;
				border-radius: 13px;
				border-width: 0.88;
				padding: 0 21px;
		}
		.top-block .ratings li span {
				gap: 4px;
		}
		.top-block .ratings li span:before {
				width: 26px;
				height: 26px;
		}
		.top-block .ratings li img {
				height: 25px;
		}
}
.review {
		text-decoration: none;
}
.review .stars + .author {
		margin-top: auto;
}
.review:has(video) {
		aspect-ratio: 9/12;
		overflow: hidden;
		backface-visibility: hidden;
}
.review:has(video):after {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		width: 64px;
		height: 64px;
		margin: -32px;
		border-radius: 50%;
		background: rgba(255, 255, 255, 0.25) url("../img/play.svg") no-repeat 55% 50%;
		background-size: auto 20px;
		backface-visibility: hidden;
		backdrop-filter: blur(40px);
		-webkit-backdrop-filter: blur(40px);
}
.review:has(video) .author {
		margin-top: auto;
}
.review video {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 0;
		object-fit: cover;
		object-position: center;
		opacity: 0.4;
}
.review .author span {
		position: relative;
}
.modal-video {
		position: fixed;
		top: 50%;
		left: 50%;
		transform: translate3d(-50%, -50%, 0);
		border-radius: 15px;
		background: var(--block);
		z-index: 400;
		transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.modal-video video {
		width: auto;
		height: auto;
		max-width: calc(100vw - 20px);
		max-height: calc(100vh - 20px);
		max-height: calc(100svh - 20px);
		border-radius: 15px;
}
.modal-video:not(.open), .modal-video:not(.open) + .modal-video-fader {
		opacity: 0;
		pointer-events: none;
}
.modal-video-close {
		cursor: pointer;
		user-select: none;
		width: 60px;
		height: 60px;
		background: var(--block);
		border-radius: 50%;
		position: absolute;
		top: 0;
		left: 100%;
		margin: 20px;
}
.modal-video-close:before, .modal-video-close:after {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		background: var(--white);
		width: 17px;
		height: 2px;
}
.modal-video-close:before {
		transform: translate3d(-50%, -50%, 0) rotate(45deg);
}
.modal-video-close:after {
		transform: translate3d(-50%, -50%, 0) rotate(-45deg);
}
.modal-video-fader {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 399;
		background: var(--dark);
		opacity: 0.8;
		transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
html:has(.modal-video.open) {
		overflow: hidden;
}
@media only screen and (orientation: portrait) {
		.modal-video video {
				max-height: calc(100vh - 100px);
				max-height: calc(100svh - 100px);
		}
		.modal-video {
				margin-top: 30px;
		}
		.modal-video-close {
				bottom: 100%;
				left: auto;
				right: 0;
				top: auto;
				margin: 10px 0;
		}
}
.team {
		padding-bottom: 40px;
}
.team .top-text {
		max-width: 43.2em;
		margin-left: auto;
		margin-right: auto;
}
.team .list, .team .list .el {
		list-style: none;
		margin: 0;
		padding: 0;
}
.team .list .el:before {
		display: none;
}
.team .list .el {
		position: relative;
}
.slider-team {
		margin: 30px 0 0 0;
		position: relative;
		left: 50%;
		width: 100vw !important;
		transform: translate3d(-50%, 0, 0);
		padding: 0 15px !important;
}
.slider-team .swiper-slide {
		padding: 0 5px;
		width: 260px;
		height: auto !important;
		display: flex !important;
		flex-direction: column;
}
.slider-team .swiper-slide:first-child {
		margin-left: auto;
}
.slider-team .swiper-slide:last-child {
		margin-right: auto;
}
.team-el {
		position: relative;
		flex: 1 0 auto;
		width: 100%;
		aspect-ratio: 350/650;
		text-align: center;
		font-weight: 500;
		font-size: 18px;
		line-height: 1.19;
		border-radius: 15px;
		backface-visibility: hidden;
		transform: translateZ(0);
		overflow: hidden;
}
.team-el .team-photo {
		position: relative;
		width: 100%;
		height: 100%;
}
.team-el .team-photo img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: transform 0.4s ease, opacity 0.4s ease;
}
.team-el .team-photo-main {
		opacity: 1;
		transform: scale(1);
}
.team-el .team-photo-hover {
		opacity: 0;
		transform: scale(1.05);
}
.team-el:hover .team-photo-main {
		opacity: 0;
		transform: scale(1.03);
}
.team-el:hover .team-photo-hover {
		opacity: 1;
		transform: scale(1);
}
.team-el video {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
}
.team-el .text {
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		padding: 21px;
		backface-visibility: hidden;
		transform: translateZ(0);
}
.team-el .name {
		font: bold 27px/1.19 var(--font);
		margin: 0 0 5px 0;
}
.team-el .soc, .team-el .soc li {
		list-style: none;
		margin: 0;
		padding: 0;
}
.team-el .soc {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		gap: 8.33px;
		margin: 15px 0 0 0;
}
.team-el .soc li:before {
		display: none;
}
.team-el .soc a {
		display: block;
		width: 50px;
		height: 50px;
		backface-visibility: hidden;
		background: rgba(0, 0, 0, 0.2);
		backdrop-filter: blur(8px);
		-webkit-backdrop-filter: blur(8px);
		border-radius: 12.5px;
}
.team-el .soc a img {
		width: 100%;
		height: 100%;
		display: block;
		object-fit: scale-down;
		object-position: center;
}
@media only screen and (min-width: 1200px) {
		.team {
				padding-bottom: 30px;
		}
		.slider-team {
				margin-top: 50px !important;
				padding-left: 5px !important;
				padding-right: 5px !important;
		}
		.slider-team .swiper-slide {
				padding-left: 15px;
				padding-right: 15px;
				width: 380px;
		}
		.team-el {
				font-size: 21px;
				border-radius: 15px;
		}
		.team-el .text {
				padding: 30px;
		}
		.team-el .name {
				font-size: 40px;
		}
		.team-el .soc {
				margin-top: 20px;
		}
		.team-el .soc a {
				width: 60px;
				height: 60px;
				border-radius: 15px;
		}
}