/* =============================================================================
   Soul Consulting — Custom CSS (home Figma 01-home)
   =============================================================================

   COMO USAR NO DIVI 5
   — Seção:  CSS Class = custom-section  (+ classe da seção, ex: hero)
   — Linha:  CSS Class = custom-content  (+ content-eyebrow quando for a linha do eyebrow)
   — Módulo: CSS Class do componente (.title, .text, .eyebrow, .custom-button, etc.)

   Base de especificidade (sem !important):
   .et-db .et-l .custom-section .custom-content

   Classes de seção (somar na seção, depois de custom-section):
   header | hero carousel-hero | hero simple-hero (internas) | hero only-text-hero | quem-somos | o-que-nos-move | como-fazemos
   por-que-soul | cultura | servicos | our-services-home | our-services (internas) | our-solutions | our-approach | our-culture-home | why-soul | how-to-we-do | expected-result | row-service | image-text | cta-contact-us | equipe | home-team | team-list | promo-image | insights | contact | text-contact | content-contact | content-error404 | simple-text
   soul-mask | footer

   Layouts reutilizáveis (somar na seção):
   two-columns → eyebrow + título (esq.) + texto/CTA (dir.)
   two-columns with-image → imagem 400 × 500 (esq.) + título/texto (dir.)
   Coluna reutilizável (somar na coluna do Divi):
   custom-column → título + texto + "Saiba mais" empilhados (largura definida no Divi)

   Seta de rolagem no hero (somar no Fullwidth Header): scroll-hero → seta abaixo do texto, leva à próxima seção

   Thumb de notícia (hover padrão): news-card (área) + news-image (foto) + news-title (título)

   Shortcodes de Insights (módulo Código/Texto do Divi):
   [soul_insights] → categorias + post mais recente (home)
   [soul_insights_featured] → Destaques (carrossel dos últimos posts)
   [soul_insights_grid] → Explore nossos conteúdos (abas, busca, grade paginada; não repete os destaques)

   Post interno (Theme Builder "Todos os posts"), seções na ordem:
   button-back [soul_post_back] | content-meta [soul_post_meta] + [soul_post_share] (módulos custom-meta)
   post-title (Título do Post com imagem: custom-title-feature) | post-content (Conteúdo do Post: content-post)
   see-more-posts [soul_related posts="3" category="current"]

   Carrossel (somar na linha): custom-content carousel → cada módulo da coluna é um slide
   (+ full-width → largura total, card ativo no centro e loop infinito)
   (+ full-width model2 → sem loop: card ativo na margem do conteúdo, volta ao início no fim, pontinhos)
   (cards carousel model3 → cards fixos, rolagem só no responsivo; card-image com respiro menor)
   (team team-model2 carousel → equipe com 4 cards por vez no desktop)
   Card de equipe (módulo Blurb): card-team
   Card de serviço (módulo Blurb): card-service → imagem de fundo, link do Corpo vira botão
   Grade de cards (somar na linha): custom-content cards → 3 por linha, mesma altura
   Card simples (módulo Blurb): card-simple → título dourado + texto, borda fina
   Card com imagem (módulo Blurb): card-image → foto 580:320 + título, card branco com sombra
   Card de ícone (módulo Blurb): card-icon → ícone 50px + rótulo, linha divisória entre eles
   (grade com 5 por linha: custom-content cards five-columns)
   card-icon model-2 → caixinha com borda, ícone e rótulo centralizados

   Valores só via tokens.css — não hardcodar px/cor/fonte.
   ============================================================================= */


/* -----------------------------------------------------------------------------
   Base da seção e da linha
   ----------------------------------------------------------------------------- */
/* Padding padrão de toda seção: 100 em cima/embaixo (60 tablet, 50 mobile no responsivo), 0 nas laterais.
   Seções com respiro diferente sobrescrevem só o que muda (hero, header, footer, soul-mask…) */
.et-db .et-l .custom-section {
	padding: var(--space-100) 0;
	font-family: var(--font-body);
	color: var(--concreto-500);
}
.et-db .et-l .custom-section .custom-content {
	width: 100%;
	max-width: var(--content-width);
	margin-left: auto;
	margin-right: auto;
}
.et-db .et-l .custom-section .custom-content .custom-button:after,
.et-db .et-l .custom-section .custom-content a.et_pb_button.custom-button:after {
	display: none;
}

/* Divi ::before/::after de clearfix viram flex items e “roubam” o gap */
.et-db .et-l .custom-section .custom-content.et_flex_row:before,
.et-db .et-l .custom-section .custom-content.et_flex_row:after,
.et-db .et-l .custom-section .et_flex_row.custom-content:before,
.et-db .et-l .custom-section .et_flex_row.custom-content:after {
	content: none;
	display: none;
	width: 0;
	height: 0;
	margin: 0;
	padding: 0;
	border: none;
}


/* -----------------------------------------------------------------------------
   Eyebrow — componente (margem editorial)
   Linha: .custom-content.content-eyebrow (padding 0)
   Módulo: .eyebrow | .eyebrow.light
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section .custom-content.content-eyebrow,
.et-db .et-l .custom-section .content-eyebrow {
	padding: 0;
	margin-bottom: var(--space-30);
}
.et-db .et-l .custom-section .eyebrow,
.et-db .et-l .custom-section .eyebrow p,
.et-db .et-l .custom-section .custom-content .eyebrow,
.et-db .et-l .custom-section .custom-content .eyebrow p {
	font-family: var(--font-body);
	font-size: var(--font-size-small);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-140);
	letter-spacing: var(--letter-spacing-eyebrow);
	text-transform: uppercase;
	color: var(--brand-marrom);
	margin-bottom: 0;
}
.et-db .et-l .custom-section .eyebrow.light,
.et-db .et-l .custom-section .eyebrow.light p,
.et-db .et-l .custom-section .custom-content .eyebrow.light,
.et-db .et-l .custom-section .custom-content .eyebrow.light p {
	color: var(--alma-50);
}


/* -----------------------------------------------------------------------------
   Títulos — .title e variações
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section .custom-content .title,
.et-db .et-l .custom-section .custom-content .title h1,
.et-db .et-l .custom-section .custom-content .title h2,
.et-db .et-l .custom-section .custom-content .title h3,
.et-db .et-l .custom-section .custom-content .title h4,
.et-db .et-l .custom-section .custom-content .title h5,
.et-db .et-l .custom-section .custom-content .title p {
	font-family: var(--font-title);
	font-size: var(--font-size-h2);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-120);
	letter-spacing: var(--letter-spacing-h2);
	color: var(--brand-marrom);
	margin-bottom: 0;
  padding-bottom: 0;
}
.et-db .et-l .custom-section .custom-content .title.display,
.et-db .et-l .custom-section .custom-content .title.display h1,
.et-db .et-l .custom-section .custom-content .title.display h2,
.et-db .et-l .custom-section .custom-content .title.display p {
	font-size: var(--font-size-hero);
	font-weight: var(--font-weight-light);
	line-height: var(--line-height-110);
	letter-spacing: var(--letter-spacing-display);
}
.et-db .et-l .custom-section .custom-content .title.display.bold,
.et-db .et-l .custom-section .custom-content .title.display.bold h1,
.et-db .et-l .custom-section .custom-content .title.display.bold h2,
.et-db .et-l .custom-section .custom-content .title.display.bold p {
	font-weight: var(--font-weight-bold);
}
.et-db .et-l .custom-section .custom-content .title.h3,
.et-db .et-l .custom-section .custom-content .title.h3 h2,
.et-db .et-l .custom-section .custom-content .title.h3 h3,
.et-db .et-l .custom-section .custom-content .title.h3 p {
	font-size: var(--font-size-h3);
	line-height: var(--line-height-120);
	letter-spacing: var(--letter-spacing-none);
	color: var(--concreto-600);
}
.et-db .et-l .custom-section .custom-content .title.h4,
.et-db .et-l .custom-section .custom-content .title.h4 h2,
.et-db .et-l .custom-section .custom-content .title.h4 h3,
.et-db .et-l .custom-section .custom-content .title.h4 h4,
.et-db .et-l .custom-section .custom-content .title.h4 p {
	font-size: var(--font-size-h4);
	line-height: var(--line-height-130);
	letter-spacing: var(--letter-spacing-none);
}
.et-db .et-l .custom-section .custom-content .title.gold,
.et-db .et-l .custom-section .custom-content .title.gold h1,
.et-db .et-l .custom-section .custom-content .title.gold h2,
.et-db .et-l .custom-section .custom-content .title.gold h3,
.et-db .et-l .custom-section .custom-content .title.gold h4,
.et-db .et-l .custom-section .custom-content .title.gold p {
	color: var(--brand-dourado);
}
.et-db .et-l .custom-section .custom-content .title.white,
.et-db .et-l .custom-section .custom-content .title.white h1,
.et-db .et-l .custom-section .custom-content .title.white h2,
.et-db .et-l .custom-section .custom-content .title.white p {
	color: var(--neutral-white);
}
.et-db .et-l .custom-section .custom-content .title.muted,
.et-db .et-l .custom-section .custom-content .title.muted h1,
.et-db .et-l .custom-section .custom-content .title.muted h2,
.et-db .et-l .custom-section .custom-content .title.muted p {
	color: var(--concreto-200);
}
.et-db .et-l .custom-section .custom-content .title.center,
.et-db .et-l .custom-section .custom-content .title.center h1,
.et-db .et-l .custom-section .custom-content .title.center h2,
.et-db .et-l .custom-section .custom-content .title.center p {
	text-align: center;
}
.et-db .et-l .custom-section .custom-content .title.service,
.et-db .et-l .custom-section .custom-content .title.service h1,
.et-db .et-l .custom-section .custom-content .title.service h2,
.et-db .et-l .custom-section .custom-content .title.service p {
	font-size: var(--font-size-hero);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-90);
	letter-spacing: var(--letter-spacing-display);
}


/* -----------------------------------------------------------------------------
   Texto — .text e variações
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section .custom-content .text,
.et-db .et-l .custom-section .custom-content .text p {
	font-family: var(--font-body);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-150);
	color: var(--concreto-500);
	margin-bottom: 0;
}
.et-db .et-l .custom-section .custom-content .text.large,
.et-db .et-l .custom-section .custom-content .text.large p {
	font-size: var(--font-size-body);
}
.et-db .et-l .custom-section .custom-content .text.small,
.et-db .et-l .custom-section .custom-content .text.small p {
	font-size: var(--font-size-sm);
	line-height: var(--line-height-140);
}
.et-db .et-l .custom-section .custom-content .text.white,
.et-db .et-l .custom-section .custom-content .text.white p {
	color: var(--neutral-white);
}
.et-db .et-l .custom-section .custom-content .text.light,
.et-db .et-l .custom-section .custom-content .text.light p {
	color: var(--alma-50);
}
.et-db .et-l .custom-section .custom-content .text.gold,
.et-db .et-l .custom-section .custom-content .text.gold p {
	color: var(--brand-dourado);
}
.et-db .et-l .custom-section .custom-content .text.muted,
.et-db .et-l .custom-section .custom-content .text.muted p {
	color: var(--concreto-200);
}
.et-db .et-l .custom-section .custom-content .text.dark,
.et-db .et-l .custom-section .custom-content .text.dark p {
	color: var(--brand-marrom);
}
.et-db .et-l .custom-section .custom-content .text.center,
.et-db .et-l .custom-section .custom-content .text.center p {
	text-align: center;
}


/* -----------------------------------------------------------------------------
   Link de texto
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section .custom-content .custom-link,
.et-db .et-l .custom-section .custom-content .custom-link a,
.et-db .et-l .custom-section .custom-content .custom-link p {
	font-family: var(--font-body);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-semibold);
	line-height: var(--line-height-150);
	color: var(--concreto-600);
	text-decoration: none;
	transition: color var(--ease);
}
.et-db .et-l .custom-section .custom-content .custom-link:hover,
.et-db .et-l .custom-section .custom-content .custom-link a:hover {
	color: var(--brand-marrom);
}


/* -----------------------------------------------------------------------------
   Botão — .custom-button + white | outline | gold | yellow | dark | muted
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section .custom-content .custom-button,
.et-db .et-l .custom-section .custom-content a.et_pb_button.custom-button,
.et-db .et-l .custom-section .custom-content .custom-button a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-10);
	padding: var(--space-15) var(--space-30) !important;
	border-radius: var(--border-radius-full);
	border: var(--border-width-button) solid transparent;
	background-color: var(--neutral-white);
	box-shadow: var(--shadow-sm);
	font-family: var(--font-body);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-140);
	color: var(--brand-marrom);
	text-decoration: none;
	transition: background-color var(--ease), color var(--ease), border-color var(--ease), opacity var(--ease);
}
.et-db .et-l .custom-section .custom-content .custom-button:hover,
.et-db .et-l .custom-section .custom-content a.et_pb_button.custom-button:hover,
.et-db .et-l .custom-section .custom-content .custom-button a:hover {
	opacity: 0.88;
	text-decoration: none;
}
.et-db .et-l .custom-section .custom-content .custom-button.white,
.et-db .et-l .custom-section .custom-content a.et_pb_button.custom-button.white {
	background-color: var(--neutral-white);
	border-color: var(--neutral-white);
	color: var(--brand-marrom);
}
.et-db .et-l .custom-section .custom-content .custom-button.outline,
.et-db .et-l .custom-section .custom-content a.et_pb_button.custom-button.outline {
	background-color: transparent;
	border-color: var(--neutral-white);
	box-shadow: none;
	color: var(--neutral-white);
	font-weight: var(--font-weight-bold);
}
.et-db .et-l .custom-section .custom-content .custom-button.outline:hover,
.et-db .et-l .custom-section .custom-content a.et_pb_button.custom-button.outline:hover {
	background-color: var(--neutral-white);
	color: var(--brand-marrom);
	opacity: 1;
}
.et-db .et-l .custom-section .custom-content .custom-button.gold,
.et-db .et-l .custom-section .custom-content a.et_pb_button.custom-button.gold {
	background-color: var(--brand-dourado);
	border-color: var(--brand-dourado);
	color: var(--neutral-white);
}
.et-db .et-l .custom-section .custom-content .custom-button.gold:hover,
.et-db .et-l .custom-section .custom-content a.et_pb_button.custom-button.gold:hover {
	background-color: var(--alma-400);
	border-color: var(--alma-400);
	opacity: 1;
}
/* Dourado com texto marrom */
.et-db .et-l .custom-section .custom-content .custom-button.yellow,
.et-db .et-l .custom-section .custom-content a.et_pb_button.custom-button.yellow {
	background-color: var(--brand-dourado);
	border-color: var(--brand-dourado);
	color: var(--brand-marrom);
}
.et-db .et-l .custom-section .custom-content .custom-button.yellow:hover,
.et-db .et-l .custom-section .custom-content a.et_pb_button.custom-button.yellow:hover {
	background-color: var(--alma-400);
	border-color: var(--alma-400);
	opacity: 1;
}
.et-db .et-l .custom-section .custom-content .custom-button.dark,
.et-db .et-l .custom-section .custom-content a.et_pb_button.custom-button.dark {
	background-color: var(--concreto-600);
	border-color: var(--concreto-600);
	box-shadow: none;
	color: var(--neutral-white);
	font-weight: var(--font-weight-regular);
	padding: var(--space-15) var(--space-25);
}
.et-db .et-l .custom-section .custom-content .custom-button.dark:hover,
.et-db .et-l .custom-section .custom-content a.et_pb_button.custom-button.dark:hover {
	background-color: var(--brand-marrom);
	border-color: var(--brand-marrom);
	opacity: 1;
}
.et-db .et-l .custom-section .custom-content .custom-button.muted,
.et-db .et-l .custom-section .custom-content a.et_pb_button.custom-button.muted {
	background-color: transparent;
	border-color: var(--concreto-200);
	box-shadow: none;
	color: var(--concreto-200);
	font-weight: var(--font-weight-regular);
}


/* -----------------------------------------------------------------------------
   Simple button — link textual (Saiba mais)
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section .custom-content .simple-button,
.et-db .et-l .custom-section .custom-content a.et_pb_button.simple-button,
.et-db .et-l .custom-section .custom-content .et_pb_button_module_wrapper .simple-button {
	display: inline-block;
	font-family: var(--font-body);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-semibold);
	line-height: var(--line-height-150);
	color: var(--concreto-600);
	background-color: transparent;
	background-image: none;
	border: none;
	border-radius: 0;
	padding: 0 !important;
	margin: 0;
	box-shadow: none;
	text-decoration: none;
	text-shadow: none;
	transition: color var(--ease);
}
.et-db .et-l .custom-section .custom-content .simple-button:after,
.et-db .et-l .custom-section .custom-content a.et_pb_button.simple-button:after {
	display: none;
}
.et-db .et-l .custom-section .custom-content .simple-button:hover,
.et-db .et-l .custom-section .custom-content a.et_pb_button.simple-button:hover {
	color: var(--brand-dourado);
	background-color: transparent;
	border: none;
	padding: 0;
}


/* -----------------------------------------------------------------------------
   Badge
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section .custom-content .badge,
.et-db .et-l .custom-section .custom-content .badge p {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--space-5) var(--space-10);
	border: var(--border-width) solid var(--concreto-300);
	border-radius: var(--border-radius-full);
	font-family: var(--font-body);
	font-size: var(--font-size-small);
	font-weight: var(--font-weight-medium);
	line-height: var(--line-height-140);
	color: var(--concreto-500);
	margin-bottom: 0;
}


/* -----------------------------------------------------------------------------
   Cards
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section .custom-content .custom-card {
	background-color: var(--neutral-white);
	border-radius: var(--border-radius-50);
	box-shadow: var(--shadow-card);
	padding: var(--space-40);
	overflow: hidden;
}
.et-db .et-l .custom-section .custom-content .custom-card .et_pb_image img,
.et-db .et-l .custom-section .custom-content .custom-card img {
	border-radius: var(--border-radius-30);
	width: 100%;
	height: auto;
	object-fit: cover;
}
.et-db .et-l .custom-section .custom-content .custom-card.culture {
	background-color: transparent;
	border: var(--border-width) solid var(--concreto-100);
	border-radius: var(--border-radius-30);
	box-shadow: none;
	padding: var(--space-40);
}
.et-db .et-l .custom-section .custom-content .custom-card.team {
	border-radius: var(--border-radius-30);
	box-shadow: var(--shadow-card-sm);
	padding: var(--space-30);
}
.et-db .et-l .custom-section .custom-content .custom-card.team .et_pb_image img,
.et-db .et-l .custom-section .custom-content .custom-card.team img {
	border-radius: var(--border-radius-15);
	height: var(--size-card-img-team);
	object-fit: cover;
}
/* Card de equipe (Figma 321:944) — módulo Blurb com CSS Class = card-team
   Foto (Imagem do blurb) · nome (Título) · LinkedIn (link no Corpo, vira ícone) */
.et-db .et-l .custom-section .custom-content .card-team {
	padding: var(--space-30);
	border-radius: var(--border-radius-30);
	background-color: var(--neutral-white);
	box-shadow: var(--shadow-card-sm);
	transition: translate 0.5s var(--ease-out-quart), box-shadow 0.5s var(--ease-out-quart);
}
.et-db .et-l .custom-section .custom-content .card-team .et_pb_blurb_content {
	gap: var(--space-20);
	max-width: none;
}
.et-db .et-l .custom-section .custom-content .card-team .et_pb_main_blurb_image,
.et-db .et-l .custom-section .custom-content .card-team .et_pb_image_wrap {
	display: block;
	width: 100%;
	margin: 0;
}
/* Moldura da foto corta o zoom do hover */
.et-db .et-l .custom-section .custom-content .card-team .et_pb_image_wrap {
	overflow: hidden;
	isolation: isolate;
	border-radius: var(--border-radius-15);
}
.et-db .et-l .custom-section .custom-content .card-team .et_pb_main_blurb_image img {
	display: block;
	width: 100%;
	height: var(--size-card-img-team);
	border-radius: var(--border-radius-15);
	object-fit: cover;
	transition: scale 1.2s var(--ease-out-expo);
}
/* Hover: card sobe, foto aproxima e o nome fica dourado */
.et-db .et-l .custom-section .custom-content .card-team:hover {
	translate: 0 -5px;
	box-shadow: var(--shadow-card);
}
.et-db .et-l .custom-section .custom-content .card-team:hover .et_pb_main_blurb_image img {
	scale: 1.06;
}
.et-db .et-l .custom-section .custom-content .card-team .et_pb_blurb_container {
	gap: var(--space-15);
}
.et-db .et-l .custom-section .custom-content .card-team .et_pb_module_header,
.et-db .et-l .custom-section .custom-content .card-team .et_pb_module_header a {
	padding: 0;
	font-family: var(--font-title);
	font-size: var(--font-size-h3);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-120);
	color: var(--concreto-600);
	transition: color var(--ease);
}
.et-db .et-l .custom-section .custom-content .card-team:hover .et_pb_module_header,
.et-db .et-l .custom-section .custom-content .card-team:hover .et_pb_module_header a {
	color: var(--brand-dourado);
}
/* Corpo do card: cargo + link do LinkedIn (ícone vem de "Link do LinkedIn — ícone automático") */
.et-db .et-l .custom-section .custom-content .card-team .et_pb_blurb_description p {
	padding: 0;
	line-height: var(--line-height-130);
}
/* Cargo → LinkedIn com o mesmo espaço de nome → cargo (gap do container) */
.et-db .et-l .custom-section .custom-content .card-team .et_pb_blurb_description p + p {
	margin-top: var(--space-15);
}
/* Ícone encostado à esquerda, alinhado com o texto do cargo (sem a sobra da caixa de 24) */
.et-db .et-l .custom-section .custom-content .card-team .et_pb_blurb_description p:has(> a[href*="linkedin.com"]) {
	display: flex;
}
.et-db .et-l .custom-section .custom-content .card-team .et_pb_blurb_description a[href*="linkedin.com"]:not(.et_pb_button):not(:has(img)) {
	width: var(--size-icon-sm);
	height: var(--size-icon-sm);
}
/* Card de serviço (Figma 298:74) — módulo Blurb com CSS Class = card-service
   Imagem do blurb = fundo do card · Título · Corpo: texto + link (vira botão contorno)
   Inativo: véu branco e textos cinza · Ativo (.is-active, carrossel loop): degradê marrom,
   título dourado e texto/botão brancos. Fora de carrossel, use a classe active no blurb. */
.et-db .et-l .custom-section .custom-content .card-service {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: var(--size-card-service-h);
	padding: var(--space-50);
	border-radius: var(--border-radius-30);
	overflow: hidden;
	background-color: var(--neutral-white);
}
/* Véus: branco (inativo) e degradê marrom (ativo) — trocam por opacidade */
.et-db .et-l .custom-section .custom-content .card-service:before,
.et-db .et-l .custom-section .custom-content .card-service:after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	transition: opacity 0.8s var(--ease-out-quart);
}
.et-db .et-l .custom-section .custom-content .card-service:before {
	background: var(--overlay-white-90);
}
/* Máscara do ativo: marrom leve no canto superior direito, quase opaco embaixo à esquerda (atrás do texto) */
.et-db .et-l .custom-section .custom-content .card-service:after {
	background: linear-gradient(
		230.61deg,
		color-mix(in srgb, var(--brand-marrom) 35%, transparent) 0%,
		color-mix(in srgb, var(--brand-marrom) 60%, transparent) 55%,
		color-mix(in srgb, var(--brand-marrom) 90%, transparent) 100%
	);
	opacity: 0;
}
/* O conteúdo fica estático para a imagem se posicionar pelo card inteiro */
.et-db .et-l .custom-section .custom-content .card-service .et_pb_blurb_content {
	position: static;
	display: block;
	width: 100%;
	margin: 0;
	text-align: left;
}
/* Imagem do blurb vira o fundo do card */
.et-db .et-l .custom-section .custom-content .card-service .et_pb_main_blurb_image {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	max-width: none;
	margin: 0;
}
.et-db .et-l .custom-section .custom-content .card-service .et_pb_image_wrap {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
}
.et-db .et-l .custom-section .custom-content .card-service .et_pb_main_blurb_image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.et-db .et-l .custom-section .custom-content .card-service .et_pb_blurb_container {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: var(--space-15);
	padding: 0;
}
.et-db .et-l .custom-section .custom-content .card-service .et_pb_module_header,
.et-db .et-l .custom-section .custom-content .card-service .et_pb_module_header a {
	padding: 0;
	font-family: var(--font-title);
	font-size: var(--font-size-hero);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-90);
	letter-spacing: var(--letter-spacing-display);
	color: var(--concreto-200);
	transition: color 0.8s var(--ease-out-quart);
}
/* Limite de largura (Figma): título ~515 e texto ~446 — o blurb não tem esse controle */
.et-db .et-l .custom-section .custom-content .card-service .et_pb_module_header {
	max-width: calc(var(--content-width) * 0.4);
}
.et-db .et-l .custom-section .custom-content .card-service .et_pb_blurb_description {
	max-width: calc(var(--content-width) * 0.35);
}
.et-db .et-l .custom-section .custom-content .card-service .et_pb_blurb_description,
.et-db .et-l .custom-section .custom-content .card-service .et_pb_blurb_description p {
	font-family: var(--font-body);
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-150);
	color: var(--concreto-200);
	transition: color 0.8s var(--ease-out-quart);
}
.et-db .et-l .custom-section .custom-content .card-service .et_pb_blurb_description p {
	padding: 0;
}
/* Parágrafo do link ("Saiba mais") fica 30 abaixo do texto */
.et-db .et-l .custom-section .custom-content .card-service .et_pb_blurb_description p + p {
	margin-top: var(--space-30);
}
/* Link no Corpo do blurb = botão contorno (Figma "Button") */
.et-db .et-l .custom-section .custom-content .card-service .et_pb_blurb_description a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--space-15) var(--space-30);
	border: var(--border-width-button) solid var(--concreto-200);
	border-radius: var(--border-radius-full);
	background-color: transparent;
	font-family: var(--font-body);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-140);
	color: var(--concreto-200);
	text-decoration: none;
	transition: color 0.8s var(--ease-out-quart), border-color 0.8s var(--ease-out-quart), background-color var(--ease);
}
/* Ativo */
.et-db .et-l .custom-section .custom-content .card-service.is-active:before,
.et-db .et-l .custom-section .custom-content .card-service.active:before {
	opacity: 0;
}
.et-db .et-l .custom-section .custom-content .card-service.is-active:after,
.et-db .et-l .custom-section .custom-content .card-service.active:after {
	opacity: 1;
}
.et-db .et-l .custom-section .custom-content .card-service.is-active .et_pb_module_header,
.et-db .et-l .custom-section .custom-content .card-service.is-active .et_pb_module_header a,
.et-db .et-l .custom-section .custom-content .card-service.active .et_pb_module_header,
.et-db .et-l .custom-section .custom-content .card-service.active .et_pb_module_header a {
	color: var(--brand-dourado);
}
.et-db .et-l .custom-section .custom-content .card-service.is-active .et_pb_blurb_description,
.et-db .et-l .custom-section .custom-content .card-service.is-active .et_pb_blurb_description p,
.et-db .et-l .custom-section .custom-content .card-service.active .et_pb_blurb_description,
.et-db .et-l .custom-section .custom-content .card-service.active .et_pb_blurb_description p {
	color: var(--neutral-white);
}
.et-db .et-l .custom-section .custom-content .card-service.is-active .et_pb_blurb_description a,
.et-db .et-l .custom-section .custom-content .card-service.active .et_pb_blurb_description a {
	border-color: var(--neutral-white);
	color: var(--neutral-white);
}
/* Hover do botão no card ativo: preenche de dourado */
.et-db .et-l .custom-section .custom-content .card-service.is-active .et_pb_blurb_description a:hover,
.et-db .et-l .custom-section .custom-content .card-service.active .et_pb_blurb_description a:hover {
	border-color: var(--brand-dourado);
	background-color: var(--brand-dourado);
	color: var(--brand-marrom);
}
.et-db .et-l .custom-section .custom-content .card-service .et_pb_blurb_description a:focus-visible {
	outline: var(--border-width-button) solid var(--brand-dourado);
	outline-offset: var(--space-5);
}
/* Grade de cards — linha com CSS Class = custom-content cards
   A coluna vira uma grade; cada módulo é um card. Os cards de uma mesma linha da grade
   ficam com a mesma altura. Ajustes por seção: --cards-per-row · --cards-gap */
.et-db .et-l .custom-section .custom-content.cards {
	--cards-per-row: 3;
	--cards-gap: var(--space-20);
}
.et-db .et-l .custom-section .custom-content.cards > .et_pb_column {
	flex: 1 1 100%;
	width: 100%;
	max-width: none;
	display: grid;
	grid-template-columns: repeat(var(--cards-per-row), minmax(0, 1fr));
	gap: var(--cards-gap);
	align-items: stretch;
}
.et-db .et-l .custom-section .custom-content.cards > .et_pb_column > * {
	margin: 0;
}
/* Modificador: 5 por linha (linha custom-content cards five-columns) */
.et-db .et-l .custom-section .custom-content.cards.five-columns {
	--cards-per-row: 5;
	--cards-gap: var(--space-50);
}
/* Card simples (Figma 315:646) — módulo Blurb com CSS Class = card-simple
   Só título (dourado) e texto, com borda fina; hover deixa a borda dourada */
.et-db .et-l .custom-section .custom-content .card-simple {
	padding: var(--space-40);
	border: var(--border-width) solid var(--concreto-100);
	border-radius: var(--border-radius-30);
	background-color: var(--neutral-white);
	transition: border-color var(--ease);
}
.et-db .et-l .custom-section .custom-content .card-simple:hover {
	border-color: var(--brand-dourado);
}
.et-db .et-l .custom-section .custom-content .card-simple .et_pb_blurb_content {
	max-width: none;
	margin: 0;
	text-align: left;
}
.et-db .et-l .custom-section .custom-content .card-simple .et_pb_blurb_container {
	display: flex;
	flex-direction: column;
	gap: var(--space-10);
	padding: 0;
}
.et-db .et-l .custom-section .custom-content .card-simple .et_pb_module_header,
.et-db .et-l .custom-section .custom-content .card-simple .et_pb_module_header a {
	padding: 0;
	font-family: var(--font-title);
	font-size: var(--font-size-h4);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-130);
	color: var(--brand-dourado);
}
.et-db .et-l .custom-section .custom-content .card-simple .et_pb_blurb_description,
.et-db .et-l .custom-section .custom-content .card-simple .et_pb_blurb_description p {
	padding: 0;
	font-family: var(--font-body);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-150);
	color: var(--brand-marrom);
}
/* Card de ícone (Figma 315:514) — módulo Blurb com CSS Class = card-icon
   Ícone (Imagem do blurb, 50px) + rótulo; linha clara à direita separando do próximo
   (o último fica sem). Hover: o ícone sobe um pouco e o rótulo fica dourado */
.et-db .et-l .custom-section .custom-content .card-icon {
	padding-right: var(--space-50);
	border-right: var(--border-width) solid var(--light-gray);
}
.et-db .et-l .custom-section .custom-content .card-icon:last-child {
	padding-right: 0;
	border-right: none;
}
.et-db .et-l .custom-section .custom-content .card-icon .et_pb_blurb_content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-15);
	max-width: none;
	margin: 0;
	text-align: left;
}
.et-db .et-l .custom-section .custom-content .card-icon .et_pb_main_blurb_image,
.et-db .et-l .custom-section .custom-content .card-icon .et_pb_image_wrap {
	display: block;
	width: var(--size-icon-md);
	max-width: none;
	margin: 0;
}
.et-db .et-l .custom-section .custom-content .card-icon .et_pb_main_blurb_image img {
	display: block;
	width: var(--size-icon-md);
	height: var(--size-icon-md);
	object-fit: contain;
	transition: translate 0.5s var(--ease-out-quart);
}
.et-db .et-l .custom-section .custom-content .card-icon .et_pb_blurb_container {
	padding: 0;
}
.et-db .et-l .custom-section .custom-content .card-icon .et_pb_module_header,
.et-db .et-l .custom-section .custom-content .card-icon .et_pb_module_header a {
	padding: 0;
	font-family: var(--font-body);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-150);
	color: var(--brand-marrom);
	transition: color var(--ease);
}
.et-db .et-l .custom-section .custom-content .card-icon:hover .et_pb_main_blurb_image img {
	translate: 0 calc(var(--space-5) * -1);
}
.et-db .et-l .custom-section .custom-content .card-icon:hover .et_pb_module_header,
.et-db .et-l .custom-section .custom-content .card-icon:hover .et_pb_module_header a {
	color: var(--brand-dourado);
}
/* Card de ícone modelo 2 (Figma 555:6778) — Blurb com CSS Class = card-icon model-2
   Caixinha com borda clara, ícone e rótulo centralizados (sem a linha divisória do modelo 1).
   A grade fica com 20 entre os cards; hover deixa a borda dourada */
.et-db .et-l .custom-section .custom-content.cards:has(.card-icon.model-2) {
	--cards-gap: var(--space-20);
}
.et-db .et-l .custom-section .custom-content.cards:has(.card-icon.model-2) > .et_pb_column {
	row-gap: var(--space-20);
}
.et-db .et-l .custom-section .custom-content .card-icon.model-2,
.et-db .et-l .custom-section .custom-content .card-icon.model-2:last-child {
	padding: var(--space-30) var(--space-20);
	border: var(--border-width) solid var(--light-gray);
	border-radius: var(--border-radius-20);
	transition: border-color var(--ease);
}
.et-db .et-l .custom-section .custom-content .card-icon.model-2:hover {
	border-color: var(--brand-dourado);
}
.et-db .et-l .custom-section .custom-content .card-icon.model-2 .et_pb_blurb_content {
	align-items: center;
	gap: var(--space-10);
	text-align: center;
}
.et-db .et-l .custom-section .custom-content .card-icon.model-2 .et_pb_module_header {
	text-align: center;
}
/* Card com imagem (Figma 315:593) — módulo Blurb com CSS Class = card-image
   Foto (Imagem do blurb, 580:320) + título; hover aproxima a foto e deixa o título dourado.
   Preso a .et_pb_blurb porque .card-image também é a foto do card do Insights */
.et-db .et-l .custom-section .custom-content .et_pb_blurb.card-image {
	padding: var(--space-40);
	border-radius: var(--border-radius-50);
	background-color: var(--neutral-white);
	box-shadow: var(--shadow-card);
}
.et-db .et-l .custom-section .custom-content .et_pb_blurb.card-image .et_pb_blurb_content {
	display: flex;
	flex-direction: column;
	gap: var(--space-30);
	max-width: none;
	margin: 0;
	text-align: left;
}
.et-db .et-l .custom-section .custom-content .et_pb_blurb.card-image .et_pb_main_blurb_image {
	width: 100%;
	max-width: none;
	margin: 0;
}
/* Moldura da foto: proporção do Figma e corte do zoom */
.et-db .et-l .custom-section .custom-content .et_pb_blurb.card-image .et_pb_image_wrap {
	display: block;
	width: 100%;
	max-width: none;
	aspect-ratio: 580 / 320;
	overflow: hidden;
	isolation: isolate;
	border-radius: var(--border-radius-30);
}
.et-db .et-l .custom-section .custom-content .et_pb_blurb.card-image .et_pb_main_blurb_image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: scale 1.2s var(--ease-out-expo);
}
.et-db .et-l .custom-section .custom-content .et_pb_blurb.card-image .et_pb_blurb_container {
	padding: 0;
}
.et-db .et-l .custom-section .custom-content .et_pb_blurb.card-image .et_pb_module_header,
.et-db .et-l .custom-section .custom-content .et_pb_blurb.card-image .et_pb_module_header a {
	padding: 0;
	font-family: var(--font-title);
	font-size: var(--font-size-h4);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-130);
	color: var(--brand-dourado);
	transition: color var(--ease);
}
/* Texto do card (opcional): 16 marrom, a 15 do título */
.et-db .et-l .custom-section .custom-content .et_pb_blurb.card-image .et_pb_blurb_description {
	margin-top: var(--space-15);
}
.et-db .et-l .custom-section .custom-content .et_pb_blurb.card-image .et_pb_blurb_description,
.et-db .et-l .custom-section .custom-content .et_pb_blurb.card-image .et_pb_blurb_description p {
	font-family: var(--font-body);
	font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
	line-height: var(--line-height-150);
	color: var(--brand-marrom);
}
.et-db .et-l .custom-section .custom-content .et_pb_blurb.card-image:hover .et_pb_main_blurb_image img {
	scale: 1.06;
}
.et-db .et-l .custom-section .custom-content .et_pb_blurb.card-image:hover .et_pb_module_header,
.et-db .et-l .custom-section .custom-content .et_pb_blurb.card-image:hover .et_pb_module_header a {
	color: var(--alma-400);
}
.et-db .et-l .custom-section .custom-content .custom-card.blog {
	border-radius: var(--border-radius-30);
	box-shadow: var(--shadow-card-sm);
	padding: var(--space-40);
}
.et-db .et-l .custom-section .custom-content .custom-card.blog .et_pb_image img,
.et-db .et-l .custom-section .custom-content .custom-card.blog img {
	border-radius: var(--border-radius-15);
	height: var(--size-card-img-blog);
	object-fit: cover;
}
.et-db .et-l .custom-section .custom-content .custom-card.service {
	position: relative;
	background-color: transparent;
	border-radius: var(--border-radius-30);
	box-shadow: none;
	padding: var(--space-50);
	min-height: var(--size-card-service-h);
	overflow: hidden;
}
.et-db .et-l .custom-section .custom-content .custom-card.service:before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--overlay-white-90);
	border-radius: var(--border-radius-30);
	pointer-events: none;
	z-index: 0;
}
.et-db .et-l .custom-section .custom-content .custom-card.service.active:before {
	background: linear-gradient(230.61deg, var(--overlay-marrom-0) 58.65%, var(--brand-marrom) 95.29%);
}
.et-db .et-l .custom-section .custom-content .custom-card.service > div,
.et-db .et-l .custom-section .custom-content .custom-card.service .et_pb_module {
	position: relative;
	z-index: 1;
}


/* -----------------------------------------------------------------------------
   Item de ícone — Como fazemos
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section .custom-content .icon-item {
	border-right: var(--border-width) solid var(--light-gray);
	padding-right: var(--space-50);
}
.et-db .et-l .custom-section .custom-content .icon-item.last {
	border-right: none;
	padding-right: 0;
}
.et-db .et-l .custom-section .custom-content .icon-item .et_pb_image img,
.et-db .et-l .custom-section .custom-content .icon-item img {
	width: var(--size-icon-md);
	height: var(--size-icon-md);
	object-fit: contain;
}
.et-db .et-l .custom-section .custom-content .icon-item .text,
.et-db .et-l .custom-section .custom-content .icon-item .text p {
	color: var(--brand-marrom);
}


/* -----------------------------------------------------------------------------
   Filtro Insights (no [soul_insights] cada item é um <button role="tab">)
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section .custom-content .filter-item {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	gap: var(--space-20);
	width: 100%;
	margin: 0;
	padding: var(--space-25);
	overflow: hidden;
	border: var(--border-width) solid var(--light-gray);
	border-radius: var(--border-radius-25);
	background-color: transparent;
	font-family: var(--font-body);
	line-height: var(--line-height-150);
	text-align: left;
	cursor: pointer;
}
/* Fundo cinza que preenche da esquerda no hover e fica cheio na categoria ativa */
.et-db .et-l .custom-section .custom-content .filter-item:before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-color: var(--light-gray);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.6s var(--ease-out-expo);
}
.et-db .et-l .custom-section .custom-content .filter-item:hover:before,
.et-db .et-l .custom-section .custom-content .filter-item.active:before {
	transform: scaleX(1);
}
/* Ícone e texto deslizam um pouco para a direita no hover */
.et-db .et-l .custom-section .custom-content .filter-item img,
.et-db .et-l .custom-section .custom-content .filter-item .text {
	transition: translate 0.6s var(--ease-out-expo);
}
.et-db .et-l .custom-section .custom-content .filter-item:hover img,
.et-db .et-l .custom-section .custom-content .filter-item:hover .text {
	translate: var(--space-5) 0;
}
.et-db .et-l .custom-section .custom-content .filter-item:focus-visible {
	outline: var(--border-width-button) solid var(--brand-dourado);
	outline-offset: var(--border-width-button);
}
.et-db .et-l .custom-section .custom-content .filter-item .text,
.et-db .et-l .custom-section .custom-content .filter-item .text p,
.et-db .et-l .custom-section .custom-content .filter-item p {
	font-size: var(--font-size-body);
	color: var(--brand-marrom);
	margin-bottom: 0;
}
.et-db .et-l .custom-section .custom-content .filter-item.active .text,
.et-db .et-l .custom-section .custom-content .filter-item.active .text p,
.et-db .et-l .custom-section .custom-content .filter-item.active p {
	font-weight: var(--font-weight-bold);
}
.et-db .et-l .custom-section .custom-content .filter-item img {
	width: var(--size-icon-sm);
	height: var(--size-icon-sm);
	flex-shrink: 0;
}


/* -----------------------------------------------------------------------------
   Insights — shortcode [soul_insights] (Figma 321:984) · inc/insights.php + js/insights.js
   .soul-insights > .insights-tabs (categorias) + .insights-panels (um card por categoria)
   Seção (Figma 321:975): custom-section insights one-columns
   Linhas: content-eyebrow → custom-content (coluna custom-column) → custom-content shortcode (+ .divisor)
   Card: .card-link.news-card · .card-image.news-image · .card-title.news-title (hover em "Thumb de notícia")
   ----------------------------------------------------------------------------- */
/* Respiro entre o texto/"Saiba mais" e o bloco de categorias + card */
.et-db .et-l .custom-section.insights .custom-content.shortcode {
	margin-top: var(--space-50);
}
.et-db .et-l .custom-section .soul-insights {
	display: flex;
	align-items: flex-start;
	gap: var(--space-100);
}
/* Coluna das categorias — 550px no container de 1280 */
.et-db .et-l .custom-section .soul-insights .insights-tabs {
	display: flex;
	flex: 0 0 calc(50% - var(--space-90));
	flex-direction: column;
	gap: var(--space-10);
	min-width: 0;
}

/* Contagem até a próxima troca — o próprio fundo cinza da categoria ativa cresce da esquerda.
   .is-progress vem do JS (a troca acontece no fim desta animação);
   .is-paused (mouse/foco na notícia, seção fora da tela) congela o fundo onde está. */
.et-db .et-l .custom-section .soul-insights .filter-item.is-progress:before {
	animation: soul-hero-dot-progress var(--insights-interval, 10s) linear forwards;
}
.et-db .et-l .custom-section .soul-insights.is-paused .filter-item.is-progress:before {
	animation-play-state: paused;
}

/* Moldura branca fixa; os cards ficam empilhados dentro dela (mesma célula do grid) */
.et-db .et-l .custom-section .soul-insights .insights-panels {
	display: grid;
	flex: 1 1 0;
	min-width: 0;
	padding: var(--space-40);
	border-radius: var(--border-radius-30);
	background-color: var(--neutral-white);
	box-shadow: var(--shadow-card-sm);
}
.et-db .et-l .custom-section .soul-insights .insights-card {
	grid-area: 1 / 1;
	visibility: hidden;
}
.et-db .et-l .custom-section .soul-insights .insights-card.is-leaving {
	visibility: visible;
}
.et-db .et-l .custom-section .soul-insights .insights-card.is-active {
	z-index: 1;
	visibility: visible;
}
.et-db .et-l .custom-section .soul-insights .card-link {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--space-20);
	color: inherit;
	text-decoration: none;
}
.et-db .et-l .custom-section .soul-insights .card-link:has(.card-stretch:focus-visible) {
	outline: var(--border-width-button) solid var(--brand-dourado);
	outline-offset: var(--space-10);
	border-radius: var(--border-radius-15);
}

/* Imagem destacada (sem imagem, fica o fundo cinza)
   Troca: a nova entra numa cortina da direita para a esquerda, com a foto assentando de um zoom leve;
   a que sai continua cheia por baixo até a cortina terminar (0.9s = LEAVE_MS do JS) */
.et-db .et-l .custom-section .soul-insights .card-image {
	height: var(--size-card-img-blog);
	overflow: hidden;
	border-radius: var(--border-radius-15);
	background-color: var(--light-gray);
	clip-path: inset(0 0 0 100% round var(--border-radius-15));
}
.et-db .et-l .custom-section .soul-insights .is-leaving .card-image,
.et-db .et-l .custom-section .soul-insights .is-active .card-image {
	clip-path: inset(0 round var(--border-radius-15));
}
.et-db .et-l .custom-section .soul-insights .is-active .card-image {
	transition: clip-path 0.9s var(--ease-out-expo);
}
.et-db .et-l .custom-section .soul-insights .card-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.15);
	transition: scale 1.2s var(--ease-out-expo);
}
.et-db .et-l .custom-section .soul-insights .is-leaving .card-image img,
.et-db .et-l .custom-section .soul-insights .is-active .card-image img {
	transform: scale(1);
}
.et-db .et-l .custom-section .soul-insights .is-active .card-image img {
	transition: transform 1.4s var(--ease-out-expo), scale 1.2s var(--ease-out-expo);
}
/* Badge + título (3 linhas) + resumo (3 linhas)
   Troca: o texto que sai sobe e some; o novo sobe em sequência (badge → título → resumo) */
.et-db .et-l .custom-section .soul-insights .card-body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-15);
}
.et-db .et-l .custom-section .soul-insights .card-body > * {
	opacity: 0;
	translate: 0 var(--space-20);
}
/* translate: none (e não 0 0) — com translate o título vira o bloco de referência e o link esticado não cobre o card */
.et-db .et-l .custom-section .soul-insights .is-active .card-body > * {
	opacity: 1;
	translate: none;
	transition: opacity 0.6s ease 0.3s, translate 0.9s var(--ease-out-expo) 0.3s;
}
.et-db .et-l .custom-section .soul-insights .is-active .card-body > .card-title {
	transition-delay: 0.38s;
}
.et-db .et-l .custom-section .soul-insights .is-active .card-body > .card-excerpt {
	transition-delay: 0.46s;
}
.et-db .et-l .custom-section .soul-insights .is-leaving .card-body > * {
	opacity: 0;
	translate: 0 calc(var(--space-10) * -1);
	transition: opacity 0.25s ease, translate 0.35s ease;
}
.et-db .et-l .custom-section .soul-insights .card-badge,
.et-db .et-l .custom-section .soul-featured .card-badge,
.et-db .et-l .custom-section .soul-explore .card-badge,
.et-db .et-l .custom-section .soul-related .card-badge,
.et-db .et-l .custom-section .soul-post-meta .card-badge {
	padding: var(--space-5) var(--space-10);
	border: var(--border-width) solid var(--concreto-300);
	border-radius: var(--border-radius-full);
	font-family: var(--font-body);
	font-size: var(--font-size-small);
	font-weight: var(--font-weight-medium);
	line-height: var(--line-height-140);
	color: var(--concreto-500);
}
/* Card de post: o link do título (.card-stretch) se estica pelo card inteiro via ::after;
   o selo da categoria (a.card-badge) fica por cima (z-index 2) e leva à página de Insights filtrada */
.et-db .et-l .custom-section .card-stretch {
	color: inherit;
	text-decoration: none;
	outline: none;
}
.et-db .et-l .custom-section .card-stretch::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}
.et-db .et-l .custom-section a.card-badge {
	position: relative;
	z-index: 2;
	text-decoration: none;
	transition: border-color var(--ease), color var(--ease);
}
.et-db .et-l .custom-section a.card-badge:hover {
	border-color: var(--brand-dourado);
	color: var(--brand-marrom);
}
.et-db .et-l .custom-section a.card-badge:focus-visible {
	outline: var(--border-width-button) solid var(--brand-dourado);
	outline-offset: var(--border-width-button);
}
.et-db .et-l .custom-section .soul-insights .is-active .card-body > a.card-badge {
	transition: opacity 0.6s ease 0.3s, translate 0.9s var(--ease-out-expo) 0.3s, border-color var(--ease), color var(--ease);
}
.et-db .et-l .custom-section .soul-insights .card-title,
.et-db .et-l .custom-section .soul-insights .card-excerpt,
.et-db .et-l .custom-section .soul-explore .card-title,
.et-db .et-l .custom-section .soul-explore .card-excerpt,
.et-db .et-l .custom-section .soul-related .card-title,
.et-db .et-l .custom-section .soul-related .card-excerpt,
.et-db .et-l .custom-section .soul-featured .featured-title,
.et-db .et-l .custom-section .soul-featured .featured-excerpt {
	display: -webkit-box;
	margin: 0;
	padding: 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
}
.et-db .et-l .custom-section .soul-insights .card-title,
.et-db .et-l .custom-section .soul-explore .card-title,
.et-db .et-l .custom-section .soul-related .card-title {
	-webkit-line-clamp: 3;
	line-clamp: 3;
	font-family: var(--font-title);
	font-size: var(--font-size-h4);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-130);
	color: var(--concreto-600);
}
.et-db .et-l .custom-section .soul-insights .card-excerpt,
.et-db .et-l .custom-section .soul-explore .card-excerpt,
.et-db .et-l .custom-section .soul-related .card-excerpt {
	-webkit-line-clamp: 3;
	line-clamp: 3;
	font-family: var(--font-body);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-150);
	color: var(--concreto-400);
}


/* -----------------------------------------------------------------------------
   Insights — Destaques · [soul_insights_featured] (Figma 555:6913)
   inc/insights-explore.php + js/insights-featured.js
   .soul-featured > .featured-heading + .featured-viewport > .featured-track > .featured-slide (1 por post)
   + .carousel-nav.is-dots (mesmos pontinhos do carrossel modelo 2)
   O trilho anda por --featured-index (JS); --featured-drag acompanha o dedo/mouse no arraste
   ----------------------------------------------------------------------------- */
/* Seção dos destaques (custom-section feature-posts) — sem respiro embaixo em todas as telas */
.et-db .et-l .custom-section.feature-posts {
	padding-bottom: 0;
}
.et-db .et-l .custom-section .soul-featured {
	--featured-gap: var(--space-30);
	display: flex;
	flex-direction: column;
	gap: var(--space-30);
}
.et-db .et-l .custom-section .soul-featured .featured-heading {
	margin: 0;
	padding: 0;
	font-family: var(--font-title);
	font-size: var(--font-size-h2);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-130);
	letter-spacing: var(--letter-spacing-h2);
	color: var(--brand-marrom);
	text-align: center;
}
/* pan-y: na vertical o toque continua rolando a página */
.et-db .et-l .custom-section .soul-featured .featured-viewport {
	overflow: hidden;
	border-radius: var(--border-radius-30);
	touch-action: pan-y;
}
.et-db .et-l .custom-section .soul-featured .featured-track {
	display: flex;
	gap: var(--featured-gap);
	translate: calc(var(--featured-index, 0) * (-100% - var(--featured-gap)) + var(--featured-drag, 0px)) 0;
	transition: translate 0.9s var(--ease-out-expo);
}
.et-db .et-l .custom-section .soul-featured .featured-track.is-jumping,
.et-db .et-l .custom-section .soul-featured .featured-track.is-dragging {
	transition: none;
}
.et-db .et-l .custom-section .soul-featured .featured-slide {
	flex: 0 0 100%;
	min-width: 0;
}
/* Card: foto de fundo + máscara marrom + degradê marrom subindo do canto inferior esquerdo; texto embaixo */
.et-db .et-l .custom-section .soul-featured .featured-card {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	min-height: var(--size-card-service-h);
	padding: var(--space-50);
	overflow: hidden;
	border-radius: var(--border-radius-30);
	background-color: var(--brand-marrom);
	color: var(--neutral-white);
	text-decoration: none;
	user-select: none;
}
.et-db .et-l .custom-section .soul-featured .featured-card:after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(223deg, var(--overlay-marrom-0) 58.65%, var(--brand-marrom) 95.29%),
		color-mix(in srgb, var(--brand-marrom) 60%, transparent);
	pointer-events: none;
}
.et-db .et-l .custom-section .soul-featured .featured-card:has(.card-stretch:focus-visible) {
	outline: var(--border-width-button) solid var(--brand-dourado);
	outline-offset: calc(var(--border-width-button) * -2);
}
.et-db .et-l .custom-section .soul-featured .featured-card .featured-image {
	position: absolute;
	inset: 0;
	z-index: -2;
	border-radius: 0;
}
.et-db .et-l .custom-section .soul-featured .featured-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	-webkit-user-drag: none;
}
.et-db .et-l .custom-section .soul-featured .featured-body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-15);
	max-width: var(--hero-text-width);
}
.et-db .et-l .custom-section .soul-featured .card-badge {
	border-color: var(--concreto-100);
	color: var(--concreto-100);
}
/* Sobre a foto escura o marrom some: no hover o selo fica todo dourado */
.et-db .et-l .custom-section .soul-featured a.card-badge:hover {
	border-color: var(--brand-dourado);
	color: var(--brand-dourado);
}
.et-db .et-l .custom-section .soul-featured .featured-title {
	-webkit-line-clamp: 3;
	line-clamp: 3;
	font-family: var(--font-title);
	font-size: var(--font-size-h4);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-130);
	color: var(--brand-dourado);
}
.et-db .et-l .custom-section .soul-featured .featured-excerpt {
	-webkit-line-clamp: 3;
	line-clamp: 3;
	font-family: var(--font-body);
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-150);
	color: var(--neutral-white);
}
/* A área de clique do pontinho já tem respiro em cima — desconta do gap */
.et-db .et-l .custom-section .soul-featured .carousel-nav {
	margin-top: calc(var(--size-dot-hit-y) * -1);
}


/* -----------------------------------------------------------------------------
   Insights — Explore nossos conteúdos · [soul_insights_grid] (Figma 555:6930)
   inc/insights-explore.php + js/insights-grid.js
   .soul-explore > .explore-tabs (Todos + categorias) + .explore-head (título + .explore-search)
   + .explore-results > .explore-grid (cards) + .explore-pagination
   Card: .card-link.news-card · .card-image.news-image · .card-title.news-title (hover em "Thumb de notícia")
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section .soul-explore {
	display: flex;
	flex-direction: column;
	gap: var(--space-50);
	scroll-margin-top: var(--header-height);
}
/* Abas em pílula — ativa dourada */
.et-db .et-l .custom-section .soul-explore .explore-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-10);
}
.et-db .et-l .custom-section .soul-explore .explore-tab {
	display: inline-flex;
	align-items: center;
	gap: var(--space-20);
	padding: var(--space-15) var(--space-30);
	border: var(--border-width) solid var(--light-gray);
	border-radius: var(--border-radius-full);
	background-color: transparent;
	font-family: var(--font-body);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-150);
	color: var(--brand-marrom);
	text-decoration: none;
	transition: border-color var(--ease), background-color var(--ease);
}
.et-db .et-l .custom-section .soul-explore .explore-tab:hover {
	border-color: var(--brand-dourado);
}
.et-db .et-l .custom-section .soul-explore .explore-tab.is-active {
	border-color: var(--brand-dourado);
	background-color: var(--brand-dourado);
	font-weight: var(--font-weight-bold);
}
.et-db .et-l .custom-section .soul-explore .explore-tab:focus-visible {
	outline: var(--border-width-button) solid var(--brand-dourado);
	outline-offset: var(--border-width-button);
}
.et-db .et-l .custom-section .soul-explore .explore-tab img {
	display: block;
	width: var(--size-icon-sm);
	height: var(--size-icon-sm);
	flex-shrink: 0;
}
/* Título à esquerda, busca à direita */
.et-db .et-l .custom-section .soul-explore .explore-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-30);
}
.et-db .et-l .custom-section .soul-explore .explore-title {
	margin: 0;
	padding: 0;
	font-family: var(--font-title);
	font-size: var(--font-size-h3);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-130);
	color: var(--brand-marrom);
}
.et-db .et-l .custom-section .soul-explore .explore-search {
	display: flex;
	align-items: center;
	gap: var(--space-10);
	flex: 0 1 calc(var(--layout-title-col) + var(--space-70));
	min-width: 0;
	margin: 0;
	padding: var(--space-15) var(--space-25);
	border: var(--border-width) solid var(--concreto-100);
	border-radius: var(--border-radius-full);
	background-color: var(--neutral-white);
	transition: border-color var(--ease);
}
.et-db .et-l .custom-section .soul-explore .explore-search:hover,
.et-db .et-l .custom-section .soul-explore .explore-search:focus-within {
	border-color: var(--brand-dourado);
}
.et-db .et-l .custom-section .soul-explore .explore-search .explore-search-input {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	outline: none;
	appearance: none;
	font-family: var(--font-body);
	font-size: var(--font-size-base);
	line-height: var(--line-height-150);
	color: var(--concreto-500);
}
.et-db .et-l .custom-section .soul-explore .explore-search .explore-search-input::placeholder {
	color: var(--concreto-400);
	opacity: 1;
}
.et-db .et-l .custom-section .soul-explore .explore-search .explore-search-input::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
}
.et-db .et-l .custom-section .soul-explore .explore-search-submit {
	display: flex;
	flex-shrink: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--concreto-500);
	cursor: pointer;
	transition: color var(--ease);
}
.et-db .et-l .custom-section .soul-explore .explore-search-submit:hover {
	color: var(--brand-dourado);
}
.et-db .et-l .custom-section .soul-explore .explore-search-submit:focus-visible {
	outline: var(--border-width) solid var(--brand-dourado);
	outline-offset: var(--space-5);
	border-radius: var(--border-radius-full);
}
.et-db .et-l .custom-section .soul-explore .explore-search-icon {
	display: block;
	width: var(--size-icon-xs);
	height: var(--size-icon-xs);
	background-color: currentColor;
	-webkit-mask: url("../assets/icons/iconSearch.svg") center / contain no-repeat;
	mask: url("../assets/icons/iconSearch.svg") center / contain no-repeat;
}
/* Resultados — esmaecem enquanto a próxima página/filtro carrega */
.et-db .et-l .custom-section .soul-explore .explore-results {
	outline: none;
	transition: opacity var(--ease);
}
.et-db .et-l .custom-section .soul-explore.is-loading .explore-results {
	opacity: 0.4;
	pointer-events: none;
}
/* Grade e card — os mesmos no "Veja também" do post (.soul-related) */
.et-db .et-l .custom-section .soul-explore .explore-grid,
.et-db .et-l .custom-section .soul-related .explore-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-50) var(--space-30);
}
.et-db .et-l .custom-section .soul-explore .card-link,
.et-db .et-l .custom-section .soul-related .card-link {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--space-25);
	height: 100%;
	color: inherit;
	text-decoration: none;
}
.et-db .et-l .custom-section .soul-explore .card-link:has(.card-stretch:focus-visible),
.et-db .et-l .custom-section .soul-related .card-link:has(.card-stretch:focus-visible) {
	outline: var(--border-width-button) solid var(--brand-dourado);
	outline-offset: var(--space-10);
	border-radius: var(--border-radius-15);
}
/* Sem imagem destacada, fica o fundo cinza na mesma proporção */
.et-db .et-l .custom-section .soul-explore .card-image,
.et-db .et-l .custom-section .soul-related .card-image {
	aspect-ratio: 407 / 236;
	background-color: var(--light-gray);
}
.et-db .et-l .custom-section .soul-explore .card-image img,
.et-db .et-l .custom-section .soul-related .card-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.et-db .et-l .custom-section .soul-explore .card-body,
.et-db .et-l .custom-section .soul-related .card-body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-15);
}
.et-db .et-l .custom-section .soul-explore .explore-empty {
	margin: 0;
	padding: var(--space-50) 0;
	font-size: var(--font-size-base);
	line-height: var(--line-height-150);
	color: var(--concreto-400);
	text-align: center;
}
/* Paginação: ‹ 1 … 4 5 6 … 12 › — página atual dourada */
.et-db .et-l .custom-section .soul-explore .explore-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--space-10);
	margin-top: var(--space-50);
}
.et-db .et-l .custom-section .soul-explore .explore-page {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: var(--size-social);
	height: var(--size-social);
	padding: 0 var(--space-10);
	border: var(--border-width) solid var(--light-gray);
	border-radius: var(--border-radius-full);
	font-family: var(--font-body);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-medium);
	line-height: var(--line-height-100);
	color: var(--brand-marrom);
	text-decoration: none;
	transition: border-color var(--ease), background-color var(--ease);
}
.et-db .et-l .custom-section .soul-explore a.explore-page:hover {
	border-color: var(--brand-dourado);
}
.et-db .et-l .custom-section .soul-explore a.explore-page:focus-visible {
	outline: var(--border-width-button) solid var(--brand-dourado);
	outline-offset: var(--border-width-button);
}
.et-db .et-l .custom-section .soul-explore .explore-page.is-current {
	border-color: var(--brand-dourado);
	background-color: var(--brand-dourado);
	font-weight: var(--font-weight-bold);
}
.et-db .et-l .custom-section .soul-explore .explore-page.is-gap {
	min-width: 0;
	padding: 0;
	border-color: transparent;
}
.et-db .et-l .custom-section .soul-explore .explore-page.is-disabled {
	opacity: 0.3;
}
.et-db .et-l .custom-section .soul-explore .explore-page-icon {
	display: block;
	width: var(--size-icon-xs);
	height: var(--size-icon-xs);
	background-color: currentColor;
	-webkit-mask: url("../assets/icons/iconArrowLeft.svg") center / contain no-repeat;
	mask: url("../assets/icons/iconArrowLeft.svg") center / contain no-repeat;
}
.et-db .et-l .custom-section .soul-explore .is-next .explore-page-icon {
	-webkit-mask-image: url("../assets/icons/iconArrowRight.svg");
	mask-image: url("../assets/icons/iconArrowRight.svg");
}


/* -----------------------------------------------------------------------------
   Post — página interna (Figma 555:7067) · Theme Builder "Todos os posts" · inc/post-single.php
   Seções: button-back ([soul_post_back]) → content-meta ([soul_post_meta] + [soul_post_share], módulos custom-meta)
   → post-title (Título do Post com imagem destacada, classe custom-title-feature)
   → post-content (Conteúdo do Post, classe content-post) → see-more-posts ([soul_related])
   ----------------------------------------------------------------------------- */
/* Respiros do Figma: 60 no topo, 50 entre os blocos, 80 depois do texto */
.et-db .et-l .custom-section.button-back {
	padding: var(--space-60) 0 0;
}
.et-db .et-l .custom-section.content-meta,
.et-db .et-l .custom-section.post-title {
	padding: var(--space-50) 0 0;
}
/* O menu de compartilhar abre por cima do título: a seção da meta fica acima das seguintes
   e a do título isola o z-index: 98 que o Divi põe no .et_pb_title_container */
.et-db .et-l .custom-section.content-meta {
	position: relative;
	z-index: 2;
}
.et-db .et-l .custom-section.post-title {
	isolation: isolate;
}
.et-db .et-l .custom-section.post-content {
	padding: var(--space-50) 0 var(--space-80);
}

/* ← Voltar para Insights */
.et-db .et-l .custom-section .soul-post-back {
	display: inline-flex;
	align-items: center;
	gap: var(--space-10);
	font-family: var(--font-body);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-150);
	color: var(--brand-marrom);
	text-decoration: none;
	transition: color var(--ease);
}
.et-db .et-l .custom-section .soul-post-back:hover,
.et-db .et-l .custom-section .soul-post-back:hover > * {
	color: var(--brand-dourado);
}
.et-db .et-l .custom-section .soul-post-back:focus-visible {
	outline: var(--border-width-button) solid var(--brand-dourado);
	outline-offset: var(--space-5);
	border-radius: var(--border-radius-5);
}
.et-db .et-l .custom-section .soul-post-back .post-back-icon {
	display: block;
	width: var(--font-size-small);
	height: var(--font-size-small);
	background-color: currentColor;
	-webkit-mask: url("../assets/icons/iconArrowLeft.svg") center / contain no-repeat;
	mask: url("../assets/icons/iconArrowLeft.svg") center / contain no-repeat;
	transition: translate 0.4s var(--ease-out-expo);
}
.et-db .et-l .custom-section .soul-post-back:hover .post-back-icon {
	translate: calc(var(--space-5) * -1) 0;
}

/* Meta (esq.) + Compartilhar (dir.) na mesma linha */
.et-db .et-l .custom-section.content-meta .custom-content > .et_pb_column {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-20);
}
.et-db .et-l .custom-section.content-meta .custom-meta {
	flex: 0 1 auto;
	width: auto;
	margin: 0;
}
.et-db .et-l .custom-section .soul-post-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-15);
}
.et-db .et-l .custom-section .soul-post-meta .post-meta-info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-15);
	font-family: var(--font-body);
	font-size: var(--font-size-small);
	font-weight: var(--font-weight-medium);
	line-height: var(--line-height-140);
}
.et-db .et-l .custom-section .soul-post-meta .post-author {
	color: var(--concreto-600);
}
.et-db .et-l .custom-section .soul-post-meta .post-author strong {
	font-weight: var(--font-weight-bold);
}
.et-db .et-l .custom-section .soul-post-meta .post-meta-dot {
	width: var(--size-dot-h);
	height: var(--size-dot-h);
	border-radius: var(--border-radius-full);
	background-color: var(--concreto-400);
}
.et-db .et-l .custom-section .soul-post-meta .post-reading {
	color: var(--concreto-400);
}

/* Compartilhar — <details>: o botão abre o menu com as redes */
.et-db .et-l .custom-section .soul-share {
	position: relative;
}
.et-db .et-l .custom-section .soul-share .share-toggle {
	display: flex;
	align-items: center;
	gap: var(--space-10);
	list-style: none;
	cursor: pointer;
}
.et-db .et-l .custom-section .soul-share .share-toggle::-webkit-details-marker {
	display: none;
}
.et-db .et-l .custom-section .soul-share .share-toggle:focus-visible {
	outline: none;
}
.et-db .et-l .custom-section .soul-share .share-toggle:focus-visible .share-button {
	outline: var(--border-width-button) solid var(--brand-dourado);
	outline-offset: var(--border-width-button);
}
.et-db .et-l .custom-section .soul-share .share-label {
	font-family: var(--font-body);
	font-size: var(--font-size-small);
	font-weight: var(--font-weight-medium);
	line-height: var(--line-height-140);
	color: var(--concreto-400);
}
.et-db .et-l .custom-section .soul-share .share-button {
	display: flex;
	padding: var(--space-10);
	border-radius: var(--border-radius-full);
	background-color: var(--light-gray);
	color: var(--concreto-400);
	transition: background-color var(--ease), color var(--ease);
}
.et-db .et-l .custom-section .soul-share .share-toggle:hover .share-button,
.et-db .et-l .custom-section .soul-share[open] .share-button {
	background-color: var(--brand-dourado);
	color: var(--brand-marrom);
}
.et-db .et-l .custom-section .soul-share .share-icon {
	display: block;
	width: var(--size-icon-xs);
	height: var(--size-icon-xs);
	background-color: currentColor;
	-webkit-mask: url("../assets/icons/iconShareNetwork.svg") center / contain no-repeat;
	mask: url("../assets/icons/iconShareNetwork.svg") center / contain no-repeat;
}
.et-db .et-l .custom-section .soul-share .share-menu {
	position: absolute;
	top: calc(100% + var(--space-10));
	right: 0;
	z-index: 10;
	display: flex;
	flex-direction: column;
	gap: var(--space-5);
	min-width: calc(var(--space-100) * 2);
	margin: 0;
	padding: var(--space-10);
	list-style: none;
	border-radius: var(--border-radius-15);
	background-color: var(--neutral-white);
	box-shadow: var(--shadow-card-sm);
}
.et-db .et-l .custom-section .soul-share[open] .share-menu {
	animation: soul-tooltip-in 0.25s ease;
}
.et-db .et-l .custom-section .soul-share .share-menu li {
	margin: 0;
	padding: 0;
	list-style: none;
}
.et-db .et-l .custom-section .soul-share .share-link {
	display: flex;
	align-items: center;
	gap: var(--space-10);
	padding: var(--space-10) var(--space-15);
	border-radius: var(--border-radius-10);
	font-family: var(--font-body);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-medium);
	line-height: var(--line-height-140);
	color: var(--brand-marrom);
	text-decoration: none;
	white-space: nowrap;
	transition: background-color var(--ease);
}
.et-db .et-l .custom-section .soul-share .share-link:hover {
	background-color: var(--light-gray);
}
.et-db .et-l .custom-section .soul-share .share-link .text{
  font-size: var(--font-size-small);
  transition: all var(--ease);
}
.et-db .et-l .custom-section .soul-share .share-link:hover .text{
  color: var(--brand-dourado);
}
.et-db .et-l .custom-section .soul-share .share-link:focus-visible {
	outline: var(--border-width-button) solid var(--brand-dourado);
	outline-offset: calc(var(--border-width-button) * -1);
}
.et-db .et-l .custom-section .soul-share .share-link-icon {
	flex-shrink: 0;
  width: 12px;
  height: 12px;
	background-color: currentColor;
	-webkit-mask: url("../assets/icons/iconWhatsapp.svg") center / contain no-repeat;
	mask: url("../assets/icons/iconWhatsapp.svg") center / contain no-repeat;
	transition: background-color var(--ease);
}
.et-db .et-l .custom-section .soul-share .share-link:hover .share-link-icon {
	background-color: var(--brand-dourado);
}
.et-db .et-l .custom-section .soul-share .is-x .share-link-icon {
	-webkit-mask-image: url("../assets/icons/iconXLogo.svg");
	mask-image: url("../assets/icons/iconXLogo.svg");
}
.et-db .et-l .custom-section .soul-share .is-linkedin .share-link-icon {
	-webkit-mask-image: url("../assets/social-linkedin.svg");
	mask-image: url("../assets/social-linkedin.svg");
}
.et-db .et-l .custom-section .soul-share .is-facebook .share-link-icon {
	-webkit-mask-image: url("../assets/icons/iconFacebook.svg");
	mask-image: url("../assets/icons/iconFacebook.svg");
}

/* Título (H1) + linha fina + imagem destacada 1280 × 520 */
.et-db .et-l .custom-section .custom-content .custom-title-feature {
	display: flex;
	flex-direction: column;
	gap: var(--space-50);
	margin: 0;
	padding: 0;
	background: none;
	text-align: left;
}
.et-db .et-l .custom-section .custom-title-feature .et_pb_title_container {
	padding: 0 0 var(--space-50);
	border-bottom: var(--border-width) solid color-mix(in srgb, var(--concreto-100) 30%, transparent);
}
.et-db .et-l .custom-section .custom-title-feature .entry-title {
	margin: 0;
	padding: 0;
	font-family: var(--font-title);
	font-size: var(--font-size-h1);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-110);
	letter-spacing: var(--letter-spacing-display);
	color: var(--brand-marrom);
}
.et-db .et-l .custom-section .custom-title-feature .et_pb_title_featured_container {
	margin: 0;
}
.et-db .et-l .custom-section .custom-title-feature .et_pb_title_featured_container .et_pb_image_wrap {
	display: block;
	width: 100%;
	aspect-ratio: auto;
	overflow: hidden;
	background-color: var(--light-gray);
}
.et-db .et-l .custom-section .custom-title-feature .et_pb_title_featured_container img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Conteúdo do post — tipografia do editor de blocos (24px entre os blocos no Figma) */
.et-db .et-l .custom-section .custom-content .content-post > * {
	margin: 0;
	padding: 0;
}
.et-db .et-l .custom-section .custom-content .content-post > * + * {
	margin-top: var(--space-25);
}
/* O editor deixa <p></p> vazios entre blocos */
.et-db .et-l .custom-section .custom-content .content-post > p:empty {
	display: none;
}
.et-db .et-l .custom-section .custom-content .content-post p,
.et-db .et-l .custom-section .custom-content .content-post li {
	font-family: var(--font-body);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-150);
	color: var(--concreto-600);
}
.et-db .et-l .custom-section .custom-content .content-post h2,
.et-db .et-l .custom-section .custom-content .content-post h3,
.et-db .et-l .custom-section .custom-content .content-post h4 {
	padding: 0;
	font-family: var(--font-title);
	font-size: var(--font-size-h4);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-130);
	color: var(--brand-marrom);
}
.et-db .et-l .custom-section .custom-content .content-post strong {
	font-weight: var(--font-weight-bold);
}
.et-db .et-l .custom-section .custom-content .content-post a {
	color: var(--brand-marrom);
	text-decoration: underline;
	text-underline-offset: var(--space-5);
	transition: color var(--ease);
}
.et-db .et-l .custom-section .custom-content .content-post a:hover {
	color: var(--brand-dourado);
}
.et-db .et-l .custom-section .custom-content .content-post ul,
.et-db .et-l .custom-section .custom-content .content-post ol {
	padding: 0 0 0 var(--space-20);
	line-height: var(--line-height-150);
}
.et-db .et-l .custom-section .custom-content .content-post ul {
	list-style: disc;
}
.et-db .et-l .custom-section .custom-content .content-post ol {
	list-style: decimal;
}
.et-db .et-l .custom-section .custom-content .content-post li + li {
	margin-top: var(--space-10);
}
.et-db .et-l .custom-section .custom-content .content-post blockquote {
	padding: 0 0 0 var(--space-25);
	border-left: var(--border-width-button) solid var(--brand-dourado);
}
.et-db .et-l .custom-section .custom-content .content-post blockquote p {
	font-size: var(--font-size-body);
	font-style: italic;
	color: var(--brand-marrom);
}
.et-db .et-l .custom-section .custom-content .content-post figure {
	margin-left: 0;
	margin-right: 0;
}
.et-db .et-l .custom-section .custom-content .content-post img {
	display: block;
	max-width: 100%;
	height: auto;
}
.et-db .et-l .custom-section .custom-content .content-post figcaption {
	margin-top: var(--space-10);
	font-size: var(--font-size-small);
	line-height: var(--line-height-140);
	color: var(--concreto-400);
}

/* Veja também... — linha divisória na largura do conteúdo, título + "Ver todos os insights" */
.et-db .et-l .custom-section.see-more-posts {
	padding: 0 0 var(--space-100);
}
.et-db .et-l .custom-section.see-more-posts .custom-content {
	padding-top: var(--space-100);
	border-top: var(--border-width) solid color-mix(in srgb, var(--concreto-100) 30%, transparent);
}
.et-db .et-l .custom-section .soul-related {
	display: flex;
	flex-direction: column;
	gap: var(--space-50);
}
.et-db .et-l .custom-section .soul-related .related-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-20);
}
.et-db .et-l .custom-section .soul-related .related-title {
	margin: 0;
	padding: 0;
	font-family: var(--font-title);
	font-size: var(--font-size-h3);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-120);
	color: var(--brand-marrom);
}
.et-db .et-l .custom-section .soul-related .related-link {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	gap: var(--space-10);
	font-family: var(--font-body);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-semibold);
	line-height: var(--line-height-140);
	color: var(--brand-marrom);
	text-decoration: none;
	transition: color var(--ease);
}
.et-db .et-l .custom-section .soul-related .related-link:hover,
.et-db .et-l .custom-section .soul-related .related-link:hover .text{
	color: var(--brand-dourado);
}
.et-db .et-l .custom-section .soul-related .related-link .text{
  transition: all var(--ease);
}
.et-db .et-l .custom-section .soul-related .related-link:focus-visible {
	outline: var(--border-width-button) solid var(--brand-dourado);
	outline-offset: var(--space-5);
	border-radius: var(--border-radius-5);
}
.et-db .et-l .custom-section .soul-related .related-link-icon {
	display: block;
	width: var(--font-size-small);
	height: var(--font-size-small);
	background-color: currentColor;
	-webkit-mask: url("../assets/icons/iconArrowRight.svg") center / contain no-repeat;
	mask: url("../assets/icons/iconArrowRight.svg") center / contain no-repeat;
	transition: translate 0.4s var(--ease-out-expo);
}
.et-db .et-l .custom-section .soul-related .related-link:hover .related-link-icon {
	translate: var(--space-5) 0;
}


/* -----------------------------------------------------------------------------
   Thumb de notícia — hover reutilizável (mesmo padrão em todas as thumbs)
   .news-card  → área do hover (link do card, coluna/grupo do Divi ou módulo Blog)
   .news-image → caixa da imagem (a foto dá um zoom lento)
   .news-title → título (as palavras ficam douradas uma a uma)
   js/news-card.js quebra o título em <span class="word" style="--word-i: n">;
   no módulo Blog do Divi, cada post vira um .news-card sozinho.
   Nos shortcodes o foco é do link do título (.card-stretch); com o mouse no selo da
   categoria, o card não reage (o hover é só do selo).
   ----------------------------------------------------------------------------- */
/* isolation: o Safari só recorta a foto com zoom nos cantos arredondados assim */
.et-db .et-l .custom-section .news-card .news-image {
	overflow: hidden;
	isolation: isolate;
	border-radius: var(--border-radius-15);
}
.et-db .et-l .custom-section .news-card .news-image img {
	transition: scale 1.2s var(--ease-out-expo);
}
.et-db .et-l .custom-section .news-card:hover:not(:has(a.card-badge:hover)) .news-image img,
.et-db .et-l .custom-section .news-card:focus-visible .news-image img,
.et-db .et-l .custom-section .news-card:has(.card-stretch:focus-visible) .news-image img {
	scale: 1.06;
}
/* Na saída todas voltam juntas; na entrada cada palavra espera a anterior */
.et-db .et-l .custom-section .news-card .news-title .word {
	transition: color 0.35s ease;
}
.et-db .et-l .custom-section .news-card:hover:not(:has(a.card-badge:hover)) .news-title .word,
.et-db .et-l .custom-section .news-card:focus-visible .news-title .word,
.et-db .et-l .custom-section .news-card:has(.card-stretch:focus-visible) .news-title .word {
	color: var(--brand-dourado);
	transition-delay: calc(var(--word-i, 0) * 45ms);
}


/* -----------------------------------------------------------------------------
   Navegação de carrossel (setas)
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section .custom-content .slider-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-10);
}
.et-db .et-l .custom-section .custom-content .slider-nav a,
.et-db .et-l .custom-section .custom-content .slider-nav img {
	width: var(--size-icon-sm);
	height: var(--size-icon-sm);
	display: block;
}


/* -----------------------------------------------------------------------------
   Carrossel (reutilizável) — js/carousel.js
   Linha: CSS Class = custom-content carousel · a coluna vira a trilha e cada módulo é um slide
   As setas (.carousel-nav) são criadas pelo JS abaixo da trilha.
   Ajustes por seção: --carousel-per-view (cards visíveis) · --carousel-gap · --carousel-arrow-color
   · --carousel-interval (autoplay; 0s desliga)
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section .custom-content.carousel {
	--carousel-per-view: 3;
	--carousel-gap: var(--space-30);
	--carousel-interval: 4s;
	flex-direction: column;
	gap: var(--space-50);
}
/* Trilha: rola na horizontal com encaixe por card; o padding deixa a sombra dos cards aparecer */
.et-db .et-l .custom-section .custom-content.carousel > .et_pb_column {
	display: flex;
	flex: none;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	align-self: stretch;
	gap: var(--carousel-gap);
	width: calc(100% + var(--space-20) * 2);
	max-width: none;
	margin: calc(var(--space-20) * -1);
	padding: var(--space-20);
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: var(--space-20);
	scroll-behavior: smooth;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
}
.et-db .et-l .custom-section .custom-content.carousel > .et_pb_column::-webkit-scrollbar {
	display: none;
}
.et-db .et-l .custom-section .custom-content.carousel > .et_pb_column > * {
	flex: 0 0 calc((100% - (var(--carousel-per-view) - 1) * var(--carousel-gap)) / var(--carousel-per-view));
	min-width: 0;
	margin: 0;
	scroll-snap-align: start;
}
/* Arrastar com o mouse (o JS liga .is-dragging): sem encaixe enquanto arrasta.
   O cursor fica o padrão de propósito (a "mãozinha" confunde o usuário) */
.et-db .et-l .custom-section .custom-content.carousel.is-dragging > .et_pb_column {
	scroll-snap-type: none;
	scroll-behavior: auto;
	user-select: none;
}
.et-db .et-l .custom-section .custom-content.carousel img {
	-webkit-user-drag: none;
}
/* Setas — ícone por máscara para a cor vir de --carousel-arrow-color */
.et-db .et-l .custom-section .custom-content.carousel .carousel-nav,
.et-db .et-l .custom-section .soul-featured .carousel-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-10);
}
.et-db .et-l .custom-section .custom-content.carousel.is-static .carousel-nav {
	display: none;
}
.et-db .et-l .custom-section .custom-content.carousel .carousel-arrow {
	display: block;
	width: var(--size-icon-sm);
	height: var(--size-icon-sm);
	margin: 0;
	padding: 0;
	border: none;
	border-radius: var(--border-radius-full);
	background: none;
	cursor: pointer;
	appearance: none;
	transition: opacity var(--ease);
}
.et-db .et-l .custom-section .custom-content.carousel .carousel-arrow-icon {
	display: block;
	width: 100%;
	height: 100%;
	background-color: var(--carousel-arrow-color, var(--concreto-600));
	-webkit-mask: url("../assets/icons/iconArrowLeft.svg") center / contain no-repeat;
	mask: url("../assets/icons/iconArrowLeft.svg") center / contain no-repeat;
	transition: translate var(--ease);
}
.et-db .et-l .custom-section .custom-content.carousel .carousel-arrow.next .carousel-arrow-icon {
	-webkit-mask-image: url("../assets/icons/iconArrowRight.svg");
	mask-image: url("../assets/icons/iconArrowRight.svg");
}
/* Hover — a seta dá um passo na direção dela */
.et-db .et-l .custom-section .custom-content.carousel .carousel-arrow.prev:not(:disabled):hover .carousel-arrow-icon {
	translate: calc(var(--space-5) * -1) 0;
}
.et-db .et-l .custom-section .custom-content.carousel .carousel-arrow.next:not(:disabled):hover .carousel-arrow-icon {
	translate: var(--space-5) 0;
}
.et-db .et-l .custom-section .custom-content.carousel .carousel-arrow:disabled {
	opacity: 0.4;
	cursor: default;
}
.et-db .et-l .custom-section .custom-content.carousel .carousel-arrow:focus-visible {
	outline: var(--border-width-button) solid var(--carousel-arrow-color, var(--concreto-600));
	outline-offset: var(--space-5);
}

/* Modo loop — linha custom-content carousel full-width
   Largura total da página, card ativo no centro e os vizinhos cortados nas laterais.
   O JS clona os slides nas pontas (loop infinito) e move a trilha por transform;
   .is-active marca o card do centro. Ajuste por seção: --carousel-slide-width */
.et-db .et-l .custom-section .custom-content.carousel.full-width {
	--carousel-slide-width: min(calc(var(--content-width) * 0.77), calc(100% - var(--space-100) * 2));
	max-width: none;
	overflow: hidden;
}
.et-db .et-l .custom-section .custom-content.carousel.full-width > .et_pb_column {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: visible;
	scroll-snap-type: none;
	touch-action: pan-y;
	transition: transform 0.8s var(--ease-out-quart);
	will-change: transform;
}
.et-db .et-l .custom-section .custom-content.carousel.full-width > .et_pb_column > * {
	flex: 0 0 var(--carousel-slide-width);
}
/* Arrastando, ou no salto do clone para o original: tudo sem animação */
.et-db .et-l .custom-section .custom-content.carousel.full-width.is-dragging > .et_pb_column,
.et-db .et-l .custom-section .custom-content.carousel.full-width.is-jumping > .et_pb_column,
.et-db .et-l .custom-section .custom-content.carousel.full-width.is-jumping > .et_pb_column *,
.et-db .et-l .custom-section .custom-content.carousel.full-width.is-jumping > .et_pb_column *:before,
.et-db .et-l .custom-section .custom-content.carousel.full-width.is-jumping > .et_pb_column *:after {
	transition: none;
}

/* Carrossel modelo 2 (linha carousel full-width model2) — Figma 555:6074
   Card ativo alinhado à margem do conteúdo; pontinhos no lugar das setas. Folga em cima para a sombra dos cards não ser cortada */
.et-db .et-l .custom-section .custom-content.carousel.full-width.model2 {
	--carousel-slide-width: min(calc(var(--content-width) * 540 / 1280), calc(100% - var(--space-40) * 2));
	--carousel-gap: var(--space-50);
	padding-top: var(--space-25);
}
/* Carrossel modelo 3 (linha custom-content cards carousel model3)
   Cards fixos lado a lado (rolagem só no responsivo, pelo JS) · 50 do título acima ·
   card-image mais compacto (25 de respiro em vez de 40) */
.et-db .et-l .custom-section .custom-content.cards.carousel.model3 {
	margin-top: var(--space-50);
}
.et-db .et-l .custom-section .custom-content.model3 .et_pb_blurb.card-image {
	padding: var(--space-30);
  border-radius: var(--border-radius-30);
}
.et-db .et-l .custom-section .custom-content.model3 .et_pb_blurb.card-image .et_pb_image_wrap{
  border-radius: var(--border-radius-20);
}
.et-db .et-l .custom-section .custom-content.carousel .carousel-nav.is-dots,
.et-db .et-l .custom-section .soul-featured .carousel-nav.is-dots {
	gap: var(--space-5);
}
/* Pontinho: área de clique maior que a barrinha (desenhada no :before) — também nos Destaques de Insights */
.et-db .et-l .custom-section .custom-content.carousel .carousel-dot,
.et-db .et-l .custom-section .soul-featured .carousel-dot {
	position: relative;
	display: block;
	box-sizing: content-box;
	width: var(--size-dot-w);
	height: var(--size-dot-h);
	margin: 0;
	padding: var(--size-dot-hit-y) 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	transition: width var(--hero-content-ms) var(--ease-out-expo);
}
.et-db .et-l .custom-section .custom-content.carousel .carousel-dot:before,
.et-db .et-l .custom-section .soul-featured .carousel-dot:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: var(--size-dot-h);
	border-radius: var(--border-radius-full);
	background-color: var(--concreto-100);
	opacity: 0.3;
	translate: 0 -50%;
	transition: opacity var(--ease), background-color var(--ease);
}
.et-db .et-l .custom-section .custom-content.carousel .carousel-dot.is-active,
.et-db .et-l .custom-section .soul-featured .carousel-dot.is-active {
	width: var(--size-dot-w-active);
}
.et-db .et-l .custom-section .custom-content.carousel .carousel-dot.is-active:before,
.et-db .et-l .custom-section .soul-featured .carousel-dot.is-active:before {
	opacity: 1;
}
.et-db .et-l .custom-section .custom-content.carousel .carousel-dot:hover:before,
.et-db .et-l .custom-section .soul-featured .carousel-dot:hover:before {
	opacity: 1;
	background-color: var(--brand-dourado);
}
.et-db .et-l .custom-section .custom-content.carousel .carousel-dot:focus-visible,
.et-db .et-l .custom-section .soul-featured .carousel-dot:focus-visible {
	outline: var(--border-width) solid var(--brand-dourado);
	outline-offset: var(--space-5);
}
/* Card com imagem dentro do modelo 2: título dourado (Figma) */
.et-db .et-l .custom-section .custom-content.model2 .et_pb_blurb.card-image .et_pb_module_header,
.et-db .et-l .custom-section .custom-content.model2 .et_pb_blurb.card-image .et_pb_module_header a {
	color: var(--brand-dourado);
}

/* -----------------------------------------------------------------------------
   Dots utilitário (legado / seções)
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section .custom-content .hero-dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-5);
}
.et-db .et-l .custom-section .custom-content .hero-dots span {
	display: block;
	height: var(--size-dot-h);
	width: var(--size-dot-w);
	border-radius: var(--border-radius-30);
	background-color: var(--concreto-100);
	opacity: 0.3;
}
.et-db .et-l .custom-section .custom-content .hero-dots span.active {
	width: var(--size-dot-w-active);
	opacity: 1;
}


/* -----------------------------------------------------------------------------
   Ícone social
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section .custom-content .social-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--size-social);
	height: var(--size-social);
	padding: var(--space-10);
	border-radius: var(--border-radius-full);
	background-color: var(--brand-marrom);
	transition: background-color var(--ease);
}
.et-db .et-l .custom-section .custom-content .social-icon img {
	width: var(--size-icon-xs);
	height: var(--size-icon-xs);
}
.et-db .et-l .custom-section .custom-content .social-icon:hover {
	background-color: var(--concreto-600);
}
.et-db .et-l .custom-section .custom-content .social-icon.gold {
	background-color: transparent;
	padding: 0;
	width: var(--size-icon-sm);
	height: var(--size-icon-sm);
}
.et-db .et-l .custom-section .custom-content .social-icon.gold img {
	width: var(--size-icon-sm);
	height: var(--size-icon-sm);
}


/* -----------------------------------------------------------------------------
   Menus do Divi — estrutura mínima no CSS do tema
   O CSS do módulo Menu chega depois (o Divi carrega assíncrono, via preload). Sem isto, no
   carregamento o menu aparecia como lista solta (vertical, com marcadores) e a cópia mobile
   (.et_mobile_menu, gerada pelo JS do Divi) ficava à mostra até o CSS do Divi entrar.
   ≤980 o header troca menu por hambúrguer no responsivo (fim do arquivo).
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section .et_pb_menu ul {
	list-style: none;
}
.et-db .et-l .custom-section .et_pb_menu .et_pb_menu_inner_container,
.et-db .et-l .custom-section .et_pb_menu .et_pb_menu__wrap,
.et-db .et-l .custom-section .et_pb_menu .et_pb_menu__menu,
.et-db .et-l .custom-section .et_pb_menu .et_pb_menu__menu > nav {
	display: flex;
	align-items: stretch;
}
.et-db .et-l .custom-section .et_pb_menu .et_mobile_nav_menu,
.et-db .et-l .custom-section .et_pb_menu .et_mobile_menu {
	display: none;
}


/* -----------------------------------------------------------------------------
   Header / Nav (Figma 298:30)
   Seção: custom-section header · Linha: custom-content
   Módulos: .logo (Imagem) + .custom-menu.main (Menu)
   Item de menu: feature-button (CTA) · pll-parent-menu-item (Polylang)
   Sticky após 150px e painel mobile controlados por js/header.js
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section.header {
	position: relative;
	z-index: 1000;
	padding: var(--space-30) 0;
	background-color: var(--neutral-white);
	transition: padding var(--ease), box-shadow var(--ease);
}
.et-db .et-l .custom-section.header .custom-content {
	max-width: var(--content-width);
	padding: 0;
}
.et-db .et-l .custom-section.header .custom-content > .et_pb_column {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-30);
	width: 100%;
}
.et-db .et-l .custom-section.header .custom-content > .et_pb_column > .et_pb_module {
	margin: 0;
}

/* Logo */
.et-db .et-l .custom-section.header .logo {
	flex: 0 0 auto;
	width: auto;
	max-width: none;
}
.et-db .et-l .custom-section.header .logo img {
	display: block;
	width: auto;
	height: var(--size-logo-nav);
	transition: height var(--ease);
}

/* Menu — container */
.et-db .et-l .custom-section.header .custom-menu.main {
	flex: 1 1 auto;
	background-color: transparent;
}
.et-db .et-l .custom-section.header .custom-menu.main .et_pb_menu_inner_container,
.et-db .et-l .custom-section.header .custom-menu.main .et_pb_menu__wrap {
	justify-content: flex-end;
}
.et-db .et-l .custom-section.header .et-menu-nav > .et-menu {
	display: flex;
	align-items: center;
	gap: var(--space-35);
	margin: 0;
	padding: 0;
}
.et-db .et-l .custom-section.header .et-menu-nav > .et-menu > li {
	position: relative;
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
}
/* Idioma fica a 15px do CTA (gap geral do menu = 35px) */
.et-db .et-l .custom-section.header .et-menu-nav > .et-menu > li.pll-parent-menu-item {
	margin-left: calc(var(--space-15) - var(--space-35));
}

/* Menu — links primários (underline cresce da esquerda no hover) */
.et-db .et-l .custom-section.header .et-menu-nav > .et-menu > li > a {
	display: inline-flex;
	align-items: center;
	gap: var(--space-10);
	padding: 0;
	font-family: var(--font-body);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-140);
	color: var(--concreto-400);
	white-space: nowrap;
	opacity: 1;
	/* Sublinhado dourado no hover — o texto segue escuro (dourado sobre branco não tem contraste) */
	background-image: linear-gradient(var(--brand-dourado), var(--brand-dourado));
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 0 var(--border-width);
	transition: color var(--ease), background-size var(--hero-content-ms) var(--ease-out-expo);
}
.et-db .et-l .custom-section.header .et-menu-nav > .et-menu > li > a:hover,
.et-db .et-l .custom-section.header .et-menu-nav > .et-menu > li.is-open > a {
	color: var(--concreto-600);
	opacity: 1;
	background-size: 100% var(--border-width);
}
/* Página aberta — item do topo (ou o pai da página aberta) fica dourado, caret junto (currentColor).
   Idioma fica de fora: o Polylang marca o idioma atual como "current" */
.et-db .et-l .custom-section.header .et-menu-nav > .et-menu > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent, .current_page_item, .current_page_ancestor):not(.feature-button, .pll-parent-menu-item) > a,
.et-db .et-l .custom-section.header .et-menu-nav > .et-menu > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent, .current_page_item, .current_page_ancestor):not(.feature-button, .pll-parent-menu-item) > a:hover {
	color: var(--brand-dourado);
}
/* Submenu: os filhos seguem na cor normal; só o da página aberta fica dourado */
.et-db .et-l .custom-section.header .et-menu-nav .et-menu .sub-menu li:is(.current-menu-item, .current_page_item):not(.lang-item) > a {
	color: var(--brand-dourado);
}

/* Caret dos itens com submenu (substitui o ícone ETmodules do Divi) */
.et-db .et-l .custom-section.header .et-menu-nav .menu-item-has-children > a:first-child {
	padding-right: 0;
}
.et-db .et-l .custom-section.header .et-menu-nav .menu-item-has-children > a:first-child:after {
	content: "";
	position: static;
	display: block;
	flex: 0 0 auto;
	width: var(--space-10);
	height: var(--space-10);
	background-color: currentColor;
	-webkit-mask: url("../assets/icons/iconCaretDown.svg") center / contain no-repeat;
	mask: url("../assets/icons/iconCaretDown.svg") center / contain no-repeat;
	transition: transform var(--hero-content-ms) var(--ease-out-expo);
}
.et-db .et-l .custom-section.header .et-menu-nav .menu-item-has-children.is-open > a:first-child:after {
	transform: rotate(180deg);
}

/* CTA — Fale conosco */
.et-db .et-l .custom-section.header .et-menu-nav > .et-menu > li.feature-button > a {
	padding: var(--space-15) var(--space-25);
	border-radius: var(--border-radius-full);
	background-color: var(--concreto-600);
	background-image: none;
	color: var(--neutral-white);
	transition: background-color var(--ease), color var(--ease);
}
.et-db .et-l .custom-section.header .et-menu-nav > .et-menu > li.feature-button > a:hover {
	background-color: var(--brand-dourado);
	color: var(--brand-marrom);
}

/* Idioma — pílula globo + caret (texto só para leitor de tela) */
.et-db .et-l .custom-section.header .et-menu-nav > .et-menu > li.pll-parent-menu-item > a {
	justify-content: center;
	gap: var(--space-5);
	height: var(--size-button-h);
	padding: 0 var(--space-15);
	border-radius: var(--border-radius-full);
	background-color: var(--light-gray);
	background-image: none;
	box-shadow: inset 0 0 0 var(--border-width) transparent;
	color: var(--concreto-600);
	font-size: 0;
	line-height: 0;
	transition: box-shadow var(--ease), color var(--ease);
}
.et-db .et-l .custom-section.header .et-menu-nav > .et-menu > li.pll-parent-menu-item > a:before {
	content: "";
	display: block;
	flex: 0 0 auto;
	width: var(--size-icon-sm);
	height: var(--size-icon-sm);
	background-color: currentColor;
	-webkit-mask: url("../assets/icons/iconGlobeSimple.svg") center / contain no-repeat;
	mask: url("../assets/icons/iconGlobeSimple.svg") center / contain no-repeat;
}
.et-db .et-l .custom-section.header .et-menu-nav > .et-menu > li.pll-parent-menu-item > a:hover,
.et-db .et-l .custom-section.header .et-menu-nav > .et-menu > li.pll-parent-menu-item.is-open > a {
	box-shadow: inset 0 0 0 var(--border-width) var(--concreto-100);
	color: var(--brand-marrom);
}

/* Submenu desktop — painel compacto (ref. coluna secundária Joby) */
.et-db .et-l .custom-section.header .et-menu-nav .et-menu li > .sub-menu {
	position: absolute;
	top: calc(100% + var(--space-15));
	left: calc(var(--space-25) * -1);
	z-index: 10;
	display: flex;
	flex-direction: column;
	width: max-content;
	margin: 0;
	padding: var(--space-20);
	border: none;
	border-radius: var(--border-radius-20);
	background-color: var(--neutral-white);
	box-shadow: var(--shadow-card);
	text-align: left;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	animation: none;
	transform: translate3d(0, calc(var(--space-10) * -1), 0);
	transition: opacity var(--ease), transform var(--hero-content-ms) var(--ease-out-expo), visibility var(--ease);
}
/* Ponte invisível — o mouse cruza o espaço sem fechar o painel */
.et-db .et-l .custom-section.header .et-menu-nav .et-menu li > .sub-menu:before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 100%;
	height: var(--space-15);
}
.et-db .et-l .custom-section.header .et-menu-nav .et-menu li.pll-parent-menu-item > .sub-menu {
	left: auto;
	right: 0;
}
.et-db .et-l .custom-section.header .et-menu-nav .et-menu li.is-open > .sub-menu {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
	transform: translate3d(0, 0, 0);
}
.et-db .et-l .custom-section.header .et-menu-nav .et-menu .sub-menu li {
	width: auto;
	margin: 0;
	padding: 0;
	line-height: var(--line-height-140);
	opacity: 0;
	transform: translate3d(0, var(--space-5), 0);
	transition: opacity var(--ease), transform var(--ease);
}
.et-db .et-l .custom-section.header .et-menu-nav .et-menu li.is-open > .sub-menu li {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	transition-delay: calc(var(--i, 0) * 0.04s + 0.06s);
}
.et-db .et-l .custom-section.header .et-menu-nav .et-menu .sub-menu a {
	display: block;
	width: auto;
	padding: var(--space-5) 0;
	font-family: var(--font-body);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-140);
	color: var(--concreto-400);
	white-space: nowrap;
	background-color: transparent;
	opacity: 1;
	transition: color var(--ease), transform var(--ease);
}
.et-db .et-l .custom-section.header .et-menu-nav .et-menu .sub-menu a:hover {
	color: var(--brand-marrom);
	background-color: transparent;
	opacity: 1;
	transform: translate3d(var(--space-5), 0, 0);
}
.et-db .et-l .custom-section.header .et-menu-nav .et-menu .sub-menu .current-lang > a {
	font-weight: var(--font-weight-semibold);
	color: var(--brand-marrom);
}

/* Sticky — ativado pelo JS após 150px de rolagem */
.et-db .et-l .custom-section.header.is-sticky {
	position: fixed;
	top: var(--wp-admin--admin-bar--height, 0px);
	left: 0;
	right: 0;
	width: 100%;
	padding-top: var(--space-15);
	padding-bottom: var(--space-15);
	box-shadow: var(--shadow-sm);
	animation: soul-header-drop var(--hero-content-ms) var(--ease-out-expo) backwards;
}
.et-db .et-l .custom-section.header.is-sticky .logo img {
	height: var(--space-50);
}
@keyframes soul-header-drop {
	from { transform: translate3d(0, -100%, 0); }
	to { transform: translate3d(0, 0, 0); }
}

/* Fundo escurecido do painel mobile (criado pelo JS como irmão do header) */
.soul-header-backdrop {
	position: fixed;
	inset: 0;
	z-index: 999;
	background-color: var(--overlay-hero);
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--ease), visibility var(--ease);
}
.soul-header-backdrop.is-visible {
	opacity: 1;
	visibility: visible;
}
html.soul-menu-lock,
html.soul-menu-lock body {
	overflow: hidden;
}


/* -----------------------------------------------------------------------------
   Hero — Fullwidth Header + Soul Hero Carousel
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section.hero {
	position: relative;
	width: 100%;
	min-height: var(--hero-height);
	background-color: var(--concreto-600);
	padding: 0;
	overflow: hidden;
	touch-action: pan-y;
	cursor: default;
	user-select: none;
	-webkit-user-select: none;
}
.et-db .et-l .custom-section.hero.is-dragging {
	cursor: default;
}
.et-db .et-l .custom-section.hero .custom-content,
.et-db .et-l .custom-section.hero .et_pb_column {
	width: 100%;
	max-width: none;
	min-height: var(--hero-height);
	padding: 0;
	margin: 0;
	position: relative;
}
.et-db .et-l .custom-section.hero .soul-hero-track {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	will-change: transform;
	backface-visibility: hidden;
}
.et-db .et-l .custom-section.hero .et_pb_fullwidth_header,
.et-db #et-boc .et-l .custom-section.hero .et_pb_fullwidth_header {
	position: relative;
	flex: 0 0 auto;
	width: 100%;
	min-height: var(--hero-height);
	height: var(--hero-height);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	margin: 0;
	background-color: var(--concreto-600);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}
.et-db .et-l .custom-section.hero .soul-hero-media {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-color: var(--concreto-600);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	transform: scale(1);
	transform-origin: center center;
	will-change: transform;
	pointer-events: none;
}
.et-db .et-l .custom-section.hero .soul-hero-media.is-zooming {
	animation: soul-hero-kenburns var(--hero-autoplay-ms) linear both;
}
.et-db .et-l .custom-section.hero .et_pb_fullwidth_header_overlay {
	z-index: 1;
	background-color: var(--overlay-hero);
	background-image: radial-gradient(ellipse 40% 55% at 12% 100%, var(--overlay-hero-glow) 0%, transparent 70%);
}
.et-db .et-l .custom-section.hero .et_pb_fullwidth_header_scroll {
	display: none;
}
.et-db .et-l .custom-section.hero .soul-hero-slide.is-active {
	z-index: 1;
}
.et-db .et-l .custom-section.hero .et_pb_fullwidth_header_container,
.et-db #et-boc .et-l .custom-section.hero .et_pb_fullwidth_header_container,
.et-db .et-l .custom-section.hero .et_pb_fullwidth_header_container.left,
.et-db #et-boc .et-l .custom-section.hero .et_pb_fullwidth_header_container.left {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: var(--hero-content-width);
	margin: 0 auto;
	padding: 0 var(--space-20);
	position: relative;
	z-index: 3;
}
.et-db .et-l .custom-section.hero .header-content-container,
.et-db .et-l .custom-section.hero .header-content,
.et-db #et-boc .et-l .custom-section.hero .header-content-container,
.et-db #et-boc .et-l .custom-section.hero .header-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: var(--hero-content-width);
	margin: 0;
	padding: 0;
	text-align: center;
	--vertical-gap: 0px;
	row-gap: 0;
	will-change: transform, opacity;
}
.et-db .et-l .custom-section.hero .et_pb_module_header,
.et-db #et-boc .et-l .custom-section.hero .et_pb_module_header {
	font-family: var(--font-title);
	font-size: var(--font-size-hero);
	font-weight: var(--font-weight-light);
	line-height: var(--line-height-110);
	letter-spacing: var(--letter-spacing-display);
	color: var(--neutral-white);
	text-align: center;
	padding: 0;
	margin: 0;
}
.et-db .et-l .custom-section.hero .et_pb_fullwidth_header_subhead,
.et-db #et-boc .et-l .custom-section.hero .et_pb_fullwidth_header_subhead {
	display: block;
	font-family: var(--font-title);
	font-size: var(--font-size-hero);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-110);
	letter-spacing: var(--letter-spacing-display);
	color: var(--brand-dourado);
	text-align: center;
	padding: 0;
	margin: 0 0 var(--space-50);
}
.et-db .et-l .custom-section.hero .h1-medium .et_pb_module_header,
.et-db #et-boc .et-l .custom-section.hero .h1-medium .et_pb_module_header,
.et-db .et-l .custom-section.hero .h1-medium .et_pb_fullwidth_header_subhead,
.et-db #et-boc .et-l .custom-section.hero .h1-medium .et_pb_fullwidth_header_subhead{
  font-size: var(--font-size-h1);
}
.et-db .et-l .custom-section.hero .et_pb_header_content_wrapper,
.et-db #et-boc .et-l .custom-section.hero .et_pb_header_content_wrapper {
	max-width: var(--hero-text-width);
	width: 100%;
	margin: 0 0 var(--space-50);
	padding: 0;
}
.et-db .et-l .custom-section.hero .et_pb_header_content_wrapper p,
.et-db #et-boc .et-l .custom-section.hero .et_pb_header_content_wrapper p {
	font-family: var(--font-body);
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-150);
	color: var(--neutral-white);
	text-align: center;
	padding: 0;
	margin: 0;
}
.et-db .et-l .custom-section.hero .et_pb_header_button_wrapper,
.et-db #et-boc .et-l .custom-section.hero .et_pb_header_button_wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: var(--space-15);
	margin: 0;
	padding: 0;
}
.et-db .et-l .custom-section.hero .et_pb_header_button_wrapper a.et_pb_button,
.et-db #et-boc .et-l .custom-section.hero .et_pb_header_button_wrapper a.et_pb_button,
.et-db .et-l .custom-section.hero .et_pb_fullwidth_header_container .et_pb_button_one,
.et-db .et-l .custom-section.hero .et_pb_fullwidth_header_container .et_pb_button_two {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--size-button-h);
	height: auto;
	padding: var(--space-15) var(--space-30) !important;
	border-radius: var(--border-radius-full);
	border-width: var(--border-width-button);
	border-style: solid;
	box-shadow: var(--shadow-sm);
	font-family: var(--font-body);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-110) !important;
	letter-spacing: var(--letter-spacing-none);
	text-decoration: none;
	margin: 0;
	pointer-events: auto;
	cursor: pointer;
	transition: background-color var(--ease), color var(--ease), border-color var(--ease), opacity var(--ease);
}
.et-db .et-l .custom-section.hero .et_pb_header_button_wrapper a.et_pb_button:after,
.et-db #et-boc .et-l .custom-section.hero .et_pb_header_button_wrapper a.et_pb_button:after {
	display: none;
	content: none;
}
.et-db .et-l .custom-section.hero a.et_pb_button_one,
.et-db #et-boc .et-l .custom-section.hero a.et_pb_button_one {
	background-color: var(--neutral-white);
	border-color: var(--neutral-white);
	color: var(--brand-marrom);
}
.et-db .et-l .custom-section.hero a.et_pb_button_one:hover,
.et-db #et-boc .et-l .custom-section.hero a.et_pb_button_one:hover {
	opacity: 1;
	background-color: var(--brand-dourado);
	border-color: var(--brand-dourado);
	color: var(--brand-marrom);
}
.et-db .et-l .custom-section.hero a.et_pb_button_two,
.et-db #et-boc .et-l .custom-section.hero a.et_pb_button_two {
	background-color: transparent;
	border-color: var(--neutral-white);
	box-shadow: none;
	color: var(--neutral-white);
}
.et-db .et-l .custom-section.hero a.et_pb_button_two:hover,
.et-db #et-boc .et-l .custom-section.hero a.et_pb_button_two:hover {
	background-color: var(--neutral-white);
	border-color: var(--neutral-white);
	color: var(--brand-marrom);
	opacity: 1;
}

/* Stagger de conteúdo — só com .is-animating; .is-settled = estático (sem reset) */
.et-db .et-l .custom-section.hero .soul-hero-slide .et_pb_module_header,
.et-db .et-l .custom-section.hero .soul-hero-slide .et_pb_fullwidth_header_subhead,
.et-db .et-l .custom-section.hero .soul-hero-slide .et_pb_header_content_wrapper,
.et-db .et-l .custom-section.hero .soul-hero-slide .et_pb_header_button_wrapper {
	opacity: 0;
	transform: translate3d(0, var(--hero-rise-y), 0);
}
.et-db .et-l .custom-section.hero .soul-hero-slide.is-settled .et_pb_module_header,
.et-db .et-l .custom-section.hero .soul-hero-slide.is-settled .et_pb_fullwidth_header_subhead,
.et-db .et-l .custom-section.hero .soul-hero-slide.is-settled .et_pb_header_content_wrapper,
.et-db .et-l .custom-section.hero .soul-hero-slide.is-settled .et_pb_header_button_wrapper {
	opacity: 1;
	transform: none;
	animation: none;
}
.et-db .et-l .custom-section.hero .soul-hero-slide.is-active.is-animating .et_pb_module_header {
	animation: soul-hero-rise var(--hero-content-ms) var(--ease-out-expo) 0.04s both;
}
.et-db .et-l .custom-section.hero .soul-hero-slide.is-active.is-animating .et_pb_fullwidth_header_subhead {
	animation: soul-hero-rise var(--hero-content-ms) var(--ease-out-expo) 0.12s both;
}
.et-db .et-l .custom-section.hero .soul-hero-slide.is-active.is-animating .et_pb_header_content_wrapper {
	animation: soul-hero-rise var(--hero-content-ms) var(--ease-out-expo) 0.26s both;
}
.et-db .et-l .custom-section.hero .soul-hero-slide.is-active.is-animating .et_pb_header_button_wrapper {
	animation: soul-hero-rise var(--hero-content-ms) var(--ease-out-expo) 0.38s both;
}

/* Dots do carrossel */
.et-db .et-l .custom-section.hero .soul-hero-dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: var(--hero-dots-bottom);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-5);
	z-index: 20;
	pointer-events: auto;
}
.et-db .et-l .custom-section.hero .soul-hero-dot {
	position: relative;
	display: block;
	box-sizing: content-box;
	width: var(--size-dot-w);
	height: var(--size-dot-h);
  padding: 0;
	border: none;
	border-radius: var(--border-radius-30);
	background-color: var(--concreto-100);
	background-clip: content-box;
	opacity: 0.3;
	cursor: pointer;
	appearance: none;
	transition: width var(--hero-content-ms) var(--ease-out-expo), opacity var(--hero-content-ms) var(--ease-out-expo);
}
.et-db .et-l .custom-section.hero .soul-hero-dot.is-active {
	width: var(--size-dot-w-active);
	opacity: 1;
}
.et-db .et-l .custom-section.hero .soul-hero-dot:hover {
	opacity: 0.55;
}
.et-db .et-l .custom-section.hero .soul-hero-dot.is-active:hover {
	opacity: 1;
}
.et-db .et-l .custom-section.hero.is-playing .soul-hero-dot.is-active.is-progress {
	overflow: hidden;
	background-color: var(--overlay-dot-track);
	background-clip: content-box;
}
/* Contagem até o próximo slide — o dot ativo vira trilho e enche da esquerda (7s = --hero-autoplay-ms) */
.et-db .et-l .custom-section.hero.is-playing .soul-hero-dot.is-active.is-progress:after {
	content: "";
	position: absolute;
	inset: 0;
	background-color: var(--concreto-100);
	border-radius: inherit;
	transform: scaleX(0);
	transform-origin: left center;
	animation: soul-hero-dot-progress var(--hero-autoplay-ms) linear both;
}

/* Hero simples das internas (Figma 555:5880) — custom-section hero simple-hero
   Um Fullwidth Header só (sem carrossel): fundo, overlay e centralização vêm do hero acima.
   Título do módulo = eyebrow dourado · Conteúdo: <h2> (o <strong> vira a 2ª linha dourada)
   + <p> com os links em negrito. A imagem de fundo é a do módulo no Divi. */
.et-db .et-l .custom-section.hero.simple-hero,
.et-db .et-l .custom-section.hero.simple-hero .custom-content,
.et-db .et-l .custom-section.hero.simple-hero .et_pb_column {
	min-height: 0;
}
.et-db .et-l .custom-section.hero.simple-hero .et_pb_fullwidth_header,
.et-db #et-boc .et-l .custom-section.hero.simple-hero .et_pb_fullwidth_header {
	min-height: 0;
	height: auto;
	padding: var(--space-100) 0;
}
/* Eyebrow (Título do módulo) */
.et-db .et-l .custom-section.hero.simple-hero .et_pb_module_header,
.et-db #et-boc .et-l .custom-section.hero.simple-hero .et_pb_module_header {
	margin-bottom: var(--space-50);
	font-family: var(--font-body);
	font-size: var(--font-size-small);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-140);
	letter-spacing: var(--letter-spacing-eyebrow);
	text-transform: uppercase;
	color: var(--brand-dourado) !important;
}
.et-db .et-l .custom-section.hero.simple-hero .et_pb_header_content_wrapper,
.et-db #et-boc .et-l .custom-section.hero.simple-hero .et_pb_header_content_wrapper {
	max-width: none;
	margin: 0;
}
/* Título: 1ª linha branca, o <strong> quebra para a 2ª linha em dourado */
.et-db .et-l .custom-section.hero.simple-hero .et_pb_header_content_wrapper h2,
.et-db #et-boc .et-l .custom-section.hero.simple-hero .et_pb_header_content_wrapper h2 {
	margin: 0 0 var(--space-50);
	padding: 0;
	font-family: var(--font-title);
	font-size: var(--font-size-h1);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-110);
	letter-spacing: var(--letter-spacing-display);
	color: var(--neutral-white);
	text-align: center;
}
.et-db .et-l .custom-section.hero.simple-hero .et_pb_header_content_wrapper h2 strong {
	display: block;
	font-weight: inherit;
	color: var(--brand-dourado);
}
/* Hero com botão (Figma 555:7171): sem texto, o h2 é o último item e a margem dele somava
   com a do botão (100) — o último item zera e fica só os 50 do botão */
.et-db .et-l .custom-section.hero.simple-hero .et_pb_header_content_wrapper > :last-child,
.et-db #et-boc .et-l .custom-section.hero.simple-hero .et_pb_header_content_wrapper > :last-child {
	margin-bottom: 0;
}
/* Texto na largura do Figma (750) e centralizado */
.et-db .et-l .custom-section.hero.simple-hero .et_pb_header_content_wrapper p,
.et-db #et-boc .et-l .custom-section.hero.simple-hero .et_pb_header_content_wrapper p {
	max-width: var(--hero-text-width);
	margin: 0 auto;
}
.et-db .et-l .custom-section.hero.simple-hero .et_pb_header_content_wrapper p a {
	color: var(--neutral-white);
	font-weight: var(--font-weight-bold);
	text-decoration: none;
	transition: color var(--ease);
}
.et-db .et-l .custom-section.hero.simple-hero .et_pb_header_content_wrapper p a:hover {
	color: var(--brand-dourado);
}
/* Botões (Figma 555:6148): 50 abaixo do texto, como os demais espaços do hero */
.et-db .et-l .custom-section.hero.simple-hero .et_pb_header_button_wrapper,
.et-db #et-boc .et-l .custom-section.hero.simple-hero .et_pb_header_button_wrapper {
	margin-top: var(--space-50);
}
.et-db .et-l .custom-section.hero.simple-hero .et_pb_header_button_wrapper:empty {
	display: none;
}
/* Abertura: eyebrow, título e texto sobem em sequência ao carregar (só com html.soul-reveal) */
html.soul-reveal .et-l .custom-section.hero.simple-hero .et_pb_module_header,
html.soul-reveal .et-l .custom-section.hero.simple-hero .et_pb_header_content_wrapper > * {
	animation: soul-reveal-up 1.1s var(--ease-out-expo) backwards;
}
html.soul-reveal .et-l .custom-section.hero.simple-hero .et_pb_header_content_wrapper > :nth-child(1) {
	animation-delay: 0.12s;
}
html.soul-reveal .et-l .custom-section.hero.simple-hero .et_pb_header_content_wrapper > :nth-child(2) {
	animation-delay: 0.24s;
}
html.soul-reveal .et-l .custom-section.hero.simple-hero .et_pb_header_button_wrapper {
	animation: soul-reveal-up 1.1s var(--ease-out-expo) 0.36s backwards;
}

/* Hero só texto (Figma 555:6614) — custom-section hero only-text-hero
   Fullwidth Header sem imagem: fundo cinza claro, alinhado à esquerda na largura do conteúdo.
   Título do módulo = eyebrow marrom · Conteúdo: <h2> 62 marrom com o <strong> em dourado na mesma linha */
.et-db .et-l .custom-section.hero.only-text-hero,
.et-db .et-l .custom-section.hero.only-text-hero .custom-content,
.et-db .et-l .custom-section.hero.only-text-hero .et_pb_column {
	min-height: 0;
	background-color: var(--light-gray);
}
.et-db .et-l .custom-section.hero.only-text-hero .et_pb_fullwidth_header,
.et-db #et-boc .et-l .custom-section.hero.only-text-hero .et_pb_fullwidth_header {
	min-height: 0;
	height: auto;
	padding: var(--space-100) 0;
	background-color: var(--light-gray);
	background-image: none;
}
.et-db .et-l .custom-section.hero.only-text-hero .et_pb_fullwidth_header_overlay {
	display: none;
}
.et-db .et-l .custom-section.hero.only-text-hero .et_pb_fullwidth_header_container,
.et-db #et-boc .et-l .custom-section.hero.only-text-hero .et_pb_fullwidth_header_container,
.et-db .et-l .custom-section.hero.only-text-hero .et_pb_fullwidth_header_container.left,
.et-db #et-boc .et-l .custom-section.hero.only-text-hero .et_pb_fullwidth_header_container.left {
	justify-content: flex-start;
	max-width: var(--content-width);
	padding: 0;
}
.et-db .et-l .custom-section.hero.only-text-hero .header-content-container,
.et-db .et-l .custom-section.hero.only-text-hero .header-content,
.et-db #et-boc .et-l .custom-section.hero.only-text-hero .header-content-container,
.et-db #et-boc .et-l .custom-section.hero.only-text-hero .header-content {
	align-items: flex-start;
	max-width: none;
	text-align: left;
}
/* Eyebrow (Título do módulo) */
.et-db .et-l .custom-section.hero.only-text-hero .et_pb_module_header,
.et-db #et-boc .et-l .custom-section.hero.only-text-hero .et_pb_module_header {
	margin-bottom: var(--space-20);
	font-family: var(--font-body);
	font-size: var(--font-size-small);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-140);
	letter-spacing: var(--letter-spacing-eyebrow);
	text-transform: uppercase;
	color: var(--brand-marrom) !important;
	text-align: left;
}
.et-db .et-l .custom-section.hero.only-text-hero .et_pb_header_content_wrapper,
.et-db #et-boc .et-l .custom-section.hero.only-text-hero .et_pb_header_content_wrapper {
	max-width: none;
	margin: 0;
}
.et-db .et-l .custom-section.hero.only-text-hero .et_pb_header_content_wrapper h2,
.et-db #et-boc .et-l .custom-section.hero.only-text-hero .et_pb_header_content_wrapper h2 {
	margin: 0;
	padding: 0;
	font-family: var(--font-title);
	font-size: var(--font-size-hero);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-110);
	letter-spacing: var(--letter-spacing-display);
	color: var(--brand-marrom) !important;
	text-align: left;
}
.et-db .et-l .custom-section.hero.only-text-hero .et_pb_header_content_wrapper h2 strong {
	font-weight: inherit;
	color: var(--brand-dourado);
}
/* Texto abaixo do título (Figma 555:6905): 16 concreto, à esquerda, até 1100; 20 do título e linha em branco entre parágrafos */
.et-db .et-l .custom-section.hero.only-text-hero .et_pb_header_content_wrapper p,
.et-db #et-boc .et-l .custom-section.hero.only-text-hero .et_pb_header_content_wrapper p {
	max-width: calc(var(--content-width) * 1100 / 1280);
	font-size: var(--font-size-base);
	line-height: var(--line-height-150);
	color: var(--concreto-500);
	text-align: left;
}
.et-db .et-l .custom-section.hero.only-text-hero .et_pb_header_content_wrapper h2 + p,
.et-db #et-boc .et-l .custom-section.hero.only-text-hero .et_pb_header_content_wrapper h2 + p {
	margin-top: var(--space-20);
}
.et-db .et-l .custom-section.hero.only-text-hero .et_pb_header_content_wrapper p + p,
.et-db #et-boc .et-l .custom-section.hero.only-text-hero .et_pb_header_content_wrapper p + p {
	margin-top: var(--space-25);
}
.et-db .et-l .custom-section.hero.only-text-hero .et_pb_header_button_wrapper:empty {
	display: none;
}
/* Abertura: eyebrow e título sobem em sequência ao carregar (só com html.soul-reveal) */
html.soul-reveal .et-l .custom-section.hero.only-text-hero .et_pb_module_header,
html.soul-reveal .et-l .custom-section.hero.only-text-hero .et_pb_header_content_wrapper > * {
	animation: soul-reveal-up 1.1s var(--ease-out-expo) backwards;
}
html.soul-reveal .et-l .custom-section.hero.only-text-hero .et_pb_header_content_wrapper > * {
	animation-delay: 0.12s;
}
/* Modificador hero-medium (Figma 555:6751) — CSS Class no Fullwidth Header: título em tamanho H2 para frases longas */
.et-db .et-l .custom-section.hero .et_pb_fullwidth_header.hero-medium .et_pb_header_content_wrapper h2,
.et-db #et-boc .et-l .custom-section.hero .et_pb_fullwidth_header.hero-medium .et_pb_header_content_wrapper h2 {
	font-size: var(--font-size-h2);
	line-height: var(--line-height-130);
	letter-spacing: var(--letter-spacing-h2);
}

/* Hero — seta de rolagem (Figma 555:5970)
   Fullwidth Header com CSS Class = scroll-hero → js/hero-scroll.js cria o botão abaixo do texto.
   A seta flutua de leve; hover dourado; clique rola até a próxima seção */
.et-db .et-l .custom-section.hero .scroll-hero .hero-scroll {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: var(--space-50) 0 0;
	padding: var(--space-10);
	border: 0;
	border-radius: var(--border-radius-10);
	background-color: transparent;
	color: var(--neutral-white);
	cursor: pointer;
	transition: color var(--ease), background-color var(--ease);
}
.et-db .et-l .custom-section.hero .scroll-hero .hero-scroll:hover {
	color: var(--brand-dourado);
	background-color: color-mix(in srgb, var(--neutral-white) 10%, transparent);
}
.et-db .et-l .custom-section.hero .scroll-hero .hero-scroll:focus-visible {
	outline: var(--border-width) solid var(--brand-dourado);
	outline-offset: var(--space-5);
}
.et-db .et-l .custom-section.hero .scroll-hero .hero-scroll-icon {
	display: block;
	width: var(--space-20);
	height: var(--space-20);
	background-color: currentColor;
	-webkit-mask: url("../assets/icons/iconArrowDown.svg") center / contain no-repeat;
	mask: url("../assets/icons/iconArrowDown.svg") center / contain no-repeat;
	animation: soul-hero-scroll-float 2.4s ease-in-out infinite;
}
html.soul-reveal .et-l .custom-section.hero .scroll-hero .hero-scroll {
	animation: soul-reveal-up 1.1s var(--ease-out-expo) 0.36s backwards;
}
@keyframes soul-hero-scroll-float {
	0%,
	100% {
		translate: 0 calc(var(--space-5) * -1);
	}
	50% {
		translate: 0 var(--space-5);
	}
}

@keyframes soul-hero-rise {
	from {
		opacity: 0;
		transform: translate3d(0, var(--hero-rise-y), 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}
@keyframes soul-hero-kenburns {
	from { transform: scale(1); }
	to { transform: scale(var(--hero-kenburns-scale)); }
}
@keyframes soul-hero-dot-progress {
	from { transform: scaleX(0); }
	to { transform: scaleX(1); }
}


/* -----------------------------------------------------------------------------
   Layout — two-columns (reutilizável)
   Seção: custom-section two-columns (+ about, etc.)
   Linha 1: custom-content content-eyebrow → .eyebrow
   Linha 2: custom-content (flex) → .title | .text + .simple-button
   Linhas com cards (custom-content cards) ficam de fora — usam a grade de cards.
   O :where() não soma especificidade (as seções que sobrescrevem continuam valendo)
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section.two-columns .et_flex_row.custom-content:where(:not(.cards)),
.et-db .et-l .custom-section.two-columns .custom-content.et_flex_row:where(:not(.cards)) {
	align-items: flex-start;
  gap: var(--space-100);
}
/* Espaço entre colunas via margin (não gap) — ::after do Divi não entra no cálculo */
.et-db .et-l .custom-section.two-columns .et_flex_row.custom-content:where(:not(.cards)) > .et_pb_column + .et_pb_column,
.et-db .et-l .custom-section.two-columns .custom-content.et_flex_row:where(:not(.cards)) > .et_pb_column + .et_pb_column {
  width: 100%;
}
.et-db .et-l .custom-section.two-columns .et_flex_row.custom-content:where(:not(.cards)) > .et_pb_column:first-child,
.et-db .et-l .custom-section.two-columns .custom-content.et_flex_row:where(:not(.cards)) > .et_pb_column:first-child {
	max-width: var(--layout-title-col);
}
.et-db .et-l .custom-section.two-columns .text p + p {
	margin-top: var(--space-25);
}
.et-db .et-l .custom-section.two-columns .et_pb_button_module_wrapper {
	margin: var(--space-30) 0 0;
	padding: 0;
}

/* Variação two-columns with-image (Figma 571:1320)
   Esq.: imagem 400 × 500 · Dir.: .title + .text — colunas centralizadas na vertical */
.et-db .et-l .custom-section.two-columns.with-image .custom-content.et_flex_row {
	align-items: center;
}
.et-db .et-l .custom-section.two-columns.with-image .custom-content.et_flex_row > .et_pb_column:first-child {
	flex: 0 0 calc(var(--layout-title-col) + var(--space-40));
	width: calc(var(--layout-title-col) + var(--space-40));
	max-width: none;
}
.et-db .et-l .custom-section.two-columns.with-image .custom-content.et_flex_row > .et_pb_column:last-child {
	flex: 1 1 0;
	min-width: 0;
}
.et-db .et-l .custom-section.two-columns.with-image .custom-content .title {
	margin-bottom: var(--space-30);
}
.et-db .et-l .custom-section.two-columns.with-image .custom-content .text p {
	padding-bottom: 0;
}
.et-db .et-l .custom-section.two-columns.with-image .et_pb_image {
	width: 100%;
	margin: 0;
}
.et-db .et-l .custom-section.two-columns.with-image .et_pb_image .et_pb_image_wrap {
	display: block;
	width: 100%;
	aspect-ratio: 400 / 500;
	border-radius: var(--border-radius-30);
	overflow: hidden;
}
.et-db .et-l .custom-section.two-columns.with-image .et_pb_image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/* -----------------------------------------------------------------------------
   Layout — custom-column (reutilizável)
   Coluna: CSS Class = custom-column → .title + .text + .simple-button empilhados
   A largura da coluna/texto é definida no Divi (não aqui).
   A seção Insights já usa esse ritmo mesmo sem a classe na coluna.
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section .custom-content .custom-column .title,
.et-db .et-l .custom-section.insights .custom-content .title {
	margin-bottom: var(--space-30);
}
/* Parágrafos separados por uma linha em branco; zera o padding padrão do Divi no <p> */
.et-db .et-l .custom-section .custom-content .custom-column .text p,
.et-db .et-l .custom-section.insights .custom-content .text p {
	padding-bottom: 0;
}
.et-db .et-l .custom-section .custom-content .custom-column .text p + p,
.et-db .et-l .custom-section.insights .custom-content .text p + p {
	margin-top: var(--space-25);
}
.et-db .et-l .custom-section .custom-content .custom-column .et_pb_button_module_wrapper,
.et-db .et-l .custom-section.insights .custom-content .et_pb_button_module_wrapper {
	margin: var(--space-30) 0 0;
	padding: 0;
}


/* -----------------------------------------------------------------------------
   Contato (Figma 323:1055) — custom-section contact two-columns
   Esq.: .title + .text · Dir.: módulo Código .custom-form → CF7 .soul-form
   (o card e os campos ficam no bloco "Formulário de contato — Contact Form 7")
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section.contact {
	background-color: var(--neutral-white);
}
/* Coluna de texto com 400px; o formulário ocupa o resto */
.et-db .et-l .custom-section.two-columns.contact .custom-content.et_flex_row > .et_pb_column:first-child {
	flex-shrink: 0;
	max-width: calc(var(--layout-title-col) + var(--space-40));
}
.et-db .et-l .custom-section.contact .custom-content .title {
	margin-bottom: var(--space-30);
}
.et-db .et-l .custom-section.contact .custom-content .custom-form {
	width: 100%;
	margin: 0;
}

/* Contato — introdução (Figma 555:7188) — custom-section text-contact two-columns
   Fundo cinza claro · Esq.: .title com 450 de 1280 · Dir.: .text ocupa o resto (100 de distância do two-columns) */
.et-db .et-l .custom-section.text-contact {
	background-color: var(--light-gray);
}
.et-db .et-l .custom-section.text-contact.two-columns .custom-content.et_flex_row > .et_pb_column:first-child {
	flex: 0 0 calc(100% * 450 / 1280);
	width: calc(100% * 450 / 1280);
	max-width: none;
}
.et-db .et-l .custom-section.text-contact.two-columns .custom-content.et_flex_row > .et_pb_column:last-child {
	flex: 1 1 0;
	width: auto;
	min-width: 0;
}
/* Parágrafos separados só pela linha em branco do two-columns (zera o padding do Divi no <p>) */
.et-db .et-l .custom-section.text-contact .custom-content .text p {
	padding-bottom: 0;
	color: var(--concreto-600);
}

/* Contato — formulário (Figma 555:7195) — custom-section content-contact one-columns (id form)
   Linha 1: .title centralizado · Linha 2: módulo Código .custom-form → CF7 .soul-form (720 de largura no Divi)
   Aqui o formulário fica solto na página: sem o card, rótulo 15 e campos com borda concreto */
.et-db .et-l .custom-section.content-contact {
	background-color: var(--neutral-white);
}
.et-db .et-l .custom-section.content-contact .custom-content + .custom-content {
	margin-top: var(--space-50);
}
/* Linha do formulário com 720 (de 1280), centralizada */
.et-db .et-l .custom-section.content-contact .custom-content:has(.custom-form) {
	max-width: calc(var(--content-width) * 720 / 1280);
}
.et-db .et-l .custom-section.content-contact .custom-content .custom-form {
	width: 100%;
	margin: 0;
}
.et-db .et-l .custom-section.content-contact .soul-form {
	padding: 0;
	border: none;
	border-radius: 0;
	background-color: transparent;
}
.et-db .et-l .custom-section.content-contact .soul-form .form-label {
	font-size: calc((var(--font-size-sm) + var(--font-size-base)) / 2);
}
.et-db .et-l .custom-section.content-contact .soul-form input.wpcf7-form-control:not(.wpcf7-submit),
.et-db .et-l .custom-section.content-contact .soul-form select.wpcf7-form-control,
.et-db .et-l .custom-section.content-contact .soul-form textarea.wpcf7-form-control {
	border-color: var(--concreto-100);
}
.et-db .et-l .custom-section.content-contact .soul-form input.wpcf7-form-control:not(.wpcf7-submit):focus,
.et-db .et-l .custom-section.content-contact .soul-form select.wpcf7-form-control:focus,
.et-db .et-l .custom-section.content-contact .soul-form textarea.wpcf7-form-control:focus {
	border-color: var(--brand-dourado);
}
.et-db .et-l .custom-section.content-contact .soul-form .wpcf7-not-valid {
	border-color: var(--alma-400);
}

/* -----------------------------------------------------------------------------
   Página 404 (Theme Builder) — custom-section content-error404
   Coluna: .title (<h1> "Ops!") + .text (<p><strong> título curto + <p> explicação) + botão custom-button
   O botão segue o "Conversar com a Soul": dourado com texto marrom; hover marrom com texto branco
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section.content-error404 .custom-content .title {
	margin-bottom: var(--space-30);
}
.et-db .et-l .custom-section.content-error404 .custom-content .title h1 {
	font-size: var(--font-size-hero);
	line-height: var(--line-height-110);
	letter-spacing: var(--letter-spacing-display);
	color: var(--brand-marrom);
}
.et-db .et-l .custom-section.content-error404 .custom-content .text p {
	padding-bottom: 0;
}
.et-db .et-l .custom-section.content-error404 .custom-content .text p + p {
	margin-top: var(--space-10);
}
.et-db .et-l .custom-section.content-error404 .custom-content .text strong {
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-semibold);
	color: var(--brand-marrom);
}
.et-db .et-l .custom-section.content-error404 .custom-content .et_pb_button_module_wrapper {
	margin: var(--space-30) 0 0;
	padding: 0;
}
.et-db .et-l .custom-section.content-error404 .custom-content a.et_pb_button.custom-button {
	border-color: var(--brand-dourado);
	background-color: var(--brand-dourado);
	font-size: var(--font-size-base);
	line-height: var(--line-height-150);
	color: var(--brand-marrom);
}
.et-db .et-l .custom-section.content-error404 .custom-content a.et_pb_button.custom-button:hover {
	border-color: var(--brand-marrom);
	background-color: var(--brand-marrom);
	color: var(--neutral-white);
	opacity: 1;
}
.et-db .et-l .custom-section.content-error404 .custom-content a.et_pb_button.custom-button:focus-visible {
	outline: var(--border-width-button) solid var(--brand-dourado);
	outline-offset: var(--border-width-button);
}

/* -----------------------------------------------------------------------------
   Texto corrido (políticas, termos…) — custom-section one-columns simple-text
   Coluna: blocos .title (<h2>) + .text, repetidos. No .text cada <p> abre com
   <strong>subtítulo</strong><br> e o texto logo abaixo.
   Ritmo: título → texto 30 · parágrafos 25 · fim de um bloco → próximo título 60
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section.simple-text .custom-content .title {
	margin: 0 0 var(--space-30);
}
.et-db .et-l .custom-section.simple-text .custom-content .text {
	margin: 0;
}
.et-db .et-l .custom-section.simple-text .custom-content .text + .title {
	margin-top: var(--space-60);
}
.et-db .et-l .custom-section.simple-text .custom-content .text p {
	padding-bottom: 0;
}
.et-db .et-l .custom-section.simple-text .custom-content .text p + p {
	margin-top: var(--space-25);
}
.et-db .et-l .custom-section.simple-text .custom-content .text strong {
	font-weight: var(--font-weight-semibold);
	color: var(--brand-marrom);
}
.et-db .et-l .custom-section.simple-text .custom-content .text a {
	font-weight: var(--font-weight-semibold);
	color: var(--brand-marrom);
	text-decoration: none;
	transition: color var(--ease);
}
.et-db .et-l .custom-section.simple-text .custom-content .text a strong {
	color: inherit;
}
.et-db .et-l .custom-section.simple-text .custom-content .text a:hover {
	color: var(--brand-dourado);
}


/* -----------------------------------------------------------------------------
   Quem somos (só o específico da seção)
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section.about {
	background-color: var(--neutral-white);
	overflow: visible;
}
/* Imagem panorâmica (Figma 555:6764) — custom-section promo-image
   Seção sem módulos: a foto é o fundo da seção no Divi. 650 de altura no frame de 1600 → proporção fixa */
.et-db .et-l .custom-section.promo-image {
	padding: 0;
	aspect-ratio: 1600 / 650;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}

/* Introdução (Figma 555:6757) — custom-section about two-columns
   Esq.: módulo Imagem arrow-down (seta num quadrado marrom) · Dir.: .text com 656 de 1280, encostado à direita */
.et-db .et-l .custom-section.about.two-columns .custom-content.et_flex_row > .et_pb_column:first-child {
	flex: 0 0 auto;
	width: auto;
}
.et-db .et-l .custom-section.about.two-columns .custom-content.et_flex_row > .et_pb_column:last-child {
	flex: 0 1 calc(100% * 656 / 1280);
	width: calc(100% * 656 / 1280);
	margin-left: auto;
}

/* -----------------------------------------------------------------------------
   Seta para baixo — módulo Imagem com CSS Class = arrow-down (link no módulo)
   Quadrado marrom com a seta branca; a <img> fica invisível e o ícone vem da máscara
   (assim a cor troca no hover: fundo dourado, seta marrom)
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section .custom-content .arrow-down {
	width: auto;
	margin: 0;
}
.et-db .et-l .custom-section .custom-content .arrow-down a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--space-10);
	border-radius: var(--border-radius-10);
	background-color: var(--brand-marrom);
	color: var(--neutral-white);
	transition: color var(--ease), background-color var(--ease);
}
.et-db .et-l .custom-section .custom-content .arrow-down a:hover {
	background-color: var(--brand-dourado);
	color: var(--brand-marrom);
}
.et-db .et-l .custom-section .custom-content .arrow-down a:focus-visible {
	outline: var(--border-width) solid var(--brand-dourado);
	outline-offset: var(--space-5);
}
.et-db .et-l .custom-section .custom-content .arrow-down .et_pb_image_wrap {
	display: block;
	width: var(--space-20);
	height: var(--space-20);
	background-color: currentColor;
	-webkit-mask: url("../assets/icons/iconArrowDown.svg") center / contain no-repeat;
	mask: url("../assets/icons/iconArrowDown.svg") center / contain no-repeat;
}
.et-db .et-l .custom-section .custom-content .arrow-down img {
	display: block;
	width: 100%;
	height: 100%;
	opacity: 0;
}


/* -----------------------------------------------------------------------------
   O que nos move (Figma 298:53)
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section.o-que-nos-move {
	background-color: var(--neutral-white);
  padding: 0;
}
.et-db .et-l .custom-section.o-que-nos-move .custom-content,
.et-db #et-boc .et-l .custom-section.o-que-nos-move .custom-content {
	position: relative;
	display: flex;
	align-items: center;
	isolation: isolate;
	width: 100%;
	border-radius: var(--border-radius-30);
	overflow: hidden;
	padding: var(--space-100);
	background-color: var(--brand-dourado);
	background-image: url("../assets/banner/cta-o-que-nos-move.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
/* Overlay dourado — mesmo layer do Figma (acima da foto) */
.et-db .et-l .custom-section.o-que-nos-move .custom-content:before,
.et-db #et-boc .et-l .custom-section.o-que-nos-move .custom-content:before {
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	z-index: 0;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: inherit;
	background-image: var(--gradient-o-que-nos-move);
	pointer-events: none;
}
.et-db .et-l .custom-section.o-que-nos-move .custom-content > .et_pb_column {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	max-width: 550px;
	width: 100%;
}
.et-db .et-l .custom-section.o-que-nos-move .title,
.et-db .et-l .custom-section.o-que-nos-move .title h2,
.et-db .et-l .custom-section.o-que-nos-move .title p,
.et-db .et-l .custom-section.o-que-nos-move .et_pb_text.title,
.et-db .et-l .custom-section.o-que-nos-move .et_pb_text.title h2,
.et-db .et-l .custom-section.o-que-nos-move .et_pb_text.title .et_pb_text_inner,
.et-db #et-boc .et-l .custom-section.o-que-nos-move .title,
.et-db #et-boc .et-l .custom-section.o-que-nos-move .title h2,
.et-db #et-boc .et-l .custom-section.o-que-nos-move .et_pb_text.title,
.et-db #et-boc .et-l .custom-section.o-que-nos-move .et_pb_text.title h2 {
	max-width: var(--layout-move-text);
	color: var(--light-gray);
}
.et-db .et-l .custom-section.o-que-nos-move .text,
.et-db .et-l .custom-section.o-que-nos-move .text p,
.et-db .et-l .custom-section.o-que-nos-move .et_pb_text.text,
.et-db .et-l .custom-section.o-que-nos-move .et_pb_text.text p,
.et-db .et-l .custom-section.o-que-nos-move .et_pb_text.text .et_pb_text_inner,
.et-db #et-boc .et-l .custom-section.o-que-nos-move .text,
.et-db #et-boc .et-l .custom-section.o-que-nos-move .text p,
.et-db #et-boc .et-l .custom-section.o-que-nos-move .et_pb_text.text,
.et-db #et-boc .et-l .custom-section.o-que-nos-move .et_pb_text.text p {
	max-width: var(--layout-move-text);
	color: var(--alma-50);
}
.et-db .et-l .custom-section.o-que-nos-move .title + .text,
.et-db .et-l .custom-section.o-que-nos-move .et_pb_text.title + .et_pb_text.text {
	margin-top: var(--space-20);
}
.et-db .et-l .custom-section.cultura {
	padding-top: 0;
}
.et-db .et-l .custom-section.cultura .title,
.et-db .et-l .custom-section.cultura .title h2,
.et-db .et-l .custom-section.cultura .title p,
.et-db .et-l .custom-section.cultura .text,
.et-db .et-l .custom-section.cultura .text p {
	text-align: center;
}
.et-db .et-l .custom-section.servicos {
	overflow: hidden;
}
.et-db .et-l .custom-section.equipe {
	padding-left: var(--space-80);
	padding-right: var(--space-80);
	background-image: linear-gradient(242.37deg, var(--brand-dourado) 17.4%, var(--alma-400) 102.78%);
	overflow: hidden;
}
.et-db .et-l .custom-section.equipe .title,
.et-db .et-l .custom-section.equipe .title h2,
.et-db .et-l .custom-section.equipe .title p,
.et-db .et-l .custom-section.home-team .title,
.et-db .et-l .custom-section.home-team .title h2,
.et-db .et-l .custom-section.home-team .title p {
	text-align: center;
	color: var(--neutral-white);
}
.et-db .et-l .custom-section.equipe .eyebrow,
.et-db .et-l .custom-section.equipe .eyebrow p,
.et-db .et-l .custom-section.home-team .eyebrow,
.et-db .et-l .custom-section.home-team .eyebrow p {
	text-align: center;
	color: var(--alma-50);
}

/* Lista da equipe (Figma 555:6670) — custom-section team-list
   Linha custom-content team (uma coluna com os blurbs card-team) → grade de 3 com 30 de gap.
   Card horizontal: foto quadrada de 160 à esquerda · nome + LinkedIn à direita */
.et-db .et-l .custom-section.team-list .custom-content.team > .et_pb_column {
	flex: 1 1 100%;
	width: 100%;
	max-width: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-30);
}
.et-db .et-l .custom-section.team-list .custom-content.team > .et_pb_column > * {
	margin: 0;
}
.et-db .et-l .custom-section.team-list .custom-content .card-team .et_pb_blurb_content {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: var(--space-30);
	text-align: left;
}
.et-db .et-l .custom-section.team-list .custom-content .card-team .et_pb_main_blurb_image {
	flex: 0 0 calc(var(--space-80) * 2);
	width: calc(var(--space-80) * 2);
}
.et-db .et-l .custom-section.team-list .custom-content .card-team .et_pb_main_blurb_image img {
	height: auto;
	aspect-ratio: 1;
}
.et-db .et-l .custom-section.team-list .custom-content .card-team .et_pb_blurb_container {
	flex: 1 1 0;
	min-width: 0;
}

/* Equipe da home (Figma 298:108) — custom-section home-team
   Fundo (banner dourado com o "+") vem do Divi · carrossel: linha custom-content team carousel */
.et-db .et-l .custom-section.home-team {
	--carousel-arrow-color: var(--neutral-white);
	overflow: hidden;
}
.et-db .et-l .custom-section.home-team .custom-content.content-eyebrow {
	margin-bottom: var(--space-15);
}
.et-db .et-l .custom-section.home-team .custom-content.carousel {
	margin-top: var(--space-50);
}
/* Equipe modelo 2 (linha custom-content team team-model2 carousel) — 4 cards por vez no desktop;
   com 4 pessoas cabe tudo e as setas somem (.is-static). :where() mantém a especificidade do
   carrossel padrão, então no responsivo seguem os 2 por vez (≤980) e 1 + pontinha (≤767) */
.et-db .et-l .custom-section .custom-content.carousel:where(.team-model2) {
	--carousel-per-view: 4;
}

/* Serviços da home (Figma 298:74) — custom-section our-services-home
   Linhas: content-eyebrow → título + texto → custom-content carousel full-width (blurbs card-service) */
.et-db .et-l .custom-section.our-services-home {
	overflow: hidden;
}
.et-db .et-l .custom-section.our-services-home .custom-content.content-eyebrow {
	margin-bottom: var(--space-20);
}
.et-db .et-l .custom-section.our-services-home .custom-content .title {
	margin-bottom: var(--space-20);
}
.et-db .et-l .custom-section.our-services-home .custom-content .text,
.et-db .et-l .custom-section.our-services-home .custom-content .text p {
	color: var(--concreto-400);
}
.et-db .et-l .custom-section.our-services-home .custom-content.carousel {
	--carousel-interval: 5s;
	margin-top: var(--space-50);
	gap: var(--space-55);
}

/* Serviços nas internas — "Veja também" (Figma 555:6109) — custom-section our-services
   Mesmo carrossel da home (carousel full-width + card-service), com título centralizado.
   js/our-services.js tira o card do serviço da página aberta (pelo link ou pelo título do card) */
.et-db .et-l .custom-section.our-services {
	overflow: hidden;
}
.et-db .et-l .custom-section.our-services .custom-content .title,
.et-db .et-l .custom-section.our-services .custom-content .title h2,
.et-db .et-l .custom-section.our-services .custom-content .title p {
	text-align: center;
}
.et-db .et-l .custom-section.our-services .custom-content.carousel {
	--carousel-interval: 5s;
	--carousel-gap: var(--space-30);
	margin-top: var(--space-50);
	gap: var(--space-55);
}

/* Soluções do serviço (Figma 555:6074) — custom-section our-solutions
   Título centralizado → linha carousel full-width model2 com blurbs card-image (foto + título + texto)
   Nossa abordagem (Figma 555:5995) — custom-section our-approach: mesmo layout, blurbs card-simple */
.et-db .et-l .custom-section.our-solutions,
.et-db .et-l .custom-section.our-approach {
	background-color: var(--light-gray);
	overflow: hidden;
}
.et-db .et-l .custom-section.our-solutions .custom-content .title,
.et-db .et-l .custom-section.our-solutions .custom-content .title h2,
.et-db .et-l .custom-section.our-solutions .custom-content .title p,
.et-db .et-l .custom-section.our-approach .custom-content .title,
.et-db .et-l .custom-section.our-approach .custom-content .title h2,
.et-db .et-l .custom-section.our-approach .custom-content .title p {
	text-align: center;
}
/* 50 do título até os cards = 25 de margem + 25 de folga da sombra (padding do model2) */
.et-db .et-l .custom-section.our-solutions .custom-content.carousel,
.et-db .et-l .custom-section.our-approach .custom-content.carousel {
	margin-top: var(--space-25);
	gap: var(--space-50);
}
/* Nossa abordagem — cards de 410 com 30 entre eles; card simples sem borda e título marrom */
.et-db .et-l .custom-section.our-approach .custom-content.carousel.full-width.model2 {
	--carousel-slide-width: min(calc(var(--content-width) * 410 / 1280), calc(100% - var(--space-40) * 2));
	--carousel-gap: var(--space-30);
}
.et-db .et-l .custom-section.our-approach .custom-content .card-simple {
	border-color: transparent;
}
.et-db .et-l .custom-section.our-approach .custom-content .card-simple:hover {
	border-color: var(--brand-dourado);
}
.et-db .et-l .custom-section.our-approach .custom-content .card-simple .et_pb_module_header,
.et-db .et-l .custom-section.our-approach .custom-content .card-simple .et_pb_module_header a {
	color: var(--brand-marrom);
	transition: color var(--ease);
}
.et-db .et-l .custom-section.our-approach .custom-content .card-simple:hover .et_pb_module_header,
.et-db .et-l .custom-section.our-approach .custom-content .card-simple:hover .et_pb_module_header a {
	color: var(--brand-dourado);
}

/* Cultura da home (Figma 564:8483) — custom-section our-culture-home
   Linhas: título + texto centralizados → custom-content cards (blurbs card-simple)
   Sem padding em cima: o respiro vem do fim da seção anterior (Serviços) */
.et-db .et-l .custom-section.our-culture-home {
	padding-top: 0;
	background-color: var(--neutral-white);
}
.et-db .et-l .custom-section.our-culture-home .custom-content .title {
	margin-bottom: var(--space-20);
}
/* Texto centralizado (a largura vem do Divi) */
.et-db .et-l .custom-section.our-culture-home .custom-content .text {
	margin-left: auto;
	margin-right: auto;
}
.et-db .et-l .custom-section.our-culture-home .custom-content.cards {
	margin-top: var(--space-50);
}

/* Por que a Soul (Figma 315:583) — custom-section why-soul two-columns
   Linhas: título | texto (two-columns) → custom-content cards (blurbs card-image, 2 por linha) */
.et-db .et-l .custom-section.why-soul {
	background-color: var(--neutral-white);
}
.et-db .et-l .custom-section.why-soul .custom-content.cards {
	--cards-per-row: 2;
	--cards-gap: var(--space-50);
	margin-top: var(--space-100);
}

/* Como fazemos (Figma 313:501) — custom-section how-to-we-do
   Linhas: content-eyebrow → título + texto → custom-content cards five-columns (blurbs card-icon) → divisor */
.et-db .et-l .custom-section.how-to-we-do {
	background-color: var(--neutral-white);
}
.et-db .et-l .custom-section.how-to-we-do .custom-content .title {
	margin-bottom: var(--space-30);
}
.et-db .et-l .custom-section.how-to-we-do .custom-content.cards {
	margin-top: var(--space-50);
}
/* Serviço — texto e imagem (Figma 555:5910) — custom-section row-service
   Linha: coluna de texto (eyebrow + título + texto + botão) | coluna da imagem (largura no Divi)
   + linha custom-content divisor no fim. No responsivo a imagem sobe para antes do texto */
.et-db .et-l .custom-section.row-service .custom-content:not(.divisor) {
	align-items: center;
	gap: var(--space-100);
}
.et-db .et-l .custom-section.row-service .custom-content:not(.divisor) > .et_pb_column:first-child {
	flex: 1 1 0;
	min-width: 0;
}
/* Coluna da imagem na proporção do Figma: 735 de 1280 (o texto fica com o resto, menos o gap) */
.et-db .et-l .custom-section.row-service .custom-content:not(.divisor) > .et_pb_column:last-child {
	flex: 0 0 calc(100% * 735 / 1280);
	width: calc(100% * 735 / 1280);
	max-width: none;
}
.et-db .et-l .custom-section.row-service .custom-content .eyebrow,
.et-db .et-l .custom-section.row-service .custom-content .title {
	margin-bottom: var(--space-30);
}
.et-db .et-l .custom-section.row-service .et_pb_button_module_wrapper {
	margin: var(--space-30) 0 0;
	padding: 0;
}
.et-db .et-l .custom-section.row-service .et_pb_image {
	width: 100%;
	margin: 0;
}
.et-db .et-l .custom-section.row-service .et_pb_image .et_pb_image_wrap {
	display: block;
	width: 100%;
	aspect-ratio: 735 / 500;
	border-radius: var(--border-radius-30);
	overflow: hidden;
}
.et-db .et-l .custom-section.row-service .et_pb_image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Texto e imagem (Figma 555:5988) — custom-section image-text
   Linha: coluna de texto (.text com vários parágrafos) | coluna da imagem — metades iguais, gap 100 */
.et-db .et-l .custom-section.image-text .custom-content {
	align-items: center;
	gap: var(--space-100);
}
.et-db .et-l .custom-section.image-text .custom-content > .et_pb_column {
	flex: 1 1 0;
	min-width: 0;
	max-width: none;
}
/* Linha em branco entre parágrafos, como no Figma */
.et-db .et-l .custom-section.image-text .custom-content .text p:not(:last-child) {
	margin-bottom: var(--space-25);
}
.et-db .et-l .custom-section.image-text .et_pb_image {
	width: 100%;
	margin: 0;
}
.et-db .et-l .custom-section.image-text .et_pb_image .et_pb_image_wrap {
	display: block;
	width: 100%;
	aspect-ratio: 590 / 400;
	border-radius: var(--border-radius-30);
	overflow: hidden;
}
.et-db .et-l .custom-section.image-text .et_pb_image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Resultados esperados (Figma 555:5905) — custom-section expected-result
   Faixa dourada: textura de fundo vem do Divi · título (H1 48) + texto (18) brancos, centralizados */
.et-db .et-l .custom-section.expected-result::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
	background-color: var(--brand-dourado);
  opacity: 0.8;
}
.et-db .et-l .custom-section.expected-result .custom-content .title,
.et-db .et-l .custom-section.expected-result .custom-content .title h2,
.et-db .et-l .custom-section.expected-result .custom-content .title p {
	font-size: var(--font-size-h1);
	line-height: var(--line-height-110);
	letter-spacing: var(--letter-spacing-display);
	color: var(--neutral-white);
	text-align: center;
}
.et-db .et-l .custom-section.expected-result .custom-content .title {
	margin-bottom: var(--space-30);
}
.et-db .et-l .custom-section.expected-result .custom-content .text,
.et-db .et-l .custom-section.expected-result .custom-content .text p {
	font-size: var(--font-size-body);
	color: var(--neutral-white);
	text-align: center;
}
.et-db .et-l .custom-section.expected-result .custom-content .text {
	margin-left: auto;
	margin-right: auto;
}

/* CTA de contato (Figma 555:5962) — custom-section cta-contact-us
   Foto de fundo vem do Divi; o véu marrom a 90% deixa a foto com 10% como no Figma.
   Título + texto brancos centralizados + custom-button yellow */
.et-db .et-l .custom-section.cta-contact-us {
	position: relative;
	isolation: isolate;
	background-color: var(--concreto-600);
}
.et-db .et-l .custom-section.cta-contact-us:before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background-color: color-mix(in srgb, var(--concreto-600) 90%, transparent);
	pointer-events: none;
}
.et-db .et-l .custom-section.cta-contact-us .custom-content {
	position: relative;
	z-index: 1;
}
.et-db .et-l .custom-section.cta-contact-us .custom-content .title,
.et-db .et-l .custom-section.cta-contact-us .custom-content .title h2,
.et-db .et-l .custom-section.cta-contact-us .custom-content .title p {
	color: var(--neutral-white);
	text-align: center;
}
.et-db .et-l .custom-section.cta-contact-us .custom-content .title {
	margin-right: auto;
	margin-bottom: var(--space-25);
	margin-left: auto;
}
.et-db .et-l .custom-section.cta-contact-us .custom-content .text,
.et-db .et-l .custom-section.cta-contact-us .custom-content .text p {
	font-size: var(--font-size-body);
	color: var(--neutral-white);
	text-align: center;
}
.et-db .et-l .custom-section.cta-contact-us .custom-content .text {
	margin-right: auto;
	margin-left: auto;
}
.et-db .et-l .custom-section.cta-contact-us .et_pb_button_module_wrapper {
	margin: var(--space-25) 0 0;
	padding: 0;
	text-align: center;
}


/* -----------------------------------------------------------------------------
   Soul Mask — nome da empresa com textura em parallax (Figma 298:161)
   Seção: custom-section soul-mask · Módulo Imagem: .mask (SVG do nome)
   O <img> fica invisível (mantém proporção e alt); a textura aparece
   recortada pela máscara. js/soul-mask.js desenha a textura viva em WebGL
   (flui sozinha + gira no mouseover); sem WebGL fica o fundo CSS com parallax.
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section.soul-mask {
	padding: var(--space-50) 0;
	overflow: hidden;
}
.et-db .et-l .custom-section.soul-mask .mask {
	width: 100%;
	max-width: none;
	margin: 0;
}
.et-db .et-l .custom-section.soul-mask .mask .et_pb_image_wrap {
	position: relative;
	display: block;
	width: 100%;
	background-image: url("../assets/mask/soul-consulting-mask.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center calc(var(--mask-progress, 0.5) * 100%);
	/* --mask-src vem do JS (a imagem escolhida no módulo); o SVG do tema é só o reserva sem JS */
	-webkit-mask: var(--mask-src, url("../assets/mask/soul-consulting-mask.svg")) center / 100% 100% no-repeat;
	mask: var(--mask-src, url("../assets/mask/soul-consulting-mask.svg")) center / 100% 100% no-repeat;
}
.et-db .et-l .custom-section.soul-mask .mask img {
	display: block;
	width: 100%;
	height: auto;
	opacity: 0;
}
/* WebGL ativo — o canvas substitui o fundo CSS (a máscara do wrap recorta o canvas) */
.et-db .et-l .custom-section.soul-mask .mask .et_pb_image_wrap.is-webgl {
	background-image: none;
}
.et-db .et-l .custom-section.soul-mask .soul-mask-canvas {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	pointer-events: none;
}


/* -----------------------------------------------------------------------------
   Rodapé (Figma 371:1448)
   Seção: custom-section footer
   Linha 1: custom-content (5 colunas) · Linha 2: custom-content copy
   Módulos: .subtitle (Texto) · .footer-menu (Menu) · Social Follow · .footer-contanct (Blurb)
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section.footer {
	padding: var(--space-100) var(--space-80) var(--space-60);
	background-color: var(--light-gray);
}

/* Linha principal — colunas lado a lado com gap (substitui float + gutter do Divi) */
.et-db .et-l .custom-section.footer .custom-content:not(.copy) {
	display: flex;
	align-items: flex-start;
	gap: var(--space-80);
	padding: 0;
}
/* Clearfix do Divi viraria item flex e ocuparia um gap */
.et-db .et-l .custom-section.footer .custom-content:not(.copy):before,
.et-db .et-l .custom-section.footer .custom-content:not(.copy):after {
	content: none;
	display: none;
}
.et-db .et-l .custom-section.footer .custom-content:not(.copy) > .et_pb_column {
	float: none;
	flex: 0 0 auto;
	width: auto;
	margin: 0;
}
/* Coluna de contato ocupa o restante */
.et-db .et-l .custom-section.footer .custom-content:not(.copy) > .et_pb_column:last-child {
	flex: 1 1 0;
	min-width: 0;
}
.et-db .et-l .custom-section.footer .et_pb_column > .et_pb_module {
	margin-bottom: var(--space-10);
}
.et-db .et-l .custom-section.footer .et_pb_column > .et_pb_module:last-child {
	margin-bottom: 0;
}

/* Logo */
.et-db .et-l .custom-section.footer .et_pb_image img {
	display: block;
	width: auto;
	height: 80px;
}

/* Título de coluna (MENU, NOSSOS SERVIÇOS…) */
.et-db .et-l .custom-section.footer .subtitle,
.et-db .et-l .custom-section.footer .subtitle h3,
.et-db .et-l .custom-section.footer .subtitle p {
	padding: 0;
	font-family: var(--font-body);
	font-size: var(--font-size-small);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-140);
	letter-spacing: var(--letter-spacing-none);
	color: var(--brand-marrom);
}

/* Menus — lista vertical (Divi entrega em linha, com padding/margem próprios) */
.et-db .et-l .custom-section.footer .footer-menu,
.et-db .et-l .custom-section.footer .footer-menu .et_pb_menu_inner_container,
.et-db .et-l .custom-section.footer .footer-menu .et_pb_menu__wrap {
	justify-content: flex-start;
	background-color: transparent;
}
.et-db .et-l .custom-section.footer .footer-menu .et-menu {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-10);
	margin: 0;
	padding: 0;
}
.et-db .et-l .custom-section.footer .footer-menu .et-menu > li {
	margin: 0;
	padding: 0;
	line-height: var(--line-height-140);
}
.et-db .et-l .custom-section.footer .footer-menu .et-menu > li > a {
	padding: 0;
	font-family: var(--font-body);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-140);
	color: var(--concreto-400);
	opacity: 1;
	transition: color var(--ease);
}
.et-db .et-l .custom-section.footer .footer-menu .et-menu > li > a:hover {
	color: var(--brand-dourado);
	opacity: 1;
}

/* Redes sociais — bolha marrom com ícone Figma (substitui o glifo ETmodules) */
.et-db .et-l .custom-section.footer .et_pb_social_media_follow {
	display: flex;
	gap: var(--space-5);
	margin: 0;
	padding: 0;
}
.et-db .et-l .custom-section.footer .et_pb_social_media_follow li {
	margin: 0;
}
.et-db .et-l .custom-section.footer .et_pb_social_media_follow li a.icon {
	position: relative;
	display: block;
	width: calc(var(--size-icon-xs) + var(--space-10) * 2);
	height: calc(var(--size-icon-xs) + var(--space-10) * 2);
	border-radius: var(--border-radius-full);
	/* !important: o Divi grava a cor de cada rede com !important no CSS gerado do módulo */
	background-color: var(--brand-marrom) !important;
	color: var(--neutral-white);
	transition: background-color var(--ease), color var(--ease);
}
.et-db .et-l .custom-section.footer .et_pb_social_media_follow li a.icon:before {
	content: "";
	position: absolute;
	inset: 0;
	width: var(--size-icon-xs);
	height: var(--size-icon-xs);
	margin: auto;
	background-color: currentColor;
	-webkit-mask: url("../assets/social-instagram.svg") center / contain no-repeat;
	mask: url("../assets/social-instagram.svg") center / contain no-repeat;
	transition: none;
}
.et-db .et-l .custom-section.footer .et_pb_social_media_follow li.et-social-linkedin a.icon:before {
	width: var(--space-15);
	height: var(--space-15);
	-webkit-mask-image: url("../assets/social-linkedin.svg");
	mask-image: url("../assets/social-linkedin.svg");
}
.et-db .et-l .custom-section.footer .et_pb_social_media_follow li a.icon:hover {
	background-color: var(--brand-dourado) !important;
	color: var(--brand-marrom);
}

/* Contato — blurbs (título bold + descrição) */
.et-db .et-l .custom-section.footer .footer-contanct .et_pb_module_header {
	padding: 0;
	font-family: var(--font-body);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-140);
	color: var(--concreto-400);
}
.et-db .et-l .custom-section.footer .footer-contanct .et_pb_blurb_description,
.et-db .et-l .custom-section.footer .footer-contanct .et_pb_blurb_description p {
	padding: 0;
	font-family: var(--font-body);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-140);
	color: var(--concreto-400);
	transition: color var(--ease);
}
.et-db .et-l .custom-section.footer .footer-contanct.et_clickable:hover .et_pb_blurb_description p {
	color: var(--brand-dourado);
}

/* Copyright — divisor na largura total + texto caption */
.et-db .et-l .custom-section.footer .custom-content.copy {
	max-width: none;
	margin-top: var(--space-50);
	padding: var(--space-50) 0 0;
	border-top: var(--border-width) solid color-mix(in srgb, var(--concreto-100) 20%, transparent);
}
.et-db .et-l .custom-section.footer .copy .et_pb_text,
.et-db .et-l .custom-section.footer .copy p {
	padding: 0;
	font-family: var(--font-body);
	font-size: var(--font-size-small);
	font-weight: var(--font-weight-medium);
	line-height: var(--line-height-140);
	color: var(--concreto-200);
}


/* -----------------------------------------------------------------------------
   Formulário de contato — Contact Form 7 (Figma 326:1075)
   Markup em cf7/form-contato.html · wrapper .soul-form
   Linhas: .form-row (1 ou 2 campos) · Campo: .form-field > .form-label + controle
   Select de serviço depende do perfil — js/contact-form.js
   ----------------------------------------------------------------------------- */
/* Card branco com borda */
.et-db .et-l .custom-section .soul-form {
	display: flex;
	flex-direction: column;
	gap: var(--space-25);
	padding: var(--space-50);
	border: var(--border-width) solid var(--light-gray);
	border-radius: var(--border-radius-30);
	background-color: var(--neutral-white);
}
.et-db .et-l .custom-section .soul-form .form-row {
	display: flex;
	gap: var(--space-25);
	width: 100%;
}
.et-db .et-l .custom-section .soul-form .form-field {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	gap: var(--space-10);
	min-width: 0;
}
.et-db .et-l .custom-section .soul-form .form-label {
	margin: 0;
	padding: 0;
	font-family: var(--font-body);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-semibold);
	line-height: var(--line-height-100);
	color: var(--brand-marrom);
}
.et-db .et-l .custom-section .soul-form .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

/* Campos — input, select e textarea */
.et-db .et-l .custom-section .soul-form input.wpcf7-form-control:not(.wpcf7-submit),
.et-db .et-l .custom-section .soul-form select.wpcf7-form-control,
.et-db .et-l .custom-section .soul-form textarea.wpcf7-form-control {
	display: block;
	width: 100%;
	height: var(--space-55);
	margin: 0;
	padding: var(--space-10) var(--space-15);
	border: var(--border-width) solid var(--light-gray);
	border-radius: var(--border-radius-10);
	background-color: var(--neutral-white);
	box-shadow: none;
	font-family: var(--font-body);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-150);
	color: var(--brand-marrom);
	outline: none;
	transition: border-color var(--ease), opacity var(--ease);
}
.et-db .et-l .custom-section .soul-form textarea.wpcf7-form-control {
	height: calc(var(--size-textarea-h) + var(--space-30));
	resize: none;
}

/* Select — seta própria; placeholder (valor vazio) em cinza via .is-empty do JS */
.et-db .et-l .custom-section .soul-form select.wpcf7-form-control {
	height: var(--space-60);
	padding-right: calc(var(--space-15) + var(--size-icon-sm) + var(--space-10));
	background-image: url("../assets/icons/iconCaretDown.svg");
	background-repeat: no-repeat;
	background-position: right var(--space-15) center;
	background-size: var(--size-icon-sm);
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}
.et-db .et-l .custom-section .soul-form select.wpcf7-form-control.is-empty {
	color: var(--concreto-200);
}
/* "Como podemos apoiar?" travado até escolher o perfil */
.et-db .et-l .custom-section .soul-form select.wpcf7-form-control:disabled {
	color: var(--concreto-500);
	opacity: 0.45;
	cursor: not-allowed;
}
.et-db .et-l .custom-section .soul-form .wpcf7-form-control::placeholder {
	color: var(--concreto-200);
	opacity: 1;
}
.et-db .et-l .custom-section .soul-form input.wpcf7-form-control:not(.wpcf7-submit):focus,
.et-db .et-l .custom-section .soul-form select.wpcf7-form-control:focus,
.et-db .et-l .custom-section .soul-form textarea.wpcf7-form-control:focus {
	border-color: var(--brand-dourado);
}
.et-db .et-l .custom-section .soul-form .wpcf7-not-valid {
	border-color: var(--alma-400);
}
/* Erro do campo — tooltip preso à borda inferior direita do campo */
.et-db .et-l .custom-section .soul-form .wpcf7-form-control-wrap {
	position: relative;
}
.et-db .et-l .custom-section .soul-form .wpcf7-not-valid-tip {
	position: absolute;
	top: calc(100% - var(--space-10));
	right: var(--space-15);
	z-index: 2;
	max-width: calc(100% - var(--space-30));
	padding: var(--space-5) var(--space-10);
	border-radius: var(--border-radius-5);
	background-color: var(--alma-400);
	box-shadow: var(--shadow-sm);
	font-family: var(--font-body);
	font-size: var(--font-size-small);
	font-weight: var(--font-weight-semibold);
	line-height: var(--line-height-140);
	color: var(--brand-marrom);
	animation: soul-tooltip-in var(--ease) both;
}
/* Seta apontando para o campo */
.et-db .et-l .custom-section .soul-form .wpcf7-not-valid-tip:before {
	content: "";
	position: absolute;
	right: var(--space-15);
	bottom: 100%;
	width: var(--space-10);
	height: var(--space-10);
	background-color: inherit;
	transform: translateY(50%) rotate(45deg);
	z-index: -1;
}

/* Botão — Conversar com a Soul (largura total) */
.et-db .et-l .custom-section .soul-form .form-actions {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
}
.et-db .et-l .custom-section .soul-form .wpcf7-submit.soul-submit {
	flex: 1 1 auto;
	margin: 0;
	padding: var(--space-15) var(--space-30);
	border: none;
	border-radius: var(--border-radius-full);
	background-color: var(--brand-dourado);
	box-shadow: var(--shadow-sm);
	font-family: var(--font-body);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-150);
	color: var(--brand-marrom);
	cursor: pointer;
	transition: background-color var(--ease), color var(--ease), opacity var(--ease);
}
.et-db .et-l .custom-section .soul-form .wpcf7-submit.soul-submit:hover {
	background-color: var(--brand-marrom);
	color: var(--neutral-white);
}
/* Enviando — o texto some e o spinner entra no lugar (CF7 põe .submitting no form) */
.et-db .et-l .custom-section .wpcf7-form.submitting .soul-form .wpcf7-submit.soul-submit,
.et-db .et-l .custom-section .wpcf7-form.submitting .soul-form .wpcf7-submit.soul-submit:hover {
	background-color: var(--brand-dourado);
	color: transparent;
	cursor: wait;
	pointer-events: none;
}
/* Spinner do CF7 redesenhado como anel, centralizado no botão (visível só durante o envio) */
.et-db .et-l .custom-section .soul-form .wpcf7-spinner {
	position: absolute;
	top: 50%;
	left: 50%;
	width: var(--size-icon-sm);
	height: var(--size-icon-sm);
	margin: calc(var(--size-icon-sm) / -2) 0 0 calc(var(--size-icon-sm) / -2);
	padding: 0;
	border: calc(var(--border-width) * 2) solid color-mix(in srgb, var(--brand-marrom) 25%, transparent);
	border-top-color: var(--brand-marrom);
	border-radius: var(--border-radius-full);
	background: none;
	opacity: 1;
	pointer-events: none;
	animation: soul-spin 0.8s linear infinite;
}
.et-db .et-l .custom-section .soul-form .wpcf7-spinner:before {
	display: none;
}

/* Retorno do envio — tooltip abaixo do botão (acima dele ficam os erros do campo de mensagem)
   (o JS move o .wpcf7-response-output para dentro do .form-actions e o esconde após alguns segundos) */
.et-db .et-l .custom-section .soul-form .wpcf7-response-output {
	position: absolute;
	top: calc(100% + var(--space-15));
	left: 50%;
	z-index: 3;
	display: none;
	align-items: center;
	gap: var(--space-10);
	width: max-content;
	max-width: 100%;
	margin: 0;
	padding: var(--space-10) var(--space-20);
	border: none;
	border-radius: var(--border-radius-10);
	background-color: var(--brand-marrom);
	box-shadow: var(--shadow-card);
	font-family: var(--font-body);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-medium);
	line-height: var(--line-height-140);
	color: var(--neutral-white);
	cursor: pointer;
	transform: translateX(-50%);
	animation: soul-tooltip-in var(--ease) both;
}
.et-db .et-l .custom-section .wpcf7-form.sent .soul-form .wpcf7-response-output:not(:empty),
.et-db .et-l .custom-section .wpcf7-form.invalid .soul-form .wpcf7-response-output:not(:empty),
.et-db .et-l .custom-section .wpcf7-form.unaccepted .soul-form .wpcf7-response-output:not(:empty),
.et-db .et-l .custom-section .wpcf7-form.spam .soul-form .wpcf7-response-output:not(:empty),
.et-db .et-l .custom-section .wpcf7-form.aborted .soul-form .wpcf7-response-output:not(:empty),
.et-db .et-l .custom-section .wpcf7-form.failed .soul-form .wpcf7-response-output:not(:empty) {
	display: flex;
}
.et-db .et-l .custom-section .soul-form .wpcf7-response-output.is-dismissed {
	animation: soul-tooltip-out var(--ease) both;
	pointer-events: none;
}
/* Ícone (icon-check.svg no sucesso · ! no erro) */
.et-db .et-l .custom-section .soul-form .wpcf7-response-output:before {
	content: "";
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: var(--size-icon-xs);
	height: var(--size-icon-xs);
	border-radius: var(--border-radius-full);
	background: var(--brand-dourado) url("../assets/icons/iconCheck.svg") center / var(--space-15) no-repeat;
	font-size: var(--font-size-small);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-100);
	color: var(--brand-marrom);
}
/* Seta apontando para o botão */
.et-db .et-l .custom-section .soul-form .wpcf7-response-output:after {
	content: "";
	position: absolute;
	bottom: 100%;
	left: 50%;
	width: var(--space-10);
	height: var(--space-10);
	background-color: inherit;
	transform: translate(-50%, 50%) rotate(45deg);
	z-index: -1;
}
/* Erro — laranja da paleta com texto marrom */
.et-db .et-l .custom-section .wpcf7-form:not(.sent) .soul-form .wpcf7-response-output {
	background-color: var(--alma-400);
	color: var(--brand-marrom);
}
.et-db .et-l .custom-section .wpcf7-form:not(.sent) .soul-form .wpcf7-response-output:before {
	content: "!";
	background-color: var(--brand-marrom);
	background-image: none;
	color: var(--alma-400);
}

@keyframes soul-spin {
	to { transform: rotate(360deg); }
}
@keyframes soul-tooltip-in {
	from { opacity: 0; translate: 0 calc(var(--space-5) * -1); }
	to { opacity: 1; translate: 0 0; }
}
@keyframes soul-tooltip-out {
	from { opacity: 1; translate: 0 0; visibility: visible; }
	to { opacity: 0; translate: 0 calc(var(--space-5) * -1); visibility: hidden; }
}


/* -----------------------------------------------------------------------------
   Divisor / LinkedIn
   ----------------------------------------------------------------------------- */
.et-db .et-l .custom-section .custom-content .custom-divider {
	width: 100%;
	height: var(--border-width);
	background-color: var(--concreto-100);
	opacity: 0.35;
	border: none;
	margin: 0;
}
/* Módulo Divisor do Divi com CSS Class = divisor (cor da linha vem do Divi)
   No fim da seção: o respiro da seção fica acima da linha e abaixo dela entra
   só o padding da próxima seção — mesmo espaço dos dois lados */
.et-db .et-l .custom-section .custom-content .divisor {
	height: var(--border-width);
	margin: var(--space-100) 0 0;
	padding: 0;
}
.et-db .et-l .custom-section .custom-content .divisor:before {
	top: 0;
}
.et-db .et-l .custom-section:has(> .et_pb_row:last-child .divisor:last-child) {
	padding-bottom: 0;
}
.et-db .et-l .custom-section .custom-content .icon-linkedin img {
	width: var(--size-icon-sm);
	height: var(--size-icon-sm);
	display: block;
}
/* Link do LinkedIn — ícone automático
   Qualquer link para linkedin.com no Texto ou no Corpo do Blurb vira o ícone dourado;
   o texto do link continua como nome acessível. Fora: botões, links com imagem e o
   Social Media Follow do rodapé (tem máscara própria) */
.et-db .et-l .custom-section .custom-content :is(.et_pb_text, .et_pb_blurb_description) a[href*="linkedin.com"]:not(.et_pb_button):not(:has(img)) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--size-icon-sm);
	height: var(--size-icon-sm);
	vertical-align: middle;
	font-size: 0;
	color: transparent;
	text-decoration: none;
}
.et-db .et-l .custom-section .custom-content :is(.et_pb_text, .et_pb_blurb_description) a[href*="linkedin.com"]:not(.et_pb_button):not(:has(img)):before {
	content: "";
	width: var(--size-icon-sm);
	height: var(--size-icon-sm);
	background-color: var(--brand-dourado);
	-webkit-mask: url("../assets/icons/icon-linkedin.svg") center / contain no-repeat;
	mask: url("../assets/icons/icon-linkedin.svg") center / contain no-repeat;
	transition: background-color var(--ease);
}
.et-db .et-l .custom-section .custom-content :is(.et_pb_text, .et_pb_blurb_description) a[href*="linkedin.com"]:not(.et_pb_button):not(:has(img)):hover:before {
	background-color: var(--brand-marrom);
}
.et-db .et-l .custom-section .custom-content :is(.et_pb_text, .et_pb_blurb_description) a[href*="linkedin.com"]:not(.et_pb_button):not(:has(img)):focus-visible {
	outline: var(--border-width-button) solid var(--brand-dourado);
	outline-offset: var(--border-width-button);
}


/* -----------------------------------------------------------------------------
   Animações de entrada — js/reveal.js (uma vez por carregamento, site inteiro, sem classe)
   Todo módulo do Divi solto nas colunas (e a linha inteira dos carrosséis) começa invisível
   e surge subindo quando entra na tela; quem entra junto vem em sequência (--reveal-delay).
   Fotos dos cards assentam com um zoom leve e o divisor se desenha da esquerda.
   De fora: header/rodapé do Theme Builder e seções .header, .hero e .footer.
   Só vale com html.soul-reveal (posto no <head>): sem JS, no editor do Divi ou com
   prefers-reduced-motion, tudo aparece normal.
   A animação usa fill "backwards": ao terminar, o elemento volta aos próprios estilos
   (não trava translate/scale dos hovers).
   ----------------------------------------------------------------------------- */
html.soul-reveal .et-l:not(.et-l--header):not(.et-l--footer) .et_pb_section:not(.header):not(.hero):not(.footer) .et_pb_row:not(.carousel) > .et_pb_column > .et_pb_module:not(.is-revealed),
html.soul-reveal .et-l:not(.et-l--header):not(.et-l--footer) .et_pb_section:not(.header):not(.hero):not(.footer) .et_pb_row.carousel:not(.is-revealed),
html.soul-reveal .et-l:not(.et-l--header):not(.et-l--footer) .et_pb_fullwidth_section:not(.header):not(.hero):not(.footer) > .et_pb_module:not(.is-revealed) {
	opacity: 0;
}
html.soul-reveal .et-l :is(.et_pb_module, .et_pb_row).is-revealed {
	animation: soul-reveal-up 1.1s var(--ease-out-expo) var(--reveal-delay, 0ms) backwards;
}
/* Fotos dos cards (as molduras já cortam o excesso) */
html.soul-reveal .et-l .is-revealed:is(.card-team, .card-image, .card-service) .et_pb_main_blurb_image img,
html.soul-reveal .et-l .et_pb_row.carousel.is-revealed .et_pb_main_blurb_image img {
	animation: soul-reveal-zoom 1.8s var(--ease-out-expo) var(--reveal-delay, 0ms) backwards;
}
/* Divisor: a linha cresce da esquerda para a direita */
html.soul-reveal .et-l .divisor.is-revealed:before {
	transform-origin: left center;
	animation: soul-reveal-line 1.6s var(--ease-out-expo) var(--reveal-delay, 0ms) backwards;
}
@keyframes soul-reveal-up {
	from {
		opacity: 0;
		translate: 0 var(--space-40);
	}
	to {
		opacity: 1;
		translate: 0 0;
	}
}
@keyframes soul-reveal-zoom {
	from { scale: 1.12; }
	to { scale: 1; }
}
@keyframes soul-reveal-line {
	from { scale: 0 1; }
	to { scale: 1 1; }
}


/* =============================================================================
   RESPONSIVO — sempre no final, por breakpoint
   ============================================================================= */

/* —— ≤1279px —— */
@media (max-width: 1279px) {
	/* Grade de 5 (card-icon) — espaços menores para os rótulos caberem */
	.et-db .et-l .custom-section .custom-content.cards.five-columns {
		--cards-gap: var(--space-30);
	}
	.et-db .et-l .custom-section .custom-content .card-icon {
		padding-right: var(--space-30);
	}
	.et-db .et-l .custom-section:not(.hero) .custom-content {
		max-width: var(--content-width-narrow);
	}
	/* Lista da equipe — 2 por linha para o nome caber ao lado da foto */
	.et-db .et-l .custom-section.team-list .custom-content.team > .et_pb_column {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	/* Equipe modelo 2 — 4 cards ainda na web (981–1279): card, foto e nome mais compactos.
	   :where() mantém a especificidade do card-team padrão; o ≤980 devolve os tamanhos de sempre */
	.et-db .et-l .custom-section .custom-content:where(.team-model2) .card-team {
		padding: var(--space-25);
	}
	.et-db .et-l .custom-section .custom-content:where(.team-model2) .card-team .et_pb_main_blurb_image img {
		height: calc(var(--size-card-img-team) * 0.8);
	}
	.et-db .et-l .custom-section .custom-content:where(.team-model2) .card-team .et_pb_module_header,
	.et-db .et-l .custom-section .custom-content:where(.team-model2) .card-team .et_pb_module_header a {
		font-size: var(--font-size-h4);
	}
	/* Hero só texto — acompanha a largura (95%) das outras seções */
	.et-db .et-l .custom-section.hero.only-text-hero .et_pb_fullwidth_header_container,
	.et-db #et-boc .et-l .custom-section.hero.only-text-hero .et_pb_fullwidth_header_container,
	.et-db .et-l .custom-section.hero.only-text-hero .et_pb_fullwidth_header_container.left,
	.et-db #et-boc .et-l .custom-section.hero.only-text-hero .et_pb_fullwidth_header_container.left {
		max-width: var(--content-width-narrow);
	}

	/* Rodapé — a largura passa a vir do custom-content (95%) */
	.et-db .et-l .custom-section.footer {
		padding-left: 0;
		padding-right: 0;
	}
	.et-db .et-l .custom-section.footer .custom-content.copy {
		max-width: var(--content-width-narrow);
	}
}

/* —— ≤1199px —— */
@media (max-width: 1199px) {
	/* Contato — texto em cima e formulário embaixo, ambos em largura total (lado a lado espreme os campos) */
	.et-db .et-l .custom-section.two-columns.contact .custom-content.et_flex_row {
		flex-direction: column;
		align-items: stretch;
		gap: var(--space-50);
	}
	.et-db .et-l .custom-section.two-columns.contact .custom-content.et_flex_row > .et_pb_column:first-child,
	.et-db .et-l .custom-section.two-columns.contact .custom-content.et_flex_row > .et_pb_column:last-child {
		flex: 1 1 auto;
		width: 100%;
		max-width: none;
	}
}

/* —— ≤980px —— */
@media (max-width: 980px) {
	/* Respiro de seção — 100 vira 60 */
	.et-db .et-l .custom-section,
	.et-db .et-l .custom-section.hero.simple-hero .et_pb_fullwidth_header,
	.et-db #et-boc .et-l .custom-section.hero.simple-hero .et_pb_fullwidth_header,
	.et-db .et-l .custom-section.hero.only-text-hero .et_pb_fullwidth_header,
	.et-db #et-boc .et-l .custom-section.hero.only-text-hero .et_pb_fullwidth_header {
		padding-top: var(--space-60);
		padding-bottom: var(--space-60);
	}
	.et-db .et-l .custom-section.footer {
		padding-top: var(--space-60);
	}
	.et-db .et-l .custom-section.footer .et_pb_image img {
		height: 50px;
	}
	.et-db .et-l .custom-section .custom-content .divisor {
		margin-top: var(--space-60);
	}

	/* Serviço — texto e imagem: empilha com a imagem em cima */
	.et-db .et-l .custom-section.row-service .custom-content:not(.divisor) {
		flex-direction: column;
		align-items: stretch;
		gap: var(--space-40);
	}
	.et-db .et-l .custom-section.row-service .custom-content:not(.divisor) > .et_pb_column,
	.et-db .et-l .custom-section.row-service .custom-content:not(.divisor) > .et_pb_column:first-child {
		flex: 1 1 auto;
		width: 100%;
		max-width: none;
	}
	.et-db .et-l .custom-section.row-service .custom-content:not(.divisor) > .et_pb_column:last-child {
		flex: 1 1 auto;
		width: 100%;
		order: -1;
	}
	.et-db .et-l .custom-section.row-service .custom-content .eyebrow,
	.et-db .et-l .custom-section.row-service .custom-content .title {
		margin-bottom: var(--space-20);
	}
	.et-db .et-l .custom-section.row-service .et_pb_button_module_wrapper {
		margin-top: var(--space-25);
	}

	/* Texto e imagem: empilha (texto em cima, imagem embaixo) */
	.et-db .et-l .custom-section.image-text .custom-content {
		flex-direction: column;
		align-items: stretch;
		gap: var(--space-40);
	}
	.et-db .et-l .custom-section.image-text .custom-content > .et_pb_column {
		flex: 1 1 auto;
		width: 100%;
	}

	.et-db .et-l .custom-section.two-columns .et_flex_row.custom-content:where(:not(.cards)) > .et_pb_column,
	.et-db .et-l .custom-section.two-columns .custom-content.et_flex_row:where(:not(.cards)) > .et_pb_column {
		width: 100%;
		max-width: none;
		flex: 1 1 auto;
	}
  .et-db .et-l .custom-section.two-columns .et_flex_row.custom-content:where(:not(.cards)),
  .et-db .et-l .custom-section.two-columns .custom-content.et_flex_row:where(:not(.cards)) {
    gap: var(--space-30);
  }
	.et-db .et-l .custom-section.two-columns .et_pb_button_module_wrapper {
		margin-top: var(--space-25);
	}
	/* Imagem panorâmica — menos achatada para não sumir na tela menor */
	.et-db .et-l .custom-section.promo-image {
		aspect-ratio: 16 / 9;
	}
	/* Introdução (about) — seta ao lado do texto, texto ocupa o resto */
	.et-db .et-l .custom-section.about.two-columns .custom-content.et_flex_row > .et_pb_column:first-child {
		flex: 0 0 auto;
		width: auto;
	}
	.et-db .et-l .custom-section.about.two-columns .custom-content.et_flex_row > .et_pb_column:last-child {
		flex: 1 1 0;
		width: auto;
		min-width: 0;
	}
	/* Contato — introdução: volta ao two-columns padrão do tablet (título e texto dividem a linha) */
	.et-db .et-l .custom-section.text-contact.two-columns .custom-content.et_flex_row > .et_pb_column:first-child,
	.et-db .et-l .custom-section.text-contact.two-columns .custom-content.et_flex_row > .et_pb_column:last-child {
		flex: 1 1 auto;
		width: 100%;
		max-width: none;
	}
	/* Contato — formulário: título mais perto dos campos; o formulário volta à largura padrão (95%) */
	.et-db .et-l .custom-section.content-contact .custom-content + .custom-content {
		margin-top: var(--space-40);
	}
	.et-db .et-l .custom-section.content-contact .custom-content:has(.custom-form) {
		max-width: var(--content-width-narrow);
	}
	/* Texto corrido — blocos mais próximos */
	.et-db .et-l .custom-section.simple-text .custom-content .text + .title {
		margin-top: var(--space-50);
	}
	/* two-columns with-image: empilha (imagem em cima, texto embaixo); imagem mais baixa para não ocupar a tela */
	.et-db .et-l .custom-section.two-columns.with-image .custom-content.et_flex_row {
		flex-direction: column;
		align-items: stretch;
		gap: var(--space-40);
	}
	.et-db .et-l .custom-section.two-columns.with-image .custom-content.et_flex_row > .et_pb_column:first-child,
	.et-db .et-l .custom-section.two-columns.with-image .custom-content.et_flex_row > .et_pb_column:last-child {
		flex: 1 1 auto;
		width: 100%;
	}
	.et-db .et-l .custom-section.two-columns.with-image .et_pb_image .et_pb_image_wrap {
		aspect-ratio: 590 / 400;
	}
	.et-db .et-l .custom-section.two-columns.with-image .custom-content .title {
		margin-bottom: var(--space-20);
	}
	/* custom-column — mesmo ritmo do two-columns no tablet */
	.et-db .et-l .custom-section .custom-content .custom-column .title,
	.et-db .et-l .custom-section.insights .custom-content .title {
		margin-bottom: var(--space-20);
	}
	.et-db .et-l .custom-section .custom-content .custom-column .et_pb_button_module_wrapper,
	.et-db .et-l .custom-section.insights .custom-content .et_pb_button_module_wrapper {
		margin-top: var(--space-25);
	}
	.et-db .et-l .custom-section.insights .custom-content.shortcode {
		margin-top: var(--space-40);
	}
	/* Carrossel — 2 cards por vez */
	.et-db .et-l .custom-section .custom-content.carousel {
		--carousel-per-view: 2;
		--carousel-gap: var(--space-20);
		gap: var(--space-40);
	}
	.et-db .et-l .custom-section.home-team .custom-content.carousel {
		margin-top: var(--space-40);
	}
	/* Equipe modelo 2 — no carrossel responsivo volta ao card-team padrão (o ≤767 segue valendo) */
	.et-db .et-l .custom-section .custom-content:where(.team-model2) .card-team {
		padding: var(--space-30);
	}
	.et-db .et-l .custom-section .custom-content:where(.team-model2) .card-team .et_pb_main_blurb_image img {
		height: var(--size-card-img-team);
	}
	.et-db .et-l .custom-section .custom-content:where(.team-model2) .card-team .et_pb_module_header,
	.et-db .et-l .custom-section .custom-content:where(.team-model2) .card-team .et_pb_module_header a {
		font-size: var(--font-size-h3);
	}
	/* Carrossel loop (full-width) — card mais estreito, vizinhos ainda aparecendo */
	.et-db .et-l .custom-section .custom-content.carousel.full-width {
		--carousel-slide-width: calc(100% - var(--space-80) * 2);
		--carousel-gap: var(--space-20);
	}
	/* Serviços da home */
	.et-db .et-l .custom-section.our-services-home .custom-content.carousel,
	.et-db .et-l .custom-section.our-services .custom-content.carousel {
		margin-top: var(--space-40);
		gap: var(--space-40);
	}
	/* Carrossel modelo 2 — cards mais juntos */
	.et-db .et-l .custom-section .custom-content.carousel.full-width.model2 {
		--carousel-gap: var(--space-30);
	}
	.et-db .et-l .custom-section.our-solutions .custom-content.carousel,
	.et-db .et-l .custom-section.our-approach .custom-content.carousel {
		margin-top: var(--space-15);
		gap: var(--space-40);
	}
	.et-db .et-l .custom-section .custom-content.cards.carousel.model3 {
		margin-top: var(--space-40);
	}
	/* Grade de cards — 2 por linha; cultura com respiro menor */
	.et-db .et-l .custom-section .custom-content.cards {
		--cards-per-row: 2;
	}
	.et-db .et-l .custom-section .custom-content .card-simple {
		padding: var(--space-30);
	}
	/* Lista da equipe — foto e espaços menores */
	.et-db .et-l .custom-section.team-list .custom-content.team > .et_pb_column {
		gap: var(--space-20);
	}
	.et-db .et-l .custom-section.team-list .custom-content .card-team .et_pb_blurb_content {
		gap: var(--space-20);
	}
	.et-db .et-l .custom-section.team-list .custom-content .card-team .et_pb_main_blurb_image {
		flex-basis: calc(var(--space-60) * 2);
		width: calc(var(--space-60) * 2);
	}
	.et-db .et-l .custom-section.our-culture-home .custom-content.cards {
		margin-top: var(--space-40);
	}
	/* Grade de 5 (card-icon) — 3 por linha, sem as linhas divisórias */
	.et-db .et-l .custom-section .custom-content.cards.five-columns {
		--cards-per-row: 3;
	}
	.et-db .et-l .custom-section .custom-content.cards.five-columns > .et_pb_column {
		row-gap: var(--space-40);
	}
	.et-db .et-l .custom-section .custom-content .card-icon {
		padding-right: 0;
		border-right: none;
	}
	.et-db .et-l .custom-section.how-to-we-do .custom-content .title {
		margin-bottom: var(--space-20);
	}
	.et-db .et-l .custom-section.how-to-we-do .custom-content.cards {
		margin-top: var(--space-40);
	}	/* Por que a Soul — cards mais juntos e compactos */
	.et-db .et-l .custom-section.why-soul .custom-content.cards {
		--cards-gap: var(--space-30);
		margin-top: var(--space-50);
	}
	.et-db .et-l .custom-section .custom-content .et_pb_blurb.card-image {
		padding: var(--space-30);
		border-radius: var(--border-radius-40);
	}
	.et-db .et-l .custom-section .custom-content .et_pb_blurb.card-image .et_pb_blurb_content {
		gap: var(--space-20);
	}
	.et-db .et-l .custom-section .custom-content .et_pb_blurb.card-image .et_pb_image_wrap {
		border-radius: var(--border-radius-20);
	}
	.et-db .et-l .custom-section .custom-content .card-service {
		min-height: calc(var(--size-card-service-h) * 0.85);
		padding: var(--space-40);
	}
	/* Insights — categorias empilhadas em largura total, acima do card */
	.et-db .et-l .custom-section .soul-insights {
		flex-direction: column;
		align-items: stretch;
		gap: var(--space-30);
	}
	.et-db .et-l .custom-section .soul-insights .insights-tabs {
		flex: 0 0 auto;
	}
	.et-db .et-l .custom-section .soul-insights .filter-item {
		gap: var(--space-15);
		padding: var(--space-15) var(--space-20);
	}
	.et-db .et-l .custom-section .soul-insights .filter-item .text {
		font-size: var(--font-size-base);
	}
	/* Insights Destaques — card mais baixo; Explore — grade com 2 por linha */
	.et-db .et-l .custom-section .soul-featured .featured-card {
		min-height: calc(var(--size-card-service-h) * 0.85);
		padding: var(--space-40);
	}
	.et-db .et-l .custom-section .soul-explore {
		gap: var(--space-40);
	}
	.et-db .et-l .custom-section .soul-explore .explore-grid,
	.et-db .et-l .custom-section .soul-related .explore-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--space-40) var(--space-20);
	}
	/* Post interno — respiros menores */
	.et-db .et-l .custom-section.button-back {
		padding-top: var(--space-40);
	}
	.et-db .et-l .custom-section.content-meta,
	.et-db .et-l .custom-section.post-title {
		padding-top: var(--space-40);
	}
	.et-db .et-l .custom-section.post-content {
		padding: var(--space-40) 0 var(--space-60);
	}
	.et-db .et-l .custom-section .custom-content .custom-title-feature {
		gap: var(--space-40);
	}
	.et-db .et-l .custom-section .custom-title-feature .et_pb_title_container {
		padding-bottom: var(--space-40);
	}
	.et-db .et-l .custom-section.see-more-posts {
		padding-bottom: var(--space-60);
	}
	.et-db .et-l .custom-section.see-more-posts .custom-content {
		padding-top: var(--space-60);
	}
	.et-db .et-l .custom-section .soul-related {
		gap: var(--space-40);
	}
	/* Contato — empilhado desde o ≤1199; no tablet o respiro entre texto e formulário diminui */
	.et-db .et-l .custom-section.two-columns.contact .custom-content.et_flex_row {
		gap: var(--space-30);
	}
	.et-db .et-l .custom-section.contact .custom-content .title {
		margin-bottom: var(--space-20);
	}
	.et-db .et-l .custom-section.o-que-nos-move .custom-content,
	.et-db #et-boc .et-l .custom-section.o-que-nos-move .custom-content {
		min-height: 0;
		padding: var(--space-30);
		background-position: 70% center;
	}
	.et-db .et-l .custom-section.o-que-nos-move .custom-content > .et_pb_column,
	.et-db .et-l .custom-section.o-que-nos-move .title,
	.et-db .et-l .custom-section.o-que-nos-move .title h2,
	.et-db .et-l .custom-section.o-que-nos-move .title p,
	.et-db .et-l .custom-section.o-que-nos-move .text,
	.et-db .et-l .custom-section.o-que-nos-move .text p {
		max-width: none;
	}

	/* Header — barra */
	.et-db .et-l .custom-section.header {
		padding: var(--space-15) 0;
	}
	.et-db .et-l .custom-section.header.is-sticky {
		padding-top: var(--space-10);
		padding-bottom: var(--space-10);
	}
	.et-db .et-l .custom-section.header .logo img {
		height: var(--space-50);
	}
	.et-db .et-l .custom-section.header.is-sticky .logo img {
		height: var(--space-40);
	}
	/* Painel aberto — header fixo no topo para não rolar para fora da tela */
	.et-db .et-l .custom-section.header.is-menu-open {
		position: fixed;
		top: var(--wp-admin--admin-bar--height, 0px);
		left: 0;
		right: 0;
		width: 100%;
	}
	/* Menu vira hambúrguer (o tema faz a troca — não espera o CSS assíncrono do Divi) */
	.et-db .et-l .custom-section.header .et_pb_menu__menu {
		display: none;
	}
	.et-db .et-l .custom-section.header .et_mobile_nav_menu {
		display: flex;
		align-items: center;
		margin: 0;
	}

	/* Header — botão (2 linhas → 1 linha + “Fechar”, ref. Joby) */
	.et-db .et-l .custom-section.header .mobile_nav {
		display: flex;
		align-items: center;
		gap: var(--space-10);
		padding: var(--space-10) 0;
		background-color: transparent;
		cursor: pointer;
	}
	.et-db .et-l .custom-section.header .mobile_nav:before {
		content: attr(data-label);
		font-family: var(--font-body);
		font-size: var(--font-size-sm);
		font-weight: var(--font-weight-regular);
		line-height: var(--line-height-140);
		color: var(--concreto-600);
		opacity: 0;
		transform: translate3d(var(--space-10), 0, 0);
		transition: opacity var(--ease), transform var(--hero-content-ms) var(--ease-out-expo);
	}
	.et-db .et-l .custom-section.header.is-menu-open .mobile_nav:before {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
	.et-db .et-l .custom-section.header .mobile_nav .mobile_menu_bar {
		position: relative;
		display: block;
		width: var(--space-30);
		height: var(--space-10);
		line-height: 0;
	}
	.et-db .et-l .custom-section.header .mobile_nav .mobile_menu_bar:before,
	.et-db .et-l .custom-section.header .mobile_nav .mobile_menu_bar:after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		height: var(--border-width-button);
		border-radius: var(--border-radius-full);
		background-color: var(--concreto-600);
		font-size: 0;
		transition: transform var(--hero-content-ms) var(--ease-out-expo);
	}
	.et-db .et-l .custom-section.header .mobile_nav .mobile_menu_bar:before {
		top: 0;
	}
	.et-db .et-l .custom-section.header .mobile_nav .mobile_menu_bar:after {
		bottom: 0;
	}
	.et-db .et-l .custom-section.header.is-menu-open .mobile_nav .mobile_menu_bar:before {
		transform: translate3d(0, calc(var(--space-10) / 2 - var(--border-width-button) / 2), 0);
	}
	.et-db .et-l .custom-section.header.is-menu-open .mobile_nav .mobile_menu_bar:after {
		transform: translate3d(0, calc(var(--border-width-button) / 2 - var(--space-10) / 2), 0);
	}

	/* Header — painel (desce do topo com reveal, itens em stagger) */
	.et-db .et-l .custom-section.header .et_mobile_menu {
		position: fixed;
		left: 0;
		right: 0;
		z-index: 2;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		width: 100%;
		margin: 0;
		padding: var(--space-30) calc((100% - var(--content-width-narrow)) / 2) var(--space-50);
		overflow-y: auto;
		overscroll-behavior: contain;
		border: none;
		border-top: var(--border-width) solid var(--light-gray);
		background-color: var(--neutral-white);
		box-shadow: none;
		visibility: hidden;
		clip-path: inset(0 0 100% 0);
		transition: clip-path var(--hero-content-ms) var(--ease-out-expo), visibility var(--hero-content-ms);
	}
	.et-db .et-l .custom-section.header.is-menu-open .et_mobile_menu {
		visibility: visible;
		clip-path: inset(0 0 0 0);
	}
	.et-db .et-l .custom-section.header .et_mobile_menu > li {
		width: 100%;
		margin: 0;
		padding: 0;
		border: none;
		list-style: none;
		opacity: 0;
		transform: translate3d(0, var(--hero-rise-y), 0);
		transition: opacity var(--ease), transform var(--ease);
	}
	.et-db .et-l .custom-section.header.is-menu-open .et_mobile_menu > li {
		opacity: 1;
		transform: translate3d(0, 0, 0);
		transition: opacity var(--hero-content-ms) var(--ease-out-expo), transform var(--hero-content-ms) var(--ease-out-expo);
		transition-delay: calc(var(--i, 0) * 0.05s + 0.12s);
	}
	.et-db .et-l .custom-section.header .et_mobile_menu > li > a,
	.et-db .et-l .custom-section.header .et_mobile_menu .menu-item-has-children > a {
		display: block;
		padding: var(--space-5) 0;
		border: none;
		background-color: transparent;
		font-family: var(--font-title);
		font-size: var(--font-size-h2);
		font-weight: var(--font-weight-bold);
		line-height: var(--line-height-120);
		letter-spacing: var(--letter-spacing-h2);
		color: var(--brand-marrom);
		opacity: 1;
		transition: color var(--ease);
	}
	.et-db .et-l .custom-section.header .et_mobile_menu li a:hover,
	.et-db .et-l .custom-section.header .et_mobile_menu > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent, .current_page_item, .current_page_ancestor):not(.feature-button, .pll-parent-menu-item) > a,
	.et-db .et-l .custom-section.header .et_mobile_menu .sub-menu li:is(.current-menu-item, .current_page_item):not(.lang-item) > a {
		background-color: transparent;
		color: var(--brand-dourado);
		opacity: 1;
	}

	/* Painel — submenu de serviços como links secundários */
	.et-db .et-l .custom-section.header .et_mobile_menu .sub-menu {
		position: static;
		display: flex;
		flex-direction: column;
		width: auto;
		margin: 0;
		padding: var(--space-5) 0 var(--space-15);
		border: none;
		background-color: transparent;
		box-shadow: none;
		visibility: visible;
		opacity: 1;
		transform: none;
	}
	.et-db .et-l .custom-section.header .et_mobile_menu .sub-menu li {
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.et-db .et-l .custom-section.header .et_mobile_menu .sub-menu a {
		display: block;
		padding: var(--space-5) 0;
		border: none;
		background-color: transparent;
		font-family: var(--font-body);
		font-size: var(--font-size-base);
		font-weight: var(--font-weight-regular);
		line-height: var(--line-height-150);
		letter-spacing: var(--letter-spacing-none);
		color: var(--concreto-400);
		transition: color var(--ease);
	}

	/* Painel — idiomas em linha, no rodapé do painel */
	.et-db .et-l .custom-section.header .et_mobile_menu > li.pll-parent-menu-item {
		margin-top: var(--space-30);
		padding-top: var(--space-20);
		border-top: var(--border-width) solid var(--light-gray);
	}
	.et-db .et-l .custom-section.header .et_mobile_menu > li.pll-parent-menu-item > a {
		display: none;
	}
	.et-db .et-l .custom-section.header .et_mobile_menu > li.pll-parent-menu-item > .sub-menu {
		flex-direction: row;
		gap: var(--space-20);
		padding: 0;
	}
	.et-db .et-l .custom-section.header .et_mobile_menu .current-lang > a {
		font-weight: var(--font-weight-semibold);
		color: var(--brand-marrom);
	}

	/* Rodapé — logo em linha própria, colunas em pares */
	.et-db .et-l .custom-section.footer .custom-content:not(.copy) {
		flex-wrap: wrap;
		gap: var(--space-40) var(--space-50);
	}
	.et-db .et-l .custom-section.footer .custom-content:not(.copy) > .et_pb_column:first-child {
		flex-basis: 100%;
	}
	.et-db .et-l .custom-section.footer .custom-content:not(.copy) > .et_pb_column:not(:first-child) {
		flex: 1 1 calc(50% - var(--space-50));
		min-width: 0;
	}
	/* Rodapé — menus seguem como lista (o Divi troca por hambúrguer ≤980) */
	.et-db .et-l .custom-section.footer .footer-menu .et_pb_menu__menu {
		display: flex;
	}
	.et-db .et-l .custom-section.footer .footer-menu .et_mobile_nav_menu {
		display: none;
	}
}

/* —— ≤767px —— */
@media (max-width: 767px) {
	/* Respiro de seção — 100 vira 50 */
	.et-db .et-l .custom-section,
	.et-db .et-l .custom-section.hero.simple-hero .et_pb_fullwidth_header,
	.et-db #et-boc .et-l .custom-section.hero.simple-hero .et_pb_fullwidth_header,
	.et-db .et-l .custom-section.hero.only-text-hero .et_pb_fullwidth_header,
	.et-db #et-boc .et-l .custom-section.hero.only-text-hero .et_pb_fullwidth_header {
		padding-top: var(--space-50);
		padding-bottom: var(--space-50);
	}
	.et-db .et-l .custom-section.footer {
		padding-top: var(--space-50);
	}
	.et-db .et-l .custom-section .custom-content .divisor {
		margin-top: var(--space-50);
	}

	/* Serviço — texto e imagem: menos respiro e cantos menores */
	.et-db .et-l .custom-section.row-service .custom-content:not(.divisor) {
		gap: var(--space-30);
	}
	.et-db .et-l .custom-section.row-service .et_pb_image .et_pb_image_wrap {
		border-radius: var(--border-radius-20);
	}
	/* Imagem panorâmica — quase quadrada no celular */
	.et-db .et-l .custom-section.promo-image {
		aspect-ratio: 4 / 3;
	}
	/* Introdução (about) — seta em cima, texto embaixo */
	.et-db .et-l .custom-section.about.two-columns .custom-content.et_flex_row {
		flex-direction: column;
		gap: var(--space-20);
	}
	.et-db .et-l .custom-section.about.two-columns .custom-content.et_flex_row > .et_pb_column:last-child {
		flex: 1 1 auto;
		width: 100%;
	}
	/* two-columns with-image: menos respiro e cantos menores */
	.et-db .et-l .custom-section.two-columns.with-image .custom-content.et_flex_row {
		gap: var(--space-30);
	}
	.et-db .et-l .custom-section.two-columns.with-image .et_pb_image .et_pb_image_wrap {
		border-radius: var(--border-radius-20);
	}
	/* Hero só texto — parágrafos um pouco mais juntos */
	.et-db .et-l .custom-section.hero.only-text-hero .et_pb_header_content_wrapper p + p,
	.et-db #et-boc .et-l .custom-section.hero.only-text-hero .et_pb_header_content_wrapper p + p {
		margin-top: var(--space-20);
	}
	/* Texto e imagem: menos respiro e cantos menores */
	.et-db .et-l .custom-section.image-text .custom-content {
		gap: var(--space-30);
	}
	.et-db .et-l .custom-section.image-text .custom-content .text p:not(:last-child) {
		margin-bottom: var(--space-20);
	}
	.et-db .et-l .custom-section.image-text .et_pb_image .et_pb_image_wrap {
		border-radius: var(--border-radius-20);
	}
	/* CTA de contato — itens mais próximos */
	.et-db .et-l .custom-section.cta-contact-us .custom-content .title {
		margin-bottom: var(--space-20);
	}
	.et-db .et-l .custom-section.cta-contact-us .et_pb_button_module_wrapper {
		margin-top: var(--space-20);
	}

	/* Hero simples — espaços entre eyebrow, título e texto mais curtos */
	.et-db .et-l .custom-section.hero.simple-hero .et_pb_module_header,
	.et-db #et-boc .et-l .custom-section.hero.simple-hero .et_pb_module_header,
	.et-db .et-l .custom-section.hero.simple-hero .et_pb_header_content_wrapper h2,
	.et-db #et-boc .et-l .custom-section.hero.simple-hero .et_pb_header_content_wrapper h2 {
		margin-bottom: var(--space-30);
	}
	.et-db .et-l .custom-section.hero.simple-hero .et_pb_header_button_wrapper,
	.et-db #et-boc .et-l .custom-section.hero.simple-hero .et_pb_header_button_wrapper {
		margin-top: var(--space-30);
	}
	/* Hero — seta de rolagem mais perto do texto */
	.et-db .et-l .custom-section.hero .scroll-hero .hero-scroll {
		margin-top: var(--space-30);
	}
	/* Resultados esperados — título mais perto do texto */
	.et-db .et-l .custom-section.expected-result .custom-content .title {
		margin-bottom: var(--space-20);
	}

	/* Carrossel — 1 card e a pontinha do próximo (indica que dá para arrastar) */
	.et-db .et-l .custom-section .custom-content.carousel {
		--carousel-per-view: 1.15;
	}
	.et-db .et-l .custom-section .custom-content .card-team {
		padding: var(--space-20);
	}
	.et-db .et-l .custom-section .custom-content .card-team .et_pb_main_blurb_image img {
		height: calc(var(--size-card-img-team) * 0.85);
	}
	/* Carrossel loop — card quase na largura toda, com a ponta dos vizinhos */
	.et-db .et-l .custom-section .custom-content.carousel.full-width {
		--carousel-slide-width: calc(100% - var(--space-40) * 2);
		--carousel-gap: var(--space-15);
	}
	.et-db .et-l .custom-section .custom-content.carousel.full-width.model2,
	.et-db .et-l .custom-section.our-approach .custom-content.carousel.full-width.model2 {
		--carousel-gap: var(--space-20);
	}
	.et-db .et-l .custom-section .custom-content .card-service {
		min-height: calc(var(--size-card-service-h) * 0.75);
		padding: var(--space-25);
		border-radius: var(--border-radius-20);
	}
	.et-db .et-l .custom-section .custom-content .card-service .et_pb_blurb_description p + p {
		margin-top: var(--space-25);
	}
	/* Grade de cards — um por linha */
	.et-db .et-l .custom-section .custom-content.cards {
		--cards-per-row: 1;
		--cards-gap: var(--space-15);
	}
	/* Lista da equipe — 1 por linha, foto de 100 */
	.et-db .et-l .custom-section.team-list .custom-content.team > .et_pb_column {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--space-15);
	}
	.et-db .et-l .custom-section.team-list .custom-content .card-team .et_pb_main_blurb_image {
		flex-basis: var(--space-100);
		width: var(--space-100);
	}
	.et-db .et-l .custom-section .custom-content .card-simple {
		padding: var(--space-25);
		border-radius: var(--border-radius-20);
	}
	/* Grade de 5 (card-icon) — 2 por linha */
	.et-db .et-l .custom-section .custom-content.cards.five-columns {
		--cards-per-row: 2;
		--cards-gap: var(--space-20);
	}
	.et-db .et-l .custom-section .custom-content.cards.five-columns > .et_pb_column {
		row-gap: var(--space-30);
	}
	/* Por que a Soul — um card por linha */
	.et-db .et-l .custom-section.why-soul .custom-content.cards {
		--cards-per-row: 1;
		--cards-gap: var(--space-20);
	}
	.et-db .et-l .custom-section .custom-content .et_pb_blurb.card-image,
	.et-db .et-l .custom-section .custom-content.model3 .et_pb_blurb.card-image {
		padding: var(--space-20);
	}
	.et-db .et-l .custom-section .custom-content .et_pb_blurb.card-image {
		border-radius: var(--border-radius-30);
	}
	.et-db .et-l .custom-section .custom-content.cards.carousel.model3 {
		margin-top: var(--space-30);
	}
	.et-db .et-l .custom-section .custom-content .et_pb_blurb.card-image .et_pb_image_wrap {
		border-radius: var(--border-radius-15);
	}

	/* Rodapé — colunas empilhadas */
	.et-db .et-l .custom-section.footer .custom-content:not(.copy) > .et_pb_column:not(:first-child) {
		flex-basis: 100%;
	}

	/* Insights — card mais compacto e imagem mais baixa */
	.et-db .et-l .custom-section .soul-insights .insights-panels {
		padding: var(--space-20);
		border-radius: var(--border-radius-20);
	}
	.et-db .et-l .custom-section .soul-insights .card-image {
		height: calc(var(--size-card-img-blog) * 0.6);
	}

	/* Insights Destaques — card compacto */
	.et-db .et-l .custom-section .soul-featured {
		--featured-gap: var(--space-20);
		gap: var(--space-20);
	}
	.et-db .et-l .custom-section .soul-featured .featured-viewport,
	.et-db .et-l .custom-section .soul-featured .featured-card {
		border-radius: var(--border-radius-20);
	}
	.et-db .et-l .custom-section .soul-featured .featured-card {
		min-height: calc(var(--size-card-service-h) * 0.75);
		padding: var(--space-25);
	}
	/* Insights Explore — busca abaixo do título em largura total, 1 card por linha */
	.et-db .et-l .custom-section .soul-explore {
		gap: var(--space-30);
	}
	.et-db .et-l .custom-section .soul-explore .explore-tab {
		gap: var(--space-10);
		padding: var(--space-10) var(--space-20);
	}
	.et-db .et-l .custom-section .soul-explore .explore-head {
		flex-direction: column;
		align-items: stretch;
		gap: var(--space-20);
	}
	.et-db .et-l .custom-section .soul-explore .explore-search {
		flex: 0 0 auto;
		width: 100%;
		box-sizing: border-box;
	}
	.et-db .et-l .custom-section .soul-explore .explore-grid,
	.et-db .et-l .custom-section .soul-related .explore-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--space-40);
	}
	/* Post interno — respiros de celular, imagem mais alta, "Ver todos" abaixo do título */
	.et-db .et-l .custom-section.button-back {
		padding-top: var(--space-30);
	}
	.et-db .et-l .custom-section.content-meta,
	.et-db .et-l .custom-section.post-title {
		padding-top: var(--space-30);
	}
	.et-db .et-l .custom-section.post-content {
		padding: var(--space-30) 0 var(--space-50);
	}
	.et-db .et-l .custom-section .custom-content .custom-title-feature {
		gap: var(--space-30);
	}
	.et-db .et-l .custom-section .custom-title-feature .et_pb_title_container {
		padding-bottom: var(--space-30);
	}
	.et-db .et-l .custom-section .custom-title-feature .et_pb_title_featured_container .et_pb_image_wrap {
		aspect-ratio: 16 / 9;
	}
	.et-db .et-l .custom-section .custom-content .content-post > * + * {
		margin-top: var(--space-20);
	}
	.et-db .et-l .custom-section.see-more-posts {
		padding-bottom: var(--space-50);
	}
	.et-db .et-l .custom-section.see-more-posts .custom-content {
		padding-top: var(--space-50);
	}
	.et-db .et-l .custom-section .soul-related {
		gap: var(--space-30);
	}
	.et-db .et-l .custom-section .soul-related .related-head {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-15);
	}
	/* Compartilhar desce para a esquerda — o menu abre para a direita */
	.et-db .et-l .custom-section .soul-share .share-menu {
		right: auto;
		left: 0;
	}
	.et-db .et-l .custom-section .soul-explore .explore-pagination {
		margin-top: var(--space-40);
	}

	/* Formulário — card mais compacto e campos lado a lado empilhados */
	.et-db .et-l .custom-section .soul-form {
		padding: var(--space-25) var(--space-20);
	}
	.et-db .et-l .custom-section .soul-form .form-row {
		flex-direction: column;
	}
	/* Contato — formulário: título mais perto dos campos */
	.et-db .et-l .custom-section.content-contact .custom-content + .custom-content {
		margin-top: var(--space-30);
	}
	/* Texto corrido — ritmo menor no celular */
	.et-db .et-l .custom-section.simple-text .custom-content .title {
		margin-bottom: var(--space-20);
	}
	.et-db .et-l .custom-section.simple-text .custom-content .text + .title {
		margin-top: var(--space-40);
	}
	.et-db .et-l .custom-section.simple-text .custom-content .text p + p {
		margin-top: var(--space-20);
	}
}

/* —— prefers-reduced-motion —— */
@media (prefers-reduced-motion: reduce) {
	/* Hero — seta parada */
	.et-db .et-l .custom-section.hero .scroll-hero .hero-scroll-icon {
		animation: none;
	}
	/* Carrossel — troca de card sem rolagem animada */
	.et-db .et-l .custom-section .custom-content.carousel > .et_pb_column {
		scroll-behavior: auto;
	}
	.et-db .et-l .custom-section .custom-content.carousel .carousel-arrow-icon {
		transition: none;
	}
	/* Carrossel loop e card de serviço — troca direta, sem deslizar nem esmaecer */
	.et-db .et-l .custom-section .custom-content.carousel.full-width > .et_pb_column,
	.et-db .et-l .custom-section .custom-content .card-service:before,
	.et-db .et-l .custom-section .custom-content .card-service:after,
	.et-db .et-l .custom-section .custom-content .card-service .et_pb_module_header,
	.et-db .et-l .custom-section .custom-content .card-service .et_pb_blurb_description,
	.et-db .et-l .custom-section .custom-content .card-service .et_pb_blurb_description p,
	.et-db .et-l .custom-section .custom-content .card-service .et_pb_blurb_description a {
		transition: none;
	}
	/* Card com imagem — hover sem zoom (só o título dourado) */
	.et-db .et-l .custom-section .custom-content .et_pb_blurb.card-image:hover .et_pb_main_blurb_image img {
		scale: 1;
	}
	/* Card de equipe — hover só troca a cor do nome (sem subir nem zoom) */
	.et-db .et-l .custom-section .custom-content .card-team:hover {
		translate: none;
	}
	.et-db .et-l .custom-section .custom-content .card-team:hover .et_pb_main_blurb_image img {
		scale: 1;
	}
	.et-db .et-l .custom-section.hero .soul-hero-media.is-zooming,
	.et-db .et-l .custom-section.hero .soul-hero-slide.is-active.is-animating .et_pb_module_header,
	.et-db .et-l .custom-section.hero .soul-hero-slide.is-active.is-animating .et_pb_fullwidth_header_subhead,
	.et-db .et-l .custom-section.hero .soul-hero-slide.is-active.is-animating .et_pb_header_content_wrapper,
	.et-db .et-l .custom-section.hero .soul-hero-slide.is-active.is-animating .et_pb_header_button_wrapper,
	.et-db .et-l .custom-section.hero.is-playing .soul-hero-dot.is-active.is-progress:after {
		animation: none;
	}
	.et-db .et-l .custom-section.hero .soul-hero-slide .et_pb_module_header,
	.et-db .et-l .custom-section.hero .soul-hero-slide .et_pb_fullwidth_header_subhead,
	.et-db .et-l .custom-section.hero .soul-hero-slide .et_pb_header_content_wrapper,
	.et-db .et-l .custom-section.hero .soul-hero-slide .et_pb_header_button_wrapper {
		opacity: 1;
		transform: none;
	}
	.et-db .et-l .custom-section.header.is-sticky {
		animation: none;
	}
	.et-db .et-l .custom-section.header .et-menu-nav .et-menu li > .sub-menu,
	.et-db .et-l .custom-section.header .et-menu-nav .et-menu .sub-menu li,
	.et-db .et-l .custom-section.header .et-menu-nav .et-menu li.is-open > .sub-menu li,
	.et-db .et-l .custom-section.header .et_mobile_menu,
	.et-db .et-l .custom-section.header .et_mobile_menu > li,
	.et-db .et-l .custom-section.header.is-menu-open .et_mobile_menu > li {
		transition: none;
		transform: none;
	}
	/* Insights — troca direta (sem cortina, zoom ou texto subindo) e hover sem movimento;
	   o JS não liga a rotação automática aqui, então não há contagem */
	.et-db .et-l .custom-section .soul-insights .card-image,
	.et-db .et-l .custom-section .soul-insights .is-active .card-image,
	.et-db .et-l .custom-section .soul-insights .card-image img,
	.et-db .et-l .custom-section .soul-insights .is-active .card-image img,
	.et-db .et-l .custom-section .soul-insights .is-active .card-body > *,
	.et-db .et-l .custom-section .soul-insights .is-leaving .card-body > *,
	.et-db .et-l .custom-section .custom-content .filter-item:before,
	.et-db .et-l .custom-section .custom-content .filter-item img,
	.et-db .et-l .custom-section .custom-content .filter-item .text {
		transition: none;
	}
	.et-db .et-l .custom-section .soul-insights .card-image img {
		transform: none;
	}
	.et-db .et-l .custom-section .custom-content .filter-item:hover img,
	.et-db .et-l .custom-section .custom-content .filter-item:hover .text {
		translate: none;
	}
	/* Insights Destaques — troca direta, sem deslizar (o JS também não liga o autoplay);
	   Explore — resultados trocam sem esmaecer */
	.et-db .et-l .custom-section .soul-featured .featured-track,
	.et-db .et-l .custom-section .soul-explore .explore-results {
		transition: none;
	}
	/* Post interno — setas paradas e menu de compartilhar sem deslizar */
	.et-db .et-l .custom-section .soul-post-back:hover .post-back-icon,
	.et-db .et-l .custom-section .soul-related .related-link:hover .related-link-icon {
		translate: none;
	}
	.et-db .et-l .custom-section .soul-share[open] .share-menu {
		animation: none;
	}
	/* Thumb de notícia — sem zoom; o título fica dourado de uma vez */
	.et-db .et-l .custom-section .news-card:hover:not(:has(a.card-badge:hover)) .news-image img,
	.et-db .et-l .custom-section .news-card:focus-visible .news-image img,
	.et-db .et-l .custom-section .news-card:has(.card-stretch:focus-visible) .news-image img {
		scale: 1;
	}
	.et-db .et-l .custom-section .news-card:hover:not(:has(a.card-badge:hover)) .news-title .word,
	.et-db .et-l .custom-section .news-card:focus-visible .news-title .word,
	.et-db .et-l .custom-section .news-card:has(.card-stretch:focus-visible) .news-title .word {
		transition-delay: 0s;
	}

	/* Formulário — tooltips sem deslocamento; o spinner continua (é feedback essencial), mais lento */
	.et-db .et-l .custom-section .soul-form .wpcf7-not-valid-tip,
	.et-db .et-l .custom-section .soul-form .wpcf7-response-output {
		animation: none;
	}
	.et-db .et-l .custom-section .soul-form .wpcf7-response-output.is-dismissed {
		visibility: hidden;
	}
	.et-db .et-l .custom-section .soul-form .wpcf7-spinner {
		animation-duration: 2s;
	}
}
