html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

body {
	line-height: 1;
	font-family: "Poppins", sans-serif;
	background-color: var(--preto);
}

a {
	text-decoration: none;
}

html {
	font-size: 16px;
	scroll-behavior: smooth;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

* {
	box-sizing: border-box;
	line-height: normal;
}

textarea:focus,
input:focus {
	outline: none;
}

.container {
	width: 1240px;
	max-width: 90%;
	margin: 0 auto;
}

svg {
	max-width: 100%;
	height: auto;
}

.quebra-linha {
	display: block;
}

.texto,
.titulo {
	font-family: var(--space);
}

.honeypot {
	display: none;
}

:root {
	--azul: #3B82F6;
	--preto: #222222;
	--branco: #fff;
	--transicao: 0.2s all ease-in-out;
	--space: "Space Grotesk", sans-serif;
}

/* Header */

header {
	position: absolute;
	top: 0;
	width: 100%;
	left: 0;
	top: 76px;
	z-index: 1000;
}

header .container {
	color: var(--branco);
	display: flex;
	justify-content: space-between;
	align-items: center;
}

header .container .esq {
	font-size: 27px;
	display: flex;
	align-items: center;
	font-weight: 700;
	column-gap: 10px;
}

header .container .esq svg {
	width: 40px;
	height: auto;
}

header .container .dir {
	display: flex;
	column-gap: 44px;
}

header .container .dir a {
	color: var(--branco);
	font-size: 20px;
	transition: var(--transicao);
}

header .container .dir a.destaque {
	border: 1px solid var(--azul);
	background-color: var(--azul);
	color: var(--branco);
	border-radius: 14px;
	padding: 19px 73px;
}

header .menu-hamburger {
	display: none;
}

/* Banner */

#banner {
	padding-top: 290px;
	margin-bottom: 150px;
	position: relative;
	background-image: url(imagens/bg-banner-2.svg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding-bottom: 60px;
}

/* #banner::before {
    content: '';
    background-image: url(imagens/circulos-detalhes.svg);
    background-size: contain;
    background-position: left center;
    background-repeat: no-repeat;
    width: 280px;
    height: 370px;
    position: absolute;
    left: 0;
    top: 0;
} */


#banner .container {
	display: flex;
	justify-content: space-between;
	column-gap: 30px;
	position: relative;
}

#banner .overlay {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: #00000099;

}

#banner .esq {
	width: 531px;
	max-width: 50%;
}

#banner .dir {
	max-width: 50%;
}


#banner .esq .titulo {
	color: #fff;
	font-size: 3.75rem;
	font-weight: 600;
	line-height: 4.5rem;
	margin-bottom: 38px;
	overflow-wrap: break-word;
}

#banner .esq .titulo span {
	border-radius: 7px;
	padding: 0 7px;
	background-color: var(--azul);
}

#banner .esq .texto {
	color: var(--branco);
	font-size: 20px;
	line-height: normal;
	margin-bottom: 36px;
}

#banner .esq a {
	border: 1px solid var(--azul);
	border-radius: 14px;
	padding: 19px 73px;
	color: #fff;
	display: inline-block;
	transition: var(--transicao);
	font-size: 20px;
}

/* Serviços */

#servicos .topo {
	display: flex;
	align-items: center;
	column-gap: 40px;
	margin-bottom: 80px;
}

#servicos .topo .titulo {
	background-color: var(--azul);
	color: var(--branco);
	border-radius: 7px;
	display: inline-block;
	font-size: 2.5rem;
	padding: 0px 7px;
	font-weight: 500;
}

#servicos .topo .texto {
	font-size: 18px;
	color: var(--branco);
}

#servicos .area-cards {
	display: flex;
	flex-wrap: wrap;
	column-gap: 3.2%;
	row-gap: 40px;

}

#servicos .area-cards .card {
	border-radius: 45px;
	border: 2px solid var(--azul);
	border-bottom: 6px solid var(--azul);
	padding: 50px;
	width: 48.38%;
	display: flex;
	column-gap: 20px;
	justify-content: space-between;
	background: #f3f3f3;
}

#servicos .area-cards .card .area-texto {
	max-width: 50%;
}

#servicos .area-cards .card .area-texto .titulo {
	background-color: var(--azul);
	color: #fff;
	font-size: 1.875rem;
	border-radius: 7px;
	font-weight: 500;
	padding: 0 7px;
	margin-bottom: 12px;
}

#servicos .area-cards .card .area-texto .texto {
	color: var(--preto);
}

#servicos .area-cards .card .icone {
	max-width: 50%;
}

#servicos .area-cards .card .icone svg {
	width: 180px;
	max-width: 100%;
}

#servicos .area-cards .card .esq {
	max-width: 50%;
}

#servicos {
	margin-bottom: 125px;
}

#cta {
	margin-bottom: 140px;
}

#cta .container {
	padding: 60px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	column-gap: 30px;
	border-radius: 45px;
	border: 2px solid var(--azul);
	border-bottom: 6px solid var(--azul);
}

#cta .container .titulo {
	font-size: 3.875rem;
	line-height: 4rem;
	color: var(--azul);
	font-weight: 580;
	margin-bottom: 21px;
}

#cta .container .texto {
	font-size: 24px;
	color: var(--branco);
	margin-bottom: 31px;
}

#cta .esq a {
	border: 1px solid var(--azul);
	border-radius: 14px;
	padding: 19px 73px;
	background-color: var(--preto);
	color: #fff;
	display: inline-block;
	transition: var(--transicao);
	font-size: 20px;
}

/* Serviços */

#nosso-processo {
	background-color: #f3f3f3;
	padding: 60px 0;
	background-image: url(imagens/bg-processo.svg);
	background-position: -55px -1px;
	background-size: 301px;
	background-repeat: no-repeat;
}

#nosso-processo .topo {
	display: flex;
	align-items: center;
	column-gap: 40px;
	margin-bottom: 80px;
}

#nosso-processo .topo .titulo {
	background-color: var(--azul);
	color: var(--branco);
	border-radius: 7px;
	display: inline-block;
	font-size: 2.5rem;
	padding: 0px 7px;
	font-weight: 500;
}

#nosso-processo .topo .texto {
	font-size: 18px;
	color: var(--preto);
}

#nosso-processo .container .area-cards {
	display: flex;
	flex-direction: column;
	row-gap: 30px;
}

#nosso-processo .container .area-cards .card {
	border: 2px solid var(--preto);
	border-bottom: 6px solid var(--preto);
	border-radius: 45px;
	padding: 40px 60px;
	background-color: #f3f3f3;
}

#nosso-processo .container .area-cards .card .titulo {
	color: var(--preto);
	font-size: 30px;
	font-weight: 600;

}

#nosso-processo .container .area-cards .card .titulo span {
	background-color: var(--azul);
	color: var(--branco);
	font-size: 1.875rem;
	border-radius: 7px;
	font-weight: 500;
	padding: 0 7px;
	display: inline-block;
}

#nosso-processo .container .area-cards .card .texto {
	color: var(--preto);
	font-weight: 500;
}

#nosso-processo .container .area-cards .card .separador {
	width: 100%;
	display: block;
	margin: 20px auto;
	height: 1px;
	background-color: var(--preto);
}

#sobre-mim {
	padding: 60px 0;
	background-image: url(imagens/bg-sobre-mim.svg);
	background-position: right top;
	background-repeat: no-repeat;
	background-size: 39%;
	border-bottom: 5px solid var(--azul);
}

#sobre-mim .topo {
	display: flex;
	align-items: center;
	column-gap: 40px;
	margin-bottom: 40px;
}

#sobre-mim .topo .titulo {
	background-color: var(--azul);
	color: var(--branco);
	border-radius: 7px;
	display: inline-block;
	font-size: 2.5rem;
	padding: 0px 7px;
	font-weight: 500;
}

#sobre-mim .topo .texto {
	font-size: 18px;
	color: var(--branco);
}

#sobre-mim .area-cards {
	display: flex;
	flex-wrap: wrap;
	column-gap: 3.2%;
	row-gap: 40px;

}

#sobre-mim .container .card .texto {
	font-size: 24px;
	color: var(--branco);
	margin-bottom: 31px;
}

#sobre-mim .container .card .foto {
	width: 150px;
	height: 150px;
	border-radius: 50%;
	overflow: hidden;
}

#sobre-mim .container .card .foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#sobre-mim .container .card .nome {
	color: var(--branco);
	font-weight: 600;
	font-size: 2rem;
}

#depoimentos {
	padding: 80px 0;
	overflow: hidden;
}

#depoimentos .topo .titulo {
	background-color: var(--azul);
	color: var(--branco);
	border-radius: 7px;
	display: inline-block;
	font-size: 2.5rem;
	padding: 0px 7px;
	font-weight: 500;
}

#depoimentos .topo {
	display: flex;
	align-items: center;
	column-gap: 40px;
	width: 1240px;
	max-width: 90%;
	margin: 0 auto 80px;
}

#depoimentos .topo .texto {
	font-size: 18px;
	color: var(--branco);
}

#depoimentos .swiper-slide .area-texto {
	border-radius: 40px;
	border: 2px solid var(--azul);
	display: flex;
	align-items: center;
	padding: 50px;
	min-height: 300px;
	text-align: center;
	justify-content: center;
	color: var(--preto);
	font-size: 20px;
	margin-bottom: 43px;
	position: relative;
	background-color: #f3f3f3;
}

#depoimentos .swiper-slide .area-texto::before {
	content: '';
	clip-path: polygon(50% 100%, 0 0, 100% 0);
	width: 41px;
	height: 25px;
	display: block;
	background-color: var(--azul);
	position: absolute;
	bottom: -27px;
	left: 38px;
}

#depoimentos .container {
	width: 100%;
	max-width: 100%;
}

#depoimentos .swiper-slide .nome {
	color: var(--azul);
	font-size: 20px;
	font-weight: 500;
	margin-left: 40px;
}

#depoimentos .swiper-slide .cargo {
	color: var(--branco);
	font-size: 16px;
	font-weight: 500;
	margin-left: 40px;
}

#contato {
	background-color: #f3f3f3;
	padding: 80px 0;
	background-image: url(imagens/bg-form.svg);
	background-size: contain;
	background-position: bottom;
	background-repeat: no-repeat;
}

#contato form {
	width: 50%;
	display: flex;
	flex-direction: column;
}

#contato form input {
	border-radius: 14px;
	height: 60px;
	width: 100%;
	border: 1px solid var(--azul);
	margin-bottom: 20px;
	padding: 0 20px;
	font-family: var(--space);
}

#contato .error {
	border: 1px solid red;
}

#contato form textarea {
	border-radius: 14px;
	padding: 20px;
	height: 200px;
	width: 100%;
	border: 1px solid var(--azul);
	resize: none;
	margin-bottom: 20px;
	font-family: var(--space);

}

#contato .error::placeholder {
	color: red;
}

#contato form input::placeholder,
#contato form textarea::placeholder {
	font-family: var(--space);
	font-size: 14px;
	color: var(--preto);
}

#contato form label {
	color: var(--branco);
	font-size: 18px;
	margin-bottom: 0px;
}

#contato form button {
	border: 1px solid var(--azul);
	border-radius: 14px;
	padding: 19px 73px;
	background-color: var(--azul);
	color: #fff;
	display: inline-block;
	transition: var(--transicao);
	font-size: 20px;
	cursor: pointer;
}

#contato .topo .titulo {
	background-color: var(--azul);
	color: var(--branco);
	border-radius: 7px;
	display: inline-block;
	font-size: 2.5rem;
	padding: 0px 7px;
	font-weight: 500;
}

#contato .topo {
	display: flex;
	align-items: center;
	column-gap: 40px;
	width: 1240px;
	max-width: 90%;
	margin: 0 auto 80px;
}

#contato .topo .texto {
	font-size: 18px;
	color: var(--preto);
}

#contato .area-form {
	background-color: var(--preto);
	border-radius: 45px;
	padding: 60px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	column-gap: 40px;
}

#contato .area-form .dir {
	width: 50%;
	text-align: center;
}

#contato .area-form .dir .ou {
	color: var(--branco);
	font-size: 5rem;
	margin-bottom: 30px;
}

#contato .area-form .dir a {
	border: 1px solid #25D366;
	border-radius: 14px;
	padding: 19px 73px;
	background-color: #25D366;
	color: #fff;
	display: inline-flex;
	transition: var(--transicao);
	font-size: 20px;
	cursor: pointer;
	align-items: center;
	text-align: center;
}

#contato .area-form .dir a svg {
	color: var(--branco);
	width: 40px;
	height: auto;
	margin-right: 20px;
}

footer {
	text-align: center;
	color: var(--branco);
	width: 100%;
	background-color: var(--preto);
	padding: 25px 5%;
}


#confirmacao-contato {
    background-color: #fff;
    height: calc(100vh - 66px);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 0 5%;
}

#confirmacao-contato .titulo {
	color: var(--azul);
    text-align: center;
    padding: 0 5%;
    font-size: 2.6rem;
    font-weight: 600;
	margin-bottom: 20px;
}

#confirmacao-contato .texto {
	font-size: 20px;
	color: var(--preto);
	text-align: center;
	width: 600px;
    max-width: 100%;
	margin-bottom: 30px;
}

#confirmacao-contato .ou {
    margin: 10px 0;
    font-size: 20px;
}

#confirmacao-contato a {
    border: 1px solid #25D366;
    background-color: #25D366;
    border-radius: 14px;
    padding: 19px 10px;
    color: #fff;
    width: 400px;
    max-width: 100%;
    display: inline-block;
    transition: var(--transicao);
    font-size: 20px;
    text-align: center;
}

#confirmacao-contato .azul{
	background-color: var(--azul);
}

/* Hovers */
@media screen and (min-width: 1025px) {
	header .container .dir a.destaque:hover {
		border: 1px solid var(--azul);
		background-color: var(--azul);
		color: var(--branco);
	}

	#contato form button:hover {
		background-color: var(--preto);
	}

	#banner .esq a:hover {
		background-color: var(--azul);
	}

	header .container .dir a:hover {
		color: var(--azul);
	}

	#cta .esq a:hover {
		background-color: var(--azul);
	}

	#contato .area-form .dir a:hover {
		background-color: transparent;
	}
}


@media screen and (max-width: 1920px) {}

@media screen and (max-width: 1680px) {}

@media screen and (max-width: 1600px) {}

@media screen and (max-width: 1440px) {
	header .container .dir {
    	column-gap: 26px;
	}
	header .container .dir a {
		font-size: 18px;
	}
}

@media screen and (max-width: 1366px) {
	html {
		font-size: 14px;
	}
}

@media screen and (max-width: 1280px) {}

@media screen and (max-width: 1200px) {
	    header .container .dir {
        column-gap: 19px;
    }
	header .container .dir a {
        font-size: 16px;
    }
}

@media screen and (max-width: 1080px) {}

@media screen and (max-width: 1024px) {

	section {
		scroll-margin-top: 70px;
	}

	header {
		position: fixed;
		padding: 15px 0;
		top: 0;
        background: #f3f3f3;
        box-shadow: 1px 7px 5px 0px rgb(0 0 0 / 17%);
	}

	header .container .dir {
		transition: var(--transicao);
		position: fixed;
		right: -100%;
		height: 100dvh;
		background-color: var(--preto);
		width: 100%;
        top: 70px;
		flex-direction: column;
        padding-top: 50px;
		row-gap: 26px;
	}

	header .container .dir.ativo {
		right: 0;
	}

	header .container .dir li {
		text-align: center;
	}

	header .container .dir a {
        font-size: 24px;
    }

	header .container .dir a.destaque {
		display: inline-block;
	}

	header .container .esq {
		color: var(--preto);
	}

	header .menu-hamburger {
		display: flex;
		width: 30px;
		flex-direction: column;
		row-gap: 8px;
	}

	header .menu-hamburger .hamburger {
		width: 100%;
		background-color: var(--preto);
		height: 2px;
	}

	#banner {
    	padding-top: 180px;
		margin-bottom: 90px;
	}
	#banner .container {
		flex-direction: column;
		row-gap: 78px;
	}

	#banner .esq {
		width: 100%;
		max-width: 100%;
	}

	#banner .dir {
		max-width: 100%;
		text-align: center;
	}

	#servicos .area-cards {
		flex-direction: column;
	}

	#servicos .area-cards .card {
		width: 100%;
	}

	#servicos .area-cards .card .area-texto .titulo {
		display: inline-block;
	}
	#servicos .area-cards .card .area-texto {
    max-width: unset;
	}
	#servicos .area-cards .card .area-texto .texto {
    color: var(--preto);
    font-size: 18px;
	}

    #servicos .topo,
	#nosso-processo .topo,
	#depoimentos .topo,
	#contato .topo {
        flex-direction: column;
        align-items: flex-start;
        row-gap: 20px;
    }

	#cta .container {
		flex-direction: column;
		padding: 30px;
		text-align: center;
	}

	#cta .container .dir {
		display: none;
	}

	#cta .container .esq {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
	}
	#cta .container .titulo {
    font-size: 3rem;
	}
	#cta .container .texto {
    font-size: 18px;
	}

	#cta .esq a {
		width: 320px;
		max-width: 100%;
		padding: 19px 5%;
	}

	#nosso-processo {
		background-position: -55px 193px;
	}

	#nosso-processo .container .area-cards .card {
		padding: 30px;
	}

	#sobre-mim .container .card .foto {
    min-width: 100px;
	width: 100px;
    height: 100px;
	}
	#sobre-mim .topo {
    column-gap: 20px;
	}
	#sobre-mim .container .card .texto {
    font-size: 16px;
	}

	#contato .area-form {
		flex-direction: column;
		row-gap: 40px;
        padding: 60px 30px;

	}

	#contato .area-form form,
	#contato .area-form .dir {
		width: 100%;
	}

	#contato .area-form .dir a {
		width: 447px;
		max-width: 100%;
		padding: 19px 5%;
		text-align: center;
		font-size: 16px;
		justify-content: center;
	}

	#contato .area-form .dir a svg {
    width: 24px;
	}

	#confirmacao-contato a {
		font-size: 16px;
	}
}

@media screen and (max-width: 996px) {}

@media screen and (max-width: 768px) {}

@media screen and (max-width: 600px) {}

@media screen and (max-width: 490px) {
	html {
        font-size: 12px;
    }
	#servicos .area-cards .card {
		flex-direction: column;
		row-gap: 10px;
		padding: 30px;
		align-items: center;
		text-align: center;
	}
	#depoimentos .swiper-slide .area-texto {
    	padding: 30px;
		font-size: 16px;
	}

}

@media screen and (max-width: 460px) {}

@media screen and (max-width: 430px) {}

@media screen and (max-width: 400px) {}

@media screen and (max-width: 360px) {}

@media screen and (max-width: 330px) {}

@media screen and (max-width: 280px) {}