#virsutinis-menu li.menu-item-has-children {
	position: relative;
}

#virsutinis-menu li.menu-item-has-children:hover > a,
#virsutinis-menu li.menu-item-has-children:focus-within > a {
	color: #ffffff;
	box-shadow: inset 25em 0 0 0 #ff0000;
}

#virsutinis-menu li.menu-item-has-children > .sub-menu {
	position: absolute;
	left: -8px;
	top: calc(100% + 13px);
	z-index: 60;
	display: flex;
	flex-direction: column;
	gap: 12px;
	box-sizing: border-box;
	width: max-content;
	margin: 0;
	padding: 16px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
	list-style: none;
	background: #ffffff;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.2s ease, visibility 0.2s ease;
}

#virsutinis-menu li.menu-item-has-children::after {
	content: "";
	position: absolute;
	left: 0;
	top: 100%;
	display: none;
	width: 100%;
	height: 13px;
}

#virsutinis-menu li.menu-item-has-children:hover::after {
	display: block;
}

#virsutinis-menu li.menu-item-has-children:hover > .sub-menu,
#virsutinis-menu li.menu-item-has-children:focus-within > .sub-menu {
	visibility: visible;
	opacity: 1;
}

#virsutinis-menu .sub-menu li {
	position: relative;
	display: block;
	margin: 0;
	padding: 0 0 8px;
	border-bottom: 2px solid #f1f1f1;
}

#virsutinis-menu .sub-menu li::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 0;
	height: 2px;
	background: #ff0000;
	transition: width 0.3s ease;
}

#virsutinis-menu .sub-menu li:hover::after,
#virsutinis-menu .sub-menu li:focus-within::after,
#virsutinis-menu .sub-menu li.current-menu-item::after {
	width: 100%;
}

#virsutinis-menu .sub-menu a,
#virsutinis-menu .sub-menu li.menu-item:hover > a,
#virsutinis-menu .sub-menu li.menu-item:focus > a,
#virsutinis-menu .sub-menu li.menu-item:active > a,
#virsutinis-menu .sub-menu li.current-menu-item > a {
	display: block;
	margin: 0;
	padding: 0;
	font-family: Maison, sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	white-space: nowrap;
	color: #171717;
	box-shadow: none;
}

#pagrindinis-menu .dropdown-toggle svg {
	transition: transform 0.25s ease;
}

#pagrindinis-menu .dropdown-toggle[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

#main.tp {
	display: block;
}

#main.tp .tp-wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: 1573px;
	margin: 0 auto;
}

#main.tp .tp-hero {
	position: relative;
	padding: 118px 0 103px;
}

#main.tp .tp-hero::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(50% - 50vw);
	z-index: -1;
	width: 100vw;
	background: #f5f5f5;
}

#main.tp .tp-hero__title {
	max-width: 1107px;
	margin: 0 0 32px;
	font-family: Rift, sans-serif;
	font-weight: 700;
	font-size: 80px;
	line-height: 92px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #171717;
}

#main.tp .tp-hero__text,
#main.tp .tp-tabs__text {
	max-width: 1103px;
	margin: 0;
	font-family: Inter, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 28px;
	letter-spacing: 0;
	color: #181818;
}

#main.tp .tp-tabs {
	padding-top: 109px;
}

#main.tp .tp-tabs__inner {
	display: flex;
	align-items: flex-start;
	gap: 41px;
	padding: 48px 0;
	border-top: 1px solid #000000;
	border-bottom: 1px solid #000000;
}

#main.tp .tp-tabs__nav {
	display: flex;
	flex: none;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	width: 581px;
}

#main.tp .tp-tabs__btn {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	cursor: pointer;
	text-align: left;
	color: #181818;
}

#main.tp .tp-tabs__btn.is-active {
	padding-bottom: 10px;
	border-bottom: 2px solid #ff0000;
	color: #ff0000;
}

#main.tp .tp-tabs__icon {
	display: block;
	flex: none;
	width: 48px;
	height: 48px;
}

#main.tp .tp-tabs__icon svg {
	display: block;
	width: 48px;
	height: 48px;
}

#main.tp .tp-tabs__label {
	font-family: Rift, sans-serif;
	font-weight: 700;
	font-size: 28px;
	line-height: 48px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #181818 !important;
	transition: color 0.2s ease-in-out;
}

#main.tp .tp-tabs__btn:hover .tp-tabs__label,
#main.tp .tp-tabs__btn.is-active .tp-tabs__label {
	color: #ff0000 !important;
}

#main.tp .tp-tabs__panels {
	flex: 1;
	min-width: 0;
}

#main.tp .tp-tabs__panel {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

#main.tp .tp-tabs__panel[hidden] {
	display: none;
}

#main.tp .tp-tabs__title {
	margin: 0;
	font-family: Rift, sans-serif;
	font-weight: 700;
	font-size: 48px;
	line-height: 48px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #000000;
}

#main.tp .tp-tabs__text {
	max-width: none;
}

#main.tp .tp-tabs__more {
	color: #ff0000;
	text-decoration: underline;
	text-underline-offset: auto;
}

#main.tp .tp-cta {
	padding: 128px 0;
}

#main.tp .tp-cta__box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding: 40px;
	background: #f5f5f5;
}

#main.tp .tp-cta__text {
	margin: 0;
	font-family: Rift, sans-serif;
	font-weight: 700;
	font-size: 32px;
	line-height: 48px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #000000;
}

#main.tp .tp-cta__btn {
	flex: none;
	display: inline-block;
	margin: 0;
	padding: 12px 20px;
	background: #ff0000;
	border: 2px solid #ff0000;
	font-family: Inter, sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	text-decoration: none;
	color: #ffffff;
	box-shadow: none;
	transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
}

#main.tp .tp-cta__btn:hover {
	background: transparent;
	color: #ff0000;
}

#main.tp .tp-for {
	padding-bottom: 90px;
}

#main.tp .tp-when__inner {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: 48px 0;
	border-top: 1px solid #000000;
	border-bottom: 1px solid #000000;
}

#main.tp .tp-when__head {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

#main.tp .tp-when__title,
#main.tp .tp-steps__title {
	margin: 0;
	font-family: Rift, sans-serif;
	font-weight: 700;
	font-size: 48px;
	line-height: 48px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #000000;
}

#main.tp .tp-when__lead,
#main.tp .tp-steps__lead,
#main.tp .tp-step__text {
	margin: 0;
	font-family: Inter, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 28px;
	letter-spacing: 0;
	color: #181818;
}

#main.tp .tp-when__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 500px));
	column-gap: 36px;
	row-gap: 48px;
}

#main.tp .tp-when__item {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

#main.tp .tp-when__item-title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-family: Inter, sans-serif;
	font-weight: 600;
	font-size: 18px;
	line-height: 40px;
	letter-spacing: 0;
	color: #000000;
}

#main.tp .tp-when__icon,
#main.tp .tp-when__icon svg {
	display: block;
	flex: none;
	width: 40px;
	height: 40px;
}

#main.tp .tp-when__item-text {
	max-width: 468px;
	margin: 0;
	font-family: Inter, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0;
	color: #181818;
}

#main.tp .tp-steps {
	padding-top: 110px;
	padding-bottom: 149px;
}

#main.tp .tp-sec-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 95px;
	padding-bottom: 20px;
	border-bottom: 1px solid #000000;
}

#main.tp .tp-sec-head__title {
	margin: 0;
	font-family: Rift, sans-serif;
	font-weight: 700;
	font-size: 48px;
	line-height: 48px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #000000;
}

#main.tp .tp-scope {
	padding-bottom: 109px;
}

#main.tp .tp-scope__cards {
	display: flex;
	gap: 35px;
	margin-top: 60px;
}

#main.tp .tp-scope__card {
	box-sizing: border-box;
	flex: 1 1 0;
	min-width: 0;
	min-height: 736px;
	padding: 40px;
	background: #f5f5f5;
}

#main.tp .tp-scope__inner {
	display: flex;
	flex-direction: column;
	gap: 32px;
	max-width: 635px;
}

#main.tp .tp-scope__list {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

#main.tp .tp-scope__item {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 0;
	font-family: Inter, sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: 0;
	color: #000000;
}

#main.tp .tp-scope__item::before {
	content: "";
	flex: none;
	width: 12px;
	height: 12px;
	background: #ff0000;
}

#main.tp .tp-scope__text {
	margin: 0;
	font-family: Inter, sans-serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: 0;
	color: #000000;
}

#main.tp .tp-arrows {
	display: flex;
	flex: none;
	gap: 16px;
}

#main.tp .tp-arrow {
	display: block;
	width: 48px;
	height: 48px;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 50%;
	box-shadow: none;
	cursor: pointer;
}

#main.tp .tp-arrow svg {
	display: block;
	width: 48px;
	height: 48px;
}

#main.tp .tp-arrow:hover svg rect {
	fill: #ff0000;
}

#main.tp .tp-arrow:hover svg path {
	fill: #ffffff;
	stroke: #ffffff;
}

#main.tp .tp-slider .swiper {
	overflow: hidden;
}

#main.tp .tp-slider .swiper-slide {
	box-sizing: border-box;
	height: auto;
}

#main.tp .tp-arrow.swiper-button-lock {
	display: none;
}

#main.tp .tp-projects {
	padding-bottom: 128px;
}

#main.tp .tp-projects__swiper {
	margin-top: 59px;
}

#main.tp .tp-project__img {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 535px;
	padding: 20px;
	box-sizing: border-box;
	background: #f6f6f6;
}

#main.tp .tp-project {
	display: block;
	color: inherit;
	text-decoration: none;
	box-shadow: none;
}

#main.tp .tp-project__img img {
	display: block;
	width: 553px;
	max-width: 100%;
	height: auto;
	max-height: 434px;
	margin: 0;
	object-fit: contain;
}

#main.tp .tp-project:hover .tp-project__title {
	color: #ff0000;
}

#main.tp .tp-project__title {
	transition: color 0.2s ease-in-out;
}

#main.tp .tp-project__meta {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 52px;
}

#main.tp .tp-project__title {
	margin: 0;
	font-family: Rift, sans-serif;
	font-weight: 700;
	font-size: 48px;
	line-height: 48px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #000000;
}

#main.tp .tp-project__type {
	margin: 0;
	font-family: Inter, sans-serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #000000;
}

#main.tp .tp-reviews__box {
	box-sizing: border-box;
	max-width: 1568px;
	margin: 0 auto;
	padding: 64px;
	background: #f5f5f5;
}

#main.tp .tp-reviews__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}

#main.tp .tp-reviews__title {
	margin: 0;
	font-family: Rift, sans-serif;
	font-weight: 700;
	font-size: 72px;
	line-height: 72px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #171717;
}

#main.tp .tp-reviews__swiper {
	min-height: 340px;
	margin-top: 32px;
}

#main.tp .tp-review {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

#main.tp .tp-review__text {
	margin: 0;
	font-family: Inter, sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 40px;
	letter-spacing: 0;
	color: #181818;
}

#main.tp .tp-review__author {
	display: flex;
	align-items: center;
	gap: 12px;
}

#main.tp .tp-review__logo {
	display: block;
	flex: none;
	width: 72px;
	height: 72px;
	margin: 0;
	border-radius: 50%;
}

#main.tp .tp-review__name {
	margin: 0;
	font-family: Rift, sans-serif;
	font-weight: 700;
	font-size: 36px;
	line-height: 40px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #181818;
}

#main.tp .tp-review__role {
	margin: 0;
	font-family: Inter, sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	color: #181818;
}

#main.tp .tp-faq {
	padding: 128px 0 100px;
}

#main.tp .tp-form {
	padding-bottom: 14px;
}

#main.tp .tp-form__box {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 40px;
	max-width: 1568px;
	margin: 0 auto;
	padding: 40px;
	background: #f5f5f5;
}

#main.tp .tp-form__head {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

#main.tp .tp-form__title {
	margin: 0;
	font-family: Rift, sans-serif;
	font-weight: 700;
	font-size: 48px;
	line-height: 48px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #181818;
}

#main.tp .tp-form__lead {
	margin: 0;
	font-family: Inter, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	color: #181818;
}

#main.tp .tp-form .happyforms-form,
#main.tp .tp-form .happyforms-form form {
	margin: 0;
	padding: 0;
	max-width: none;
}

#main.tp .tp-form .happyforms-flex {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: 48px;
	row-gap: 16px;
	margin: 0 !important;
	padding: 0 !important;
}

#main.tp .tp-form .happyforms-flex > .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

#main.tp .tp-form .happyforms-part {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	flex: none !important;
}

#main.tp .tp-form .happyforms-part--width-full,
#main.tp .tp-form .happyforms-part--submit {
	grid-column: 1 / -1;
}

#main.tp .tp-form .happyforms-part--recaptcha {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden;
}

#main.tp .tp-form .happyforms-part--submit {
	margin-top: 16px !important;
}

#main.tp .tp-form .happyforms-part__label-container {
	margin: 0 0 12px !important;
	padding: 0 !important;
}

#main.tp .tp-form .happyforms-part--label-hidden .happyforms-part__label-container {
	display: none;
}

#main.tp .tp-form .happyforms-part__label {
	display: block;
	margin: 0 !important;
	padding: 0 !important;
	font-family: Rift, sans-serif !important;
	font-weight: 700 !important;
	font-size: 36px !important;
	line-height: 40px !important;
	letter-spacing: 0 !important;
	text-transform: uppercase;
	color: #181818 !important;
}

#main.tp .tp-form .happyforms-optional,
#main.tp .tp-form .happyforms-required {
	display: none !important;
}

#main.tp .tp-form .happyforms-input,
#main.tp .tp-form .happyforms-part__el {
	margin: 0 !important;
	padding: 0 !important;
}

#main.tp .tp-form input[type="text"],
#main.tp .tp-form input[type="email"],
#main.tp .tp-form input[type="tel"],
#main.tp .tp-form textarea {
	box-sizing: border-box;
	display: block;
	width: 100% !important;
	height: 50px;
	margin: 0 !important;
	padding: 14px 20px 15px !important;
	background: #ffffff !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: Inter, sans-serif !important;
	font-weight: 400 !important;
	font-size: 16px !important;
	line-height: 19px !important;
	color: #181818 !important;
	outline: none;
}

#main.tp .tp-form textarea {
	height: 146px;
	min-height: 146px;
	padding: 12px 20px !important;
	line-height: 24px !important;
	resize: vertical;
}

#main.tp .tp-form input::placeholder,
#main.tp .tp-form textarea::placeholder {
	color: #e5e5e5;
	opacity: 1;
}

#main.tp .tp-form input:focus,
#main.tp .tp-form textarea:focus {
	border-color: #181818 !important;
}

#main.tp .tp-form .option-label {
	display: flex !important;
	align-items: center;
	gap: 8px;
	margin: 0 !important;
	padding: 0 !important;
	cursor: pointer;
}

#main.tp .tp-form .option-label input[type="checkbox"] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	opacity: 0 !important;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

#main.tp .tp-form .option-label .checkmark {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	flex: none;
	box-sizing: border-box;
	width: 16px !important;
	height: 16px !important;
	margin: 0 !important;
	background: #ffffff !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 0 !important;
	color: transparent;
}

#main.tp .tp-form .option-label .checkmark svg {
	width: 10px;
	height: 10px;
}

#main.tp .tp-form .option-label input:checked + .checkmark {
	background: #181818 !important;
	border-color: #181818 !important;
	color: #ffffff;
}

#main.tp .tp-form .option-label .label-wrap,
#main.tp .tp-form .option-label .label,
#main.tp .tp-form .option-label p {
	margin: 0 !important;
	padding: 0 !important;
	font-family: Inter, sans-serif !important;
	font-weight: 400 !important;
	font-size: 14px !important;
	line-height: 20px !important;
	color: #181818 !important;
}

#main.tp .tp-form .option-label a {
	font-weight: 500;
	color: #181818 !important;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	box-shadow: none;
}

#main.tp .tp-form .happyforms-button--submit {
	display: inline-block !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 16px 24px !important;
	background: #181818 !important;
	border: 2px solid #181818 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: Inter, sans-serif !important;
	font-weight: 700 !important;
	font-size: 18px !important;
	line-height: 27px !important;
	letter-spacing: 0.45px !important;
	text-transform: uppercase;
	color: #ffffff !important;
	cursor: pointer;
	transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
}

#main.tp .tp-form .happyforms-button--submit:hover {
	background: transparent !important;
	color: #181818 !important;
}

#main.tp .tp-form .happyforms-button--submit::before,
#main.tp .tp-form .happyforms-button--submit::after {
	content: none !important;
}

#main.tp .tp-faq__list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: 60px;
}

#main.tp .tp-steps__head {
	display: flex;
	align-items: center;
	gap: 213px;
}

#main.tp .tp-steps__title {
	flex: none;
	width: 726px;
}

#main.tp .tp-steps__lead {
	flex: 1;
	min-width: 0;
}

#main.tp .tp-steps__list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: 60px;
}

#main.tp .tp-step {
	border-bottom: 1px solid #000000;
	padding-bottom: 20px;
}

#main.tp .tp-step__btn {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	cursor: pointer;
	text-align: left;
}

#main.tp .tp-step__name {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: Rift, sans-serif;
	font-weight: 700;
	font-size: 32px;
	line-height: 48px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #181818 !important;
}

#main.tp .tp-step__num {
	color: #ff0000 !important;
}

#main.tp .tp-step__icon,
#main.tp .tp-step__icon svg {
	display: block;
	flex: none;
	width: 24px;
	height: 24px;
}

#main.tp .tp-step__icon svg {
	transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
}

#main.tp .tp-step__btn[aria-expanded="true"] .tp-step__icon svg {
	transform: rotate(45deg);
}

#main.tp .tp-step__body {
	box-sizing: border-box;
	padding-top: 12px;
	max-width: 1103px;
}

#main.tp .tp-step__body[hidden] {
	display: none;
}

#main.tp .tp-for__head {
	display: flex;
	align-items: flex-start;
	gap: 95px;
	padding-bottom: 20px;
	border-bottom: 1px solid #000000;
}

#main.tp .tp-for__title {
	flex: none;
	width: 845px;
	margin: 0;
	font-family: Rift, sans-serif;
	font-weight: 700;
	font-size: 48px;
	line-height: 48px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #000000;
}

#main.tp .tp-for__lead,
#main.tp .tp-card__text,
#main.tp .tp-card__item-text {
	margin: 0;
	font-family: Inter, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 28px;
	letter-spacing: 0;
	color: #181818;
}

#main.tp .tp-for__lead {
	flex: 1;
	min-width: 0;
}

#main.tp .tp-for__cards {
	display: flex;
	align-items: stretch;
	gap: 35px;
	margin-top: 60px;
}

#main.tp .tp-card {
	box-sizing: border-box;
	flex: 1 1 0;
	min-width: 0;
	padding: 40px;
	background: #f5f5f5;
}

#main.tp .tp-card__inner {
	display: flex;
	flex-direction: column;
	gap: 57px;
	max-width: 635px;
}

#main.tp .tp-card__intro {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

#main.tp .tp-card__title {
	margin: 0;
	font-family: Rift, sans-serif;
	font-weight: 700;
	font-size: 40px;
	line-height: 48px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #000000;
}

#main.tp .tp-card__list {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

#main.tp .tp-card__item {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
}

#main.tp .tp-card__item-title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-family: Inter, sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: 0;
	color: #000000;
}

#main.tp .tp-card__item-title::before {
	content: "";
	flex: none;
	width: 12px;
	height: 12px;
	background: #ff0000;
}

#main.tp .tp-hero--crumb {
	padding: 61px 0 89px;
}

#main.tp .tp-crumb {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 20px;
	font-family: Inter, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	color: #181818;
}

#main.tp .tp-crumb::before {
	content: "";
	flex: none;
	width: 12px;
	height: 12px;
	background: #ff0000;
}

#main.tp .tp-hero__title--wide {
	max-width: 1206px;
}

#main.tp .tp-feat--first {
	padding-top: 121px;
}

#main.tp .tp-feat__inner {
	display: flex;
	flex-direction: column;
	gap: 58px;
	padding: 48px 0;
	border-top: 1px solid #000000;
	border-bottom: 1px solid #000000;
}

#main.tp .tp-feat__inner--open {
	padding-top: 78px;
	border-top: 0;
}

#main.tp .tp-feat__heading,
#main.tp .tp-ql__heading {
	margin: 0;
	font-family: Rift, sans-serif;
	font-weight: 700;
	font-size: 48px;
	line-height: 48px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #000000;
}

#main.tp .tp-feat__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 500px));
	column-gap: 36px;
	row-gap: 48px;
}

#main.tp .tp-feat__item {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

#main.tp .tp-feat__title {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 40px;
	margin: 0;
	font-family: Inter, sans-serif;
	font-weight: 600;
	font-size: 18px;
	line-height: 20px;
	letter-spacing: 0;
	color: #000000;
}

#main.tp .tp-feat__icon,
#main.tp .tp-feat__icon svg {
	display: block;
	flex: none;
	width: 40px;
	height: 40px;
}

#main.tp .tp-feat__text {
	max-width: 468px;
	margin: 0;
	font-family: Inter, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 28px;
	letter-spacing: 0;
	color: #181818;
}

#main.tp .tp-cta--tight {
	padding: 90px 0;
}

#main.tp .tp-steps--short {
	padding-bottom: 128px;
}

#main.tp .tp-ql .tp-wrap {
	border-top: 1px solid #000000;
}

#main.tp .tp-ql__block {
	display: flex;
	align-items: flex-start;
	gap: 312px;
	padding: 48px 0;
	border-bottom: 1px solid #000000;
}

#main.tp .tp-ql__side {
	display: flex;
	flex: none;
	flex-direction: column;
	gap: 24px;
	width: 495px;
}

#main.tp .tp-ql__main {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 30px;
	min-width: 0;
}

#main.tp .tp-ql__intro,
#main.tp .tp-ql__outro,
#main.tp .tp-steps__outro {
	margin: 0;
	font-family: Inter, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 28px;
	color: #181818;
}

#main.tp .tp-steps__outro {
	margin-top: 32px;
	max-width: 1103px;
}

#main.tp .tp-more.is-collapsed > *:not(:first-child) {
	display: none;
}

#main.tp .tp-tabs__text p,
#main.tp .tp-step__text p,
#main.tp .tp-step__text ul,
#main.tp .tp-step__text ol {
	margin: 0 0 12px;
	font-family: Inter, sans-serif;
	font-size: 16px;
	line-height: 28px;
	color: #181818;
}

#main.tp .tp-tabs__text > :last-child,
#main.tp .tp-step__text > :last-child {
	margin-bottom: 0;
}

#main.tp .tp-step__text ul,
#main.tp .tp-step__text ol {
	padding-left: 22px;
}

#main.tp .tp-step__text ul {
	list-style: disc;
}

#main.tp .tp-step__text ol {
	list-style: decimal;
}

#main.tp .tp-step__text li {
	margin: 0 0 6px;
	padding: 0;
}

#main.tp .tp-step__text li::marker {
	color: #181818;
}

#main.tp .tp-step__text strong,
#main.tp .tp-tabs__text strong {
	font-weight: 700;
	color: #000000;
}

#main.tp .tp-ql__list {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 30px;
	min-width: 0;
}

#main.tp .tp-ql__item.is-open {
	padding-bottom: 8px;
	border-bottom: 1px solid #000000;
}

#main.tp .tp-ql__btn {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	cursor: pointer;
	text-align: left;
}

#main.tp .tp-ql__name {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: Rift, sans-serif;
	font-weight: 700;
	font-size: 28px;
	line-height: 24px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #000000 !important;
}

#main.tp .tp-ql__name::before {
	content: "";
	flex: none;
	width: 12px;
	height: 12px;
	background: #ff0000;
}

#main.tp .tp-ql__icon,
#main.tp .tp-ql__icon svg {
	display: block;
	flex: none;
	width: 24px;
	height: 24px;
}

#main.tp .tp-ql__icon svg {
	transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
}

#main.tp .tp-ql__item {
	transition: padding-bottom 0.38s cubic-bezier(0.4, 0, 0.2, 1);
}

#main.tp .tp-ql__btn[aria-expanded="true"] .tp-ql__icon svg {
	transform: rotate(45deg);
}

#main.tp .tp-ql__body {
	box-sizing: border-box;
	margin-top: 20px;
}

#main.tp .tp-ql__body[hidden] {
	display: none;
}

#main.tp .tp-feat__grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: 36px;
}

#main.tp .tp-ql__text p,
#main.tp .tp-ql__text ul {
	margin: 0;
	font-size: inherit;
	line-height: inherit;
}

#main.tp .tp-ql__text ul {
	margin: 22px 0;
	padding-left: 20px;
	list-style: disc;
}

#main.tp .tp-ql__text li {
	margin: 0;
	padding: 0;
	line-height: 28px;
}

#main.tp .tp-ql__text li::marker {
	color: #181818;
}

#main.tp .tp-ql__text {
	margin: 0;
	font-family: Inter, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 28px;
	color: #181818;
}

@media (max-width: 1366px) {
	#main.tp .tp-feat__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	#main.tp .tp-ql__block {
		flex-direction: column;
		gap: 32px;
	}

	#main.tp .tp-ql__side {
		width: auto;
	}
}

@media (max-width: 781px) {
	#main.tp .tp-hero--crumb {
		padding: 40px 0 56px;
	}

	#main.tp .tp-feat--first {
		padding-top: 56px;
	}

	#main.tp .tp-feat__inner {
		gap: 32px;
	}

	#main.tp .tp-feat__inner--open {
		padding-top: 48px;
	}

	#main.tp .tp-feat__heading,
	#main.tp .tp-ql__heading {
		font-size: 34px;
		line-height: 38px;
	}

	#main.tp .tp-feat__grid {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 24px;
	}

	#main.tp .tp-cta--tight {
		padding: 56px 0;
	}

	#main.tp .tp-ql__name {
		font-size: 22px;
		line-height: 26px;
	}
}

@media (max-width: 1366px) {
	#main.tp .tp-tabs__inner {
		flex-direction: column;
	}

	#main.tp .tp-tabs__nav {
		width: auto;
	}

	#main.tp .tp-for__head,
	#main.tp .tp-for__cards {
		flex-direction: column;
		gap: 24px;
	}

	#main.tp .tp-for__title {
		width: auto;
	}

	#main.tp .tp-when__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	#main.tp .tp-steps__head {
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
	}

	#main.tp .tp-steps__title {
		width: auto;
	}

	#main.tp .tp-scope__cards {
		flex-direction: column;
		gap: 24px;
	}

	#main.tp .tp-scope__card {
		min-height: 0;
	}

	#main.tp .tp-project__img {
		height: auto;
		aspect-ratio: 769 / 535;
	}

	#main.tp .tp-form .happyforms-flex {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 24px;
	}
}

@media (max-width: 781px) {
	#main.tp .tp-hero {
		padding: 56px 0;
	}

	#main.tp .tp-hero__title {
		font-size: 44px;
		line-height: 50px;
	}

	#main.tp .tp-hero__title br,
	#main.tp .tp-cta__text br {
		display: none;
	}

	#main.tp .tp-tabs {
		padding-top: 56px;
	}

	#main.tp .tp-tabs__label {
		font-size: 22px;
		line-height: 32px;
	}

	#main.tp .tp-tabs__title {
		font-size: 34px;
		line-height: 38px;
	}

	#main.tp .tp-cta {
		padding: 56px 0;
	}

	#main.tp .tp-cta__box {
		flex-direction: column;
		align-items: flex-start;
		padding: 24px;
	}

	#main.tp .tp-cta__text {
		font-size: 22px;
		line-height: 32px;
	}

	#main.tp .tp-for {
		padding-bottom: 56px;
	}

	#main.tp .tp-for__title {
		font-size: 34px;
		line-height: 38px;
	}

	#main.tp .tp-for__cards {
		margin-top: 32px;
	}

	#main.tp .tp-card {
		padding: 24px;
	}

	#main.tp .tp-card__inner {
		gap: 32px;
	}

	#main.tp .tp-card__title {
		font-size: 30px;
		line-height: 36px;
	}

	#main.tp .tp-for {
		padding-bottom: 56px;
	}

	#main.tp .tp-when__title,
	#main.tp .tp-steps__title {
		font-size: 34px;
		line-height: 38px;
	}

	#main.tp .tp-when__grid {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 24px;
	}

	#main.tp .tp-steps {
		padding: 56px 0;
	}

	#main.tp .tp-steps__list {
		margin-top: 32px;
	}

	#main.tp .tp-step__name {
		font-size: 22px;
		line-height: 32px;
	}

	#main.tp .tp-steps {
		padding-bottom: 56px;
	}

	#main.tp .tp-scope,
	#main.tp .tp-projects {
		padding-bottom: 56px;
	}

	#main.tp .tp-sec-head {
		gap: 16px;
	}

	#main.tp .tp-sec-head__title,
	#main.tp .tp-project__title {
		font-size: 34px;
		line-height: 38px;
	}

	#main.tp .tp-scope__cards,
	#main.tp .tp-projects__swiper,
	#main.tp .tp-faq__list {
		margin-top: 32px;
	}

	#main.tp .tp-scope__card {
		padding: 24px;
	}

	#main.tp .tp-project__meta {
		margin-top: 24px;
	}

	#main.tp .tp-reviews__box {
		padding: 24px;
	}

	#main.tp .tp-reviews__title {
		font-size: 44px;
		line-height: 48px;
	}

	#main.tp .tp-reviews__swiper {
		min-height: 0;
	}

	#main.tp .tp-review__text {
		font-size: 16px;
		line-height: 28px;
	}

	#main.tp .tp-review__name {
		font-size: 28px;
		line-height: 32px;
	}

	#main.tp .tp-faq {
		padding: 56px 0;
	}

	#main.tp .tp-form {
		padding-bottom: 0;
	}

	#main.tp .tp-form__box {
		padding: 24px;
		gap: 24px;
	}

	#main.tp .tp-form__title {
		font-size: 34px;
		line-height: 38px;
	}

	#main.tp .tp-form .happyforms-flex {
		grid-template-columns: minmax(0, 1fr);
	}

	#main.tp .tp-form .happyforms-part__label {
		font-size: 26px !important;
		line-height: 32px !important;
	}
}

