/**
 * Built for Research — [labz_built_for_research] shortcode.
 * Dark "why us" section: eyebrow, title, subheading, 3x2 feature grid,
 * trust bar + RUO note. Pure CSS, no framework. Enqueued via wp_enqueue_style().
 */
.labz-bfr {
	--bfr-accent: #6ec1e4;
	--bfr-accent-soft: rgba(110, 193, 228, 0.12);
	--bfr-accent-border: rgba(110, 193, 228, 0.32);
	--bfr-card: rgba(7, 20, 38, 0.55);
	--bfr-card-border: rgba(130, 170, 210, 0.18);
	--bfr-title: #f4f9fd;
	--bfr-text: #d7e4f0;
	--bfr-muted: #7e98ad;

	position: relative;
	overflow: hidden;
	background:
		radial-gradient(130% 120% at 50% 45%, rgba(4, 12, 24, 0.80) 0%, rgba(4, 12, 24, 0.52) 55%, rgba(4, 12, 24, 0.18) 100%),
		url("../images/built-for-research-bg.png");
	background-size: cover, cover;
	background-position: center, center;
	background-repeat: no-repeat;
	background-color: #04101f;
	color: var(--bfr-text);
	padding: clamp(48px, 7vw, 90px) clamp(18px, 5vw, 60px);
	border-radius: 16px;
}
.labz-bfr * { box-sizing: border-box; }

.labz-bfr__inner { max-width: 1080px; margin: 0 auto; text-align: center; }

/* Floating trust seal (top-right certification badge) */
.labz-bfr__seal-badge {
	position: absolute; top: clamp(18px, 3vw, 34px); right: clamp(18px, 3vw, 40px);
	width: clamp(78px, 9vw, 112px); height: auto; z-index: 3;
	background: #fff;
	padding: 0;
	border-radius: 99px !important; /* forces circular shape even if image isn't perfectly square */
}
.labz-bfr__eyebrow {
	display: inline-block; color: var(--bfr-accent);
	font-size: 11px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase;
	opacity: 0.85; margin-bottom: 18px;
}
.labz-bfr__title {
	margin: 0 0 14px; color: var(--bfr-title); font-weight: 800;
	font-size: clamp(26px, 6.5vw, 54px); line-height: 1.08; letter-spacing: -0.5px;
}
/* Rotating headline word (pure CSS) */
.labz-bfr__rotate { display: inline-grid; vertical-align: bottom; text-align: left; }
.labz-bfr__rotate > span {
	grid-area: 1 / 1; color: var(--bfr-accent); opacity: 0;
	animation: bfr-rotate calc(var(--bfr-rot-count, 3) * 2.4s) infinite;
}
.labz-bfr__rotate > span:nth-child(2) { animation-delay: 2.4s; }
.labz-bfr__rotate > span:nth-child(3) { animation-delay: 4.8s; }
.labz-bfr__rotate > span:nth-child(4) { animation-delay: 7.2s; }
@keyframes bfr-rotate {
	0%      { opacity: 0; transform: translateY(14px); }
	4%, 30% { opacity: 1; transform: none; }
	34%, 100% { opacity: 0; transform: translateY(-14px); }
}
@media (prefers-reduced-motion: reduce) {
	.labz-bfr__rotate > span { animation: none; }
	.labz-bfr__rotate > span:first-child { opacity: 1; }
}
.labz-bfr__sub {
	margin: 0 0 14px; font-weight: 700; color: var(--bfr-text);
	font-size: clamp(17px, 2.4vw, 23px); line-height: 1.35;
}
.labz-bfr__sub span { color: var(--bfr-accent); }
.labz-bfr__desc {
	margin: 0 auto; max-width: 620px; color: var(--bfr-muted);
	font-size: 14px; line-height: 1.6;
}

/* Feature grid */
.labz-bfr__grid {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
	margin: clamp(34px, 4vw, 50px) 0 18px;
}
.labz-bfr__item {
	display: flex; align-items: center; gap: 14px; text-align: left;
	padding: 18px 20px; border-radius: 12px;
	background: var(--bfr-card); border: 1px solid var(--bfr-card-border);
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
	transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}
.labz-bfr__item:hover { border-color: var(--bfr-accent-border); background: rgba(12, 30, 52, 0.7); transform: translateY(-3px); }
.labz-bfr__ico {
	flex: none; width: 46px; height: 46px; border-radius: 11px;
	display: grid; place-items: center;
	background: var(--bfr-accent-soft); border: 1px solid var(--bfr-accent-border);
	color: var(--bfr-accent);
}
.labz-bfr__ico svg { width: 22px; height: 22px; display: block; fill: currentColor; }
.labz-bfr__txt { color: var(--bfr-text); font-size: 14px; font-weight: 600; line-height: 1.4; }

/* Trust bar */
.labz-bfr__trust {
	display: inline-flex; align-items: center; gap: 16px; text-align: left;
	width: fit-content; max-width: 100%; margin: 16px auto 0;
	padding: 16px 30px; border-radius: 14px;
	background: rgba(8, 24, 44, 0.55); border: 1px solid var(--bfr-accent-border);
}
.labz-bfr__trust-check {
	flex: none; width: 44px; height: 44px; border-radius: 50%;
	display: grid; place-items: center; color: var(--bfr-accent);
	background: var(--bfr-accent-soft); border: 1px solid var(--bfr-accent-border);
}
.labz-bfr__trust-check svg { width: 24px; height: 24px; }
.labz-bfr__trust-badge { display: none; }   /* shown only on mobile (replaces the icon) */
.labz-bfr__trust-txt { display: flex; flex-direction: column; gap: 3px; }
.labz-bfr__trust-txt strong { color: var(--bfr-title); font-size: 18px; font-weight: 700; }
.labz-bfr__trust-txt span { color: var(--bfr-muted); font-size: 13.5px; }

.labz-bfr__note {
	margin: 22px auto 0; max-width: 520px; color: var(--bfr-muted); opacity: 0.8;
	font-size: 12px; line-height: 1.6; text-align: center;
}
.labz-bfr__note svg { width: 14px; height: 14px; display: inline-block; vertical-align: -2px; margin-right: 5px; }

/* Responsive */
@media (max-width: 900px) { .labz-bfr__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) {
	.labz-bfr { padding: 44px 16px; }
	/* Two cards per row on mobile; stack icon above text inside each card */
	.labz-bfr__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 28px; }
	.labz-bfr__item { flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 18px 14px; }
	.labz-bfr__ico { width: 42px; height: 42px; }
	.labz-bfr__txt { font-size: 13px; }
	.labz-bfr__trust { flex-direction: column; text-align: center; align-items: center; padding: 22px; }
	.labz-bfr__trust-txt { align-items: center; }
	/* Mobile: show the trust badge in the pill, hide the icon + corner seal */
	.labz-bfr__trust-check { display: none; }
	.labz-bfr__trust-badge { display: block; width: 88px; height: auto; }
	.labz-bfr__seal-badge { display: none; }
	.labz-bfr__sub { font-size: 16px; }
	.labz-bfr__desc { font-size: 13px; }
}
@media (max-width: 380px) {
	.labz-bfr { padding: 40px 14px; }
	.labz-bfr__seal-badge { width: 50px; }
	.labz-bfr__eyebrow { font-size: 10px; letter-spacing: 2px; }
}
