.eq-section{
	--eq-red:#D32F2F;
	--eq-red-dark:#B71C1C;
	--eq-ink:#111111;
	--eq-sub:#6B7280;
	--eq-paper:#FAF9F6;
	--eq-line:rgba(17,17,17,.12);
	--eq-wa:#25D366;
	--eq-wa-dark:#1DA851;
	padding:90px 24px;
	background:var(--eq-paper);
	font-family:'Inter',Arial,sans-serif;
	box-sizing:border-box;
}
.eq-section *{ box-sizing:border-box; }

.eq-wrap{
	max-width:1080px;
	margin:0 auto;
	display:grid;
	grid-template-columns:1fr 1.25fr;
	gap:0;
	background:#fff;
	border:1px solid var(--eq-line);
	border-radius:24px;
	overflow:hidden;
	box-shadow:0 30px 60px rgba(17,17,17,.07);
}

/* ---------- LEFT INFO PANEL ---------- */
.eq-info{
	background:var(--eq-ink);
	color:#fff;
	padding:52px 44px;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	position:relative;
	overflow:hidden;
}
.eq-info::before{
	content:"";
	position:absolute; inset:0;
	background:radial-gradient(circle at 100% 0%, rgba(211,47,47,.35), transparent 55%);
	pointer-events:none;
	z-index:0;
}
/* Content must sit above the decorative glow (::before is positioned, so it
   would otherwise paint on top of the plain in-flow text and wash it out). */
.eq-info > *{ position:relative; z-index:1; }
.eq-eyebrow{
	display:inline-flex; align-items:center; gap:8px;
	font-family:'Space Mono',monospace;
	font-size:11px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase;
	color:#ff8a80;
	margin-bottom:18px;
}
.eq-info h2{ margin:0 0 14px; font-size:29px; font-weight:800; letter-spacing:-.5px; line-height:1.25; color:#ffffff; }
.eq-info p{ margin:0; font-size:14px; line-height:1.7; color:rgba(255,255,255,.7); }

.eq-points{ list-style:none; margin:32px 0 0; padding:0; display:flex; flex-direction:column; gap:16px; }
.eq-points li{ display:flex; align-items:flex-start; gap:12px; font-size:13.5px; color:rgba(255,255,255,.85); }
.eq-points svg{ flex:0 0 auto; width:18px; height:18px; color:var(--eq-red); margin-top:1px; }

.eq-call{ position:relative; margin-top:38px; padding-top:26px; border-top:1px solid rgba(255,255,255,.14); }
.eq-call-label{ font-size:11.5px; color:rgba(255,255,255,.55); margin-bottom:6px; }
.eq-call-link{ display:inline-flex; align-items:center; gap:9px; font-size:18px; font-weight:700; color:#fff; text-decoration:none; }
.eq-call-link svg{ width:18px; height:18px; color:var(--eq-red); }

/* ---------- FORM ---------- */
.eq-form-wrap{ padding:52px 48px; }
.eq-form-wrap h3{ margin:0 0 6px; font-size:21px; font-weight:800; color:var(--eq-ink); }
.eq-form-wrap > p{ margin:0 0 30px; font-size:13.5px; color:var(--eq-sub); }

#eqForm{ display:flex; flex-wrap:wrap; gap:0 16px; }
.eq-field{ position:relative; margin-bottom:20px; width:100%; }
.eq-field--half{ width:calc(50% - 8px); }

.eq-field input,
.eq-field select,
.eq-field textarea{
	width:100%;
	font-family:inherit;
	font-size:14.5px;
	color:var(--eq-ink);
	background:#fff;
	border:1.5px solid var(--eq-line);
	border-radius:10px;
	padding:20px 16px 8px;
	outline:none;
	transition:border-color .2s ease, box-shadow .2s ease;
	appearance:none;
	-webkit-appearance:none;
}
.eq-field textarea{ resize:vertical; min-height:80px; padding-top:20px; }
.eq-field select{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%236B7280' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 16px center;
	padding-right:38px;
}
.eq-field input:focus,
.eq-field select:focus,
.eq-field textarea:focus{
	border-color:var(--eq-red);
	box-shadow:0 0 0 4px rgba(211,47,47,.09);
}
.eq-field label{
	position:absolute;
	left:16px; top:16px;
	font-size:14.5px;
	color:#9CA3AF;
	pointer-events:none;
	transition:transform .15s ease, font-size .15s ease, color .15s ease, top .15s ease;
	transform-origin:left top;
	background:#fff;
	padding:0 4px;
	max-width:calc(100% - 24px);
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.eq-field input:focus + label,
.eq-field input:not(:placeholder-shown) + label,
.eq-field select:focus + label,
.eq-field select.eq-has-value + label,
.eq-field textarea:focus + label,
.eq-field textarea:not(:placeholder-shown) + label{
	top:-8px;
	font-size:11px;
	font-weight:700;
	letter-spacing:.3px;
	color:var(--eq-red);
	white-space:normal;
}
.eq-field.eq-has-error input,
.eq-field.eq-has-error select,
.eq-field.eq-has-error textarea{
	border-color:var(--eq-red);
	animation:eqShake .32s ease;
}
.eq-error-msg{ display:none; align-items:center; gap:5px; margin-top:6px; font-size:11.5px; color:var(--eq-red-dark); font-weight:600; }
.eq-field.eq-has-error .eq-error-msg{ display:flex; }

/* Dropdown (select) fields: a floating overlay label can visually clash
   with the chosen option text, so selects get a plain static label above
   the box instead — this keeps the selected value fully readable. */
.eq-field[data-type="select"]{ padding-top:20px; }
.eq-field[data-type="select"] label{
	position:absolute !important;
	left:0 !important;
	top:0 !important;
	font-size:11px !important;
	font-weight:700;
	letter-spacing:.3px;
	color:var(--eq-red) !important;
	background:none !important;
	padding:0 !important;
	max-width:100%;
	white-space:normal !important;
}
.eq-field[data-type="select"] select{
	height:52px;
	line-height:52px;
	padding:0 38px 0 16px;
}

@keyframes eqShake{
	0%,100%{ transform:translateX(0); }
	25%{ transform:translateX(-5px); }
	75%{ transform:translateX(5px); }
}

.eq-submit{
	width:100%;
	display:flex; align-items:center; justify-content:center; gap:10px;
	padding:16px 20px;
	background:var(--eq-wa);
	color:#fff;
	border:0;
	border-radius:12px;
	font-family:inherit;
	font-size:15px;
	font-weight:700;
	cursor:pointer;
	transition:background .2s ease, transform .15s ease, box-shadow .2s ease;
	box-shadow:0 12px 24px rgba(37,211,102,.25);
}
.eq-submit svg{ width:20px; height:20px; flex:0 0 auto; }
.eq-submit:hover{ background:var(--eq-wa-dark); transform:translateY(-2px); }
.eq-submit:active{ transform:translateY(0); }
.eq-submit:disabled{ opacity:.7; cursor:default; transform:none; }

.eq-submit .eq-spinner{
	width:16px; height:16px;
	border:2px solid rgba(255,255,255,.4);
	border-top-color:#fff;
	border-radius:50%;
	display:none;
	animation:eqSpin .7s linear infinite;
}
.eq-submit.eq-loading .eq-spinner{ display:inline-block; }
.eq-submit.eq-loading .eq-submit-label{ display:none; }
@keyframes eqSpin{ to{ transform:rotate(360deg); } }

.eq-privacy{ margin:14px 0 0; font-size:11.5px; color:#9CA3AF; text-align:center; line-height:1.6; }

.eq-fallback{ display:none; margin-top:14px; text-align:center; font-size:13px; width:100%; }
.eq-fallback.eq-show{ display:block; }
.eq-fallback a{ color:var(--eq-red); font-weight:700; text-decoration:none; border-bottom:1.5px solid rgba(211,47,47,.35); }

.eq-success{
	display:none;
	width:100%;
	margin-top:14px;
	padding:12px 14px;
	border-radius:10px;
	background:rgba(37,211,102,.1);
	color:var(--eq-wa-dark);
	font-size:13px;
	font-weight:600;
	text-align:center;
}
.eq-success.eq-show{ display:block; }

/* ============ RESPONSIVE ============ */
@media (max-width:860px){
	.eq-wrap{ grid-template-columns:1fr; border-radius:20px; }
	.eq-info{ padding:40px 30px; }
	.eq-form-wrap{ padding:40px 26px 44px; }
}
@media (max-width:480px){
	.eq-section{ padding:56px 14px; }
	.eq-field--half{ width:100%; }
	.eq-info h2{ font-size:24px; }
}
