/**
 * home.css — Layout completo das 11 seções da Home (reconstrução com
 * fidelidade ao Figma). Breakpoints canônicos: mobile até 767px,
 * tablet até 1023px e desktop a partir de 1024px.
 * Depende de assets/css/base/_variables.css e components/buttons.css.
 * Transições de scroll reveal ficam em components/scroll-reveal.css
 * (carregado globalmente — ver inc/enqueue.php).
 */

/* =============================================================
 * Estatísticas — faixa navy, 4 colunas iguais separadas por linha
 * vertical branca 1px.
 * ============================================================= */
.fbb-section--estatisticas {
	background-color: var( --fbb-color-navy );
	padding: 40px 0;
}

.fbb-stats-band {
	display: grid;
	grid-template-columns: repeat( 4, 1fr );
	list-style: none;
	margin: 0;
	padding: 0;
}

.fbb-stats-band__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 4px;
	padding-inline: 24px;
	border-left: 1px solid rgba( 255, 255, 255, 0.3 );
}

.fbb-stats-band__item:first-child {
	border-left: none;
}

.fbb-stats-band__numero {
	font-family: var( --fbb-font-family );
	font-weight: var( --fbb-font-weight-extrabold );
	font-size: 48px;
	line-height: 1;
	color: var( --fbb-color-white );
}

.fbb-stats-band__label {
	font-family: var( --fbb-font-family );
	font-weight: var( --fbb-font-weight-regular );
	font-size: 16px;
	color: var( --fbb-color-white );
	opacity: 0.8;
}

/* =============================================================
 * Cuidado Especializado — Quem Somos + grid de programas.
 * ============================================================= */
.fbb-section--cuidado {
	background-color: var( --fbb-color-white );
	padding: 80px 0;
}

.fbb-cuidado__texto {
	font-family: var( --fbb-font-family );
	font-weight: var( --fbb-font-weight-medium );
	font-size: 16px;
	line-height: 1.7;
	color: var( --fbb-color-text );
	margin-top: 16px;
}

.fbb-cuidado__texto p,
.fbb-atuacao__texto p,
.fbb-parcerias__destaque p,
.fbb-parcerias__texto p,
.fbb-ods-home__texto p,
.fbb-cta-final__texto p {
	margin: 0;
}

.fbb-cuidado__texto p + p,
.fbb-atuacao__texto p + p,
.fbb-parcerias__destaque p + p,
.fbb-parcerias__texto p + p,
.fbb-ods-home__texto p + p,
.fbb-cta-final__texto p + p {
	margin-top: 12px;
}

/* =============================================================
 * Nossa Atuação — fundo navy, 2 colunas (40% texto / 60% grid de fotos).
 * ============================================================= */
.fbb-section--atuacao {
	background-color: var( --fbb-color-navy );
	color: var( --fbb-color-white );
	padding: 80px 0;
}

.fbb-section--atuacao__container {
	display: grid;
	grid-template-columns: 40% 1fr;
	gap: 48px;
	align-items: center;
}

.fbb-atuacao__heading {
	font-family: var( --fbb-font-family );
	font-weight: var( --fbb-font-weight-extrabold );
	font-size: 40px;
	line-height: 1.2;
	color: var( --fbb-color-white );
	margin: 0 0 20px;
	text-transform: uppercase;
}

.fbb-atuacao__texto {
	font-family: var( --fbb-font-family );
	font-weight: var( --fbb-font-weight-medium );
	font-size: 16px;
	line-height: 1.7;
	color: var( --fbb-color-white );
	opacity: 0.8;
	margin: 0 0 32px;
}

.fbb-atuacao__cta svg {
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	display: block;
	overflow: visible;
}

.fbb-atuacao__gallery {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 16px;
	aspect-ratio: 4 / 3;
}

.fbb-atuacao__gallery-item {
	position: relative;
	overflow: hidden;
	border-radius: 4px;
	text-decoration: none;
}

.fbb-atuacao__gallery-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.fbb-atuacao__gallery-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background: rgba( 255, 255, 255, .08 );
}

.fbb-atuacao__gallery-overlay {
	position: absolute;
	left: 0;
	right: auto;
	bottom: 0;
	width: min( 74%, 360px );
	min-height: 54px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 14px 16px;
	background: rgba( 48, 62, 145, .78 );
}

.fbb-atuacao__gallery-overlay::after {
	content: '→';
	flex: 0 0 30px;
	display: inline-grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-size: 17px;
	font-weight: var( --fbb-font-weight-bold );
	line-height: 1;
	text-align: center;
	opacity: 0;
	transform: translateX( -6px );
	transition: opacity .2s ease, transform .2s ease;
}

.fbb-atuacao__gallery-item:hover .fbb-atuacao__gallery-overlay,
.fbb-atuacao__gallery-item:focus-visible .fbb-atuacao__gallery-overlay {
	background: var( --fbb-color-red );
}

.fbb-atuacao__gallery-item:hover .fbb-atuacao__gallery-overlay::after,
.fbb-atuacao__gallery-item:focus-visible .fbb-atuacao__gallery-overlay::after {
	opacity: 1;
	transform: translateX( 0 );
}

.fbb-atuacao__gallery-label {
	flex: 1 1 auto;
	min-width: 0;
	font-family: var( --fbb-font-family );
	font-weight: var( --fbb-font-weight-bold );
	font-size: 16px;
	line-height: 1.15;
	color: var( --fbb-color-white );
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* =============================================================
 * Parcerias — fundo branco, 2 colunas (texto 50% / imagem 50%).
 * ============================================================= */
.fbb-section--parcerias {
	background-color: var( --fbb-color-white );
	padding: 80px 0;
}

.fbb-section--parcerias__container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
}

.fbb-parcerias__texto {
	font-family: var( --fbb-font-family );
	font-weight: var( --fbb-font-weight-medium );
	font-size: 16px;
	line-height: 1.7;
	color: var( --fbb-color-text );
	margin: 16px 0 32px;
}

.fbb-parcerias__media {
	position: relative;
	width: min( 100%, 520px );
	justify-self: center;
}

.fbb-parcerias__image {
	width: 100%;
	height: auto;
	border-radius: 8px;
	display: block;
}

/* =============================================================
 * Fale com a Gente — faixa navy, horizontal (texto esquerda / botões direita).
 * ============================================================= */
.fbb-fale-com-gente {
	background-color: var( --fbb-color-navy );
	padding: 40px 0;
}

.fbb-fale-com-gente__container {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.fbb-fale-com-gente__titulo {
	font-family: var( --fbb-font-family );
	font-weight: var( --fbb-font-weight-bold );
	font-size: 24px;
	color: var( --fbb-color-white );
	margin: 0;
}

.fbb-fale-com-gente__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

/* =============================================================
 * Compromisso ODS — grid de cards coloridos (CPT ods).
 * ============================================================= */
.fbb-section--ods-home {
	background-color: var( --fbb-color-white );
	padding: 80px 0;
	text-align: center;
}

.fbb-ods-home__texto {
	max-width: 720px;
	margin: 16px auto 0;
	font-family: var( --fbb-font-family );
	font-weight: var( --fbb-font-weight-medium );
	font-size: 16px;
	line-height: 1.7;
	color: var( --fbb-color-text );
}

.fbb-ods-home__grid {
	display: grid;
	grid-template-columns: repeat( 5, 1fr );
	gap: 24px;
	margin: 48px 0;
}

.fbb-ods-home__cta {
	display: inline-flex;
}

.fbb-ods-home__cta-icon {
	display: block;
	width: 30px;
	height: 30px;
	object-fit: contain;
}

/* =============================================================
 * Eventos — header split + grid featured/secundários.
 * ============================================================= */
.fbb-section--eventos {
	background-color: var( --fbb-color-white );
	padding: 80px 0;
}

.fbb-eventos-grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 24px;
	align-items: stretch;
}

.fbb-event-card {
	background-color: var( --fbb-color-white );
	border: 1px solid var( --fbb-color-card-border );
	border-radius: 8px;
	padding: 24px;
	display: flex;
	gap: 16px;
	align-items: flex-start;
}

.fbb-event-card__data {
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1;
	flex-shrink: 0;
	background-color: var( --fbb-color-white );
	border-radius: 6px;
	padding: 10px 14px;
}

.fbb-event-card__dia {
	font-family: var( --fbb-font-family );
	font-weight: var( --fbb-font-weight-bold );
	font-size: 28px;
	color: var( --fbb-color-navy );
}

.fbb-event-card__mes {
	font-family: var( --fbb-font-family );
	font-weight: var( --fbb-font-weight-medium );
	font-size: 13px;
	text-transform: uppercase;
	color: var( --fbb-color-text );
}

.fbb-event-card__titulo {
	font-family: var( --fbb-font-family );
	font-weight: var( --fbb-font-weight-bold );
	font-size: 18px;
	color: var( --fbb-color-navy );
	margin: 0 0 8px;
}

.fbb-event-card__descricao {
	font-family: var( --fbb-font-family );
	font-weight: var( --fbb-font-weight-medium );
	font-size: 14px;
	color: var( --fbb-color-text );
	margin: 0;
}

/* =============================================================
 * Últimas Notícias — 1 featured + 3 secundários.
 * ============================================================= */
.fbb-section--noticias {
	background-color: var( --fbb-color-white );
	padding: 80px 0;
}

.fbb-news-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	align-items: stretch;
}

.fbb-news-grid__featured {
	display: flex;
}

.fbb-news-grid__featured .fbb-card--news {
	width: 100%;
}

.fbb-news-grid__secondary {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

/* =============================================================
 * Apoie Nossa Causa — CTA final (.fbb-cta-final--dark).
 * ============================================================= */
.fbb-cta-final--dark {
	background-color: var( --fbb-color-navy );
	padding: 80px 0;
}

.fbb-cta-final__container {
	max-width: 760px;
	margin-inline: auto;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}

.fbb-cta-final__titulo {
	font-family: var( --fbb-font-family );
	font-weight: var( --fbb-font-weight-bold );
	font-size: 36px;
	line-height: 1.2;
	color: var( --fbb-color-white );
	margin: 0;
}

.fbb-cta-final__texto {
	font-family: var( --fbb-font-family );
	font-weight: var( --fbb-font-weight-medium );
	font-size: 16px;
	line-height: 1.7;
	color: var( --fbb-color-white );
	margin: 0;
}

.fbb-cta-final__ctas {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
}

.fbb-cta-final__formas {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 24px;
	list-style: none;
	margin: 24px 0 0;
	padding: 0;
}

.fbb-cta-final__forma-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	color: var( --fbb-color-white );
	font-family: var( --fbb-font-family );
	font-weight: var( --fbb-font-weight-medium );
	font-size: 13px;
	width: 96px;
	text-align: center;
}

.fbb-cta-final__forma-item svg {
	color: var( --fbb-color-white );
}

.fbb-cta-final__forma-image {
	display: block;
	width: 36px;
	height: 36px;
	object-fit: contain;
}

/* =============================================================
 * Logos de Parceiros — fundo cinza claro, linha horizontal.
 * ============================================================= */
.fbb-logo-strip {
	background-color: var( --fbb-color-gray-page-bg );
	padding: 40px 0;
}

.fbb-logo-strip__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 48px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.fbb-logo-strip__item img {
	max-height: 64px;
	width: auto;
	filter: grayscale( 1 );
	opacity: 0.75;
	transition: filter 0.25s ease, opacity 0.25s ease;
}

.fbb-logo-strip__item img:hover {
	filter: grayscale( 0 );
	opacity: 1;
}

.fbb-logo-strip__fallback-text {
	font-family: var( --fbb-font-family );
	font-weight: var( --fbb-font-weight-bold );
	font-size: 16px;
	color: var( --fbb-color-text );
}

/* =============================================================
 * Composição desktop da home — alinhada ao frame de referência.
 * ============================================================= */
.fbb-section--estatisticas {
	height: 138px;
	min-height: 138px;
	display: flex;
	align-items: center;
	padding: 18px 0;
}

.fbb-stats-band__numero {
	font-size: 72px;
}

.fbb-stats-band__label {
	font-size: 16px;
	font-weight: var( --fbb-font-weight-bold );
}

.fbb-section--estatisticas .fbb-section__container {
	width: 100%;
	max-width: 1440px;
}

.fbb-section--estatisticas .fbb-stats-band__item {
	border-left: 0;
}

.fbb-section--cuidado {
	padding: 120px 0 140px;
}

.fbb-cuidado__container {
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	align-items: center;
	gap: 80px;
}

.fbb-cuidado__content {
	max-width: 490px;
}

.fbb-cuidado__texto {
	margin: 22px 0 32px;
}

.fbb-cuidado__media {
	position: relative;
	min-height: 430px;
	background: var( --fbb-color-offwhite );
}

.fbb-cuidado__image {
	display: block;
	width: 100%;
	height: 430px;
	object-fit: cover;
}

.fbb-section--atuacao {
	padding: 104px 0;
}

.fbb-section--atuacao__container {
	grid-template-columns: .76fr 1.24fr;
	gap: 88px;
}

.fbb-atuacao__gallery {
	grid-template-columns: repeat( 6, 1fr );
	grid-auto-rows: minmax( 190px, 1fr );
	gap: 12px;
	aspect-ratio: auto;
}

.fbb-atuacao__gallery-item {
	grid-column: span 3;
}

.fbb-atuacao__gallery--count-3 .fbb-atuacao__gallery-item,
.fbb-atuacao__gallery--count-5 .fbb-atuacao__gallery-item:nth-child( n + 3 ),
.fbb-atuacao__gallery--count-6 .fbb-atuacao__gallery-item {
	grid-column: span 2;
}

.fbb-atuacao__gallery-item:hover .fbb-atuacao__gallery-image {
	transform: scale( 1.025 );
}

.fbb-atuacao__gallery-image {
	transition: transform .25s ease;
}

.fbb-section--parcerias {
	padding: 100px 0;
}

.fbb-section--parcerias__container {
	grid-template-columns: .9fr 1.1fr;
	gap: 100px;
}

.fbb-fale-com-gente {
	padding: 30px 0;
}

.fbb-fale-com-gente__container {
	padding-left: 110px;
}

.fbb-section--ods-home {
	padding: 140px 0;
	text-align: left;
}

.fbb-section--ods-home > .fbb-section__container {
	display: grid;
	grid-template-columns: .78fr 1.22fr;
	grid-template-areas: "copy badges" "cta badges";
	gap: 22px 70px;
	align-items: center;
}

.fbb-section--ods-home .fbb-section__header {
	grid-area: copy;
	text-align: left;
	margin: 0;
}

.fbb-ods-home__texto {
	margin: 18px 0 0;
}

.fbb-ods-home__grid {
	grid-area: badges;
	grid-template-columns: repeat( 2, 1fr );
	gap: 14px;
	margin: 0;
}

.fbb-ods-home__cta {
	grid-area: cta;
	justify-self: start;
}

.fbb-section--eventos {
	padding: 80px 0 94px;
	background: #eef1f7;
}

.fbb-eventos-grid {
	grid-template-columns: repeat( 2, 1fr );
	gap: 18px;
}

.fbb-event-card {
	min-height: 150px;
	padding: 0;
	gap: 0;
	align-items: stretch;
	border: 0;
	border-radius: 0;
	overflow: hidden;
}

.fbb-event-card__data {
	width: 126px;
	justify-content: center;
	border-radius: 0;
	background: var( --fbb-color-navy );
}

.fbb-event-card__dia,
.fbb-event-card__mes {
	color: var( --fbb-color-white );
}

.fbb-event-card__dia {
	font-size: 48px;
}

.fbb-event-card__image {
	width: 45%;
	object-fit: cover;
}

.fbb-event-card__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 20px;
}

.fbb-section--noticias {
	padding: 82px 0;
}

.fbb-news-grid {
	grid-template-columns: 1.15fr .85fr;
	gap: 24px;
}

.fbb-news-grid__featured .fbb-card--news {
	flex-direction: column;
}

.fbb-news-grid__featured .fbb-card__image-link {
	flex: 0 0 230px;
}

.fbb-news-grid__secondary {
	gap: 16px;
}

.fbb-section--noticias .fbb-card__body {
	padding: 16px;
}

.fbb-section--noticias .fbb-card--news-secondary .fbb-card__title a {
	font-size: 18px;
	line-height: 1.15;
}

.fbb-section--noticias .fbb-card--news-secondary .fbb-card__excerpt {
	font-size: 13px;
	line-height: 1.3;
}

.fbb-cta-final--dark {
	padding: 54px 0 30px;
	background: var( --fbb-color-white );
}

.fbb-cta-final__container {
	max-width: var( --fbb-container-max-width );
	display: grid;
	grid-template-columns: 1fr auto;
	text-align: left;
	align-items: center;
}

.fbb-cta-final__titulo,
.fbb-cta-final__texto {
	color: var( --fbb-color-navy );
	justify-self: start;
}

.fbb-cta-final__texto {
	grid-column: 1;
}

.fbb-cta-final__ctas {
	grid-column: 2;
	grid-row: 1 / 3;
	flex-direction: column;
}

.fbb-cta-final__ctas .fbb-btn--outline-white {
	color: var( --fbb-color-navy );
	border-color: var( --fbb-color-navy );
}

.fbb-cta-final__formas {
	grid-column: 1 / -1;
	width: 100%;
	justify-content: space-between;
	margin-top: 34px;
	padding-top: 32px;
	border-top: 1px solid #b9b9b9;
}

.fbb-cta-final__forma-item,
.fbb-cta-final__forma-item svg {
	color: var( --fbb-color-navy );
}

.fbb-logo-strip {
	background: var( --fbb-color-white );
	padding: 48px 0;
}

.fbb-logo-strip__grid {
	gap: 10px;
}

.fbb-logo-strip__item {
	width: 120px;
	height: 100px;
	display: grid;
	place-items: center;
	background: #e6e6e6;
}

/* =============================================================
 * Classes de animação (estado inicial via CSS, transição via GSAP em
 * assets/js/pages/home.js).
 * ============================================================= */
.js-fade-in {
	opacity: 0;
}

.js-slide-up {
	opacity: 0;
	transform: translateY( 32px );
}

.js-stagger > * {
	opacity: 0;
}

@media ( prefers-reduced-motion: reduce ) {
	.js-fade-in,
	.js-slide-up,
	.js-stagger > * {
		opacity: 1;
		transform: none;
	}
}

/* =============================================================
 * Responsivo — mobile até 767px, tablet até 1023px e desktop a partir de 1024px.
 * ============================================================= */
@media ( max-width: 1439px ) {
	.fbb-section__container {
		max-width: 1440px;
	}
}

@media ( max-width: 1023px ) {
	.fbb-section--atuacao__container {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.fbb-section--parcerias__container {
		grid-template-columns: 1fr;
	}

	.fbb-parcerias__media {
		order: -1;
	}

	.fbb-ods-home__grid {
		grid-template-columns: repeat( 3, 1fr );
	}

	.fbb-eventos-grid {
		grid-template-columns: 1fr;
	}

	.fbb-news-grid {
		grid-template-columns: 1fr;
	}

	.fbb-stats-band {
		grid-template-columns: repeat( 2, 1fr );
		row-gap: 32px;
	}

	.fbb-stats-band__item:nth-child( 3 ) {
		border-left: none;
	}
}

/* Quem somos — composição aprovada da Home. */
@media ( min-width: 1024px ) {
	.fbb-section--cuidado {
		position: relative;
		overflow: hidden;
		min-height: 990px;
		padding: 170px 0;
	}

	.fbb-cuidado__container {
		position: relative;
		z-index: 1;
		max-width: 1660px;
		grid-template-columns: 560px 1fr;
		gap: 95px;
	}

	.fbb-cuidado__content {
		max-width: 560px;
	}

	.fbb-cuidado__content .fbb-eyebrow {
		margin-bottom: 18px;
		font-size: 18px;
		letter-spacing: 3px;
		text-transform: none;
		color: var( --fbb-color-navy );
	}

	.fbb-cuidado__content .fbb-section__title {
		font-size: 52px;
		line-height: 1.12;
	}

	.fbb-cuidado__texto {
		margin: 20px 0 44px;
		font-size: 16px;
		line-height: 1.7;
	}

	.fbb-cuidado__media {
		width: 995px;
		height: 648px;
		min-height: 648px;
		justify-self: start;
	}

	.fbb-cuidado__image {
		width: 100%;
		height: 648px;
		object-fit: cover;
	}

	.fbb-cuidado__button-icon {
		display: block;
		width: 34px;
		height: 34px;
		object-fit: contain;
	}

	.fbb-cuidado__decoracao {
		position: absolute;
		z-index: 0;
		top: 48px;
		left: calc( 50% - 440px );
		width: 330px;
		height: auto;
		pointer-events: none;
	}
}

@media ( max-width: 1023px ) {
	.fbb-cuidado__decoracao {
		display: none;
	}

	.fbb-cuidado__button-icon {
		width: 28px;
		height: 28px;
	}
}

@media ( max-width: 767px ) {
	.fbb-section--estatisticas,
	.fbb-section--cuidado,
	.fbb-section--atuacao,
	.fbb-section--parcerias,
	.fbb-section--ods-home,
	.fbb-section--eventos,
	.fbb-section--noticias,
	.fbb-cta-final--dark,
	.fbb-fale-com-gente,
		.fbb-logo-strip {
			padding: 56px 0;
		}

		.fbb-section--estatisticas {
			height: 104px;
			min-height: 104px;
			padding-block: 12px;
		}

		.fbb-fale-com-gente {
			padding: 32px 0;
	}

	.fbb-logo-strip {
		padding: 32px 0;
	}

	.fbb-ods-home__grid {
		grid-template-columns: repeat( 2, 1fr );
	}

	.fbb-fale-com-gente__container {
		flex-direction: column;
		text-align: center;
	}

	.fbb-atuacao__gallery {
		grid-template-columns: 1fr 1fr;
	}

	.fbb-cta-final__titulo {
		font-size: 26px;
	}
}

/* =============================================================
 * Sistema responsivo canônico — Home e referência para novas páginas.
 * Desktop útil: 1440px | notebook: 1024–1439 | tablet: 768–1023
 * | mobile: até 767px. Regras abaixo são deliberadamente finais.
 * ============================================================= */
@media ( min-width: 1024px ) and ( max-width: 1439px ) {
	.fbb-main--home .fbb-section__container,
	.fbb-main--home .fbb-cta-final__container {
		padding-inline: var( --fbb-page-gutter );
	}

	.fbb-section--cuidado,
	.fbb-section--atuacao,
	.fbb-section--parcerias,
	.fbb-section--ods-home,
	.fbb-section--eventos,
	.fbb-section--noticias {
		min-height: var( --fbb-section-min-height );
		padding-block: var( --fbb-section-space-block );
	}

	.fbb-section--estatisticas {
		height: 104px;
		min-height: 104px;
		padding-block: 12px;
	}

	.fbb-stats-band__numero {
		font-size: 52px;
	}

	.fbb-stats-band__label {
		font-size: 12px;
	}

	.fbb-section--cuidado .fbb-cuidado__container {
		grid-template-columns: minmax( 0, 430px ) minmax( 0, 1fr );
		gap: 54px;
	}

	.fbb-section--cuidado .fbb-cuidado__content {
		max-width: 430px;
	}

	.fbb-section--cuidado .fbb-cuidado__content .fbb-section__title {
		font-size: 38px;
	}

	.fbb-section--cuidado .fbb-cuidado__texto,
	.fbb-parcerias__texto,
	.fbb-ods-home__texto {
		font-size: var( --fbb-body-size );
	}

	.fbb-section--cuidado .fbb-cuidado__media,
	.fbb-section--cuidado .fbb-cuidado__image {
		height: 480px;
		min-height: 480px;
	}

	.fbb-cuidado__decoracao {
		left: calc( 50% - 350px );
		width: 250px;
	}

	.fbb-section--atuacao__container {
		gap: 48px;
	}

	.fbb-section--atuacao .fbb-atuacao__content {
		max-width: 520px;
		padding-left: 64px;
	}

	.fbb-section--atuacao .fbb-atuacao__heading {
		font-size: 32px;
	}

	.fbb-section--atuacao .fbb-atuacao__texto {
		max-width: 480px;
		font-size: var( --fbb-body-size );
	}

	.fbb-section--atuacao__container .fbb-atuacao__gallery {
		grid-template-rows: 310px 225px;
		gap: 14px;
	}

	.fbb-atuacao__gallery-label {
		font-size: 14px;
	}

	.fbb-section--parcerias .fbb-section--parcerias__container {
		gap: 60px;
	}

	.fbb-section--parcerias .fbb-parcerias__content {
		max-width: 440px;
	}

	.fbb-section--parcerias .fbb-parcerias__media {
		width: min( 100%, 520px );
	}

	.fbb-section--ods-home > .fbb-section__container {
		grid-template-columns: 430px minmax( 0, 1fr );
		gap: 22px 46px;
	}

	.fbb-section--ods-home .fbb-section__header .fbb-section__title {
		font-size: 32px;
	}

	.fbb-ods-home__grid {
		gap: 10px;
	}

	.fbb-ods-card {
		grid-template-columns: 120px minmax( 0, 1fr );
		min-height: 120px;
	}

	.fbb-ods-card__image {
		width: 120px;
		height: 100%;
	}

	.fbb-ods-card__body {
		padding: 16px;
		font-size: 12px;
	}

	.fbb-section--eventos .fbb-event-card {
		height: 180px;
		min-height: 180px;
	}

	.fbb-section--eventos .fbb-event-card__data {
		width: 104px;
	}

	.fbb-section--eventos .fbb-event-card__dia {
		font-size: 52px;
	}

	.fbb-section--eventos .fbb-event-card__mes {
		font-size: 16px;
	}

	.fbb-event-card__titulo {
		font-size: 16px;
	}

	.fbb-event-card__descricao {
		font-size: 12px;
	}

	.fbb-section--noticias .fbb-section__title {
		font-size: 32px;
	}

	.fbb-section--noticias .fbb-card__body {
		padding: 14px;
	}

	.fbb-section--noticias .fbb-card--news-secondary .fbb-card__title a {
		font-size: 16px;
	}

	.fbb-section--noticias .fbb-card--news-secondary .fbb-card__excerpt {
		font-size: 12px;
	}

	.fbb-fale-com-gente {
		padding-block: 24px;
	}

	.fbb-fale-com-gente__container {
		padding-left: var( --fbb-page-gutter );
	}

	.fbb-fale-com-gente__titulo {
		font-size: 21px;
	}

	.fbb-cta-final__titulo {
		font-size: 30px;
	}

	.fbb-logo-strip__item {
		width: 96px;
		height: 80px;
	}
}

@media ( max-width: 1023px ) {
	.fbb-main--home .fbb-section__container,
	.fbb-main--home .fbb-cta-final__container {
		padding-inline: var( --fbb-page-gutter );
	}

	.fbb-section--cuidado,
	.fbb-section--atuacao,
	.fbb-section--parcerias,
	.fbb-section--ods-home,
	.fbb-section--eventos,
	.fbb-section--noticias {
		min-height: var( --fbb-section-min-height );
		padding-block: var( --fbb-section-space-block );
	}

	.fbb-cuidado__container,
	.fbb-section--atuacao__container,
	.fbb-section--parcerias__container,
	.fbb-section--ods-home > .fbb-section__container,
	.fbb-cta-final__container {
		grid-template-columns: minmax( 0, 1fr );
	}

	.fbb-cuidado__content,
	.fbb-section--atuacao .fbb-atuacao__content,
	.fbb-section--parcerias .fbb-parcerias__content {
		max-width: 680px;
		padding-left: 0;
	}

	.fbb-cuidado__media,
	.fbb-cuidado__image {
		height: auto;
		min-height: 0;
		aspect-ratio: 16 / 9;
	}

	.fbb-atuacao__gallery {
		grid-template-rows: repeat( 2, minmax( 220px, 1fr ) );
	}

	.fbb-parcerias__media {
		order: initial;
		width: min( 88%, 620px );
	}

	.fbb-section--ods-home > .fbb-section__container {
		grid-template-areas: "copy" "badges" "cta";
		gap: 32px;
	}

	.fbb-ods-home__grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.fbb-eventos-grid,
	.fbb-news-grid {
		grid-template-columns: minmax( 0, 1fr );
	}

	.fbb-cta-final__ctas,
	.fbb-cta-final__texto,
	.fbb-cta-final__formas {
		grid-column: 1;
		grid-row: auto;
	}

	.fbb-cta-final__ctas {
		flex-direction: row;
		justify-content: flex-start;
	}
}

@media ( max-width: 767px ) {
	.fbb-main--home .fbb-section__container,
	.fbb-main--home .fbb-cta-final__container {
		padding-inline: var( --fbb-page-gutter );
	}

	.fbb-section--cuidado,
	.fbb-section--atuacao,
	.fbb-section--parcerias,
	.fbb-section--ods-home,
	.fbb-section--eventos,
	.fbb-section--noticias {
		min-height: var( --fbb-section-min-height );
		padding-block: var( --fbb-section-space-block );
	}

	.fbb-section__header {
		margin-bottom: 34px;
	}

	.fbb-section__header--split,
	.fbb-fale-com-gente__container {
		align-items: flex-start;
	}

	.fbb-stats-band__numero {
		font-size: 38px;
	}

	.fbb-stats-band__label {
		font-size: 11px;
	}

	.fbb-cuidado__container,
	.fbb-section--atuacao__container,
	.fbb-section--parcerias__container {
		gap: 36px;
	}

	.fbb-cuidado__media,
	.fbb-cuidado__image {
		aspect-ratio: 4 / 3;
	}

	.fbb-atuacao__gallery {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
		grid-template-rows: none;
		grid-auto-rows: 210px;
		gap: var( --fbb-grid-gap );
	}

	.fbb-atuacao__gallery-item,
	.fbb-atuacao__gallery--count-3 .fbb-atuacao__gallery-item,
	.fbb-atuacao__gallery--count-5 .fbb-atuacao__gallery-item:nth-child( n + 3 ),
	.fbb-atuacao__gallery--count-6 .fbb-atuacao__gallery-item {
		grid-column: span 1;
	}

	.fbb-ods-home__grid {
		grid-template-columns: minmax( 0, 1fr );
	}

	.fbb-ods-card {
		grid-template-columns: 104px minmax( 0, 1fr );
		min-height: 104px;
	}

	.fbb-ods-card__image {
		width: 104px;
		height: 104px;
	}

	.fbb-eventos__actions,
	.fbb-cta-final__ctas,
	.fbb-fale-com-gente__ctas {
		width: 100%;
	}

	.fbb-eventos__actions .fbb-btn--pill,
	.fbb-cta-final__ctas .fbb-btn--pill,
	.fbb-fale-com-gente__ctas .fbb-btn--pill {
		justify-content: center;
		flex: 1 1 auto;
	}

	.fbb-event-card {
		min-height: 150px;
	}

	.fbb-event-card__data {
		width: 90px;
	}

	.fbb-event-card__dia {
		font-size: 42px;
	}

	.fbb-event-card__image {
		width: calc( 100% - 90px );
	}

	.fbb-news-grid__featured .fbb-card__image-link {
		flex-basis: 210px;
	}

	.fbb-cta-final__container {
		text-align: left;
	}

	.fbb-cta-final__formas {
		display: grid;
		grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
		gap: 26px 12px;
	}

	.fbb-cta-final__forma-item {
		width: auto;
	}

	.fbb-logo-strip__grid {
		gap: 8px;
	}

	.fbb-logo-strip__item {
		width: 86px;
		height: 72px;
	}
}

@media ( max-width: 479px ) {
	.fbb-stats-band {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.fbb-atuacao__gallery {
		grid-template-columns: minmax( 0, 1fr );
		grid-auto-rows: 230px;
	}

	.fbb-event-card {
		min-height: 138px;
	}

	.fbb-event-card__body {
		padding: 14px;
	}

	.fbb-event-card__descricao {
		display: none;
	}

	.fbb-cta-final__ctas,
	.fbb-fale-com-gente__ctas {
		flex-direction: column;
	}

	.fbb-cta-final__formas {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}

@media ( max-width: 375px ) {
	.fbb-ods-home__grid {
		grid-template-columns: 1fr;
	}

	.fbb-stats-band {
		grid-template-columns: 1fr;
	}

	.fbb-stats-band__item {
		border-left: none;
		border-top: 1px solid rgba( 255, 255, 255, 0.3 );
		padding-top: 16px;
	}

	.fbb-stats-band__item:first-child {
		border-top: none;
		padding-top: 0;
	}

	.fbb-atuacao__gallery {
		grid-template-columns: 1fr;
		aspect-ratio: auto;
	}

	.fbb-atuacao__gallery-item {
		aspect-ratio: 4 / 3;
	}
}

@media ( min-width: 1920px ) {
	.fbb-section__container {
		max-width: var( --fbb-container-max-width );
	}
}

@media ( max-width: 1023px ) {
	.fbb-cuidado__container,
	.fbb-section--atuacao__container,
	.fbb-section--parcerias__container,
	.fbb-section--ods-home > .fbb-section__container {
		grid-template-columns: 1fr;
	}

	.fbb-section--ods-home > .fbb-section__container {
		grid-template-areas: "copy" "badges" "cta";
	}

	.fbb-fale-com-gente__container {
		padding-left: var( --fbb-container-padding-inline );
	}
}

@media ( max-width: 767px ) {
	.fbb-section__container {
		padding-inline: 22px;
	}

	.fbb-section--cuidado,
	.fbb-section--parcerias,
	.fbb-section--ods-home,
	.fbb-section--noticias {
		padding: 72px 0;
	}

	.fbb-cuidado__container {
		gap: 42px;
	}

	.fbb-cuidado__media,
	.fbb-cuidado__image {
		min-height: 320px;
		height: 320px;
	}

	.fbb-atuacao__gallery {
		grid-template-columns: repeat( 2, 1fr );
		grid-auto-rows: 210px;
		aspect-ratio: auto;
	}

	.fbb-atuacao__gallery-item {
		grid-column: auto !important;
		min-height: 210px;
	}

	.fbb-atuacao__content {
		grid-column: 1 / -1;
		padding-bottom: 18px;
	}

	.fbb-ods-home__grid,
	.fbb-eventos-grid {
		grid-template-columns: 1fr;
	}

	.fbb-event-card {
		min-height: 126px;
	}

	.fbb-event-card__data {
		width: 86px;
	}

	.fbb-event-card__dia {
		font-size: 34px;
	}

	.fbb-cta-final__container {
		display: flex;
		align-items: stretch;
	}

	.fbb-cta-final__ctas {
		flex-direction: row;
		justify-content: flex-start;
	}

	.fbb-cta-final__formas {
		justify-content: center;
	}
}

@media ( max-width: 375px ) {
	.fbb-atuacao__gallery {
		grid-template-columns: 1fr;
	}
}

@media ( min-width: 768px ) and ( max-width: 1023px ) {
	.fbb-atuacao__gallery {
		grid-template-columns: repeat( 2, 1fr );
		grid-auto-rows: 240px;
	}

	.fbb-atuacao__content {
		grid-column: 1 / -1;
		grid-row: auto;
		padding: 20px 0;
	}

	.fbb-atuacao__gallery-item {
		grid-column: auto !important;
	}
}

/* Mosaico aprovado: texto + 2 cards na primeira linha; 3 cards abaixo. */
@media ( min-width: 1024px ) {
	.fbb-section--atuacao {
		padding: 140px 0;
	}

	.fbb-section--atuacao__container {
		display: block;
		max-width: 1640px;
	}

	.fbb-section--atuacao__container .fbb-atuacao__gallery {
		display: grid;
		grid-template-columns: repeat( 12, minmax( 0, 1fr ) );
		grid-template-rows: 420px 310px;
		gap: 20px;
		align-items: stretch;
	}

	.fbb-atuacao__content {
		grid-column: 1 / span 6;
		grid-row: 1;
		align-self: center;
		max-width: 500px;
		padding-left: 135px;
	}

	.fbb-atuacao__heading {
		font-size: 42px;
		margin-bottom: 16px;
	}

	.fbb-atuacao__texto {
		font-size: 16px;
		line-height: 1.7;
		margin-bottom: 24px;
	}

	.fbb-atuacao__gallery-item {
		grid-column: auto;
		min-height: 0;
		border-radius: 0;
	}

	.fbb-section--atuacao__container .fbb-atuacao__gallery-item:nth-of-type( 1 ) {
		grid-column: 7 / span 3;
		grid-row: 1;
	}

	.fbb-section--atuacao__container .fbb-atuacao__gallery-item:nth-of-type( 2 ) {
		grid-column: 10 / span 3;
		grid-row: 1;
	}

	.fbb-section--atuacao__container .fbb-atuacao__gallery-item:nth-of-type( 3 ) {
		grid-column: 1 / span 4 !important;
		grid-row: 2;
	}

	.fbb-section--atuacao__container .fbb-atuacao__gallery-item:nth-of-type( 4 ) {
		grid-column: 5 / span 4 !important;
		grid-row: 2;
	}

	.fbb-section--atuacao__container .fbb-atuacao__gallery-item:nth-of-type( 5 ) {
		grid-column: 9 / span 4 !important;
		grid-row: 2;
	}

	.fbb-section--atuacao__container .fbb-atuacao__gallery-item .fbb-atuacao__gallery-overlay {
		width: min( 74%, 360px );
	}
}

/* Parcerias — composição aprovada da Home. */
@media ( min-width: 1024px ) {
	.fbb-section--parcerias {
		position: relative;
		overflow: hidden;
		padding: 150px 0 165px;
		border-top: 3px solid var( --fbb-color-navy );
		border-bottom: 3px solid var( --fbb-color-navy );
	}

	.fbb-section--parcerias__container {
		max-width: 1640px;
		grid-template-columns: 1fr 1fr;
		gap: 110px;
	}

	.fbb-parcerias__content {
		max-width: 570px;
		padding-left: 70px;
	}

	.fbb-parcerias__content .fbb-eyebrow {
		margin-bottom: 18px;
		font-size: 14px;
		letter-spacing: 2px;
	}

	.fbb-parcerias__content .fbb-section__title {
		font-size: 42px;
		line-height: 1.12;
	}

	.fbb-parcerias__destaque {
		margin: 22px 0 26px;
		font-size: 17px;
		font-weight: var( --fbb-font-weight-bold );
		line-height: 1.6;
		color: var( --fbb-color-text );
	}

	.fbb-parcerias__texto {
		margin: 0 0 34px;
		font-size: 15px;
		line-height: 1.7;
	}

	.fbb-parcerias__media {
		width: 690px;
		max-width: 100%;
		justify-self: start;
	}

	.fbb-parcerias__image {
		width: 100%;
		border-radius: 0;
	}

	.fbb-parcerias__decoracao {
		position: absolute;
		left: 45px;
		bottom: 0px;
		width: 360px;
		height: auto;
		pointer-events: none;
	}
}

@media ( max-width: 1023px ) {
	.fbb-section--parcerias {
		position: relative;
		overflow: hidden;
	}

	.fbb-parcerias__destaque {
		font-weight: var( --fbb-font-weight-bold );
		color: var( --fbb-color-text );
	}

	.fbb-parcerias__decoracao {
		display: none;
	}
}

/* Mantém Quem Somos dentro das margens do frame em desktop. Esta regra
 * precisa vir depois do override global de 1920px. */
@media ( min-width: 1720px ) {
	.fbb-section--cuidado .fbb-cuidado__container {
		width: 100%;
		max-width: 1720px;
		padding-left: 70px;
		padding-right: 0;
		grid-template-columns: 560px 995px;
		gap: 95px;
	}

	.fbb-section--cuidado .fbb-cuidado__media {
		width: 995px;
		max-width: 995px;
	}
}

@media ( min-width: 1024px ) and ( max-width: 1719px ) {
	.fbb-section--cuidado .fbb-cuidado__container {
		width: calc( 100% - 80px );
		max-width: none;
		padding-inline: 0;
		grid-template-columns: minmax( 420px, 38% ) minmax( 0, 1fr );
		gap: clamp( 50px, 5vw, 95px );
	}

	.fbb-section--cuidado .fbb-cuidado__media,
	.fbb-section--cuidado .fbb-cuidado__image {
		width: 100%;
		max-width: 100%;
	}
}

/* CTA global de atendimento. */
.fbb-fale-com-gente {
	min-height: 230px;
	display: flex;
	align-items: center;
	padding: 48px 0;
	background: var( --fbb-color-navy );
}

.fbb-fale-com-gente__container {
	width: 100%;
	max-width: 1470px;
	padding-inline: 48px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 80px;
}

.fbb-fale-com-gente__intro {
	display: flex;
	align-items: center;
	gap: 34px;
	min-width: 0;
}

.fbb-fale-com-gente__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 118px;
	height: 118px;
	color: var( --fbb-color-white );
	flex: 0 0 auto;
}

.fbb-fale-com-gente__icon-img,
.fbb-fale-com-gente__icon svg {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.fbb-fale-com-gente__titulo {
	margin: 0 0 10px;
	color: var( --fbb-color-white );
	font-size: 36px;
	line-height: 1.15;
}

.fbb-fale-com-gente__texto {
	max-width: 420px;
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: var( --fbb-color-white );
}

.fbb-fale-com-gente__ctas {
	display: flex;
	align-items: center;
	gap: 30px;
	flex: 0 0 auto;
}

.fbb-fale-com-gente__ctas .fbb-btn--pill {
	min-width: 210px;
	min-height: 88px;
	justify-content: center;
	padding: 26px 38px;
	font-size: 16px;
	gap: 14px;
}

.fbb-fale-com-gente__ctas .fbb-btn--pill svg {
	width: 28px;
	height: 28px;
}

@media ( max-width: 767px ) {
	.fbb-fale-com-gente {
		padding: 32px 0;
	}

	.fbb-fale-com-gente__container {
		flex-direction: column;
		gap: 24px;
		text-align: center;
	}

	.fbb-fale-com-gente__intro {
		flex-direction: column;
		gap: 14px;
	}

	.fbb-fale-com-gente__ctas {
		justify-content: center;
		flex-wrap: wrap;
	}
}

/* ODS Home — selo oficial do CPT + descrição. */
@media ( min-width: 1024px ) {
	.fbb-section--ods-home {
		min-height: 900px;
		padding: 150px 0;
	}

	.fbb-section--ods-home > .fbb-section__container {
		width: 100%;
		max-width: 1640px;
		grid-template-columns: 580px minmax( 0, 1fr );
		gap: 28px 70px;
	}

	.fbb-section--ods-home .fbb-section__header .fbb-section__title {
		font-size: 42px;
		line-height: 1.12;
	}

	.fbb-section--ods-home .fbb-ods-home__texto {
		max-width: 560px;
		font-size: 15px;
		line-height: 1.7;
	}

	.fbb-ods-home__grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
		gap: 24px 26px;
	}
}

.fbb-ods-card {
	display: grid;
	grid-template-columns: 164px minmax( 0, 1fr );
	align-items: stretch;
	min-height: 164px;
	background: #f0f0f0;
}

.fbb-ods-card__image-link {
	display: block;
	height: 100%;
}

.fbb-ods-card__image {
	display: block;
	width: 164px;
	height: 100%;
	object-fit: cover;
}

.fbb-ods-card__body {
	display: flex;
	align-items: center;
	padding: 24px 28px;
}

.fbb-ods-card__body p {
	margin: 0;
	font-family: var( --fbb-font-family );
	font-size: 14px;
	font-weight: var( --fbb-font-weight-medium );
	line-height: 1.7;
	color: var( --fbb-color-text );
}

@media ( max-width: 767px ) {
	.fbb-ods-card {
		grid-template-columns: 110px minmax( 0, 1fr );
		min-height: 110px;
	}

	.fbb-ods-card__image {
		width: 110px;
		height: 110px;
	}

	.fbb-ods-card__body {
		padding: 14px;
	}

	.fbb-ods-card__body p {
		font-size: 12px;
	}
}

/* Blog Home — 1 destaque + 3 posts secundários. */
@media ( min-width: 1024px ) {
	.fbb-section--noticias {
		padding: 96px 0 110px;
	}

	.fbb-section--noticias > .fbb-section__container {
		width: 100%;
		max-width: 1440px;
	}

	.fbb-section--noticias .fbb-section__header {
		margin-bottom: 48px;
	}

	.fbb-section--noticias .fbb-section__title {
		font-size: 36px;
	}

	.fbb-news-grid {
		grid-template-columns: 1fr 1fr;
		gap: 20px;
	}

	.fbb-news-grid__featured .fbb-card__image-link {
		flex: 0 0 416px;
		height: 416px;
	}

	.fbb-news-grid__featured .fbb-card__image {
		height: 100%;
	}

	.fbb-news-grid__secondary {
		gap: 20px;
	}

	.fbb-news-grid__secondary .fbb-card--news {
		height: 218px;
		overflow: hidden;
	}

	.fbb-section--noticias .fbb-card__body {
		padding: 24px;
	}

	.fbb-section--noticias .fbb-card--news-secondary .fbb-card__title a {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		font-size: 18px;
		line-height: 1.15;
	}

	.fbb-section--noticias .fbb-card--news-secondary .fbb-card__excerpt {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		margin-bottom: 8px;
		font-size: 13px;
		line-height: 1.35;
	}

	.fbb-section--noticias .fbb-card--news-secondary .fbb-card__body {
		overflow: hidden;
		padding: 16px 20px;
	}

	.fbb-section--noticias .fbb-card--news-secondary .fbb-card__title {
		margin-bottom: 8px;
	}

	.fbb-section--noticias .fbb-card--news-secondary .fbb-card__link {
		flex-shrink: 0;
		margin-top: auto;
		font-size: 13px;
	}
}

/* Eventos Home — data + imagem, conteúdo revelado no hover. */
.fbb-eventos__actions {
	display: flex;
	align-items: center;
	gap: 18px;
}

.fbb-eventos__actions .fbb-btn--pill {
	padding: 15px 24px;
	font-size: 13px;
}

.fbb-eventos__current {
	pointer-events: none;
}

@media ( min-width: 1024px ) {
	.fbb-section--eventos {
		padding: 86px 0 100px;
	}

	.fbb-section--eventos > .fbb-section__container {
		width: 100%;
		max-width: 1640px;
	}

	.fbb-section--eventos .fbb-section__header {
		margin-bottom: 34px;
	}

	.fbb-section--eventos .fbb-section__title {
		font-size: 40px;
	}

	.fbb-eventos-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
		gap: 20px 24px;
	}

	.fbb-event-card {
		display: grid;
		grid-template-columns: 32% minmax( 0, 1fr );
		height: 250px;
		min-height: 250px;
	}

	.fbb-event-card__data {
		width: auto;
	}

	.fbb-event-card__dia {
		font-size: 72px;
	}

	.fbb-event-card__mes {
		font-size: 22px;
		font-weight: var( --fbb-font-weight-bold );
		text-transform: lowercase;
	}

	.fbb-event-card__ano {
		font-size: 17px;
		color: var( --fbb-color-white );
	}
}

.fbb-event-card__media {
	position: relative;
	min-width: 0;
	height: 100%;
	overflow: hidden;
	background: #e5e5e5;
	text-decoration: none;
}

.fbb-event-card__media:focus-visible {
	outline: 3px solid var( --fbb-color-yellow );
	outline-offset: -3px;
}

.fbb-event-card__media .fbb-event-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fbb-event-card__media .fbb-event-card__body {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 16px 20px;
	background: rgba( 0, 35, 120, .88 );
	opacity: 0;
	transform: translateY( 12px );
	transition: opacity .22s ease, transform .22s ease;
}

.fbb-event-card:hover .fbb-event-card__body,
.fbb-event-card:focus-within .fbb-event-card__body {
	opacity: 1;
	transform: translateY( 0 );
}

.fbb-event-card__media .fbb-event-card__titulo,
.fbb-event-card__media .fbb-event-card__descricao {
	color: var( --fbb-color-white );
}

.fbb-event-card__media .fbb-event-card__titulo {
	margin: 0;
	font-size: 16px;
}

.fbb-event-card__media .fbb-event-card__descricao {
	display: -webkit-box;
	overflow: hidden;
	margin-top: 6px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	font-size: 12px;
}

@media ( max-width: 767px ) {
	.fbb-eventos__actions {
		flex-wrap: wrap;
	}

	.fbb-event-card__media .fbb-event-card__body {
		opacity: 1;
		transform: none;
	}
}

/* =============================================================
 * Ritmo vertical unificado da Home.
 * Seções editoriais ocupam ao menos 90% da viewport; faixas e CTAs
 * compactos preservam altura orientada pelo conteúdo.
 * ============================================================= */
.fbb-section--cuidado,
.fbb-section--atuacao,
.fbb-section--parcerias,
.fbb-section--ods-home,
.fbb-section--eventos,
.fbb-section--noticias {
	min-height: 100svh;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	padding-block: var( --fbb-section-space-block );
}

.fbb-section--cuidado > .fbb-section__container,
.fbb-section--atuacao > .fbb-section__container,
.fbb-section--parcerias > .fbb-section__container,
.fbb-section--ods-home > .fbb-section__container,
.fbb-section--eventos > .fbb-section__container,
.fbb-section--noticias > .fbb-section__container {
	width: 100%;
}

@media ( min-width: 1720px ) {
	.fbb-section--cuidado .fbb-cuidado__container {
		grid-template-columns: minmax( 0, 560px ) minmax( 0, 1fr );
		gap: 95px;
	}

	.fbb-section--cuidado .fbb-cuidado__media,
	.fbb-section--cuidado .fbb-cuidado__image {
		width: 100%;
		max-width: none;
	}
}

@media ( max-width: 767px ) {
	.fbb-section--cuidado,
	.fbb-section--atuacao,
	.fbb-section--parcerias,
	.fbb-section--ods-home,
	.fbb-section--eventos,
	.fbb-section--noticias {
		padding-block: var( --fbb-section-space-block );
	}
}

/* Apoie a causa — bloco compacto de conversão e formas de apoio. */
.fbb-cta-final--dark {
	padding: 60px 0 52px;
}

.fbb-cta-final__container {
	width: 100%;
	max-width: 1500px;
	padding-inline: 40px;
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) 350px;
	gap: 30px 80px;
	align-items: center;
	text-align: left;
}

.fbb-cta-final__copy {
	position: relative;
	padding-right: 80px;
}

.fbb-cta-final__copy::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 1px;
	height: 100%;
	background: #8d8d8d;
}

.fbb-cta-final__copy .fbb-eyebrow {
	margin-bottom: 12px;
	color: var( --fbb-color-navy );
}

.fbb-cta-final__titulo {
	max-width: 460px;
	font-size: 36px;
}

.fbb-cta-final__texto {
	max-width: 520px;
	margin-top: 14px;
	font-size: 14px;
	line-height: 1.6;
}

.fbb-cta-final__ctas {
	grid-column: 2;
	grid-row: 1;
	align-items: stretch;
	gap: 18px;
}

.fbb-cta-final__ctas .fbb-btn--pill {
	min-width: 220px;
	justify-content: center;
	padding: 18px 28px;
}

.fbb-cta-final__button-icon {
	display: block;
	width: 28px;
	height: 28px;
	object-fit: contain;
}

.fbb-cta-final__formas {
	grid-column: 1 / -1;
	grid-row: 2;
	margin-top: 0;
	padding-top: 38px;
}

.fbb-cta-final__forma-item {
	position: relative;
	flex: 1 1 0;
	width: auto;
	min-width: 0;
	font-size: 15px;
	font-weight: var( --fbb-font-weight-bold );
}

.fbb-cta-final__forma-item + .fbb-cta-final__forma-item::before {
	content: '';
	position: absolute;
	left: -12px;
	top: 2px;
	width: 1px;
	height: 52px;
	background: #9b9b9b;
}

.fbb-cta-final__forma-image,
.fbb-cta-final__forma-item svg {
	width: 48px;
	height: 48px;
}

@media ( max-width: 767px ) {
	.fbb-cta-final__container {
		display: flex;
		padding-inline: 22px;
	}

	.fbb-cta-final__copy {
		padding-right: 0;
	}

	.fbb-cta-final__copy::after,
	.fbb-cta-final__forma-item::before {
		display: none;
	}
}

/* =============================================================
 * SISTEMA CANÔNICO DE LAYOUT — 1440px úteis em desktop
 * Esta é a única camada autorizada a definir a área de conteúdo da Home.
 * ============================================================= */
.fbb-main--home .fbb-section__container,
.fbb-main--home .fbb-cta-final__container {
	width: 100%;
	max-width: var( --fbb-container-max-width );
	padding-right: var( --fbb-container-padding-inline );
	padding-left: var( --fbb-container-padding-inline );
}

/* Trust bar. */
.fbb-section--estatisticas {
	height: 108px;
	min-height: 108px;
	padding-block: 12px;
}

.fbb-section--estatisticas .fbb-section__container {
	max-width: var( --fbb-container-max-width );
}

.fbb-stats-band__numero {
	font-size: 52px;
}

.fbb-stats-band__label {
	font-size: 13px;
}

@media ( min-width: 1024px ) and ( max-width: 1439px ) {
	.fbb-section--estatisticas {
		height: 80px;
		min-height: 80px;
		padding-block: 8px;
	}

	.fbb-stats-band__numero {
		font-size: 40px;
	}

	.fbb-stats-band__label {
		font-size: 11px;
	}
}

@media ( max-width: 1023px ) {
	.fbb-section--estatisticas {
		height: auto;
		min-height: 132px;
		padding-block: 16px;
	}
}

@media ( min-width: 1024px ) {
	/* Quem somos. */
	.fbb-section--cuidado .fbb-cuidado__container {
		grid-template-columns: minmax( 0, 510px ) minmax( 0, 1fr );
		gap: 80px;
	}

	.fbb-section--cuidado .fbb-cuidado__content {
		max-width: 510px;
	}

	.fbb-section--cuidado .fbb-cuidado__content .fbb-section__title {
		font-size: clamp( 42px, 2.45vw, 47px );
	}

	.fbb-section--cuidado .fbb-cuidado__media,
	.fbb-section--cuidado .fbb-cuidado__image {
		width: 100%;
		height: 590px;
		min-height: 590px;
		max-width: none;
	}

	.fbb-cuidado__decoracao {
		left: calc( 50% - 350px );
		width: 300px;
	}

	/* Programas. */
	.fbb-section--atuacao .fbb-section--atuacao__container {
		max-width: var( --fbb-container-max-width );
	}

	.fbb-section--atuacao__container .fbb-atuacao__gallery {
		grid-template-rows: 383px 282px;
		gap: 18px;
	}

	.fbb-section--atuacao .fbb-atuacao__content {
		max-width: 650px;
		padding-left: 96px;
	}

	.fbb-section--atuacao .fbb-atuacao__heading {
		font-size: 38px;
		white-space: nowrap;
	}

	.fbb-section--atuacao .fbb-atuacao__texto {
		max-width: 540px;
	}

	/* Parcerias. */
	.fbb-section--parcerias .fbb-section--parcerias__container {
		grid-template-columns: 1fr 1fr;
		gap: 100px;
	}

	.fbb-section--parcerias .fbb-parcerias__content {
		max-width: 520px;
		padding-left: 0;
	}

	.fbb-section--parcerias .fbb-parcerias__media {
		width: min( 100%, 630px );
	}

	/* ODS. */
	.fbb-section--ods-home > .fbb-section__container {
		grid-template-columns: 520px minmax( 0, 1fr );
		gap: 26px 60px;
	}

	.fbb-section--ods-home .fbb-section__header .fbb-section__title {
		font-size: 38px;
	}

	.fbb-ods-card {
		grid-template-columns: 150px minmax( 0, 1fr );
		min-height: 150px;
	}

	.fbb-ods-card__image {
		width: 150px;
		height: 100%;
	}

	.fbb-ods-card__body {
		padding: 20px 24px;
	}

	/* Eventos. */
	.fbb-section--eventos .fbb-event-card {
		height: 228px;
		min-height: 228px;
	}

	.fbb-section--eventos .fbb-event-card__dia {
		font-size: 64px;
	}

	.fbb-section--eventos .fbb-event-card__mes {
		font-size: 20px;
	}

	/* Notícias: duas colunas de 710px dentro dos 1440px úteis. */
	.fbb-section--noticias .fbb-news-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
		gap: 20px;
	}

	/* Faixas compactas no mesmo eixo horizontal. */
	.fbb-fale-com-gente__container {
		max-width: 1470px;
	}

	.fbb-cta-final__container {
		max-width: var( --fbb-container-max-width );
	}
}

@media ( max-width: 1023px ) {
	.fbb-main--home .fbb-section__container,
	.fbb-main--home .fbb-cta-final__container {
		padding-right: var( --fbb-container-padding-tablet );
		padding-left: var( --fbb-container-padding-tablet );
	}
}

@media ( max-width: 767px ) {
	.fbb-main--home .fbb-section__container,
	.fbb-main--home .fbb-cta-final__container {
		padding-right: var( --fbb-container-padding-mobile );
		padding-left: var( --fbb-container-padding-mobile );
	}
}
.fbb-cuidado__image-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 26rem;
	background: var(--fbb-color-gray-200, #d9d9d9);
}

/* =============================================================
 * Ajustes finais de responsividade.
 * Notebook inclui o caso de baixa altura 1366x768. As regras ficam
 * no fim do arquivo para resolver apenas conflitos da composição
 * desktop, sem alterar sua estrutura ou lógica.
 * ============================================================= */
@media ( min-width: 1024px ) and ( max-width: 1439px ) {
	.fbb-section--cuidado .fbb-cuidado__container {
		grid-template-columns: minmax( 360px, 38% ) minmax( 0, 1fr );
		gap: clamp( 40px, 4vw, 56px );
	}

	.fbb-section--cuidado .fbb-cuidado__media,
	.fbb-section--cuidado .fbb-cuidado__image {
		min-width: 0;
		width: 100%;
	}

	.fbb-section--atuacao .fbb-atuacao__content {
		min-width: 0;
		padding-left: clamp( 0px, 3vw, 40px );
	}

	.fbb-section--atuacao .fbb-atuacao__heading {
		white-space: normal;
	}

	.fbb-section--ods-home > .fbb-section__container {
		grid-template-columns: minmax( 320px, 380px ) minmax( 0, 1fr );
		gap: 26px 40px;
	}

	.fbb-ods-card {
		grid-template-columns: 120px minmax( 0, 1fr );
		min-width: 0;
		min-height: 120px;
	}

	.fbb-ods-card__image {
		width: 120px;
		height: 100%;
	}

	.fbb-ods-card__body {
		min-width: 0;
		padding: 16px;
	}
}

@media ( min-width: 1024px ) and ( max-width: 1439px ) and ( max-height: 800px ) {
	.fbb-section--estatisticas {
		height: 80px;
		min-height: 80px;
		padding-block: 8px;
	}

	.fbb-section--estatisticas .fbb-stats-band__numero {
		font-size: 40px;
	}

	.fbb-section--estatisticas .fbb-stats-band__label {
		font-size: 11px;
		line-height: 1.2;
	}

	.fbb-section--atuacao__container .fbb-atuacao__gallery {
		grid-template-rows: 310px 225px;
	}

	.fbb-section--cuidado .fbb-cuidado__media,
	.fbb-section--cuidado .fbb-cuidado__image {
		height: 480px;
		min-height: 480px;
	}
}

@media ( max-width: 767px ) {
	.fbb-section--estatisticas {
		height: auto;
		min-height: 0;
		padding-block: 24px;
	}

	.fbb-section--estatisticas .fbb-stats-band {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
		row-gap: 24px;
	}

	.fbb-section--estatisticas .fbb-stats-band__numero {
		font-size: 40px;
	}

	.fbb-section--estatisticas .fbb-stats-band__label {
		font-size: 11px;
		line-height: 1.25;
	}

	.fbb-cuidado__container,
	.fbb-cuidado__content,
	.fbb-cuidado__media,
	.fbb-section--atuacao__container,
	.fbb-atuacao__gallery,
	.fbb-atuacao__content {
		min-width: 0;
		width: 100%;
		max-width: 100%;
	}

	.fbb-cuidado__content,
	.fbb-cuidado__texto,
	.fbb-atuacao__content,
	.fbb-atuacao__texto {
		overflow-wrap: break-word;
	}

	.fbb-cuidado__content .fbb-section__title,
	.fbb-atuacao__heading {
		font-size: clamp( 28px, 7.5vw, 32px );
		line-height: 1.18;
		white-space: normal;
	}

	.fbb-cuidado__media,
	.fbb-cuidado__image {
		width: 100%;
		height: auto;
		min-height: 0;
		aspect-ratio: 4 / 3;
		object-fit: cover;
	}

	.fbb-atuacao__gallery {
		grid-template-rows: none;
		grid-auto-rows: auto;
	}

	.fbb-atuacao__content {
		grid-column: 1 / -1;
		grid-row: auto;
		padding: 0 0 18px;
	}

	.fbb-atuacao__gallery-item {
		min-width: 0;
		min-height: 210px;
		height: 210px;
	}

	.fbb-atuacao__gallery-label {
		overflow-wrap: anywhere;
	}
}

@media ( max-width: 479px ) {
	.fbb-atuacao__gallery {
		grid-template-columns: minmax( 0, 1fr );
	}

	.fbb-atuacao__gallery-item {
		height: auto;
		aspect-ratio: 4 / 3;
	}
}
