/* Business Features — front-end -------------------------------------------- */
.business-features {
	--bf-max: 1180px;
	--bf-pad-y: 64px;
	--bf-pad-x: 28px;
	--bf-header-gap: 44px;
	--bf-gap: 24px;
	--bf-card-pad: 28px;
	--bf-radius: 16px;
	--bf-icon-size: 26px;
	--bf-icon-gap: 18px;
	--bf-title-gap: 8px;

	--bf-eyebrow: #2563eb;
	--bf-heading: #0f172a;
	--bf-sub: #475569;
	--bf-title: #0f172a;
	--bf-text: #475569;
	--bf-icon-color: #2563eb;
	--bf-icon-bg: #eaf0ff;
	--bf-card-bg: #ffffff;
	--bf-card-border: #e6eaf0;

	--bf-fallback: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

	box-sizing: border-box;
	width: 100%;
	padding: var(--bf-pad-y) clamp(1rem, 4vw, 2rem);
	background: var(--bf-section-bg, transparent);
}
.business-features *,
.business-features *::before,
.business-features *::after { box-sizing: border-box; }

/* The single centred container inside the outer section. */
.bf__wrap {
	max-width: var(--bf-max);
	margin: 0 auto;
	padding: var(--bf-pad-x, 28px);
	background: var(--bf-panel-bg, transparent);
	border-radius: var(--bf-panel-radius, 0px);
}

/* --- Header ---------------------------------------------------------- */
.bf__header {
	max-width: 680px;
	margin: 0 0 var(--bf-header-gap);
}
.bf--header-center .bf__header {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.bf__eyebrow {
	margin: 0 0 0.7rem;
	font-family: var(--bf-eyebrow-family, var(--bf-fallback));
	font-size: var(--bf-eyebrow-size, 13px);
	font-weight: var(--bf-eyebrow-weight, 600);
	letter-spacing: var(--bf-eyebrow-ls, 0.14em);
	line-height: var(--bf-eyebrow-lh, 1.4);
	text-transform: uppercase;
	color: var(--bf-eyebrow);
}
.bf__heading {
	margin: 0 0 0.85rem;
	font-family: var(--bf-heading-family, var(--bf-fallback));
	font-size: var(--bf-heading-size, 38px);
	font-weight: var(--bf-heading-weight, 700);
	letter-spacing: var(--bf-heading-ls, -0.01em);
	line-height: var(--bf-heading-lh, 1.12);
	color: var(--bf-heading);
}
.bf__sub {
	margin: 0;
	font-family: var(--bf-sub-family, var(--bf-fallback));
	font-size: var(--bf-sub-size, 17px);
	font-weight: var(--bf-sub-weight, 400);
	letter-spacing: var(--bf-sub-ls, 0em);
	line-height: var(--bf-sub-lh, 1.6);
	color: var(--bf-sub);
}

/* --- Grid ------------------------------------------------------------ */
.bf__grid {
	display: grid;
	gap: var(--bf-gap);
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.bf--cols-2 .bf__grid { grid-template-columns: repeat(2, 1fr); }
.bf--cols-3 .bf__grid { grid-template-columns: repeat(3, 1fr); }
.bf--cols-4 .bf__grid { grid-template-columns: repeat(4, 1fr); }

/* --- Card ------------------------------------------------------------ */
.bf__card {
	display: flex;
	flex-direction: column;
	padding: var(--bf-card-pad);
	border-radius: var(--bf-radius);
	background: var(--bf-card-bg);
	border: 1px solid var(--bf-card-border);
	text-decoration: none;
	color: inherit;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.bf--align-center .bf__card { align-items: center; text-align: center; }

.bf--style-elevated .bf__card {
	border-color: transparent;
	box-shadow: 0 18px 40px -24px rgba(15, 23, 42, 0.28), 0 2px 6px -2px rgba(15, 23, 42, 0.08);
}
.bf--style-bordered .bf__card { background: transparent; }
.bf--style-minimal .bf__card {
	background: transparent;
	border-color: transparent;
	padding-left: 0;
	padding-right: 0;
}

/* Text-only editorial style: a slim accent rule, a bold header, then the text. */
.bf--style-text .bf__card {
	background: transparent;
	border-color: transparent;
	padding: 0;
}
.bf--style-text .bf__icon { display: none; }
.bf--style-text .bf__card::before {
	content: "";
	display: block;
	width: 34px;
	height: 3px;
	border-radius: 3px;
	background: var(--bf-icon-color);
	margin: 0 0 16px;
}
.bf--style-text.bf--align-center .bf__card::before {
	margin-left: auto;
	margin-right: auto;
}
.bf--hover.bf--style-text .bf__card:hover {
	transform: none;
	box-shadow: none;
}

/* Links get a pointer + subtle nudge only when hover is enabled. */
a.bf__card { cursor: pointer; }

.bf--hover .bf__card:hover {
	transform: translateY(-4px);
	border-color: var(--bf-card-border);
}
.bf--hover.bf--style-elevated .bf__card:hover {
	box-shadow: 0 28px 54px -26px rgba(15, 23, 42, 0.34), 0 3px 8px -2px rgba(15, 23, 42, 0.1);
}
.bf--hover.bf--style-card .bf__card:hover,
.bf--hover.bf--style-bordered .bf__card:hover {
	box-shadow: 0 18px 40px -28px rgba(15, 23, 42, 0.3);
}

/* Blend: drop every card's own background/border so the section reads as one colour. */
.bf--blend .bf__card {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
}
.bf--blend.bf--hover .bf__card:hover {
	box-shadow: none;
}

/* --- Icon ------------------------------------------------------------ */
.bf__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: var(--bf-icon-gap);
	color: var(--bf-icon-color);
	line-height: 1;
}
.bf__glyph {
	font-size: var(--bf-icon-size);
	line-height: 1;
}
.bf__icon img {
	width: var(--bf-icon-size);
	height: var(--bf-icon-size);
	object-fit: contain;
	display: block;
}

/* Chip variants wrap the glyph in a tinted square / circle. */
.bf--icon-rounded .bf__icon,
.bf--icon-circle .bf__icon {
	width: calc(var(--bf-icon-size) + 26px);
	height: calc(var(--bf-icon-size) + 26px);
	background: var(--bf-icon-bg);
}
.bf--icon-rounded .bf__icon { border-radius: 14px; }
.bf--icon-circle .bf__icon { border-radius: 50%; }

/* --- Text ------------------------------------------------------------ */
.bf__title {
	margin: 0 0 var(--bf-title-gap);
	font-family: var(--bf-title-family, var(--bf-fallback));
	font-size: var(--bf-title-size, 19px);
	font-weight: var(--bf-title-weight, 600);
	letter-spacing: var(--bf-title-ls, 0em);
	line-height: var(--bf-title-lh, 1.3);
	color: var(--bf-title);
}
.bf__text {
	margin: 0;
	font-family: var(--bf-text-family, var(--bf-fallback));
	font-size: var(--bf-text-size, 15px);
	font-weight: var(--bf-text-weight, 400);
	letter-spacing: var(--bf-text-ls, 0em);
	line-height: var(--bf-text-lh, 1.6);
	color: var(--bf-text);
}

/* --- Responsive ------------------------------------------------------ */
@media (max-width: 900px) {
	.bf--cols-3 .bf__grid,
	.bf--cols-4 .bf__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.bf--cols-2 .bf__grid,
	.bf--cols-3 .bf__grid,
	.bf--cols-4 .bf__grid,
	.bf__grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.bf__card { transition: none; }
	.bf--hover .bf__card:hover { transform: none; }
}
