.ib-application-form-wrap {
	--ib-primary: #c5394e;
	--ib-primary-dark: #98263a;
	--ib-ink: #1c0b10;
	--ib-muted: #75696d;
	--ib-line: #eadfe2;
	max-width: 780px;
	margin: 30px auto;
	color: var(--ib-ink);
	font-family: inherit;
}
.ib-application-form,
.ib-application-message {
	box-sizing: border-box;
	border: 1px solid var(--ib-line);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 18px 50px rgba(28,11,16,.09);
}
.ib-application-form { padding: clamp(22px,4vw,42px); }
.ib-application-form * { box-sizing: border-box; }
.ib-application-head { margin-bottom: 26px; }
.ib-application-head > span { color: var(--ib-primary); font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.ib-application-head h3 { margin: 6px 0 7px; color: var(--ib-ink); font-size: clamp(24px,4vw,34px); line-height: 1.15; }
.ib-application-head p { margin: 0; color: var(--ib-muted); }
.ib-application-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; }
.ib-application-grid label { display: block; }
.ib-application-grid label.is-full { grid-column: 1 / -1; }
.ib-application-grid label > span { display: block; margin-bottom: 7px; font-size: 13px; font-weight: 700; }
.ib-application-grid input,
.ib-application-grid select,
.ib-application-grid textarea {
	width: 100%;
	min-height: 46px;
	margin: 0;
	padding: 10px 13px;
	border: 1px solid #d9cdd0;
	border-radius: 10px;
	background: #fff;
	color: var(--ib-ink);
	font: inherit;
}
.ib-application-grid textarea { min-height: 120px; resize: vertical; }
.ib-application-grid input:focus,
.ib-application-grid select:focus,
.ib-application-grid textarea:focus { border-color: var(--ib-primary); outline: 0; box-shadow: 0 0 0 3px rgba(197,57,78,.12); }
.ib-application-consent { display: flex; align-items: flex-start; gap: 10px; margin: 20px 0; color: var(--ib-muted); font-size: 12px; line-height: 1.55; }
.ib-application-consent input { flex: 0 0 auto; margin-top: 3px; }
.ib-application-form button {
	width: 100%;
	min-height: 50px;
	border: 0;
	border-radius: 11px;
	background: linear-gradient(135deg,var(--ib-primary),var(--ib-primary-dark));
	color: #fff;
	font: inherit;
	font-weight: 800;
	letter-spacing: .035em;
	cursor: pointer;
	box-shadow: 0 10px 24px rgba(197,57,78,.22);
}
.ib-application-form button:hover { transform: translateY(-1px); }
.ib-application-trap { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.ib-application-message { padding: 22px 24px; }
.ib-application-message strong,
.ib-application-message span { display: block; }
.ib-application-message span { margin-top: 4px; }
.ib-application-message.is-success { border-color: #b8e3d0; background: #eefaf4; color: #176b46; }
.ib-application-message.is-error { border-color: #f0c7ce; background: #fff1f3; color: #9e293b; }
@media (max-width: 640px) {
	.ib-application-grid { grid-template-columns: 1fr; }
	.ib-application-grid label.is-full { grid-column: auto; }
}
