@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;800;900&family=Poppins:wght@300;400;500;600;700&display=swap');

/* ==========================================================================
   1. DESIGN TOKENS E VARIÁVEIS GLOBAIS ENXUTAS (:ROOT)
   ========================================================================== */
:root {
	/* --- Cores Base do Sistema --- */
	--cor-1: #102b48; /* Azul Marinho Principal #000B58 / #102b48 */
	--cor-2: #eef0f2; /* Branco #eef0f2 / #fff8e1 / #fff1e0 */
	
	/* --- Derivações Globais de Texto e Fundo --- */
	--cor-texto-principal: color-mix(in srgb, var(--cor-1) 85%, var(--cor-2));
	--cor-texto-secundario: color-mix(in srgb, var(--cor-1) 65%, var(--cor-2));
	--cor-borda-suave: color-mix(in srgb, var(--cor-1) 15%, transparent);

	/* --- Menu, Submenu e Interações --- */
	--fundo-menu: color-mix(in srgb, var(--cor-2) 92%, transparent);
	--fundo-menu-fixo: color-mix(in srgb, var(--cor-2) 96%, transparent);
	--fundo-menu-aberto: color-mix(in srgb, var(--cor-2) 98%, transparent);
	--fundo-submenu: color-mix(in srgb, var(--cor-2) 98%, transparent);
	--fundo-submenu-mobile: color-mix(in srgb, var(--cor-2) 96%, var(--cor-1));
	--menu-text-hover: color-mix(in srgb, var(--cor-1) 75%, transparent);
	
	/* --- Mapeamento Semântico Exclusivo do Hero --- */
	--hero-bg: var(--cor-2);
	--hero-border: var(--cor-1);
	--hero-overlay: linear-gradient(
		90deg, 
		color-mix(in srgb, var(--cor-2) 95%, transparent) 20%, 
		color-mix(in srgb, var(--cor-2) 0%, transparent) 70%, 
		color-mix(in srgb, var(--cor-2) 0%, transparent) 100%
	);	
	--hero-overlay-responsive: linear-gradient(
		180deg, 
		color-mix(in srgb, var(--cor-2) 70%, transparent) 20%, 
		color-mix(in srgb, var(--cor-2) 70%, transparent) 80%, 
		color-mix(in srgb, var(--cor-2) 70%, transparent) 100%
	);
	--hero-tag-color: var(--cor-1);
	--hero-title-color: var(--cor-1);
	--hero-subtitle-color: var(--cor-texto-principal);
	--hero-btn-bg-hover: color-mix(in srgb, var(--cor-1) 80%, var(--cor-2));
	
	/* --- Seções de Conteúdo --- */
	--servicos-bg: color-mix(in srgb, var(--cor-2) 95%, var(--cor-1));
	--servicos-card-bg: color-mix(in srgb, var(--cor-2) 98%, var(--cor-1));
	--servicos-borda: var(--cor-borda-suave);

	--portfolio-bg: var(--cor-2);
	--portfolio-card-bg: color-mix(in srgb, var(--cor-2) 98%, var(--cor-1));
	--portfolio-borda: var(--cor-borda-suave);

	--depoimentos-bg: color-mix(in srgb, var(--cor-2) 94%, var(--cor-1));
	--depoimentos-borda: var(--cor-borda-suave);
	
	/* --- Rodapé --- */
	--rodape-bg: var(--cor-1);
	--rodape-bottom-bg: color-mix(in srgb, var(--cor-1) 85%, #000000);
	--rodape-text: var(--cor-2);
	--rodape-icon-bg: color-mix(in srgb, var(--cor-2) 10%, transparent);
	--rodape-icon-bg-hover: color-mix(in srgb, var(--cor-2) 25%, transparent);
	--rodape-borda: color-mix(in srgb, var(--cor-2) 15%, transparent);
	--cor-text-hover: color-mix(in srgb, var(--cor-2) 80%, transparent);
	
	/* --- LGPD & Banner de Cookies --- */
	--lgpd-text: var(--cor-2);
	--lgpd-banner-bg: var(--cor-1);
	--lgpd-banner-text: var(--cor-2);
	--lgpd-btn-bg: var(--cor-2);
	--lgpd-btn-hover: color-mix(in srgb, var(--cor-2) 85%, var(--cor-1));

	/* --- Botão Voltar ao Topo --- */
	--totop-bg: var(--cor-2);
	--totop-borda: var(--cor-1);
	--totop-icone: var(--cor-1);
	--totop-hover-bg: var(--cor-1);
	--totop-hover-icone: var(--cor-2);
}


/* ==========================================================================
   2. RESET CSS & REGRAS BASE GLOBAIS
   ========================================================================== */
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, 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;
}

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	line-height: 1;
}

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;
}

.zoom {
  transition: transform .3s ease-in-out;
}
.zoom:hover {
	cursor: pointer;
  transform: scale(1.03); 
}

input, textarea, button {
	font-family: 'Poppins', sans-serif;
}

html, body {
  	height: auto !important;
    min-height: 100%;
    width: 100%;
    padding: 0;
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 300;
    color: var(--cor-texto-principal);
    background-color: var(--hero-bg);
    line-height: 175%;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;	
}
h1, h2, h3 {
	line-height: 125%;
}

.bx0_fll{
	width: 100%;
	margin: 0 auto;
}
.bx0_bd{
	width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-direction: row;
}
.bx0_cmnt{
	width: 100%;
	margin: 0 auto;
}

.bx00_fll{
	width: 100%;
	margin: 0 auto;
}
.bx00_bd{
	width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-flow: wrap;
	flex-direction: row;
}
.bx00_cmnt{
	width: 100%;
	max-width: 570px;
	margin: 0 auto;
	display: flex;
    justify-content: center;
	align-items: center;
}

.lnk0_gnrl a:link, .lnk0_gnrl a:visited{
	width: 90%;
	max-width: 450px;
	display: block;
	margin: 0 auto;
	background: var(--cor-1);
	color: var(--cor-2);
	text-decoration: none;
	transition: all 0.3s ease;
}
.lnk0_gnrl a:hover, .lnk0_gnrl a:active{
	background: var(--hero-btn-bg-hover);
	color: var(--cor-2);
	text-decoration: none;
}

.st_00000000_0000_bx0_fll{
	width: 100%;
	margin: 0 auto;
	padding: 60px 0 0 0;
}
.st_00000000_0000_bx0_bd{
	width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}
.st_00000000_0000_bx0_bd_space1{
	height: 40px;
}
.st_00000000_0000_bx0_cmnt1{
	width: 100%;	
	padding: 40px 0;
	display: flex;
    justify-content: center;
	align-items: center;
}
.st_00000000_0000_bx0_cmnt1 p{
	width: 90%;
}
.st_00000000_0000_bx0_cmn1_p1{
	text-align: justify;
}
.st_00000000_0000_bx0_cmn1_p1 span{
	display: table;
}
.st_00000000_0000_bx0_cmn1_p1_spn1{
	font-size: 44px;
	font-weight: 800;
	line-height: 1.2;
	margin-bottom: 20px;
	color: var(--cor-1);
}
.st_00000000_0000_bx0_cmnt2{
	width: 100%;
	padding: 40px 0;
	display: flex;
    justify-content: center;
	align-items: center;
}
.st_00000000_0000_bx0_cmnt2 p{
	width: 90%;
}
.st_00000000_0000_bx0_cmn2_p1{
	text-align: justify;
}
.st_00000000_0000_bx0_cmn2_p1 span{
	display: table;
}
.st_00000000_0000_bx0_cmn2_p1_spn1{
	font-size: 44px;
	font-weight: 800;
	line-height: 1.2;
	margin-bottom: 20px;
	color: var(--cor-2);
}

@media only screen and (max-width: 1201px) {
	.bx0_bd, .bx00_bd, .st_00000000_0000_bx0_bd {
		max-width: 100% !important;
		width: 92% !important;
		flex-direction: column;
		box-sizing: border-box;
		margin-left: auto;
		margin-right: auto;
	}
}


/* ==========================================================================
   3. BLOCO DO MENU E HEADER PRINCIPAL
   ========================================================================== */
#box_menu_new {
    background-color: var(--fundo-menu) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
    
    border-bottom: 2px solid var(--cor-1);
    box-shadow: 0 10px 30px color-mix(in srgb, var(--cor-1) 20%, transparent);
    color: var(--cor-1);
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 15px 0;
    
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 99999999;
    transition: all 0.3s ease;
}

.box_menu_new_fixed,
#box_menu_new.menu-fixed-mobile {
    z-index: 99999999 !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    background-color: var(--fundo-menu-fixo) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
    border-bottom: 2px solid var(--cor-1) !important;
    box-shadow: 0 10px 30px color-mix(in srgb, var(--cor-1) 30%, transparent);
}

#box_menu_new_coment {
    margin: 0 auto;
    width: 1200px;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0 15px;
}

.logo_menu_new {
    display: block;
    float: left;
    max-height: 85px;
    width: auto;
}

nav, 
nav a {
    background-color: transparent;
    color: var(--cor-1);
    border-radius: 5px;
}

nav a:hover { 
    background-color: transparent;
    color: var(--menu-text-hover);
}

.toggle,
[id^=drop] {
    display: none;    
}

nav { 
    margin: 0 auto;
    padding: 0;
    position: relative;
    font-size: 16px;
    line-height: 32px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

nav ul.menu {
    padding: 0;
    margin: 0 0 0 auto;
    list-style: none;
    display: flex;
    flex-direction: row;
    align-items: center;
}

nav ul.menu li {
    margin: 0;
    position: relative;
}

nav a {
    display: block;
    padding: 14px 18px;    
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.3s ease;
}

.nav_a_adjust1 {
    padding: 10px 0 !important;    
}

nav ul ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: var(--fundo-submenu);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    min-width: 200px;
    box-shadow: 0 4px 10px color-mix(in srgb, var(--cor-1) 15%, transparent);
}

nav ul li:hover > ul {
    display: block;
}

nav ul ul li {
    width: 100%;
}


/* ==========================================================================
   4. BLOCO 1: HERO SECTION - ESTILO VIDEO BACKGROUND COM POSTER FALLBACK
   ========================================================================== */
.st_05072024_bx1_fll {
	width: 100%;
	min-height: 600px;
	position: relative;
	display: flex;
	align-items: center;
	padding: 120px 0;
	border-bottom: 2px solid var(--cor-1);
	background-color: var(--hero-bg);
	/* Fallback visual com a imagem fornecida para quando o vídeo ainda não carregou */
	background-image: url("../img/bk1-video-img.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	overflow: hidden;
}

/* Tag de Vídeo ajustada para preenchimento total e cover */
.st_hero_video {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	z-index: 0;
	transform: translate(-50%, -50%);
	object-fit: cover;
	pointer-events: none;
}

/* Máscara de Gradiente (Overlay) mantendo legibilidade dos textos */
.st_05072024_bx1_fll::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--hero-overlay);
	z-index: 1;
}

.st_05072024_bx1_bd {
	width: 1200px;
	max-width: 92%;
	margin: 0 auto;
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: row;
}

.st_05072024_bx1_content {
	max-width: 650px;
}

.st_05072024_tag {
	display: inline-block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 2px;
	color: var(--hero-tag-color);
	text-transform: uppercase;
	margin-bottom: 15px;
}

.st_05072024_title {
	font-family: 'Montserrat', sans-serif;
	font-size: 48px;
	font-weight: 800;
	line-height: 1.15;
	color: var(--hero-title-color);
	margin-bottom: 20px;
	letter-spacing: -0.5px;
}

.st_05072024_subtitle {
	font-size: 16px;
	color: var(--hero-subtitle-color);
	line-height: 175%;
	margin-bottom: 35px;
	font-weight: 500;
}

.st_05072024_ctas {
	display: flex;
	gap: 15px;
	align-items: center;
}

.st_btn_primary {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 15px 30px;
	background: var(--cor-1);
	color: var(--cor-2);
	font-weight: 700;
	font-size: 14px;
	border-radius: 4px;
	text-decoration: none;
	box-shadow: 0 4px 20px color-mix(in srgb, var(--cor-1) 25%, transparent);
	transition: all 0.3s ease;
}

.st_btn_primary:hover {
	color: var(--cor-2);
	background: var(--hero-btn-bg-hover);
	transform: translateY(-2px);
}

.st_btn_outline {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 15px 30px;
	background: transparent;
	color: var(--cor-1);
	border: 2px solid var(--cor-1);
	font-weight: 600;
	font-size: 14px;
	border-radius: 4px;
	text-decoration: none;
	transition: all 0.3s ease;
}

.st_btn_outline:hover {
	border-color: var(--cor-1);
	color: var(--cor-2);
	background: var(--cor-1);
}

@media only screen and (max-width: 1201px) {
	.st_05072024_bx1_fll {
		min-height: 480px;
		padding: 80px 0;
		text-align: left;
	}
	.st_05072024_bx1_fll::before {
		background: var(--hero-overlay-responsive) !important;
	}
	.st_05072024_bx1_bd {
		width: 92% !important;
		max-width: 100% !important;
	}
	.st_05072024_title {
		font-size: 32px;
	}
	.st_05072024_subtitle {
		font-size: 15px;
	}
	.st_05072024_ctas {
		flex-direction: column;
		width: 100%;
		align-items: stretch;
	}
	.st_btn_primary, .st_btn_outline {
		width: 100%;
		box-sizing: border-box;
		text-align: center;
	}
}

/* ==========================================================================
   5. BLOCO 2: SEÇÃO DE SERVIÇOS (ESTILO SPLIT)
   ========================================================================== */
.dq_services_split_fll {
	width: 100%;
	padding: 100px 0;
	background-color: var(--servicos-bg);
	border-top: 1px solid var(--servicos-borda);
	border-bottom: 1px solid var(--servicos-borda);
}

.dq_services_split_bd {
	width: 1200px;
	max-width: 92%;
	margin: 0 auto;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	gap: 60px;
}

.dq_services_split_left {
	flex: 1;
	max-width: 500px;
}

.dq_services_title {
	font-family: 'Montserrat', sans-serif;
	font-size: 38px;
	font-weight: 800;
	color: var(--cor-1);
	line-height: 1.2;
	margin-bottom: 25px;
	letter-spacing: -0.5px;
}

.dq_services_desc {
	font-size: 15px;
	color: var(--cor-texto-secundario);
	line-height: 175%;
	margin-bottom: 35px;
}

.dq_services_cta_wrapper {
	display: flex;
}

.dq_services_btn {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 16px 36px;
	background: var(--cor-1);
	color: var(--cor-2);
	font-weight: 700;
	font-size: 14px;
	border-radius: 4px;
	text-decoration: none;
	box-shadow: 0 4px 20px color-mix(in srgb, var(--cor-1) 25%, transparent);
	transition: all 0.3s ease;
}

.dq_services_btn:hover {
	background: var(--hero-btn-bg-hover);
	transform: translateY(-2px);
}

.dq_services_split_right {
	flex: 1.2;
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.dq_service_item {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	padding: 24px;
	background: var(--servicos-card-bg);
	border: 1px solid var(--servicos-borda);
	border-radius: 8px;
	transition: all 0.3s ease;
}

.dq_service_item:hover {
	border-color: var(--cor-1);
	background: color-mix(in srgb, var(--servicos-card-bg) 85%, var(--cor-1));
	transform: translateY(-3px);
}

.dq_service_icon {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 60px;
	height: 60px;
	min-width: 60px;
	background: var(--cor-1);
	color: var(--cor-2);
	border-radius: 50%;
	font-size: 22px;
	box-shadow: 0 4px 15px color-mix(in srgb, var(--cor-1) 20%, transparent);
}

.dq_service_info h3 {
	font-family: 'Montserrat', sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: var(--cor-1);
	margin-bottom: 8px;
}

.dq_service_info p {
	font-size: 14px;
	color: var(--cor-texto-secundario);
	line-height: 160%;
	margin: 0;
}

@media only screen and (max-width: 1024px) {
	.dq_services_split_bd {
		flex-direction: column;
		gap: 40px;
		max-width: 92% !important;
	}
	.dq_services_split_left {
		max-width: 100%;
		text-align: left;
	}
	.dq_services_title {
		font-size: 28px;
	}
	.dq_services_split_right {
		width: 100%;
	}
	.dq_services_btn {
		width: 100%;
		box-sizing: border-box;
		text-align: center;
	}
}


/* ==========================================================================
   6. BLOCO 3: SEÇÃO DE PORTFÓLIO (ESTILO GRID ALTERNADO)
   ========================================================================== */
.dq_portfolio_grid_fll {
	width: 100%;
	padding: 100px 0;
	background-color: var(--portfolio-bg);
}

.dq_portfolio_header {
	width: 1200px;
	max-width: 92%;
	margin: 0 auto 50px auto;
	text-align: center;
}

.dq_portfolio_tag {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 2px;
	color: var(--cor-1);
	text-transform: uppercase;
	margin-bottom: 10px;
}

.dq_portfolio_title {
	font-family: 'Montserrat', sans-serif;
	font-size: 36px;
	font-weight: 800;
	color: var(--cor-1);
}

.dq_portfolio_grid_container {
	width: 1200px;
	max-width: 92%;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.dq_portfolio_card {
	height: 320px;
	border-radius: 8px;
	border: 1px solid var(--portfolio-borda);
	overflow: hidden;
	transition: all 0.3s ease;
}

.dq_portfolio_card_text {
	background: var(--portfolio-card-bg);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 40px;
	box-sizing: border-box;
	text-align: center;
}

.dq_portfolio_card_content h3 {
	font-family: 'Montserrat', sans-serif;
	font-size: 22px;
	font-weight: 700;
	color: var(--cor-1);
	margin-bottom: 12px;
}

.dq_portfolio_card_content p {
	font-size: 14px;
	color: var(--cor-texto-secundario);
	line-height: 160%;
	margin-bottom: 24px;
}

.dq_portfolio_btn {
	display: inline-block;
	padding: 10px 24px;
	background: transparent;
	color: var(--cor-1);
	border: 2px solid var(--cor-1);
	border-radius: 30px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	text-decoration: none;
	transition: all 0.3s ease;
}

.dq_portfolio_btn:hover {
	background: var(--cor-1);
	color: var(--cor-2);
}

.dq_portfolio_card_img {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	filter: brightness(0.85);
}

.dq_portfolio_card_img:hover {
	filter: brightness(1.05);
	border-color: var(--cor-1);
}

.dq_portfolio_bk1 { background-image: url("../portfolio/bk1.webp"); }
.dq_portfolio_bk2 { background-image: url("../portfolio/bk2.webp"); }
.dq_portfolio_bk3 { background-image: url("../portfolio/bk3.webp"); }
.dq_portfolio_bk4 { background-image: url("../portfolio/bk4.webp"); }

@media only screen and (max-width: 1024px) {
	.dq_portfolio_grid_container {
		grid-template-columns: 1fr;
		max-width: 92% !important;
	}
	.dq_portfolio_card {
		height: 280px;
	}
	.dq_portfolio_card_text {
		height: auto;
		padding: 30px 20px;
	}
}


/* ==========================================================================
   7. BLOCO 4: SEÇÃO DE DEPOIMENTOS (ESTILO SPLIT COM SLIDER FUNCIONAL)
   ========================================================================== */
.dq_testimonials_split_fll {
	width: 100%;
	padding: 100px 0;
	background-color: var(--depoimentos-bg);
	border-top: 1px solid var(--depoimentos-borda);
	border-bottom: 1px solid var(--depoimentos-borda);
}

.dq_testimonials_split_bd {
	width: 1200px;
	max-width: 92%;
	margin: 0 auto;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	gap: 60px;
}

.dq_testimonials_split_left {
	flex: 1;
	max-width: 450px;
}

.dq_testimonials_tag {
	display: inline-block;
	font-size: 13px;
	font-weight: 600;
	color: var(--cor-1);
	background: color-mix(in srgb, var(--cor-1) 10%, transparent);
	padding: 6px 16px;
	border-radius: 20px;
	margin-bottom: 20px;
}

.dq_testimonials_title {
	font-family: 'Montserrat', sans-serif;
	font-size: 42px;
	font-weight: 800;
	color: var(--cor-1);
	line-height: 1.15;
	margin-bottom: 20px;
	letter-spacing: -0.5px;
}

.dq_testimonials_desc {
	font-size: 15px;
	color: var(--cor-texto-secundario);
	line-height: 175%;
}

.dq_testimonials_split_right {
	flex: 1.3;
	display: flex;
	flex-direction: column;
	gap: 25px;
}

.dq_testimonial_slider_wrapper {
	position: relative;
	min-height: 240px;
}

.dq_testimonial_card {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background: var(--servicos-card-bg);
	border: 1px solid var(--depoimentos-borda);
	border-radius: 12px;
	padding: 45px;
	box-sizing: border-box;
	opacity: 0;
	visibility: hidden;
	transition: all 0.4s ease-in-out;
}

.dq_testimonial_card.active {
	position: relative;
	opacity: 1;
	visibility: visible;
	border-color: var(--cor-1);
	background: color-mix(in srgb, var(--servicos-card-bg) 80%, var(--cor-1));
}

.dq_testimonial_quote_icon {
	font-family: 'Montserrat', sans-serif;
	font-size: 64px;
	font-weight: 900;
	color: var(--cor-1);
	line-height: 0.8;
	margin-bottom: 15px;
	opacity: 0.8;
}

.dq_testimonial_txt {
	font-size: 15px;
	color: var(--cor-texto-principal);
	line-height: 175%;
	margin-bottom: 30px;
}

.dq_testimonial_author {
	display: flex;
	align-items: center;
	gap: 16px;
}

.dq_testimonial_img {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid var(--cor-1);
}

.dq_testimonial_info h4 {
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: var(--cor-1);
	margin-bottom: 4px;
}

.dq_testimonial_info p {
	font-size: 13px;
	color: var(--cor-texto-secundario);
	margin-bottom: 6px;
}

.dq_stars {
	color: color-mix(in srgb, var(--cor-1) 75%, #ffd700);
	font-size: 12px;
}

.dq_testimonials_nav {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
}

.dq_nav_btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 44px;
	height: 44px;
	background: var(--servicos-card-bg);
	color: var(--cor-1);
	border: 1px solid var(--depoimentos-borda);
	border-radius: 50%;
	font-size: 16px;
	cursor: pointer;
	transition: all 0.3s ease;
}

.dq_nav_btn:hover {
	background: var(--cor-1);
	color: var(--cor-2);
	border-color: var(--cor-1);
}

.dq_nav_next {
	background: var(--cor-1);
	color: var(--cor-2);
	border-color: var(--cor-1);
}

.dq_nav_next:hover {
	background: var(--hero-btn-bg-hover);
	border-color: var(--hero-btn-bg-hover);
}

@media only screen and (max-width: 1024px) {
	.dq_testimonials_split_bd {
		flex-direction: column;
		gap: 40px;
		max-width: 92% !important;
	}
	.dq_testimonials_split_left {
		max-width: 100%;
	}
	.dq_testimonials_title {
		font-size: 32px;
	}
	.dq_testimonials_split_right {
		width: 100%;
	}
	.dq_testimonial_card {
		padding: 30px 20px;
	}
	.dq_testimonial_slider_wrapper {
		min-height: 280px;
	}
}


/* ==========================================================================
   8. BLOCO 5: RODAPÉ E CONTATO (ESTILO DUAS COLUNAS)
   ========================================================================== */
.dq_footer_fll {
	width: 100%;
	background: var(--rodape-bg);
	border-top: 2px solid var(--cor-1);
	padding-top: 80px;
}

.dq_footer_bd {
	width: 1200px;
	max-width: 92%;
	margin: 0 auto 60px auto;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	gap: 60px;
}

.dq_footer_col {
	flex: 1;
}

.dq_footer_info {
	display: flex;
	flex-direction: column;
	gap: 25px;
}

.dq_footer_info_item {
	display: flex;
	align-items: center;
	gap: 20px;
}

.dq_footer_icon {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 48px;
	height: 48px;
	min-width: 48px;
	background: var(--rodape-icon-bg);
	color: var(--rodape-text);
	border: 1px solid var(--rodape-borda);
	border-radius: 50%;
	font-size: 18px;
	transition: all 0.3s ease;
}

.dq_footer_info_item:hover .dq_footer_icon {
	background: var(--rodape-icon-bg-hover);
	color: var(--cor-2);
	border-color: var(--cor-2);
}

.dq_footer_info_item p a {
	color: var(--rodape-text);
	text-decoration: none;
	font-size: 14px;
	line-height: 160%;
	transition: color 0.3s ease;
}

.dq_footer_info_item p a:hover {
	color: var(--cor-text-hover);
}

.dq_footer_about h3 {
	font-family: 'Montserrat', sans-serif;
	font-size: 20px;
	font-weight: 700;
	color: var(--rodape-text);
	margin-bottom: 20px;
}

.dq_footer_about p {
	font-size: 14px;
	color: var(--rodape-text);
	line-height: 175%;
	margin-bottom: 25px;
}

.dq_footer_socials {
	display: flex;
	gap: 15px;
}

.dq_footer_socials a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 42px;
	height: 42px;
	background: var(--rodape-icon-bg);
	color: var(--rodape-text);
	border: 1px solid var(--rodape-borda);
	border-radius: 6px;
	font-size: 16px;
	text-decoration: none;
	transition: all 0.3s ease;
}

.dq_footer_socials a:hover {
	background: var(--rodape-icon-bg-hover);
	color: var(--cor-2);
	border-color: var(--cor-2);
	transform: translateY(-2px);
}

.dq_footer_bottom {
	background-color: var(--rodape-bottom-bg);
	border-top: 1px solid color-mix(in srgb, var(--cor-2) 10%, transparent);
}

.st_18052024_bx6_fll_p1 {
	text-align: center;
	color: var(--rodape-text);
	padding: 20px 0 10px 0;
	font-size: 12px;
	letter-spacing: 1px;
}

.st_18052024_bx6_fll_p2 {
	text-align: center;
	padding-bottom: 25px;
}

.st_18052024_bx6_fll_p2 img {
	width: 50px;
}


/* ==========================================================================
   9. BLOCO 6: ESTILIZAÇÃO DO LGPD E BANNER DE COOKIES
   ========================================================================== */
.ppc1_fll{
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 60px 0;
}
.ppc1_bd{
	width: 1000px;
	height: auto;
	margin: 0 auto;
}
.ppc1_cmnt{
	width: 100%;
	height: auto;
	margin: 0 auto;
}
.ppc1_cmnt_p1{
	font-family: sans-serif;
	line-height: 145%;
	color: var(--cor-1);
	font-weight: 500;
	text-align: justify;
}
.ppc1_cmnt_p2{
	font-size: 11px;
	font-family: sans-serif;
	line-height: 145%;
	color: var(--lgpd-text);
	font-weight: 500;
	text-align: center;
	padding-bottom: 15px;
	background-color: var(--rodape-bottom-bg);
	margin: 0 auto;
}
.ppc1_cmnt_p2 a{
	color: var(--lgpd-text);
	text-decoration: underline !important;
}
.ppc1_cmnt_p2_adjst1, .ppc1_cmnt_p2_adjst1 a{
	color: var(--lgpd-text) !important; 
	background-color: var(--rodape-bottom-bg) !important;
}
.ppc1_cmnt_p2_adjst2{ 
	background-color: var(--rodape-bottom-bg) !important;
}

@keyframes cookies-eu-banner-go-back {
    0% {
        transform: translateY(200px);
		opacity: 0;
    }
    100% {
        transform: translateY(0);
		opacity: 1;
    }
}

.cookies-eu-banner {
  width: 100%;
  padding: 0;
  font-family: sans-serif;
  font-size: 13px;
  text-align: center;
  position: fixed;
  bottom: 20px;
  z-index: 9999999999999999999999999999999999;
  line-height: 145%;
  font-weight: 500;
  letter-spacing: 1px;
  animation: cookies-eu-banner-go-back 1.0s;
}

.cookies-eu-banner-cmnt1{
  width: 1000px;
  margin: 0 auto;
  padding: 30px 0;
  border-radius: 12px;
  background: var(--lgpd-banner-bg);
  color: var(--lgpd-banner-text);
}
.cookies-eu-banner-cmnt1 a{
  display: block;
  color: var(--lgpd-banner-text);
  text-decoration: underline !important;
}

.cookies-eu-banner button {
  text-decoration: none;
  background: var(--lgpd-btn-bg);
  color: var(--cor-1);
  border: 0px;
  cursor: pointer;
  padding: 15px 24px;
  margin: 10px auto;
  font-size: 14px;
  font-weight: 500;
  transition: background .3s;
  display: block;
  border-radius: 5px;
  letter-spacing: 1px;
}

.cookies-eu-banner button:hover {
  background: var(--lgpd-btn-hover);
}

.hidden-cookies-eu-banner {
  display: none;
}


/* ==========================================================================
   10. BLOCO 7: BOTÃO VOLTAR AO TOPO (TOTOP)
   ========================================================================== */
#totop1 {
  display: inline-block !important;

  width: 48px;
  height: 48px;
  text-align: center;
  border-radius: 4px;
  position: fixed !important;
  bottom: 20px;
  left: 20px; 
  z-index: 9999999;
  background-color: var(--totop-bg);
  border: 1px solid var(--totop-borda);
  box-shadow: 0 4px 15px color-mix(in srgb, var(--cor-1) 30%, transparent);
  transition: all 0.3s ease-out;
  text-decoration: none !important;
  outline: none !important;
  opacity: 0;
  visibility: hidden;
}

#totop1::after {
  content: "\f139";
  font-family: FontAwesome;
  font-weight: normal;
  font-style: normal;
  font-size: 2em;
  line-height: 48px;	
  color: var(--totop-icone);
  text-decoration: none !important;
}

#totop1:hover {
  cursor: pointer;
  transform: scale(1.1);
  background-color: var(--totop-hover-bg);
  text-decoration: none !important;
}

#totop1:hover::after {
  color: var(--totop-hover-icone);
  text-decoration: none !important;
}

#totop1.show {
  opacity: 1 !important;
  visibility: visible !important;
}


/* ==========================================================================
   11. RESPONSIVIDADE MOBILE GERAL (MENU, RODAPÉ, LGPD E TOTOP)
   ========================================================================== */
@media only screen and (max-width: 1201px) {
    #box_menu_new {	
        background-color: var(--fundo-menu-fixo) !important;
        -webkit-backdrop-filter: blur(10px) !important;
        backdrop-filter: blur(10px) !important;  
        
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 0 !important;
        margin: 0 auto;
        padding: 5px 0;
        width: 100% !important;
        z-index: 99999999 !important;
    }

    #box_menu_new_coment {
        margin: 0 auto;
        width: 100% !important;
        height: auto;
        padding: 0 10px;
    }

    nav {
        background-color: transparent !important;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        padding: 5px 10px;
        width: 100%;
        box-sizing: border-box;
    }

    .nav_a_adjust1 {
        order: 2;
        padding: 5px 0 !important;
    }

    .logo_menu_new {
        float: none; 
        margin: 0;
        max-height: 65px;
    }

    [id^=drop] {
        display: none !important;
    }

    .toggle {
        display: flex !important;
        align-items: center;
        gap: 8px;
        padding: 10px 0;    
        font-size: 16px;
        color: var(--cor-1);
        text-transform: uppercase;
        font-weight: 600;
        cursor: pointer;
        order: 1;
    }

    #drop + label i {
        transition: transform 0.3s ease;
    }

    #drop:checked + label i {
        transform: rotate(-180deg);
    }

    nav ul.menu {
        display: none;
        width: 100%;
        order: 3;
        margin: 10px 0 0 0 !important;
        padding: 0;
        flex-direction: column;
        background-color: var(--fundo-menu-aberto) !important;
        -webkit-backdrop-filter: blur(12px);
        backdrop-filter: blur(12px);
        border-top: 1px solid color-mix(in srgb, var(--cor-1) 15%, transparent);
    }

    [id^=drop]:checked ~ ul.menu {
        display: flex !important;
    }

    nav ul.menu li {
        width: 100%;
        text-align: left;
        border-bottom: 1px solid color-mix(in srgb, var(--cor-1) 10%, transparent);
    }

    nav ul.menu li a {
        padding: 12px 15px;
        width: 100%;
        box-sizing: border-box;
    }

    nav ul ul {
        position: static;
        width: 100%;
        background-color: var(--fundo-submenu-mobile);
        box-shadow: none;
    }
}

@media only screen and (max-width: 1024px) {
	.dq_footer_bd {
		flex-direction: column;
		gap: 40px;
		max-width: 92% !important;
	}
	.dq_footer_col {
		width: 100%;
	}
}

@media (max-width: 980px){	
	.ppc1_bd{
		width: 95%;
	}
	.ppc1_cmnt_p1{
		text-align: left;
	}

	.cookies-eu-banner-cmnt1{
		width: 85%;
		padding: 30px 18px;
	}	
}

@media (max-width: 768px) {
  #totop1 {
    width: 44px;
    height: 44px;
    bottom: 20px;
    left: 15px;
    opacity: 1 !important;
    visibility: visible !important;
  }
  #totop1::after {
    font-size: 1.6em;
    line-height: 44px;
  }
}