/**
 * Homepage specific styling goes here. Excluded on all subpages
 *
 * @format
 */

/* For most builds, this stylesheet should be wiped and started fresh */

/* PRELOADER */
.preloader-outer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 9;
	width: 100%;
	height: 100vh;
	background-color: var(--color-white);
	transition: opacity 600ms ease-out;
}

.preloader-outer.active {
	visibility: visible !important;
}

.preloader-outer.preloader-remove {
	opacity: 0;
	pointer-events: none;
}

.preloader-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.preloader-inner p {
	margin-bottom: 15px;
}

.preloader-inner p:last-of-type {
	margin: 0;
}

.preloader-part {
	margin: 20px;
	display: none;
}

.preloader-part-left.active {
	display: block;
	-webkit-animation: fadeinright 800ms ease-out;
	animation: fadeInRight 800ms ease-out;
}

.preloader-part-right.active {
	display: block;
	-webkit-animation: fadeinleft 500ms ease-out;
	animation: fadeInLeft 500ms ease-out;
}

/* HERO */
.hero {
	padding-top: 90px;
	padding-bottom: 39px;
	position: relative;
	z-index: 1;
	min-height: 65vh;
	display: flex;
	align-items: flex-end;
	text-align: center;
	margin-top: 62px;
	background-color: #1f1f1f;
}

.hero:before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: linear-gradient(146.85deg, rgba(146, 193, 204, 0.53) 5.34%, rgba(146, 193, 204, 0) 18.98%), linear-gradient(180deg, rgba(31, 31, 31, 0) 35.79%, #1f1f1f 70.68%);
	content: '';
	pointer-events: none;
}

.hero-text {
	position: relative;
	z-index: 2;
	color: var(--color-white);
	--hero-text-shadow: 0 0px 15px rgba(31, 31, 31, 0.7), 0 2px 15px rgba(31, 31, 31, 1);
}

.hero-title {
	margin-bottom: 1px;
	/* font-size: 5.625rem; */
	font-size: 3.625em;
	font-weight: 600;
	color: var(--color-gray-100);
}

.hero-title span {
	display: block;
	overflow: hidden;
	padding-bottom: 10px;
	text-shadow: var(--hero-text-shadow);
	animation-delay: 1000ms;
}

.hero-subtitle {
	font-size: 1.375rem;
	letter-spacing: -0.044rem;
}

.hero-subtitle span {
	font-weight: 300;
	display: inline-block;
	overflow: hidden;
	text-shadow: var(--hero-text-shadow);
	animation-delay: 2000ms;
	font-weight: 600;
	padding-bottom: 4px;
}

.hero-subtitle strong {
	position: relative;
	display: inline-block;
	overflow: hidden;
	text-shadow: var(--hero-text-shadow);
	animation-delay: 2000ms;
	font-weight: 600;
	padding-bottom: 4px;
}

.hero-subtitle strong::after {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 0.45em;
	background: url('../images/hero-underline.svg') no-repeat center bottom;
	background-size: 100% 100%;
	content: '';
	pointer-events: none;
	z-index: -1;
}

.hero-cta {
	margin-top: 10px;
}

.hero-cta .hero-button {
	padding: 16px 32px;
	min-width: 280px;
	font-size: 1.125rem;
	font-weight: 700;
	text-transform: none;
	letter-spacing: 0;
	color: var(--color-white);
	border: 2px solid var(--color-white);
	border-radius: 12px;
	background-color: var(--color-primary);
	animation-delay: 2800ms;
}

.hero-cta .hero-button:hover,
.hero-cta .hero-button:focus {
	color: var(--color-white);
	border-color: var(--color-alternate);
	background-color: var(--color-alternate);
}

.hero-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.hero-bg img,
.hero-bg-video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
}

.hero-has-video .hero-bg {
	height: 30%;
}

.hero-has-video .hero-bg::after {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
	width: 100%;
	height: 30%;
	/* background: linear-gradient(180deg, rgba(31, 31, 31, 0) 55%, rgba(31, 31, 31, 0.65) 78%, rgba(31, 31, 31, 0.95) 100%); */
	background: linear-gradient(0deg, rgba(31, 31, 31, 1) 0%, rgba(255, 255, 255, 0) 100%);
	content: '';
	pointer-events: none;
}

.hero-has-video:before {
	background:
		linear-gradient(146.85deg, rgba(146, 193, 204, 0.45) 5.34%, rgba(146, 193, 204, 0) 16%),
		linear-gradient(180deg, rgba(31, 31, 31, 0) 0%, rgba(31, 31, 31, 0) 18%, rgba(31, 31, 31, 0.35) 24%, rgba(31, 31, 31, 0.8) 29%, #1f1f1f 34%, #1f1f1f 100%);
}

@media screen and (min-width: 600px) {
	.hero-has-video .hero-bg {
		height: 56%;
	}

	/* .hero-has-video .hero-bg::after {
		background: linear-gradient(180deg, rgba(31, 31, 31, 0) 50%, rgba(31, 31, 31, 0.65) 75%, rgba(31, 31, 31, 0.95) 100%);
	} */

	.hero-has-video:before {
		background:
			linear-gradient(146.85deg, rgba(146, 193, 204, 0.45) 5.34%, rgba(146, 193, 204, 0) 16%),
			linear-gradient(180deg, rgba(31, 31, 31, 0) 0%, rgba(31, 31, 31, 0) 28%, rgba(31, 31, 31, 0.35) 38%, rgba(31, 31, 31, 0.8) 44%, #1f1f1f 50%, #1f1f1f 100%);
	}
}

@media screen and (min-width: 768px) {
	.hero:before {
		background: linear-gradient(146.85deg, rgba(146, 193, 204, 0.53) 5.34%, rgba(146, 193, 204, 0) 18.98%), linear-gradient(180deg, rgba(31, 31, 31, 0) 56.86%, rgba(31, 31, 31, 0.86) 89.24%);
	}
}

@media screen and (min-width: 1025px) {
	.hero {
		padding-top: 120px;
		padding-bottom: 24px;
		margin-top: 0;
	}

	.hero-has-video .hero-bg {
		height: 100%;
	}

	.hero-has-video .hero-bg::after {
		display: none;
	}

	.hero-has-video:before {
		background: linear-gradient(146.85deg, rgba(146, 193, 204, 0.53) 5.34%, rgba(146, 193, 204, 0) 18.98%), linear-gradient(180deg, rgba(31, 31, 31, 0) 56.86%, rgba(31, 31, 31, 0.86) 89.24%);
	}

	.hero-title {
		/* font-size: 10.125rem; */
		font-size: 8.125rem;
	}

	.hero-subtitle {
		font-size: 2.875rem;
		letter-spacing: -0.075rem;
	}

	.hero-cta .hero-button {
		padding: 18px 40px;
		min-width: 320px;
		font-size: 1.25rem;
	}
}

@media screen and (min-width: 1441px) {
	.hero {
		padding-bottom: 54px;
	}

	.hero-title {
		font-size: 13.75rem;
		font-size: 8.75rem;
	}
}

/* USP */
.usp {
	margin-top: 40px;
	overflow: hidden;
}

.usp-item {
	padding-top: 11px;
	padding-bottom: 11px;
	display: flex;
	align-items: center;
	font-size: 1.063rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	text-align: left;
	line-height: 1.2;
	animation-delay: 1000ms;
}

.usp-icon {
	margin-right: 26px;
	width: 42px;
	flex: 0 0 auto;
}

@media screen and (min-width: 768px) {
	.usp {
		margin-top: 30px;
		display: -webkit-flex;
		display: -moz-flex;
		display: -o-flex;
		display: flex;
		-webkit-box-align: center;
		align-items: center;
		-webkit-box-pack: center;
		justify-content: center;
		grid-gap: 31px;
		gap: 31px;
	}

	.usp-item {
		position: relative;
		padding: 18px 0;
		justify-content: center;
		border-bottom: 0;
	}

	.usp-item:not(:last-of-type)::before {
		content: '';
		position: absolute;
		top: 0;
		left: calc(100% + 16px);
		width: 1px;
		height: 100%;
		background-color: rgba(255, 255, 255, 0.5);
	}

	.usp-item:first-of-type {
		padding-left: 0;
	}

	.usp-item:last-of-type {
		border-right: 0;
	}

	.usp-icon {
		width: 55px;
	}
}

@media screen and (min-width: 1441px) {
	.usp {
		grid-gap: 81px;
		gap: 81px;
		margin-top: 95px;
	}

	.usp-item:not(:last-of-type)::before {
		left: calc(100% + 41px);
	}
}

/* CASE */
.case {
	margin-bottom: 174px;
	padding-top: 35px;
}

.case-left {
	text-align: center;
}

.case h2 {
	margin-bottom: 16px;
	font-size: 2.5rem;
	line-height: 1.1;
}

.case h2 span {
	display: block;
	color: var(--color-black);
}

.case-subtitle {
	margin-bottom: 22px;
	font-size: 1.75rem;
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: -0.056rem;
}

.case-buttons .button {
	margin-bottom: 14px;
	width: 100%;
	min-height: 65px;
}

.case-buttons .button.tel {
	font-size: 1.25rem;
	text-transform: none;
	letter-spacing: 0;
}

.case-buttons .button.tel i {
	margin: 0 6px;
	font-size: 0.688rem;
}

.case-right {
	margin-bottom: 30px;
	line-height: 1.5;
}

.case-right p {
	margin-bottom: 27px;
}

.case-right p:last-of-type {
	font-weight: 700;
	margin-bottom: 0;
}

.case-right p:last-of-type strong {
	color: var(--color-primary);
}

@media screen and (min-width: 768px) {
	.case {
		margin-bottom: 236px;
		padding-top: 72px;
	}

	.case h2 {
		margin-bottom: 17px;
		font-size: 3.438rem;
	}

	.case-holder {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}

	.case-left {
		padding-right: 25px;
		text-align: left;
		width: 47%;
	}

	.case-subtitle {
		margin-bottom: 43px;
		font-size: 2.5rem;
		letter-spacing: -0.075rem;
	}

	.case-buttons .button {
		margin-right: 14px;
		width: auto;
	}

	.case-buttons .button:last-of-type {
		margin-right: 0;
	}

	.case-right {
		margin-bottom: 0;
		padding-left: 25px;
		width: 53%;
		border-left: 2px solid var(--color-primary);
		line-height: 1.55;
	}

	.case-right p {
		margin-bottom: 29px;
	}
}

@media screen and (min-width: 1025px) {
	.case-right {
		padding-left: 52px;
	}
}

/* PEOPLE */
.people {
	padding-bottom: 45px;
	color: var(--color-white);
	background-image: url('../images/people-bg.webp');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top center;
}

.people h2 {
	margin-bottom: 14px;
	font-size: 3.125rem;
	line-height: 1.1;
	color: inherit;
}

.people h2 span {
	display: block;
}

.people-row {
	margin-bottom: 23px;
}

.people-text {
	font-size: 1.25rem;
	line-height: 1.35;
}

.people-text p:last-of-type {
	margin-bottom: 0;
}

.people-image {
	margin: -104px calc(var(--gutter-size) * -1) 10px 0;
	position: relative;
	display: inline-block;
}

.people-image img {
	width: 100%;
	border-radius: 15px 0 0 15px;
}

.people-circle {
	margin-left: -106px;
	position: absolute;
	top: -82px;
	left: 80%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 184px;
	height: 184px;
	font-size: 2.75rem;
	color: var(--color-secondary);
	pointer-events: none;
}

.people-circle:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url('../images/circle-rotate2.svg');
	background-repeat: no-repeat;
	background-size: contain;
	animation: 15s linear rotate infinite;
	content: '';
}

.people-title {
	margin-bottom: 38px;
	display: flex;
	align-items: center;
	font-size: 1.063rem;
	font-weight: 500;
	line-height: 1.2;
	text-transform: uppercase;
	white-space: nowrap;
	letter-spacing: 0.106rem;
}

.people-title i {
	margin-left: 9px;
	height: 2px;
	width: 100%;
	background-color: var(--color-secondary);
}

.people-holder {
	margin-bottom: 45px;
	display: grid;
	gap: 36px;
	grid-template-columns: repeat(1, 1fr);
}

.people-column {
	font-size: 1.125rem;
	line-height: 1.33;
}

.people-counting {
	margin-bottom: 11px;
	display: block;
	font-size: var(--font-size-h2);
	line-height: 1.2;
	overflow: hidden;
}

.people-counting strong {
	display: block;
	animation-delay: 500ms;
}

.people-column p:last-of-type {
	margin-bottom: 0;
}

.people-button .button {
	width: 100%;
	min-height: 65px;
}

@media screen and (min-width: 768px) {
	.people {
		padding-bottom: 155px;
	}

	.people h2 {
		margin-bottom: 10px;
		font-size: 3.875rem;
	}

	.people-row {
		margin-bottom: 30px;
		display: flex;
		flex-wrap: wrap;
	}

	.people-image {
		margin-top: -155px;
		margin-right: -403px;
		padding-left: 15px;
		order: 2;
		display: block;
		width: calc(50% + 403px);
	}

	.people-image img {
		min-height: 445px;
		object-fit: cover;
	}

	.people-circle {
		margin-left: 0;
		top: 29px;
		left: -80px;
	}

	.people-text {
		margin-top: 64px;
		padding-right: 25px;
		order: 1;
		width: 50%;
	}

	.people-holder {
		margin-bottom: 98px;
		grid-template-columns: repeat(3, 1fr);
	}

	.people-title {
		margin-bottom: 35px;
	}

	.people-counting {
		margin-bottom: 16px;
		font-size: 2.5rem;
	}

	.people-button {
		text-align: right;
	}

	.people-button .button {
		width: auto;
		min-width: 293px;
	}
}

@media screen and (min-width: 1025px) {
	.people h2 {
		font-size: 4.375rem;
	}

	.people-image {
		padding-left: 66px;
	}
}

/* FACING */
.facing {
	padding-top: 41px;
	padding-bottom: 32px;
	position: relative;
	background-image: url('../images/facing-phone-bg.jpg');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top center;
}

.facing h3 {
	margin-bottom: 16px;
	font-size: 2.5rem;
	color: var(--color-black);
	line-height: 1.05;
}

.facing h3 span {
	color: var(--color-primary);
}

.facing h2 {
	margin-bottom: 28px;
	font-size: 2.5rem;
	color: var(--color-black);
	line-height: 1.05;
}

.facing h4 {
	margin-bottom: 9px;
	font-size: 1.875rem;
	font-weight: 600;
	color: var(--color-black);
}

.facing h4 span {
	color: var(--color-primary);
}

.facing-text {
	position: relative;
	z-index: 1;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.25;
}

.facing-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	font-size: 1.688rem;
	color: var(--color-white);
	border-radius: 50%;
	background-color: var(--color-primary);
}

.facing-arrow:focus,
.facing-arrow:hover {
	color: var(--color-white);
	background-color: var(--color-secondary);
}

@media screen and (min-width: 768px) {
	.facing {
		margin-top: -81px;
		padding-top: 0;
		padding-bottom: 0;
		background-image: none;
	}

	.facing h3 {
		margin-bottom: 17px;
	}

	.facing h2 {
		margin-bottom: 46px;
		font-size: 4.063rem;
	}

	.facing p {
		margin-bottom: 50px;
	}

	.facing h4 {
		margin-bottom: 14px;
		font-size: 2.5rem;
	}

	.facing-holder {
		padding-top: 80px;
		padding-right: 210px;
		padding-bottom: 20px;
		position: relative;
		border-radius: 0 15px 15px 0;
	}

	.facing-holder:before {
		position: absolute;
		top: 0;
		left: -450px;
		z-index: 1;
		width: 1180px;
		height: 525px;
		opacity: 0.06;
		background-image: url('../images/facing-shape.svg');
		background-repeat: no-repeat;
		content: '';
		pointer-events: none;
	}

	.facing-text {
		line-height: 1.5;
	}

	.facing-arrow {
		margin-top: -9px;
		position: absolute;
		top: 50%;
		right: -81px;
		transform: translateY(-50%);
	}

	.facing-bg {
		position: absolute;
		top: 0;
		right: 0;
		width: 100vw;
		height: 100%;
		border-radius: 0 15px 15px 0;
		overflow: hidden;
		pointer-events: none;
	}

	.facing-bg img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

@media screen and (min-width: 1025px) {
	.facing-holder:before {
		left: -397px;
	}
}

/* HAVING */
.having {
	margin-bottom: 36px;
	position: relative;
}

.having-holder {
	margin-bottom: 39px;
	position: relative;
}

.having-holder:last-of-type {
	margin-bottom: 0;
}

.having-image {
	margin: 0 calc(var(--gutter-size) * -1) 20px;
	animation-delay: 1s;
}

.having-image img {
	width: 100%;
}

.having-holder.reverse img {
	width: auto;
}

.having-text {
	font-size: 1.25rem;
	line-height: 1.35;
}

.having-text h2 {
	margin-bottom: 24px;
	font-size: 2.5rem;
	line-height: 1.1;
}

.having-text h2 span {
	display: block;
	color: var(--color-black);
}

.having-text p {
	margin-bottom: 27px;
}

.having-list-title {
	margin-bottom: 15px;
	font-weight: 700;
}

.having-text ul {
	margin-bottom: 20px;
}

.having-text li {
	margin-bottom: 14px;
	padding-left: 45px;
	position: relative;
	font-size: 1.125rem;
}

.having-text li:before {
	position: absolute;
	top: 11px;
	left: 0;
	width: 30px;
	height: 2px;
	border-radius: 3px;
	background-color: var(--color-primary);
	content: '';
	pointer-events: none;
}

.having-text li:last-of-type {
	margin-bottom: 0;
}

.having-founder {
	margin-bottom: 29px;
	line-height: 1.3;
}

.having-founder-name {
	margin-bottom: 14px;
	display: block;
	font-size: 1.125rem;
	font-weight: 700;
	text-align: center;
	white-space: nowrap;
}

.having-role {
	padding: 29px;
	font-size: 1.375rem;
	background-image: url('../images/role-bg.jpg');
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
	border-radius: 15px;
}

.having-role strong {
	display: block;
}

.having-role span {
	color: var(--color-primary);
}

.having-role p {
	letter-spacing: -0.031rem;
}

.having-role p:last-of-type {
	margin-bottom: 0;
}

.having.inner {
	margin-bottom: 40px;
}

.having.inner .having-text {
	font-size: 1.125rem;
}

.having.inner .button {
	min-height: 65px;
	width: 100%;
}

.having-holder.reverse img {
	background: var(--color-gray-200);
}

@media screen and (min-width: 1025px) {
	.having {
		margin-bottom: 145px;
		padding-top: 71px;
	}

	.having-holder {
		margin-bottom: 51px;
		display: flex;
		flex-wrap: wrap;
		flex-direction: row-reverse;
	}

	.having-image {
		margin: 0 -100px 0 0;
		padding-left: 30px;
		width: calc(47% + 100px);
	}

	.having-image img {
		min-width: 572px;
		object-fit: cover;
		border-radius: 15px 0 0 15px;
	}

	.having-text {
		width: 53%;
	}

	.having-text h2 {
		font-size: 3.438rem;
	}

	.having-text ul {
		margin-bottom: 38px;
	}

	.having-list-title {
		margin-bottom: 25px;
	}

	.having-holder.reverse {
		flex-direction: inherit;
	}

	.having-holder.reverse .having-image {
		margin: 0 0 0 -100px;
		padding-right: 30px;
		padding-left: 0;
	}

	.having-holder.reverse .having-image img {
		border-radius: 0 15px 15px 0;
	}

	.having-holder.reverse .having-text {
		padding-bottom: 70px;
	}

	.having-founder {
		margin-bottom: 0;
		position: absolute;
		bottom: -87px;
		right: 0;
		display: flex;
		align-items: center;
	}

	.having-founder-name {
		margin-top: 51px;
		margin-right: 28px;
		margin-bottom: 0;
	}

	.having-role {
		padding: 37px 49px;
		font-size: 1.5rem;
	}

	.having-role strong {
		margin-bottom: 5px;
	}

	.having.inner .having-holder.reverse .having-image img {
		min-height: 747px;
	}

	.having.inner .having-holder.reverse .having-text {
		padding-bottom: 0;
	}

	.having.inner {
		margin-bottom: 100px;
	}

	.having.inner .having-holder {
		align-items: center;
	}

	.having.inner .button {
		width: auto;
	}

	.having-holder {
		align-items: center;
	}

	.having.inner {
		margin-bottom: 0;
	}

	.having-holder.reverse .having-text {
		padding-bottom: 0;
		padding-left: 54px;
	}

	.having.inner .having-holder.reverse .having-text {
		padding-bottom: 102px;
	}

	.having + .testimonial {
		margin-top: -79px;
	}
}

@media screen and (min-width: 1200px) {
	.having-role {
		padding-right: 129px;
	}
}

@media screen and (min-width: 1320px) {
	.having-image {
		margin: 0 calc(-1 * ((100vw - var(--width-narrow)) / 2)) 0 0;
		width: calc(47% + ((100vw - var(--width-narrow)) / 2));
	}

	.having-holder.reverse .having-image {
		margin: 0 0 0 calc(-1 * ((100vw - var(--width-narrow)) / 2));
	}
}

@media screen and (min-width: 1700px) {
	.having-image {
		margin: 0 -404px 0 0;
		padding-left: 30px;
		width: calc(47% + 404px);
	}

	.having-holder.reverse .having-image {
		margin: 0 0 0 -404px;
		padding-right: 30px;
		padding-left: 0;
	}
}

/* STEPS */
.steps {
	padding-top: 30px;
	padding-bottom: 53px;
	position: relative;
	text-align: center;
	color: var(--color-white);
	background-image: url('../images/steps-phone-bg.jpg');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top center;
	line-height: 1.4;
}

.steps .column {
	position: relative;
	z-index: 1;
}

.steps-top {
	margin-bottom: 36px;
}

.steps h2 {
	margin-bottom: 5px;
	font-size: 2.5rem;
	color: inherit;
	line-height: 1.05;
}

.steps-holder {
	display: grid;
	gap: 44px;
	grid-template-columns: repeat(1, 1fr);
}

.steps-column {
	line-height: 1.65;
}

.steps-column span {
	margin-bottom: 15px;
	display: block;
	font-size: 1.063rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.106rem;
}

.steps-counting {
	margin-bottom: 20px;
	overflow: hidden;
}

.steps-counting .circle {
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 90px;
	height: 90px;
	font-size: 2.5rem;
	font-weight: 700;
	border: 1px solid var(--color-secondary);
	border-radius: 50%;
}

.steps-column strong {
	margin-bottom: 16px;
	display: block;
	font-size: 1.625rem;
	line-height: 1.17;
}

.steps p {
	font-weight: 300;
}

.steps p:last-of-type {
	margin-bottom: 0;
}

.steps-circle {
	position: absolute;
	top: -33px;
	left: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 149px;
	height: 149px;
	font-size: 2.75rem;
	color: var(--color-secondary);
	pointer-events: none;
}

.steps-circle:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url('../images/circle-rotate1.svg');
	background-repeat: no-repeat;
	background-size: contain;
	animation: 15s linear rotate infinite;
	content: '';
}

@media screen and (min-width: 768px) {
	.steps {
		padding-top: 99px;
		padding-bottom: 150px;
		background-image: url('../images/steps-bg.jpg');
	}

	.steps-top {
		margin-bottom: 55px;
	}

	.steps h2 {
		margin-bottom: 15px;
		font-size: 3.75rem;
		line-height: 1.1;
	}

	.steps-holder {
		grid-template-columns: repeat(4, 1fr);
	}

	.steps-column {
		position: relative;
	}

	.steps-column:after {
		position: absolute;
		top: 12px;
		left: 86%;
		width: 50%;
		height: 6px;
		background-image: url('../images/arrow-long-right.svg');
		background-repeat: no-repeat;
		background-size: contain;
		content: '';
	}

	.steps-column:last-of-type:after {
		display: none;
	}

	.steps + .fees {
		margin-top: -80px;
	}
}

@media screen and (min-width: 1025px) {
	.steps-circle {
		margin-left: -449px;
		left: 50%;
	}

	.steps-column:after {
		top: 9px;
		left: 74%;
		width: 67%;
		height: 11px;
	}
}

/* FEES */
.fees {
	padding-top: 41px;
	padding-bottom: 38px;
	position: relative;
	background-image: url('../images/fees-phone-bg.webp');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top center;
	line-height: 1.35;
}

.fees h2 {
	margin-bottom: 9px;
	font-size: 3.125rem;
	line-height: 1;
}

.fees h2 span {
	display: block;
	font-weight: 300;
	color: var(--color-black);
}

.fees p {
	margin-bottom: 23px;
}

.fees strong {
	margin-bottom: 22px;
}

.fees ul {
	margin-bottom: 0;
}

.fees li {
	margin-bottom: 14px;
	padding-left: 44px;
	position: relative;
	font-size: 1.125rem;
}

.fees li:before {
	position: absolute;
	top: 11px;
	left: 0;
	width: 30px;
	height: 2px;
	border-radius: 3px;
	background-color: var(--color-primary);
	content: '';
	pointer-events: none;
}

.fees li span {
	font-weight: 700;
}

.fees-bg {
	margin-right: -20px;
	position: absolute;
	top: 0;
	left: 30px;
	width: calc(100% + 20px);
	height: 100%;
}

.fees-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 15px 0 0 15px;
}

@media screen and (min-width: 768px) {
	.fees {
		padding-top: 0;
		padding-bottom: 0;
		background-image: none;
	}

	.fees h2 {
		margin-bottom: 0;
		font-size: 5rem;
		text-align: right;
	}

	.fees strong {
		margin-bottom: 41px;
	}

	.fees-holder {
		padding: 60px 30px 60px 60px;
		position: relative;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		width: 100%;
	}

	.fees-left {
		padding-right: 30px;
		position: relative;
		z-index: 1;
		width: 59%;
	}

	.fees-right {
		padding-top: 4px;
		padding-bottom: 5px;
		padding-left: 30px;
		position: relative;
		z-index: 1;
		width: 41%;
		border-left: 2px solid var(--color-primary);
	}
}

@media screen and (min-width: 1025px) {
	.fees-holder {
		padding: 79px 60px 70px 60px;
	}

	.fees-holder:before {
		position: absolute;
		top: 0;
		left: 82px;
		z-index: 1;
		width: 613px;
		height: 100%;
		opacity: 0.06;
		background-image: url('../images/fees-shape.svg');
		background-repeat: no-repeat;
		background-size: contain;
		content: '';
		pointer-events: none;
	}

	.fees-left {
		padding-right: 71px;
	}

	.fees-right {
		padding-left: 68px;
	}
}

/* ACROSS */
.across {
	margin-bottom: 42px;
	padding-top: 31px;
}

.across-left {
	margin-bottom: 21px;
}

.across h2 {
	margin-bottom: 13px;
	font-size: 2.5rem;
	line-height: 1.1;
}

.across h2 span {
	color: var(--color-black);
}

.across p {
	margin-bottom: 10px;
}

.across .button {
	min-height: 65px;
}

.across-item {
	padding-top: 11px;
	padding-right: 40px;
	padding-bottom: 11px;
	position: relative;
	display: flex;
	align-items: center;
	color: var(--color-black);
	border-bottom: 1px solid var(--color-gray-300);
	text-decoration: none;
	line-height: 1.2;
}

.across-item:after {
	position: absolute;
	top: 50%;
	right: 5px;
	font-size: 1.375rem;
	font-family: var(--font-family-icon), sans-serif;
	color: var(--color-primary);
	transform: translateY(-50%);
	content: '\f178';
}

.across-item-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 49px;
	height: 47px;
	flex: 0 0 auto;
}

.across-item strong {
	margin-left: 12px;
	display: block;
}

.across-item:focus,
.across-item:hover {
	color: var(--color-primary);
}

@media screen and (min-width: 768px) {
	.across {
		margin-bottom: 40px;
		padding-top: 119px;
	}

	.across-left {
		margin-bottom: 30px;
	}

	.across-row {
		display: grid;
		gap: 40px;
		grid-template-columns: repeat(2, 1fr);
	}

	.across h2 {
		font-size: 3.438rem;
	}

	.across p {
		margin-bottom: 34px;
	}

	.across-item-icon {
		width: 55px;
		height: 47px;
	}

	.across-item strong {
		margin-left: 13px;
	}

	.across-right p {
		margin-bottom: 14px;
	}
}

@media screen and (min-width: 1025px) {
	.across-holder {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-end;
	}

	.across-left {
		margin-bottom: 0;
		padding-right: 30px;
		width: 35%;
	}

	.across-right {
		width: 65%;
	}
}

/* TESTIMONIAL */
.testimonial {
	padding-top: 42px;
	padding-bottom: 50px;
	color: var(--color-white);
	background-image: url('../images/testimonial-bg.jpg');
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
	line-height: 1.65;
}

.testimonial-text {
	margin-bottom: 109px;
}

.testimonial h2 {
	margin-bottom: 13px;
	font-size: 2.5rem;
	color: inherit;
	line-height: 1.1;
}

.testimonial-text p {
	font-weight: 300;
}

.testimonial-text strong {
	font-weight: 700;
}

.testimonial-slider {
	padding: 108px 15px 40px 15px;
	position: relative;
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--color-black);
	background-color: var(--color-white);
	border-radius: 15px;
	text-align: center;
	line-height: 1.33;
}

.testimonial-slider .swiper-autoplay-toggle {
	bottom: 43px;
	right: 20px;
	z-index: 2;
}

.testimonial-slider .swiper-autoplay-toggle:hover,
.testimonial-slider .swiper-autoplay-toggle:focus {
	opacity: 0.85;
}

.testimonial-circle {
	margin-left: -92px;
	position: absolute;
	top: -93px;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 184px;
	height: 184px;
	pointer-events: none;
}

.testimonial-circle:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url('../images/circle-rotate2.svg');
	background-repeat: no-repeat;
	background-size: contain;
	animation: 15s linear rotate infinite;
	content: '';
}

.testimonial-slider > strong {
	margin-bottom: 20px;
	display: block;
	font-size: 1.25rem;
	letter-spacing: -0.006rem;
}

.testimonial-slider p:last-of-type {
	margin-bottom: 0;
}

.testimonial-slider p strong {
	color: var(--color-primary);
}

.testimonial .swiper-pagination {
	margin-top: 19px;
	position: unset;
	inset: auto;
}

.testimonial .swiper-button-prev {
	left: -38px;
}

.testimonial .swiper-button-next {
	right: -38px;
}

.testimonial .swiper-button-prev,
.testimonial .swiper-button-next {
	margin-top: -37px;
}

@media screen and (min-width: 768px) {
	.testimonial {
		padding-top: 150px;
		padding-bottom: 69px;
	}

	.testimonial-holder {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.testimonial-text {
		margin-top: 20px;
		margin-bottom: 0;
		width: 45%;
	}

	.testimonial h2 {
		margin-bottom: 14px;
		font-size: 3.438rem;
	}

	.testimonial-slider {
		padding: 114px 40px 43px 40px;
		width: 48%;
		font-size: 1.625rem;
		line-height: 1.55;
	}

	.testimonial-slider > strong {
		margin-bottom: 32px;
	}

	.testimonial .swiper-button-prev,
	.testimonial .swiper-button-next {
		margin-top: -37px;
	}

	.testimonial .swiper-pagination {
		margin-top: 41px;
	}
}

@media screen and (min-width: 1025px) {
	.testimonial-text {
		width: 46%;
	}

	.testimonial-slider {
		padding-right: 80px;
		padding-left: 80px;
		width: 43.5%;
	}
}

/* LEVEL */
.level {
	padding-top: 31px;
	padding-bottom: 36px;
	text-align: center;
	background-color: var(--color-gray-200);
	line-height: 1.25;
}

.level strong {
	margin-bottom: 18px;
	display: block;
	font-size: 1.5rem;
}

.level .button {
	padding: 15px;
	height: 65px;
	min-width: 288px;
}

@media screen and (min-width: 768px) {
	.level {
		margin-top: -26px;
		padding-top: 0;
		padding-bottom: 0;
		text-align: left;
		background-color: transparent;
		overflow: visible;
	}

	.level .row-narrow,
	.level .column {
		overflow: visible;
	}

	.level-holder {
		position: relative;
		padding: 26px 35px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		border-radius: 15px 0 0 15px;
		background-color: var(--color-gray-200);
	}

	.level-holder::after {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 100%;
		width: 100vw;
		background-color: var(--color-gray-200);
		content: '';
		pointer-events: none;
	}

	.level strong {
		margin-right: 10px;
		margin-bottom: 0;
	}
}

/* FAQ */
.faq {
	margin-bottom: 34px;
	padding-top: 36px;
}

.faq h2 {
	margin-bottom: 26px;
	font-size: 2.5rem;
	line-height: 1.1;
}

.faq h2 span {
	display: block;
	color: var(--color-black);
}

@media screen and (min-width: 768px) {
	.faq {
		margin-bottom: 54px;
		padding-top: 76px;
	}

	.faq h2 {
		margin-bottom: 30px;
		font-size: 3.438rem;
	}
}

@media screen and (min-width: 1025px) {
	.faq-holder {
		display: flex;
		flex-wrap: wrap;
	}

	.faq h2 {
		margin-bottom: 0;
		font-size: 2.875rem;
	}

	.faq-left {
		padding-top: 8px;
		padding-right: 50px;
		width: 27%;
		text-align: right;
	}

	.faq-right {
		padding-left: 63px;
		width: 73%;
		border-left: 2px solid var(--color-primary);
	}
}

@media screen and (min-width: 1200px) {
	.faq h2 {
		font-size: 3.438rem;
	}
}

/* ACTION */
.action {
	padding-top: 34px;
	padding-bottom: 15px;
	text-align: left;
	background-color: var(--color-gray-200);
}

.action h2 {
	margin-bottom: 12px;
	font-size: 2.5rem;
	line-height: 1.1;
}

.action h2 span {
	display: block;
	color: var(--color-black);
}

.action p {
	margin-bottom: 18px;
	font-size: 1.5rem;
	line-height: 1.25;
}

.action p strong {
	margin-top: 30px;
	display: block;
}

.action ul {
	overflow: hidden;
}

.action li {
	padding: 25px 0 25px 42px;
	position: relative;
	font-size: 1.25rem;
	font-weight: 700;
	text-align: left;
	border-bottom: 1px solid var(--color-gray-300);
	line-height: 1.25rem;
}

.action li:before {
	position: absolute;
	top: 50%;
	left: 2px;
	width: 30px;
	height: 28px;
	background: url('../images/check-circle.svg') no-repeat;
	transform: translateY(-50%);
	content: '';
	pointer-events: none;
}

.action li:last-of-type {
	border-bottom: 0;
}

@media screen and (min-width: 768px) {
	.action {
		padding-top: 56px;
		padding-bottom: 57px;
		text-align: center;
	}

	.action h2 {
		font-size: 3.438rem;
	}

	.action h2 span {
		display: inline-block;
	}

	.action p {
		margin: 0 auto 38px;
		max-width: 540px;
	}

	.action p strong {
		margin-top: 0;
		display: inline;
	}

	.action ul {
		display: flex;
		justify-content: center;
	}

	.action li {
		margin-right: 10px;
		padding: 10px 10px 10px 42px;
		border-right: 1px solid var(--color-gray-300);
		border-bottom: 0;
	}

	.action li:last-of-type {
		margin-right: 0;
		padding-right: 0;
		border-right: 0;
	}
}
