/* BIF — Connect With An Expert. Inner content only (no header/footer). Tokens from clever-design-tokens. */
.bif-connect {
	container-type: inline-size;
	font-family: var(--clvr-font, "Poppins", sans-serif);
	color: var(--clvr-text, #22293b);
	background: var(--clvr-bg-subtle, #f5f8fc); /* soft band so the white form card is the focal point */
	padding: var(--clvr-sp-10, 40px) var(--clvr-sp-4, 16px) var(--clvr-sp-12, 48px);
}
.bif-connect *,
.bif-connect *::before,
.bif-connect *::after { box-sizing: border-box; }

.bif-connect__inner {
	max-width: var(--clvr-wide-width, 1144px);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--clvr-sp-8, 32px);
	align-items: start; /* intro pins to the top instead of floating mid-card */
}
@container (min-width: 820px) {
	.bif-connect__inner { grid-template-columns: 1.05fr 0.95fr; gap: var(--clvr-sp-12, 48px); }
}

/* Intro */
.bif-connect__eyebrow {
	display: inline-block;
	font-size: 0.6875rem; font-weight: var(--clvr-weight-bold, 700);
	letter-spacing: 0.1em; text-transform: uppercase;
	color: var(--clvr-orange-dark, #C3862A);
	background: rgba(219, 164, 80, 0.14);
	border: 1px solid rgba(219, 164, 80, 0.45);
	padding: 6px 12px; border-radius: var(--clvr-radius-sm, 4px);
	margin-bottom: var(--clvr-sp-4, 16px);
}
.bif-connect__heading {
	font-family: var(--clvr-font-heading, "Poppins", sans-serif);
	font-size: clamp(1.6rem, 3.4vw, 2.35rem); line-height: 1.15;
	font-weight: var(--clvr-weight-bold, 700);
	color: var(--clvr-blue, #14244A); margin: 0;
	letter-spacing: -0.01em;
}
.bif-connect__sub {
	margin: var(--clvr-sp-4, 16px) 0 0;
	font-size: 1rem; line-height: 1.65;
	color: var(--clvr-text-secondary, #4b698b); max-width: 44ch;
}
.bif-connect__trust {
	list-style: none; padding: 0; margin: var(--clvr-sp-5, 20px) 0 0;
	display: grid; gap: 10px;
}
.bif-connect__trust li {
	position: relative; padding-left: 28px;
	font-size: 0.95rem; color: var(--clvr-blue, #14244A); font-weight: var(--clvr-weight-semibold, 600);
}
.bif-connect__trust li::before {
	content: ""; position: absolute; left: 0; top: 2px; width: 18px; height: 18px; border-radius: 9999px;
	background: var(--clvr-orange, #DBA450) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314244A' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>") center / 62% no-repeat;
}

/* Card */
.bif-connect__card {
	background: var(--clvr-bg, #fff);
	border: 1px solid var(--clvr-border-light, #e2e8f0);
	border-radius: var(--clvr-radius, 8px);
	box-shadow: var(--clvr-shadow-lg);
	padding: var(--clvr-sp-8, 32px) var(--clvr-sp-6, 24px);
}
.bif-connect__form-title {
	font-family: var(--clvr-font-heading, "Poppins", sans-serif);
	font-size: 1.25rem; font-weight: var(--clvr-weight-bold, 700);
	color: var(--clvr-blue, #14244A); margin: 0; position: relative; padding-top: 14px;
}
.bif-connect__form-title::before {
	content: ""; position: absolute; top: 0; left: 0;
	width: 44px; height: 4px; border-radius: 2px; background: var(--clvr-orange, #DBA450);
}
.bif-connect__lede { font-size: 0.85rem; color: var(--clvr-text-muted, #86a5c6); margin: 6px 0 var(--clvr-sp-6, 24px); }

.bif-connect__grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--clvr-sp-3, 12px); }
@container (max-width: 480px) { .bif-connect__grid2 { grid-template-columns: 1fr; } }
.bif-connect__field { margin-bottom: var(--clvr-sp-3, 12px); }
.bif-connect__field label,
.bif-connect__label { display: block; font-size: 0.78rem; font-weight: var(--clvr-weight-semibold, 600); color: var(--clvr-text-secondary, #4b698b); margin-bottom: 5px; }

.bif-connect__field input[type="text"],
.bif-connect__field input[type="tel"],
.bif-connect__field input[type="email"],
.bif-connect__field select {
	width: 100%; padding: 10px 12px;
	border: 1.5px solid var(--clvr-border, #bfcbde); border-radius: var(--clvr-radius, 8px);
	font: inherit; font-size: 0.9rem; line-height: 1.6;
	background: var(--clvr-bg, #fff); color: var(--clvr-text, #22293b);
	transition: border-color var(--clvr-transition, 200ms ease), box-shadow var(--clvr-transition, 200ms ease);
}
.bif-connect__field input::placeholder { color: var(--clvr-text-muted, #86a5c6); }
.bif-connect__field input:hover,
.bif-connect__field select:hover { box-shadow: var(--clvr-shadow); }
.bif-connect__field input:focus,
.bif-connect__field select:focus {
	outline: 2px solid var(--clvr-orange, #DBA450); outline-offset: -2px;
	border-color: var(--clvr-orange, #DBA450); box-shadow: none;
}

/* Segmented purpose control */
.bif-connect__seg { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.bif-connect__seg input { position: absolute; opacity: 0; pointer-events: none; }
.bif-connect__seg label {
	margin: 0; text-align: center; cursor: pointer;
	border: 1.5px solid var(--clvr-border, #bfcbde); border-radius: var(--clvr-radius, 8px);
	padding: 10px 6px; font-size: 0.8rem; font-weight: var(--clvr-weight-normal, 400);
	color: var(--clvr-text-secondary, #4b698b);
	transition: border-color var(--clvr-transition), background var(--clvr-transition);
}
.bif-connect__seg input:checked + label {
	border-color: var(--clvr-orange, #DBA450); background: rgba(219, 164, 80, 0.12);
	color: var(--clvr-blue, #14244A); font-weight: var(--clvr-weight-semibold, 600);
}
.bif-connect__seg input:focus-visible + label { outline: 2px solid var(--clvr-orange, #DBA450); outline-offset: 2px; }

/* Consent */
.bif-connect__consent {
	display: flex; gap: 10px; align-items: flex-start;
	margin: var(--clvr-sp-4, 16px) 0 var(--clvr-sp-1, 4px);
	padding: 13px 14px; border: 1px solid var(--clvr-border-light, #e2e8f0);
	border-radius: var(--clvr-radius, 8px); background: var(--clvr-bg-subtle, #f5f8fc); cursor: pointer;
}
/* Visible checkbox: the site theme strips the native look (appearance:none), so a ticked box looked empty. */
.bif-connect .bif-connect__consent input[type="checkbox"] {
	-webkit-appearance: none; appearance: none; flex: none;
	width: 20px; height: 20px; min-width: 20px; max-width: 20px; margin: 2px 0 0; padding: 0;
	border: 2px solid var(--clvr-blue, #14244A); border-radius: 5px; background-color: #fff; cursor: pointer;
}
.bif-connect .bif-connect__consent input[type="checkbox"]:checked {
	background-color: var(--clvr-blue, #14244A);
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>");
	background-position: center; background-repeat: no-repeat; background-size: 80%;
}
.bif-connect .bif-connect__consent input[type="checkbox"]:focus-visible { outline: 2px solid var(--clvr-orange, #DBA450); outline-offset: 2px; }
.bif-connect__consent-text { font-size: 0.68rem; line-height: 1.45; color: var(--clvr-text-secondary, #4b698b); }
.bif-connect__consent-text a { color: var(--clvr-blue, #14244A); font-weight: var(--clvr-weight-semibold, 600); }

/* Honeypot — off-screen trap for bots; never shown to humans */
.bif-connect__hp { position: absolute !important; left: -9999px !important; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* CTA — pill, gold, navy label (never white on gold) */
.bif-connect__cta {
	width: 100%; margin-top: var(--clvr-sp-4, 16px);
	background: var(--clvr-orange, #DBA450); color: var(--clvr-on-accent, #14244A);
	border: none; border-radius: var(--clvr-btn-radius, 9999px);
	padding: 14px; font: inherit; font-size: 1rem; font-weight: var(--clvr-weight-bold, 700);
	text-align: center; /* theme sets buttons left-aligned; Ben Farkas 10/6 */
	cursor: pointer; transition: background var(--clvr-transition, 200ms ease);
}
.bif-connect__cta:hover { background: #B07A22; box-shadow: 0 6px 16px rgba(20, 36, 74, 0.18); }
.bif-connect__card { background: #fff; }

/* Team strip under the intro: real faces + licensing footprint */
.bif-connect__team { display: flex; align-items: center; gap: 14px; margin-top: var(--clvr-sp-6, 24px); padding-top: var(--clvr-sp-5, 20px); border-top: 1px solid var(--clvr-border-light, #e2e8f0); }
.bif-connect__faces { display: flex; flex: none; }
.bif-connect__faces img { width: 40px; height: 40px; border-radius: 9999px; object-fit: cover; border: 2px solid #fff; box-shadow: 0 1px 4px rgba(20, 36, 74, 0.18); margin-left: -10px; background: #fff; }
.bif-connect__faces img:first-child { margin-left: 0; }
.bif-connect__team p { margin: 0; font-size: 0.85rem; line-height: 1.5; color: var(--clvr-text-secondary, #4b698b); }
.bif-connect__team p b { color: var(--clvr-blue, #14244A); font-weight: var(--clvr-weight-semibold, 600); }
.bif-connect__cta:disabled { opacity: 0.6; cursor: not-allowed; }
.bif-connect__cta:focus-visible { outline: 2px solid var(--clvr-blue, #14244A); outline-offset: 2px; }
.bif-connect__fine { margin-top: var(--clvr-sp-3, 12px); font-size: 0.66rem; color: var(--clvr-text-muted, #86a5c6); text-align: center; line-height: 1.5; }

/* Success */
.bif-connect__success { text-align: center; padding: var(--clvr-sp-10, 40px) var(--clvr-sp-2, 8px); }
.bif-connect__check {
	width: 64px; height: 64px; margin: 0 auto var(--clvr-sp-4, 16px);
	border-radius: var(--clvr-radius-pill, 9999px); background: var(--clvr-success, #0ec18f);
	color: #fff; display: grid; place-items: center; font-size: 30px;
}
.bif-connect__success h3 { color: var(--clvr-blue, #14244A); font-size: 1.35rem; margin: 0 0 8px; }
.bif-connect__success p { font-size: 0.9rem; color: var(--clvr-text-secondary, #4b698b); max-width: 34ch; margin: 0 auto; }
