[hidden]{display: none !important;}

/* =========================================================
   Box Topo (Home Hero)
   ========================================================= */
.boxTopo{position: relative; overflow: hidden; display: flex; align-items: center; height: var(--layout-hero-height); padding: var(--layout-header-height) 0 var(--space-56); background: var(--color-bg-hero);}
	.boxTopo .centro{position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: var(--space-12); text-align: center;}
		.boxTopo h1{max-width: 820px; font: 500 var(--type-display-size)/var(--type-display-line-height) var(--font-family-heading); letter-spacing: -0.02em; color: var(--color-text-hero); text-shadow: 0px 6px 12px rgba(29, 51, 67, 0.29);}
		.boxTopo p{max-width: 760px; font: 400 var(--type-body-lg-size)/var(--type-body-lg-line-height) var(--font-family-body); letter-spacing: 0; color: var(--color-text-accent);}
	.boxTopo .linhaDestaque{position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; height: 6px; background-image: linear-gradient(15.79deg, #D6B2A6 4.91%, #93442A 68.66%, #D6B2A6 88.19%, #CE4619 111.47%);}

/* =========================================================
   Box Escritório
   ========================================================= */
.boxEscritorio{position: relative; padding: var(--layout-section-y-lg) 0 203px; background: var(--color-bg-page);}
	.boxEscritorio .centro{position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 675px) 488px; justify-content: space-between; align-items: start; column-gap: calc(var(--layout-column-gap) - 8px); row-gap: var(--space-48);}
		.boxEscritorio .texto{display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-40);}
			.boxEscritorio .tituloSecao{margin-bottom: calc(var(--space-32) - var(--space-40));}
			.boxEscritorio .botao{min-width: 344px;}
		.boxEscritorio .foto{height: 512px;}

/* =========================================================
   Box Áreas de Atuação
   ========================================================= */
.boxAreas{position: relative; padding: var(--space-48) 0 var(--layout-section-y-lg); background: var(--color-bg-subtle);}
	.boxAreas .tituloSecao{text-align: center;}
	.boxAreas .listaAreas{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-20) var(--layout-grid-gutter); margin-top: var(--space-48); padding-top: var(--space-32);}
		.boxAreas .listaAreas li{display: flex;}
		.boxAreas .cartaoArea:link,
		.boxAreas .cartaoArea:visited{display: flex; flex-direction: column; align-items: center; width: 100%;}
			.boxAreas .iconeArea{position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 100px; height: 100px; margin-bottom: -68px; border-radius: var(--radius-lg); background: var(--color-bg-icon-tile); transition: transform 0.35s ease, box-shadow 0.35s ease;}
				.boxAreas .iconeArea img{max-width: none;}
			.boxAreas .superficie{flex: 1; display: flex; flex-direction: column; align-items: center; gap: var(--space-12); width: 100%; padding: var(--space-96) var(--space-32) var(--space-48); border-radius: var(--radius-xs); background: linear-gradient(to top, rgba(233, 226, 222, 0) 0%, rgba(233, 226, 222, 0.46) 100%); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); text-align: center; transition: background 0.35s ease;}
				.boxAreas .superficie h3{font: 400 var(--type-title-card-size)/var(--type-title-card-line-height) var(--font-family-body); letter-spacing: 0; color: var(--color-text-heading);}
				.boxAreas .superficie p{font: 300 var(--type-body-sm-size)/var(--type-body-sm-line-height) var(--font-family-body); letter-spacing: 0.01em; color: var(--color-text-secondary);}
		/* Hover */
		.boxAreas .cartaoArea:hover .iconeArea{transform: translateY(-6px); box-shadow: 0px 14px 22px -12px rgba(119, 51, 41, 0.7);}
		.boxAreas .cartaoArea:hover .superficie{background: linear-gradient(to top, rgba(233, 226, 222, 0.2) 0%, rgba(233, 226, 222, 0.85) 100%);}

	/* Section Divider + Text Link */
	.boxAreas .divisorSecao{display: flex; align-items: center; gap: var(--space-40); margin-top: var(--space-48);}
		.boxAreas .divisorSecao::before,
		.boxAreas .divisorSecao::after{content: ""; flex: 1; height: 2px; background: var(--color-border-accent);}
		.boxAreas .linkTexto:link,
		.boxAreas .linkTexto:visited{display: flex; align-items: center; gap: var(--space-12);}
			.boxAreas .linkTexto b{display: block; font: 600 var(--type-label-sm-size)/var(--type-label-sm-line-height) var(--font-family-body); letter-spacing: 0.04em; text-transform: uppercase; color: var(--color-text-heading); white-space: nowrap;}
			.boxAreas .linkTexto .seta{display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: var(--radius-full); background: var(--color-bg-accent-soft); transition: all 0.35s ease;}
		.boxAreas .linkTexto:hover .seta{background: var(--color-bg-icon-tile); transform: translateX(4px);}

/* =========================================================
   Box Sócias
   ========================================================= */
.boxSocias{position: relative; overflow: hidden; padding: var(--layout-section-y-lg) 0 180px; background: var(--color-bg-page);}
	.boxSocias .centro{position: relative; display: grid; grid-template-columns: minmax(0, 675px) 488px; justify-content: space-between; align-items: start; column-gap: calc(var(--layout-column-gap) - 8px); row-gap: var(--space-48);}
		.boxSocias .marcaDagua{position: absolute; left: calc(var(--layout-page-margin) - 2px); top: -5px; width: 787px; height: 487px; max-width: none; pointer-events: none; user-select: none;}
		.boxSocias .texto{position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-24);}
			.boxSocias h2{font: 600 var(--type-h2-size)/var(--type-h2-line-height) var(--font-family-heading); letter-spacing: -0.02em; background: linear-gradient(90deg, #471211 0%, #9F1B17 100%); -webkit-background-clip: text; background-clip: text; color: transparent;}
			.boxSocias .corpo{display: flex; flex-direction: column; gap: var(--space-24);}
			.boxSocias .botao{min-width: 364px; margin-top: var(--space-24);}
		.boxSocias .foto{position: relative; z-index: 1; height: 482px;}

/* =========================================================
   Box Depoimentos + Dúvidas
   ========================================================= */
.boxDepoimentos{position: relative; overflow: hidden; padding: var(--layout-section-y-lg) 0; background: var(--color-bg-dark) url('../img/fundoEscuro.svg') no-repeat center top / 1920px auto;}
	.boxDepoimentos .tituloSecao{color: var(--color-text-on-dark); text-align: center;}

	.boxDepoimentos .listaDepoimentos{--depoimento-espaco: var(--space-56); display: flex; gap: calc(var(--depoimento-espaco) * 2 + 1px); margin-top: 106px;}
		.boxDepoimentos .listaDepoimentos li{position: relative; flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: var(--space-24);}
		.boxDepoimentos .listaDepoimentos li + li::before{content: ""; position: absolute; top: 0; bottom: 0; left: calc((var(--depoimento-espaco) + 1px) * -1); width: 1px; background: var(--color-border-on-dark);}
			.boxDepoimentos .cabecalho{display: flex; align-items: center; gap: var(--space-12);}
				.boxDepoimentos .avatar{position: relative; flex-shrink: 0; width: 72px; height: 72px; border-radius: var(--radius-full);}
					.boxDepoimentos .avatar img{width: 100%; height: 100%; border-radius: var(--radius-full); object-fit: cover;}
				.boxDepoimentos .avatar.inicial{display: flex; align-items: center; justify-content: center; background: #6E1C94; font: 400 40px/1 var(--font-family-body); color: var(--color-text-on-dark);}
					.boxDepoimentos .avatar .selo{position: absolute; right: 0; bottom: 0; width: 27px; height: 27px; border: 1px solid #FFF; border-radius: 17px; background: url('../img/depoimentoKatia.webp') no-repeat -44px -44px / 72px 72px;}
				.boxDepoimentos .identidade{display: flex; flex-direction: column; gap: var(--space-8);}
					.boxDepoimentos .identidade h3{font: 500 var(--type-h4-size)/var(--type-h4-line-height) var(--font-family-heading); letter-spacing: -0.02em; color: var(--color-text-on-dark); white-space: nowrap;}
					.boxDepoimentos .identidade span{font: 600 var(--type-label-xs-size)/var(--type-label-xs-line-height) var(--font-family-body); letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-text-on-dark-muted);}
			.boxDepoimentos .citacao{flex: 1; font: 300 var(--type-body-md-size)/var(--type-body-md-line-height) var(--font-family-body); letter-spacing: -0.01em; color: var(--color-text-muted);}
				.boxDepoimentos .citacao strong{font-weight: 500;}
				.boxDepoimentos .citacao b{font-weight: 700;}
			.boxDepoimentos .avaliacao{display: flex; align-self: flex-start; gap: var(--space-8); padding: var(--space-8) var(--space-16); border: 2px solid var(--color-border-on-dark); border-radius: var(--radius-md);}

	.boxDepoimentos .pontos{display: flex; justify-content: center; align-items: center; gap: var(--space-8); margin-top: var(--space-32);}
		.boxDepoimentos .pontos button{width: 6px; height: 6px; border-radius: var(--radius-full); background: rgba(255, 255, 255, 0.3); transition: all 0.35s ease;}
		.boxDepoimentos .pontos button.ativo{width: 24px; background: var(--color-text-accent);}

	/* FAQ */
	.boxFaq{display: grid; grid-template-columns: 363px minmax(0, 740px); justify-content: space-between; column-gap: var(--layout-column-gap); row-gap: var(--space-40); margin-top: 236px;}
		.boxFaq .intro{display: flex; flex-direction: column; gap: var(--space-12); padding-top: 34px;}
			.boxFaq .intro .tituloSecao{color: var(--color-text-on-dark); text-align: left;}
			.boxFaq .intro p{max-width: 300px; font: 300 var(--type-body-md-size)/var(--type-body-md-line-height) var(--font-family-body); letter-spacing: -0.01em; color: var(--color-text-muted);}
			.boxFaq .intro .linhaSeta{width: 100%; height: 12px; margin-top: var(--space-8);}

		.boxFaq .listaFaq li{display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: var(--space-20); padding: var(--space-32) var(--space-8) var(--space-32) 0; border-bottom: 1px solid var(--color-border-divider-dark);}
			.boxFaq .numero{grid-row: 1 / span 2; font: 500 var(--type-h4-size)/var(--type-h4-line-height) var(--font-family-heading); letter-spacing: -0.02em; color: var(--color-text-muted);}
			.boxFaq .listaFaq h3{grid-column: 2;}
			.boxFaq .pergunta{display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-20); width: 100%; text-align: left; font: 500 var(--type-h4-size)/var(--type-h4-line-height) var(--font-family-heading); letter-spacing: -0.02em; color: var(--color-text-on-dark); transition: color 0.3s ease;}
				.boxFaq .pergunta img{flex-shrink: 0; margin-top: calc((var(--type-h4-line-height) - 24px) / 2); transition: transform 0.35s ease;}
			.boxFaq .pergunta:hover{color: var(--color-text-accent);}
			.boxFaq li.ativo .pergunta img{transform: rotate(180deg);}
			.boxFaq .resposta{grid-column: 2; display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.4s ease;}
				.boxFaq .resposta > div{overflow: hidden; padding-right: 44px;}
				.boxFaq .resposta p{padding-top: var(--space-12); font: 300 var(--type-body-sm-size)/var(--type-body-sm-line-height) var(--font-family-body); letter-spacing: 0.01em; color: var(--color-text-muted);}
				.boxFaq .resposta a{color: var(--color-text-accent); text-decoration: underline; text-underline-offset: 3px;}
			.boxFaq li.ativo .resposta{grid-template-rows: 1fr;}

/* =========================================================
   Box CTA
   ========================================================= */
.boxCta{position: relative; padding: 132px 0 140px; background: var(--color-bg-page);}
	.boxCta .ondaCta{position: absolute; left: 0; bottom: 0; width: 100%; height: var(--decor-wave-cta-height); pointer-events: none;}
	.boxCta .centro{position: relative; z-index: 1;}

/* =========================================================
   Box Informações de Contato
   ========================================================= */
.boxInfoContato{padding: 100px 0 148px; background: var(--color-bg-subtle);}
	.boxInfoContato .centro{display: flex; justify-content: space-between; gap: var(--space-48);}
		.boxInfoContato .coluna{display: flex; flex-direction: column; gap: 38px;}
		.boxInfoContato .coluna:nth-child(2){gap: 39px;}
		.boxInfoContato .coluna:nth-child(1),
		.boxInfoContato .coluna:nth-child(3){flex-shrink: 0;}
			.boxInfoContato .endereco{max-width: 298px;}
			.boxInfoContato .atencao p{max-width: 323px;}

/* =========================================================
   LAPTOP (1024 - 1439)
   ========================================================= */
@media (max-width: 1439px){
	.boxEscritorio{padding-bottom: 170px;}
		.boxEscritorio .centro{grid-template-columns: minmax(0, 1fr) 400px; column-gap: var(--layout-column-gap);}
		.boxEscritorio .botao{min-width: 0;}
		.boxEscritorio .foto{height: 440px;}

	.boxSocias{padding-bottom: var(--layout-section-y-lg);}
		.boxSocias .centro{grid-template-columns: minmax(0, 1fr) 400px; column-gap: var(--layout-column-gap);}
		.boxSocias .marcaDagua{left: calc(var(--layout-page-margin) - 8px); top: -12px; width: 551px; height: 341px;}
		.boxSocias .foto{height: 400px;}

	.boxDepoimentos .listaDepoimentos{--depoimento-espaco: var(--space-16); margin-top: var(--space-64);}
	.boxFaq{grid-template-columns: 300px minmax(0, 1fr); margin-top: 160px;}
		.boxFaq .intro{padding-top: 26px;}

	.boxCta{padding: 112px 0 120px;}
		.boxCta .contatoCta h2{font-size: var(--type-h2-size); line-height: var(--type-h2-line-height);}

	.boxInfoContato{padding: 72px 0 112px;}
		.boxInfoContato .centro{gap: var(--space-32);}
		.boxInfoContato .blocoInfo h3{font-size: 26px;}
		.boxInfoContato .coluna:nth-child(2){gap: 35px;}
		.boxInfoContato .endereco,
		.boxInfoContato .atencao p{max-width: 289px;}
}

/* =========================================================
   TABLET E CELULAR (< 1024)
   ========================================================= */
._320 .boxEscritorio{padding-bottom: 150px;}
	._320 .boxEscritorio .centro{grid-template-columns: minmax(0, 1fr);}
	._320 .boxEscritorio .foto{height: 440px;}

._320 .boxAreas .listaAreas{grid-template-columns: repeat(2, minmax(0, 1fr));}

._320 .boxSocias{padding-bottom: var(--layout-section-y-lg);}
	._320 .boxSocias .centro{grid-template-columns: minmax(0, 1fr);}
	._320 .boxSocias .marcaDagua{left: calc(var(--layout-page-margin) - 20px); top: 4px; width: 354px; height: 219px;}
	._320 .boxSocias .foto{height: 335px;}

/* Depoimentos viram carrossel */
._320 .boxDepoimentos .listaDepoimentos{--depoimento-espaco: var(--space-24); margin-top: var(--space-64); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch;}
	._320 .boxDepoimentos .listaDepoimentos::-webkit-scrollbar{display: none;}
	._320 .boxDepoimentos .listaDepoimentos li{flex: 0 0 calc((100% - var(--depoimento-espaco) * 2 - 1px) / 2); scroll-snap-align: start;}

._320 .boxDepoimentos .pontos{margin-top: var(--space-40);}
._320 .boxFaq{grid-template-columns: minmax(0, 1fr); row-gap: 0; margin-top: 120px;}
	._320 .boxFaq .intro{padding-top: 0;}
		._320 .boxFaq .intro .linhaSeta{margin-top: var(--space-12);}
	._320 .boxFaq .intro p{max-width: none;}

._320 .boxCta{padding: 80px 0 96px;}

._320 .boxInfoContato{padding: 40px 0 80px;}
	._320 .boxInfoContato .blocoInfo h3{font-size: var(--type-h3-size);}
	._320 .boxInfoContato .centro{flex-direction: column; gap: var(--space-40);}
	._320 .boxInfoContato .coluna{gap: var(--space-32);}
	._320 .boxInfoContato .coluna:nth-child(2){gap: var(--space-24);}
	._320 .boxInfoContato .endereco,
	._320 .boxInfoContato .atencao p{max-width: 420px;}

/* =========================================================
   CELULAR (< 768)
   ========================================================= */
@media (max-width: 767px){
	.boxTopo{padding-bottom: var(--space-40);}
		.boxTopo .centro{padding-left: 20px; padding-right: 20px;}
		.boxTopo h1{font-size: var(--type-h2-size); line-height: var(--type-h2-line-height);}

	._320 .boxEscritorio{padding-bottom: 110px;}
		.boxEscritorio .botao{min-width: 0; align-self: stretch;}
		.boxEscritorio .foto{display: none;}

	/* Cartão de área horizontal */
	/* cards ocupam 100% da largura da tela (sem a margem lateral da página) */
	.boxAreas .listaAreas{grid-template-columns: minmax(0, 1fr) !important; gap: var(--layout-grid-gutter); padding-top: 0; margin-left: calc(var(--layout-page-margin) * -1); margin-right: calc(var(--layout-page-margin) * -1);}
		.boxAreas .cartaoArea:link,
		.boxAreas .cartaoArea:visited{display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; column-gap: var(--space-16); padding: var(--space-24) var(--layout-page-margin); border-radius: var(--radius-sm); background: linear-gradient(to top, rgba(233, 226, 222, 0) 0%, rgba(233, 226, 222, 0.46) 100%);}
			.boxAreas .iconeArea{width: 64px; height: 64px; margin: 0; border-radius: var(--radius-md);}
				.boxAreas .iconeArea img{transform: scale(0.64);}
			.boxAreas .superficie{display: contents;}
				.boxAreas .superficie h3{text-align: left;}
				.boxAreas .superficie p{grid-column: 1 / -1; margin-top: var(--space-16); text-align: left;}
		.boxAreas .cartaoArea:hover .iconeArea{transform: none; box-shadow: none;}
	.boxAreas .divisorSecao{justify-content: center; padding: 0 var(--layout-page-margin);}
		.boxAreas .divisorSecao::before,
		.boxAreas .divisorSecao::after{display: none;}

	.boxSocias .botao{min-width: 0; align-self: stretch;}
	._320 .boxSocias .foto{height: 360px;}

	._320 .boxDepoimentos .listaDepoimentos{margin-top: var(--space-64);}
		._320 .boxDepoimentos .listaDepoimentos li{flex-basis: 100%;}
	._320 .boxFaq{margin-top: var(--space-96);}
		.boxFaq .listaFaq li{padding-top: var(--space-24); padding-bottom: var(--space-24);}

	/* CTA da Home mais compacto no celular */
	._320 .boxCta{padding-bottom: 45px;}
	.boxCta .contatoCta h2{line-height: var(--type-h3-line-height);}
	.boxCta .contatoCta p{font-size: var(--type-body-lg-size); line-height: var(--type-body-lg-line-height);}
	.boxCta .botao.grande:link,
	.boxCta .botao.grande:visited{padding: var(--space-16) var(--space-32);}
		.boxCta .botao.grande b{font-size: var(--type-label-md-size); line-height: var(--type-label-md-line-height);}
		.boxCta .botao.grande img{width: 22px; height: 22px;}
}
