/* Formulario de contacto (válido en la landing y en el blog). */
.rich-contact { margin: 10px 0 20px; font-family: inherit; }
.rich-contact__card {
	position: relative;
	padding: 34px 32px 28px;
	overflow: hidden;
	border: 1px solid #e3e9f0;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 12px 32px rgba(20, 38, 60, .08);
}
.rich-contact__card::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 5px;
	background: linear-gradient(90deg, #1177CC, #FFB200);
}
.rich-contact__title { margin: 0 0 4px; color: #1f2d3d; font-size: 22px; font-weight: 700; }
.rich-contact__text { margin: 0 0 20px; color: #666; font-size: 15px; }
.rich-contact__form { display: grid; gap: 14px; }
.rich-contact__row { display: grid; gap: 14px; }
@media (min-width: 640px) { .rich-contact__row { grid-template-columns: 1fr 1fr; } }
.rich-contact__field { display: flex; flex-direction: column; gap: 6px; color: #1f2d3d; font-size: 14px; font-weight: 600; }
.rich-contact__field input,
.rich-contact__field textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid #d5dde6;
	border-radius: 10px;
	background: #f9fbfd;
	color: #1f2d3d;
	font: 400 15px/1.5 inherit;
	font-family: inherit;
	transition: border-color .2s, box-shadow .2s, background-color .2s;
}
.rich-contact__field input:focus,
.rich-contact__field textarea:focus { border-color: #1177CC; outline: none; background: #fff; box-shadow: 0 0 0 3px rgba(17, 119, 204, .18); }
.rich-contact__field textarea { resize: vertical; min-height: 140px; }
.rich-contact__consent { display: flex; gap: 10px; align-items: flex-start; color: #555; font-size: 14px; }
.rich-contact__consent input { margin-top: 4px; }
.rich-contact__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 15px 20px;
	border: 0;
	border-radius: 999px;
	background: #1177CC;
	color: #fff;
	font: 700 15px/1.2 inherit;
	font-family: inherit;
	letter-spacing: .3px;
	cursor: pointer;
	transition: background-color .25s, transform .25s;
}
.rich-contact__submit:hover { background: #0058C4; transform: translateY(-1px); }
.rich-contact__submit:disabled { opacity: .7; cursor: wait; }
.rich-contact__submit svg { width: 18px; height: 18px; }
.rich-contact__note { margin: 0; color: #8a8a8a; font-size: 13px; text-align: center; }
.rich-contact__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.rich-contact__notice { margin: 0 0 16px; padding: 12px 16px; border-radius: 10px; font-size: 14px; font-weight: 600; }
.rich-contact__notice--ok { background: #e9f7ef; color: #1e7a3d; }
.rich-contact__notice--error { background: #fdecea; color: #b3261e; }
