.elementor-kit-7{--e-global-color-primary:#000000;--e-global-color-secondary:#111111;--e-global-color-text:#6B6B6B;--e-global-color-accent:#9B9B9B;--e-global-color-ootpaper:#FFFFFF;--e-global-color-oothair:#CFCFCF;--e-global-color-ootmark:#DEDEDE;--e-global-color-ootmedia:#E4E4E4;--e-global-color-ootband:#E8E8E8;--e-global-color-ootchip:#EDEDED;--e-global-color-ootfoot:#F2F2F2;--e-global-typography-primary-font-family:"Fira Sans";--e-global-typography-primary-font-size:40px;--e-global-typography-primary-font-weight:300;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-line-height:1.15em;--e-global-typography-primary-letter-spacing:0em;--e-global-typography-secondary-font-family:"Fira Sans";--e-global-typography-secondary-font-size:11px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-secondary-letter-spacing:0.06em;--e-global-typography-text-font-family:"Fira Sans";--e-global-typography-text-font-size:15px;--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-text-line-height:1.75em;--e-global-typography-text-letter-spacing:0em;--e-global-typography-accent-font-family:"Fira Sans";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1em;--e-global-typography-accent-letter-spacing:0.02em;--e-global-typography-ootdisplay-font-family:"Fira Sans";--e-global-typography-ootdisplay-font-size:46px;--e-global-typography-ootdisplay-font-weight:300;--e-global-typography-ootdisplay-text-transform:uppercase;--e-global-typography-ootdisplay-line-height:1.15em;--e-global-typography-ootdisplay-letter-spacing:0em;--e-global-typography-ootartigo-font-family:"Fira Sans";--e-global-typography-ootartigo-font-size:54px;--e-global-typography-ootartigo-font-weight:300;--e-global-typography-ootartigo-text-transform:none;--e-global-typography-ootartigo-line-height:1.35em;--e-global-typography-ootartigo-letter-spacing:0em;--e-global-typography-odeveloph2-font-family:"Fira Sans";--e-global-typography-odeveloph2-font-size:30px;--e-global-typography-odeveloph2-font-weight:300;--e-global-typography-odeveloph2-text-transform:uppercase;--e-global-typography-odeveloph2-line-height:1.15em;--e-global-typography-odeveloph2-letter-spacing:0em;--e-global-typography-ooth3-font-family:"Fira Sans";--e-global-typography-ooth3-font-size:28px;--e-global-typography-ooth3-font-weight:700;--e-global-typography-ooth3-text-transform:none;--e-global-typography-ooth3-line-height:1.15em;--e-global-typography-ooth3-letter-spacing:0em;--e-global-typography-ootcard-font-family:"Fira Sans";--e-global-typography-ootcard-font-size:17px;--e-global-typography-ootcard-font-weight:500;--e-global-typography-ootcard-text-transform:uppercase;--e-global-typography-ootcard-line-height:1.2em;--e-global-typography-ootcard-letter-spacing:0em;--e-global-typography-ootlead-font-family:"Fira Sans";--e-global-typography-ootlead-font-size:20px;--e-global-typography-ootlead-font-weight:400;--e-global-typography-ootlead-text-transform:none;--e-global-typography-ootlead-line-height:1.5em;--e-global-typography-ootlead-letter-spacing:0em;--e-global-typography-ootcap-font-family:"Fira Sans";--e-global-typography-ootcap-font-size:13px;--e-global-typography-ootcap-font-weight:400;--e-global-typography-ootcap-text-transform:none;--e-global-typography-ootcap-line-height:1.5em;--e-global-typography-ootcap-letter-spacing:0em;--e-global-typography-ootbody16-font-family:"Fira Sans";--e-global-typography-ootbody16-font-size:16px;--e-global-typography-ootbody16-font-weight:400;--e-global-typography-ootbody16-text-transform:none;--e-global-typography-ootbody16-line-height:2em;--e-global-typography-ootbody16-letter-spacing:0em;--e-global-typography-ootmicro-font-family:"Fira Sans";--e-global-typography-ootmicro-font-size:11px;--e-global-typography-ootmicro-font-weight:400;--e-global-typography-ootmicro-text-transform:uppercase;--e-global-typography-ootmicro-line-height:1em;--e-global-typography-ootmicro-letter-spacing:0.02em;--e-global-typography-ootnano-font-family:"Fira Sans";--e-global-typography-ootnano-font-size:9px;--e-global-typography-ootnano-font-weight:400;--e-global-typography-ootnano-text-transform:uppercase;--e-global-typography-ootnano-line-height:1em;--e-global-typography-ootnano-letter-spacing:0.06em;--e-global-typography-ootcapb-font-family:"Fira Sans";--e-global-typography-ootcapb-font-size:13px;--e-global-typography-ootcapb-font-weight:700;--e-global-typography-ootcapb-text-transform:none;--e-global-typography-ootcapb-line-height:1.5em;--e-global-typography-ootcapb-letter-spacing:0em;--e-global-typography-ootarticard-font-family:"Fira Sans";--e-global-typography-ootarticard-font-size:28px;--e-global-typography-ootarticard-font-weight:300;--e-global-typography-ootarticard-text-transform:none;--e-global-typography-ootarticard-line-height:1.25em;--e-global-typography-ootarticard-letter-spacing:0em;--e-global-typography-oothero16-font-family:"Fira Sans";--e-global-typography-oothero16-font-size:28px;--e-global-typography-oothero16-font-weight:300;--e-global-typography-oothero16-text-transform:none;--e-global-typography-oothero16-line-height:1.25em;--e-global-typography-oothero16-letter-spacing:0em;--e-global-typography-ootclient-font-family:"Fira Sans";--e-global-typography-ootclient-font-size:20px;--e-global-typography-ootclient-font-weight:400;--e-global-typography-ootclient-text-transform:uppercase;--e-global-typography-ootclient-line-height:1.2em;--e-global-typography-ootclient-letter-spacing:0em;color:#111111;font-family:"Fira Sans", sans-serif;font-size:15px;font-weight:400;line-height:1.75em;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:#000000;font-family:"Fira Sans", sans-serif;font-size:9px;font-weight:400;text-transform:uppercase;letter-spacing:0.06em;color:#FFFFFF;border-radius:0px 0px 0px 0px;padding:7px 12px 7px 12px;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{background-color:#000000;color:#FFFFFF;}.elementor-kit-7 e-page-transition{background-color:#FFFFFF;}.elementor-kit-7 a{color:#000000;}.elementor-kit-7 a:hover{color:#000000;}.elementor-kit-7 h1{color:#000000;font-family:"Fira Sans", sans-serif;font-size:40px;font-weight:300;text-transform:uppercase;line-height:1.15em;}.elementor-kit-7 h2{color:#000000;font-family:"Fira Sans", sans-serif;font-size:30px;font-weight:300;text-transform:uppercase;line-height:1.15em;}.elementor-kit-7 h3{color:#000000;font-family:"Fira Sans", sans-serif;font-size:28px;font-weight:700;line-height:1.15em;}.elementor-kit-7 h4{color:#000000;font-family:"Fira Sans", sans-serif;font-size:20px;font-weight:400;line-height:1.5em;}.elementor-kit-7 h5{color:#000000;font-family:"Fira Sans", sans-serif;font-size:17px;font-weight:500;line-height:1.2em;}.elementor-kit-7 h6{color:#000000;font-family:"Fira Sans", sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;line-height:1.2em;letter-spacing:0.06em;}.elementor-kit-7 img{border-radius:0px 0px 0px 0px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:869px;}.e-con{--container-max-width:869px;}.elementor-widget:not(:last-child){margin-block-end: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:1045px){.elementor-kit-7{--e-global-typography-primary-font-size:34px;--e-global-typography-ootdisplay-font-size:38px;--e-global-typography-ootartigo-font-size:40px;--e-global-typography-odeveloph2-font-size:26px;--e-global-typography-ooth3-font-size:24px;--e-global-typography-ootarticard-font-size:24px;--e-global-typography-oothero16-font-size:24px;--e-global-typography-ootclient-font-size:20px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{--e-global-typography-primary-font-size:28px;--e-global-typography-ootdisplay-font-size:30px;--e-global-typography-ootartigo-font-size:30px;--e-global-typography-odeveloph2-font-size:24px;--e-global-typography-ooth3-font-size:22px;--e-global-typography-ootarticard-font-size:21px;--e-global-typography-oothero16-font-size:21px;--e-global-typography-ootclient-font-size:20px;}.elementor-kit-7 h1{font-size:28px;}.elementor-kit-7 h2{font-size:24px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ---- OOT: regras de sistema (Configuracoes do site > CSS personalizado) ---- */

/* Proporcao dos blocos de video da grade */
.oot-ratio { width: 100%; }
.oot-ratio-16-9 { aspect-ratio: 16 / 9; }
.oot-ratio-142 { aspect-ratio: 1.42; }
.oot-ratio-124 { aspect-ratio: 1.24; }

/* Hover: so opacidade. Nunca cor, nunca sublinhado, nunca escala. */
#oot-header .elementor-nav-menu a,
#oot-footer .elementor-nav-menu a,
#oot-footer .elementor-social-icon,
.elementor-widget-image img {
  transition: opacity 120ms cubic-bezier(0.2, 0, 0.2, 1);
}
#oot-header .elementor-nav-menu a:hover,
#oot-footer .elementor-nav-menu a:hover,
#oot-footer .elementor-social-icon:hover { opacity: 0.55; }
#oot-header .elementor-nav-menu a:active,
#oot-footer .elementor-nav-menu a:active { opacity: 0.4; }
.elementor-widget-image a:hover img { opacity: 0.82; }

/* A pagina atual e o unico item em bold na navegacao */
#oot-header .elementor-widget-nav-menu .elementor-nav-menu .elementor-item.elementor-item-active,
#oot-header .elementor-widget-nav-menu .elementor-nav-menu .current-menu-ancestor > .elementor-item,
#oot-footer .elementor-widget-nav-menu .elementor-nav-menu .elementor-item.elementor-item-active,
#oot-footer .elementor-widget-nav-menu .elementor-nav-menu .current-menu-ancestor > .elementor-item {
  font-weight: 700;
}

/* Nada arredondado, nada com sombra */
.elementor-widget img,
.elementor-button,
.elementor-search-form__container { border-radius: 0; box-shadow: none; }

/* ---- Formulario de contato (Elementor) ---- */
/* Campo sem caixa: o filete inferior vem dos controles do widget. */
.oot-form .elementor-field-group .elementor-field { padding-left: 0; padding-right: 0; }
.oot-form .elementor-field-group .elementor-field:focus { border-bottom-color: #000000; outline: none; box-shadow: none; }
.oot-form .elementor-field-group ::placeholder { color: #9B9B9B; opacity: 1; }
.oot-form textarea.elementor-field { resize: vertical; min-height: 56px; }
.oot-form .elementor-button { transition: opacity 120ms cubic-bezier(0.2, 0, 0.2, 1); }
.oot-form .elementor-button:hover { opacity: 0.55; }

/* Busca da pagina Conteudo */
.elementor-widget-search-form input[type="search"] { box-shadow: none; }


/* Capa do card de projeto: play sobreposto quando ha video */
.oot-capa { position: relative; }
.oot-play-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; pointer-events: none; margin: 0; }
.oot-play-overlay .elementor-widget-container { display: flex; align-items: center; justify-content: center; }
.oot-play-overlay .elementor-icon-wrapper { display: flex; }
.jet-listing-dynamic-image img { width: 100%; display: block; }


/* Galeria do projeto: duas imagens lado a lado, depois uma de largura inteira */
.oot-galeria-ritmo .jet-engine-gallery-grid { align-items: flex-start; }
.oot-galeria-ritmo .jet-engine-gallery-grid__item:nth-child(3n),
.oot-galeria-ritmo .jet-engine-gallery-grid__item:last-child:nth-child(3n+1) {
  max-width: 100%;
  flex-basis: 100%;
}

/* Grade de Projetos: começa em 3 por fileira e alterna 3-2-3-2 (so no desktop).
   Usa nth-of-type porque o JetSmartFilters injeta um <style> como primeiro
   filho da lista ao filtrar por AJAX, o que deslocaria o nth-child. */
@media (min-width: 1046px) {
  .oot-grade-projetos div.jet-listing-grid__item {
    width: 33.3333%;
    max-width: 33.3333%;
    flex: 0 0 33.3333%;
  }
  .oot-grade-projetos div.jet-listing-grid__item:nth-of-type(5n+4),
  .oot-grade-projetos div.jet-listing-grid__item:nth-of-type(5n) {
    width: 50%;
    max-width: 50%;
    flex: 0 0 50%;
  }
  /* ultimo item sozinho na fileira ocupa a largura inteira */
  .oot-grade-projetos div.jet-listing-grid__item:last-child:nth-of-type(5n+1),
  .oot-grade-projetos div.jet-listing-grid__item:last-child:nth-of-type(5n+4) {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
  }
}

/* Cards de publicacao: a imagem linkada precisa ocupar a coluna inteira,
   senao o <a> fica inline-block e encolhe para a proporcao da imagem. */
.elementor-widget-theme-post-featured-image .elementor-widget-container > a { display: block; width: 100%; }
.elementor-widget-theme-post-featured-image img { width: 100%; }

/* ---- Filtros da pagina de Projetos (JetSmartFilters) ---- */

/* o rotulo do filtro fica oculto: o proprio chip ja se explica */
.oot-filtro-chips .jet-filter-label,
.oot-filtro-tabs .jet-filter-label { display: none; }

/* a caixa de marcacao nativa some; o bloco inteiro vira o alvo de clique */
.oot-filtro-chips .jet-checkboxes-list__input,
.oot-filtro-tabs .jet-checkboxes-list__input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}
.oot-filtro-chips .jet-checkboxes-list__item,
.oot-filtro-tabs .jet-checkboxes-list__item { margin: 0; }
/* a lista real fica dentro de um fieldset; a grade precisa ir nele */
.oot-filtro-chips .jet-checkboxes-list-wrapper,
.oot-filtro-tabs .jet-checkboxes-list-wrapper {
  border: 0;
  margin: 0;
  padding: 0;
  min-width: 0;
}
.oot-filtro-chips .jet-checkboxes-list-wrapper > legend,
.oot-filtro-tabs .jet-checkboxes-list-wrapper > legend { display: none; }
.oot-filtro-chips .jet-checkboxes-list__row,
.oot-filtro-tabs .jet-checkboxes-list__row { display: block; }

/* Chips de servico: grade de 3 colunas, blocos cinza, invertendo quando ativos */
.oot-filtro-chips .jet-checkboxes-list-wrapper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
}
.oot-filtro-chips .jet-checkboxes-list__button {
  display: block;
  background: #EDEDED;
  color: #111111;
  padding: 5px 6px;
  text-align: center;
  cursor: pointer;
  font-size: 9px;
  line-height: 1.3;
  transition: background-color 200ms cubic-bezier(0.2, 0, 0.2, 1), color 200ms cubic-bezier(0.2, 0, 0.2, 1);
}
.oot-filtro-chips .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button {
  background: #000000;
  color: #FFFFFF;
}

/* Destaques: mesma linguagem das abas de filtro do design */
.oot-filtro-tabs .jet-checkboxes-list-wrapper { display: flex; gap: 12px; justify-content: flex-end; }
.oot-filtro-tabs .jet-checkboxes-list__button {
  display: block;
  background: transparent;
  color: #000000;
  padding: 4px 6px;
  cursor: pointer;
  font-size: 11px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  transition: background-color 200ms cubic-bezier(0.2, 0, 0.2, 1), color 200ms cubic-bezier(0.2, 0, 0.2, 1);
}
.oot-filtro-tabs .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button {
  background: #000000;
  color: #FFFFFF;
}

/* Todos: limpa os filtros, com o mesmo peso de uma aba inativa */
.oot-filtro-reset .jet-remove-all-filters__button {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 4px 6px;
  cursor: pointer;
  color: #000000;
  font-family: inherit;
  font-size: 11px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  transition: opacity 120ms cubic-bezier(0.2, 0, 0.2, 1);
}
.oot-filtro-reset .jet-remove-all-filters__button:hover { opacity: 0.55; }

/* Setor: campo sem caixa, so filete inferior */
.oot-filtro-select .jet-filter-label { display: none; }
.oot-filtro-select select {
  width: 100%;
  border: 0;
  border-bottom: 1px solid #9B9B9B;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 5px 0;
  color: #000000;
  font-family: inherit;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.oot-filtro-select select:focus { border-bottom-color: #000000; outline: none; }

/* Abas de filtro dos Projetos: o painel abre sob as abas, a direita */
.oot-abas-filtro .e-n-tabs-content > * {
  max-width: 470px;
  margin-left: auto;
}
@media (max-width: 767px) {
  .oot-abas-filtro .e-n-tabs-content > * { max-width: none; margin-left: 0; }
}
/* sem moldura nem separador: a aba ativa ja e o bloco preto */
.oot-abas-filtro .e-n-tabs-heading { border: 0; }
.oot-abas-filtro .e-n-tab-title { border-radius: 0; }

/* Limpar filtros em evidencia: bloco com filete preto, abaixo das abas.
   Aparece assim que algum filtro esta ativo. */
.oot-filtro-reset-visivel .jet-remove-all-filters { display: flex; justify-content: flex-end; }
.oot-filtro-reset-visivel .jet-remove-all-filters__button {
  border: 1px solid #000000;
  padding: 9px 14px;
  color: #000000;
  background: transparent;
  transition: opacity 120ms cubic-bezier(0.2, 0, 0.2, 1);
}
.oot-filtro-reset-visivel .jet-remove-all-filters__button:hover { opacity: 0.55; }

/* Play clicavel: o overlay deixa o clique passar para a capa, menos no circulo */
.oot-play-overlay .elementor-icon-wrapper,
.oot-play-overlay .elementor-icon { pointer-events: auto; cursor: pointer; }

/* Texto rico dos projetos (contexto, texto complementar e secoes de conteudo) */
.oot-rico p { margin: 0 0 1.1em; }
.oot-rico > :last-child, .oot-rico .jet-listing-dynamic-field__content > :last-child { margin-bottom: 0; }
.oot-rico strong, .oot-rico b { color: var(--e-global-color-primary); font-weight: 600; }
.oot-rico a { color: var(--e-global-color-primary); text-decoration: underline; }
.oot-rico h2, .oot-rico h3, .oot-rico h4 { color: var(--e-global-color-primary); font-weight: 300; font-style: italic; font-size: 26px; line-height: 1.3; margin: 1.4em 0 .6em; }
.oot-rico h5, .oot-rico h6 { color: var(--e-global-color-primary); font-weight: 700; text-transform: uppercase; font-size: 12px; letter-spacing: .02em; margin: 2em 0 .4em; }
.oot-rico ul, .oot-rico ol { margin: 0 0 1.1em; padding-left: 1.2em; }
.oot-rico ul:has(> li > strong:first-child), .oot-rico .oot-atributos { list-style: none; padding: 0; margin: 48px 0 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: 48px; row-gap: 20px; }
.oot-rico ul:has(> li > strong:first-child) > li > strong:first-child, .oot-rico .oot-atributos strong:first-child { display: block; text-transform: uppercase; font-weight: 700; }
.oot-rico ul:has(> li > strong:first-child) > li > strong:first-child + br, .oot-rico .oot-atributos strong:first-child + br { display: none; }
.oot-blocos-projeto .jet-listing-not-found { display: none; }
@media (max-width: 767px) { .oot-rico ul:has(> li > strong:first-child), .oot-rico .oot-atributos { grid-template-columns: 1fr; margin-top: 32px; } }
.elementor-widget.oot-rotulo .jet-listing-dynamic-field .jet-listing-dynamic-field__inline-wrap .jet-listing-dynamic-field__content { text-transform: uppercase; }
.oot-bloco-projeto h3.jet-listing-dynamic-field__content { margin: 0; }
/* fim texto rico */

/* Slide de publicacoes: titulo sem tarja, legivel sobre a foto */
.oot-slide-titulo .elementor-heading-title { text-shadow: 0 1px 12px rgba(0,0,0,.35); }

/* Marcadores dos slides (Home e Conteudo): quadrados, ativo preto e alongado.
   Via variaveis do Swiper, que vencem a especificidade do JetEngine. */
.oot-slider { --swiper-pagination-color: #000; --swiper-pagination-bullet-inactive-color: #D9D9D9; --swiper-pagination-bullet-inactive-opacity: 1; --swiper-pagination-bullet-width: 12px; --swiper-pagination-bullet-height: 12px; --swiper-pagination-bullet-border-radius: 0; --swiper-pagination-bullet-horizontal-gap: 3px; }
.oot-slider .jet-engine-swiper-pagination-wrapper .swiper-pagination-bullet { border-radius: 0; transition: width .2s ease; }
.oot-slider .jet-engine-swiper-pagination-wrapper .swiper-pagination-bullet-active { width: 29px; }

/* Aba Destaques: sem filtro, mostra so a selecao de projetos.
   A troca de grade acompanha a aba ativa, sem AJAX. */
.oot-grade-destaques { display: none; }
body:has(.oot-abas-filtro .e-n-tab-title[data-tab-index='1'][aria-selected='true']) .oot-grade-destaques { display: block; }
body:has(.oot-abas-filtro .e-n-tab-title[data-tab-index='1'][aria-selected='true']) .oot-grade-todos { display: none; }
/* Marcadores somem quando ha um unico slide */
.oot-slider .jet-engine-swiper-pagination-wrapper:has(.swiper-pagination-bullet:only-child) { display: none; }
.oot-slider .swiper-pagination-bullet:only-child { display: none; }/* End custom CSS */