@font-face {
	font-family: PlayfairDisplay;
	src: url('../fonts/PlayfairDisplay-Black.woff2') format('woff2');
	font-weight: 900;
	font-style: normal;
}
@font-face {
	font-family: PlayfairDisplay;
	src: url('../fonts/PlayfairDisplay-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
}
@font-face {
	font-family: PlayfairDisplay;
	src: url('../fonts/PlayfairDisplay-SemiBold.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
}
@font-face {
	font-family: PlayfairDisplay;
	src: url('../fonts/PlayfairDisplay-Medium.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
}
@font-face {
	font-family: PlayfairDisplay;
	src: url('../fonts/PlayfairDisplay-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
}
html {
	font-family: PlayfairDisplay, serif;
	font-variant-numeric: lining-nums;
	font-size: 100%;
	scroll-behavior: smooth;
	overflow: visible;
}
/* html:has(body.hidden) {
	overflow: hidden;
} */
body {
	position: relative;
	background-color: #f9fcff;
	overflow-x: hidden;
}
body.hidden {
	overflow: hidden;
}
.container {
	width: 100%;
	max-width: 1302px;
	padding-inline: 11px;
	margin: 0 auto;
}
.button--primary {
	background: linear-gradient(180deg, #7b7d81, #caaa7e);
	box-shadow: 0 1px 2px #0000004d, 0 2px 6px 2px #00000026;
	border-radius: 50px;
	color: #fff;
	text-align: center;
	font-size: 22px;
	max-width: 315px;
	width: 100%;
	height: 60px;
	transition: all 0.2s ease;
	will-change: transform;
}
.button--primary:hover {
	scale: 0.999;
	box-shadow: 0 1px 2px transparent, 0 2px 6px 2px transparent, inset 0 2px 3px #0000004d,
		inset 0 5px 6px 2px #00000026;
}
.button--primary:active {
	scale: 0.98;
}
.tab-link {
	cursor: pointer;
}
.tab {
	display: none;
	opacity: 0;
}
.tab.active {
	display: block;
	animation-name: fadeIn;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
}
@keyframes fadeIn {
	0% {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
.site-wrapper {
	overflow: hidden;
	position: relative;
}

/* header */

.header-main {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding: 13px 11px 0;
	position: relative;
	z-index: 2;
	box-shadow: none;
}
@media (max-width: 1100px) {
	.header-main {
		padding: 13px 11px;
		z-index: 12;
		box-shadow: 0px 4px 20px rgba(102, 105, 114, 0.05);
	}
}
.header-logo {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 12px;
	font-weight: 600;
	position: relative;
}
.header-logo_wrapper {
	position: relative;
}
.header-logo_wrapper::before {
	content: '';
	display: block;
	background-color: #fff;
	position: absolute;
	width: 190%;
	border-radius: 100%;
	aspect-ratio: 1;
	z-index: -1;
	top: 0;
	transform: translate(-50%, -50%);
	left: 50%;
}
@media (max-width: 1100px) {
	.header-logo_wrapper::before {
		display: none;
	}
	.header-logo img {
		max-height: 45px;
	}
}
.header-nav ul {
	display: flex;
	list-style: none;
}
.header-nav ul li a {
	color: #222427;
	font-weight: 500;
	font-size: clamp(12px, 1.15vw, 0.94rem);
	transition: all 0.2s ease;
}
.header-nav ul li:not(:last-child) {
	border-right: 1px solid;
	padding-right: 11px;
}
.header-nav ul li:not(:first-child) {
	padding-left: 11px;
}
@media (max-width: 1100px) {
	.header-nav {
		display: none;
	}
}

.header-btns {
	display: contents;
}
.header-btns .desc {
	display: flex;
	gap: clamp(0.5rem, 1vw, 0.756em);
}
.header-btns .mob {
	display: none;
	gap: 12px;
	margin-inline: auto 20px;
}
@media (max-width: 1100px) {
	.header-btns .mob {
		display: flex;
	}
	.header-btns .desc {
		display: none;
	}
}

.header-contact {
	display: flex;
	flex-direction: row;
	gap: 10px;
}
.header-contact > div {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	text-align: right;
}
.header-contact > div a {
	display: block;
	margin-bottom: 2px;
	font-weight: 700;
	font-size: clamp(12px, 1.35vw, 18px);
	color: #222427;
}
.header-contact > div p {
	font-weight: 400;
	font-size: 14px;
	font-size: clamp(10px, 1.05vw, 14px);
	color: #222427;
}
@media (max-width: 1100px) {
	.header-main .header-contact {
		display: none;
	}
}

.burger {
	position: relative;
	width: 28px;
	height: 20px;
	background: transparent;
	cursor: pointer;
	display: none;
}
@media (max-width: 1100px) {
	.burger {
		display: flex;
	}
}
.burger input {
	display: none;
}
.burger span {
	display: block;
	position: absolute;
	height: 3px;
	width: 100%;
	background: linear-gradient(180deg, #7b7d81 0%, #caaa7e 100%);
	border-radius: 9px;
	opacity: 1;

	transform: rotate(0deg);
	transition: 0.25s ease-in-out;
}
.burger span:nth-of-type(1) {
	top: 0px;
	transform-origin: left center;
	left: 0;
}
.burger span:nth-of-type(2) {
	width: 60%;
	right: 0 !important;
	top: 50%;
	transform: translateY(-50%);
	transform-origin: right center;
}
.burger span:nth-of-type(3) {
	top: 100%;
	transform-origin: left center;
	transform: translateY(-100%);
	left: 0;
}
.burger input:checked ~ span:nth-of-type(1) {
	transform: rotate(45deg);
	top: 0px;
	left: 4px;
}
.burger input:checked ~ span:nth-of-type(2) {
	width: 0%;
	opacity: 0;
}
.burger input:checked ~ span:nth-of-type(3) {
	transform: rotate(-45deg);
	top: 20px;
	left: 4px;
}

.mobile-menu {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	position: absolute;
	left: 0;
	z-index: 11;
	-webkit-transform: translateX(100%) translateZ(0);
	transform: translate(100%);
	height: calc(100dvh - 70px);
	width: 100dvw;
	background-color: #fff;
	padding-block: 50px;
	transition: transform 0.25s ease, opacity 0.25s;
	opacity: 0;
}
.mobile-menu.show {
	opacity: 1;
	-webkit-transform: translateX(0) translateZ(0);
	transform: translateX(0) translateZ(0);
	transition: transform 0.25s ease, opacity 0.25s;
}
.mobile-menu .list {
	display: flex;
	flex-direction: column;
	align-items: center;
	list-style: none;
}
.mobile-menu .list li {
	font-size: 22px;
	font-weight: 500;
	text-transform: uppercase;
}
.mobile-menu .list li a {
	color: #222427;
}
.mobile-menu .list li:not(:last-child) {
	padding-bottom: 17px;
	margin-bottom: 17px;
	position: relative;
}
.mobile-menu .list li:not(:last-child)::after {
	content: '';
	display: block;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: 15px;
	height: 1px;
	background-color: rgba(0, 0, 0, 0.4);
}
.mobile-menu .header-contact a {
	font-size: 22px;
}
.mobile-menu .header-contact p {
	font-size: 14px;
}

/* gallery */

.gallery .tabs {
	container-type: inline-size;
}
.tab-links_wrapper {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin-block: 35px 24px;
}
@media (min-width: 1100px) {
	.tab-links_wrapper {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		margin-block: 53px 58px;
	}
}
.gallery .title {
	font-size: clamp(32px, 4.5vw, 47px);
	font-weight: 500;
	max-width: none;
}
.gallery .tab-content {
	overflow: hidden;
}
.gallery .tab-links {
	display: flex;
	flex-direction: row;
	border-bottom: 1px solid rgba(36, 38, 41, 0.2);
	overflow: auto;
	scrollbar-width: none;
}
.gallery .tab-link {
	display: flex;
	align-items: center;
	font-size: clamp(16px, 2vw, 17.5px);
	font-weight: 600;
	padding: 0 16px 13px;
	position: relative;
	height: 53px;
}
.gallery .tab-link span {
	transition: all 0.2s ease;
	line-height: 20px;
	color: rgba(36, 38, 41, 0.2);
}
.gallery .tab-link.active span {
	color: rgba(34, 36, 39, 1);
	/* font-weight: 900; */
}
.gallery .tab-link.active:after {
	left: 0;
	width: 100%;
}
.gallery .tab-link:after {
	background-color: rgb(123, 125, 129);
	bottom: 0;
	content: '';
	height: 3px;
	opacity: 0.8;
	position: absolute;
	right: 0;
	transition: 0.3s ease-out;
	width: 0;
	z-index: 2;
}
@media (min-width: 1100px) {
	.gallery .title {
		max-width: 215px;
	}
	.gallery .tab-links {
		gap: 33px;
	}
	.gallery .tab-link.active span {
		font-size: 25px;
		font-weight: 900;
	}
	.gallery .tab-link {
		padding: 0 22px 28px;
	}
}
.gallery .swiper-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.gallery .swiper-slide {
	border-radius: 15px;
	overflow: hidden;
	height: 68cqw;
}
.swiper-gallery_container {
	position: relative;
}
.gallery .swiper-button {
	top: 50% !important;
	transform: translateY(-50%) !important;
	bottom: 0 !important;
	background-color: rgba(0, 0, 0, 0.48);
	width: 45px;
	height: 45px;
	border-radius: 100%;
	backdrop-filter: blur(24px) !important;
	margin: 0 !important;
}
.gallery .swiper-button::after {
	color: #fff;
	font-size: 24px;
}
.gallery .swiper-button-prev {
	left: 20px !important;
}
.gallery .swiper-button-next {
	right: 20px !important;
}
@media (min-width: 768px) {
	.gallery .swiper-slide {
		height: 55cqw;
	}
	.gallery .swiper-button {
		width: 60px;
		height: 60px;
	}
}
@media (min-width: 1100px) {
	.gallery .swiper-slide {
		border-radius: 35px;
		height: 746px;
	}
	.gallery .swiper-button {
		width: 80px;
		height: 80px;
	}
	.gallery .swiper-button-prev {
		left: 80px !important;
	}
	.gallery .swiper-button-next {
		right: 80px !important;
	}
}

/* about */

.about {
	margin-block: 36px 41px;
	overflow: hidden;
	container-type: inline-size;
}
.about .top {
	margin-bottom: 21px;
}
.about .top p {
	font-size: clamp(17px, 2vw, 20px);
	line-height: 27px;
}
.about .top p strong {
	font-size: 24px;
	font-weight: 700;
}
@media (min-width: 1100px) {
	.about {
		padding-top: 90px;
		margin-bottom: 81px;
	}
	.about .top {
		padding-left: 64px;
	}
	.about .top p {
		max-width: 790px;
		line-height: 31px;
	}
}

.about .mid {
	background-color: #70665d;
	background-image: url(../images/about-bg.png);
	background-repeat: no-repeat;
	background-position: 100% 102%;
	border-radius: 10px;
	color: #fff;
	margin-bottom: 40px;
}
.about .mid .text {
	display: flex;
	flex-direction: column;
	gap: 17px;
	padding: 24px 20px 21px 14px;
}
.about .mid .text h2 {
	font-size: 32px;
	font-weight: 700;
}
.about .mid .text p {
	font-size: 17px;
	line-height: 27px;
}

.about .mid .bg {
	position: relative;
	height: 240px;
}
.about .mid .bg img {
	position: absolute;
	pointer-events: none;
	bottom: 0;
}
.about .mid .bg img:nth-child(1) {
	right: -15px;
	z-index: 1;
	height: 113%;
}
.about .mid .bg img:nth-child(2) {
	right: 60px;
	z-index: 0;
	height: 90%;
}
.about .mid .bg .badge {
	background-color: rgba(255, 255, 255, 0.36);
	backdrop-filter: blur(10px);
	font-size: 14px;
	font-weight: 400;
	border-radius: 35px;
	width: 193px;
	height: 55px;
	position: absolute;
	left: 0;
	bottom: 29px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.about .mid .bg .badge span {
	font-size: 400px;
	font-size: 14px;
}
.about .mid .bg .badge strong {
	font-size: 600px;
	font-size: 16px;
}
@media (min-width: 1100px) {
	.about .mid {
		display: flex;
		justify-content: space-between;
		border-radius: 35px;
		background-image: url(../images/about-bg-2.png);
		background-position: 100% 100%;
		background-size: contain;
		margin-bottom: 90px;
	}
	.about .mid .text {
		padding: 44px 20px 71px 63px;
		max-width: 580px;
	}
	.about .mid .bg {
		height: auto;
	}
	.about .mid .bg img:nth-child(1) {
		height: 120%;
	}
	.about .mid .bg img:nth-child(2) {
		right: 145px;
		bottom: 6%;
	}
	.about .mid .bg .badge {
		right: 269px;
		left: unset;
	}
}

.about .bot {
	display: flex;
	flex-direction: column-reverse;
	background-color: rgba(226, 226, 226, 1);
	border-radius: 35px;
	padding: 28px 15px 0;
}
.about .bot img.desc {
	display: none;
}
.about .bot > div {
	display: flex;
	flex-direction: column;
	gap: 25px;
	align-items: center;
	margin-bottom: 8px;
}
.about .bot h3 {
	font-size: clamp(26px, 3vw, 32px);
	font-weight: 600;
	line-height: 36px;
}
.about .bot p {
	font-size: 18px;
	font-weight: 400;
	line-height: 24px;
}
@media (min-width: 1024px) {
	.about .bot {
		flex-direction: row;
		justify-content: flex-end;
		position: relative;
		padding: 44px 38px;
	}
	.about .bot img.desc {
		display: block;
		position: absolute;
		left: 0;
		bottom: 0;
		width: 50%;
	}
	.about .bot img.mob {
		display: none;
	}
	.about .bot > div {
		width: 56%;
		align-items: flex-end;
		text-align: right;
	}
}

/* infra */

.infrastructure {
	padding-block: 32px 43px;
}
.infrastructure .top {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 34px;
}
.infrastructure .top h3 {
	font-size: clamp(32px, 4vw, 47px);
	font-weight: 500;
	line-height: 37px;
	max-width: 363px;
}
.infrastructure .top p {
	line-height: normal;
}
@media (min-width: 768px) {
	.infrastructure {
		padding-block: 51px 86px;
	}
	.infrastructure .top {
		flex-wrap: nowrap;
		align-items: flex-start;
		margin-bottom: 56px;
	}
	.infrastructure .top p {
		width: 44%;
		text-align: right;
		font-size: 18px;
	}
}
.infra-swiper {
	overflow: visible !important;
	padding-bottom: 37px !important;
	margin-bottom: clamp(32px, 5vw, 68px);
	container-type: inline-size;
}
.infra-slide {
	border-radius: 20px;
	overflow: hidden;
	position: relative;
	cursor: pointer;
	height: 98cqw !important;
}
@media (min-width: 768px) {
	.infra-slide {
		border-radius: 35px;
		/* height: auto !important; */
		height: 45cqw !important;
	}
}
.infra-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	pointer-events: none;
}
.infra-slide .badge {
	position: absolute;
	bottom: 16px;
	left: 8px;
	z-index: 1;
	display: flex;
	align-items: center;
	color: #fff;
}
.infra-slide .badge div {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	background-color: rgba(255, 255, 255, 0.5);
	border-radius: 30px;
	backdrop-filter: blur(5px);
	margin-right: 10px;
	padding: 7px 14px;
}
.infra-slide .badge div > span {
	font-size: 16px;
	font-weight: 900;
}
.infra-slide .badge > span {
	font-size: 18px;
	font-weight: 900;
}
.infra-swiper .swiper-scrollbar {
	height: 2px !important;
}
.infra-swiper .swiper-scrollbar-drag {
	height: 3px !important;
}
.infrastructure .swiper-button {
	top: 50% !important;
	transform: translateY(-50%) !important;
	bottom: 0 !important;
	background-color: rgba(0, 0, 0, 0.48);
	width: 45px;
	height: 45px;
	border-radius: 100%;
	backdrop-filter: blur(24px) !important;
	margin: 0 !important;
}
.infrastructure .swiper-button::after {
	color: #fff;
	font-size: 16px;
}
.infrastructure .swiper-button-prev {
	left: 20px !important;
}
.infrastructure .swiper-button-next {
	right: 20px !important;
}

.infrastructure .bot {
	container-type: inline-size;
}
.infrastructure .bot .heading {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: clamp(34px, 5vw, 64px);
}
.infrastructure .bot .heading h3 {
	font-size: clamp(32px, 4vw, 47px);
	font-weight: 500;
	line-height: clamp(37px, 4vw, 47px);
	max-width: 70%;
}
.infrastructure .bot .heading p {
	line-height: normal;
	text-transform: uppercase;
	font-size: 18px;
}
@media (min-width: 768px) {
	.infrastructure .bot .heading {
		flex-direction: row;
		align-items: center;
	}
}
.infrastructure .bot .body {
	display: flex;
	flex-direction: column;
}
.infrastructure .cross-img {
	background-image: url(../images/infra/srok.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	position: relative;
	width: 100dvw;
	left: 50%;
	transform: translateX(-50%);
	height: 85cqw;
	margin-bottom: 28px;
}
.infrastructure .cross-img::before {
	content: '';
	display: block;
	background-color: #fff;
	height: 10px;
	width: 100%;
	position: absolute;
	left: 0;
	top: 50%;
}
.infrastructure .cross-img::after {
	content: '';
	display: block;
	background-color: #fff;
	height: 50%;
	width: 10px;
	position: absolute;
	left: 50%;
	bottom: 0;
	z-index: -1;
}
@media (min-width: 768px) {
	.infrastructure .bot .body {
		flex-direction: row;
		gap: 43px;
	}
	.infrastructure .cross-img {
		background-image: url(../images/infra/srok.png);
		position: relative;
		transform: translate(0);
		left: unset;
		width: 50%;
		height: auto;
		width: 50%;
		border-radius: 20px 20px 20px 20px;
		margin-bottom: 0;
	}
	.infrastructure .cross-img::before {
		top: 57%;
	}
	.infrastructure .cross-img::after {
		height: 43%;
		left: 60%;
	}
}
.infrastructure .cross-img .badge {
	position: absolute;
	left: 50%;
	top: 55%;
	transform: translate(-50%, -45%);
	border-radius: 100%;
	background: linear-gradient(
		180deg,
		rgba(123, 125, 129, 0.35) 0%,
		rgba(202, 170, 126, 0.35) 100%
	);
	box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.32);
	backdrop-filter: blur(13px);
	color: #fff;
	display: none;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 38cqw;
	aspect-ratio: 1;
}
.infrastructure .cross-img .badge > span {
	font-size: 4cqw;
	font-weight: 600;
}
.infrastructure .cross-img .badge > span > span {
	font-size: 4.3cqw;
	font-weight: 600;
	line-height: 7cqw;
}

.infrastructure .bot .text {
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 17px;
	line-height: 29px;
}
/* .infrastructure .bot .text p:not(:last-child) {
	padding-bottom: 36px;
	margin-bottom: 28px;
	border-bottom: 1px solid rgba(124, 125, 129, 0.5);
} */
@media (min-width: 768px) {
	.infrastructure .cross-img .badge {
		width: 168px;
		left: 60%;
		top: 57%;
	}
	.infrastructure .cross-img .badge > span {
		font-size: 17px;
	}
	.infrastructure .cross-img .badge > span > span {
		font-size: 19px;
		line-height: 35px;
	}
	.infrastructure .bot .text {
		width: 50%;
		font-size: 18px;
	}
}

/* contact */

.contact {
	background: #645b53;
	background-image: url(../images/contact/contact-ch-mob.png);
	background-repeat: no-repeat;
	background-position: bottom;
	background-size: contain;
	position: relative;
}
.contact .scheme {
	display: none;
	z-index: 0;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background-image: linear-gradient(89.02deg, #645b53 42.34%, #d6c3b3 99.48%);
	overflow: hidden;
}
.contact .scheme img {
	position: absolute;
	left: 44%;
	height: 92%;
	top: 0%;
}
.contact-inner {
	display: flex;
	flex-direction: column;
	color: #fff;
	padding-block: 35px 0;
	z-index: 1;
	position: relative;
	container-type: inline-size;
}
@media (min-width: 768px) {
	.contact {
		border-radius: 35px;
		background-position: 130% top;
	}
	.contact-inner {
		flex-direction: row;
		padding-block: 34px 48px;
	}
	.contact .scheme {
		display: block;
	}
}
.contact .left .title {
	font-size: clamp(38px, 3vw, 44px);
	font-weight: 600;
	line-height: 100%;
	margin-bottom: clamp(20px, 2vw, 27px);
}
.contact .left ul {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 37px;
}
.contact .left ul li {
	display: flex;
	align-items: center;
	list-style-type: none;
	font-size: clamp(16px, 2vw, 20px);
	line-height: 26px;
}
.contact .left ul li:before {
	content: url(../images/other/arrow.svg);
	margin-right: 15px;
}
.contact-left_inner > p {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: -0.3px;
}
.contact-left_inner > p:nth-of-type(1) {
	margin-bottom: 14px;
}
.contact-left_inner > p:nth-of-type(2) {
	margin-bottom: 21px;
}
@media (min-width: 768px) {
	.contact .left {
		width: 46.75%;
	}
}
.contact-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-bottom: 14px;
	margin-bottom: 14px;
	border-bottom: 1px solid rgba(255, 255, 255, 35%);
}
.contact-form > div {
	display: contents;
}
.contact-form input {
	background: #fff;
	border-radius: 50px;
	padding: 16px;
	width: 100%;
	font-size: 20px;
	font-variant-numeric: lining-nums;
	order: 1;
}
.contact-form input::placeholder {
	font-variant-numeric: lining-nums;
}
.contact-form button[type='submit'] {
	width: 100%;
	max-width: none;
	order: 3;
	font-size: 17px;
	font-weight: 400;
	line-height: 20px;
}
.contact-form p {
	order: 2;
	font-size: 14px;
	color: rgba(255, 255, 255, 65%);
	line-height: 120%;
}
@media (min-width: 768px) {
	.contact-form > div {
		display: flex;
		gap: 12px;
	}
}

.contact-socials {
	display: flex;
	flex-direction: column;
	gap: 11px;
}
.contact-socials a {
	display: flex;
	justify-content: flex-start;
	border-radius: 50px;
	padding: 20px 24px;
	color: #fff;
	font-size: 17px;
}
.contact-socials a span {
	margin-inline: auto;
}
.contact-socials .wa {
	background-color: #78ac77;
}
.contact-socials .tg {
	background-color: #47609c;
}

.contact .right img {
	width: 100%;
	height: auto;
	pointer-events: none;
}
.contact .right img:nth-of-type(2) {
	display: none;
}
@media (min-width: 768px) {
	.contact-socials {
		flex-direction: row;
	}
	.contact-socials a {
		gap: 8px;
	}
	.contact .right img {
		position: absolute;
		width: auto;
	}
	.contact .right img:nth-of-type(1) {
		/* top: -7%; */
		bottom: 6cqw;
		right: 0%;
		width: 51cqw;
	}
	.contact .right img:nth-of-type(2) {
		display: block;
		bottom: 17%;
		top: unset;
		left: 44%;
		width: 16cqw;
	}
}

/* features */

.features {
	background-color: #f6f6f6;
	border-radius: 35px;
}
.features-inner {
	padding-block: 32px 58px;
}
.features-inner .top {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 45px;
}
.features-inner .top .title {
	font-size: clamp(32px, 4vw, 47px);
	font-weight: 500;
	line-height: 37px;
	max-width: 363px;
}
.features-inner .top p {
	line-height: normal;
}
@media (min-width: 768px) {
	.features-inner {
		padding-block: 67px 95px;
	}
	.features-inner .top {
		flex-wrap: nowrap;
		align-items: flex-start;
		margin-bottom: 50px;
	}
	.features-inner .top p {
		width: 44%;
		text-align: right;
		font-size: 18px;
	}
}

.features-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: 1fr;
	gap: 5px;
	container-type: inline-size;
}
.features-item {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	gap: clamp(10px, 2vw, 25px);
	border-radius: 20px;
	height: auto;
	width: 100%;
	background-color: #fff;
	padding: 6cqw 5cqw;
}
.features-item span {
	font-size: 4cqw;
	font-weight: 500;
	line-height: 16px;
	text-align: center;
}
.features-item img {
	width: 20cqw;
	height: 14cqw;
}
@media (min-width: 425px) {
	.features-item {
		flex-direction: row;
		padding: 4cqw 4cqw;
	}
	.features-item img {
		width: auto;
		height: auto;
	}
	.features-item span {
		font-size: 3cqw;
	}
}
@media (min-width: 768px) {
	.features-list {
		grid-template-columns: repeat(3, 1fr);
		grid-column-gap: 16px;
		grid-row-gap: 20px;
	}
	.features-item {
		padding: 2.4cqw 4cqw;
	}
	.features-item span {
		line-height: 133%;
		font-size: clamp(14px, 2vw, 21px);
		text-align: left;
	}
}

/* places */

.places {
	padding-block: 32px 58px;
}
.places .top {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 45px;
}
.places .top .title {
	font-size: clamp(32px, 4vw, 47px);
	font-weight: 500;
	line-height: 37px;
	max-width: 363px;
}
.places .top p {
	line-height: normal;
}
@media (min-width: 768px) {
	.places {
		padding-block: 67px 95px;
	}
	.places .top {
		flex-wrap: nowrap;
		align-items: flex-start;
		margin-bottom: 65px;
	}
	.places .top p {
		width: 59%;
		text-align: right;
		font-size: 18px;
	}
}

.places .mid {
	margin-bottom: clamp(54px, 7vw, 87px);
}
.places-swiper {
	position: relative;
	overflow: visible !important;
	container-type: inline-size;
}
.places-slide {
	/* overflow: hidden; */
	height: 98cqw !important;
	will-change: auto;
}
.places-slide .inner {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	height: 80.85%;
	transition: all 0.3s ease-out 0s;
}
.places-slide.swiper-slide-active .inner {
	height: 100%;
	box-shadow: 4px 4px 14px 1px rgba(0, 0, 0, 0.24);
	transition: all 0.3s ease-in-out 0.2s;
}
@media (min-width: 768px) {
	.places-slide {
		height: 36.7cqw !important;
	}
	.places-slide .inner {
		border-radius: 35px;
	}
	.places-slide.swiper-slide-active {
		flex-basis: 33.5% !important;
	}
	.places-slide:not(.swiper-slide-active) {
		flex-basis: 31.2% !important;
	}
}

.places-slide img {
	width: 100%;
	object-fit: cover;
	height: 100%;
}
.places-slide .badge {
}
.places-slide .badge {
	position: absolute;
	bottom: 21px;
	left: 50%;
	transform: translateX(-50%);
	max-width: none;
	width: 94%;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 30px;
	background-color: rgba(255, 255, 255, 0.4);
	color: #fff;
	text-align: center;
	height: 44px;
	backdrop-filter: blur(4px);
	font-weight: 600;
}
.places-progress {
	position: relative;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	gap: 22px;
	margin-top: 28px;
}
.places-progress .swiper-counter {
	display: none;
	color: #caaa7e;
	font-weight: 600;
}
.places-progress .swiper-counter .active {
	font-size: 22px;
	margin-right: 6px;
}
.places-progress .swiper-counter .count {
	font-size: 17px;
	margin-left: 2px;
}
.places-progress .swiper-counter .divider {
	color: #caaa7e;
}
.places-scrollbar {
	position: static !important;
	inset: unset !important;
	transform: translate(0) !important;
}
.places-swiper .swiper-button {
	background-color: rgba(0, 0, 0, 0.48) !important;
	background: rgba(255, 255, 255, 0.25);
	border-radius: 100%;
	width: 50px !important;
	height: 50px !important;
	backdrop-filter: blur(24px);
}
.places-swiper .swiper-button::after {
	font-size: 20px !important;
	color: #fff;
}
@media (min-width: 768px) {
	.places-progress {
		position: absolute;
		margin-top: 0;
	}
	.places-progress .swiper-counter {
		display: flex;
		align-items: flex-end;
	}
	.places-scrollbar {
		width: 58.6cqw !important;
	}
	.places-slide .badge {
		left: 18px;
		max-width: 267px;
		width: 100%;
		transform: translateX(0);
	}
	.places-swiper .swiper-button {
		background: rgba(255, 255, 255, 0.25);
		backdrop-filter: blur(5px);
	}
}

.places .bot {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.places-card {
	background-color: #e2e2e2;
	background-repeat: no-repeat;
	background-size: auto;
	background-position: bottom right;
	border-radius: 20px;
	padding: 27px 15px 106px;
	width: 100dvw;
	position: relative;
	left: 50%;
	transform: translate(-50%);
}
.places-card:nth-child(1) {
	background-image: url(../images/places/bg-places.png);
}
.places-card:nth-child(2) {
	background-image: url(../images/places/bg-places-2.png);
}
.places-card .title {
	font-size: 25px;
	font-weight: 600;
	line-height: 36px;
	margin-bottom: 26px;
}
.places-card p {
	font-size: 18px;
	line-height: 24px;
	margin-bottom: 25px;
}
.places-card button {
	max-width: none;
}
@media (min-width: 768px) {
	.places .bot {
		flex-direction: row;
	}
	.places-card button {
		max-width: 315px;
	}
	.places-card {
		left: unset;
		transform: translate(0);
		border-radius: 35px;
		padding: 34px 39px 149px 36px;
		width: 50%;
	}
}

/* map */

.map {
	background-color: rgba(246, 246, 246, 1);
	border-radius: 35px 35px 0 0;
}
.map-inner {
	padding-block: 31px 47px;
	padding-inline: 0;
}
.map .top {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-bottom: 180px;
	padding-inline: 11px;
}
.map .top .title {
	font-size: clamp(32px, 4vw, 47px);
	font-weight: 500;
	line-height: 37px;
}
.map .top p {
	line-height: normal;
}
@media (min-width: 768px) {
	.map {
		padding-block: 67px 95px;
	}
	.map-inner {
		padding-inline: 11px;
	}
	.map .top {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		padding-inline: 0;
		margin-bottom: 56px;
	}
	.map .top p {
		width: 59%;
		text-align: right;
		font-size: 18px;
		max-width: 41%;
	}
}
.map .bot {
	display: flex;
	flex-direction: column-reverse;
}
.stations {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: 16px;
	padding-inline: 11px;
}
.station {
	display: flex;
	align-items: center;
	gap: 8px;
}
.map-box {
	position: relative;
}
@media (min-width: 768px) {
	.map .bot {
		flex-direction: column;
	}
	.stations {
		flex-direction: row;
		margin-block: 0 36px;
		padding-inline: 0;
	}
}
#YMapsID {
	overflow: hidden;
	height: 413px;
	filter: drop-shadow(0px 32px 45px rgba(0, 0, 0, 0.05));
	border: 1px solid rgba(0, 0, 0, 0.3);
}
.map-info {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 50%;
	transform: translate(-50%, -70%);
	background-color: #fff;
	padding: 22px;
	border-radius: 4px;
	width: 90%;
}
.map-info a {
	color: rgb(34, 34, 34);
	line-height: 138%;
	font-variant-numeric: normal;
}
.map-info div:not(:last-child) {
	margin-bottom: 15px;
}
.map-info div p {
	line-height: 138%;
	font-variant-numeric: normal;
}
.map-info div p:nth-of-type(1) {
	font-size: 15px;
	font-weight: 700;
}
.map-info div p:nth-of-type(2) {
	font-size: 18px;
	font-weight: 400;
}
@media (min-width: 768px) {
	#YMapsID {
		border-radius: 35px;
		height: 600px;
		border: none;
	}
	.map-info {
		position: absolute;
		z-index: 1;
		top: 50%;
		left: 6%;
		transform: translateY(-50%);
		background-color: #fff;
		padding: 22px;
		border-radius: 4px;
		max-width: 281px;
		width: 100%;
	}
}

/* entry */

.entry {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-block: 45px 72px;
}
.entry .top {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 20px;
	margin-bottom: 40px;
}
.entry .top .title {
	font-size: clamp(30px, 4vw, 52px);
	font-weight: 400;
	line-height: 118%;
	color: #242629;
}
.entry .top p {
	font-size: 17px;
	font-weight: 400;
	color: #242629;
	max-width: 630px;
}

.entry .mid {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 40px;
	width: 100%;
}
.entry .mid .btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 17px;
	font-weight: 700;
	height: 60px;
	width: 100%;
	border-radius: 50px;
	transition: all 0.2s ease;
	will-change: transform;
	container-type: inline-size;
}
.entry .mid .btn span {
	font-size: 15px;
}
.entry .mid .btn {
	transform: scale(0.995);
}
.entry .mid .btn svg {
	flex-shrink: 0;
}
.entry .mid .wa {
	background: #78ac77;
	color: #fff;
}
.entry .mid .wa:hover {
	background: #568f55;
}
.entry .mid .tg {
	background: #47609c;
	color: #fff;
}
.entry .mid .tg:hover {
	background: #2f4477;
}
.entry .mid .btn.modal {
	background-color: transparent;
	color: #242629;
	border: 1px solid #242629;
}
.entry .mid .btn.modal:hover {
	background: #242629;
	color: #fff;
}
@media (min-width: 768px) {
	.entry .mid {
		flex-direction: row;
	}
	.entry .mid .btn {
		max-width: 270px;
		width: 100%;
	}
	.entry .mid .btn span {
		font-size: 5.6cqw;
	}
}

.entry .bot p {
	text-align: center;
	font-size: 14px;
	line-height: 120%;
	color: rgba(36, 38, 41, 0.65);
	max-width: 570px;
}

/* footer */

.footer-main {
	background-image: url(../images/footer-bg-mob.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	background-color: #453f37;
}
@media (min-width: 1100px) {
	.footer-main {
		background-image: url(../images/footer-min.jpg);
	}
}
.footer-main * {
	color: #fff;
}
.footer-inner {
	padding-block: 18px 34px;
}
.footer-inner .row {
	position: relative;
}
.footer-inner .top {
	display: flex;
	flex-direction: column;
	gap: 28px;
	padding-bottom: 16px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}
.footer-inner .row:not(:last-of-type)::after {
	content: '';
	display: block;
	position: absolute;
	width: 100vw;
	height: 1px;
	background: rgba(255, 255, 255, 0.2);
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.footer-logo {
	width: 100%;
}
.footer-logo img {
	display: block;
	margin: 0 auto;
}
.footer-nav ul {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
	list-style: none;
}
.footer-nav ul li a {
	font-size: 19px;
}
.footer-socials {
	display: flex;
	gap: 20px;
}
.footer-socials a img {
	width: 40px;
	height: 40px;
}
@media (min-width: 768px) {
	.footer-nav {
		flex: 1 1 100%;
	}
	.footer-nav ul {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 15px;
	}
}
@media (min-width: 1100px) {
	.footer-logo {
		width: fit-content;
	}
	.footer-inner .row {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}
	.footer-inner .row:not(:last-of-type)::after {
		width: 100%;
	}
	.footer-inner .top {
		margin-bottom: 23px;
		padding-bottom: 23px;
		flex-wrap: nowrap;
	}
	.footer-nav {
		flex: unset;
	}
}
.footer-contact {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 28px;
}
.footer-contact p:first-child {
	font-weight: 700;
}
.footer-contact p:last-child {
	font-size: 14px;
}
.footer-contact a {
	font-weight: 700;
	font-size: 26px;
}

.footer-credentials {
	margin-bottom: 28px;
}
.footer-credentials p:first-child {
	font-weight: 700;
	margin-bottom: 10px;
}
.footer-credentials p {
	line-height: normal;
}
.footer-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding-bottom: 16px;
	margin-bottom: 33px;
}
.footer-btn button {
	max-width: none;
	font-size: 15px;
	background: #caaa7e;
}
@media (min-width: 1100px) {
	.footer-inner .mid {
		margin-bottom: 47px;
		padding-bottom: 23px;
	}
	.footer-btn,
	.footer-credentials,
	.footer-contact {
		margin-bottom: 0;
	}
	.footer-btn button {
		width: 268px;
	}
}

.footer-privacy {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin-bottom: 20px;
}
.footer-privacy a {
	text-decoration: underline;
}

.footer-disclaimer {
	font-size: 12px;
	font-weight: 400;
	line-height: 14px;
	color: rgba(255, 255, 255, 0.61);
	margin-bottom: 20px;
	text-align: center;
}

a.up {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding: 2.5px 20px;
	width: 54px;
	height: 25px;
	background: linear-gradient(180deg, #7b7d81 0%, #caaa7e 100%);
	border-radius: 5px;

	margin-left: auto;
}
@media (min-width: 1100px) {
	.footer-disclaimer {
		max-width: 700px;
	}
	a.up {
		margin-left: unset;
	}
}

/* hero */

.hero {
	container-type: inline-size;
	position: relative;
	border-radius: 10px;
	overflow: hidden;
}

.hero-swiper {
	height: auto;
	padding-inline: 11px !important;
	overflow: visible !important;
}

.hero-slide {
	position: relative;
	display: flex !important;
	align-items: center;
	color: #fff;
	padding: 20px 0;
	border-radius: 10px;
	overflow: visible !important;
}
.hero-slide > img {
	width: 100dvw;
	height: 100%;
	object-fit: cover;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	z-index: -1;
	filter: brightness(0.5);
}
.hero-slide .content {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-height: 600px;

	width: 100%;
	position: relative;
	z-index: 1;
}
.hero-slide .top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 46px;
	margin-top: 29px;
}
.hero-slide .top-inner {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	width: 100%;
}
.hero-slide_timeline {
	flex: 0 0 auto;
	background-color: rgba(255, 255, 255, 0.7);
	border-radius: 50px;
	color: #222427;
	padding: 9px 13px;
	text-align: center;
	font-size: 13px;
	font-weight: 600;
	margin: 0 auto 29px;
}
.hero-slide_area,
.hero-slide_price {
	display: flex;
	flex-direction: column;
}
:is(.hero-slide_area, .hero-slide_price) span:nth-child(1) {
	font-weight: 600;
	font-size: 21px;
	line-height: 24px;
}
:is(.hero-slide_area, .hero-slide_price) span:nth-child(2) {
	font-weight: 400;
	font-size: 13px;
	line-height: 17px;
	color: rgba(255, 255, 255, 0.8);
}
@media (min-width: 768px) {
	.hero {
		border-radius: 35px;
	}
	.hero-slide .content {
		justify-content: center;
	}
	.hero-slide .top {
		margin-top: 0;
	}
	.hero-slide .top-inner {
		justify-content: flex-start;
		gap: 34px;
	}
	.hero-slide_timeline {
		margin: 0 0 29px auto;
	}
}
.hero-slide .mid {
	margin-bottom: 44px;
}
.hero-slide .mid .title {
	font-size: 48px;
	font-weight: 900;
	line-height: 120%;
	margin-bottom: 23px;
}
.hero-slide .mid p {
	font-size: 23px;
	line-height: 30px;
}

.hero-slide .bot {
	display: flex;
	justify-content: center;
	margin-bottom: 100px;
}
.hero-swiper_btn {
	background: rgba(255, 255, 255, 19%);
	border-radius: 100%;
	width: 50px !important;
	height: 50px !important;
	display: none !important;
}
.hero-swiper_btn::after {
	font-size: 20px !important;
	color: #fff;
}
@media (min-width: 768px) {
	.hero-slide .bot {
		margin-bottom: 0;
	}
}

.hero-progress {
	display: flex;
	flex-direction: row;
	align-items: flex-end;
	gap: 21px;
	position: absolute;
	bottom: 28px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}
.hero-progress .swiper-counter {
	display: flex;
	align-items: flex-end;
}
.hero-progress .active {
	font-weight: 600;
	font-size: 20px;
	color: #fff;
	margin-right: 6px;
}
.divider {
	color: rgba(255, 255, 255, 0.7);
}
.hero-progress .count {
	font-weight: 600;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.7);
}
.hero-scrollbar {
	position: relative !important;
	inset: unset !important;
	max-width: 210px !important;
	width: 210px !important;
	background: #fff !important;
}
.hero-slide .bot .button--primary {
	display: flex;
	align-items: center;
	justify-content: center;
}
@media (min-width: 768px) {
	.hero-progress {
		right: 0;
		left: unset;
		bottom: 50%;
		transform: rotate(-90deg) translate(50%, -50px);
		transform-origin: top right;
	}
	.hero-scrollbar {
		rotate: 180deg;
	}
	.hero-slide .bot {
		justify-content: flex-start;
	}
	.hero-swiper_btn {
		display: flex !important;
	}
}

/* layouts */

.layouts {
	background-color: rgba(246, 246, 246, 1);
	border-radius: 35px;
}
.layouts_inner {
	padding-block: 32px 43px;
}
.layouts_inner .top {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 34px;
}
.layouts_inner .top .title {
	font-size: clamp(32px, 4vw, 47px);
	font-weight: 500;
	line-height: 37px;
	max-width: 363px;
}
.layouts_inner .top p {
	line-height: normal;
}
@media (min-width: 768px) {
	.layouts_inner {
		padding-block: 51px 86px;
	}
	.layouts_inner .top {
		flex-wrap: nowrap;
		align-items: center;
		margin-bottom: 56px;
	}
	.layouts_inner .top p {
		width: 44%;
		text-align: right;
		font-size: 18px;
	}
}

.layout-list {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
	gap: 30px;
}
.layout-item {
	display: flex;
	flex-flow: row wrap;
	background: #fff;
	border-radius: 20px;
	padding: 11px 11px 22px;
	container-type: inline-size;
}
.layout-item p span {
	font-weight: 700;
	font-variant-numeric: normal;
}
.layout-item_top {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 100%;
	height: 38cqw;
}
.layout-item_top a {
	display: contents;
}
.layout-item_top img {
	height: 100%;
	width: 100%;
	object-fit: contain;
}
.layout-item_mid {
	width: 100%;
}
.layout-item_mid p {
	font-size: 21px;
}
.layout-item_mid p:nth-child(1) {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 15px;
}
.layout-item_mid p:nth-child(2) {
	margin-bottom: 23px;
}
.layout-item_bot {
	width: 100%;
}
.layout-item_bot p {
	font-weight: 700;
	font-size: 21px;
	margin-bottom: 23px;
}
.layout-item_bot button {
	width: 100%;
	max-width: none;
	font-size: 17px;
	height: 46px;
}
@media (min-width: 768px) {
	.layout-item {
		padding: 21px 30px 23px;
	}
	.layout-item_mid,
	.layout-item_bot {
		display: flex;
		flex-direction: column;
		flex: 1 1 50%;
	}
	.layout-item_bot {
		align-items: flex-end;
	}
	.layout-list {
		gap: clamp(15px, 3vw, 43px);
		grid-template-columns: repeat(2, 1fr);
	}
	.layout-item_bot button {
		max-width: 189px;
	}
	.layout-item_bot p {
		margin-bottom: 30px;
	}
}

dialog {
	border: none;
	border-radius: 10px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	max-width: 570px;
	padding: 0;
	pointer-events: none;
	opacity: 0;
	margin: auto;
	background-color: #fff;
}
dialog[open] {
	pointer-events: all;
	opacity: 1;
	animation: scaleUp 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
dialog::backdrop {
	background: rgba(0, 0, 0, 0.6);
	backdrop-filter: blur(0.25rem);
	animation: fadeIn 0.2s ease-in normal;
}
dialog.out-modal {
	animation: scaleDown 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
dialog.out-modal::backdrop {
	animation: fadeOut 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
dialog .closeDialog {
	position: absolute;
	top: 35px;
	right: 35px;
	opacity: 0.5;
	background: transparent;
	line-height: normal;
	transition: all 0.2s;
	padding: 0;
}
.dialog-content {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.dialog-contact {
	max-width: 566px;
	background-image: url(../images/form-bg.png);
	background-repeat: no-repeat;
	background-position: bottom;
	background-size: cover;
}
.dialog-contact::before {
	content: '';
	display: block;
	width: 10px;
	height: 17%;
	background: linear-gradient(180deg, #7b7d81 0%, #caaa7e 100%);
	position: absolute;
	left: 0;
	top: 10%;
}
.dialog-contact .dialog-content {
	padding: 37px 45px;
}
.dialog-contact form {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.dialog-contact form .title {
	font-size: 32px;
	font-weight: 600;
	margin-bottom: 15px;
	text-align: center;
}
.dialog-contact form .desc {
	font-size: 15px;
	font-weight: 500;
	margin-bottom: 29px;
	text-align: center;
}
.dialog-contact button[type='submit'] {
	font-size: 16px;
	max-width: 244px;
	margin-top: 27px;
}
.dialog-contact .field {
	display: flex;
	flex-direction: column;
	width: fit-content;
	position: static;
	width: 100%;
	margin-bottom: 17px;
	position: relative;
	transition: all 0.2s;
}
.dialog-contact .field .text {
	font-size: 13px;
	color: #000000;
	font-weight: 400;
	position: relative;
	top: 0.5rem;
	margin: 0 0 0 7px;
	padding: 0 3px;
	background: #fff;
	width: fit-content;
	transition: all 0.2s;
}
.dialog-contact .field input.input {
	padding: 21px 20px 24px 21px;
	font-size: 13px;
	border: 1px #000000 solid;
	border-radius: 10px;
	background: #fff;
	font-variant-numeric: lining-nums;
	transition: all 0.2s;
}
.dialog-contact .field input.input:focus {
	outline: none;
}
.dialog-contact .field input.input[required]:valid {
	border-color: #caaa7e;
}
.dialog-contact .field .text:has(~ input.input[required]:valid) {
	color: #caaa7e;
}
.dialog-contact .field::after {
	content: '';
	display: block;
	width: 23px;
	height: 20px;
	background-image: url("data:image/svg+xml,%3Csvg width='23' height='20' viewBox='0 0 23 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.743 0C5.65125 0 0.69043 4.48837 0.69043 10C0.69043 15.5116 5.65125 20 11.743 20C17.8348 20 22.7956 15.5116 22.7956 10C22.7956 4.48837 17.8348 0 11.743 0ZM10.0724 14.6279L5.16297 10.1628L6.62817 8.83713L10.0983 11.9767L16.884 5.83721L18.3492 7.16287L10.0724 14.6279Z' fill='url(%23paint0_linear_5769_985)'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_5769_985' x1='11.743' y1='0' x2='11.743' y2='20' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%237B7D81'/%3E%3Cstop offset='1' stop-color='%23CAAA7E'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A");
	position: absolute;
	right: 20px;
	top: 46%;
	opacity: 0;
	transition: all 0.2s;
}
.dialog-contact .field:has(input.input[required]:valid)::after {
	opacity: 1;
}

.agreement {
	display: flex;
	align-items: center;
	gap: 13px;
	font-size: 13px;
	font-weight: 400;
	line-height: 130%;
	letter-spacing: -0.02em;
}
.dialog-contact input[name='agreement'] {
	display: none;
}
.dialog-contact input[name='agreement']:checked + .custom-checkbox::after {
	opacity: 1;
}
.custom-checkbox {
	display: inline-block;
	width: 20px;
	height: 20px;
	border: 2px solid #333;
	border-radius: 4px;
	position: relative;
	cursor: pointer;
	flex-shrink: 0;
}
.custom-checkbox::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 10px;
	height: 10px;
	background-color: #333;
	border-radius: 2px;
	opacity: 0;
}
@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@keyframes scaleUp {
	0% {
		-webkit-transform: scale(0.8) translateY(1000px) translateZ(0);
		transform: scale(0.8) translateY(1000px);
		opacity: 0;
	}
	100% {
		transform: scale(1) translateY(0px);
		opacity: 1;
	}
}
@keyframes scaleDown {
	0% {
		-webkit-transform: scale(1) translateY(0px) translateZ(0);
		transform: scale(1) translateY(0px);
		opacity: 1;
	}
	100% {
		-webkit-transform: scale(0.9) translateY(1400px) translateZ(0);
		transform: scale(0.9) translateY(1400px);
		opacity: 0;
	}
}
@keyframes fadeOut {
	0% {
		background: rgba(0, 0, 0, 0.7);
		backdrop-filter: blur(0.25rem);
	}
	100% {
		background: rgba(0, 0, 0, 0);
		backdrop-filter: blur(0rem);
	}
}

.ajax-form .success-output {
	display: none;
	padding: 10px;
	border: 1px solid #0a9f0a;
	width: fit-content;
	background: #0a9f0a;
	margin-block: 5px 10px;
	color: #fff;
}

.ajax-form.success .success-output {
	display: block;
}
