/* Block: Contact (coach card + form) */
.vx-contact { padding-top: calc(93 * var(--u)); }
.vx-contact__grid { display: grid; grid-template-columns: calc(588 * var(--u)) 1fr; gap: calc(20 * var(--u)); }

.vx-contact__card { display: flex; flex-direction: column; align-items: center; min-height: calc(768 * var(--u)); padding: calc(54 * var(--u)) calc(48 * var(--u)) calc(57 * var(--u)); border-radius: calc(30 * var(--u)); background: var(--vx-black) url("../../assets/img/contact-card.webp") center / cover no-repeat; color: #fff; text-align: center; }
.vx-contact__photo { width: calc(275.4 * var(--u)); height: calc(341 * var(--u)); border-radius: calc(57.28 * var(--u)); overflow: hidden; background: linear-gradient(1.67deg, #cbc82b 24.16%, #fff 69.82%); }
.vx-contact__photo img { width: 100%; height: 100%; object-fit: cover; }
.vx-contact__card-heading { margin-top: calc(46 * var(--u)); font-family: var(--vx-font-head); font-weight: 600; font-size: calc(40 * var(--u)); line-height: calc(59 / 40); letter-spacing: -0.05em; }
.vx-contact__card-text { max-width: calc(467 * var(--u)); margin-top: calc(14 * var(--u)); font-size: calc(25 * var(--u)); line-height: 1.4; letter-spacing: -0.05em; }
.vx-contact__card .vx-btn { margin-top: auto; }

.vx-contact__form-card { padding: calc(51 * var(--u)) calc(51 * var(--u)) calc(57 * var(--u)); border-radius: calc(30 * var(--u)); background: #fff; }
.vx-contact__form-card .vx-eyebrow { margin-left: calc(-5 * var(--u)); }
.vx-contact__form-card .vx-h2 { margin: calc(12 * var(--u)) 0 0 calc(-5 * var(--u)); }

.vx-form { display: grid; grid-template-columns: 1fr 1fr; gap: calc(16 * var(--u)) calc(16.8 * var(--u)); margin-top: calc(27 * var(--u)); }
.vx-form__hp { position: absolute; left: -9999px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.vx-form__field { position: relative; }
.vx-form__field--full, .vx-form__submit, .vx-form__status { grid-column: 1 / -1; }
.vx-form input:not([type="hidden"]), .vx-form textarea { display: block; width: 100%; height: calc(62 * var(--u)); padding: 0 calc(56 * var(--u)) 0 calc(20 * var(--u)); border: 2px solid transparent; border-radius: calc(20 * var(--u)); background: var(--vx-bg); color: #131316; font-family: var(--vx-font-body); font-weight: 400; font-size: calc(18 * var(--u)); letter-spacing: -0.05em; outline: 0; transition: border-color .2s; }
.vx-form textarea { height: calc(312 * var(--u)); padding: calc(28 * var(--u)) calc(27 * var(--u)); border-radius: calc(30 * var(--u)); resize: vertical; }
.vx-form ::placeholder { color: #131316; opacity: 1; }
.vx-form input:focus, .vx-form textarea:focus { border-color: var(--vx-blue); }
.vx-form .is-invalid { border-color: #c0392b; }
.vx-form__field img { position: absolute; right: calc(21 * var(--u)); top: 50%; width: calc(22 * var(--u)); height: calc(22 * var(--u)); transform: translateY(-50%); pointer-events: none; }
.vx-form .vx-form__submit { position: relative; justify-content: center; width: 100%; margin-top: calc(-2 * var(--u)); cursor: pointer; }
.vx-form__submit .vx-btn__icon { position: absolute; right: calc(7 * var(--u)); }
.vx-form__submit[disabled] { opacity: .6; cursor: wait; }
.vx-form__status:empty { display: none; }
.vx-form__status { font-size: calc(18 * var(--u)); color: var(--vx-blue); }
.vx-form__status.is-error { color: #c0392b; }

@media (max-width: 1099.98px) {
	.vx-contact { padding-top: calc(33 * var(--u)); }
	.vx-contact__grid { grid-template-columns: 1fr; gap: calc(20 * var(--u)); }
	.vx-contact__card { min-height: calc(472.8 * var(--u)); padding: calc(33 * var(--u)) calc(30 * var(--u)) calc(46 * var(--u)); }
	.vx-contact__photo { width: calc(169.5 * var(--u)); height: calc(210 * var(--u)); border-radius: calc(30 * var(--u)); }
	.vx-contact__card-heading { margin-top: calc(28 * var(--u)); font-size: calc(20 * var(--u)); line-height: calc(36.3 / 20); }
	.vx-contact__card-text { max-width: calc(249 * var(--u)); margin-top: calc(8 * var(--u)); font-size: calc(12 * var(--u)); line-height: calc(20 / 12); }

	.vx-contact__form-card { padding: calc(29 * var(--u)) calc(26 * var(--u)) calc(31 * var(--u)); }
	.vx-contact__form-card .vx-eyebrow, .vx-contact__form-card .vx-h2 { margin-left: 0; }
	.vx-contact__form-card .vx-h2 { margin-top: calc(10 * var(--u)); }
	.vx-form { grid-template-columns: 1fr; gap: calc(15 * var(--u)); margin-top: calc(20 * var(--u)); }
	.vx-form input:not([type="hidden"]), .vx-form textarea { height: calc(50 * var(--u)); border-radius: calc(15 * var(--u)); font-size: calc(18 * var(--u)); }
	.vx-form textarea { height: calc(205 * var(--u)); border-radius: calc(30 * var(--u)); }
	.vx-form__submit { height: calc(33 * var(--u)); margin-top: 0; }
	.vx-form__submit .vx-btn__icon { right: calc(3.83 * var(--u)); }
	.vx-form__status { font-size: calc(12 * var(--u)); }
}
