.elementor-kit-32{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-32 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===== Portal dos Fundos — overhaul visual para bater com mockup-home-v5 ===== */

body { background: #FAFAF8 !important; }
.site-main, .page-content { max-width: none !important; margin: 0 !important; padding: 0 !important; }
.entry-title, .page-header { display: none !important; }

/* ===================== HERO ===================== */
.elementor-element-5697db7 {
  position: relative; overflow: hidden;
  padding: 88px 56px !important; margin: 0 -40px !important; border-radius: 0 !important;
  background: #14171B !important;
}
.elementor-element-5697db7::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.06) 1px, transparent 1px);
  background-size: 42px 42px;
  -webkit-mask-image: radial-gradient(ellipse 70% 100% at 20% 30%, black 0%, transparent 72%);
  mask-image: radial-gradient(ellipse 70% 100% at 20% 30%, black 0%, transparent 72%);
}
/* painel visual decorativo do lado direito, simulando o mockup */
.elementor-element-5697db7::after {
  content: ""; position: absolute; top: 50%; right: 60px; width: 300px; height: 300px; z-index: 0;
  transform: translateY(-50%);
  border: 1px solid rgba(255,255,255,0.12); border-radius: 20px;
  background:
    radial-gradient(circle at 35% 30%, rgba(174,219,30,0.35), rgba(174,219,30,0.05) 60%),
    linear-gradient(165deg, #1A1E21 0%, #101315 100%);
  box-shadow: 0 0 80px rgba(174,219,30,0.12);
}
.elementor-element-5697db7 > .e-con-inner { position: relative; z-index: 1; max-width: 640px; }
.elementor-element-5697db7 h3 { font-family: "Montserrat", sans-serif !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.08em !important; text-transform: uppercase; margin-bottom: 20px !important; }
.elementor-element-5697db7 h1 { font-size: clamp(34px, 4.2vw, 52px) !important; line-height: 1.12 !important; letter-spacing: -0.01em; margin-bottom: 18px !important; }
.elementor-element-5697db7 p { font-size: 17px !important; line-height: 1.6 !important; max-width: 46ch; margin-bottom: 30px !important; }
.elementor-element-5697db7 .elementor-button { padding: 14px 28px !important; font-size: 14px !important; border-radius: 10px !important; }

/* ===================== SECCOES GERAIS ===================== */
.elementor-element-5697db7 ~ .elementor-element { padding-top: 56px !important; padding-bottom: 56px !important; }
.elementor-element-5d485a6 .sec-head, .elementor-element-5d485a6 { padding-top: 0 !important; }
.elementor-element-5697db7 + .elementor-element h2,
.elementor-element-5697db7 + .elementor-element h3 {
  font-family: "Montserrat", sans-serif !important; font-weight: 700 !important; letter-spacing: -0.01em;
}

/* titulo "Oportunidades ativas" */
.elementor-element-5d485a6 { padding-top: 8px !important; }


/* ===================== FILTROS ===================== */
.e-filter { display: flex !important; flex-wrap: wrap; gap: 10px; margin: 20px 0 36px !important; }
.e-filter-item {
  font-family: "Montserrat", sans-serif !important; font-size: 14px !important; font-weight: 600 !important;
  padding: 11px 22px !important; border: 1px solid rgba(28,31,34,0.14) !important; border-radius: 999px !important;
  background: #FFFFFF !important; color: #5B6167 !important; transition: all .15s ease;
}
.e-filter-item:hover { border-color: #1C1F22 !important; color: #1C1F22 !important; }
.e-filter-item[aria-pressed="true"] { background: #E51C1C !important; border-color: #E51C1C !important; color: #fff !important; }

/* ===================== STATS ===================== */
.elementor-element-da05861 {
  background: #fff !important; border-top: 1px solid rgba(28,31,34,0.1); border-bottom: 1px solid rgba(28,31,34,0.1);
  padding: 40px 0 !important; margin: 8px -40px 0 !important;
}
.elementor-element-da05861 > .e-con-inner { max-width: 1240px; margin: 0 auto; padding: 0 40px; display: flex !important; flex-wrap: wrap; }
.elementor-element-da05861 > .e-con-inner > .elementor-element { flex: 1 1 30%; min-width: 220px; }
.elementor-element-da05861 > .e-con-inner > .elementor-element:nth-child(2),
.elementor-element-da05861 > .e-con-inner > .elementor-element:nth-child(4) { margin-right: 24px !important; margin-bottom: 18px !important; }
.elementor-element-da05861 h3 { font-family: "Montserrat", sans-serif !important; font-size: 36px !important; font-weight: 800 !important; line-height: 1 !important; }
.elementor-element-da05861 > .e-con-inner > .elementor-element:nth-child(1) h3 { color: #E51C1C !important; }
.elementor-element-da05861 > .e-con-inner > .elementor-element:nth-child(3) h3 { color: #12BFA8 !important; }
.elementor-element-da05861 > .e-con-inner > .elementor-element:nth-child(5) h3 { color: #F0AC00 !important; }
.elementor-element-da05861 p { color: #5B6167 !important; font-size: 13.5px !important; margin-top: 4px !important; }

/* ===================== BANNERS ===================== */
.elementor-element-d0f818b { padding: 56px 0 !important; }
.elementor-element-d0f818b > .e-con-inner > .elementor-element:nth-child(1) { background: #F1F1ED; border-radius: 14px 14px 0 0; padding: 26px 30px 4px !important; }
.elementor-element-d0f818b > .e-con-inner > .elementor-element:nth-child(2) { background: #F1F1ED; padding: 0 30px !important; }
.elementor-element-d0f818b > .e-con-inner > .elementor-element:nth-child(3) { background: #F1F1ED; border-radius: 0 0 14px 14px; padding: 20px 30px 28px !important; margin-bottom: 48px !important; }
.elementor-element-d0f818b h3 { font-size: 18px !important; margin-bottom: 6px !important; }
.elementor-element-d0f818b > .e-con-inner > .elementor-element:nth-child(2) p { font-size: 14.5px !important; color: #5B6167 !important; max-width: 56ch; }
.elementor-element-d0f818b > .e-con-inner > .elementor-element:nth-child(n+4) { text-align: center; max-width: 640px; margin: 0 auto; }
.elementor-element-d0f818b > .e-con-inner > .elementor-element:nth-child(4) h2 { font-size: 34px !important; margin-bottom: 12px !important; }
.elementor-element-d0f818b > .e-con-inner > .elementor-element:nth-child(5) p { color: #5B6167 !important; font-size: 16px !important; margin-bottom: 24px !important; }
.elementor-element-d0f818b .elementor-button { border-radius: 10px !important; padding: 13px 26px !important; }
.elementor-element-d0f818b > .e-con-inner > .elementor-element:nth-child(3) .elementor-button { background: #1C1F22 !important; color: #fff !important; }
.elementor-element-d0f818b > .e-con-inner > .elementor-element:nth-child(6) .elementor-button { background: #1C1F22 !important; color: #fff !important; }
.elementor-element-d0f818b > .e-con-inner > .elementor-element:nth-child(6) .elementor-button:hover { background: #33373C !important; color: #fff !important; }

@media (max-width: 900px) {
  .elementor-element-5697db7::after { display: none; }
  .site-main, .page-content { padding: 0 20px !important; }
}


/* ===== HEADER ===== */
header.elementor-location-header {
  background: #FFFFFF !important;
  border-bottom: 1px solid #ECECE8;
  position: sticky; top: 0; z-index: 999;
}
.elementor-element-564a113 {
  padding: 16px 40px !important;
}
.elementor-element-564a113 > .e-con-inner {
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 32px !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
}
.elementor-element-46c6b8e { flex: 0 0 auto !important; }
.elementor-element-46c6b8e img {
  max-width: 190px !important;
  width: 190px !important;
  height: auto !important;
}
.elementor-element-f35bd56 {
  flex: 1 1 auto !important;
  text-align: center !important;
}
.elementor-element-f35bd56 .elementor-heading-title {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #383A3D !important;
  letter-spacing: 0.3px;
  white-space: nowrap;
}
.elementor-element-357293c { flex: 0 0 auto !important; }
.elementor-element-357293c .elementor-button {
  background: #1C1F22 !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  padding: 12px 24px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
}
.elementor-element-357293c .elementor-button:hover {
  background: #33373C !important;
  color: #FFFFFF !important;
}
@media (max-width: 900px) {
  .elementor-element-564a113 > .e-con-inner { flex-wrap: wrap !important; }
  .elementor-element-f35bd56 { order: 3; flex-basis: 100%; }
}


/* ===== FOOTER ===== */
footer.elementor-location-footer {
  background: #F1F1ED !important;
  border-top: 1px solid rgba(28,31,34,0.10);
}
.elementor-element-45a119d {
  padding: 56px 40px 26px !important;
}
.elementor-element-45a119d > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1.3fr 1fr 1fr 1fr !important;
  grid-template-rows: auto auto auto !important;
  grid-auto-flow: column !important;
  column-gap: 36px !important;
  row-gap: 12px !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  align-items: start !important;
}
/* col 1: brand */
.elementor-element-c5338b6 { font-family: "Montserrat", sans-serif !important; font-size: 20px !important; font-weight: 800 !important; color: #1C1F22 !important; margin-bottom: 4px !important; }
.elementor-element-405d385 .elementor-heading-title { font-size: 14px !important; color: #5B6167 !important; max-width: 32ch; line-height: 1.6; }

/* col headings */
.elementor-element-06aca9d .elementor-heading-title,
.elementor-element-a9efd0e .elementor-heading-title,
.elementor-element-bdcbb68 .elementor-heading-title {
  font-family: "JetBrains Mono", monospace !important;
  font-size: 11.5px !important; font-weight: 600 !important;
  letter-spacing: 0.08em !important; text-transform: uppercase !important;
  color: #9AA0A6 !important; margin-bottom: 14px !important;
}
/* col link lists (multi-line text with real newlines) */
.elementor-element-23c859a .elementor-heading-title,
.elementor-element-6e527e6 .elementor-heading-title,
.elementor-element-82c5c74 .elementor-heading-title {
  white-space: pre-line !important;
  font-size: 14px !important;
  color: #5B6167 !important;
  line-height: 2 !important;
}

/* map placeholder box with pin */
.elementor-element-bc131c6 {
  margin-top: 12px;
  border-radius: 14px;
  border: 1px solid rgba(28,31,34,0.10);
  overflow: hidden;
  position: relative;
  aspect-ratio: 4/3;
  background:
    linear-gradient(rgba(28,31,34,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(28,31,34,0.05) 1px, transparent 1px),
    #EDEDE9;
  background-size: 18px 18px, 18px 18px, auto;
}
.elementor-element-bc131c6::after {
  content: "";
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%,-60%) rotate(-45deg);
  width: 30px; height: 30px;
  border-radius: 50% 50% 50% 0;
  background: #E51C1C;
  box-shadow: 0 6px 16px rgba(229,28,28,0.35);
}
.elementor-element-bc131c6 .elementor-heading-title { display: none; }

/* bottom bar */
.elementor-element-892645b {
  grid-column: 1 / 2 !important;
  grid-row: 4 !important;
  padding-top: 24px !important;
  border-top: 1px solid rgba(28,31,34,0.10) !important;
  margin-top: 30px !important;
}
.elementor-element-892645b .elementor-heading-title {
  font-family: "JetBrains Mono", monospace !important;
  font-size: 11.5px !important; color: #9AA0A6 !important;
}
.elementor-element-892645b .elementor-heading-title b,
.elementor-element-892645b .elementor-heading-title strong { color: #5B6167 !important; }
.elementor-element-45d7bb9 {
  grid-column: 2 / 5 !important;
  grid-row: 4 !important;
  padding-top: 24px !important;
  border-top: 1px solid rgba(28,31,34,0.10) !important;
  margin-top: 30px !important;
  text-align: right !important;
}
.elementor-element-45d7bb9 .elementor-heading-title {
  font-family: "JetBrains Mono", monospace !important;
  font-size: 11.5px !important; color: #9AA0A6 !important;
}
@media (max-width: 900px) {
  .elementor-element-45a119d > .e-con-inner {
    grid-template-columns: 1fr 1fr !important;
    grid-auto-flow: row !important;
  }
  .elementor-element-892645b, .elementor-element-45d7bb9 {
    grid-column: 1 / -1 !important; text-align: left !important;
  }
}


/* ===== FOOTER GRID FIX: explicit placement (auto-flow packed wrong due to uneven column heights) ===== */
.elementor-element-45a119d > .e-con-inner { grid-auto-flow: row !important; }
.elementor-element-c5338b6 { grid-column: 1 / 2 !important; grid-row: 1 !important; }
.elementor-element-405d385 { grid-column: 1 / 2 !important; grid-row: 2 !important; }
.elementor-element-06aca9d { grid-column: 2 / 3 !important; grid-row: 1 !important; }
.elementor-element-23c859a { grid-column: 2 / 3 !important; grid-row: 2 !important; }
.elementor-element-a9efd0e { grid-column: 3 / 4 !important; grid-row: 1 !important; }
.elementor-element-6e527e6 { grid-column: 3 / 4 !important; grid-row: 2 !important; }
.elementor-element-bdcbb68 { grid-column: 4 / 5 !important; grid-row: 1 !important; }
.elementor-element-82c5c74 { grid-column: 4 / 5 !important; grid-row: 2 !important; }
.elementor-element-bc131c6 { grid-column: 4 / 5 !important; grid-row: 3 !important; }
@media (max-width: 900px) {
  .elementor-element-c5338b6, .elementor-element-405d385 { grid-column: 1 / 2 !important; }
  .elementor-element-06aca9d, .elementor-element-23c859a { grid-column: 2 / 3 !important; }
  .elementor-element-a9efd0e, .elementor-element-6e527e6 { grid-column: 1 / 2 !important; grid-row: 3 !important; }
  .elementor-element-6e527e6 { grid-row: 4 !important; }
  .elementor-element-bdcbb68 { grid-column: 2 / 3 !important; grid-row: 3 !important; }
  .elementor-element-82c5c74 { grid-column: 2 / 3 !important; grid-row: 4 !important; }
  .elementor-element-bc131c6 { grid-column: 2 / 3 !important; grid-row: 5 !important; }
}


/* ===== STATS: grid explícito 3 colunas (lição do footer: auto-flow falha com alturas desiguais) ===== */
.elementor-element-da05861 { padding: 40px !important; background: #F1F1ED !important; }
.elementor-element-da05861 > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  grid-template-rows: auto auto !important;
  grid-auto-flow: row !important;
  column-gap: 20px !important;
  row-gap: 4px !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
}
.elementor-element-a670227 { grid-column: 1 / 2 !important; grid-row: 1 !important; }
.elementor-element-43a5d4d { grid-column: 1 / 2 !important; grid-row: 2 !important; }
.elementor-element-5aafcd7 { grid-column: 2 / 3 !important; grid-row: 1 !important; }
.elementor-element-cfb8e03 { grid-column: 2 / 3 !important; grid-row: 2 !important; }
.elementor-element-7b6c525 { grid-column: 3 / 4 !important; grid-row: 1 !important; }
.elementor-element-17eb057 { grid-column: 3 / 4 !important; grid-row: 2 !important; }
.elementor-element-a670227 .elementor-heading-title,
.elementor-element-5aafcd7 .elementor-heading-title,
.elementor-element-7b6c525 .elementor-heading-title {
  font-family: "JetBrains Mono", monospace !important;
  font-weight: 700 !important; font-size: 30px !important; line-height: 1.1 !important;
}
.elementor-element-a670227 .elementor-heading-title { color: #E51C1C !important; }
.elementor-element-5aafcd7 .elementor-heading-title { color: #0D9488 !important; }
.elementor-element-7b6c525 .elementor-heading-title { color: #D97706 !important; }
.elementor-element-43a5d4d .elementor-heading-title,
.elementor-element-cfb8e03 .elementor-heading-title,
.elementor-element-17eb057 .elementor-heading-title {
  font-size: 13px !important; color: #5B6167 !important; margin-top: 3px !important;
}
@media (max-width: 780px) {
  .elementor-element-da05861 > .e-con-inner { grid-template-columns: 1fr !important; }
  .elementor-element-a670227,.elementor-element-43a5d4d { grid-column: 1 !important; }
  .elementor-element-5aafcd7,.elementor-element-cfb8e03 { grid-column: 1 !important; grid-row: 3 / 4 !important; }
  .elementor-element-cfb8e03 { grid-row: 4 / 5 !important; }
  .elementor-element-7b6c525,.elementor-element-17eb057 { grid-column: 1 !important; grid-row: 5 / 6 !important; }
  .elementor-element-17eb057 { grid-row: 6 / 7 !important; }
}

/* ===== BANNERS: compacto vira 1 caixa única + CTA final centrado abaixo ===== */
.elementor-element-d0f818b { padding: 56px 40px !important; }
.elementor-element-d0f818b > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  grid-template-rows: auto auto auto auto auto !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
}
/* caixa única do banner compacto: 3 itens partilham o mesmo fundo, sem espaço entre eles */
.elementor-element-1bc7f56, .elementor-element-22bcbae, .elementor-element-af8e799 {
  background: #F1F1ED !important;
  border: 1px solid rgba(28,31,34,0.10) !important;
}
.elementor-element-1bc7f56 {
  grid-column: 1 / 2 !important; grid-row: 1 !important;
  padding: 22px 0 4px 26px !important;
  border-right: none !important; border-bottom: none !important;
  border-radius: 14px 0 0 0 !important;
}
.elementor-element-1bc7f56 .elementor-heading-title { font-size: 16.5px !important; font-weight: 700 !important; color: #1C1F22 !important; }
.elementor-element-22bcbae {
  grid-column: 1 / 2 !important; grid-row: 2 !important;
  padding: 4px 20px 22px 26px !important;
  border-right: none !important; border-top: none !important;
  border-radius: 0 0 0 14px !important;
}
.elementor-element-22bcbae .elementor-heading-title { font-size: 14px !important; color: #5B6167 !important; max-width: 56ch; }
.elementor-element-af8e799 {
  grid-column: 2 / 3 !important; grid-row: 1 / 3 !important;
  border-left: none !important;
  border-radius: 0 14px 14px 0 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  padding: 0 26px !important;
}
.elementor-element-af8e799 .elementor-button {
  background: #1C1F22 !important; color: #fff !important;
  padding: 12px 22px !important; border-radius: 8px !important; font-size: 14px !important; white-space: nowrap;
}
.elementor-element-af8e799 .elementor-button:hover { background: #33373C !important; color: #fff !important; }

/* CTA final: centrado, largura total, por baixo da caixa */
.elementor-element-e72819f {
  grid-column: 1 / 3 !important; grid-row: 3 !important;
  text-align: center !important; margin-top: 56px !important;
}
.elementor-element-e72819f .elementor-heading-title { font-size: 30px !important; font-weight: 800 !important; color: #1C1F22 !important; max-width: 32ch; margin: 0 auto; }
.elementor-element-b9c2dfa {
  grid-column: 1 / 3 !important; grid-row: 4 !important;
  text-align: center !important; margin-top: 12px !important;
}
.elementor-element-b9c2dfa .elementor-heading-title { font-size: 15.5px !important; color: #5B6167 !important; }
.elementor-element-67816b1 {
  grid-column: 1 / 3 !important; grid-row: 5 !important;
  display: flex !important; justify-content: center !important; margin-top: 22px !important;
}
.elementor-element-67816b1 .elementor-button {
  background: #1C1F22 !important; color: #fff !important;
  padding: 13px 26px !important; border-radius: 8px !important; font-weight: 700 !important; font-size: 14px !important;
}
.elementor-element-67816b1 .elementor-button:hover { background: #33373C !important; color: #fff !important; }
@media (max-width: 780px) {
  .elementor-element-d0f818b > .e-con-inner { grid-template-columns: 1fr !important; }
  .elementor-element-1bc7f56 { grid-column: 1 !important; border-radius: 14px 14px 0 0 !important; padding: 22px 20px 4px !important; }
  .elementor-element-22bcbae { grid-column: 1 !important; border-radius: 0 !important; padding: 4px 20px !important; }
  .elementor-element-af8e799 { grid-column: 1 !important; grid-row: 3 !important; border-radius: 0 0 14px 14px !important; padding: 20px !important; }
  .elementor-element-e72819f,.elementor-element-b9c2dfa,.elementor-element-67816b1 { grid-column: 1 !important; }
  .elementor-element-e72819f { grid-row: 4 !important; }
  .elementor-element-b9c2dfa { grid-row: 5 !important; }
  .elementor-element-67816b1 { grid-row: 6 !important; }
}


/* ===== FIDELITY PASS: reordenar secções para bater com o mockup ===== */
.elementor-18 { display: flex !important; flex-direction: column !important; }
.elementor-element-5697db7 { order: 1 !important; }   /* hero */
.elementor-element-da05861 { order: 2 !important; }   /* stats -> antes dos cards */
.elementor-element-95aa68d { order: 3 !important; }   /* oportunidades (filtro+cards) */
.elementor-element-d0f818b { order: 4 !important; }   /* banners */

/* dentro de "oportunidades": filtro primeiro, depois eyebrow+título, depois grid */
.elementor-element-c99f5c9 { order: 1 !important; margin-bottom: 40px !important; }
.elementor-element-cdc0ff4 { order: 3 !important; }
.elementor-element-5d485a6 { order: 4 !important; }

/* ===== HERO: grid explícito (texto + barra de pesquisa + botão), painel decorativo com conteúdo real ===== */
.elementor-element-5697db7 > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  column-gap: 14px !important;
  row-gap: 4px !important;
  max-width: 640px !important;
}
.elementor-element-a8fa369 { grid-column: 1 / 3 !important; grid-row: 1 !important; }
.elementor-element-f0b6c60 { grid-column: 1 / 3 !important; grid-row: 2 !important; margin-top: 12px !important; }
.elementor-element-43fd0c1 { grid-column: 1 / 3 !important; grid-row: 3 !important; margin-bottom: 22px !important; }
.elementor-element-d609afd { grid-column: 1 / 2 !important; grid-row: 4 !important; }
.elementor-element-73110d7 { grid-column: 2 / 3 !important; grid-row: 4 !important; align-self: center !important; }

/* eyebrow com bullet */
.elementor-element-a8fa369 .elementor-heading-title::before { content: "\25CF  "; color: #AEDB1E; }

/* barra de pesquisa (widget de texto a imitar um input) */
.elementor-element-d609afd {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 10px !important;
  padding: 14px 18px !important;
  display: flex !important; align-items: center !important;
}
.elementor-element-d609afd .elementor-heading-title {
  font-size: 14px !important; color: rgba(255,255,255,0.55) !important;
  display: flex !important; align-items: center !important; gap: 8px !important;
  margin: 0 !important;
}
.elementor-element-d609afd .elementor-heading-title img.emoji { width: 15px; height: 15px; opacity: 0.6; }
.elementor-element-73110d7 .elementor-button {
  background: #3A3F45 !important; color: #FFFFFF !important;
  padding: 14px 24px !important; border-radius: 10px !important;
  font-weight: 700 !important; font-size: 14px !important; white-space: nowrap !important;
}
.elementor-element-73110d7 .elementor-button:hover { background: #4A4F55 !important; color: #FFFFFF !important; }

/* painel decorativo à direita: anéis + glow (já existente via ::after) + conteúdo real por cima */
.elementor-element-5697db7 { position: relative !important; }
.elementor-element-5697db7::after {
  border-radius: 20px !important;
}
.elementor-element-5697db7::before {
  content: "";
  position: absolute; top: 50%; right: 60px; width: 300px; height: 300px; z-index: 0;
  transform: translateY(-50%);
  border-radius: 50%;
  border: 1px solid rgba(174,219,30,0.18);
  box-shadow: 0 0 0 40px rgba(174,219,30,0.03), 0 0 0 80px rgba(174,219,30,0.02);
}
.elementor-element-3fdbedc {
  position: absolute !important; z-index: 2 !important;
  top: calc(50% - 130px) !important; right: 90px !important;
  font-size: 11px !important; font-weight: 700 !important; letter-spacing: 0.06em; text-transform: uppercase;
  color: #AEDB1E !important;
}
.elementor-element-0a92319, .elementor-element-3344326, .elementor-element-8e8fd80 {
  position: absolute !important; z-index: 2 !important;
  bottom: calc(50% - 130px) !important;
  font-family: "JetBrains Mono", monospace !important;
}
.elementor-element-0a92319 { right: 250px !important; }
.elementor-element-3344326 { right: 165px !important; }
.elementor-element-8e8fd80 { right: 90px !important; }
.elementor-element-0a92319 .elementor-heading-title,
.elementor-element-3344326 .elementor-heading-title,
.elementor-element-8e8fd80 .elementor-heading-title {
  white-space: pre-line !important;
  font-size: 11px !important; color: rgba(255,255,255,0.4) !important;
  line-height: 1.6 !important; text-transform: uppercase; letter-spacing: 0.05em;
}
.elementor-element-0a92319 .elementor-heading-title,
.elementor-element-3344326 .elementor-heading-title,
.elementor-element-8e8fd80 .elementor-heading-title { }
@media (max-width: 900px) {
  .elementor-element-3fdbedc, .elementor-element-0a92319, .elementor-element-3344326, .elementor-element-8e8fd80 { display: none !important; }
  .elementor-element-5697db7 > .e-con-inner { grid-template-columns: 1fr !important; }
  .elementor-element-d609afd, .elementor-element-73110d7 { grid-column: 1 / 2 !important; }
  .elementor-element-73110d7 { grid-row: 5 !important; margin-top: 10px !important; }
}

/* ===== STATS: ícones + cartão branco unificado por número ===== */
.elementor-element-a670227, .elementor-element-43a5d4d,
.elementor-element-5aafcd7, .elementor-element-cfb8e03,
.elementor-element-7b6c525, .elementor-element-17eb057 {
  background: #FFFFFF !important;
  border: 1px solid rgba(28,31,34,0.10) !important;
  padding-left: 66px !important;
  position: relative !important;
  min-height: 30px;
}
.elementor-element-a670227, .elementor-element-5aafcd7, .elementor-element-7b6c525 {
  border-bottom: none !important; border-radius: 12px 12px 0 0 !important; padding-top: 18px !important;
}
.elementor-element-43a5d4d, .elementor-element-cfb8e03, .elementor-element-17eb057 {
  border-top: none !important; border-radius: 0 0 12px 12px !important; padding-bottom: 18px !important;
}
.elementor-element-a670227::before, .elementor-element-43a5d4d::before,
.elementor-element-5aafcd7::before, .elementor-element-cfb8e03::before,
.elementor-element-7b6c525::before, .elementor-element-17eb057::before {
  content: ""; display: none;
}
.elementor-element-a670227::after {
  content: "€"; position: absolute; left: 18px; top: 16px; width: 34px; height: 34px; border-radius: 8px;
  background: #FBE7E7; color: #E51C1C; font-size: 16px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.elementor-element-5aafcd7::after {
  content: "↗"; position: absolute; left: 18px; top: 16px; width: 34px; height: 34px; border-radius: 8px;
  background: #E1F5F2; color: #0D9488; font-size: 16px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.elementor-element-7b6c525::after {
  content: "\23F1"; position: absolute; left: 18px; top: 16px; width: 34px; height: 34px; border-radius: 8px;
  background: #FDF0DC; color: #D97706; font-size: 15px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}


/* ===== FIX: painel decorativo do hero posicionava-se relativo ao e-con-inner (estreito) em vez do hero inteiro ===== */
.elementor-element-5697db7 > .e-con-inner { position: static !important; }
.elementor-element-3fdbedc, .elementor-element-0a92319, .elementor-element-3344326, .elementor-element-8e8fd80 {
  z-index: 3 !important;
}


/* ===== EYEBROWS: reordenar + estilizar ===== */
.elementor-element-1412eca { order: 0 !important; margin-bottom: 12px !important; }   /* "Filtrar por área" antes dos pills */
.elementor-element-c99f5c9 { order: 1 !important; }
.elementor-element-1706a5f { order: 2 !important; margin-top: 40px !important; }        /* "● Incentivos" antes do título */
.elementor-element-cdc0ff4 { order: 3 !important; }
.elementor-element-5d485a6 { order: 4 !important; }

.elementor-element-1412eca .elementor-heading-title {
  font-family: "JetBrains Mono", monospace !important;
  font-size: 11.5px !important; font-weight: 600 !important;
  letter-spacing: 0.08em !important; text-transform: uppercase !important;
  color: #9AA0A6 !important;
}
.elementor-element-1706a5f .elementor-heading-title {
  font-size: 12px !important; font-weight: 700 !important;
  letter-spacing: 0.06em !important; text-transform: uppercase !important;
  color: #E51C1C !important;
}

/* CTA final eyebrow: mover para cima do título, dar-lhe a linha própria */
.elementor-element-c472a4d {
  grid-column: 1 / 3 !important; grid-row: 3 !important;
  text-align: center !important; margin-top: 56px !important;
}
.elementor-element-c472a4d .elementor-heading-title {
  font-size: 12px !important; font-weight: 700 !important;
  letter-spacing: 0.06em !important; text-transform: uppercase !important;
  color: #E51C1C !important;
}
.elementor-element-e72819f { grid-row: 4 !important; margin-top: 10px !important; }
.elementor-element-b9c2dfa { grid-row: 5 !important; }
.elementor-element-67816b1 { grid-row: 6 !important; }



/* ===== CONTACTO: layout 2 colunas (formulário WPForms + escritórios) ===== */
.elementor-element-8a730d3{ display:flex !important; flex-wrap:wrap !important; align-items:flex-start !important; gap:32px !important; }
.elementor-element-bf475bc{
  flex:1 1 560px !important; max-width:62% !important;
  background:#fff !important; border:1px solid rgba(28,31,34,.10) !important; border-radius:10px !important;
  padding:28px !important; box-shadow:0 1px 2px rgba(20,22,24,.04), 0 10px 28px rgba(20,22,24,.06) !important;
}
.elementor-element-0af3843{ flex:1 1 300px !important; max-width:34% !important; }
@media (max-width:860px){
  .elementor-element-bf475bc, .elementor-element-0af3843{ max-width:100% !important; flex-basis:100% !important; }
}

/* ===== CONTACTO: formulário WPForms (id 236) a bater com o design pf- ===== */
#wpforms-236-field_4-container{ display:none !important; }
#wpforms-236 .wpforms-field{ margin-bottom:14px !important; }
#wpforms-236 .wpforms-field-label{
  display:block !important; font-family:"Montserrat",sans-serif !important; font-size:12.5px !important;
  font-weight:700 !important; color:#5B6167 !important; text-transform:uppercase !important;
  letter-spacing:.03em !important; margin-bottom:6px !important;
}
#wpforms-236 .wpforms-required-label{ color:#E51C1C !important; }
#wpforms-236 .wpforms-field-medium{
  width:100% !important; max-width:100% !important; font-family:"Montserrat",sans-serif !important;
  font-size:14.5px !important; color:#1C1F22 !important; border:1px solid rgba(28,31,34,.16) !important;
  border-radius:8px !important; padding:11px 13px !important; height:auto !important; box-sizing:border-box !important;
}
#wpforms-236 textarea.wpforms-field-medium{ min-height:110px !important; resize:vertical !important; }
#wpforms-236 .wpforms-field-medium:focus{ border-color:#E51C1C !important; box-shadow:0 0 0 3px rgba(229,28,28,.10) !important; outline:0 !important; }
#wpforms-236 .wpforms-submit-container{ margin-top:6px !important; }
#wpforms-236 button.wpforms-submit{
  background:#1C1F22 !important; color:#fff !important; font-family:"Montserrat",sans-serif !important;
  font-weight:700 !important; font-size:14.5px !important; text-transform:none !important; letter-spacing:normal !important;
  padding:13px 26px !important; border-radius:10px !important; border:0 !important; height:auto !important;
  box-shadow:0 1px 2px rgba(20,22,24,.15), 0 10px 24px rgba(20,22,24,.22) !important; transition:background .15s ease, transform .15s ease !important;
}
#wpforms-236 button.wpforms-submit:hover{ background:#33373C !important; color:#fff !important; transform:translateY(-1px) !important; }


/* ===== CONTACTO: campos do WPForms lado a lado (Nome+Empresa, Email+Telefone) ===== */
#wpforms-236 .wpforms-field-container{ display:flex !important; flex-wrap:wrap !important; gap:0 14px !important; }
#wpforms-236 #wpforms-236-field_1-container,
#wpforms-236 #wpforms-236-field_16-container,
#wpforms-236 #wpforms-236-field_2-container,
#wpforms-236 #wpforms-236-field_17-container{
  flex:1 1 calc(50% - 7px) !important; max-width:calc(50% - 7px) !important;
}
#wpforms-236 #wpforms-236-field_18-container,
#wpforms-236 #wpforms-236-field_3-container{
  flex:1 1 100% !important; max-width:100% !important;
}
@media (max-width:520px){
  #wpforms-236 #wpforms-236-field_1-container,
  #wpforms-236 #wpforms-236-field_16-container,
  #wpforms-236 #wpforms-236-field_2-container,
  #wpforms-236 #wpforms-236-field_17-container{ flex:1 1 100% !important; max-width:100% !important; }
}


/* ===== CONTACTO: alinhar a base das 2 colunas (formulário e escritórios/mapa) ===== */
.elementor-element-8a730d3{ align-items:stretch !important; }
.elementor-element-0af3843{ display:flex !important; flex-direction:column !important; }
.elementor-element-0af3843 > .e-con-inner{ display:flex !important; flex-direction:column !important; flex:1 !important; }
.elementor-element-0af3843 .elementor-widget-html,
.elementor-element-0af3843 .elementor-widget-container{ display:flex !important; flex-direction:column !important; flex:1 !important; }
.elementor-element-0af3843 #pf-contacto-offices{ display:flex !important; flex-direction:column !important; flex:1 !important; }
.elementor-element-0af3843 .pf-offices{ flex:1 !important; }
.elementor-element-0af3843 .pf-map{ margin-top:auto !important; }
@media (max-width:860px){
  .elementor-element-8a730d3{ align-items:flex-start !important; }
}/* End custom CSS */