@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Prompt:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&amp;display=swap');

/* RESET */
* { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0,0,0,0); }
input:focus, button:focus, textarea:focus, select:focus { outline: none; }
input, select, textarea, button { font-family: "Prompt", sans-serif; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; }

/* BASE */
html, body { min-height: 100%; }

body { font-family: "Prompt", sans-serif; font-size: 16px; color: #1a1a1a; font-weight: 300; background-color: #fff; }
h1, h2, h3, h4, h5, h6 { font-weight: 500; }
a { text-decoration: none; color: inherit; }
.container { width: 100%; max-width: 1300px; margin: 0 auto; transition: all 0.2s ease; }
.menu-toggle, header .whatsapp { display: none; }

header { padding: 80px 0 40px 0; }
header .container { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; }
header .logo { height: 80px; display: block; }
header .logo img { height: 100%; width: auto; }

header .menu a { margin-left: 20px; text-decoration: none; color: #000; letter-spacing: 0.5px; font-size: 16px; font-weight: 400; text-transform: uppercase; transition: all 0.2s ease; }
header .menu a:hover { color: #ba2542; }
header .whatsapp { color: #1a1a1a; font-size: 30px; }


/* HERO INICIAL */
.hero { position: relative; padding-bottom: 80px; }
.hero::after { content: ""; position: absolute; bottom: 0; z-index: -1; display: block; width: 100%; height: 240px; background: #f5f5f5; clip-path: polygon(100% 0, 100% 100%, -20% 100%); }

.hero .container { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 40px; }

.hero .info { max-width: 570px; flex: 1; }
.hero .info h1 { font-size: 72px; }
.hero .info h1 span { display: block; font-size: 48px; font-weight: 400; margin-top: -20px; }
.hero .info h2 { font-size: 24px; font-weight: 400; margin: 40px 0 20px 0; line-height: 1.2; }
.hero .info p { font-size: 18px; font-weight: 300; color: #666; line-height: 1.6; }

.botao-whatsapp { display: inline-flex; gap: 10px; align-items: center; justify-content: center; padding: 11px 30px; border-radius: 25px; margin-top: 40px; background: #25d366; color: #fff; text-decoration: none; font-size: 18px; font-weight: 400; transition: all 0.2s ease; }
.botao-whatsapp:hover { filter: brightness(1.1); }
.botao-whatsapp i { font-size: 24px; }

.hero-media { display: grid; grid-template-columns: 300px 254px; grid-template-rows: 260px 260px; gap: 10px; margin-top: 20px; }
.img-borda { position: relative; width: 260px; height: 260px; }
.img-borda img { width: 100%; height: 100%; object-fit: cover; display: block; position: relative; border-radius: 8px 8px 0 8px; z-index: 1; }
.img-borda::before { content: ""; position: absolute; top: -15px; left: -15px; width: 260px; height: 260px; border: 3px solid #ba2542; border-radius: 8px 8px 0 8px; z-index: 0; }

.hero-media > .img-borda { grid-column: 1; grid-row: 1; justify-self: end; align-self: end; }

.img-retangular { width: 254px; height: 220px; }
.img-retangular img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 8px 8px 8px 0; }
.hero-media > .img-retangular { grid-column: 2; grid-row: 1; align-self: end; }

.img-maior { width: 300px; height: 260px; }
.img-maior img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 8px 0 8px 8px; }
.hero-media > .img-maior { grid-column: 1; grid-row: 2; }


.anos { width: 230px; height: 230px; background: #ba2542; color: #fff; display: flex; align-items: center; justify-content: center; text-align: center; border-radius: 0 8px 8px 8px; }
.anos span { display: block; font-size: 128px; line-height: .8; font-weight: 300; }
.anos p { font-size: 58px; line-height: .8; }
.hero-media > .anos { grid-column: 2; grid-row: 2; align-self: start; }

.hero-media > * { transform: translateZ(0); transition: filter .35s ease; will-change: filter; }
.hero-media > *.pulse { animation: heroHighlight .9s ease-in-out both; }

@keyframes heroHighlight {
	0% { filter: brightness(1); }
	50% { filter: brightness(1.18); }
	100% { filter: brightness(1); }
}

/* DESTAQUES 0*/
.destaques-0 { background: #f5f5f5; padding-bottom: 10px; }
.destaques-0 h3 { font-size: 22px; font-weight: 400; color: #ba2542; text-align: center; line-height: 1.2;font-weight:bold; margin-bottom: 10px; }
.destaques-0 .sub-titulo { font-weight: 300; font-size: 20px; text-align: center; max-width: 730px; margin: 0 auto; }

.cards { display: flex; align-items: stretch; justify-content: space-between; gap: 40px; padding: 40px 0 40px 0; flex-wrap: wrap; }
.card-box { flex: 1 240px; padding: 30px; text-align: center; border-radius: 16px; background: #fff; box-shadow: 0 4px 32px rgba(0,0,0,0.1);  }
.card-box i { display: inline-flex; align-items: center; justify-content: center; font-size: 30px; width: 50px; height: 50px; color: #fff; background: #ba2542; margin-bottom: 20px; border-radius: 50%; }
.card-box h4 { font-size: 18px; margin-bottom: 10px;  }
.card-box p { color: #666; line-height: 1.6;  }

/* DESTAQUES */
.destaques { background: #f5f5f5; padding-bottom: 10px; }

.destaques h1 { font-size: 36px; font-weight: bold; color: #ba2542; text-align: center; line-height: 1.2; margin-bottom: 10px; }


.destaques h3 { font-size: 20px; font-weight: bold; color: #ba2542; text-align: center; line-height: 1.2; margin-bottom: 10px; }
.destaques .sub-titulo { font-weight: 300; font-size: 18px; text-align: center; max-width: 730px; margin: 0 auto; }

.cards { display: flex; align-items: stretch; justify-content: space-between; gap: 40px; padding: 40px 0 40px 0; flex-wrap: wrap; }
.card-box { flex: 1 240px; padding: 30px; text-align: center; border-radius: 16px; background: #fff; box-shadow: 0 4px 32px rgba(0,0,0,0.1);  }
.card-box i { display: inline-flex; align-items: center; justify-content: center; font-size: 30px; width: 50px; height: 50px; color: #fff; background: #ba2542; margin-bottom: 20px; border-radius: 50%; }
.card-box h4 { font-size: 18px; margin-bottom: 10px;  }
.card-box p { color: #666; line-height: 1.6;  }

/* NÚMEROS */
.numeros { display: flex; align-items: stretch; justify-content: center; gap: 80px; flex-wrap: wrap; padding: 40px; border: 1px solid #ccc; margin: 0 auto; max-width: 1120px; border-radius: 64px; }
.numeros .info { display: flex; flex-direction: column; text-align: center; }
.numeros .info h5 { font-size: 48px; }
.numeros .info p { font-size: 18px; margin-top: -10px; color: #808080; }

/* EQUIPE HOME */
.equipe { padding: 80px 0; }
.equipe .container { display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 80px; }
.equipe .imagem { flex: 1 320px; max-width: 500px; height: auto; border-radius: 16px; overflow: hidden; }
.equipe .imagem img { width: 100%; height: 100%; object-fit: cover; display: block;  }

.equipe .descricao { flex: 1 400px; max-width: 600px;  }
.equipe .descricao h5 { font-size: 36px; line-height: 1.2; margin-bottom: 20px; }
.equipe .descricao p { font-size: 18px; color: #808080; }

/* CERTIFICADOS */
.certificados { display: flex; align-items: stretch; justify-content: space-around; gap: 80px; flex-wrap: wrap; padding-bottom: 40px; }
.certificados a { height: 80px; width: auto; }
.certificados a img { width: auto; height: 100%; object-fit: cover; display: block; }


/* CABEÇALHO INTERNAS */
.migalhas { list-style: none; display: flex; flex-wrap: wrap; align-items: center; font-size: 14px; margin-bottom: 5px; color: #808080; gap: 0px; }
.migalhas li { display: flex; align-items: center; }
.migalhas li:not(:last-child)::after { content: "›"; margin: 0 8px; color: #808080; }
.migalhas li.ativo { font-weight: 500; }
.migalhas li a { color: #808080; text-decoration: none; display: flex; align-items: center; gap: 4px; }
.migalhas li a:hover { color: #ba2542; }
.migalhas i { font-size: 16px; }

.cabecalho-livre { margin-top: 20px; }
.cabecalho-livre h1 { font-size: 34px; position: relative; line-height: 1.2; }
.cabecalho-livre h1::before { content: ''; position: absolute; bottom: -15px; left: 0; width: 80px; height: 3px; background: #ba2542; }

h2.global { font-size: 28px; line-height: 1.2; font-weight: 400; padding-top: 40px; }


/* CONTEÚDO PÁGINAS */
.bloco-geral { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 80px; margin: 40px 0; }
.bloco-geral-esquerdo { position: relative; flex: 1 1 300px; max-width: 500px; font-size: 0; }
.bloco-geral-esquerdo::before { content: ''; position: absolute; bottom: -15px; left: -15px; width: 80%; height: 80%; border: 3px solid #ba2542; z-index: 0; border-radius: 16px; }
.bloco-geral-esquerdo img { position: relative; width: 100%; display: block; border-radius: 16px; z-index: 1; }
.bloco-geral-esquerdo iframe { position: relative; border-radius: 16px; z-index: 1; }

.bloco-geral-esquerdo.informativo-imagem { aspect-ratio: 4 / 3; border-radius: 16px; overflow: hidden; background: #f2f2f2; }
.bloco-geral-esquerdo.informativo-imagem img { width: 100%; height: 100%; object-fit: cover; }

.bloco-geral-direito { flex: 1 1 300px; max-width: 620px; }
.bloco-geral-direito h2 { font-size: 28px; line-height: 1.2; font-weight: 400; margin-bottom: 20px; }
.bloco-geral-direito p { line-height: 1.6;	margin-bottom: 15px; }
.bloco-geral-direito p:last-child { margin-bottom: 0; }
.bloco-geral-direito ul { margin-left: 20px; }

.bloco-geral-direito .botao-acao { display: inline-block; padding: 15px 30px; color: #fff; font-size: 14px; text-transform: uppercase; border-radius: 4px; background: #ba2542; transition: all 0.3s ease; }
.bloco-geral-direito .botao-acao:hover { background: #98c83b; }

.bloco-geral .full { max-width: 100%; }

.bloco-mvv { background-color: #f5f5f5; padding: 80px 0; }
.bloco-mvv .container { display: flex; align-items: stretch; justify-content: space-between; gap: 40px; flex-wrap: wrap; text-align: center; }
.mvv-box { flex: 1 280px; background: #fff; padding: 40px; border-radius: 16px; box-shadow: 0 4px 32px rgba(0,0,0,0.1); }
.mvv-box h3 { font-size: 28px; margin-bottom: 20px; }
.mvv-box p { color: #444; line-height: 1.6; }
.mvv-box i { display: inline-flex; align-items: center; justify-content: center; font-size: 30px; width: 50px; height: 50px; color: #fff; background: #ba2542; margin-bottom: 20px; border-radius: 50%; }

.bloco-geral-direito.ajuste-informativo strong, .bloco-geral-direito.ajuste-informativo b { font-weight: 500; }
.bloco-geral-direito.ajuste-informativo ul { margin-bottom: 15px; }

/* SERVIÇOS */
.servicos { margin: 40px 0; }
.servicos h2 { font-size: 28px; line-height: 1.2; font-weight: 400; margin-bottom: 20px; }

.servicos-cards { display: flex; align-items: stretch; justify-content: flex-start; flex-wrap: wrap; gap: 80px; padding: 40px 0; }
.card-servico { flex: 1 265px; }
.card-servico .cabecalho { display: flex; align-items: center; gap: 10px; padding-bottom: 10px; margin-bottom: 20px; border-bottom: 1px solid #ccc; }
.card-servico .cabecalho p { width: 70px; font-size: 60px; font-weight: 500; color: #ba2542;  }
.card-servico .cabecalho h3 { font-size: 24px; line-height: 1.2; }
.card-servico .cabecalho h3 span { display: block; }
.card-servico .descricao { color: #808080; line-height: 1.6;  }


/* INFORMATIVOS */
.informativos { display: flex; align-items: stretch; justify-content: flex-start; flex-wrap: wrap; gap: 40px 80px; padding: 40px 0; }
.card-informativo { flex: 1 380px; }
.card-informativo .data { font-size: 18px; font-weight: 500; color: #ba2542; }
.card-informativo h3 { font-size: 24px; font-weight: 400; line-height: 1.2; margin: 5px 0 10px 0; }
.card-informativo .resumo { color: #808080; line-height: 1.6; }
.card-informativo .resumo::after { content: ' leia mais...'; color: #ba2542; }
.card-informativo:hover .resumo, .card-informativo:hover h3 { color: #ba2542; }

/* INDICADORES */
.indicadores table { width: 100%; margin-bottom: 40px; border: 1px solid #E6E6E6; border-right: 0; border-collapse: collapse; background: #fff; }
.indicadores table tr:hover { background:#f8f8f8; }
.indicadores table td { padding:15px 10px; border-right:1px solid #E6E6E6; border-top:1px dotted #E6E6E6; vertical-align:middle; }
.indicadores table th { padding:15px 10px; background:#f8f8f8; cursor: default; border-right:1px solid #E6E6E6; }
.indicadores table strong { font-weight: 500; }


/* RODAPÉ */
footer { background: #278BF5; padding: 80px 0; color: #fff; }
footer .logo { height: 60px; margin-bottom: 20px; }

footer .info { display: flex; justify-content: space-between; align-items: flex-start; gap: 40px; flex-wrap: wrap; line-height: 1.6; }
footer .info .texto p { margin: 0 0 20px 0; }

footer .info .texto { width: auto; max-width: 375px; }
footer .info .sessao { width: auto; }
footer .info .endereco { width: auto; }

footer .info i { font-size: 24px; margin-right: 5px; }
footer .info h6 { font-size: 18px; margin-bottom: 10px; }
footer .info ul { list-style: none; }
footer .info a { color: #fff; }
footer .info a:hover { text-decoration: underline; }

footer button { display: flex; align-items: center; gap: 12px;  background: none; border: 0; font-size: 24px; color: #1a1a1a; font-weight: 600; cursor: pointer; transition: all 0.2s ease; margin: 0 auto; }
footer button i { display: inline-block; color:#fff; font-size: 16px; height: 24px; width: 24px; background: #ba2542; border-radius: 12px; }
footer button i::before { line-height: 24px; }
footer button:hover { color: #ba2542; }

footer .direitos { font-size: 14px; margin-top: 40px; }
footer .direitos a { font-weight: 500; font-style: italic; }


/* BLOCO CONTATO */
.bloco-contato { display: flex; justify-content: center; align-items: stretch; gap: 40px; margin: 40px 0; flex-wrap: wrap; }
.contato-item { flex: 1; min-width: 280px; border: 1px solid #D7D7E6; padding: 40px; text-align: center; border-radius: 16px; text-decoration: none; transition: all 0.3s ease; }
.contato-item:hover { border-color: #ba2542; }
.contato-item i { font-size: 60px; color: #ba2542; margin-bottom: 20px; display: block; }
.contato-item h4 { font-size: 28px; margin-bottom: 20px; }
.contato-item p { color: #808080; line-height: 1.5; }


.form-contato {
	background: #fff;
	padding: 40px;
	margin: 60px 0 -80px 0;
	border-radius: 16px;
	box-shadow: 0 4px 32px rgba(0,0,0,0.1);
	z-index: 2;
	position: relative;
}

.form-contato h4 { font-size: 28px; margin-bottom: 10px; }
.form-contato .info-contato { margin-bottom: 40px; display: inline-block; }

.form-contato form {
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.form-contato .form-linha {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}

.form-contato .campo {
	position: relative;
	flex: 1;
	min-width: 220px;
}

.form-contato .campo.full {
	width: 100%;
}

.form-contato .campo input,
.form-contato .campo textarea {
	width: 100%;
	padding: 18px 50px 18px 18px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 16px;
	transition: all 0.3s ease;
}

.form-contato .campo input:focus, .form-contato .campo textarea:focus { border: 1px solid #ba2542; }

.form-contato .campo i {
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	color: #ba2542;
	font-size: 18px;
}

.form-contato button {
	background: #ba2542;
	color: #fff;
	border: none;
	padding: 15px 30px;
	border-radius: 4px;
	font-size: 14px;
	cursor: pointer;
	align-self: flex-start;
	transition: all 0.3s ease;
}

.form-contato button:hover { filter: brightness(1.1); }

/* Campo oculto de segurança para bloquear bots */
.campo-endereco-form { position: absolute; left: -9999px; }

.retorno-email { width: 100%; font-weight: 500; padding: 30px; text-align: center; background: #30f998; }
.retorno-email.erro { color: #fff; background: #E95672; }

/* Mapa de Localização */
.mapa-localizacao { display: flex; align-items: center; width: 100%; height: 600px; overflow: hidden; background-color: #f8f8f8; padding: 0; margin: 0; border: 0; z-index: 0; }
.mapa-localizacao iframe { display: block; width: 100%; height: 100%; border: 0; margin: 0; padding: 0; }
.mapa-localizacao img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }


/* Menu Mobile Completo */
.menu-mobile {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 999;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s ease;
}

header.aberto .menu-mobile {
	pointer-events: auto;
	opacity: 1;
}

.menu-mobile .overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 1;
}

.menu-mobile .painel {
	position: absolute;
	top: 0;
	left: -65%;
	width: 65%;
	height: 65%;
	background: #278BF5;
	padding: 40px;
	display: flex;
	flex-direction: column;
	z-index: 2;
	transition: transform 0.3s ease;
	transform: translateX(0);
	box-shadow: 5px 0px 10px rgb(0 0 0 / 0.1);
}

header.aberto .menu-mobile .painel {
	transform: translateX(100%);
}

.logo-mobile {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 40px 0 60px 0;
}

.logo-mobile img { height: 60px; }


.fechar-menu {
	background: none;
	border: none;
	color: #fff;
	font-size: 30px;
	cursor: pointer;
}


.menu-mobile nav ul {
	list-style: none;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.menu-mobile nav ul li a {
	color: #fff;
	font-size: 18px;
	font-weight: 400;
	text-transform: uppercase;
	display: block;
	letter-spacing: 1px;
}


@media (max-width: 1366px) {
	header { padding: 40px 0; }
	.container { padding: 0 40px; }
}

@media (max-width: 1024px) {
	.hero .info { max-width: 100%; flex: none; }
	
	.hero-media { width: 100%; grid-template-columns: 50% 50%; gap: 0; }
	.img-borda { width: 100%; height: 100%; }
	.img-borda img { border-radius: 0; }
	.img-borda::before { display: none; }

	.img-retangular { width: 100%; height: 100%; }
	.img-retangular img { border-radius: 0; }

	.img-maior { width: 100%; height: 100%; }
	.img-maior img { border-radius: 0; }

	.anos { width: 100%; height: 100%; border-radius: 0; }
	.anos span { display: block; font-size: 128px; line-height: .8; font-weight: 300; }
	.anos p { font-size: 58px; line-height: .8; }
	
	
}	


@media (max-width: 768px) {	
	
	.hero { padding-bottom: 40px; }
	.hero::after { content: ""; position: absolute; bottom: 0; z-index: -1; display: block; width: 100%; height: 240px; background: #f5f5f5; clip-path: polygon(100% 0, 100% 100%, -20% 100%); }
	
	.hero-media { width: calc(100% + 60px); margin: 0 -30px 0 -30px; grid-template-rows: 240px 240px; }
	.hero .info h2 { margin: 20px 0; }
	
	.cards { gap: 20px; }
	.numeros { gap: 40px; padding: 30px; }	
	.equipe .container { gap: 40px; }
	.equipe .imagem { max-width: 100%; }
	.equipe .descricao { max-width: 100%;  }	
	.certificados { gap: 40px; }
	
	.bloco-geral { gap: 40px; }
	.bloco-mvv { padding: 40px 0; }
	
	.bloco-geral-esquerdo.informativo-imagem { margin-top: 10px; max-width: none; min-width: 100%; aspect-ratio: 16 / 9; order: -1; }	
	
	.cabecalho-livre h1.ajuste-informativo { font-size: 28px; }
	.bloco-geral-direito.ajuste-informativo h2 { font-size: 24px; }
	.bloco-geral-direito.ajuste-informativo p { font-size: 18px; }	
	
	.bloco-contato { gap: 20px; }
	.contato-item { min-width: 150px; padding: 20px; }
	.contato-item i { font-size: 40px; }
	.contato-item h4 { font-size: 24px; font-weight: 600; }	
	
	.form-contato { padding: 30px; margin: 40px 0 -60px 0; }
	.form-contato form { gap: 20px; }
	.form-contato .form-linha {	gap: 20px; }
	.form-contato button { width: 100%; text-align: center;	}
	.mapa-localizacao { height: 400px; }
	
	footer .info .texto { max-width: 100%; }
	
}

@media (max-width: 660px) {
	header { padding: 30px 0; }
	header .logo { height: 60px; }
	header .menu { display: none; }
	header .whatsapp { display: block; }
	.container { padding: 0 30px; }	
	.menu-mobile { display: flex; }
	
	.botao-whatsapp { display: flex; }

	.servicos-cards { gap: 40px; padding: 20px 0; }
	
	
	/* Botão Menu Mobile */
	.menu-toggle { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; width: 30px; height: 30px; background: none; border: none; cursor: pointer; }
	.menu-toggle span { display: block; width: 24px; height: 2px; background-color: #1a1a1a; border-radius: 2px; transition: 0.3s ease; }
	.menu-toggle.ativo span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
	.menu-toggle.ativo span:nth-child(2) { opacity: 0; }
	.menu-toggle.ativo span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }
}
	