.yp-contact-page-body,
.yp-contact-page-body #page,
.yp-contact-page-body .site-content,
.yp-contact-page-body .content-area {
	background: #151b1f;
}

.yp-contact-page-body .site.grid-container,
.yp-contact-page-body .site-content,
.yp-contact-page-body .content-area {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.yp-contact-page-body .site-main {
	margin: 0;
}

.yp-contact-page {
	min-height: 100vh;
	padding: 0 0 112px;
	background: #151b1f;
	color: #fff;
}

.yp-contact-page .yp-inner-hero {
	text-align: left;
}

.yp-contact-page .yp-inner-hero h1 {
	max-width: 900px;
	margin: 16px 0 20px;
	font-size: clamp(54px, 7vw, 100px);
	text-align: left;
}

.yp-contact-page__phone {
	display: inline-block;
	margin-top: 12px;
	color: var(--color-yellow);
	font-size: 32px;
	font-weight: 700;
	text-decoration: none;
}

.yp-contact-page__phone:hover { text-decoration: underline; }

.yp-contact-page__inner {
	width: min(100% - 48px, 1440px);
	margin-inline: auto;
}

.yp-contact-page h1 {
	margin: 0 0 20px;
	color: #fff;
	font-family: "Manrope", Arial, sans-serif;
	font-size: clamp(44px, 5vw, 76px);
	font-weight: 800;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
}

.yp-contact-page__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 584px);
	align-items: center;
	gap: clamp(16px, 3vw, 48px);
	margin-top: 72px;
}

.yp-contact-page__visual {
	min-width: 0;
}

.yp-contact-page__visual object,
.yp-contact-page__visual img {
	display: block;
	width: 112%;
	height: auto;
}

.yp-contact-page__visual object {
	aspect-ratio: 980 / 560;
	border: 0;
	pointer-events: none;
	transform: translateX(-5%);
}

.yp-contact-page__form,
.yp-contact-page__form .wpcf7,
.yp-contact-page__form .yp-contact-form {
	width: 100%;
	max-width: none;
}

.yp-contact-page__call {
	text-align: center;
}

.yp-contact-page__call h2 {
	margin: 0 0 16px;
	color: #fff;
	font-family: "Manrope", Arial, sans-serif;
	font-size: clamp(26px, 3vw, 40px);
	font-weight: 700;
}

.yp-contact-page__call a {
	color: var(--color-yellow);
	font-size: clamp(25px, 3vw, 42px);
	font-weight: 700;
	text-decoration: none;
}

.yp-contact-page__call a:hover,
.yp-contact-page__call a:focus-visible {
	text-decoration: underline;
}

@media (max-width: 900px) {
	.yp-contact-page { padding-bottom: 72px; }
	.yp-contact-page__grid { grid-template-columns: 1fr; gap: 40px; margin-top: 48px; }
	.yp-contact-page__visual { width: min(100%, 600px); margin-inline: auto; }
	.yp-contact-page__visual object, .yp-contact-page__visual img { width: 100%; transform: none; }
	.yp-contact-page__form { width: min(100%, 584px); margin-inline: auto; }
}
