/* SERVICES */

@property --services_border_angle {
	syntax: "<angle>";
	inherits: false;
	initial-value: 0deg;
}

.home_services {
	background: linear-gradient(180deg, #FFFFFF 0%, rgba(0, 104, 148, 0.09) 100%);
	padding-top: 90px;
	padding-bottom: 120px;
}

#home_services_title {
	scroll-margin-top: 76px;
}

.services_grid {
	margin-top: var(--space-md);
}

.services_grid > .row > [class*="col-"] {
	display: flex;
}

.services_card {
	display: flex;
	flex-direction: column;
	position: relative;
	width: 100%;
	padding: 22px;
	background: #FFFFFF;
	border: 1px solid #FFFFFF;
	border-radius: 16px;
	box-shadow: 0 10px 28px rgba(0, 54, 77, 0.07);
	cursor: pointer;
	color: inherit;
	text-decoration: none;
}

a.services_card:hover,
a.services_card:focus,
a.services_card:active {
	color: inherit;
	text-decoration: none;
}

.services_card:focus {
	outline: none;
}

.services_card:focus-visible {
	outline: 2px solid #006894;
	outline-offset: 3px;
}

.services_card::after {
	content: "";
	position: absolute;
	inset: -1px;
	z-index: 1;
	border-radius: 17px;
	padding: 1px;
	pointer-events: none;
	opacity: 0;
	background: conic-gradient(
		from var(--services_border_angle),
		#00364D 0deg,
		#006894 90deg,
		#73C0E0 180deg,
		#006894 270deg,
		#00364D 360deg
	);
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	animation: services_border_shine 2.4s linear infinite;
	animation-play-state: paused;
	transition: opacity 0.65s ease;
}

.services_card:hover::after,
.services_card:focus-visible::after {
	opacity: 1;
	animation-play-state: running;
}

@keyframes services_border_shine {
	to {
		--services_border_angle: 360deg;
	}
}

.services_card_icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 70px;
	margin-bottom: 20px;
	padding: 10px;
	border-radius: 16px;
	background-color: rgba(0, 104, 148, 0.1);
	box-sizing: border-box;
	transition: background-color 0.4s ease;
}

.services_card_icon::before {
	content: "";
	display: block;
	width: 50px;
	height: 50px;
	background-color: #006894;
	-webkit-mask-image: var(--services_card_icon);
	mask-image: var(--services_card_icon);
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	transition: background-color 0.4s ease;
}

.services_card_text {
	flex: 1 1 auto;
	min-width: 0;
	margin-top: 0;
}

.services_card_text h3 {
	margin: 0 0 15px;
	color: #00364D;
	font-family: 'Manrope', Arial, Verdana, Tahoma;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.3;
	letter-spacing: -0.01em;
	transition: color 0.4s ease;
}

.services_card_text p {
	margin: 0;
	color: #00364D;
	font-family: 'Manrope', Arial, Verdana, Tahoma;
	font-weight: 400;
	font-size: var(--text-sm);
	line-height: 1.5;
}

.services_card_arrow {
	display: flex;
	align-self: flex-end;
	align-items: center;
	justify-content: flex-end;
	margin-top: 16px;
	color: #006894;
}

.services_card:hover .services_card_icon,
.services_card:focus-visible .services_card_icon {
	background-color: #006894;
}

.services_card:hover .services_card_icon::before,
.services_card:focus-visible .services_card_icon::before {
	background-color: #FFFFFF;
}

.services_card:hover .services_card_text h3,
.services_card:focus-visible .services_card_text h3 {
	color: #006894;
}

@media (prefers-reduced-motion: reduce) {
	.services_card::after {
		animation: none;
		background: conic-gradient(from -90deg, #00364D, #006894, #73C0E0, #006894, #00364D);
		transition: opacity 0.35s ease;
	}

	.services_card_icon,
	.services_card_icon::before,
	.services_card_text h3 {
		transition: none;
	}
}

/* XS */
@media screen and (min-width: 0px) and (max-width: 575.98px) {
	.services_card {
		padding: 18px;
	}

	.services_card_icon {
		width: 66px;
		height: 66px;
		margin-bottom: 16px;
		padding: 8px;
	}

	.services_card_icon::before {
		width: 50px;
		height: 50px;
	}

	.services_card_text h3 {
		font-size: 18px;
	}
}

.services_grid_compact {
	margin-top: 90px;
}

.services_card_compact {
	flex-direction: row;
	align-items: center;
	gap: 16px;
}

.services_card_compact .services_card_icon {
	flex-shrink: 0;
	margin-bottom: 0;
}

.services_card_compact .services_card_text h3 {
	margin: 0;
}

/* HOME APPROACH */

.home_approach {
	background: #FFFFFF;
	padding-top: 90px;
	padding-bottom: 120px;
}

#home_not_found {
	scroll-margin-top: 76px;
}

.services_extra_block h2 {
	margin: 0 0 var(--space-lg);
	padding: 0;
	color: #006894;
	font-family: 'Manrope', Arial, Verdana, Tahoma;
	font-weight: 600;
	font-size: var(--text-2xl);
	line-height: var(--leading-tight);
	letter-spacing: -0.02em;
	text-transform: none;
}

.services_extra_block_process h2 {
	color: #00948A;
}

.services_extra_block > p {
	margin: 0 0 var(--space-md) 0;
	padding: 0;
	color: #00364D;
	font-family: 'Manrope', Arial, Verdana, Tahoma;
	font-weight: 400;
	font-size: var(--text-md);
	line-height: var(--leading-body);
}

.services_extra_block > p:last-child {
	margin-bottom: 0;
}

.approach_discuss {
	margin: 0;
	padding: 0;
	background: none;
}

.approach_discuss.content h3 {
	margin: var(--space-lg) 0 var(--space-lg);
	padding: 0;
	color: #006894;
	font-family: 'Manrope', Arial, Verdana, Tahoma;
	font-weight: 600;
	font-size: var(--text-2xl);
	line-height: var(--leading-tight);
	letter-spacing: -0.02em;
	text-transform: none;
}

.approach_discuss p a:hover,
.approach_discuss p a:focus,
.approach_discuss p a:active {
	color: #00948A;
}

.approach_contact_cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 0;
}

.approach_contact_card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 12px;
	padding: 16px 10px;
	background: #FFFFFF;
	border-radius: 16px;
	box-shadow: 0 10px 28px rgba(0, 54, 77, 0.07);
	text-align: center;
	text-decoration: none;
	transition: box-shadow 0.35s ease;
}

.approach_contact_card:hover,
.approach_contact_card:focus {
	text-decoration: none;
	box-shadow: 0 12px 32px rgba(0, 54, 77, 0.12);
}

.approach_contact_card:focus {
	outline: none;
}

.approach_contact_card:focus-visible {
	outline: 2px solid #006894;
	outline-offset: 3px;
}

.approach_contact_icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background-color: rgba(0, 104, 148, 0.1);
	transition: background-color 0.35s ease;
}

.approach_contact_icon::before {
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	background-color: #006894;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: background-color 0.35s ease;
}

.approach_contact_icon_mail::before {
	-webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3e%3cpath fill='%23000000' d='M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z'/%3e%3c/svg%3e");
	mask-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3e%3cpath fill='%23000000' d='M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z'/%3e%3c/svg%3e");
}

.approach_contact_icon_telegram::before {
	width: 26px;
	height: 26px;
	-webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3e%3cpath fill='%23000000' d='M446.7 98.6l-67.6 318.8c-5.1 22.5-18.4 28.1-37.3 17.5l-103-75.9-49.7 47.8c-5.5 5.5-10.1 10.1-20.7 10.1l7.4-104.9 190.9-172.5c8.3-7.4-1.8-11.5-12.9-4.1L117.8 284 16.2 252.2c-22.1-6.9-22.5-22.1 4.6-32.7L418.2 66.4c18.4-6.9 34.5 4.1 28.5 32.2z'/%3e%3c/svg%3e");
	mask-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3e%3cpath fill='%23000000' d='M446.7 98.6l-67.6 318.8c-5.1 22.5-18.4 28.1-37.3 17.5l-103-75.9-49.7 47.8c-5.5 5.5-10.1 10.1-20.7 10.1l7.4-104.9 190.9-172.5c8.3-7.4-1.8-11.5-12.9-4.1L117.8 284 16.2 252.2c-22.1-6.9-22.5-22.1 4.6-32.7L418.2 66.4c18.4-6.9 34.5 4.1 28.5 32.2z'/%3e%3c/svg%3e");
}

.approach_contact_icon_phone::before {
	-webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3e%3cpath fill='%23000000' d='M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z'/%3e%3c/svg%3e");
	mask-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3e%3cpath fill='%23000000' d='M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z'/%3e%3c/svg%3e");
}

.approach_contact_value {
	color: #006894;
	font-family: 'Manrope', Arial, Verdana, Tahoma;
	font-weight: 600;
	font-size: 13px;
	line-height: 1.35;
	word-break: break-word;
}

.approach_contact_card:hover .approach_contact_icon,
.approach_contact_card:focus-visible .approach_contact_icon {
	background-color: #006894;
}

.approach_contact_card:hover .approach_contact_icon::before,
.approach_contact_card:focus-visible .approach_contact_icon::before {
	background-color: #FFFFFF;
}

.services_process_list {
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
}

.services_process_list::before {
	content: "";
	position: absolute;
	left: 36px;
	top: 37px;
	bottom: 37px;
	width: 2px;
	background-image: repeating-linear-gradient(
		to bottom,
		#00948A 0,
		#00948A 5px,
		transparent 5px,
		transparent 10px
	);
	background-size: 2px 10px;
	background-repeat: repeat-y;
	animation: services_process_dash 0.8s linear infinite;
	z-index: 0;
}

@keyframes services_process_dash {
	to {
		background-position: 0 10px;
	}
}

.services_process_item {
	display: flex;
	align-items: center;
	position: relative;
	gap: 0;
}

.services_process_item:not(:last-child) {
	margin-bottom: var(--space-xl);
}

.services_process_num {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 1;
	width: 74px;
	height: 74px;
	border: 5px solid #D6F0EE;
	border-radius: 50%;
	background: #00948A;
	box-shadow: none;
	color: #FFFFFF;
	font-family: 'Manrope', Arial, Verdana, Tahoma;
	font-weight: 700;
	font-size: var(--text-md);
	line-height: 1;
	letter-spacing: 0.02em;
}

.services_process_content {
	min-width: 0;
	padding-left: 18px;
}

.services_process_content h3 {
	margin: 0 0 4px;
	color: #00364D;
	font-family: 'Manrope', Arial, Verdana, Tahoma;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.35;
	letter-spacing: -0.01em;
}

.services_process_content p {
	margin: 0;
	color: #00364D;
	font-family: 'Manrope', Arial, Verdana, Tahoma;
	font-weight: 400;
	font-size: var(--text-md);
	line-height: 1.5;
}

/* LG */
@media screen and (min-width: 991.98px) and (max-width: 1199.98px) {
	.home_services {
		padding-top: 72px;
		padding-bottom: 96px;
	}

	.home_approach {
		padding-top: 72px;
		padding-bottom: 96px;
	}

	.services_grid_compact {
		margin-top: 72px;
	}
}

/* MD */
@media screen and (min-width: 767.98px) and (max-width: 991.98px) {
	.home_services {
		padding-top: 64px;
		padding-bottom: 80px;
	}

	.home_approach {
		padding-top: 64px;
		padding-bottom: 80px;
	}

	.services_grid_compact {
		margin-top: 64px;
	}
}

/* < LG */
@media screen and (min-width: 0px) and (max-width: 991.98px) {
	.home_approach .row > [class*="col-"]:first-child {
		margin-bottom: var(--space-2xl);
	}
}

/* < SM */
@media screen and (min-width: 0px) and (max-width: 767.98px) {
	.home_services {
		padding-top: 48px;
		padding-bottom: 64px;
	}

	.home_approach {
		padding-top: 48px;
		padding-bottom: 64px;
	}

	.services_grid_compact {
		margin-top: 48px;
	}

	.home_approach .row > [class*="col-"]:first-child {
		margin-bottom: var(--space-xl);
	}

	.services_extra_block h2 {
		font-size: 26px;
		margin-bottom: var(--space-md);
	}

	.approach_discuss.content h3 {
		font-size: 26px;
		margin-bottom: var(--space-md);
	}

	.services_extra_block > p {
		font-size: 16px;
		line-height: 1.65;
		text-align: left !important;
	}

	.approach_contact_cards {
		gap: 8px;
	}

	.approach_contact_card {
		padding: 14px 8px;
		gap: 10px;
	}

	.approach_contact_icon {
		width: 44px;
		height: 44px;
		border-radius: 12px;
	}

	.approach_contact_icon::before {
		width: 20px;
		height: 20px;
	}

	.approach_contact_icon_telegram::before {
		width: 22px;
		height: 22px;
	}

	.approach_contact_value {
		font-size: 12px;
	}

	.services_process_item:not(:last-child) {
		margin-bottom: var(--space-lg);
	}

	.services_process_num {
		width: 66px;
		height: 66px;
		font-size: var(--text-sm);
	}

	.services_process_list::before {
		left: 32px;
		top: 33px;
		bottom: 33px;
	}

	.services_process_content {
		padding-left: 14px;
	}

	.services_process_content h3 {
		font-size: var(--text-md);
	}

	.services_process_content p {
		font-size: var(--text-sm);
	}
}

/* XS */
@media screen and (min-width: 0px) and (max-width: 575.98px) {
	.home_services {
		padding-top: 40px;
		padding-bottom: 48px;
	}

	.home_approach {
		padding-top: 40px;
		padding-bottom: 48px;
	}

	.services_grid_compact {
		margin-top: 40px;
	}

	.home_approach .row > [class*="col-"]:first-child {
		margin-bottom: var(--space-lg);
	}

	.approach_contact_cards {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.approach_contact_card {
		padding: 14px 12px;
	}

	.approach_contact_value {
		font-size: 13px;
	}

	.services_process_num {
		width: 62px;
		height: 62px;
	}

	.services_process_list::before {
		left: 30px;
		top: 31px;
		bottom: 31px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.services_process_list::before {
		animation: none;
	}
}
