/* =========================================================
   CONTACT PAGE
   Unified with About page visual system
========================================================= */

.contact-page {
	color: var(--color-text);
	background: transparent;
}


/* =========================================================
   SHARED SECTION / CONTAINER GEOMETRY
========================================================= */

.contact-page .approach__hero,
.contact-page .contact,
.contact-page .form-contact,
.contact-page .faqs,
.contact-page .cta-bg {
	display: flex;
	flex-direction: column;
	align-items: center;

	width: 100%;

	padding:
		var(--space-2xl)
		0;
}


.contact-page .abour-hero__container,
.contact-page .contact__container,
.contact-page .form-contact__conteiner,
.contact-page .faqs__container,
.contact-page .cta__container {
	width: 100%;
	max-width: 1384px;

	margin:
		0
		auto;
}


/* =========================================================
   GLOBAL TYPOGRAPHY
========================================================= */

.contact-page .brxe-text,
.contact-page .brxe-text-basic {
	margin: 0;

	font-family: var(--font-body);
	font-size: var(--text-m);
	font-weight: 500;
	font-style: normal;
	font-variation-settings: "wght" 500;
	line-height: 1.6;

	color: var(--color-muted);
}


.contact-page .brxe-heading {
	margin-top: 0;

	font-family: var(--font-heading);
	font-weight: 400;
	font-style: normal;

	color: var(--color-text);
}


/* =========================================================
   GLOBAL BUTTON BASE
========================================================= */

.contact-page .btn-book,
.contact-page .btn-large {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	padding:
		.8rem
		1.7rem;

	font-family: var(--font-body);
	font-size: 1.1em;
	font-weight: 500;
	font-variation-settings: "wght" 500;
	line-height: 1.2;

	text-align: center;
	text-decoration: none;

	border-radius: 999px;
}


.contact-page .btn-book {
	position: relative;

	overflow: hidden;

	color: #ffffff;
	background: var(--color-primary);

	border:
		1px
		solid
		var(--color-primary);

	transition:
		transform
		.32s
		cubic-bezier(.25, .46, .45, .94),
		box-shadow
		.32s
		ease,
		letter-spacing
		.32s
		ease;
}


.contact-page .btn-large {
	position: relative;

	overflow: hidden;

	color: var(--color-primary);
	background: transparent;

	border:
		2px
		solid
		var(--color-primary);

	transition:
		transform
		.32s
		cubic-bezier(.25, .46, .45, .94),
		box-shadow
		.32s
		ease,
		letter-spacing
		.32s
		ease,
		color
		.4s
		ease,
		background-color
		.4s
		ease;
}


.contact-page .btn-book::before {
	content: "";

	position: absolute;

	inset: 0;

	background:
		linear-gradient(
			110deg,
			transparent 25%,
			rgba(255, 255, 255, .15) 50%,
			transparent 75%
		);

	transform:
		translateX(-100%);

	transition:
		transform
		.55s
		ease;

	pointer-events: none;
}


.contact-page .btn-large::after {
	content: "";

	position: absolute;

	inset: 0;

	background: currentColor;

	opacity: .07;

	transform:
		scaleY(0);

	transform-origin: center bottom;

	transition:
		transform
		.38s
		cubic-bezier(.25, .46, .45, .94);

	pointer-events: none;
}


/* =========================================================
   HERO
========================================================= */

.contact-page .approach__hero {
	background: var(--color-background);

	transition:
		background-color
		.6s
		ease;
}


.contact-page .abour-hero__container {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	transition:
		transform
		.5s
		cubic-bezier(.25, .46, .45, .94);
}


/* Eyebrow */

.contact-page .about__sub-text {
	position: relative;

	display: inline-block;

	margin:
		0
		0
		18px;

	padding:
		.6rem
		1rem;

	font-family: var(--font-body);
	font-size: var(--text-s);
	font-weight: 500;
	font-style: normal;
	font-variation-settings: "wght" 500;
	line-height: 1.2;

	color: var(--color-text);
	background: #E7E1DA;

	border-radius: 9999rem;

	cursor: default;

	transition:
		letter-spacing
		.38s
		ease,
		opacity
		.38s
		ease;
}


.contact-page .about__sub-text::after {
	content: "";

	position: absolute;

	left: 0;
	bottom: -3px;

	width: 0;
	height: 1px;

	background: currentColor;

	opacity: .4;

	transition:
		width
		.45s
		cubic-bezier(.25, .46, .45, .94);
}


/* Hero title */

.contact-page .approach__hero-title {
	position: relative;

	display: inline-block;

	width: 70%;

	margin: 0;

	font-family: var(--font-heading);
	font-size: var(--text-4xl);
	font-weight: 400;
	font-style: normal;
	line-height: 1.2;

	text-align: center;

	color: var(--color-text);

	cursor: default;

	transition:
		letter-spacing
		.45s
		cubic-bezier(.25, .46, .45, .94),
		opacity
		.45s
		ease;
}


/* Hero description */

.contact-page .approsch__hero-descript {
	width: 60%;

	margin: 0;

	font-family: var(--font-body);
	font-size: var(--text-l);
	font-weight: 500;
	font-style: normal;
	font-variation-settings: "wght" 500;
	line-height: 1.6;

	text-align: center;

	color: var(--color-muted);

	opacity: .78;

	cursor: default;

	transition:
		opacity
		.4s
		ease,
		transform
		.4s
		cubic-bezier(.25, .46, .45, .94);
}


/* Hero buttons */

.contact-page .hero__wrap-button {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;

	width: 100%;

	margin-top: 2rem;

	column-gap: 1rem;
	row-gap: 2rem;
}


/* =========================================================
   CONTACT CARDS
========================================================= */

.contact-page .contact__container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}


.contact-page .contact__header {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	width: 100%;

	row-gap: 1rem;
}


.contact-page .contact__contact-title {
	display: inline-block;

	margin: 0;

	font-family: var(--font-heading);
	font-size: var(--text-3xl);
	font-weight: 400;
	font-style: normal;
	line-height: 1.2;

	text-align: center;

	color: var(--color-text);

	cursor: default;

	transition:
		letter-spacing
		.45s
		cubic-bezier(.25, .46, .45, .94),
		opacity
		.45s
		ease;
}


.contact-page .contact__block-card {
	display: grid;

	grid-template-columns:
		repeat(
			4,
			minmax(0, 1fr)
		);

	align-items: stretch;
	align-content: stretch;

	width: 100%;

	margin:
		var(--space-xl)
		0
		0;

	padding: 0;

	column-gap: 3rem;
	row-gap: 3rem;

	list-style: none;
}


.contact-page .contact__card {
	position: relative;

	display: flex;
	flex-direction: column;

	row-gap: 1rem;

	padding: 3rem;

	background: var(--color-background);

	border-radius: 2rem;

	box-shadow:
		0
		1px
		2px
		rgba(0, 0, 0, .05);

	transition:
		box-shadow
		.35s
		ease,
		transform
		.35s
		cubic-bezier(.25, .46, .45, .94),
		background-color
		.35s
		ease;
}


.contact-page .contact__wrap-up-icon {
	display: flex;
	flex-direction: column;
	align-items: flex-start;

	width: 100%;
}


.contact-page .contact__card-bg-icon {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	width: auto;
	height: auto;

	padding: 1rem;

	background: var(--color-background);

	border-radius: 9999rem;

	transition:
		transform
		.35s
		cubic-bezier(.25, .46, .45, .94),
		background-color
		.35s
		ease;
}


.contact-page .contact__icon {
	display: block;

	width: 30px;
	height: 30px;

	fill: none;

	stroke: var(--color-primary);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;

	transition:
		stroke
		.35s
		ease;
}


.contact-page .contact__wrap-card-text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;

	width: 100%;

	row-gap: 1rem;
}


.contact-page .contact__card-title {
	margin: 0;

	font-family: var(--font-heading);
	font-size: var(--text-l);
	font-weight: 400;
	font-style: normal;
	line-height: 1.3;

	color: var(--color-text);

	cursor: default;

	transition:
		letter-spacing
		.38s
		cubic-bezier(.25, .46, .45, .94),
		opacity
		.38s
		ease;
}


.contact-page .contact__card-descr {
	display: block;

	margin: 0;

	font-family: var(--font-body);
	font-size: var(--text-m);
	font-weight: 500;
	font-style: normal;
	font-variation-settings: "wght" 500;
	line-height: 1.6;

	color: var(--color-muted);

	text-decoration: none;

	overflow-wrap: anywhere;
}


.contact-page .contact__card-descr[href] {
	position: relative;

	display: inline-block;

	text-decoration: none;

	transition:
		color
		.32s
		ease,
		letter-spacing
		.32s
		cubic-bezier(.25, .46, .45, .94),
		transform
		.32s
		cubic-bezier(.25, .46, .45, .94);
}


.contact-page .contact__card-descr[href]::after {
	content: "";

	position: absolute;

	left: 0;
	bottom: -2px;

	width: 0;
	height: 1px;

	background: currentColor;

	transition:
		width
		.42s
		cubic-bezier(.25, .46, .45, .94);
}


/* =========================================================
   CONTACT FORM
========================================================= */

.contact-page .form-contact {
	background: var(--color-background);
}


.contact-page .form-contact__conteiner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}


.contact-page .contact__wrap-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	width: 100%;

	row-gap: 1.5rem;
}


.contact-page .form__title {
	margin: 0;

	font-family: var(--font-heading);
	font-size: var(--text-3xl);
	font-weight: 400;
	font-style: normal;
	line-height: 1.2;

	text-align: center;

	color: var(--color-text);
}


.contact-page .form__descr {
	width: 60%;

	margin: 0;

	font-family: var(--font-body);
	font-size: var(--text-l);
	font-weight: 500;
	font-style: normal;
	font-variation-settings: "wght" 500;
	line-height: 1.6;

	text-align: center;

	color: var(--color-muted);
}


.contact-page .contact-col {
	position: relative;

	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;

	width: 70%;

	margin-top: 2rem;

	column-gap: 3rem;

	overflow: hidden;
}


.contact-page .contact__wrap-form,
.contact-page .contact-col-2 {
	display: flex;
	flex:
		1
		1
		0;

	flex-direction: column;
	align-items: center;
	justify-content: center;

	min-width: 0;
}


.contact-page .contact-form,
.contact-page .contact-form .wpcf7,
.contact-page .contact-form .wpcf7-form {
	width: 100%;
}


.contact-page .contact-form__field {
	width: 100%;

	margin-bottom: 20px;
}


.contact-page .contact-form__field--submit {
	margin-bottom: 0;
}


.contact-page .contact-form
.wpcf7-form-control-wrap {
	display: block;

	width: 100%;
}


.contact-page .contact-form input[type="text"],
.contact-page .contact-form input[type="email"],
.contact-page .contact-form input[type="tel"],
.contact-page .contact-form textarea {
	display: block;

	width: 100%;
	max-width: 100%;

	margin: 0;

	padding: 1.2rem;

	font-family: var(--font-body);
	font-size: var(--text-m);
	font-weight: 400;
	line-height: 1.6;

	color: var(--color-text);
	background: var(--color-card);

	border:
		1px
		solid
		var(--color-muted-soft);

	box-shadow: none;

	outline: none;

	transition:
		border-color
		.15s
		ease-in-out,
		box-shadow
		.15s
		ease-in-out;
}


.contact-page .contact-form input[type="text"],
.contact-page .contact-form input[type="email"],
.contact-page .contact-form input[type="tel"] {
	min-height: 61.8906px;

	line-height: 1;

	border-radius: 999rem;
}


.contact-page .contact-form textarea {
	min-height: 155.266px;

	line-height: 1.6;

	border-radius: 1rem;

	resize: vertical;
}


.contact-page .contact-form input::placeholder,
.contact-page .contact-form textarea::placeholder {
	font-family: var(--font-body);
	font-size: var(--text-m);
	font-weight: 400;

	color: var(--color-muted);

	opacity: .8;
}


.contact-page .contact-form input:focus,
.contact-page .contact-form textarea:focus {
	border-color: var(--color-primary);

	box-shadow:
		0
		0
		0
		3px
		rgba(197, 176, 135, .12);
}


.contact-page .contact-form .wpcf7-submit {
	position: relative;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;

	margin:
		.75rem
		0
		0;

	padding:
		1rem
		2rem;

	font-family: var(--font-body);
	font-size: var(--text-m);
	font-weight: 500;
	font-variation-settings: "wght" 500;
	line-height: 1.5;

	text-align: center;

	color: #ffffff;
	background: var(--color-primary);

	border:
		1px
		solid
		var(--color-primary);

	border-radius: 999rem;

	box-shadow: none;

	cursor: pointer;

	transition:
		transform
		.32s
		cubic-bezier(.25, .46, .45, .94),
		box-shadow
		.32s
		ease,
		letter-spacing
		.32s
		ease,
		background-color
		.3s
		ease;
}


.contact-page .contact-form .wpcf7-spinner {
	margin:
		12px
		auto
		0;
}


.contact-page .contact-form
.wpcf7-not-valid-tip {
	margin-top: .4rem;

	font-family: var(--font-body);
	font-size: var(--text-s);
	line-height: 1.4;
}


.contact-page .contact-form
.wpcf7-response-output {
	margin:
		1rem
		0
		0;

	padding:
		.75rem
		1rem;

	font-family: var(--font-body);
	font-size: var(--text-s);
	line-height: 1.5;

	border-radius: 1rem;
}


/* Photo */

.contact-page .contact-col-2,
.contact-page .contact__wrap-photo {
	width: 100%;
}


.contact-page .contact__wrap-photo {
	display: flex;
	flex-direction: column;
	align-items: flex-start;

	overflow: visible;

	border-radius: 1.5rem;

	filter:
		drop-shadow(
			0
			25px
			50px
			rgba(0, 0, 0, .18)
		);
}


.contact-page .contact__photo {
	display: block;

	width: 100%;

	aspect-ratio: 3 / 4;

	object-fit: cover;

	overflow: hidden;

	border-radius: 1.5rem;
}


/* =========================================================
   FAQ
========================================================= */

.contact-page .faqs__container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}


.contact-page .faqs__wrap-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	width: 100%;

	row-gap: 1.5rem;
}


.contact-page .faqs__title {
	margin: 0;

	font-family: var(--font-heading);
	font-size: var(--text-3xl);
	font-weight: 400;
	font-style: normal;
	line-height: 1.2;

	color: var(--color-text);
}


.contact-page .faqs__descr {
	margin: 0;

	font-family: var(--font-body);
	font-size: var(--text-l);
	font-weight: 500;
	font-variation-settings: "wght" 500;
	line-height: 1.6;

	text-align: center;

	color: var(--color-muted);
}


.contact-page .faqs__wrap-shema {
	display: flex;
	flex-direction: column;
	align-items: flex-start;

	width: 60%;

	margin-top: 1.5rem;
}


.contact-page .shema__faqs {
	width: 100%;
}


/* =========================================================
   FAQ ITEM
========================================================= */

.contact-page .accordion-item {
	width: 100%;

	margin: 0;
}


/* =========================================================
   QUESTION
========================================================= */

.contact-page .accordion-title-wrapper {
	display: block;

	width: 100%;

	margin-top: 1rem;

	padding:
		1rem
		2rem;

	font: inherit;

	text-align: left;

	color: var(--color-text);
	background: var(--color-background);

	border: 0;
	border-radius: 1rem;

	box-shadow:
		0
		2px
		4px
		rgba(0, 0, 0, .1);

	cursor: pointer;

	appearance: none;
	-webkit-appearance: none;

	transition:
		color
		.3s
		ease,
		border-radius
		.3s
		ease;
}


.contact-page .accordion-title {
	display: flex;

	align-items: center;
	justify-content: space-between;

	width: 100%;

	gap: 1rem;
}


.contact-page .accordion-title .title {
	flex:
		1
		1
		auto;

	margin: 0;

	font-family: var(--font-heading);
	font-size: var(--text-l);
	font-weight: 400;
	line-height: 1.35;

	color: inherit;
}


/* =========================================================
   ICON
========================================================= */

.contact-page .accordion-title .icon {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	flex:
		0
		0
		auto;

	width: 34px;
	height: 34px;

	color: var(--color-primary);

	transform:
		rotate(0deg);

	transition:
		transform
		.4s
		cubic-bezier(.25, .46, .45, .94);
}


.contact-page .accordion-title .icon svg {
	display: block;

	width: 30px;
	height: 30px;

	fill: none;

	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}


/* =========================================================
   ANSWER — CLOSED
========================================================= */

.contact-page .accordion-content-wrapper {
	display: grid;

	grid-template-rows: 0fr;

	padding:
		0
		2.5rem;

	font-family: var(--font-body);
	font-size: var(--text-m);
	font-weight: 400;
	line-height: 1.6;

	color: var(--color-text);
	background: var(--color-background);

	border-radius:
		0
		0
		1rem
		1rem;

	opacity: 0;

	transition:
		grid-template-rows
		.4s
		cubic-bezier(.25, .46, .45, .94),
		opacity
		.3s
		ease;
}


.contact-page .accordion-content-inner {
	min-height: 0;

	overflow: hidden;
}


.contact-page .accordion-content-body {
	padding:
		2rem
		0;
}


.contact-page .accordion-content-body p {
	margin:
		0
		0
		1rem;
}


.contact-page .accordion-content-body p:last-child {
	margin-bottom: 0;
}


/* =========================================================
   OPEN STATE
========================================================= */

.contact-page
.accordion-item.is-open
.accordion-title-wrapper {
	color: var(--color-muted);

	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}


.contact-page
.accordion-item.is-open
.accordion-content-wrapper {
	grid-template-rows: 1fr;

	opacity: 1;
}


.contact-page
.accordion-item.is-open
.accordion-title
.icon {
	transform:
		rotate(90deg);
}


/* =========================================================
   FOCUS
========================================================= */

.contact-page
.accordion-title-wrapper:focus-visible {
	outline:
		2px
		solid
		var(--color-primary);

	outline-offset: 3px;
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

	.contact-page .accordion-title-wrapper,
	.contact-page .accordion-title .icon,
	.contact-page .accordion-content-wrapper {
		transition: none;
	}

}


/* =========================================================
   CTA
========================================================= */

.contact-page .cta-bg {
	background: var(--color-primary);

	transition: none;
}


.contact-page .cta__container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}


.contact-page .cta__wrap-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	width: 100%;

	transition:
		transform
		.5s
		cubic-bezier(.25, .46, .45, .94);
}


.contact-page .cta__title-white {
	display: inline-block;

	margin:
		0
		0
		1rem;

	font-family: var(--font-heading);
	font-size: var(--text-3xl);
	font-weight: 400;
	font-style: normal;
	line-height: 1.2;

	text-align: center;

	color: #ffffff;

	cursor: default;

	transition:
		letter-spacing
		.45s
		cubic-bezier(.25, .46, .45, .94),
		opacity
		.45s
		ease;
}


.contact-page .cta__descr-white {
	width: 60%;

	margin:
		0
		0
		2rem;

	font-family: var(--font-body);
	font-size: var(--text-l);
	font-weight: 500;
	font-variation-settings: "wght" 500;
	line-height: 1.6;

	text-align: center;

	color: var(--color-muted-soft);

	opacity: .9;

	cursor: default;

	transition:
		opacity
		.4s
		ease,
		transform
		.4s
		cubic-bezier(.25, .46, .45, .94);
}


.contact-page .cta-bg .btn-book {
	color: var(--color-text);
	background: #ffffff;

	border-color: #ffffff;
}


/* =========================================================
   HOVER STATES
========================================================= */

@media (hover: hover) and (pointer: fine) {

	.contact-page .about__sub-text:hover {
		letter-spacing: .12em;

		opacity: .7;
	}


	.contact-page .about__sub-text:hover::after {
		width: 100%;
	}


	.contact-page .approach__hero-title:hover {
		letter-spacing: .03em;

		opacity: .88;
	}


	.contact-page .approsch__hero-descript:hover {
		opacity: 1;

		transform:
			translateX(5px);
	}


	.contact-page .abour-hero__container:hover {
		transform:
			translateY(-4px);
	}


	.contact-page .btn-book:hover {
		box-shadow:
			0
			14px
			36px
			rgba(0, 0, 0, .22);

		letter-spacing: .04em;

		transform:
			translateY(-4px);
	}


	.contact-page .btn-book:hover::before {
		transform:
			translateX(100%);
	}


	.contact-page .btn-large:hover {
		color: var(--color-text);
		background: var(--color-background);

		box-shadow:
			0
			10px
			28px
			rgba(0, 0, 0, .13);

		letter-spacing: .04em;

		transform:
			translateY(-4px);
	}


	.contact-page .btn-large:hover::after {
		transform:
			scaleY(1);
	}


	.contact-page .contact__contact-title:hover {
		letter-spacing: .03em;

		opacity: .88;
	}


	.contact-page .contact__card:hover {
		box-shadow:
			0
			16px
			40px
			rgba(0, 0, 0, .10);

		transform:
			translateY(-6px);
	}


	.contact-page .contact__card:hover
	.contact__card-bg-icon {
		transform:
			scale(1.12)
			rotate(-6deg);
	}


	.contact-page .contact__card:hover
	.contact__card-title {
		letter-spacing: .04em;

		opacity: .78;
	}


	.contact-page .contact__card-descr[href]:hover {
		letter-spacing: .03em;

		transform:
			translateX(5px);
	}


	.contact-page .contact__card-descr[href]:hover::after {
		width: 100%;
	}


	.contact-page .contact-form .wpcf7-submit:hover {
		box-shadow:
			0
			14px
			36px
			rgba(0, 0, 0, .18);

		letter-spacing: .03em;

		transform:
			translateY(-3px);
	}


	.contact-page .cta-bg
	.cta__title-white:hover {
		letter-spacing: .03em;

		opacity: .88;
	}


	.contact-page .cta-bg
	.cta__descr-white:hover {
		opacity: 1;

		transform:
			translateX(5px);
	}


	.contact-page .cta-bg
	.cta__wrap-content:hover {
		transform:
			translateY(-4px);
	}


	.contact-page .cta-bg
	.btn-book:hover {
		box-shadow:
			0
			14px
			36px
			rgba(0, 0, 0, .20);
	}
}


/* =========================================================
   ACTIVE STATES
========================================================= */

.contact-page .btn-book:active,
.contact-page .btn-large:active,
.contact-page .contact-form .wpcf7-submit:active {
	transform:
		translateY(1px);

	transition-duration: .08s;
}


.contact-page .btn-book:active,
.contact-page .contact-form .wpcf7-submit:active {
	box-shadow:
		0
		3px
		10px
		rgba(0, 0, 0, .14);
}


.contact-page .btn-large:active {
	box-shadow: none;
}


.contact-page .contact__card-descr[href]:active {
	transform:
		translateX(3px)
		scale(.98);

	transition-duration: .08s;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

	.contact-page .approach__hero-title {
		width: 90%;
	}


	.contact-page .contact__block-card {
		grid-template-columns:
			1fr
			1fr;
	}


	.contact-page .contact-col {
		width: 100%;
	}
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.contact-page .approach__hero,
	.contact-page .contact,
	.contact-page .form-contact,
	.contact-page .faqs,
	.contact-page .cta-bg {
		padding:
			4rem
			17px;
	}


	.contact-page .approsch__hero-descript,
	.contact-page .form__descr,
	.contact-page .faqs__wrap-shema,
	.contact-page .cta__descr-white {
		width: 80%;
	}


	.contact-page .hero__wrap-button {
		flex-direction: column;
	}


	.contact-page .contact__card {
		align-items: center;
	}


	.contact-page .contact__wrap-up-icon,
	.contact-page .contact__wrap-card-text {
		align-items: center;
	}


	.contact-page .contact__wrap-card-text {
		text-align: center;
	}


	.contact-page .contact-col {
		flex-direction: column;

		width: 100%;

		row-gap: 2rem;
		column-gap: 0;
	}
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 478px) {

	.contact-page .approach__hero-title {
		width: 100%;
	}


	.contact-page .approsch__hero-descript {
		width: 90%;
	}


	.contact-page .hero__wrap-button {
		width: 100%;
	}


	.contact-page .contact__block-card {
		grid-template-columns: 1fr;

		column-gap: 1rem;
		row-gap: 2rem;
	}


	.contact-page .contact__card {
		padding: 2rem;
	}


	.contact-page .form__descr {
		width: 100%;
	}


	.contact-page .faqs__wrap-shema {
		width: 90%;
	}


	.contact-page .cta__descr-white {
		width: 80%;
	}
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

	.contact-page .approach__hero,
	.contact-page .abour-hero__container,
	.contact-page .about__sub-text,
	.contact-page .about__sub-text::after,
	.contact-page .approach__hero-title,
	.contact-page .approsch__hero-descript,
	.contact-page .btn-book,
	.contact-page .btn-book::before,
	.contact-page .btn-large,
	.contact-page .btn-large::after,
	.contact-page .contact__contact-title,
	.contact-page .contact__card,
	.contact-page .contact__card-bg-icon,
	.contact-page .contact__card-title,
	.contact-page .contact__card-descr[href],
	.contact-page .contact__card-descr[href]::after,
	.contact-page .contact-form input,
	.contact-page .contact-form textarea,
	.contact-page .contact-form .wpcf7-submit,
	.contact-page .accordion-item,
	.contact-page .accordion-title .icon,
	.contact-page .accordion-content-wrapper,
	.contact-page .cta__wrap-content,
	.contact-page .cta__title-white,
	.contact-page .cta__descr-white {
		transition: none;
	}
}
