.contact-page {
	padding: 80px 280px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 48px;
}
.contact-page__heading { text-align: center; }
.contact-page__heading h1 {
	font-family: var(--wp--preset--font-family--lexend-exa);
	font-weight: 700;
	font-size: 38px;
	line-height: 1.5;
	letter-spacing: -0.09em;
	color: var(--wp--preset--color--grey-700);
	margin: 0 0 16px;
}
.contact-page__heading p {
	font-family: var(--wp--preset--font-family--lexend-exa);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.7;
	letter-spacing: -0.09em;
	color: var(--wp--preset--color--grey-500);
	margin: 0;
	max-width: 638px;
}

/* Form */
.contact-form {
	width: 100%;
	max-width: 640px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.contact-form__row {
	display: flex;
	gap: 16px;
}
.contact-form__row > .contact-form__field { flex: 1; }
.contact-form__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.contact-form__field label {
	font-family: var(--wp--preset--font-family--lexend-exa);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: -0.07em;
	color: var(--wp--preset--color--grey-700);
}
.contact-form__field input,
.contact-form__field textarea {
	padding: 12px 16px;
	border: 1.5px solid var(--wp--preset--color--grey-200);
	border-radius: 12px;
	font-family: var(--wp--preset--font-family--lexend-exa);
	font-size: 14px;
	letter-spacing: -0.07em;
	color: var(--wp--preset--color--grey-700);
	transition: border-color 0.2s;
}
.contact-form__field input:focus,
.contact-form__field textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--blue-400);
}
.contact-form__field textarea { resize: vertical; min-height: 100px; }
.contact-form__submit {
	align-self: flex-start;
	padding: 12px 24px;
	border: none;
	border-radius: 80px;
	background: var(--wp--preset--color--apricot-200);
	color: var(--wp--preset--color--grey-700);
	font-family: var(--wp--preset--font-family--lexend-exa);
	font-weight: 700;
	font-size: 14px;
	letter-spacing: -0.09em;
	cursor: pointer;
	transition: background 0.2s;
}
.contact-form__submit:hover { background: var(--wp--preset--color--apricot-300); }
.contact-form__submit:disabled { opacity: 0.6; cursor: wait; }
.contact-form__consent {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-family: var(--wp--preset--font-family--lexend-exa);
	font-size: 13px;
	letter-spacing: -0.07em;
	color: var(--wp--preset--color--grey-400);
	line-height: 1.5;
	cursor: pointer;
}
.contact-form__consent input { margin-top: 3px; flex-shrink: 0; }
.contact-form__consent a { color: var(--wp--preset--color--blue-400); text-decoration: underline; }
.contact-form__error,
.contact-form__success { display: none; font-family: var(--wp--preset--font-family--lexend-exa); font-size: 14px; letter-spacing: -0.07em; }
.contact-form__error { color: #c62828; }
.contact-form__success { color: #2e7d32; font-weight: 600; }

/* Contact info row */
.contact-page__info {
	width: 100%;
	max-width: 1032px;
	display: flex;
	gap: 32px;
}
.contact-page__info-card {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 20px 24px;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 4px 24px rgba(0,0,0,0.06);
}
.contact-page__info-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.contact-page__info-title {
	font-family: var(--wp--preset--font-family--lexend-exa);
	font-weight: 700;
	font-size: 14px;
	letter-spacing: -0.07em;
	color: var(--wp--preset--color--grey-700);
}
.contact-page__info-sub {
	font-family: var(--wp--preset--font-family--lexend-exa);
	font-weight: 400;
	font-size: 13px;
	letter-spacing: -0.07em;
	color: var(--wp--preset--color--grey-400);
}

/* Agency */
.contact-page__agency {
	width: 100%;
	max-width: 1032px;
}

@media (max-width: 1440px) {
	.contact-page {
		padding-left: max(24px, calc((100vw - 1032px) / 2));
		padding-right: max(24px, calc((100vw - 1032px) / 2));
	}
}
@media (max-width: 1024px) {
	.contact-page { padding: 48px 16px; gap: 32px; }
	.contact-page__heading h1 { font-size: 28px; }
	.contact-form__row { flex-direction: column; gap: 20px; }
	.contact-page__info { flex-direction: column; }
}
