/* ==========================================================================
   HOME - HEADER SOBRE O BANNER
========================================================================== */
.home-page .site-header{
	border-bottom-color:rgba(255,255,255,.14);
	background:linear-gradient(
		180deg,
		rgba(17,19,22,.72) 0%,
		rgba(17,19,22,.25) 65%,
		rgba(17,19,22,0) 100%
	);
	-webkit-backdrop-filter:none;
	backdrop-filter:none;
}
.home-page .site-header .nav-link{
	color:var(--color-white);
}
.home-page .site-header .nav-link:hover,
.home-page .site-header .nav-link.active{
	color:var(--color-white);
}
.home-page .site-header .nav-link::after{
	background:var(--color-white);
}
.home-page .site-header .custom-toggler{
	border-color:rgba(255,255,255,.25);
	background:rgba(255,255,255,.10);
}
.home-page .site-header .custom-toggler span{
	background:var(--color-white);
}
.home-page .site-header.is-scrolled{
	border-bottom-color:var(--color-border);
	background:rgba(255,255,255,.98);
	-webkit-backdrop-filter:blur(16px);
	backdrop-filter:blur(16px);
}
.home-page .site-header.is-scrolled .site-brand img{
	filter:none;
}
.home-page .site-header.is-scrolled .nav-link{
	color:var(--color-title);
}
.home-page .site-header.is-scrolled .nav-link:hover,
.home-page .site-header.is-scrolled .nav-link.active{
	color:var(--color-primary);
}
.home-page .site-header.is-scrolled .nav-link::after{
	background:var(--color-primary);
}
.home-page .site-header.is-scrolled .custom-toggler{
	border-color:var(--color-border);
	background:var(--color-white);
}
.home-page .site-header.is-scrolled .custom-toggler span{
	background:var(--color-title);
}
/* ==========================================================================
   HOME - HERO
========================================================================== */
.home-hero{
	position:relative;
	height:100vh;
	min-height:720px;
	background:var(--color-dark);
	overflow:hidden;
}
.home-hero .carousel,
.home-hero .carousel-inner,
.home-hero .carousel-item,
.home-hero-slide{
	height:100%;
}
.home-hero-slide{
	position:relative;
	display:flex;
	align-items:center;
	min-height:720px;
}
.home-hero-background{
	position:absolute;
	inset:0;
}
.home-hero-background picture{
	display:block;
	width:100%;
	height:100%;
}
.home-hero-background img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
}
.home-hero-overlay{
	position:absolute;
	inset:0;
	background:
		linear-gradient(
			90deg,
			rgba(16,18,21,.90) 0%,
			rgba(16,18,21,.73) 38%,
			rgba(16,18,21,.30) 68%,
			rgba(16,18,21,.12) 100%
		),
		linear-gradient(
			180deg,
			rgba(16,18,21,.25) 0%,
			rgba(16,18,21,0) 45%,
			rgba(16,18,21,.54) 100%
		);
}
.home-hero-container{
	position:relative;
	z-index:3;
	display:flex;
	align-items:center;
	height:100%;
	padding-top:calc(var(--header-height) + 45px);
	padding-bottom:150px;
}
.home-hero-content{
	max-width:850px;
}
.home-hero-label{
	display:inline-flex;
	align-items:center;
	gap:11px;
	margin-bottom:24px;
	padding:10px 15px;
	border:1px solid rgba(255,255,255,.24);
	border-radius:var(--radius-full);
	font-size:12px;
	font-weight:750;
	letter-spacing:.11em;
	text-transform:uppercase;
	color:var(--color-white);
	background:rgba(255,255,255,.10);
	-webkit-backdrop-filter:blur(12px);
	backdrop-filter:blur(12px);
}
.home-hero-label i{
	color:#DCAAAA;
}
.home-hero-label-difelog i{
	color:#8EC8EC;
}
.home-hero-content h1,
.home-hero-content h2{
	max-width:850px;
	margin-bottom:25px;
	font-size:clamp(48px,5vw,72px);
	font-weight:720;
	line-height:1.02;
	letter-spacing:-.052em;
	color:var(--color-white);
}
.home-hero-content h1 strong,
.home-hero-content h2 strong{
	display:block;
	font-weight:720;
	color:#E5AEAE;
}
.home-hero-content p{
	max-width:660px;
	margin-bottom:32px;
	font-size:18px;
	font-weight:400;
	line-height:1.75;
	color:rgba(255,255,255,.78);
}
.home-hero-actions{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:13px;
}
.btn-hero-outline{
	color:var(--color-white);
	border-color:rgba(255,255,255,.50);
	background:rgba(255,255,255,.06);
	-webkit-backdrop-filter:blur(10px);
	backdrop-filter:blur(10px);
}
.btn-hero-outline:hover,
.btn-hero-outline:focus{
	color:var(--color-title);
	border-color:var(--color-white);
	background:var(--color-white);
}
/* ==========================================================================
   HOME - NAVEGAÇÃO DO HERO
========================================================================== */
.home-hero-navigation{
	position:absolute;
	right:0;
	bottom:0;
	left:0;
	z-index:5;
	border-top:1px solid rgba(255,255,255,.15);
	background:rgba(15,17,20,.46);
	-webkit-backdrop-filter:blur(16px);
	backdrop-filter:blur(16px);
}
.home-hero-navigation-inner{
	display:flex;
	align-items:stretch;
	justify-content:space-between;
	min-height:106px;
}
.home-hero-indicators{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	flex:1;
}
.home-hero-indicators button{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	justify-content:center;
	gap:5px;
	padding:20px 28px;
	border-right:1px solid rgba(255,255,255,.13);
	color:rgba(255,255,255,.48);
	background:transparent;
	text-align:left;
	transition:var(--transition);
}
.home-hero-indicators button::before{
	content:"";
	position:absolute;
	top:-1px;
	right:0;
	left:0;
	height:3px;
	background:var(--color-primary);
	transform:scaleX(0);
	transform-origin:left;
	transition:transform .4s ease;
}
.home-hero-indicators button:hover,
.home-hero-indicators button.active{
	color:var(--color-white);
	background:rgba(255,255,255,.055);
}
.home-hero-indicators button.active::before{
	transform:scaleX(1);
}
.home-hero-indicators span{
	font-size:12px;
	font-weight:800;
	letter-spacing:.08em;
	color:rgba(255,255,255,.72);
}
.home-hero-indicators small{
	font-size:13px;
	font-weight:600;
	line-height:1.35;
}
.home-hero-controls{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:9px;
	flex:0 0 auto;
	padding-left:25px;
}
.home-hero-controls button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:48px;
	height:48px;
	border:1px solid rgba(255,255,255,.24);
	border-radius:50%;
	font-size:14px;
	color:var(--color-white);
	background:rgba(255,255,255,.08);
	transition:var(--transition);
}
.home-hero-controls button:hover{
	border-color:var(--color-primary);
	background:var(--color-primary);
	transform:translateY(-2px);
}
.home-hero-scroll{
	position:absolute;
	right:30px;
	bottom:128px;
	z-index:6;
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:12px;
	font-size:10px;
	font-weight:700;
	letter-spacing:.10em;
	text-transform:uppercase;
	color:rgba(255,255,255,.62);
}
.home-hero-scroll span{
	writing-mode:vertical-rl;
	transform:rotate(180deg);
}
.home-hero-scroll i{
	display:flex;
	align-items:center;
	justify-content:center;
	width:36px;
	height:36px;
	border:1px solid rgba(255,255,255,.28);
	border-radius:50%;
	animation:homeScrollArrow 1.7s ease-in-out infinite;
}
.home-hero-scroll:hover{
	color:var(--color-white);
}
.home-hero .carousel-item{
	transition:opacity .85s ease-in-out;
}
.home-hero .carousel-item.active .home-hero-label{
	animation:homeHeroFadeUp .7s .12s both;
}
.home-hero .carousel-item.active .home-hero-content h1,
.home-hero .carousel-item.active .home-hero-content h2{
	animation:homeHeroFadeUp .8s .22s both;
}
.home-hero .carousel-item.active .home-hero-content p{
	animation:homeHeroFadeUp .8s .34s both;
}
.home-hero .carousel-item.active .home-hero-actions{
	animation:homeHeroFadeUp .8s .46s both;
}
/* ==========================================================================
   HOME - INDICADORES
========================================================================== */
.home-indicators{
	position:relative;
	z-index:4;
	padding:0 0 18px;
	background:var(--color-white);
}

.home-indicators-wrapper{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	margin-top:-1px;
	border-right:1px solid var(--color-border);
	border-bottom:1px solid var(--color-border);
	border-left:1px solid var(--color-border);
	background:var(--color-white);
	box-shadow:0 20px 45px rgba(28,32,37,.055);
}
.home-indicator-item{
	position:relative;
	display:flex;
	flex-direction:column;
	justify-content:center;
	min-height:160px;
	padding:30px 34px;
}
.home-indicator-item + .home-indicator-item{
	border-left:1px solid var(--color-border);
}
.home-indicator-item::before{
	content:"";
	position:absolute;
	top:0;
	left:34px;
	width:38px;
	height:3px;
	background:var(--color-primary);
}
.home-indicator-item strong{
	display:block;
	margin-bottom:9px;
	font-size:clamp(38px,4vw,57px);
	font-weight:750;
	line-height:1;
	letter-spacing:-.05em;
	color:var(--color-primary);
}
.home-indicator-item span{
	max-width:190px;
	font-size:14px;
	font-weight:650;
	line-height:1.45;
	color:var(--color-title);
}
/* ==========================================================================
   HOME - SOBRE
========================================================================== */
.home-about{
	overflow:hidden;
}
.home-about::before{
	content:"";
	position:absolute;
	top:100px;
	right:-160px;
	width:330px;
	height:330px;
	border:45px solid var(--color-primary-light);
	border-radius:50%;
	opacity:.65;
	pointer-events:none;
}
.home-about-grid{
	position:relative;
	z-index:2;
	display:grid;
	grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
	align-items:center;
	gap:85px;
}
.home-about-media{
	position:relative;
	padding:0 40px 45px 0;
}
.home-about-image{
	position:relative;
	height:610px;
	overflow:hidden;
}
.home-about-image::after{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(
		180deg,
		rgba(28,32,37,0) 60%,
		rgba(28,32,37,.22) 100%
	);
}
.home-about-image img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.home-about-stamp{
	position:absolute;
	right:0;
	bottom:0;
	z-index:2;
	display:flex;
	flex-direction:column;
	justify-content:center;
	width:180px;
	height:150px;
	padding:25px;
	color:var(--color-white);
	background:var(--color-primary);
	box-shadow:0 22px 50px rgba(141,41,41,.25);
}
.home-about-stamp::before{
	content:"";
	position:absolute;
	top:-12px;
	left:-12px;
	z-index:-1;
	width:100%;
	height:100%;
	border:1px solid rgba(141,41,41,.35);
}
.home-about-stamp span{
	display:block;
	margin-bottom:4px;
	font-size:11px;
	font-weight:750;
	letter-spacing:.10em;
	text-transform:uppercase;
	color:rgba(255,255,255,.70);
}
.home-about-stamp strong{
	display:block;
	font-size:39px;
	font-weight:750;
	line-height:1;
	color:var(--color-white);
}
.home-about-content .section-description{
	margin-bottom:22px;
	font-size:18px;
}
.home-about-content > p:not(.section-description){
	margin-bottom:29px;
	font-size:16px;
	line-height:1.85;
}
.home-about-list{
	gap:14px 24px;
	margin-bottom:34px;
}
.home-about-list > div{
	display:flex;
	align-items:center;
	gap:11px;
	font-size:14px;
	font-weight:650;
	color:var(--color-title);
}
.home-about-list i{
	font-size:16px;
	color:var(--color-primary);
}
/* ==========================================================================
   HOME - SOLUÇÕES
========================================================================== */
.home-solutions{
	overflow:hidden;
}
.home-solutions::after{
	content:"";
	position:absolute;
	top:0;
	right:0;
	width:24%;
	height:100%;
	background:var(--color-primary-light);
	clip-path:polygon(58% 0,100% 0,100% 100%,0 100%);
	opacity:.55;
	pointer-events:none;
}
.home-solutions .container{
	position:relative;
	z-index:2;
}
.home-solutions-heading{
	display:grid;
	grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
	align-items:end;
	gap:70px;
	margin-bottom:60px;
}
.home-solutions-heading .section-description{
	margin:0 0 5px auto;
	font-size:17px;
}
.home-solutions-layout{
	display:grid;
	grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
	align-items:stretch;
	gap:65px;
}
.home-solutions-media{
	position:relative;
	min-height:720px;
	overflow:hidden;
}
.home-solutions-media::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	z-index:2;
	width:8px;
	height:110px;
	background:var(--color-primary);
}
.home-solutions-media > img{
	width:100%;
	height:100%;
	min-height:720px;
	object-fit:cover;
}
.home-solutions-media::after{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(
		180deg,
		rgba(28,32,37,0) 54%,
		rgba(28,32,37,.64) 100%
	);
}
.home-solutions-media-caption{
	position:absolute;
	right:28px;
	bottom:28px;
	left:28px;
	z-index:3;
	display:flex;
	align-items:center;
	gap:16px;
	padding:20px 22px;
	border:1px solid rgba(255,255,255,.22);
	color:var(--color-white);
	background:rgba(28,32,37,.58);
	-webkit-backdrop-filter:blur(13px);
	backdrop-filter:blur(13px);
}
.home-solutions-media-caption > i{
	display:flex;
	align-items:center;
	justify-content:center;
	flex:0 0 auto;
	width:48px;
	height:48px;
	font-size:18px;
	color:var(--color-white);
	background:var(--color-primary);
}
.home-solutions-media-caption span{
	display:block;
	margin-bottom:3px;
	font-size:11px;
	font-weight:700;
	letter-spacing:.09em;
	text-transform:uppercase;
	color:rgba(255,255,255,.60);
}
.home-solutions-media-caption strong{
	display:block;
	font-size:15px;
	color:var(--color-white);
}
.home-solutions-list{
	display:flex;
	flex-direction:column;
	justify-content:center;
}
.home-solution-item{
	position:relative;
	display:grid;
	grid-template-columns:48px 64px minmax(0,1fr);
	gap:20px;
	padding:30px 0;
	border-bottom:1px solid var(--color-border);
}
.home-solution-item:first-child{
	border-top:1px solid var(--color-border);
}
.home-solution-item::before{
	content:"";
	position:absolute;
	top:-1px;
	bottom:-1px;
	left:-22px;
	width:3px;
	background:var(--color-primary);
	transform:scaleY(0);
	transform-origin:center;
	transition:transform .35s ease;
}
.home-solution-item:hover::before{
	transform:scaleY(1);
}
.home-solution-number{
	padding-top:9px;
	font-size:11px;
	font-weight:800;
	letter-spacing:.08em;
	color:var(--color-text-light);
}
.home-solution-icon{
	display:flex;
	align-items:center;
	justify-content:center;
	width:58px;
	height:58px;
	font-size:20px;
	color:var(--color-primary);
	background:var(--color-primary-light);
	transition:var(--transition);
}
.home-solution-item:hover .home-solution-icon{
	color:var(--color-white);
	background:var(--color-primary);
}
.home-solution-content h3{
	margin-bottom:10px;
	font-size:21px;
	font-weight:700;
}
.home-solution-content p{
	margin-bottom:13px;
	font-size:16px;
	line-height:1.72;
}
.home-solution-content a{
	display:inline-flex;
	align-items:center;
	gap:10px;
	font-size:13px;
	font-weight:750;
	color:var(--color-primary);
}
.home-solution-content a i{
	transition:var(--transition);
}
.home-solution-content a:hover i{
	transform:translateX(5px);
}
.home-solution-item-difelog::before{
	background:var(--color-difelog);
}
.home-solution-item-difelog .home-solution-icon{
	color:var(--color-difelog);
	background:var(--color-difelog-light);
}
.home-solution-item-difelog:hover .home-solution-icon{
	color:var(--color-white);
	background:var(--color-difelog);
}
.home-solution-item-difelog .home-solution-content a{
	color:var(--color-difelog);
}
/* ==========================================================================
   HOME - EMPRESAS DO GRUPO
========================================================================== */
.home-group-heading{
	max-width:800px;
	margin:0 auto 55px;
}
.home-group-heading .section-label{
	justify-content:center;
}
.home-group-heading .section-description{
	margin-right:auto;
	margin-left:auto;
	font-size:17px;
}
.home-group-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:20px;
}
.home-group-company{
	position:relative;
	display:flex;
	align-items:flex-end;
	min-height:650px;
	overflow:hidden;
}
.home-group-image{
	position:absolute;
	inset:0;
}
.home-group-image img{
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform 1s ease;
}
.home-group-company:hover .home-group-image img{
	transform:scale(1.045);
}
.home-group-overlay{
	position:absolute;
	inset:0;
	background:linear-gradient(
		180deg,
		rgba(20,22,25,.08) 12%,
		rgba(20,22,25,.30) 48%,
		rgba(20,22,25,.94) 100%
	);
}
.home-group-difelog .home-group-overlay{
	background:linear-gradient(
		180deg,
		rgba(13,69,111,.06) 10%,
		rgba(13,69,111,.28) 48%,
		rgba(9,43,69,.95) 100%
	);
}
.home-group-content{
	position:relative;
	z-index:2;
	width:100%;
	padding:48px;
}
.home-group-logo{
	display:flex;
	align-items:center;
	height:72px;
	margin-bottom:24px;
}
.home-group-logo img{
	width:auto;
	max-width:205px;
	max-height:90px;
	object-fit:contain;
}
.home-group-content > span{
	display:block;
	margin-bottom:10px;
	font-size:11px;
	font-weight:750;
	letter-spacing:.11em;
	text-transform:uppercase;
	color:#E5AEAE;
}
.home-group-difelog .home-group-content > span{
	color:#9BD2F3;
}
.home-group-content h3{
	max-width:520px;
	margin-bottom:16px;
	font-size:clamp(29px,3vw,33.5px);
	font-weight:700;
	line-height:1.08;
	color:var(--color-white);
}
.home-group-content p{
	max-width:550px;
	margin-bottom:25px;
	font-size:16px;
	line-height:1.75;
	color:rgba(255,255,255,.72);
}
/* ==========================================================================
   HOME - DIFERENCIAIS
========================================================================== */
.home-differentials{
	overflow:hidden;
}
.home-differentials::before{
	content:"FERRAZ";
	position:absolute;
	right:-20px;
	bottom:-50px;
	font-size:clamp(110px,17vw,260px);
	font-weight:800;
	line-height:1;
	letter-spacing:-.07em;
	color:rgba(141,41,41,.035);
	pointer-events:none;
}
.home-differentials .container{
	position:relative;
	z-index:2;
}
.home-differentials-heading{
	display:grid;
	grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
	align-items:end;
	gap:70px;
	margin-bottom:55px;
}
.home-differentials-heading .section-description{
	margin:0 0 4px auto;
	font-size:17px;
}
.home-differentials-list{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	border-top:1px solid var(--color-border);
	border-bottom:1px solid var(--color-border);
}
.home-differential-item{
	position:relative;
	min-height:330px;
	padding:38px 28px 32px;
	transition:var(--transition);
}
.home-differential-item + .home-differential-item{
	border-left:1px solid var(--color-border);
}
.home-differential-item::before{
	content:"";
	position:absolute;
	inset:0;
	background:var(--color-primary);
	transform:scaleY(0);
	transform-origin:bottom;
	transition:transform .38s ease;
}
.home-differential-item:hover::before{
	transform:scaleY(1);
}
.home-differential-item > span,
.home-differential-icon,
.home-differential-item > div:last-child{
	position:relative;
	z-index:2;
}
.home-differential-item > span{
	display:block;
	margin-bottom:35px;
	font-size:11px;
	font-weight:800;
	letter-spacing:.09em;
	color:var(--color-text-light);
}
.home-differential-icon{
	display:flex;
	align-items:center;
	justify-content:center;
	width:57px;
	height:57px;
	margin-bottom:25px;
	font-size:20px;
	color:var(--color-primary);
	background:var(--color-primary-light);
	transition:var(--transition);
}
.home-differential-item h3{
	margin-bottom:13px;
	font-size:20px;
	font-weight:700;
	transition:var(--transition);
}
.home-differential-item p{
	margin:0;
	font-size:15px;
	line-height:1.72;
	transition:var(--transition);
}
.home-differential-item:hover > span,
.home-differential-item:hover h3,
.home-differential-item:hover p{
	color:var(--color-white);
}
.home-differential-item:hover .home-differential-icon{
	color:var(--color-primary);
	background:var(--color-white);
	transform:translateY(-4px);
}
/* ==========================================================================
   HOME - CTA
========================================================================== */
.home-cta{
	padding:100px 0;
	background:var(--color-white);
}
.home-cta-wrapper{
	position:relative;
	min-height:570px;
	overflow:hidden;
}
.home-cta-background{
	position:absolute;
	inset:0;
}
.home-cta-background img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.home-cta-overlay{
	position:absolute;
	inset:0;
	background:
		linear-gradient(
			90deg,
			rgba(20,22,25,.97) 0%,
			rgba(20,22,25,.87) 48%,
			rgba(20,22,25,.26) 100%
		);
}
.home-cta-content{
	position:relative;
	z-index:2;
	display:flex;
	flex-direction:column;
	justify-content:center;
	max-width:750px;
	min-height:570px;
	padding:75px 70px;
}
.home-cta-content > span{
	display:block;
	margin-bottom:17px;
	font-size:12px;
	font-weight:750;
	letter-spacing:.11em;
	text-transform:uppercase;
	color:#E5AEAE;
}
.home-cta-content h2{
	margin-bottom:22px;
	font-size:clamp(40px,5vw,65px);
	font-weight:700;
	line-height:1.03;
	letter-spacing:-.05em;
	color:var(--color-white);
}
.home-cta-content p{
	max-width:600px;
	margin-bottom:31px;
	font-size:17px;
	line-height:1.8;
	color:rgba(255,255,255,.72);
}
.home-cta-actions{
	display:flex;
	flex-wrap:wrap;
	gap:13px;
}
/* ==========================================================================
   ANIMAÇÕES
========================================================================== */
@keyframes homeHeroFadeUp{
	from{
		opacity:0;
		transform:translateY(32px);
	}
	to{
		opacity:1;
		transform:translateY(0);
	}
}
@keyframes homeScrollArrow{
	0%,
	100%{
		transform:translateY(0);
	}
	50%{
		transform:translateY(7px);
	}
}
/* ==========================================================================
   RESPONSIVO - HOME
========================================================================== */
@media (max-width: 1399.98px){
	.home-hero-content{
		max-width:700px;
	}
	.home-hero-content h1,
	.home-hero-content h2{
		font-size:62px;
	}
	.home-about-grid{
		gap:65px;
	}
	.home-about-image{
		height:560px;
	}
	.home-solutions-layout{
		gap:50px;
	}
	.home-group-company{
		min-height:610px;
	}
	.home-group-content{
		padding:40px;
	}
}
@media (max-width: 1199.98px){
	.home-page .site-header .navbar-collapse{
		background:rgba(255,255,255,.99);
	}
	.home-page .site-header .navbar-collapse .nav-link{
		color:var(--color-title);
	}
	.home-page .site-header .navbar-collapse .nav-link:hover,
	.home-page .site-header .navbar-collapse .nav-link.active{
		color:var(--color-primary);
		background:var(--color-primary-light);
	}
	.home-page .site-header .navbar-collapse .header-actions{
		border-top-color:var(--color-border);
	}
	.home-hero{
		min-height:690px;
	}
	.home-hero-slide{
		min-height:690px;
	}
	.home-hero-content h1,
	.home-hero-content h2{
		font-size:55px;
	}
	.home-hero-content p{
		font-size:17px;
	}
	.home-hero-indicators button{
		padding-right:20px;
		padding-left:20px;
	}
	.home-about-grid{
		gap:50px;
	}
	.home-about-image{
		height:510px;
	}
	.home-solutions-layout{
		grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);
		gap:40px;
	}
	.home-solutions-media,
	.home-solutions-media > img{
		min-height:680px;
	}
	.home-solution-item{
		grid-template-columns:38px 58px minmax(0,1fr);
		gap:16px;
	}
	.home-differential-item{
		padding-right:22px;
		padding-left:22px;
	}
}
@media (max-width: 991.98px){
	.home-hero-overlay{
		background:
			linear-gradient(
				90deg,
				rgba(16,18,21,.88) 0%,
				rgba(16,18,21,.64) 65%,
				rgba(16,18,21,.24) 100%
			),
			linear-gradient(
				180deg,
				rgba(16,18,21,.22) 0%,
				rgba(16,18,21,.10) 50%,
				rgba(16,18,21,.60) 100%
			);
	}
	.home-hero-content{
		max-width:650px;
	}
	.home-hero-content h1,
	.home-hero-content h2{
		font-size:50px;
	}
	.home-hero-navigation-inner{
		min-height:96px;
	}
	.home-hero-indicators small{
		font-size:11px;
	}
	.home-hero-scroll{
		display:none;
	}
	.home-indicators-wrapper{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
	.home-indicator-item:nth-child(3),
	.home-indicator-item:nth-child(4){
		border-top:1px solid var(--color-border);
	}
	.home-indicator-item:nth-child(3){
		border-left:0;
	}
	.home-about-grid{
		grid-template-columns:1fr;
		gap:55px;
	}
	.home-about-media{
		max-width:760px;
		margin:0 auto;
		padding-right:35px;
	}
	.home-about-image{
		height:570px;
	}
	.home-solutions-heading,
	.home-differentials-heading{
		grid-template-columns:1fr;
		gap:20px;
	}
	.home-solutions-heading .section-description,
	.home-differentials-heading .section-description{
		margin-left:0;
	}
	.home-solutions-layout{
		grid-template-columns:1fr;
		gap:45px;
	}
	.home-solutions-media,
	.home-solutions-media > img{
		min-height:540px;
	}
	.home-solutions-list{
		max-width:none;
	}
	.home-group-grid{
		grid-template-columns:1fr;
	}
	.home-group-company{
		min-height:570px;
	}
	.home-differentials-list{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
	.home-differential-item:nth-child(3){
		border-left:0;
	}
	.home-differential-item:nth-child(3),
	.home-differential-item:nth-child(4){
		border-top:1px solid var(--color-border);
	}
	.home-cta-overlay{
		background:linear-gradient(
			90deg,
			rgba(20,22,25,.95) 0%,
			rgba(20,22,25,.78) 72%,
			rgba(20,22,25,.42) 100%
		);
	}
}
@media (max-width: 767.98px){
	.home-hero{
		height:auto;
		min-height:720px;
	}
	.home-hero .carousel,
	.home-hero .carousel-inner,
	.home-hero .carousel-item,
	.home-hero-slide{
		height:720px;
	}
	.home-hero-slide{
		min-height:720px;
	}
	.home-hero-background img{
		object-position:center;
	}
	.home-hero-overlay{
		background:
			linear-gradient(
				180deg,
				rgba(16,18,21,.56) 0%,
				rgba(16,18,21,.68) 42%,
				rgba(16,18,21,.92) 100%
			);
	}
	.home-hero-container{
		align-items:flex-end;
		padding-top:100px;
		padding-bottom:155px;
	}
	.home-hero-content{
		max-width:100%;
	}
	.home-hero-label{
		margin-bottom:18px;
		font-size:10px;
	}
	.home-hero-content h1,
	.home-hero-content h2{
		margin-bottom:20px;
		font-size:41px;
	}
	.home-hero-content p{
		margin-bottom:26px;
		font-size:16px;
		line-height:1.65;
	}
	.home-hero-actions{
		align-items:stretch;
	}
	.home-hero-actions .btn{
		flex:1 1 calc(50% - 7px);
		width:auto;
	}
	.home-hero-navigation-inner{
		min-height:102px;
	}
	.home-hero-indicators button{
		align-items:center;
		padding:14px 8px;
		text-align:center;
	}
	.home-hero-indicators small{
		display:none;
	}
	.home-hero-indicators span{
		font-size:13px;
	}
	.home-hero-controls{
		padding-left:12px;
	}
	.home-hero-controls button{
		width:42px;
		height:42px;
	}
	.home-indicator-item{
		min-height:140px;
		padding:27px 24px;
	}
	.home-indicator-item::before{
		left:24px;
	}
	.home-indicator-item strong{
		font-size:42px;
	}
	.home-about::before{
		display:none;
	}
	.home-about-media{
		padding:0 25px 35px 0;
	}
	.home-about-image{
		height:470px;
	}
	.home-about-stamp{
		width:150px;
		height:125px;
		padding:20px;
	}
	.home-about-stamp strong{
		font-size:32px;
	}
	.home-about-list{
		grid-template-columns:1fr;
	}
	.home-solutions::after{
		width:40%;
	}
	.home-solutions-media,
	.home-solutions-media > img{
		min-height:450px;
	}
	.home-solutions-media-caption{
		right:18px;
		bottom:18px;
		left:18px;
	}
	.home-solution-item{
		grid-template-columns:30px 55px minmax(0,1fr);
		gap:13px;
		padding:26px 0;
	}
	.home-solution-item::before{
		left:-12px;
	}
	.home-solution-content h3{
		font-size:20px;
	}
	.home-solution-content p{
		font-size:15px;
	}
	.home-group-company{
		min-height:530px;
	}
	.home-group-content{
		padding:32px 28px;
	}
	.home-group-logo{
		height:60px;
		margin-bottom:20px;
	}
	.home-group-logo img{
		max-width:180px;
		max-height:58px;
	}
	.home-group-content h3{
		font-size:32px;
	}
	.home-differential-item{
		min-height:300px;
		padding:30px 22px;
	}
	.home-cta{
		padding:68px 0;
	}
	.home-cta-wrapper,
	.home-cta-content{
		min-height:520px;
	}
	.home-cta-overlay{
		background:rgba(20,22,25,.84);
	}
	.home-cta-content{
		padding:50px 30px;
	}
	.home-cta-content h2{
		font-size:42px;
	}
	.home-cta-actions{
		align-items:stretch;
	}
	.home-cta-actions .btn{
		flex:1 1 100%;
	}
}
@media (max-width: 575.98px){
	.home-hero .carousel,
	.home-hero .carousel-inner,
	.home-hero .carousel-item,
	.home-hero-slide{
		height:690px;
	}
	.home-hero{
		min-height:690px;
	}
	.home-hero-slide{
		min-height:690px;
	}
	.home-hero-container{
		padding-bottom:137px;
	}
	.home-hero-content h1,
	.home-hero-content h2{
		font-size:34px;
	}
	.home-hero-content h1 strong,
	.home-hero-content h2 strong{
		display:inline;
	}
	.home-hero-content p{
		font-size:15px;
	}
	.home-hero-actions .btn{
		flex:1 1 100%;
	}
	.home-hero-navigation-inner{
		min-height:86px;
	}
	.home-hero-controls{
		display:none;
	}
	.home-hero-indicators button{
		border-right-color:rgba(255,255,255,.10);
	}
	.home-indicators{
		padding-bottom:0;
	}
	.home-indicator-item{
		min-height:126px;
		padding:24px 17px;
	}
	.home-indicator-item::before{
		left:17px;
		width:28px;
	}
	.home-indicator-item strong{
		font-size:35px;
	}
	.home-indicator-item span{
		font-size:12px;
	}
	.home-about-media{
		padding-right:16px;
	}
	.home-about-image{
		height:390px;
	}
	.home-about-stamp{
		width:130px;
		height:108px;
		padding:16px;
	}
	.home-about-stamp strong{
		font-size:27px;
	}
	.home-about-content .section-description{
		font-size:16px;
	}
	.home-about-content > p:not(.section-description){
		font-size:15px;
	}
	.home-solutions-media,
	.home-solutions-media > img{
		min-height:380px;
	}
	.home-solutions-media-caption{
		padding:15px;
	}
	.home-solutions-media-caption > i{
		width:42px;
		height:42px;
	}
	.home-solution-item{
		grid-template-columns:48px minmax(0,1fr);
		gap:15px;
	}
	.home-solution-number{
		display:none;
	}
	.home-solution-icon{
		width:48px;
		height:48px;
		font-size:18px;
	}
	.home-group-company{
		min-height:490px;
	}
	.home-group-content{
		padding:28px 22px;
	}
	.home-group-content h3{
		font-size:28px;
	}
	.home-group-content p{
		font-size:15px;
	}
	.home-differentials-list{
		grid-template-columns:1fr;
	}
	.home-differential-item + .home-differential-item{
		border-left:0;
		border-top:1px solid var(--color-border);
	}
	.home-differential-item{
		min-height:auto;
		padding:28px 20px;
	}
	.home-differential-item > span{
		margin-bottom:22px;
		display:none;
	}
	.home-cta-content{
		padding:42px 22px;
	}
	.home-cta-content h2{
		font-size:35px;
	}
	.home-cta-content p{
		font-size:15px;
	}
}
/* ==========================================================================
   HOME - CERTIFICAÇÕES
========================================================================== */
.home-certifications{
	position:relative;
	padding:95px 0 105px;
	background:var(--color-background-light);
	overflow:hidden;
}
.home-certifications::before{
	content:"";
	position:absolute;
	top:-180px;
	right:-150px;
	width:380px;
	height:380px;
	border-radius:50%;
	background:var(--color-primary-light);
	opacity:.72;
}
.home-certifications::after{
	content:"";
	position:absolute;
	bottom:-170px;
	left:-150px;
	width:340px;
	height:340px;
	border:42px solid rgba(141,41,41,.05);
	border-radius:50%;
}
.home-certifications .container{
	position:relative;
	z-index:2;
}
.home-certifications-heading{
	max-width:760px;
	margin:0 auto 48px;
}
.home-certifications-heading .section-label{
	justify-content:center;
}
.home-certifications-heading .section-title{
	margin:0 auto;
	font-size:clamp(34px,4vw,48px);
}
.certifications-slider{
	padding:12px 2px 5px;
}
.certifications-slider .swiper-wrapper{
	align-items:stretch;
}
.certifications-slider .swiper-slide{
	height:auto;
}
.certification-item{
	display:flex;
	align-items:center;
	justify-content:center;
	height:190px;
	padding:30px;
	border:1px solid var(--color-border);
	background:var(--color-white);
	box-shadow:var(--shadow-small);
	transition:var(--transition);
}
.certification-item::before{
	content:"";
	position:absolute;
	top:0;
	right:0;
	left:0;
	height:3px;
	background:var(--color-primary);
	transform:scaleX(0);
	transform-origin:center;
	transition:transform .35s ease;
}
.certification-item:hover{
	border-color:rgba(141,41,41,.28);
	box-shadow:var(--shadow-medium);
	transform:translateY(-7px);
}
.certification-item:hover::before{
	transform:scaleX(1);
}
.certification-item img{
	display:block;
	max-width:205px;
	max-height:155px;
	width:auto;
	height:auto;
	object-fit:contain;
	filter:grayscale(0);
	opacity:1;
	transition:var(--transition);
}
.certification-item:hover img{
	filter:grayscale(100%);
	opacity:.68;
	transform:scale(1.04);
}
.certifications-navigation{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:18px;
	margin-top:35px;
}
.certifications-prev,
.certifications-next{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:46px;
	height:46px;
	border:1px solid var(--color-border);
	border-radius:50%;
	font-size:13px;
	color:var(--color-title);
	background:var(--color-white);
	box-shadow:var(--shadow-small);
	transition:var(--transition);
}
.certifications-prev:hover,
.certifications-next:hover{
	color:var(--color-white);
	border-color:var(--color-primary);
	background:var(--color-primary);
	transform:translateY(-2px);
}
.certifications-pagination{
	position:static !important;
	display:flex;
	align-items:center;
	justify-content:center;
	width:auto !important;
}
.certifications-pagination .swiper-pagination-bullet{
	width:7px;
	height:7px;
	margin:0 4px !important;
	background:var(--color-text-light);
	opacity:.35;
	transition:var(--transition);
}
.certifications-pagination .swiper-pagination-bullet-active{
	width:25px;
	border-radius:var(--radius-full);
	background:var(--color-primary);
	opacity:1;
}
/* ==========================================================================
   RESPONSIVO - CERTIFICAÇÕES
========================================================================== */
@media (max-width: 991.98px){
	.home-certifications{
		padding:80px 0 90px;
	}
	.certification-item{
		height:175px;
		padding:25px;
	}
	.certification-item img{
		max-width:155px;
		max-height:95px;
	}
}
@media (max-width: 767.98px){
	.home-certifications{
		padding:68px 0 75px;
	}
	.home-certifications-heading{
		margin-bottom:35px;
	}
	.certification-item{
		height:155px;
		padding:22px;
	}
	.certification-item img{
		max-width:135px;
		max-height:82px;
	}
}
@media (max-width: 575.98px){
	.certification-item{
		height:145px;
		padding:18px;
	}
	.certification-item img{
		max-width:120px;
		max-height:75px;
	}
	.certifications-navigation{
		margin-top:27px;
	}
}

/* ==========================================================================
   HOME - LOGO DO GRUPO (MOBILE)
   ========================================================================== */

@media (max-width: 767.98px){

	.home-group-logo{
		display:flex;
		justify-content:center;
		align-items:center;
		margin:0 auto 28px;
		text-align:center;
	}

	.home-group-logo img{
		display:block;
		width:auto;
		max-width:220px;
		max-height:88px;
		margin:0 auto;
		margin-bottom:15px
	}

}