@font-face {
	font-family: 'Founders Grotesk';
	src: url('../fonts/FoundersGrotesk-Regular.eot');
	src: url('../fonts/FoundersGrotesk-Regular.eot') format('embedded-opentype'),
	url('../fonts/founders-grotesk-regular.woff2') format('woff2'),
	url('../fonts/FoundersGrotesk-Regular.woff') format('woff'),
	url('../fonts/FoundersGrotesk-Regular.otf') format('opentype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
:root{
	--black: #111;
	--black-800: rgba(17, 17, 17, 0.8);
	--black-600: rgba(17, 17, 17, 0.6);
	--black-400: rgba(17, 17, 17, 0.4);
	--black-160: rgba(17, 17, 17, 0.16);
	--black-80: rgba(17, 17, 17, 0.08);
	--white: #fff;
	--white-800: rgba(255, 255, 255, 0.8);
	--white-600: rgba(255, 255, 255, 0.6);
	--white-400: rgba(255, 255, 255, 0.4);
	--white-160: rgba(255, 255, 255, 0.16);
	--light-grey: #f6f6f6;
	--red: #f00;

	--font-family: "Founders Grotesk", sans-serif;

	--h1: max(48px, 100rem);
	--h2: max(20px, 30rem);
	--h3: max(36px, 56rem);
	--h4: max(24px, 32rem);

	--text_L: max(22px, 28rem);
	--text_M: max(20px, 24rem);
	--text_S: max(18px, 20rem);
	--button: max(18px, 22rem);
	--caption: max(90px, 160rem);
	--decor: max(52px, 90rem);

	--radius: max(20px, 20rem);

	--ease: cubic-bezier(.38, .005, .215, 1);
	--ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
	--hero-content-delay: 2.1s;
}
::selection {
	color: var(--white);
	background-color: var(--black);
}
.button22 ::selection {
	color: var(--black);
	background-color: var(--white);
}
/************************* reset *************************/
html{
	height: 100%;
	margin: 0;
	padding: 0;width: 100%;
	background: var(--white);
	font-size: 0.0625vw;
	scrollbar-gutter: stable;
}
body{
	height: 100%;
	width: 100%;
	position: relative;
	margin: 0;
	padding: 0;
	color: var(--black);
	font-weight: 400;
	font-size: var(--text_M);
	line-height: 120%;
	letter-spacing: -0.02em;
	font-family: var(--font-family), Arial, Helvetica, sans-serif;
	min-width: 320px;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
h1, h2, h3, h4, h5, h6, p, ul, li, a, span, div, input, textarea, select, form, fieldset, button, dl, dd, dt, figure, figcaption, blockquote, caption, aside, section {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	box-sizing: border-box;
}
img {
	margin: 0;
	padding: 0;
	border-style: none;
	vertical-align: bottom;
}
input, textarea, select, button {
	font-weight: 400;
	font-family: var(--font-family), Arial, Helvetica, sans-serif;
	vertical-align:middle;
	border: 0;
	outline: 0;
	background: none;
}
a:hover {text-decoration: none;}
ul li {list-style: none;}
/************************* common styles *************************/
.holder {
	padding: 0 max(12px, 20rem);
}
h1, .h1 {
	display: block;
	font-weight: 400;
	font-size: var(--h1);
	line-height: 80%;
	letter-spacing: -0.05em;
}
h2, .h2 {
	display: block;
	font-weight: 400;
	font-size: var(--h2);
	line-height: 100%;
	letter-spacing: -0.05em;
}
h3, .h3 {
	display: block;
	font-weight: 400;
	font-size: var(--h3);
	line-height: 80%;
	letter-spacing: -0.05em;
}
h4, .h4 {
	display: block;
	font-weight: 400;
	font-size: var(--h4);
	line-height: 120%;
	letter-spacing: -0.05em;
}
a {transition: all 0.4s;}
p {margin: 0 0 max(22px, 29rem);}
p:last-child {margin: 0;}
p a, .article li a {color: var(--black-800);}
.center {text-align: center;}
.upper {text-transform: uppercase;}
.button-holder {text-align: center;}
.button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: max(16px, 19rem) max(28px, 40rem) max(17px, 21rem);
	gap: max(4px, 4rem);
	font-weight: 400;
	font-size: var(--button);
	line-height: 90%;
	letter-spacing: -0.02em;
	color: var(--black);
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	background: var(--black-80);
	border: 1px solid transparent;
	border-radius: 100px;
	transition: all .3s ease-out;
}
.button:hover {
	color: var(--white);
	background: var(--black);
	border-color: transparent;
}
.button-black {
	color: var(--white);
	background: var(--black);
	border-color: transparent;
}
.button-black:hover {
	color: var(--black);
	background-color: var(--black-80);
	border-color: transparent;
}
.button-white {
	color: var(--white);
	background: var(--white-160);
	border-color: var(--white-160);
}
.button-white:hover {
	color: var(--black);
	background-color: var(--white);
	border-color: var(--white);
}

/************************* form-block *************************/
.wpcf7-form-control-wrap {
	display: block;
	position: relative;
	margin: 0 0 max(12px, 12rem);
}
.wpcf7-form-control-wrap input {
	display: block;
	width: 100%;
	height: max(69px, 77rem);
	padding: 0 max(23px, 23rem) max(3px, 3rem);
	margin: 0;
	font-size: var(--text_M);
	line-height: 120%;
	letter-spacing: -0.02em;
	color: var(--black-800);
	background: rgba(195, 195, 195, 0.08);
	border: 1px solid var(--black-400);
	border-radius: var(--radius);
	transition: all 0.4s ease-in-out;
}
.wpcf7-form-control-wrap textarea {
	display: block;
	width: 100%;
	height: max(200px, 200rem);
	padding: max(23px, 23rem);
	margin: 0;
	font-size: var(--text_M);
	line-height: 120%;
	letter-spacing: -0.02em;
	resize: vertical;
	color: var(--black-800);
	background: rgba(195, 195, 195, 0.08);
	border: 1px solid var(--black-400);
	border-radius: var(--radius);
	transition: all 0.4s ease-in-out;
}
.wpcf7-form-control-wrap:hover input,
.wpcf7-form-control-wrap:hover textarea,
.wpcf7-form-control-wrap input:hover,
.wpcf7-form-control-wrap textarea:hover,
.wpcf7-form-control-wrap input:focus,
.wpcf7-form-control-wrap textarea:focus {
	background: var(--black-80);
}
.inactive {
	opacity: 0.4;
	pointer-events: none;
}
::-webkit-input-placeholder {color: var(--black-800);}
:-moz-placeholder {color: var(--black-800); opacity: 1;}
::-moz-placeholder {color: var(--black-800); opacity: 1;}
:-ms-input-placeholder {color: var(--black-800);}
.error-msg {
	display: none;
	margin: 8px 0 4px;
	color: var(--red);
	font-size: var(--text_S);
	line-height: 120%;
	letter-spacing: -0.02em;
}
.error .error-msg {
	display: block;
}
.input-box {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.input-box .wpcf7-form-control-wrap {
	width: calc(50% - max(6px, 6rem));
}
.check-item {
	position: relative;
	margin: 0 0 max(10px, 10rem);
}
.check-input {
	position: absolute;
	left: 0;
	width: 1px;
	height: 1px;
	opacity: 0;
}
.check-label {
	display: block;
	padding: 0 0 0 max(32px, 40rem);
	font-size: max(20px, 20rem);
	line-height: 110%;
	letter-spacing: -0.02em;
	color: var(--black-400);
	cursor: pointer;
}
.check-label:after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: '';
	width: max(20px, 20rem);
	height: max(20px, 20rem);
	background: transparent;
	border-radius: 2px;
	border: 1px solid var(--black-400);
}
.check-input:checked + .check-label:after {
	background: url(../img/check.svg) 50% 50% no-repeat;
	background-size: max(12px, 12rem);
}
/************************* wrapper *************************/
#wrapper {
	position: relative;
	background: var(--white);
}
body.lock {overflow: hidden;}
#smooth-wrapper {
	z-index: 5;
}
#smooth-content {
	padding-bottom: max(340px, 432rem);
}
/************************* header *************************/
.header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 300;
	height: max(50px, 105rem);
	display: flex;
	align-items: center;
	background: transparent;
	transition: all 0.6s var(--ease);
}
.header .holder {
	width: 100%;
}
.header-block {
	display: flex;
	align-items: center;
	justify-content: center;
	height: max(65px, 86rem);
	position: relative;
}
.header-block::before {
	position: absolute;
	inset: 0;
	content: '';
	backdrop-filter: blur(40px);
	background: var(--black-80);
	border-radius: 100px;
}
.header-logo {
	position: absolute;
	top: 50%;
	left: max(24px, 24rem);
	transform: translateY(-50%);
	z-index: 550;
}
.header-logo img {
	width: max(104px, 200rem);
	transition: all 0.4s ease-in;
}
.logo-white {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}
.logo-blue {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}
.nav-bottom {
	position: absolute;
	top: 50%;
	right: max(24px, 24rem);
	transform: translateY(-50%);
}
.header-nav-wrap {
	display: flex;
	align-items: center;
}
.header-nav-list {
	position: relative;
	display: flex;
	gap: max(24px, 40rem);
	padding: max(12px, 19rem) max(24px, 40rem) max(14px, 21rem);
}
.header-nav-list li {
	position: relative;
}
.nav-link.link-hover {
	position: relative;
	display: block;
	font-size: var(--button);
	line-height: 100%;
	color: var(--black-400);
	text-decoration: none;
}
.nav-link:hover, .nav-link.active {
	color: var(--black);
}
.active .nav-link {
	color: var(--black);
}
.subnav {
	position: absolute;
	left: min(-20px, -20rem);
	right: 0;
	top: calc(100% + max(24px, 24rem));
	width: fit-content;
	transition: all 0.4s;
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px);
}
.subnav::before {
	position: absolute;
	left: 0;
	right: 0;
	top: min(-24px, -24rem);
	height: max(24px, 24rem);
	content: '';
}
.subnav-list {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: max(8px, 8rem);
}
.subnav-item {
	padding: max(8px, 8rem) max(20px, 20rem) max(10px, 10rem);
	font-size: var(--button);
	line-height: 100%;
	color: var(--black);
	text-decoration: none;
	white-space: nowrap;
	backdrop-filter: blur(40px);
	background: var(--black-80);
	border-radius: 100px;
}
.subnav-item:hover .link-hover .text-def {
	transform: translateY(-100%);
	transition: all 0.5s ease-in-out;
}
.subnav-item:hover .link-hover .text-hov {
	transform: translateY(0%) scale(1);
	transition: all 0.5s ease-in-out;
}
.nowrap {
	white-space: nowrap;
}

.main-page .header-fixed {
	background: transparent;
	box-shadow: none;
}
.main-page .header:not(.header-fixed) .logo-def {opacity: 0;}
.main-page .header:not(.header-fixed) .logo-white {opacity: 1;}
.main-page .header:not(.header-fixed) .button {
	color: var(--black);
	background-color: var(--white);
	border-color: var(--white);
}
.main-page .header:not(.header-fixed) .header-block::before {
	background: var(--white-160);
}
.main-page .header:not(.header-fixed) .nav-link.link-hover {
	color: var(--white-400);
}
.main-page .header:not(.header-fixed) .nav-link:hover {
	color: var(--white);
}
.main-page .header:not(.header-fixed) .active.nav-link {
	color: var(--white);
}
.main-page .header:not(.header-fixed) .subnav-item {
	color: var(--white);
	background: var(--white-160);
}
.main-page .header:not(.header-fixed) .mob-nav-block:after,
.main-page .header:not(.header-fixed) .mob-nav-block:before {
	background: var(--white);
}



/* White header */

.header-white .subnav-item {
	color: var(--white);
	background: var(--white-160);
}
.header-white .mob-nav-block:after,
.header-white .mob-nav-block:before {
	background: var(--white);
}


.main-page .header-fixed {
	background: transparent;
	box-shadow: none;
}
.header-white .logo-def {opacity: 0;}
.header-white .logo-white {opacity: 1;}
.header-white .button {
	color: var(--black);
	background-color: var(--white);
	border-color: var(--white);
}
.header-white .header-block::before {
	background: var(--white-160);
}
.header-white .nav-link.link-hover {
	color: var(--white-400);
}
.header-white .active.nav-link {
	color: var(--white);
}

@media screen and (min-width: 1025px){
	li:hover .nav-parent {color: var(--black);}
	li.active:hover .nav-parent {
		color: var(--black);
	}
	li:hover .subnav {
		opacity: 1;
		visibility: visible;
		transform: translateY(0px);
	}
	.main-page .header:not(.header-fixed) .button:hover {
		color: var(--white);
		background: var(--white-160);
		border-color: var(--white-160);
	}
	.header-blue .button {
		color: var(--white);
		background: #1d4477;
		border-color: #1d4477;
	}
	.header-blue .button:hover {
		color: var(--white);
		background: #1d4477;
		border-color: #1d4477;
	}
	.header-blue .logo-def {opacity: 0;}
	.header-blue .logo-white {opacity: 0;}
	.header-blue .logo-blue {opacity: 1;}
}

.mob-nav-icon {
	display: none;
	position: relative;
	z-index: 550;
	padding: 10px 0;
}
.mob-nav-block {
	position: relative;
	display: block;
	width: 24px;
	height: 2px;
	margin: 4px 0;
	background: transparent;
	transition: all .3s linear;
}
.mob-nav-block:after {
	content: "";
	position: absolute;
	top: -4px;
	left: 0;
	width: 24px;
	height: 2px;
	background: var(--black);
	transition: all .3s linear;
}
.mob-nav-block:before {
	content: "";
	position: absolute;
	top: 4px;
	left: 0;
	width: 24px;
	height: 2px;
	background: var(--black);
	transition: all .3s linear;
}
.mob-nav-icon.active .mob-nav-block {
	background: none;
}
.mob-nav-icon.active .mob-nav-block:before {
	top: 0;
	transform: rotate(45deg);
}
.mob-nav-icon.active .mob-nav-block:after {
	top: 0;
	transform: rotate(-45deg);
}

/************************* main-hero *************************/
.main-hero {
	position: relative;
	overflow: hidden;
	margin: 0 0 max(120px, 250rem);
}
.main-hero-bg {
	position: absolute;
	inset: 0;
}
.main-hero-bg img,
.main-hero-bg .video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.main-hero .holder {
	position: relative;
}
.main-hero-block {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: max(24px, 34rem);
	height: 100dvh;
	color: var(--white);
	text-align: center;
}
.main-hero-block h1 {
	transition: all 0.8s ease-in-out;
	transition-delay: var(--hero-content-delay);
	transform: translate(0px, 18px);
    filter: blur(8px);
    opacity: 0;
}
.main-hero-text {
	max-width: max(500px, 600rem);
	transform: translate(0px, 18px);
    filter: blur(8px);
    opacity: 0;
	transition: all 0.8s ease-in-out;
	transition-delay: calc(var(--hero-content-delay) + 0.25s);
}
.main-hero-button {
	transition: all 0.8s ease-in-out;
	transition-delay: calc(var(--hero-content-delay) + 0.5s);
	transform: translate(0px, 18px);
    filter: blur(8px);
    opacity: 0;
}
.loader-start h1,
.loader-start .main-hero-text,
.loader-start .main-hero-text,
.loader-start .main-hero-block .button-white {
	transform: translate(0px, 0px);
    filter: blur(0px);
    opacity: 1;
}
.main-hero-block .button-white{
	transition: all 0.8s ease-in-out;
	transition-delay: calc(var(--hero-content-delay) + 0.5s);
    transform: translate(0px, 18px);
    filter: blur(8px);
    opacity: 0;
}
.main-lens {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: max(320px, 566rem);
	opacity: 0;
	transition: opacity 0.8s ease-in-out, width 1.4s ease-in-out 0.8s;
}
.loader-start .main-lens {
	width: calc(100vw + max(240px, 800rem));
	opacity: 1;
}
.main-lens-img {
	width: 100%;
}
.main-page .header {
	top: min(-50px, -105rem);
	transition: all 0.8s ease-in-out;
	transition-delay: calc(var(--hero-content-delay) + 0.25s);
}
.loader-start .header {
	top: 0;
}

/************************* main ring *************************/
.ring-title {
	max-width: max(500px, 940rem);
	padding: 0 0 max(30px, 30rem);
	margin: 0 0 max(6px, 6rem);
	font-size: max(52px, 90rem);
	line-height: 100%;
	letter-spacing: -0.05em;
	border-bottom: 1px solid var(--black-160);
}
.main-ring .ring-block h4 {
	max-width: none;
}
.main-ring .ring-block {
	gap: max(20px, 20rem);
}
.footer-box .ring-title {
	max-width: max(700px, 1360rem);
	border-bottom: 1px solid var(--white-160);
}
.footer-box .button-white {
	margin: max(12px, 12rem) 0;
}
.footer-box .more {
	color: var(--white);
}
.footer-box .more::after {
	background: url(../img/arrow-right.svg) 50% 50% no-repeat;
	background-size: contain;
}

/************************* round *************************/
.round {
	position: relative;
}
.round-wrap {
	position: relative;
	overflow: hidden;
	display: flex;
	height: 100dvh;
	padding: 0 12px;
	/*background: url(../img/round-bg.svg) 50% 50% no-repeat;*/
	/*background-size: cover;*/
}
.round-line {
	display: flex;
	transform: translateX(50vw);
}
.round-box {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50vw;
	height: 100dvh;
}
.round-content {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: max(24px, 24rem);
}
.round-item {
	width: max(350px, 760rem);
	max-width: 100%;
	aspect-ratio: 1/1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: max(24px, 24rem);
	text-align: center;
	color: var(--white);
	background: #1d4477;
	border-radius: 50%;
	transform-origin: bottom center;
	scale: 0.5;
}
.round-title {
	font-size: max(52px, 89rem);
	line-height: 90%;
	letter-spacing: -0.05em;
}
.round-text {
	max-width: max(300px, 400rem);
	margin: 0 0 max(4px, 10rem);
	font-size: max(24px, 32rem);
	line-height: 100%;
	letter-spacing: -0.05em;
	color: var(--white-800);
}
.round-word {
	display: inline-block;
	will-change: transform, opacity, filter;
}
.round-item .button {
	color: var(--black);
	background-color: var(--white);
	border-color: var(--white);
}
.round-item .button:hover {
	color: var(--white);
	background: var(--white-160);
	border-color: var(--white-160);
}

/************************* hero *************************/
.hero {
	position: relative;
	margin: 0 0 max(120px, 250rem);
}
.hero-ring {
	position: absolute;
	top: 0;
	right: 0;
	width: max(310px, 760rem);
}
.hero-video {
	position: absolute;
	top: min(-100px, -200rem);
	right: min(-100px, -200rem);
	width: max(600px, 1040rem);
	aspect-ratio: 1/1;
}
.hero-video .video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.hero .holder {
	position: relative;
}
.hero-block {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	height: max(700px, 750rem);
	max-height: 100dvh;
}
.hero-block .top {
	margin: 0 0 max(24px, 40rem);
}
.hero-block .top:last-child {margin: 0;}
.hero-list li {
	position: relative;
	padding: 0 0 0 max(22px, 30rem);
}
.hero-list li::before {
	position: absolute;
	top: 50%;
	left: 0;
	content: '';
	width: max(13px, 18rem);
	height: max(13px, 18rem);
	margin-top: min(-4px, -7rem);
	background: url(../img/icon.svg) 0 0 no-repeat;
	background-size: contain;
}
.hero-team .top-text {
	max-width: max(550px, 680rem);
}
.hero-position .hero-ring {opacity: 0;}
.hero-position .top {
	position: relative;
}
.hero-position h1 {
	max-width: max(420px, 820rem);
}
.hero-position .top-text {
	max-width: max(640px, 780rem);
}
.hero-position .hero-list {
	position: absolute;
	left: max(700px, 1050rem);
	bottom: max(92px, 102rem);
}
.hero-position .top-button {
	margin-top: 20px;
}

/************************* section *************************/
.section {
	margin: 0 0 max(120px, 250rem);
}
.top {
	display: flex;
	flex-direction: column;
	gap: max(16px, 20rem);
}
.top h2 {
	color: var(--black-400);
}
.top-text {
	font-size: var(--text_L);
	line-height: 120%;
	color: var(--black-800);
}
.top-text-m {
	max-width: max(740px, 840rem);
	color: var(--black-800);
}

/************************* breadcrumbs *************************/
.breadcrumbs {
	position: absolute;
	top: max(92px, 125rem);
	left: 0;
	right: 0;
	padding: 0 max(12px, 20rem);
	z-index: 20;
	display: flex;
	flex-wrap: wrap;
	gap: max(8px, 12rem);
	padding: 0 max(12px, 20rem);
	margin: 0;
}
.breadcrumbs li {
	display: flex;
	align-items: flex-start;
	gap: max(8px, 12rem);
	padding: 0;
	margin: 0;
	font-size: var(--text_S);
	line-height: 100%;
	color: var(--black-400);
	list-style: none;
}
.breadcrumbs li::before {
	display: block;
	content: '/';
	color: var(--black);
}
.breadcrumbs li:first-child::before {display: none;}
.breadcrumbs li:last-child::before {color: var(--black-400);}
.breadcrumbs a {
	color: var(--black);
	text-decoration: none;
}

/************************* link-hover *************************/
.link-hover {
	position: relative;
	display: inline-block;
	vertical-align: top;
	overflow: hidden;
	padding: 0 2px 0 0;
}
.text-def {
	position: relative;
	display: block;
}
.text-hov {
	position: absolute;
	top: 0;
	left: 0;
	transform: translateY(100%) scale(1.6);
}
.link-hover:hover .text-def {
	transform: translateY(-100%);
	transition: all 0.5s ease-in-out;
}
.link-hover:hover .text-hov {
	transform: translateY(0%) scale(1);
	transition: all 0.5s ease-in-out;
}

/************************* info *************************/
.info .top {
	margin: 0 0 max(16px, 20rem);
}
.info-block {
	display: flex;
	gap: max(16px, 20rem);
}
.info-content {
	flex: 1;
	padding: max(32px, 32rem) max(20px, 32rem);
	background: var(--light-grey);
	border-radius: var(--radius);
}
.info-title {
	padding: 0 0 max(24px, 24rem);
	margin: 0 0 max(24px, 24rem);
	border-bottom: 1px solid var(--black-160);
}
.info-title h3 {
	max-width: max(440px, 690rem);
}
.info-title-text {
	padding: max(20px, 20rem) 0 0;
	font-size: var(--text_L);
	line-height: 120%;
}
.info-text {
	margin: 0 0 max(20px, 20rem);
	color: var(--black-800);
}
.info-text p {
	margin: 0 0 max(10px, 10rem);
}
.info-text p:last-child {
	margin: 0;
}
.info-img {
	overflow: hidden;
	width: 40.9%;
	min-width: 40.9%;
	aspect-ratio: 1/1;
	min-height: 440px;
	border-radius: var(--radius);
}
.info-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.info-inside .top h3 {display: none;}

/************************* info-box *************************/
.info-box {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: max(12px, 20rem);
}
.info-box-item {
	display: flex;
	flex-direction: column;
	padding: max(32px, 40rem);
	background: var(--light-grey);
	border-radius: var(--radius);
}
.info-box-item h4 {
	margin: 0 0 max(28px, 40rem);
}
.info-list {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: max(5px, 5rem);
	margin: 0 0 max(34px, 34rem);
}
.info-list:last-child {margin: 0;}
.info-list li {
	position: relative;
	padding: 0 0 0 max(22px, 30rem);
}
.info-list li::before {
	position: absolute;
	top: 50%;
	left: 0;
	content: '';
	width: max(13px, 18rem);
	height: max(13px, 18rem);
	margin-top: min(-5px, -8rem);
	background: url(../img/icon.svg) 0 0 no-repeat;
	background-size: contain;
}
.info-box-text {
	margin: auto 0 0;
	font-size: var(--text_S);
	line-height: 120%;
	color: var(--black-800);
}

/************************* domain *************************/
.domain .top {
	margin: 0 0 max(40px, 40rem);
}

/************************* banner-section *************************/
.banner-section .top {
	margin: 0 0 max(40px, 40rem);
	align-items: center;
	text-align: center;
}
.banner {
	overflow: hidden;
	height: max(250px, 600rem);
	border-radius: var(--radius);
}
.banner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/************************* article *************************/
.inside-block {
	display: flex;
	gap: max(16px, 20rem);
	margin: min(-50px, -105rem) 0 0;
}
.inside-side {
	flex: 1;
}
.inside-side .top {
	padding-top: max(50px, 105rem);
}
.inside-side h3 {
	max-width: max(440px, 680rem);
}
.inside-content {
	width: 40.9%;
	min-width: 40.9%;
	padding-top: calc(max(36px, 50rem) + max(50px, 105rem));
}
.inside-content h4 {
	margin: 0 0 max(40px, 40rem);
	color: var(--black-800);
}
.inside-info {
	margin: 0 0 max(35px, 35rem);
	color: var(--black-800);
}
.inside-list {
	margin: 0 0 max(34px, 34rem);
	border-bottom: 1px solid var(--black-160);
}
.inside-list:last-child {margin: 0;}
.inside-item {
	padding: max(20px, 24rem) 0;
	border-top: 1px solid var(--black-160);
}
.inside-item-text {
	position: relative;
	padding: 0 0 0 max(22px, 30rem);
	font-size: var(--text_L);
	line-height: 120%;
}
.inside-item-text::before {
	position: absolute;
	top: max(7px, 9rem);
	left: 0;
	content: '';
	width: max(13px, 18rem);
	height: max(13px, 18rem);
	background: url(../img/icon.svg) 0 0 no-repeat;
	background-size: contain;
}
.inside-item-min {
	padding: max(4px, 8rem) 0 0;
	font-size: var(--text_M);
	line-height: 120%;
	color: var(--black-800);
}
.inside-note {
	font-size: var(--text_S);
	line-height: 120%;
	color: var(--black-800);
}

/************************* process *************************/
.process .top {
	margin: 0 0 max(40px, 40rem);
}
.process .top-text {
	max-width: max(460px, 595rem);
	padding: max(20px, 20rem) 0 0;
	color: var(--black);
}
.process-block {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: max(12px, 20rem);
	margin: 0 0 max(36px, 36rem);
}
.process-block:last-child {margin: 0;}
.process-item {
	position: relative;
	overflow: hidden;
	height: max(340px, 450rem);
	padding: max(20px, 20rem) max(20px, 20rem) max(15px, 15rem);
	text-align: center;
	color: var(--black);
	background: var(--light-grey);
	border-radius: var(--radius);
	transition: color 0.4s ease-in-out;
}
.process-item:hover {
	color: var(--white);
}
.process-item::before {
	position: absolute;
	inset: 0;
	content: '';
	background: url(../img/process-bg.png) 50% 50% no-repeat;
	background-size: cover;
	opacity: 0;
	transition: all 0.4s ease-in-out;
}
.process-item:hover::before {
	opacity: 1;
}
.process-wrap {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: max(20px, 20rem);
	padding-top: max(83px, 150rem);
}
.process-2 .process-wrap {
	padding-top: max(71px, 150rem);
}
.process-text {
	max-width: max(220px, 295rem);
	font-size: var(--text_L);
	line-height: 120%;
}
.process-num {
	position: absolute;
	top: max(10px, 10rem);
	left: 50%;
	transform: translateX(-50%);
	padding: max(5px, 5rem) max(20px, 20rem) max(7px, 7rem);
	text-align: center;
	color: var(--black-600);
	background: var(--white);
	border-radius: 100px;
}
.process-bottom {
	position: absolute;
	inset: 0;
	top: auto;
	padding: 0 max(12px, 20rem) max(15px, 15rem);
	font-size: var(--text_S);
	line-height: 120%;
	text-align: center;
	color: var(--black-800);
	transition: all 0.4s ease-in-out;
}
.process-item:hover .process-bottom {
	color: var(--white-800);
}
.process-more {
	display: flex;
	flex-direction: column;
	gap: max(8px, 8rem);
}
.process-more-min {
	font-size: var(--text_S);
	line-height: 120%;
	color: var(--black-800);
}

/************************* leadership *************************/
.leadership .top {
	margin: 0 0 max(40px, 40rem);
}
.leadership .info-box-item {
	padding: max(32px, 80rem) max(32px, 40rem);
}

/************************* join *************************/
.join .top {
	align-items: center;
	text-align: center;
	margin: 0 0 max(24px, 44rem);
}
.join .top h3 {
	max-width: max(600px, 1340rem);
}
.join .top-text {
	max-width: max(520px, 650rem);
}
.form-block {
	max-width: max(640px, 770rem);
}
.join .form-block {
	margin: 0 auto;
}
.form-bottom {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	gap: 30px;
	padding: max(12px, 28rem) 0 0;
}
.form-bottom .check-item {
	max-width: max(490px, 490rem);
	margin: 0;
}
.file-label {
	position: absolute;
	inset: 0;
	cursor: pointer;
}
input[type=file]{
	position: absolute;
	left: 0;
	width: 1px;
	height: 1px;
	opacity: 0;
}
.file-label::after {
	position: absolute;
	top: 50%;
	right: max(24px, 24rem);
	content: '';
	width: max(28px, 28rem);
	height: max(28px, 28rem);
	margin-top: min(-14px, -14rem);
	background: url(../img/upload.svg) 50% 50% no-repeat;
	background-size: contain;
}
.form-note {
	max-width: max(280px, 310rem);
	font-size: max(18px, 20rem);
	line-height: 120%;
	text-align: right;
	color: var(--black-400);
}
.form-note a {
	color: var(--black-400);
}
.form-note a:hover {
	color: var(--black);
	text-decoration: underline;
}

/************************* contact *************************/
.hero-contact .hero-block {
	height: auto;
	max-height: none;
	padding-top: max(203px, 203rem);
}
.form-sent {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

/************************* career *************************/
.career .top {
	margin: 0 0 max(40px, 40rem);
}
.career .top h3 {
	max-width: max(280px, 460rem);
}
.career-block {
	display: flex;
	justify-content: space-between;
	gap: max(40px, 40rem) max(24px, 40rem);
}
.career-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: max(360px, 638rem);
	min-width: max(360px, 638rem);
	aspect-ratio: 1.16/1;
	background: url(../img/career-bg.png) 50% 50% no-repeat;
	background-size: cover;
	border-radius: var(--radius);
}
.career-logo img {
	width: max(304px, 537rem);
}
.career-content {
	max-width: max(540px, 640rem);
}
.career-text {
	margin: 0 0 max(20px, 34rem);
	font-size: var(--text_L);
	line-height: 120%;
}
.career-min {
	font-size: var(--text_S);
	line-height: 120%;
	color: var(--black-800);
}

/************************* position *************************/
.position .top {
	margin: 0 0 max(16px, 40rem);
}
.position-list {
	display: flex;
	flex-direction: column;
	gap: max(12px, 20rem);
}
.position-item {
	position: relative;
	overflow: hidden;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px 40px;
	padding: max(28px, 44rem) max(24px, 32rem);
	color: var(--black);
	text-decoration: none;
	background: var(--light-grey);
	border-radius: var(--radius);
	transition: all 0.4s ease-in-out;
}
.position-item:hover {
	padding: max(28px, 44rem) max(48px, 60rem);
	color: var(--white);
}
.position-item::before {
	position: absolute;
	inset: 0;
	content: '';
	background: url(../img/vacancy-bg.png) 50% 50% no-repeat;
	background-size: cover;
	opacity: 0;
	transition: all 0.4s ease-in-out;
}
.position-item:hover::before {
	opacity: 1;
}
.position-item h3 {
	position: relative;
}
.more {
	position: relative;
	display: inline-flex;
	padding-right: max(19px, 19rem);
	font-size: var(--button);
	line-height: 120%;
	color: var(--black);
	text-decoration: none;
	transition: all 0.4s ease-in-out;
}
.more::after {
	position: absolute;
	top: 50%;
	right: 0;
	content: '';
	width: max(9px, 9rem);
	height: max(15px, 15rem);
	margin-top: min(-5px, -5rem);
	background: url(../img/arrow-right-black.svg) 50% 50% no-repeat;
	background-size: contain;
	transition: all 0.4s ease-in-out;
}
.more:hover::after {
	transform: translateX(5px);
}
.position-item:hover .more::after {
	transform: translateX(5px);
}
.position-item:hover .more {
	color: var(--white);
}
.position-item:hover .more::after {
	background: url(../img/arrow-right.svg) 50% 50% no-repeat;
	background-size: contain;
}

/************************* article *************************/
.changes .top {
	margin: 0 0 max(40px, 40rem);
	align-items: center;
	text-align: center;
}
.changes .top h3 {
	max-width: max(560px, 870rem);
}
.changes .top-text-m {
	padding-top: max(20px, 20rem);
}
.card-block {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: max(12px, 20rem);
	margin: 0 0 max(36px, 36rem);
}
.card-block:last-child {
	margin: 0;
}
.card-item {
	position: relative;
	overflow: hidden;
	background: var(--light-grey);
	border-radius: var(--radius);
}
.card-img {
	width: 100%;
	aspect-ratio: 0.843/1;
	object-fit: cover;
	height: inherit;
}
.card-content {
	position: absolute;
	inset: 0;
	bottom: auto;
	padding: max(20px, 32rem);
	display: flex;
	flex-direction: column;
	gap: max(8px, 8rem);
}
.card-content h3::after,
.card-content h4::after {
	display: inline-block;
	vertical-align: bottom;
	content: '';
	width: max(10px, 10rem);
	height: max(10px, 10rem);
	margin: 0 0 2px 3px;
	background: url(../img/icon.svg) 50% 50% no-repeat;
	background-size: contain;
}
.card-content h3::after {
	margin: 0 0 -2px 3px;
}
.card-text {
	color: var(--black-800);
}
.card-4x {
	grid-template-columns: repeat(4, 1fr);
}
.card-num {
	display: inline-flex;
	vertical-align: top;
	margin: 0 auto max(12px, 24rem) 0;
	padding: max(5px, 5rem) max(20px, 20rem) max(7px, 7rem);
	text-align: center;
	color: var(--black-600);
	background: var(--white);
	border-radius: 100px;
}
.card-item h3 {
	margin: 0 0 max(12px, 12rem);
}
.card-text {
	max-width: max(260px, 295rem);
}
.card-4x .card-item {
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
}
.card-4x .card-img {
	max-width: max(320px, 375rem);
	aspect-ratio: 0.625 / 1;
}
.card-info {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: max(6px, 6rem);
}
.card-info-min {
	font-size: var(--text_S);
	line-height: 120%;
	color: var(--black-800);
}

/************************* strategy *************************/
.strategy .top {
	margin: 0 0 max(40px, 40rem);
}
.strategy .top h3 {
	width: max(360px, 638rem);
}
.strategy-block {
	display: flex;
	justify-content: space-between;
	gap: max(40px, 40rem) max(24px, 40rem);
}
.strategy-content {
	max-width: max(540px, 640rem);
}
.strategy-text {
	margin: 0 0 max(20px, 34rem);
	font-size: var(--text_L);
	line-height: 120%;
}
.strategy-min {
	font-size: var(--text_S);
	line-height: 120%;
	color: var(--black-800);
}
.strategy-img {
	overflow: hidden;
	width: max(360px, 638rem);
	min-width: max(360px, 638rem);
	aspect-ratio: 1.16/1;
	border-radius: var(--radius);
}
.strategy-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/************************* assessment *************************/
.assessment .top {
	margin: 0 0 max(40px, 40rem);
	align-items: center;
	text-align: center;
}
.assessment .top-text-m {
	max-width: max(550px, 650rem);
	padding-top: max(20px, 20rem);
}

/************************* execution *************************/
.execution .top {
	margin: 0 0 max(40px, 40rem);
	align-items: center;
	text-align: center;
}
.execution .top-text {
	max-width: max(580px, 740rem);
	padding-top: max(20px, 20rem);
}

/************************* article *************************/
.how .top {
	margin: 0 0 max(16px, 20rem);
}
.how .inside-side h3 {
	max-width: max(380px, 550rem);
}
.inside-bottom-text {
	max-width: max(340px, 410rem);
	margin: 0 0 max(6px, 6rem);
}

/************************* model *************************/
.model .top {
	margin: 0 0 max(40px, 40rem);
	align-items: center;
	text-align: center;
}
.model .top-text {
	max-width: max(580px, 740rem);
	padding-top: max(20px, 20rem);
}
.model-block {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: max(12px, 20rem);
}
.model-item {
	position: relative;
	overflow: hidden;
	padding: max(32px, 60rem);
	background: var(--light-grey);
	border: 1px solid var(--black-160);
	border-radius: var(--radius);
}
.model-item::before {
	position: absolute;
	inset: 0;
	content: '';
	background: url(../img/card-bg.png) 50% 50% no-repeat;
	background-size: cover;
	opacity: 0;
	transition: all 0.4s ease-in-out;
}
.model-item:hover::before {
	opacity: 1;
}
.model-wrap {
	position: relative;
	color: var(--black);
	transition: all 0.4s ease-in-out;
}
.model-item h3 {
	margin: 0 0 max(16px, 20rem);
}
.model-text {
	margin: 0 0 max(20px, 40rem);
	font-size: var(--text_L);
	line-height: 120%;
	color: var(--black-800);
	transition: all 0.4s ease-in-out;
}
.model-stat {
	display: flex;
	flex-direction: column;
	gap: max(20px, 30rem);
	padding: max(20px, 36rem) 0 0;
	border-top: 1px solid var(--black-160);
}
.model-stat-item {
	display: flex;
	gap: max(20px, 20rem);
}
.model-stat-name {
	width: max(100px, 100rem);
	min-width: max(100px, 100rem);
	color: var(--black-800);
	transition: all 0.4s ease-in-out;
}
.model-item:hover .model-wrap,
.model-item:hover .model-text {
	color: var(--white);
}
.model-item:hover .model-stat-name {
	color: var(--white-800);
}

/************************* forge *************************/
.forge .top {
	margin: 0 0 max(16px, 40rem);
	align-items: center;
	text-align: center;
}
.forge-block {
	padding: 0 max(12px, 32rem);
	background: url(../img/forge-bg.png) 50% 50% no-repeat;
	background-size: cover;
	border-radius: var(--radius);
}
.forge-tabs-item {
	color: var(--white-600);
	padding: max(24px, 32rem);
	cursor: pointer;
	transition: color 0.4s ease-in-out;
}
.slick-current.forge-tabs-item {
	color: var(--white);
}
.forge-line {
	position: relative;
	height: 1px;
	background: var(--white-600);
}
.forge-arrow {
	position: relative;
	height: 2px;
	background: var(--white);
	transition: all 0.4s ease-in-out;
}
.forge-arrow::after {
	position: absolute;
	top: -4px;
	right: -2px;
	content: '';
	width: 100px;
	height: 10px;
	background: url(../img/forge-arrow.svg) 100% 50% no-repeat;
}
.state-0 {width: 20%;}
.state-1 {width: 40%;}
.state-2 {width: 65%;}
.state-3 {width: 100%;}
.forge-slide {
	opacity: 1 !important;
}
.forge-item {
	display: flex;
	padding: max(32px, 80rem) 0 max(67px, 75rem);
	color: var(--white);
	transition: all 0.5s ease-in-out 0.5s;
}
.forge-slide:not(.slick-active) .forge-item {
	opacity: 0;
	transform: translateY(15px);
	transition-delay: 0s;
}
.forge-col {
	width: 47.5%;
}
.forge-col:last-child {
	width: 52.5%;
}
.forge-col h4 {
	margin: 0 0 max(12px, 26rem);
}
.forge-text-min {
	font-size: var(--text_S);
	line-height: 120%;
	color: var(--white-800);
}
.forge-text {
	max-width: max(410px, 490rem);
	margin: 0 0 max(32px, 40rem);
}
.forge-text:last-child {margin: 0;}
.forge-list {
	display: flex;
	flex-direction: column;
	gap: max(7px, 14rem);
	margin: 0 0 max(32px, 40rem);
}
.forge-list:last-child {margin: 0;}
.forge-list-item {
	position: relative;
	padding: 0 0 0 max(22px, 30rem);
}
.forge-list-item::before {
	position: absolute;
	top: 50%;
	left: 0;
	content: '';
	width: max(13px, 18rem);
	height: max(13px, 18rem);
	margin-top: min(-5px, -8rem);
	background: url(../img/icon-white.svg) 0 0 no-repeat;
	background-size: contain;
}

/************************* team *************************/
.team .top {
	align-items: center;
	text-align: center;
	margin: 0 0 max(40px, 40rem);
}
.team-leaders {
	max-width: max(900px, 1165rem);
	margin: 0 auto;
}
.team-block {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 min(-10px, -10rem);
	gap: max(40px, 60rem) 0;
}
.team-4x {
	max-width: none;
}
.team-4x .team-col {
	width: 25%;
}
.team-col {
	width: 33.33%;
	padding: 0 max(10px, 10rem);
}
.team-item {
	display: flex;
	flex-direction: column;
	color: var(--black);
	text-decoration: none;
}
.team-photo {
	overflow: hidden;
	aspect-ratio: 0.9375/1;
	margin: 0 0 max(12px, 15rem);
	border-radius: max(20px, 32rem);
}
.team-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 0.4s ease-in-out;
}
.team-item:hover .team-photo img {
	transform: scale(1.1);
}
.team-status {
	margin: 0 0 max(10px, 10rem);
	font-size: var(--text_S);
	line-height: 120%;
	color: var(--black-400);
}
.team-item .more {
	margin: 0 auto 0 0;
}
.team-item:hover .more::after {
	transform: translateX(5px);
}

/************************* article *************************/
.collab-top {
	display: flex;
	justify-content: space-between;
	gap: max(24px, 40rem);
	margin: 0 0 max(40px, 40rem);
}
.collab-top .top {
	flex: 1;
}
.collab-top .top-text {
	max-width: max(536px, 680rem);
	color: var(--black);
}
.team-slider {
	margin: 0 min(-10px, -10rem);
}
.team-slide {
	padding: 0 max(10px, 10rem);
}
.slider-arrows {
	display: flex;
	gap: 10px;
	margin: max(40px, 50rem) 0 0;
}
.slick-arrow {
	position: relative;
	width: max(50px, 50rem);
	height: max(50px, 50rem);
	background: url(../img/slider-arrow.svg) 55% 50% no-repeat;
	background-size: max(9px, 9rem);
}
.slick-arrow::before, .slick-arrow::after {
	position: absolute;
	inset: 0;
	content: '';
	transition: all 0.4s ease-in-out;
}
.slick-arrow::before {
	background: url(../img/arrow-ring.svg) 50% 50% no-repeat;
	background-size: contain;
}
.slick-arrow::after {
	background: url(../img/arrow-ring-hover.png) 50% 50% no-repeat;
	background-size: contain;
	opacity: 0;
}
.slick-arrow:hover::before {
	opacity: 0;
	transform: rotate(90deg);
}
.slick-arrow:hover::after {
	opacity: 1;
	transform: rotate(90deg);
}
.team-prev {
	transform: scale(-1, 1);
}
.slick-arrow.slick-disabled {
	opacity: 0.1;
	pointer-events: none;
}

/************************* stat *************************/
.stat-top {
	display: flex;
	justify-content: space-between;
	gap: max(16px, 40rem);
	margin: 0 0 max(40px, 40rem);
}
.stat-top .top {
	min-width: max(300px, 460rem);
}
.stat-top h3 {
	max-width: max(300px, 460rem);
}
.stat-top-text {
	max-width: max(540px, 640rem);
	margin: max(40px, 50rem) 0 0;
}
.stat-block {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 min(6px, -10rem);
	gap: max(12px, 20rem) 0;
}
.stat-col {
	width: 33.33%;
	padding: 0 max(6px, 10rem);
}
.stat-item {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: max(300px, 450rem);
	color: var(--black);
	text-decoration: none;
	background: var(--light-grey);
	border-radius: var(--radius);
	transition: color 0.4s ease-in-out;
}
.stat-item:hover {
	color: var(--white);
}
.stat-item::before {
	position: absolute;
	inset: 0;
	content: '';
	background: url(../img/stat-bg.png) 50% 50% no-repeat;
	background-size: cover;
	opacity: 0;
	transition: all 0.4s ease-in-out;
}
.stat-item:hover::before {
	opacity: 1;
}
.stat-label {
	position: absolute;
	top: max(20px, 20rem);
	left: 50%;
	transform: translateX(-50%);
	padding: max(5px, 5rem) max(20px, 20rem) max(7px, 7rem);
	color: var(--black-600);
	white-space: nowrap;
	background: var(--white);
	border-radius: 100px;
}
.stat-num {
	position: relative;
	font-size: var(--caption);
	line-height: 80%;
	letter-spacing: -0.05em;
}
.stat-num-min {
	padding: 0 0 0 max(3px, 5rem);
	font-size: var(--decor);
}

/************************* article *************************/
.ring {
	position: relative;
	display: flex;
	align-items: center;
	height: max(700px, 900rem);
	margin: 0 0 max(120px, 250rem);
}
.ring .holder {
	width: 100%;
}
.ring-block {
	position: relative;
	z-index: 10;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: max(20px, 34rem);
	text-align: center;
}
.ring-text {
	color: var(--black-800);
}
.ring-caption {
	font-size: var(--caption);
	line-height: 80%;
	letter-spacing: -0.05em;
}
.ring-block h4 {
	max-width: max(480px, 640rem);
}
.ring-block h2 {
	margin: 0 0 -10px;
	color: var(--black-400);
}
.ring-text-min {
	margin-top: -10px;
	font-size: var(--text_S);
	line-height: 120%;
	color: var(--black-800);
}
.ring-shape {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: max(720px, 914rem);
	aspect-ratio: 1/1;
	pointer-events: none;
}
.ring-shape svg {
	width: 100%;
	height: 100%;
	will-change: transform;
}

/* Main ring -> round slider: one pinned GSAP scene. */
.ring-round-stage {
	position: relative;
	height: 100dvh;
	margin: 0 0 max(120px, 250rem);
}
.ring-round-stage > .main-ring,
.ring-round-stage > .round-section,
.ring-round-stage > .ring-closing {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
}
.ring-round-stage-ready .ring-shape {
	transform: none;
}
.ring-round-stage > .main-ring:not(.ring-closing) {
	z-index: 3;
	background: var(--white);
}
.ring-round-stage-ready > .main-ring.ring-line::after {
	display: none;
}
.main-ring-sequence-line {
	position: absolute;
	top: min(-135px, -220rem);
	left: 50%;
	z-index: 11;
	width: 33px;
	height: max(312px, 482rem);
	background: url(../img/line.png) 50% 100% no-repeat;
	background-size: 100% auto;
	opacity: 0;
	clip-path: inset(0 0 100% 0);
	transform: translateX(-50%);
	pointer-events: none;
	will-change: transform, clip-path, opacity;
}
@media (min-width: 768px) {
	.ring-round-stage .ring-closing .main-ring-sequence-line {
		top: min(-165px, -250rem);
	}
	
}
.ring-round-stage-ready .main-ring.ring-scroll-sequence > .holder .ring-block > *,
.ring-round-stage-ready .main-ring.ring-scroll-sequence > .holder > .ring-shape {
	transition: none !important;
}
.ring-round-stage > .round-section {
	z-index: 2;
}
.ring-round-stage > .ring-closing {
	z-index: 1;
	background: var(--white);
}
.ring-round-stage .round,
.ring-round-stage .round-wrap {
	height: 100%;
}
.ring-round-stage .round-wrap {
	padding-right: 0;
	padding-left: 0;
	background-color: var(--white);
}
.ring-round-stage-ready > .main-ring:not(.ring-closing) .ring-shape {
	will-change: transform, opacity, filter;
}
.header-transition-ready .header-logo img,
.main-page .header.header-transition-ready .nav-bottom .button {
	transition: none !important;
}
.header-transition-dark .logo-default,
.header-transition-dark .logo-blue,
.header-transition-dark .logo-white {
	opacity: 0;
	transition: none !important;
}
.main-page .header.header-transition-dark .nav-bottom .button {
	opacity: 0;
	transition: none;
}
.header-transition-invert {
	position: fixed;
	z-index: 301;
	margin: 0;
	padding: 0;
	color: transparent;
	background: var(--white);
	border-color: var(--white);
	opacity: 0;
	pointer-events: none;
	box-shadow: none;
	mix-blend-mode: difference;
	transition: none;
}
.header-transition-invert-label {
	position: fixed;
	z-index: 302;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 400;
	font-size: var(--button);
	line-height: 90%;
	letter-spacing: -0.02em;
	color: var(--white);
	opacity: 0;
	pointer-events: none;
	mix-blend-mode: difference;
	transition: none;
}
.header-transition-invert.is-active,
.header-transition-invert-label.is-active {
	opacity: 1;
}
.header-transition-invert-logo {
	position: fixed;
	z-index: 302;
	display: block;
	max-width: none;
	transform: translateZ(0);
	background: rgba(255, 255, 255, 0.001);
	opacity: 0;
	pointer-events: none;
	will-change: opacity, backdrop-filter;
	-webkit-mask-image: var(--header-transition-logo-mask);
	mask-image: var(--header-transition-logo-mask);
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	-webkit-backdrop-filter: grayscale(1) contrast(100) invert(1);
	backdrop-filter: grayscale(1) contrast(100) invert(1);
	transition: none;
}
.header-transition-invert-logo.is-active {
	opacity: 1;
}
.ring.ring-reveal-ready {
	--ring-content-delay: 0.1s;
}
.ring.ring-line.ring-reveal-ready {
	--ring-content-delay: 1s;
}
.ring.ring-reveal-ready:not(.is-revealed) > .holder .ring-block > * {
	opacity: 0;
	filter: blur(7px);
	transform: translateY(18px);
	transition: none;
}
.ring.ring-reveal-ready.is-revealed > .holder .ring-block > * {
	transition:
		opacity 0.8s linear,
		filter 0.9s cubic-bezier(0.45, 0, 0.55, 1),
		transform 0.9s cubic-bezier(0.45, 0, 0.55, 1);
}
.ring.ring-reveal-ready.is-revealed > .holder .ring-block > * {
	opacity: 1;
	filter: none;
	transform: none;
}
.ring.ring-reveal-ready.is-revealed > .holder .ring-block > :nth-child(1) { transition-delay: var(--ring-content-delay); }
.ring.ring-reveal-ready.is-revealed > .holder .ring-block > :nth-child(2) { transition-delay: calc(var(--ring-content-delay) + 0.25s); }
.ring.ring-reveal-ready.is-revealed > .holder .ring-block > :nth-child(3) { transition-delay: calc(var(--ring-content-delay) + 0.5s); }
.ring.ring-reveal-ready.is-revealed > .holder .ring-block > :nth-child(4) { transition-delay: calc(var(--ring-content-delay) + 0.75s); }
.ring.ring-reveal-ready.is-revealed > .holder .ring-block > :nth-child(5) { transition-delay: calc(var(--ring-content-delay) + 0.95s); }
.ring.ring-reveal-ready.is-revealed > .holder .ring-block > :nth-child(6) { transition-delay: calc(var(--ring-content-delay) + 1.15s); }
.ring.ring-reveal-ready:not(.is-revealed) > .holder > .ring-shape {
	opacity: 0;
	transform: translate(-50%, -50%) scale(0.88);
	transition: none;
}
.ring.ring-reveal-ready.is-revealed > .holder > .ring-shape {
	transition:
		opacity 1.5s linear,
		transform 1.5s cubic-bezier(0.45, 0, 0.55, 1);
}
.ring.ring-reveal-ready.is-revealed > .holder > .ring-shape {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}
.ring.ring-line.ring-reveal-ready:not(.is-revealed)::after {
	opacity: 0;
	clip-path: inset(0 0 100% 0);
	transition: none;
}
.ring.ring-line.ring-reveal-ready.is-revealed::after {
	transition:
		opacity 0.35s linear,
		clip-path 0.95s cubic-bezier(0.45, 0, 0.55, 1);
	opacity: 1;
	clip-path: inset(0);
}
@media (prefers-reduced-motion: reduce) {
	.ring.ring-reveal-ready > .holder .ring-block > *,
	.ring.ring-reveal-ready > .holder > .ring-shape,
	.ring.ring-line.ring-reveal-ready::after {
		transition: none;
	}
}
.ring-line::after {
	position: absolute;
	top: min(-120px, -220rem);
	left: 50%;
	transform: translateX(-50%);
	content: '';
	width: 33px;
	height: max(312px, 482rem);
	background: url(../img/line.png) 50% 100% no-repeat;
	background-size: 100% auto;
}

/************************* article *************************/
.article {
	max-width: max(650px, 770rem);
	margin: 0 auto;
	color: var(--black-800);
}
.article ul {
	padding: 0 0 0 max(30px, 36rem);
	margin: 0 0 max(22px, 29rem);
}
.article ul li {
	list-style-type: disc;
}
.article ol {
	padding: 0 0 0 max(30px, 36rem);
	margin: 0 0 max(22px, 29rem);
}
.article ul:last-child,
.article ol:last-child {margin: 0;}

/************************* sitemap *************************/
.sitemap {
	padding: max(209px, 243rem) 0 0;
}
.sitemap h1 {
	margin: 0 0 max(60px, 60rem);
}
.sitemap-item {
	margin: 0 0 max(55px, 55rem);
}
.sitemap-item:last-child {
	margin: 0;
}
.sitemap-item h3 {
	margin: 0 0 max(14px, 14rem);
	line-height: 100%;
}
.sitemap a {
	color: var(--black);
	text-decoration: none;
}
.sitemap-list {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: max(8px, 8rem);
}

/************************* footer *************************/
.footer {
	position: fixed;
	inset: 0;
	top: auto;
	z-index: 10;
	height: max(340px, 432rem);
	clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
}
.footer-box {
	position: relative;
	z-index: 50;
	display: flex;
	align-items: center;
	justify-content: center;
	height: max(1000px, 900rem);
	background: url(../img/bg.jpg) 50% 50% no-repeat;
	background-size: cover;
	border-radius: 0 0 40px 40px;
}
.footer-box-block {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: max(20px, 20rem);
	padding: 0 max(12px, 20rem);
	text-align: center;
	color: var(--white);
}
.footer-box-block h2 {
	color: var(--white-600);
}
.footer-box-block h3 {
	max-width: max(400px, 620rem);
}
.footer-box-text {
	max-width: max(440px, 540rem);
	font-size: var(--text_L);
	line-height: 120%;
}
.footer-ring {
	position: relative;
	max-width: max(352px, 352rem);
	margin: max(40px, 40rem) 0 0;
}
.footer-ring svg {
	width: 100%;
}
.footer-ring-link {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	padding-right: max(19px, 19rem);
	font-size: max(18px, 18rem);
	line-height: 120%;
	color: var(--white);
	text-decoration: none;
}
.footer-ring-link::after {
	position: absolute;
	top: 50%;
	right: 0;
	content: '';
	width: max(9px, 9rem);
	height: max(15px, 15rem);
	margin-top: min(-7px, -7rem);
	background: url(../img/arrow-right.svg) 50% 50% no-repeat;
	background-size: contain;
	transition: all 0.4s ease-in-out;
}
.footer-ring-link:hover::after {
	transform: translateX(5px);
}
.footer-fix {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 0 max(12px, 20rem) max(40px, 80rem);
}
.footer-logo img {
	width: max(176px, 490rem);
}
.footer-up {
	font-size: var(--button);
	line-height: 120%;
	color: var(--white);
	text-decoration: none;
}
.footer-active .footer-main {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
}
.footer-main {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: max(340px, 432rem);
	padding: max(32px, 40rem) max(12px, 20rem) max(20px, 20rem);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
.footer-top {
	display: flex;
	gap: 20px;
}
.footer-col {
	width: max(200px, 244rem);
}
.footer-col:first-child {
	width: auto;
	flex: 1;
}
.footer-col h3 {
	max-width: max(400px, 540rem);
	margin: 0 0 max(20px, 20rem);
	font-size: max(24px, 36rem);
	line-height: 100%;
}
.footer-title a {
	color: var(--black);
	text-decoration: none;
}
.footer-nav {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.footer-nav-link {
	color: var(--black-600);
	text-decoration: none;
}
.footer-bottom {
	display: flex;
	gap: max(5px, 5rem) 20px;
	font-size: var(--text_S);
	line-height: 120%;
}
.footer-link {
	color: var(--black-600);
	text-decoration: none;
}
.footer-studio {
	white-space: nowrap;
}
.footer-studio img {
	width: max(24px, 25rem);
	margin: 0 max(2px, 2rem);
}
.footer-studio a {
	position: relative;
	color: var(--black);
	text-decoration: none;
}

/************************* media *************************/
@media screen and (max-width: 1300px) {

}
@media screen and (max-width: 1024px) {
	.header-block {
		height: max(50px, 105rem);
	}
	.header-block::before {
		display: none;
	}
	.header-logo {left: 0;}
	.mob-nav-icon {
		display: block;
		margin: 0 0 0 auto;
	}
	.mob-nav-icon.active .mob-nav-block:before,
	.mob-nav-icon.active .mob-nav-block:after {
		background: var(--white);
	}
	.lock .logo-default {opacity: 0;}
	.lock .logo-white {opacity: 1;}
	.header-nav {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 540;
		overflow: hidden;
		box-sizing: border-box;
		box-shadow: none;
		display: block;
		height: 100dvh;
		background: url(../img/nav-bg.png) 50% 50% no-repeat;
		background-size: cover;
		transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}
	.header-nav.vis {
		opacity: 1;
		visibility: visible;
		pointer-events: all;
	}
	.header-nav-wrap {
		overflow: hidden;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		height: 100dvh;
		padding-top: 78px;
		padding-bottom: 90px;
		flex-direction: column;
		justify-content: flex-start;
		align-items: stretch;
		backdrop-filter: blur(30px);
		background: var(--black-80);
	}
	.header-nav-list {
		position: relative;
		left: auto;
		right: auto;
		top: auto;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 8px;
		padding: 0 16px;
		height: 100%;
		margin: 0;
		overflow-y: auto;
	}
	.header-nav-list::before {display: none;}
	.header-nav-list > li {
		overflow: hidden;
		backdrop-filter: blur(20px);
		background: var(--white-160);
		border: 1px solid var(--white-160);
		border-radius: 32px;
	}
	.nav-link.link-hover {
		position: relative;
		display: block;
		padding: 19px 28px 21px;
		font-size: 22px;
		line-height: 110%;
		letter-spacing: -0.02em;
		color: var(--white);
		text-decoration: none;
		-webkit-tap-highlight-color: transparent;
	}
	.nav-link.link-hover .text-hov {display: none;}
	.nav-link.link-hover:hover .text-def {
		transform: none;
	}
	.nav-parent::after {
		position: absolute;
		top: 50%;
		right: 28px;
		content: '';
		width: 24px;
		height: 24px;
		margin-top: -12px;
		background: url(../img/nav-arrow.svg) 50% 50% no-repeat;
		background-size: contain;
		transition: all 0.3s linear;
	}
	.nav-parent.nav-active::after {
		transform: rotate(180deg);
	}
	.subnav {
		display: none;
		position: static;
		width: auto;
		padding: 0 28px 28px;
		backdrop-filter: none;
		background: none;
		border-radius: 0;
		transition: none;
		opacity: 1;
		visibility: visible;
		transform: none;
	}
	.subnav::before {display: none;}
	.subnav-list {
		gap: 10px;
		padding: 16px 0 0;
		border-top: 1px solid var(--white-400);
	}
	.subnav-item {
		padding: 0;
		font-size: 22px;
		line-height: 110%;
		color: var(--white);
		border-radius: 0;
		background: none;
		backdrop-filter: none;
		border-radius: 0;
	}
	.main-page .header:not(.header-fixed) .subnav-item {
		background: none;
	}
	.nav-bottom {
		position: absolute;
		left: 0;
		right: 0;
		top: auto;
		bottom: 0;
		padding: 12px;
		align-items: center;
		transition: all 0.4s 0.3s;
		opacity: 0;
		transform: translateY(-10px);
	}
	.header-nav.vis .nav-bottom {
		opacity: 1;
		transform: translateY(0px);
		visibility: visible;
	}
	.nav-bottom .button {
		width: 100%;
		padding: 18px max(28px, 40rem) 21px;
		font-size: 22px;
		line-height: 110%;
	}
	.nav-bottom .button-black {
		color: var(--black);
		background: var(--white);
		border-color: transparent;
	}
	.nav-bottom .button-black:hover {
		color: var(--white);
		background-color: var(--white-160);
		border-color: var(--white);
	}
	.inside-block {
		flex-direction: column;
		margin: 0;
	}
	.inside-side .top {
		padding-top: 0;
	}
	.inside-content {
		width: auto;
		min-width: 1px;
		padding-top: 0;
	}
	.process-block {
		grid-template-columns: repeat(2, 1fr);
	}
	.card-block {
		grid-template-columns: repeat(2, 1fr);
	}
	.footer-top {
		flex-wrap: wrap;
		gap: 40px 0;
	}
	.footer-top .footer-col:first-child {
		width: 100%;
		flex: none;
		padding: 0 0 20px;
	}
	.footer-top .footer-col {
		width: 50%;
	}
	#smooth-content {
		padding-bottom: 616px;
	}
	.footer {
		height: 616px;
	}
	.footer-main {
		padding: 80px max(12px, 20rem) 32px;
	}
	.footer-bottom {
		flex-direction: column;
	}
	.footer-col {
		width: auto;
	}
	.stat-col {
		width: 50%;
	}
	.hero-position .hero-ring {opacity: 1;}
	.hero-position .hero-list {
		position: static;
	}
	.hero-position .top-button {
		margin-top: 8px;
	}
	.team-4x .team-col {
		width: 33.33%;
	}

}
@media screen and (max-width: 767px) {
	.hide-on-mobile{
		display: none;
	}

	.footer-copy{
		color: var(--black-600);
		margin: 5px 0 5px 0;
	}

	.pin-spacer{
		margin-bottom: 0 !important;
	}
	#wrapper {overflow: hidden;}
	h3, .h3 {
		line-height: 100%;
	}
	.footer-box {
		background: url(../img/bg-mob.png) 50% 50% no-repeat;
		background-size: cover;
	}
	.strategy-block {
		flex-direction: column;
		gap: max(40px, 40rem) max(24px, 40rem);
	}
	.process-block {
		grid-template-columns: repeat(1, 1fr);
	}
	.process-item {
		height: 300px;
	}
	.card-block {
		grid-template-columns: repeat(1, 1fr);
	}
	.info-block {
		flex-direction: column-reverse;
		gap: 12px;
	}
	.info-img {
		width: 100%;
		min-width: 1px;
		min-height: 1px;
	}
	.info-content {
		padding: 40px max(20px, 32rem);
	}
	.info-inside .top h3 {
		display: block;
		max-width: 340px;
	}
	.info-inside .top {
		margin: 0 0 40px;
	}
	.banner-section .top h3 {
		max-width: 320px;
	}
	.process-text {
		max-width: 270px;
	}
	.info-box {
		grid-template-columns: repeat(1, 1fr);
	}
	.stat-top {
		flex-direction: column;
	}
	.stat-top .top {
		min-width: 1px;
	}
	.stat-top-text {
		margin: 0;
	}
	.stat-item::before {
		background: url(../img/stat-bg-mob.png) 50% 50% no-repeat;
		background-size: cover;
	}
	.stat-item.ani_start {
		color: var(--white);
	}
	.stat-item.ani_start::before {
		opacity: 1;
	}
	.process-item.ani_start {
		color: var(--white);
	}
	.process-item::before {
		background: url(../img/process-bg-mob.png) 50% 50% no-repeat;
		background-size: cover;
	}
	.process-item.ani_start::before {
		opacity: 1;
	}
	.process-item.ani_start .process-bottom {
		color: var(--white-800);
	}
	.team-col {
		width: 50%;
	}
	.team-4x .team-col {
		width: 50%;
	}
	.team .top {
		align-items: flex-start;
		text-align: left;
	}
	.collab {
		position: relative;
		padding-bottom: 74px;
	}
	.collab .slider-arrows {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		justify-content: center;
		gap: 10px;
		margin: 0;
	}
	.slick-arrow::before {
		opacity: 0;
		transform: rotate(90deg);
	}
	.slick-arrow::after {
		opacity: 1;
		transform: rotate(90deg);
	}
	.slick-arrow.slick-disabled::before {
		opacity: 1;
	}
	.slick-arrow.slick-disabled::after {
		opacity: 0;
	}
	.hero-team .top-text {
		max-width: 340px;
	}
	.career-block {
		flex-direction: column;
	}
	.career-logo {
		width: 100%;
		min-width: 1px;
	}
	.position-item {
		flex-direction: column;
		align-items: flex-start;
	}
	.position-item:hover {
		padding: max(28px, 44rem) max(24px, 32rem);
	}
	.join .top {
		align-items: flex-start;
		text-align: left;
	}
	.input-box .wpcf7-form-control-wrap {
		width: 100%;
	}
	.input-box-mob .wpcf7-form-control-wrap {
		width: calc(50% - max(6px, 6rem));
	}
	.form-bottom {
		flex-direction: column;
		gap: 24px;
		padding: 8px 0 0;
	}
	.hero-contact .hero-block {
		padding-top: 314px;
	}
	.form-note {
		text-align: left;
	}
	.model-block {
		grid-template-columns: repeat(1, 1fr);
	}
	.model-item.ani_start::before {
		opacity: 1;
	}
	.model-item.ani_start .model-wrap,
	.model-item.ani_start .model-text {
		color: var(--white);
	}
	.model-item.ani_start .model-stat-name {
		color: var(--white-800);
	}
	.model-item::before {
		background: url(../img/card-bg-mob.png) 50% 50% no-repeat;
		background-size: cover;
	}
	.card-4x .card-item {
		aspect-ratio: 0.843 / 1;
	}
	.card-4x .card-img {
		width: auto;
	}
	.assessment .top {
		align-items: flex-start;
		text-align: left;
	}
	.assessment .top-text-m {
		padding-top: 0;
	}
	.card-info {
		align-items: flex-start;
		text-align: left;
	}
	.execution .top {
		align-items: flex-start;
		text-align: left;
	}
	.execution .top-text {
		padding-top: 0;
	}
	.model .top {
		align-items: flex-start;
		text-align: left;
	}
	.model .top-text {
		padding-top: 0;
	}
	.forge-block {
		margin: 0 min(-12px, -20rem);
		background: url(../img/forge-bg-mob.png) 50% 50% no-repeat;
		background-size: cover;
		border-radius: 0;
	}
	.forge-item {
		flex-direction: column;
		gap: 56px;
	}
	.forge-col {
		width: 100%;
	}
	.forge-col:last-child {
		width: 100%;
	}
	.forge-tabs {
		margin: 0 -12px;
	}
	.forge-tabs-item {
		width: 270px;
	}
	.forge-arrow::after {
		width: 20px;
	}
	.state-0 {width: 25%;}
	.state-1 {width: 50%;}
	.state-2 {width: 75%;}
	.state-3 {width: 100%;}
	.position-item::before {
		background: url(../img/card-bg-mob.png) 50% 50% no-repeat;
		background-size: cover;
	}
	.ring-line::after {
		background: url(../img/line-mob.png) 50% 100% no-repeat;
		background-size: 100% auto;
	}
	.main-ring.ring-line::after {
		top: -100px;
		height: 250px;
	}
	.ring-title {
		padding: 0 0 24px;
		margin: 0;
		max-width: 340px;
	}
	.main-ring .ring-block {
		gap: 24px;
	}
	.main-ring .ring-block h4 {
		max-width: 310px;
	}
	.footer-box .button-white {
		margin: 4px 0;
	}
	.main-hero-text {
		max-width: 290px;
	}
	/*.round-wrap {*/
	/*	background: url(../img/round-bg-mob.svg) 50% 50% no-repeat;*/
	/*	background-size: cover;*/
	/*}*/
	.round-box {
		width: 100vw;
	}


}
@media screen and (max-width: 576px) {
	.hero-video {
		top: min(-100px, -200rem);
		right: min(-400px, -200rem);
		width: max(800px, 1040rem);
	}
	.stat-col {
		width: 100%;
	}
	.team-4x .team-col,
	.team-col {
		width: 100%;
	}
	.model-stat-item {
		flex-direction: column;
		gap: 8px;
	}
	.model-stat-name {
		width: auto;
		min-width: 1px;
	}

}
