.vf-card{
	background:#f7f7f7;
	border-radius:28px;
	padding:34px 28px;
	min-height:520px;
	box-shadow:0 12px 30px rgba(0,0,0,.08);
	display:block;
}

.vf-header{
	margin-bottom:18px;
}

.vf-title{
	margin:0 0 8px;
	font-size:28px;
	line-height:1.2;
	color:#0b4a93;
	font-weight:800;
}

.vf-intro{
	margin:0;
	color:#4b5563;
	font-size:15px;
	line-height:1.6;
}

.vf-form{
	width:100%;
}

.vf-row{
	margin-bottom:18px;
}

.vf-row label{
	display:block;
	margin-bottom:8px;
	font-weight:700;
	color:#0b4a93;
	font-size:15px;
}

.vf-row input[type="text"],
.vf-row input[type="email"],
.vf-row input[type="url"],
.vf-row textarea{
	width:100%;
	border:1px solid rgba(10,75,155,.18);
	border-radius:16px;
	padding:14px 16px;
	font-size:15px;
	background:#fff;
	color:#1f2a37;
	box-sizing:border-box;
	outline:none;
	transition:border-color .2s ease, box-shadow .2s ease;
}

.vf-row input:focus,
.vf-row textarea:focus{
	border-color:#0a4b9b;
	box-shadow:0 0 0 4px rgba(10,75,155,.10);
}

.vf-row textarea{
	resize:vertical;
	min-height:150px;
}

.vf-check-row{
	margin-top:-6px;
}

.vf-check{
	display:flex !important;
	align-items:flex-start;
	gap:10px;
	font-weight:500 !important;
	color:#334155 !important;
	line-height:1.5;
	margin-bottom:0 !important;
}

.vf-check input{
	margin-top:3px;
	flex:0 0 auto;
}

.vf-button{
	width:100%;
	border:none;
	border-radius:16px;
	padding:15px 20px;
	background:linear-gradient(180deg, #1b75d0 0%, #0a4b9b 100%);
	color:#fff;
	font-size:16px;
	font-weight:700;
	cursor:pointer;
	box-shadow:0 10px 24px rgba(10,75,155,.25);
	transition:transform .15s ease, box-shadow .15s ease;
}

.vf-button:hover{
	transform:translateY(-1px);
	box-shadow:0 12px 28px rgba(10,75,155,.30);
}

.vf-message{
	margin:0 0 18px;
	padding:14px 16px;
	border-radius:16px;
	font-weight:600;
}

.vf-success{
	background:#e8f7ea;
	color:#1d6b2f;
	border:1px solid rgba(29,107,47,.15);
}

.vf-error{
	background:#fdecec;
	color:#a12626;
	border:1px solid rgba(161,38,38,.15);
}

.vf-honeypot{
	position:absolute !important;
	left:-9999px !important;
	top:auto !important;
	width:1px !important;
	height:1px !important;
	overflow:hidden !important;
}

@media (max-width: 768px){
	.vf-card{
		min-height:auto;
		padding:24px 18px;
		border-radius:22px;
	}

	.vf-title{
		font-size:24px;
	}
}
