.contacts-app {
	margin: 10px 0 45px;
}
.contacts-app__title {
	font-size: 20px;
	font-weight: 700;
	color: #383838;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
}
.contacts-app__title:after {
	content: "";
	width: 60px;
	height: 1px;
	margin-left: 15px;
	background: #d18a12;
}
.contacts-app__grid {
	display: flex;
	gap: 20px;
}
.contacts-app__card {
	flex: 1 1 0;
	min-width: 0;
	position: relative;
	perspective: 1200px;
	cursor: pointer;
}
.contacts-app__face {
	position: relative;
	box-sizing: border-box;
	min-height: 220px;
	padding: 28px 30px;
	border-radius: 15px;
	background: #f8f5f0;
	border: 1px solid #eee6d9;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	transition: transform .6s cubic-bezier(.175, .885, .32, 1.275);
	transform: rotateY(0deg);
}
.contacts-app__face--back {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	flex-direction: row;
	align-items: center;
	gap: 20px;
	background: #fff;
	border-color: #e6d6bb;
	transform: rotateY(-180deg);
}
@media (hover: hover) {
	.contacts-app__card:hover .contacts-app__face--front { transform: rotateY(180deg); }
	.contacts-app__card:hover .contacts-app__face--back { transform: rotateY(0deg); }
}
.contacts-app__card.flipped .contacts-app__face--front { transform: rotateY(180deg); }
.contacts-app__card.flipped .contacts-app__face--back { transform: rotateY(0deg); }

.contacts-app__bg {
	position: absolute;
	right: -25px;
	bottom: -45px;
	width: 220px;
	height: 220px;
	transform: rotate(-12deg);
	pointer-events: none;
	z-index: 0;
}
.contacts-app__bg svg {
	width: 100%;
	height: 100%;
	fill: #ece2d1;
}
.contacts-app__icon,
.contacts-app__text,
.contacts-app__btn {
	position: relative;
	z-index: 1;
}
.contacts-app__icon {
	width: 52px;
	height: 52px;
	border-radius: 10px;
	background: #fff;
	border: 1px solid #eee6d9;
	display: flex;
	align-items: center;
	justify-content: center;
}
.contacts-app__icon svg {
	width: 22px;
	height: 22px;
	fill: #d18a12;
}
.contacts-app__text {
	margin: 18px 0 20px;
}
.contacts-app__name {
	font-size: 20px;
	font-weight: 700;
	color: #383838;
	line-height: 1.3;
}
.contacts-app__descr {
	font-size: 14px;
	color: #777;
	margin-top: 4px;
}
.contacts-app__btn.btn {
	padding: 10px 28px;
	font-weight: 500;
}
.contacts-app__back-info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	align-self: stretch;
	min-width: 0;
}
.contacts-app__back-info .contacts-app__descr {
	margin-bottom: 20px;
}
.contacts-app__qr {
	flex: 0 0 auto;
	width: 160px;
	height: 160px;
	margin-left: auto;
	border-radius: 8px;
}

@media (max-width: 991px) {
	.contacts-app__face { padding: 24px; }
	.contacts-app__qr { width: 130px; height: 130px; }
	.contacts-app__bg { width: 170px; height: 170px; }
}
@media (max-width: 767px) {
	.contacts-app__grid { flex-direction: column; }
	.contacts-app__card { flex: 0 0 auto; }
	.contacts-app__face { min-height: 200px; }
}
@media (max-width: 400px) {
	.contacts-app__face { padding: 20px; }
	.contacts-app__qr { width: 110px; height: 110px; }
	.contacts-app__name { font-size: 18px; }
}
