:root {
	--white: #fff;
	--black: #000;
	--solid-accent-50: #f6f2ea;
	--solid-accent-100: #ede5d2;
	--solid-accent-200: #d5c8aa;
	--solid-accent-300: #b6aa91;
	--solid-accent-400: #9a907a;
	--solid-accent-500: #7f7664;
	--solid-accent-600: #645e4f;
	--solid-accent-700: #4b463b;
	--solid-accent-800: #343027;
	--solid-accent-900: #1e1b16;
	--solid-blue-50: #f0f3fd;
	--solid-blue-100: #dee5fd;
	--solid-blue-200: #bccbfc;
	--solid-blue-300: #97b2fa;
	--solid-blue-400: #739bf8;
	--solid-blue-500: #3b82f6;
	--solid-blue-600: #2168cd;
	--solid-blue-700: #164b99;
	--solid-blue-800: #0c336b;
	--solid-blue-900: #041c41;
	--solid-gray-50: #f3f4f5;
	--solid-gray-100: #e3e6e8;
	--solid-gray-200: #c7cdd2;
	--solid-gray-300: #adb5bd;
	--solid-gray-400: #9299a1;
	--solid-gray-500: #767d83;
	--solid-gray-600: #5e6469;
	--solid-gray-700: #45494e;
	--solid-gray-800: #303336;
	--solid-gray-900: #1a1c1e;
	--solid-green-50: #daf6e8;
	--solid-green-100: #d8f0e4;
	--solid-green-200: #8af2b1;
	--solid-green-300: #27dd6a;
	--solid-green-400: #22c55e;
	--solid-green-500: #1aa34d;
	--solid-green-600: #12813b;
	--solid-green-700: #0b5f2a;
	--solid-green-800: #05401a;
	--solid-green-900: #02260c;
	--solid-primary-50: #eff4fb;
	--solid-primary-100: #dce6f7;
	--solid-primary-200: #bbd0f0;
	--solid-primary-300: #94b9e8;
	--solid-primary-400: #67a2e0;
	--solid-primary-500: #578cc4;
	--solid-primary-600: #4875a4;
	--solid-primary-700: #3b6080;
	--solid-primary-800: #2b4968;
	--solid-primary-900: #182c41;
	--solid-red-50: #fceded;
	--solid-red-100: #fadfdf;
	--solid-red-200: #f6bebe;
	--solid-red-300: #f39c9c;
	--solid-red-400: #f17676;
	--solid-red-500: #ef4444;
	--solid-red-600: #c52b2b;
	--solid-red-700: #961e1e;
	--solid-red-800: #691212;
	--solid-red-900: #400707;
	--solid-secondary-50: #eff4f8;
	--solid-secondary-100: #e0e9f2;
	--solid-secondary-200: #c3d7e7;
	--solid-secondary-300: #a1c2da;
	--solid-secondary-400: #81a5be;
	--solid-secondary-500: #69889d;
	--solid-secondary-600: #536b7c;
	--solid-secondary-700: #3d505d;
	--solid-secondary-800: #293640;
	--solid-secondary-900: #161f25;
	--solid-yellow-50: #ffeee0;
	--solid-yellow-100: #ffe0c4;
	--solid-yellow-200: #ffbd68;
	--solid-yellow-300: #eca206;
	--solid-yellow-400: #ca8a04;
	--solid-yellow-500: #a77103;
	--solid-yellow-600: #865a02;
	--solid-yellow-700: #644201;
	--solid-yellow-800: #472e00;
	--solid-yellow-900: #281800;

	--border-primary: var(--solid-primary-900);
	--border-secondary: var(--solid-primary-700);
	--border-base: var(--white);
	--border-subtle: var(--solid-gray-50);
	--border-lighter: var(--solid-gray-100);
	--border-light: var(--solid-gray-200);
	--border-neutral: var(--solid-gray-300);
	--border-muted: var(--solid-gray-400);
	--border-primary-subtle: var(--solid-blue-100);
	--border-secondary-subtle: var(--solid-secondary-100);
	--border-warning-subtle: var(--solid-yellow-100);
	--border-warning: var(--solid-yellow-500);
	--border-invalid-subtle: var(--solid-red-100);
	--border-invalid: var(--solid-red-600);
	--border-valid-subtle: var(--solid-green-100);
	--border-valid: var(--solid-green-500);
	
	--icon-primary: var(--solid-primary-900);
	--icon-secondary: var(--solid-primary-700);
	--icon-accent: var(--solid-accent-50);
	--icon-inverse: var(--white);
	--icon-subtle: var(--solid-gray-200);
	--icon-low-contrast: var(--solid-gray-300);
	--icon-muted: var(--solid-gray-400);
	--icon-medium-contrast: var(--solid-gray-500);
	--icon-strong: var(--solid-gray-600);
	--icon-high-contrast: var(--solid-gray-700);
	--icon-helper: var(--solid-primary-500);
	--icon-warning: var(--solid-yellow-500);
	--icon-invalid: var(--solid-red-600);
	--icon-valid: var(--solid-green-600);
	
	--surface-primary: var(--solid-primary-700);
	--surface-secondary: var(--solid-secondary-700);
	--surface-accent: var(--solid-accent-50);
	--surface-base: var(--white);
	--surface-subtle: var(--solid-gray-50);
	--surface-muted: var(--solid-gray-100);
	--surface-neutral: var(--solid-gray-200);
	--surface-strong: var(--solid-gray-400);
	--surface-dark: var(--solid-gray-600);
	--surface-primary-subtle: var(--solid-primary-50);
	--surface-primary-muted: var(--solid-primary-100);
	--surface-primary-medium: var(--solid-primary-800);
	--surface-primary-dark: var(--solid-primary-900);
	--surface-secondary-subtle: var(--solid-secondary-50);
	--surface-secondary-muted: var(--solid-secondary-100);
	--surface-secondary-medium: var(--solid-secondary-800);
	--surface-secondary-dark: var(--solid-secondary-900);
	--surface-helper: var(--solid-primary-500);
	--surface-warning-light: var(--solid-yellow-50);
	--surface-warning-medium: var(--solid-yellow-500);
	--surface-warning-dark: var(--solid-yellow-600);
	--surface-invalid-light: var(--solid-red-50);
	--surface-invalid-medium: var(--solid-red-600);
	--surface-invalid-dark: var(--solid-red-700);
	--surface-valid-light: var(--solid-green-50);
	--surface-valid-medium: var(--solid-green-600);
	--surface-valid-dark: var(--solid-green-700);
	
	--text-primary: var(--solid-primary-900);
	--text-secondary: var(--solid-primary-700);
	--text-inverse: var(--white);
	--text-subtle: var(--solid-gray-200);
	--text-low-contrast: var(--solid-gray-400);
	--text-medium-contrast: var(--solid-gray-700);
	--text-high-contrast: var(--solid-gray-900);
	--text-helper: var(--solid-primary-500);
	--text-warning: var(--solid-yellow-500);
	--text-invalid: var(--solid-red-600);
	--text-valid: var(--solid-green-600);
}

html, body{
	margin: 0px;
	padding: 0px;
	font-family: "Plus Jakarta Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-size: 16px;
	font-style: normal;
	font-stretch: normal;
	letter-spacing: normal;
}

html *, body *{
	box-sizing: border-box;
	outline: none;
	margin: 0px;
	padding: 0px;
	-webkit-tap-highlight-color: transparent;
}

a{
	text-decoration: none;
	outline: none;
}

h1, h2, h3, h4, h5, h6{
	font-size: 100%;
	font-weight: normal;
}

p{
	font-size: 100%;
	font-weight: normal;
	margin-block-start: 0px;
	margin-block-end: 0px;
	margin-inline-start: 0px;
	margin-inline-end: 0px;
}

span{
	font-size: 100%;
	font-weight: normal;
}

ul{
	list-style-type: none;
	margin-block-start: 0px;
	margin-block-end: 0px;
	margin-inline-start: 0px;
	margin-inline-end: 0px;
	padding-inline-start: 0px;
	margin: 0px;
	padding: 0px;
}

table{
	width: 100%;
	table-layout: auto;
	border-collapse: collapse;
	border: none;
	border-spacing: 0px;
}

thead, tbody{
	vertical-align: middle;
}

th, td{
	font-weight: normal;
	text-align: unset;
	vertical-align: middle;
}

input, select, textarea{
	appearance: none;
	border-radius: 0;
	box-shadow: none;
	outline: none;
}

.display-lg {
	font-size: 2.5rem;
	font-weight: 800;
	line-height: 1.2;
}

.display-md {
	font-size: 2rem;
	font-weight: 800;
	line-height: 1.25;
}

.display-sm {
	font-size: 1.5rem;
	font-weight: 800;
	line-height: 1.33;
}

.heading-lg {
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1.4;
}

.heading-md {
	font-size: 1.125rem;
	font-weight: bold;
	line-height: 1.44;
}

.heading-sm {
	font-size: 1rem;
	font-weight: bold;
	line-height: 1.5;
}

.body-lead {
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.63;
}

.body-big {
	font-size: 1.1rem;
	font-weight: normal;
	line-height: 1.63;
}

.body-lg {
	font-size: 1rem;
	font-weight: normal;
	line-height: 1.63;
}

.label-lg {
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.43;
}

.caption-lg {
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.43;
}

.body-md {
	font-size: 0.875rem;
	font-weight: normal;
	line-height: 1.57;
}

.label-md {
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.33;
}

.caption-md {
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.33;
}

.body-sm {
	font-size: 0.75rem;
	font-weight: normal;
	line-height: 1.5;
}

.label-sm {
	font-size: 0.625rem;
	font-weight: 600;
	line-height: 1.6;
}

.caption-sm {
	font-size: 0.625rem;
	font-weight: 500;
	line-height: 1.4;
}

.section{
	width: 100%;
	height: auto;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
}

.section .container{
	width: 100%;
	max-width: 1440px;
	height: auto;
	padding: 0px 32px;
}

.tag{
	background: var(--surface-base);
	color: var(--text-medium-contrast);
	border: 1px solid var(--border-primary-subtle);
	border-radius: 999px;
	padding: 4px 8px;
	transition: 0.3s ease-in-out;
}

.tag.primary{
	background: var(--surface-muted);
	color: var(--text-medium-contrast);
	border: 1px solid var(--border-lighter);
}

.tag.active{
	background: var(--surface-primary-subtle);
	color: var(--text-secondary);
	font-weight: 700;
}

.link{
	width: auto;
	display: inline-flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	color: var(--text-secondary);
	gap: 8px;
	transition: 0.3s ease-in-out;
}

.link svg{
	width: 24px;
	height: 24px;
}

.link svg path{
	fill: var(--text-secondary);
	transition: 0.3s ease-in-out;
}

.link:hover{
	color: var(--text-primary);
}

.link:hover svg path{
	fill: var(--icon-primary);
}

.header-navigation{
	width: 100%;
	height: 80px;
	background: var(--surface-base);
	box-shadow: 0 0px 0px rgba(0, 0, 0, 0);
	border-bottom: 1px solid transparent;
	translate: 0px 0px;
	transition: 0.3s ease-in-out;
}

.header-navigation.sticky{
	position: fixed;
	top: -80px;
	translate: 0px 80px;
	border-bottom: 1px solid var(--border-lighter);
	backdrop-filter: blur(10px);
  	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	z-index: 999;
}

.header-navigation .container{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	padding: 0px 32px;
}

.header-navigation .logo{
	width: auto;
	height: 20px;
}

.header-navigation .social-media-links{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 20px;
}

.header-navigation .social-media-links .item{
	display: flex;
	width: auto;
	height: 28px;
}

.header-navigation .social-media-links .item svg{
	width: auto;
	height: 100%;
}

.hero{
	width: 100%;
}

.hero .container{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
}

.hero .hero-content{
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	width: calc(100% - 520px);
	height: 500px;
	background: var(--surface-primary-subtle);
	border-radius: 8px;
	padding: 64px;
}

.hero .hero-content .heading{
	color: var(--text-primary);
	margin-top: 8px;
}

.hero .hero-content .subheading{
	color: var(--text-secondary);
	margin-top: 8px;
}

.hero .hero-content .content{
	max-width: 512px;
	color: var(--text-medium-contrast);
	margin-top: 32px;
}

.hero .quick-insights{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 8px;
}

.hero .hero-img{
	width: 520px;
	height: 500px;
	position: relative;
	background: var(--surface-accent);
	border-radius: 8px;
}

.hero .hero-img img{
	width: auto;
	height: calc(100% + 28px);
	position: absolute;
	bottom: 0px;
	right: 0px;
}

.feature-links .container{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: stretch;
	gap: 24px;
}

.feature-links .feature-card{
	flex: 1;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	background: var(--surface-subtle);
	margin-top: 24px;
	padding: 32px;
	border-radius: 8px;
	gap: 16px;
}

.feature-links .feature-card .heading{
	color: var(--text-high-contrast);
}

.feature-links .feature-card .text{
	color: var(--text-medium-contrast);
}

.feature-links .feature-card .img{
	width: 48px;
	height: 48px;
}

.feature-links .feature-card .text{
	margin-top: 8px;
}

.case-studies{
	margin-top: 24px;
}

.case-studies .grid-layout{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: auto auto;
	align-items: center;
	gap: 24px;
}

.case-studies .grid-layout .small-image{
	grid-column: 1 / 2;
  	grid-row: 1 / 2;
	height: 260px;
}

.case-studies .grid-layout .content{
	display: flex;
	flex-direction: column;
	grid-column: 2 / 3;
	grid-row: 1 / 2;
	padding: 12px;
	gap: 12px;
}

.case-studies .grid-layout .content .heading{
	color: var(--text-primary);
}

.case-studies .grid-layout .content .text{
	color: var(--text-medium-contrast);
}

.case-studies .grid-layout .vertical-image{
	grid-column: 3 / 4;
	grid-row: 1 / 3;
	height: 100%;
}

.case-studies .grid-layout .horizontal-image{
	grid-column: 1 / 3;
  	grid-row: 2 / 3;
	height: 260px;
}

.case-studies .grid-layout .grid-image{
	width: 100%;
	border-radius: 8px;
	border: 1px solid var(--border-lighter);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.expertise{
	margin-top: 24px;
}

.expertise .wrapper{
	background: var(--surface-subtle);
	padding: 64px;
	border-radius: 8px;
}

.expertise .heading{
	color: var(--text-primary);
}

.expertise .tabs-content{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 32px;
	margin-top: 32px;
}

.expertise .tabs-content .tabs{
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	width: calc(100% - 500px);
	gap: 8px;
}

.expertise .tabs-content .tabs .tab{
	background: var(--surface-base);
	border: 1px solid var(--border-lighter);
	border-radius: 4px;
}

.expertise .tabs-content .tabs .tab .tab-heading{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	padding: 24px;
	cursor: pointer;
}

.expertise .tabs-content .tabs .tab .tab-title{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 8px;
}

.expertise .tabs-content .tabs .tab .icon{
	width: 24px;
	height: 24px;
}

.expertise .tabs-content .tabs .tab .icon path{
	fill: var(--icon-strong);
	transition: 0.3s ease-in-out;
}

.expertise .tabs-content .tabs .tab .text-title{
	color: var(--text-high-contrast);
	transition: 0.3s ease-in-out;
}

.expertise .tabs-content .tabs .tab .expand-collapse-icon{
	transition: 0.3s ease-in-out;
}

.expertise .tabs-content .tabs .tab .expand-collapse-icon path{
	fill: var(--icon-high-contrast);
	transition: 0.3s ease-in-out;
}

.expertise .tabs-content .tabs .tab:hover .tab-title .icon path,
.expertise .tabs-content .tabs .tab.active .tab-title .icon path{
	fill: var(--icon-secondary);
}

.expertise .tabs-content .tabs .tab:hover .tab-title .text-title,
.expertise .tabs-content .tabs .tab.active .tab-title .text-title{
	color: var(--text-secondary);
}

.expertise .tabs-content .tabs .tab:hover .expand-collapse-icon path,
.expertise .tabs-content .tabs .tab.active .expand-collapse-icon path{
	fill: var(--icon-secondary);
}

.expertise .tabs-content .tabs .tab.active .expand-collapse-icon{
	transform: rotate(180deg);
}

.expertise .tabs-content .tabs .tab .tab-content{
	visibility: hidden;
	height: 0px;
	padding: 0px 24px;
	opacity: 0;
	border-top: 1px solid var(--border-lighter);
	transition: 0.3s ease-in-out;
}

.expertise .tabs-content .tabs .tab.active .tab-content{
	visibility: visible;
	height: auto;
	opacity: 1;
	padding: 32px 24px;
}

.expertise .tabs-content .tabs .tab .tab-content .tags{
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 8px;
}

.expertise .tabs-content .tabs .tab .tab-content .tags .tag{
	cursor: pointer;
}

.expertise .tabs-content .content{
	width: 500px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	height: -webkit-fill-available;
	position: relative;
}

.expertise .tabs-content .content .tag-identifier-content{
	height: 100%;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: flex-start;
	visibility: hidden;
	opacity: 0;
	transition: 0.3s ease-in-out;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

.expertise .tabs-content .content .tag-identifier-content.active{
	visibility: visible;
	opacity: 1;
}

.expertise .tabs-content .content .title, 
.expertise .current-selected-content .title{
	color: var(--text-secondary);
}

.expertise .tabs-content .content .subtitle,
.expertise .current-selected-content .subtitle{
	color: var(--text-high-contrast);
	margin-top: 24px;
}

.expertise .tabs-content .content .text,
.expertise .current-selected-content .text{
	color: var(--text-medium-contrast);
	margin-top: 8px;
}

.expertise .tabs-content .quote{
	margin-top: 24px;
}

.expertise .tabs-content .quote .text{
	color: var(--text-medium-contrast);
	font-style: italic;
}

.expertise .tabs-content .quote .author{
	color: var(--text-medium-contrast);
	margin-top: 8px;
}

.expertise .current-selected-content{
	margin-top: 32px;
	display: none;
	flex-direction: column;
}

footer{
	background: var(--surface-subtle);
	padding: 24px 0px;
	margin-top: 24px;
}

footer .container{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

footer .copyrights{
	color: var(--text-medium-contrast);
}

footer .contacts{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
}

footer .contacts .contact{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--text-medium-contrast);
	transition: 0.3s ease-in-out;
}

footer .contacts .contact .icon{
	width: 24px;
	height: 24px;
}

footer .contacts .contact .icon path{
	fill: var(--icon-medium-contrast);
	transition: 0.3s ease-in-out;
}

footer .contacts .contact:hover{
	color: var(--text-secondary);
}

footer .contacts .contact:hover .icon path{
	fill: var(--icon-secondary);
}

@media only screen and (max-width: 1250px){
	.hero .hero-content{
		width: calc(100% - 400px);
	}

	.hero .hero-img{
		width: 400px;
	}

	.hero .hero-content .content{
		max-width: 100%;
	}

	.expertise .tabs-content .tabs{
		width: 480px;
	}

	.expertise .tabs-content .content{
		width: calc(100% - 480px);
	}
}

@media only screen and (max-width: 1024px){
	.hero{
		padding: 0px 32px;
	}

	.hero .container{
		padding: 0px;
		border-radius: 8px;
	}

	.hero .container, .hero .hero-img{
		background: var(--surface-primary-subtle);
	}

	.case-studies .grid-layout{
		grid-template-columns: 1fr 1fr;
	}

	.case-studies .grid-layout .vertical-image{
		display: none;
	}
}

@media only screen and (max-width: 1000px){
	.hero .hero-content{
		width: 100%;
        height: auto;
		padding: 48px 32px;
	}

	.hero .hero-img{
		display: none;
	}

	.feature-links .container{
		flex-direction: column;
		gap: 0px;
	}

	.expertise .tabs-content .tabs{
		width: 100%;
	}

	.expertise .tabs-content .content{
		display: none;
	}

	.expertise .current-selected-content{
		display: flex;
	}

	.expertise .wrapper{
		padding: 48px 32px;
	}
}

@media only screen and (max-width: 760px){
	.section .container{
		padding: 0px 16px;
	}

	.hero{
		padding: 0px 16px;
	}

	.hero .container{
		padding: 0px;
	}

	.hero .hero-content{
		padding: 48px 32px;
	}

	footer .container{
		flex-direction: column;
		gap: 32px;
	}

	footer .contacts{
		order: 1;
		flex-direction: column;
	}

	footer .copyrights{
		order: 2;
	}

	.case-studies .grid-layout{
		display: flex;
		flex-direction: column;
	}

	.case-studies .grid-layout .content{
		order: 1;
		background: var(--surface-accent);
		border-radius: 8px;
		padding: 32px;
	}

	.case-studies .grid-layout .grid-image{
		display: flex;
		height: 300px;
		order: 2;
	}
}

@media only screen and (max-width: 460px){
	.hero .hero-content,
	.feature-links .feature-card,
	.case-studies .grid-layout .content,
	.expertise .wrapper{
		padding: 24px 16px;
	}
}