:root {
	--font-family-base: 'DM Sans', sans-serif;
	--font-family-heading: 'Lora', sans-serif;
	--font-family-mono: 'DM Mono', sans-serif;
	--font-weight-base: 400;
	--font-weight-heading: 600;
	--line-height-base: 1.5;
	--line-height-heading: 1.15;

	--color-body-text: #2B313B;
	--color-body-head: #0C0E12;
	--color-blue: #004F9D;
	--color-blue-light: #9FCBFF;
	--color-blue-grey: #EAF1FA;
	--color-white: #fff;
	--color-light: rgba(255, 255, 255, 0.86);
	--color-v-light: rgba(255, 255, 255, 0.70);
	--color-grey: #6C7480;
	--color-grey-blue: #AAB4C4;
	--color-bg-light: #F3F5F8;
	--color-bg-dark: #0C0E12;

	--sp-48-64: clamp(3rem, 2.6154rem + 1.5385vw, 4rem); /* 48 - 64 */
	--sp-40-80: clamp(2.5rem, 1.5385rem + 3.8462vw, 5rem); /* 40 - 80 */
	--sp-32-64: clamp(2rem, 1.2308rem + 3.0769vw, 4rem);  /* 32 - 64 */
	--sp-24-48: clamp(1.5rem, 0.9231rem + 2.3077vw, 3rem); /* 24 - 48 */
	--sp-24-40: clamp(1.5rem, 1.1154rem + 1.5385vw, 2.5rem); /* 24 - 40 */
	--sp-16-40: clamp(1rem, 0.4231rem + 2.3077vw, 2.5rem); /* 16 - 40 */
	--sp-16-64: clamp(1rem, -0.1538rem + 4.6154vw, 4rem); /* 16 - 64 */
	--sp-16-32: clamp(1rem, 0.6154rem + 1.5385vw, 2rem); /* 16 - 32 */
	--sp-16-24: clamp(1rem, 0.8077rem + 0.7692vw, 1.5rem);  /* 16 - 24 */
	--sp-12-24: clamp(0.75rem, 0.4615rem + 1.1538vw, 1.5rem);  /* 12 - 24 */
}

html {
	-webkit-font-smoothing: antialiased;
	font-family: var(--font-family-base)!important;
	scroll-behavior: smooth;
	overflow-x: clip;
}
body {
	overflow-x: clip;
	font-family: var(--font-family-base)!important;
	font-weight: var(--font-weight-base)!important;
	line-height: var(--line-height-base)!important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--color-body-text)!important;
	font-size: 16px!important;
}
section {
	overflow-x: clip;
	z-index: 1;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h4, .h5, .h6, .ff--head {
	font-family: var(--font-family-heading)!important;
	line-height: var(--line-height-heading)!important;
	font-weight: var(--font-weight-heading)!important;
	color: var(--color-body-head);
}
.ff--mono {
	font-family: var(--font-family-mono);
	line-height: var(--line-height-heading);
}
.fs--italic {
	font-style: italic;
}
.tt--upper {
	text-transform: uppercase;
}

/* 44 - 88px */
.fs--88 {
	font-size: clamp(2.75rem, 1.6923rem + 4.2308vw, 5.5rem);!important;
}
/* 40 - 78px */
.fs--78 {
	font-size: clamp(2.5rem, 1.5865rem + 3.6538vw, 4.875rem)!important;
}
/* 34 - 52px */
.fs--52 {
	font-size: clamp(2.125rem, 1.6923rem + 1.7308vw, 3.25rem)!important;
}
/* 28 - 42px */
.fs--42 {
	font-size: clamp(1.75rem, 1.4135rem + 1.3462vw, 2.625rem)!important;
}
/* 28 - 40px */
.fs--40 {
	font-size: clamp(1.75rem, 1.4615rem + 1.1538vw, 2.5rem)!important;
}
/* 24 - 28px */
.fs--28 {
	font-size: clamp(1.5rem, 1.3864rem + 0.4545vw, 1.75rem)!important;
}
/* 24 - 26px */
.fs--26 {
	font-size: clamp(1.5rem, 1.4519rem + 0.1923vw, 1.625rem)!important;
}
/* 20 - 22px */
.fs--22 {
	font-size: clamp(1.25rem, 1.2019rem + 0.1923vw, 1.375rem)!important;
}
/* 20px */
.fs--20 {
	font-size: 20px!important;
}
/* 16 - 18px */
.fs--18 {
	font-size: clamp(1rem, 0.9519rem + 0.1923vw, 1.125rem)!important;
}
/* 14px - 16px */
.fs--16 {
	font-size: clamp(0.875rem, 0.8269rem + 0.1923vw, 1rem)!important;
}
/* 14px */
.fs--14 {
	font-size: 14px!important;
}
/* 13px */
.fs--13 {
	font-size: 13px!important;
}
/* 12px */
.fs--12 {
	font-size: 12px!important;
}
/* 10px */
.fs--10 {
	font-size: 10px!important;
}

.fw--700 {
	font-weight: 700!important;
}
.fw--600 {
	font-weight: 600!important;
}
.fw--500 {
	font-weight: 500!important;
}
.fw--400 {
	font-weight: 400!important;
}

.fc--white {
	color: var(--color-white)!important;
}
.fc--light {
	color: var(--color-light)!important;
}
.fc--v-light {
	color: var(--color-v-light)!important;
}
.fc--blue {
	color: var(--color-blue)!important;
}
.fc--blue-light {
	color: var(--color-blue-light)!important;
}
.fc--grey {
	color: var(--color-grey)!important;
}
.fc--grey-blue {
	color: var(--color-grey-blue)!important;
}

.text-decor span {
	color: var(--color-blue)!important;
	font-style: italic;
}
.text-decor.--light span {
	color: var(--color-blue-light)!important;
	font-style: italic;
}
.ast-container {
	flex-direction: column;
	max-width: 100%!important;
	padding: 0!important;
}
.container {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	max-width: 1400px;
	padding: clamp(4rem, 2.1731rem + 7.3077vw, 8.75rem) 20px; /* 64 - 140px */
	position: relative;
	display: flex;
	flex-direction: column;
}

.bg--light {
	background-color: var(--color-bg-light);
}
.bg--dark {
	background-color: var(--color-bg-dark);
}

.max-w--1200 {
	width: 100%;
	max-width: 1200px;
}
.max-w--1150 {
	width: 100%;
	max-width: 1150px;
}
.max-w--1100 {
	width: 100%;
	max-width: 1100px;
}
.max-w--1000 {
	width: 100%;
	max-width: 1000px;
}
.max-w--900 {
	width: 100%;
	max-width: 900px;
}
.max-w--850 {
	width: 100%;
	max-width: 850px;
}
.max-w--800 {
	width: 100%;
	max-width: 800px;
}
.max-w--770 {
	width: 100%;
	max-width: 770px;
}
.max-w--750 {
	width: 100%;
	max-width: 750px;
}
.max-w--700 {
	width: 100%;
	max-width: 700px;
}
.max-w--650 {
	width: 100%;
	max-width: 650px;
}
.max-w--600 {
	width: 100%;
	max-width: 600px;
}
.max-w--550 {
	width: 100%;
	max-width: 550px;
}
.max-w--500 {
	width: 100%;
	max-width: 500px;
}
.max-w--450 {
	width: 100%;
	max-width: 450px;
}
.max-w--400 {
	width: 100%;
	max-width: 400px;
}
.max-w--350 {
	width: 100%;
	max-width: 350px;
}
.max-w--300 {
	width: 100%;
	max-width: 300px;
}
.full-w {
	width: 100%;
	max-width: 100vw;
	padding-left: 0;
	padding-right: 0;
}

.align--center {
	margin-left: auto;
	margin-right: auto;
}
.text--center {
	text-align: center;
	align-items: center!important;
}

.col-wrap {
	display: flex;
	gap: var(--sp-40-80);
}
.col--80,
.col--75,
.col--70, 
.col--65,
.col--60,
.col--55, 
.col--50, 
.col--45,
.col--40,
.col--35,
.col--30,
.col--25,
.col--20 {
	position: relative;
}
.col--80 {
	width: 80%;
}
.col--75 {
	width: 75%;
}
.col--70 {
	width: 70%;
}
.col--65 {
	width: 65%;
}
.col--60 {
	width: 60%;
}
.col--55 {
	width: 55%;
}
.col--50 {
	width: 50%;
}
.col--45 {
	width: 45%;
}
.col--40 {
	width: 40%;
}
.col--35 {
	width: 35%;
}
.col--30 {
	width: 30%;
}
.col--25 {
	width: 25%;
}
.col--20 {
	width: 20%;
}
@media (max-width: 768px) {
	.col-wrap {
		flex-direction: column;
	}
	.col-wrap--rev {
		flex-direction: column-reverse!important
	}
	.col--80,
	.col--75,
	.col--70, 
	.col--65,
	.col--60,
	.col--55, 
	.col--50, 
	.col--45,
	.col--40,
	.col--35,
	.col--30,
	.col--25,
	.col--20 {
		width: 100%;
	}
}

.pad-t--0 {
	padding-top: 0;
}
.pad-b--0 {
	padding-bottom: 0;
}
.pad-t--sm {
	padding-top: clamp(2rem, 0.8462rem + 4.6154vw, 5rem); /* 32 - 80px */
}
.pad-b--sm {
	padding-bottom: clamp(2rem, 0.8462rem + 4.6154vw, 5rem); /* 32 - 80px */
}
.mb--4 {
	margin-bottom: 4px;
}
.mb--6 {
	margin-bottom: 6px;
}
.mb--8 {
	margin-bottom: 8px;
}
.mb--12 {
	margin-bottom: 12px;
}
.mb--16 {
	margin-bottom: 16px;
}
.mb--24 {
	margin-bottom: 24px;
}
.mb--32 {
	margin-bottom: 32px;
}
.mb--40 {
	margin-bottom: 40px;
}
.mb--48 {
	margin-bottom: 48px;
}
.mb--56 {
	margin-bottom: 56px;
}
.mb--64 {
	margin-bottom: 64px;
}
.mb--80 {
	margin-bottom: 80px;
}
.mb--96 {
	margin-bottom: 96px;
}
.mb--120 {
	margin-bottom: 120px;
}

.mt--64 {
	margin-top: 64px;
}
.mt--48 {
	margin-top: 48px;
}
.mt--12 {
	margin-top: 12px;
}
.mt--8 {
	margin-top: 8px;
}
.mt--auto {
	margin-top: auto;
}
@media (max-width: 767px) {
	.mb--40 {
		margin-bottom: 32px;
	}
	.mb--48 {
		margin-bottom: 32px;
	}
	.mb--56 {
		margin-bottom: 32px;
	}
	.mb--64 {
		margin-bottom: 32px;
	}
	.mb--80 {
		margin-bottom: 32px;
	}
	.mb--96 {
		margin-bottom: 64px;
	}
	.mb--120 {
		margin-bottom: 64px;
	}
	.mt--64 {
		margin-top: 40px;
	}
	.mt--48 {
		margin-top: 32px;
	}
}
.grid--2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--sp-16-24)
}
.grid--3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--sp-16-24)
}
.grid--4 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--sp-16-24)
}
.grid--5 {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: var(--sp-16-24)
}
.grid--6 {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: var(--sp-16-24)
}
.grid--8 {
	display: grid;
	grid-template-columns: repeat(8, 1fr);
	gap: var(--sp-16-24)
}
@media (max-width: 1024px) {
	.grid--5 {
		grid-template-columns: repeat(3, 1fr);
	} 
	.grid--8 {
		grid-template-columns: repeat(4, 1fr);
	} 
}
@media (max-width: 991px) {
	.grid--6 {
		grid-template-columns: repeat(3, 1fr);
	}
	.grid--4 {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 768px) {
	.grid--3 {
		grid-template-columns: repeat(1, 1fr);
	}
}
@media (max-width: 540px) {
	.grid--2,
	.grid--3,
	.grid--4 {
		grid-template-columns: repeat(1, 1fr)!important;
	}
	.grid--6,
	.grid--8 {
		grid-template-columns: repeat(2, 1fr);
	}
}

.button-wrap {
	display: flex;
	flex-direction: row;
	gap: var(--sp-16-24);
	flex-wrap: wrap;
}
.r-button {
	display: flex;
	align-items: center;
	gap: 12px;
	width: fit-content;
	height: var(--sp-48-64);
	border-radius: 32px;
	padding: 2px var(--sp-24-40);
	font-size: clamp(1rem, 0.9519rem + 0.1923vw, 1.125rem);
	font-weight: 600;
	border-style: solid;
	border-width: 1px;
}
.r-button.--primary {
	background: var(--color-blue);
	color: #fff;
	border-color: var(--color-blue);
}
.r-button.--white {
	background: #fff;
	color: var(--color-blue);
	border-color: #fff;
}
.r-button.--transparent {
	background: transparent;
	backdrop-filter: blur(3px);
}
.r-button.--transparent.--light {
	border-color: rgba(255, 255, 255, 0.14);
	color: #fff;
}
.r-button.--icon .button__icon {
	width: 26px;
	min-width: 26px;
	height: 26px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.r-button.--icon .button__icon svg {
	width: 16px;
}
.r-button.--primary .button__icon {
	background: rgba(255, 255, 255, 0.16);
}
.r-button.--transparent.--light .button__icon {
	background: rgba(255, 255, 255, 0.10);
}
.r-button.--white .button__icon {
	background: var(--color-blue-grey);
}
.r-button.--s {
	height: 48px!important;
	padding: 2px var(--sp-16-24)!important;
	font-size: 15px!important;
}

.title-box {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
}
.section__badge {
	font-family: var(--font-family-mono);
	font-size: 13px!important;
	font-weight: 500!important;
	letter-spacing: 2px;
	text-transform: uppercase;
	border-width: 1px;
	border-style: solid;
	border-radius: 32px;
	padding: 8px 18px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: fit-content;
	gap: 12px;
}
.section__badge.--transparent {
	border-color: rgba(255, 255, 255, 0.22);
	background: rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(3px);
	color: #fff;
}
.section__badge.--blue {
	border-color: var(--color-blue-grey);
	background: var(--color-blue-grey);
	color: var(--color-blue);
}
.section__badge.--dark {
	border-color: transparent;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
}


/* HEADER */
header.site-header {
	display: none!important;
}
#header-nav {
	display: flex;
	align-items: center;
	position: fixed;
	top: 32px;
	width: 100%;
	max-width: 100vw;
	z-index: 999;
	transition: top 0.2s, margin-top 0.2s, background 0.2s;
}
#header-nav .container {
	z-index: 99;
	padding: 0 16px;
	transition: 0.3s;
	border-radius: 16px;
}
#header-nav .container .main-nav {
	height: 60px;
	display: flex;
	align-items: center;
	gap: var(--sp-16-40);
	justify-content: space-between;
	width: 100%;
	padding: 0;
	transition: 0.3s;
}
#header-nav .header-nav__logo {
	display: flex;
	flex-direction: row;
	gap: 2px;
	align-items: center;
}
#header-nav .container .main-nav .main-nav__row.--c {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--sp-16-40);
	flex-grow: 1;
}
#header-nav .container .main-nav .main-nav__row.--c .header__main-menu {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}
#header-nav .container .main-nav .main-nav__row.--c .header__main-menu ul {
	display: flex;
	flex-direction: row;
	gap: var(--sp-16-32);
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
}
#header-nav .container .main-nav .main-nav__row.--c .header__main-menu ul li {
	position: relative;
}
#header-nav .container .main-nav .main-nav__row.--c .header__main-menu ul li a {
	font-size: 15px!important;
	font-weight: 500!important;
	color: #fff;
	opacity: .8;
}
#header-nav .container .main-nav .main-nav__row.--c .header__main-menu ul li a:hover,
#header-nav .container .main-nav .main-nav__row.--c .header__main-menu ul li a:focus-visible {
	color: var(--color-blue-light)!important;
}

.header__main-menu .menu-link {
	display: flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
}

.header__main-menu .sub-menu {
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 100;
	min-width: 240px;
	margin: 0;
	padding: 16px 12px!important;
	list-style: none;
	background: #000;
	border-radius: 12px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	display: flex;
	flex-direction: column!important;
	gap: 12px!important;
	transform: translate(-50%, 10px);
	transition:
		opacity 0.2s ease,
		visibility 0.2s ease,
		transform 0.2s ease;
}
.header__main-menu .menu-item-has-children:hover > .sub-menu,
.header__main-menu .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate(-50%, 0);
}
.header__main-menu .sub-menu .menu-item {
	display: block;
	width: 100%;
}
.header__main-menu .sub-menu .menu-link {
	display: block;
	width: 100%;
	font-size: 14px!important;
	white-space: nowrap;
	transition: color 0.2s ease;
}
.header__main-menu .sub-menu .menu-link:hover,
.header__main-menu .sub-menu .menu-link:focus-visible {
	color: var(--color-blue-light)!important;
}
.header__main-menu .dropdown-menu-toggle {
	display: inline-block;
	width: 7px;
	height: 7px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform 0.2s ease;
}
.header__main-menu .menu-item-has-children:hover > .menu-link .dropdown-menu-toggle,
.header__main-menu .menu-item-has-children:focus-within > .menu-link .dropdown-menu-toggle {
	transform: translateY(2px) rotate(225deg);
}

#header-nav .container .main-nav .main-nav__row.--r {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: var(--sp-16-24);
}
#header-nav.move {
	top: 4px;
}
#header-nav.move .container {
	background-color: var(--color-bg-dark);
}
#header-nav.scrollUp {
	margin-top: -80px;
}

@media (min-width: 540px) and (max-width: 1480px) {
	#header-nav {
		padding-left: 16px;
		padding-right: 16px;
	}
}

:root {
	--background-light: rgb(236, 229, 220);
	--background-dark: rgb(20, 20, 20);

	--gradient-color-1: rgb(61, 75, 228);
	--gradient-color-2: rgb(27 17 72);
	--gradient-color-3: rgb(17, 12, 34);
	--gradient-color-4: rgb(10, 10, 10);
}

@keyframes arc-rotation {
	from {
		transform: translate3d(-50%, -50%, 0px) rotate(0deg);
	}

	to {
		transform: translate3d(-50%, -50%, 0px) rotate(360deg);
	}
}


body.menu-toggled #menu-toggle > span:first-of-type {
	transform: translate3d(0px, 8px, 0px) rotate(45deg);
}

body.menu-toggled #menu-toggle > span:nth-of-type(2) {
	opacity: 0;
	transform: translate3d(-5px, 0px, 0px);
}

body.menu-toggled #menu-toggle > span:nth-of-type(3) {
	transform: translate3d(0px, -8px, 0px) rotate(-45deg);
}

body.menu-toggled #menu-toggle > #menu-toggle-label > .word {
	opacity: 0;
	transform: translate3d(-30%, 0px, 0px) skew(20deg) scaleX(1.2);  
	transition: opacity 250ms cubic-bezier(.71, .19, .87, .33), 
		transform 250ms cubic-bezier(.71, .19, .87, .33);
}

body.menu-toggled #menu-toggle > #menu-toggle-label > .word:nth-of-type(2) {
	transition-delay: 100ms;
}

body.menu-toggled #menu > #menu-gradient {
	height: 200vmax;
	opacity: 1;
	transform: translate3d(-50%, -50%, 0px);
	transition: height 600ms cubic-bezier(.58, .2, .62, .93), 
		width 600ms cubic-bezier(.58, .2, .62, .93), 
		transform 600ms cubic-bezier(.58, .2, .62, .93), 
		opacity 400ms;
	width: 200vmax;
}

body.menu-toggled #menu > #menu-gradient-blur {
	opacity: 1; 
}

body.menu-toggled #menu > #menu-arcs-wrapper {
	opacity: 1;
	transform: scale(1);
	transition: transform 600ms cubic-bezier(.16, .68, .25, .83), 
		opacity 600ms cubic-bezier(.87, .12, .92, .39); 
}

body.menu-toggled #menu > #menu-links > .link {  
	opacity: 1;
	transform: none;
	transition: opacity 600ms ease-in;  
}

body.menu-toggled #menu > #menu-links > .link:nth-of-type(2) {
	transition-delay: 100ms;
}

body.menu-toggled #menu > #menu-links > .link:nth-of-type(3) {
	transition-delay: 150ms;
}

body.menu-toggled #menu > #menu-links > .link:nth-of-type(4) {
	transition-delay: 200ms;
}


#menu {
	height: 100vh;
	left: 0px;
	overflow: hidden;
	pointer-events: none; 
	position: fixed;
	top: 0px;
	width: 100vw;
	z-index: 100;
}
body.menu-toggled #menu {
	pointer-events: all; 
}

#menu-toggle {
	align-items: center;
	background-color: var(--color-body-bg);
	border-radius: 6px;
	border: none;
	cursor: pointer;
	display: none;
	flex-direction: column;
	gap: 5px;
	height: 40px;
	justify-content: center;
	//right: 16px;
	padding: 0px;
	pointer-events: all;
	position: relative;
	//top: 16px;
	width: 40px;
	z-index: 5;
}

#menu-toggle:hover > span:nth-of-type(2),
#menu-toggle:hover > span:nth-of-type(3){
	transform: translate3d(0px, 0px, 0px);
}

#menu-toggle > span {
	background-color: var(--color-blue-grey);
	display: block;
	height: 3px;
	transition: transform 250ms;
	border-radius: 32px;
	width: 24px;
}

#menu-toggle > span:nth-of-type(2) {
	transform: translate3d(5px, 0px, 0px);
}

#menu-toggle > span:nth-of-type(3) {
	transform: translate3d(-2px, 0px, 0px);
}


#menu > #menu-gradient {

	background: radial-gradient(
		var(--background-light) 12%,
		var(--gradient-color-1) 13%,
		var(--gradient-color-2) 15%,
		var(--gradient-color-3) 60%,
		var(--gradient-color-4) 90%
	);

	height: 300vmax;
	left: 0px;  
	opacity: 0;
	position: absolute;
	transform: translate3d(-50%, -50%, 0px) scale(4);
	transition: height 600ms cubic-bezier(.75, .1, .89, .36),
		width 600ms cubic-bezier(.75, .1, .89, .36),
		transform 600ms cubic-bezier(.75, .1, .89, .36),
		opacity 700ms cubic-bezier(.9, .02, .97, .28);
	top: 0px;
	width: 300vmax;
	z-index: 1;


}

#menu > #menu-gradient-blur {
	backdrop-filter: blur(1vmax);
	inset: 0px;
	opacity: 0;
	position: absolute;
	transition: opacity 600ms cubic-bezier(.87, .12, .92, .39);
	z-index: 2;

	&:after {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
	}
}

#menu > #menu-arcs-wrapper {
	height: clamp(600px, 200vmax, 6000px);
	left: 0px;
	opacity: 0;
	position: absolute;
	top: 0px;
	transform: scale(1.15) translate3d(20%, 20%, 0px);
	transition: transform 600ms cubic-bezier(.87, .12, .92, .39), 
		opacity 600ms cubic-bezier(.87, .12, .92, .39);  
	width: clamp(600px, 200vmax, 6000px);
	z-index: 3;
}

#menu > #menu-arcs-wrapper > #menu-arcs {
	animation: arc-rotation 100s linear infinite;
	height: 100%;
	left: 0px;  
	position: absolute;
	top: 0px;
	width: 100%;
	will-change: transform;
}

#menu > #menu-arcs-wrapper > #menu-arcs > .menu-arc {
	fill: none;
	stroke: #606060;
	stroke-width: .5;
}

#menu > #menu-links {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 30px;
	inset: 0px;
	justify-content: center;
	position: absolute;
	z-index: 4;
}

#menu > #menu-links > .link {
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: 10px;
	opacity: 0;
	position: relative;
	text-decoration: none;
	transition: opacity 250ms ease-in;
}

#menu > #menu-links > .link:hover > .label {
	transform: translate3d(6%, 0px, 0px);
}


#menu > #menu-links > .link:hover > .anchor:before {
	opacity: 0.15;
	transform: translate3d(-50%, -50%, 0px) scale(1.5);
}

#menu > #menu-links > .link:hover > .anchor:after {
	border-color: var(--color-primary);
	transform: translate3d(-50%, -50%, 0px) scale(1.1);
}

#menu > #menu-links > .link > .anchor {
	background-color: white;
	height: clamp(4px, 0.4vmax, 12px);
	left: 0px;
	position: absolute;
	top: 50%;
	transform: translate3d(-500%, -100%, 0px) rotate(45deg);
	transition: transform 250ms;
	width: clamp(4px, 0.4vmax, 12px);
}

#menu > #menu-links > .link > .anchor:before,
#menu > #menu-links > .link > .anchor:after {
	content: "";
	height: 300%;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate3d(-50%, -50%, 0px);
	transition: transform 250ms, border-color 250ms;
	width: 300%;
	border-radius: 50%;
}

#menu > #menu-links > .link > .anchor:before {
	border: 1px solid var(--color-primary);  
	opacity: 0;
}

#menu > #menu-links > .link > .anchor:after {
	background: radial-gradient(98.67% 98.67% at 49.56% 1.33%, #404040 0%, #1B1B1B 73.5%);
	border: 1px solid #373737;
}



#menu > #menu-links > .link > .label {
	color: white;
	transition: transform 250ms;
}


@media (min-width: 1000px) and (max-width: 2699px) {  
	body.menu-toggled #menu > #menu-links > .link {
		transition: transform 400ms cubic-bezier(.16, .68, .25, .83), 
			opacity 500ms cubic-bezier(.87, .12, .92, .39);  
	}

	#menu > #menu-gradient {
		transform: translate3d(-50%, -50%, 0px) scale(8);
	}

	#menu > #menu-links > .link {
		position: absolute;
		transform: translate3d(300%, 800%, 0px) scale(1.25);
		transition: transform 500ms cubic-bezier(.62, .16, .86, .45), 
			opacity 400ms cubic-bezier(.16, .68, .25, .83);
	}

	#menu > #menu-links > .link > .anchor {
		top: 0%;
		transform: translate3d(-350%, -100%, 0px) rotate(45deg);
	}

	#menu > #menu-links > .link:first-of-type {
		left: 29.8vmax;
		top: 22vmax;
	}
}

@media (min-width: 1000px) and (max-width: 2099px) {
	#menu > #menu-links > .link:nth-of-type(2) {
		left: 59.2vmax;
		top: 16vmax;
	}

	#menu > #menu-links > .link:nth-of-type(3) {
		left: 44.5vmax;
		top: 42vmax;
	}

	#menu > #menu-links > .link:nth-of-type(4) {
		left: 75.8vmax;
		top: 39vmax;
	}
}

@media (min-width: 2100px) and (max-width: 2699px) {
	#menu > #menu-links > .link:nth-of-type(2) {
		left: 59.6vmax;
		top: 14vmax;
	}

	#menu > #menu-links > .link:nth-of-type(3) {
		left: 51vmax;
		top: 34vmax;
	}

	#menu > #menu-links > .link:nth-of-type(4) {
		left: 80.5vmax;
		top: 28vmax;
	}
}


@media (min-width: 992px) {
	.header__button,
	.header-logo {
		min-width: 148px;
	}
}
@media (max-width: 992px) {
	#header-nav {
		top: 16px;
		border-bottom: none;
	}
	#header-nav .container .main-nav .main-nav__row.--c {
		display: none;
	}
	#header-nav #menu-toggle {
		display: flex;
	}
	body.menu-toggled #header-nav.--light:not(.move) .header-logo {
		filter: invert(1);
	}
	#menu > #menu-links > .link > .anchor {
		display: none;
	}
	#menu > #menu-links {
		padding: 20px;
		align-items: flex-start;
	}
}
@media (max-width: 540px) {
	#header-nav .container {
		border-radius: 0;
	}
	#header-nav .container .main-nav {
		padding: 0;
	}
	#header-nav .container .main-nav .main-nav__row {
		gap: 16px;
	}
	#menu > #menu-links {
		padding: 16px;
	}
	.header__button {
		height: 40px !important;
	}
	.header__button .button-text {
		padding: 2px 16px !important;
	}
}


/* HERO */

#hero {
	position: relative;
	min-height: 100vh;
	display: flex;
}
#hero .container {
	z-index: 1;
}
#hero:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: radial-gradient(80% 120% at 80% 10%, rgba(0, 79, 157, 0.45) 0%, rgba(0, 79, 157, 0.00) 60%);
	mix-blend-mode: screen;
}
#hero:after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(7, 10, 16, 0.62) 0%, rgba(7, 10, 16, 0.30) 35%, rgba(7, 10, 16, 0.72) 100%);
}
.hero-bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	object-fit: cover;
}
#hero .hero-box {
	margin-top: auto;
	align-items: flex-end;
}
#hero .hero-box__main {
	display: flex;
	justify-content: flex-start;
	flex-direction: column;
	align-items: flex-start;
}
#hero .section__badge .dot {
	width: 8px;
	min-width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #33d9b2;
	box-shadow: 0 0 0 0 #33d9b2;
	animation: pulse-green 2s infinite;
}
@keyframes pulse-green {
	0% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(51, 217, 178, 0.7)
	}

	70% {
		transform: scale(1);
		box-shadow: 0 0 0 6px rgba(51, 217, 178, 0)
	}

	100% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(51, 217, 178, 0)
	}
}
.hero-box__main__counters {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	width: fit-content;
	gap: 24px clamp(4rem, 2.8462rem + 4.6154vw, 7rem);
}
.hero-box__main__counters .hero-box__main__counters__box {
	position: relative;
	flex: 1;
	white-space: nowrap;
	line-height: 1.2;
}
.hero-box__main__counters .hero-box__main__counters__box:after {
	content: "";
	background: rgba(255, 255, 255, 0.20);
	width: 1px;
	height: 100%;
	position: absolute;
	right: calc(clamp(4rem, 2.8462rem + 4.6154vw, 7rem) / -2);
	top: 0;	
}
.hero-box__main__counters .hero-box__main__counters__box:last-child:after {
	display: none;
}
.hero-box__poster {
	display: flex;
	justify-content: flex-end;
}
.hero-box__poster__img {
	height: 100%;
	width: auto;
	max-height: 500px;
	border-radius: 12px;
	box-shadow: 0 30px 70px 0 rgba(0, 0, 0, 0.55);
	transform: rotate(1.5deg);
	aspect-ratio: 50/69;
}
#hero .scroll-box {
	position: absolute;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	letter-spacing: 2px;
}
#hero .scroll-box .scroll-box__line {
	width: 1px;
	height: 32px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.70) 0%, rgba(255, 255, 255, 0.00) 100%);
}

@media (max-width: 1024px) {
	#hero .container {
		padding-bottom: 120px;
	}
}

@media (max-width: 768px) {
	#hero .container {
		padding-top: 200px;
	}
}
@media (max-width: 540px) {
	.hero-box__main__counters .hero-box__main__counters__box {
		white-space: normal;
	}
	#hero .section__badge {
		font-size: 11px!important;
	}
}

/* ABOUT */

#about .about-feats__box {
	padding: var(--sp-24-40) var(--sp-16-40);
	border-radius: 16px;
	border: 1px solid rgba(12, 14, 18, 0.10);
	background: #FFF;
}


/* WHAT YOU GET */

#what-you-get .container {
	overflow: visible;
}
#what-you-get .know-feats {
	overflow: visible;
    width: 100vw;
    margin-left: calc(-1*(100vw - ((100vw + 1360px)/2)));
    left: 0;
    position: relative;
}
#what-you-get .know-feats__track {
	display: flex;
	flex-direction: row;
	gap: 24px;
	/*
	width: calc(100vw - ((100vw - 1400px)/2));
	*/
	width: 100vw;
	padding-left: calc(1*(100vw - ((100vw + 1360px)/2)));
	padding-right: 20px;
	overflow-x: scroll;
	scrollbar-width: none; /
	-ms-overflow-style: none; 
	cursor: grab;
	user-select: none;
}
#what-you-get .know-feats__track::-webkit-scrollbar {
	display: none; 
}
#what-you-get .know-feats__track.is-dragging {
	cursor: grabbing;
	cursor: -webkit-grabbing;
}
#what-you-get .know-feats__box {
	position: relative;
	overflow: hidden;
	z-index: 1;
	border-radius: 24px;
	padding: 260px var(--sp-16-32) 32px var(--sp-16-32);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-width: 330px;
}
#what-you-get .know-feats__box:after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(8, 12, 20, 0.00) 28%, rgba(8, 12, 20, 0.55) 62%, rgba(8, 12, 20, 0.90) 100%);
	z-index: -1;
}
#what-you-get .know-feats__box__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -2;
}
#what-you-get .know-feats__box__head {
	letter-spacing: 1.5px;
}
#what-you-get .know-feats__box__desc {
	color: rgba(255, 255, 255, 0.82);
	font-size: 15px!important;
}

@media (max-width: 1400px) {
	#what-you-get .know-feats {
		margin-left: -20px;
	}
	#what-you-get .know-feats__track {
		padding-left: 20px;
	}
}

/* COUNTERS */

#counters {
	position: relative;
	z-index: 1;
}
#counters .counters-bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -2;
}
#counters:after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: radial-gradient(90% 120% at 50% 30%, rgba(8, 10, 14, 0.62) 0%, rgba(8, 10, 14, 0.90) 80%), linear-gradient(180deg, rgba(8, 10, 14, 0.80) 0%, rgba(8, 10, 14, 0.72) 100%);
	z-index: -1;
}
#counters .counters-list {
	gap: var(--sp-24-48);
}
#counters .counters__box {
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	padding-top: 24px;
}
#counters .counters__box__head {
	display: flex;
	flex-direction: row;
}


/* EXPERTS */

.experts-list {
	display: flex;
	flex-direction: column;
	gap: var(--sp-24-48);
}
.experts__box {
	border-radius: 24px;
	border: 1px solid rgba(12, 14, 18, 0.10);
	background: #FFF;
	overflow: hidden;
	gap: 0;
}
.experts__box__media {
	background-size: cover;
	background-position: center;
	position: relative;
	min-height: 350px;
}
.experts__box__media:after {
	content: "";
	position: absolute;
	inset: 0;
	background: #fff;
	mix-blend-mode: saturation;
	pointer-events: none;
}
.experts__box__media__in {
	position: absolute;
	left: 22px;
	top: 22px;
	background: var(--color-blue);
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
	border-radius: 12px;
}
.experts__box__data {
	padding: var(--sp-32-64) var(--sp-16-64);
}
.experts__box__quote {
	line-height: 1.3!important;
}
.experts__box .experts__box__quote-icon {
	margin-bottom: 12px;
}
@media (min-width: 768px) {
	.experts__box:nth-child(even) {
		flex-direction: row-reverse;
	}
}


/* REVIEWS */

.reviews-list {
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: var(--sp-16-40);
}

.reviews-list__row {
	width: 100%;
	overflow: hidden;
}

.reviews-list__track {
	display: flex;
	width: max-content;
	will-change: transform;
}

.reviews-list__group {
	display: flex;
	flex-shrink: 0;
	gap: var(--sp-16-40);
	padding-right: var(--sp-16-40);
}

.reviews-box {
	width: 360px;
	flex: 0 0 360px;
	display: flex;
	flex-direction: column;
	border-radius: 16px;
	border: 1px solid rgba(12, 14, 18, 0.10);
	background: #FFF;
	padding: 32px var(--sp-16-32);
}

/* 4 linie tekstu */
.reviews-box__desc {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;

	line-clamp: 4;
}

/* przycisk */
.reviews-box__trigger {
	width: fit-content;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	font-family: inherit;
}

.reviews-box__trigger:hover {
	text-decoration: underline;
}


/* =========================
POPUP
========================= */

.reviews-popup {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;

	visibility: hidden;
	opacity: 0;
	pointer-events: none;

	transition:
		opacity 0.25s ease,
		visibility 0.25s ease;
}

.reviews-popup.is-open {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}

.reviews-popup__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.65);
}

.reviews-popup__content {
	position: relative;
	z-index: 2;

	width: min(600px, 100%);
	max-height: calc(100vh - 48px);
	overflow-y: auto;

	background: #fff;
	border-radius: 16px;
	padding: 40px;
}

.reviews-popup__close {
	position: absolute;
	top: 16px;
	right: 16px;

	width: 40px;
	height: 40px;

	display: flex;
	align-items: center;
	justify-content: center;

	padding: 0;
	border: 0;
	border-radius: 50%;

	background: transparent;
	cursor: pointer;

	z-index: 2;
}

.reviews-popup__body .reviews-box {
	width: 100%;
	flex-basis: auto;
	border: none;
	padding: 0;
}

.reviews-popup__body .reviews-box__desc {
	display: block;
	overflow: visible;
	-webkit-line-clamp: unset;
	line-clamp: unset;
}

.reviews-popup__body .reviews-box__trigger {
	display: none;
}

body.reviews-popup-open {
	overflow: hidden;
}

@media (max-width: 767px) {

	.reviews-box {
		width: 320px;
		flex-basis: 320px;
	}

	.reviews-list__group {
		gap: 16px;
		padding-right: 16px;
	}

	.reviews-popup {
		padding: 16px;
	}

	.reviews-popup__content {
		padding: 32px 24px 24px;
	}
}


/* FEATURES */

#features .features-list {
	display: flex;
	flex-direction: column;
}
#features .features-box {
	margin-bottom: var(--sp-12-24);
	padding-bottom: var(--sp-12-24);
	border-bottom: 1px solid rgba(12, 14, 18, 0.10);
	display: flex;
	flex-direction: row;
	gap: 22px;
}
#features .features-box:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}
#features .features-box__counter {
	position: relative;
	top: 4px;
}
#features .features-media {
	display: flex;
	align-items: center;
	justify-content: center;
}

@media (max-width: 768px) {
	#features .col-wrap {
		flex-direction: column-reverse;
	}
}

/* CTA */

#cta .cta-box {
	gap: 0;
	border-radius: 24px;
	overflow: hidden;
}
#cta .cta-box__media {
	background-size: cover;
	background-position: center;
	min-height: 350px;
}
#cta .cta-box__data {
	padding: var(--sp-32-64) var(--sp-16-64);
}


/* PARTNERS */

#partners .partners-gallery {
	gap: 20px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
}
#partners .partners-gallery__box {
	width: 20%;
	border-radius: 16px;
	border: 1px solid rgba(12, 14, 18, 0.10);
	background: #FFF;
	padding: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
#partners .partners-gallery__box__img {
	width: auto;
	height: 48px;
	object-fit: contain;
	/*
	filter: grayscale(.9);
	opacity: .75;
	background-blend-mode: saturation, normal;
	transition: .3s;
	*/
}
/*
#partners .partners-gallery__box:hover .partners-gallery__box__img {
	filter: none;
	opacity: 1;
}
*/

@media (max-width: 1024px) {
	#partners .partners-gallery__box {
		width: calc(33% - 10px);
	}
}
@media (max-width: 540px) {
	#partners .partners-gallery__box {
		width: calc(50% - 10px);
	}
}

/* FORM */

#form .form-box {
	gap: 0;
	border-radius: 24px;
	overflow: hidden;
}
#form .form-box__media {
	background-size: cover;
	background-position: center;
	position: relative;
	min-height: 350px;
}
#form .form-box__media:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(122deg, rgba(8, 11, 17, 0.20) 0%, rgba(0, 49, 102, 0.65) 100%);
}
#form .form-box__media__info {
	position: absolute;
	left: 32px;
	bottom: 32px;
	display: flex;
	flex-direction: column;
	z-index: 1;
}
#form .form-box__media__info__desc {
	letter-spacing: 2px;
}
#form .form-box__data {
	padding: var(--sp-32-64) var(--sp-16-64);
}


/* RAPORTS */

.reports-list {
	gap: 16px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
}
.reports-list .reports-box {
	flex: 1;
	max-width: 20%;
}

@media (max-width: 1024px) {
	.reports-list .reports-box {
		flex: 25%;
		max-width: calc(25% - 10px);
	}
}
@media (max-width: 1024px) {
	.reports-list .reports-box {
		flex: 33%;
		max-width: calc(33% - 10px);
	}
}
@media (max-width: 540px) {
	.reports-list .reports-box {
		flex: 50%;
		max-width: calc(50% - 10px);
	}
}
/* FOOTER */

#r-footer .footer-top__data__name {
	display: flex;
    flex-direction: row;
    gap: 2px;
    align-items: center;
}
#r-footer .footer-top__menu {
	gap: 48px;
}
#r-footer .footer-top__menu__box ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
#r-footer .footer-top__menu__box__extra {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
#r-footer .footer-top__menu__box__title {
	letter-spacing: 1.8px;
	font-weight: 700;
}
#r-footer .footer-copy {
	display: flex;
    flex-direction: row;
    gap: 24px;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	padding-top: 28px;
	padding-bottom: 28px;
}
#r-footer .footer-copy ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 4px;
}
#r-footer a {
	color: var(--color-grey-blue)!important;
}
#r-footer a:hover {
	color: var(--color-blue-light)!important;
}
#r-footer .social-links {
	display: flex;
	flex-direction: row;
	gap: 10px;
}
#r-footer .social-links .social-links__el {
	width: 42px;
	height: 42px;
	min-width: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.14);
	transition: .3s;
}
#r-footer .social-links .social-links__el:hover {
	background: rgba(255, 255, 255, 0.14);
}
#r-footer .social-links .social-links__el svg {
	height: 18px;
	width: auto;
}
.site-footer {
	display: none;
}


@media (max-width: 540px) {
	.header-nav__logo__dot {
		display: none;
	}
	.main-nav__row.--r .r-button {
		font-size: 12px!important;
		padding: 3px 3px 3px 8px!important;
		height: 32px!important;
	}
}