/** Página Empresas. */

.fbb-main--companies {
	color: var( --fbb-color-text );
	background: var( --fbb-color-white );
}

.fbb-companies-container {
	width: 100%;
	max-width: var( --fbb-container-max-width );
	margin-inline: auto;
	padding-inline: var( --fbb-page-gutter );
}

.fbb-companies-section {
	padding-block: var( --fbb-section-space-large );
}

.fbb-companies-section--muted {
	background: var( --fbb-color-gray-page-bg );
}

.fbb-companies-eyebrow {
	margin: 0 0 14px;
	color: var( --fbb-color-red );
	font-size: 13px;
	font-weight: var( --fbb-font-weight-bold );
	letter-spacing: .13em;
	text-transform: uppercase;
}

.fbb-main--companies h1, .fbb-main--companies h2, .fbb-main--companies h3 {
	color: var( --fbb-color-navy );
}

.fbb-main--companies h2 {
	margin: 0;
	font-size: clamp( 30px, 3.3vw, 44px );
	line-height: 1.16;
}

.fbb-companies-heading {
	max-width: 820px;
	margin: 0 auto 48px;
	text-align: center;
}

.fbb-companies-heading > p:last-child {
	margin: 16px 0 0;
}

.fbb-companies-hero {
	padding-block: clamp( 56px, 7vw, 96px );
}

.fbb-companies-hero__grid {
	display: grid;
	grid-template-columns: minmax( 0, 1.05fr ) minmax( 360px, .75fr );
	gap: clamp( 42px, 7vw, 96px );
	align-items: center;
}

.fbb-companies-breadcrumb {
	display: flex;
	gap: 8px;
	margin-bottom: 38px;
	color: #8a8a8a;
	font-size: 13px;
}

.fbb-companies-breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.fbb-companies-hero h1 {
	max-width: 780px;
	margin: 0;
	font-size: clamp( 36px, 4.2vw, 56px );
	line-height: 1.08;
}

.fbb-companies-lead {
	max-width: 760px;
	margin-top: 24px;
	font-size: 17px;
	line-height: 1.7;
}

.fbb-companies-hero .fbb-btn--pill {
	display: inline-flex;
	margin-top: 28px;
}

.fbb-companies-hero__media {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: 14px;
	background: #dedede;
}

.fbb-companies-hero__media img, .fbb-companies-image-placeholder {
	display: grid;
	width: 100%;
	aspect-ratio: 4 / 3;
	place-items: center;
	object-fit: cover;
}

.fbb-companies-image-placeholder span {
	color: #9ca3af;
	font-size: 72px;
}

.fbb-companies-hero__media figcaption {
	position: absolute;
	right: 22px;
	bottom: 22px;
	max-width: 78%;
	padding: 18px 22px;
	color: var( --fbb-color-white );
	background: var( --fbb-color-navy );
	border-radius: 8px;
	box-shadow: 0 8px 20px rgba( 0, 35, 120, .2 );
	font-size: 13px;
	line-height: 1.5;
}

.fbb-companies-impact__grid {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) minmax( 420px, .85fr );
	gap: clamp( 52px, 8vw, 112px );
	align-items: center;
}

.fbb-companies-impact h2 {
	max-width: 620px;
}

.fbb-companies-impact p {
	max-width: 690px;
	line-height: 1.75;
}

.fbb-companies-impact .fbb-btn--pill {
	display: inline-flex;
	margin-top: 24px;
}

.fbb-companies-stats {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 16px;
}

.fbb-companies-stats article {
	display: grid;
	align-content: center;
	min-height: 150px;
	padding: 26px;
	background: var( --fbb-color-gray-page-bg );
	border-radius: 8px;
}

.fbb-companies-stats strong {
	color: var( --fbb-color-navy );
	font-size: clamp( 34px, 4vw, 52px );
	line-height: 1;
}

.fbb-companies-stats span {
	margin-top: 10px;
	font-size: 13px;
	font-weight: var( --fbb-font-weight-medium );
}

.fbb-companies-stats__seal {
	text-align: center;
}

.fbb-companies-stats__seal strong {
	font-size: 26px;
}

.fbb-companies-ways {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 24px;
}

.fbb-companies-ways article, .fbb-companies-benefits article {
	position: relative;
	padding: 32px;
	background: var( --fbb-color-white );
	border: 1px solid var( --fbb-border-subtle );
	border-radius: var( --fbb-radius-card );
	box-shadow: var( --fbb-shadow-card );
}

.fbb-companies-card-badge {
	position: absolute;
	top: -13px;
	left: 24px;
	padding: 7px 12px;
	color: var( --fbb-color-white );
	background: var( --fbb-color-red );
	border-radius: var( --fbb-radius-pill );
	font-size: 10px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

.fbb-companies-card-icon, .fbb-companies-benefits article > span {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	color: var( --fbb-color-navy );
	border: 2px solid var( --fbb-color-navy );
	border-radius: 50%;
	font-weight: 800;
}

.fbb-companies-ways h3, .fbb-companies-benefits h3 {
	margin: 20px 0 12px;
	font-size: 20px;
}

.fbb-companies-ways p, .fbb-companies-benefits p {
	font-size: 14px;
	line-height: 1.7;
}

.fbb-companies-ways ul {
	display: grid;
	gap: 9px;
	margin: 20px 0;
	padding: 0;
	list-style: none;
	font-size: 13px;
}

.fbb-companies-ways li::before {
	content: '·';
	margin-right: 8px;
	color: var( --fbb-color-red );
	font-weight: 800;
}

.fbb-companies-ways article > a {
	display: flex;
	justify-content: center;
	margin-top: 24px;
	padding: 11px 18px;
	color: var( --fbb-color-navy );
	border: 1px solid var( --fbb-color-navy );
	border-radius: var( --fbb-radius-pill );
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.fbb-companies-process {
	position: relative;
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: center;
}

.fbb-companies-process::before {
	content: '';
	position: absolute;
	top: 30px;
	left: 12%;
	right: 12%;
	height: 2px;
	background: #d9deea;
}

.fbb-companies-process li {
	position: relative;
}

.fbb-companies-process li > span {
	position: relative;
	z-index: 1;
	display: grid;
	width: 62px;
	height: 62px;
	margin: 0 auto;
	place-items: center;
	color: var( --fbb-color-white );
	background: var( --fbb-color-navy );
	border-radius: 50%;
	font-size: 20px;
	font-weight: 800;
}

.fbb-companies-process h3 {
	margin: 20px 0 10px;
	font-size: 17px;
}

.fbb-companies-process p {
	margin: 0;
	font-size: 13px;
	line-height: 1.7;
}

.fbb-companies-benefits {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 24px;
}

.fbb-companies-benefits article > span {
	border: 0;
	background: #eef2ff;
}

.fbb-companies-partners {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: 20px;
}

.fbb-companies-partners article {
	display: grid;
	min-height: 130px;
	padding: 24px;
	place-items: center;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
}

.fbb-companies-partners img {
	display: block;
	width: 100%;
	height: 76px;
	object-fit: contain;
}

.fbb-companies-partners a {
	width: 100%;
	color: var( --fbb-color-navy );
	text-align: center;
	text-decoration: none;
}

.fbb-companies-credentials {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fbb-companies-credentials li {
	padding: 15px 20px;
	color: var( --fbb-color-navy );
	background: var( --fbb-color-white );
	border: 1px solid var( --fbb-color-navy );
	border-radius: 6px;
	font-size: 13px;
	font-weight: 700;
}

.fbb-companies-ods {
	margin-top: 44px;
	text-align: center;
}

.fbb-companies-ods > p {
	font-size: 13px;
	line-height: 1.7;
}

.fbb-companies-ods > div {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	margin-top: 18px;
}

.fbb-companies-ods img {
	width: 66px;
	height: 66px;
	object-fit: contain;
}

.fbb-companies-final {
	padding-block: clamp( 72px, 8vw, 108px );
	color: var( --fbb-color-white );
	background: var( --fbb-color-navy );
	text-align: center;
}

.fbb-companies-final h2 {
	max-width: 900px;
	margin: 0 auto;
	color: var( --fbb-color-white );
	font-size: clamp( 32px, 3.7vw, 48px );
}

.fbb-companies-final > div > p:not(.fbb-companies-eyebrow) {
	max-width: 800px;
	margin: 22px auto 0;
	color: rgba( 255, 255, 255, .82 );
	line-height: 1.7;
}

.fbb-companies-final__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	margin-top: 30px;
}

@media ( max-width: 1023px ) {
	.fbb-companies-hero__grid, .fbb-companies-impact__grid {
		grid-template-columns: 1fr;
	}
	.fbb-companies-hero__media {
		max-width: 700px;
	}
	.fbb-companies-ways, .fbb-companies-benefits {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
	.fbb-companies-process {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
		row-gap: 44px;
	}
	.fbb-companies-process::before {
		display: none;
	}
}

@media ( max-width: 767px ) {
	.fbb-companies-section {
		padding-block: 64px;
	}
	.fbb-companies-breadcrumb {
		margin-bottom: 28px;
	}
	.fbb-companies-hero__grid {
		gap: 38px;
	}
	.fbb-companies-hero__media figcaption {
		right: 14px;
		bottom: 14px;
		max-width: calc( 100% - 28px );
	}
	.fbb-companies-ways, .fbb-companies-benefits, .fbb-companies-process {
		grid-template-columns: 1fr;
	}
	.fbb-companies-partners {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
	.fbb-companies-stats {
		grid-template-columns: 1fr;
	}
}

@media ( max-width: 479px ) {
	.fbb-companies-partners {
		grid-template-columns: 1fr;
	}
}
