/* EX P O N E N C I A L — Estilos personalizados consolidados.
   Etapa 3, rodada 2: removidas declarações inválidas e uma regra responsiva duplicada.
   Não editar os arquivos anteriores: este arquivo os substitui na página. */


/* ====================================================================
   ORIGEM: css/style.css
   ==================================================================== */
/* Base */
html {
  overflow-x: hidden; }
  

body {
  line-height: 1.7;
  color:#18345e;
  font-weight: 400;
  font-size: 1rem; }

  html, body {
  margin: 0 !important;
  padding: 0 !important;
}
.social-logos {
  display: flex;
  justify-content: center !important;
  align-items: center !important;
  gap: 60px; /* espaço entre logos */
  margin: 10px 0;
}

.img-001 {
  width: 60px;
  height: auto;
  transition: transform 0.3s ease;
}

.img-001:hover {
  transform: scale(1.1);
}
::-moz-selection {
  background: #000;
  color: #fff; }

::selection {
  background: #000;
  color: #fff; }

a {
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease; }
  a:hover {
    text-decoration: none; }

h1, h2, h3, h4, h5,
.h1, .h2, .h3, .h4, .h5 {
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }
  h3 {
    color: black !important; }
.border-2 {
  border-width: 2px; }

.text-black {
  color: #000 !important; }

.bg-black {
  background: #000 !important; }

.color-black-opacity-5 {
  color: rgba(0, 0, 0, 0.5); }

.color-white-opacity-5 {
  color: rgba(255, 255, 255, 0.5); }

body:after {
  -webkit-transition: .3s all ease-in-out;
  -o-transition: .3s all ease-in-out;
  transition: .3s all ease-in-out; }

.offcanvas-menu {
  position: relative; }
  .offcanvas-menu:after {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    top: 0;
    right: 0;
    z-index: 999;
    background: rgba(0, 0, 0, 0.2); }

.btn {
  font-size: 16px;
  border-radius: 30px;
  padding: 10px 30px; }
  .btn:hover, .btn:active, .btn:focus {
    outline: none;
    -webkit-box-shadow: none !important;
    box-shadow: none !important; }
  .btn.btn-primary {
    background: #18345e;
    border-color: #18345e;
    color: #fff; }
    .btn.btn-primary:hover {
      background: #18345e;
      border-color: #18345e;
      color: #fff; }
    .btn.btn-primary.btn-black--hover:hover {
      background: #666666;
      color: #fff; }

.line-height-1 {
  line-height: 1 !important; }

.bg-black {
  background: #000; }

html, body {
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  background-color: #f5f5f5;
}

form {
  width: 100%;
  height: 100%;
  padding: 20px;
  box-sizing: border-box;
  background: #fff;
}

.form-control {
  width: 100%;
  height: 35px; /* menor altura */
  border-radius: 20px;
  margin-bottom: 12px;
  font-size: 14px; /* texto menor */
  padding: 5px 12px; /* menos espaço interno */
}

textarea.form-control {
  height: 70px; /* textarea menor */
  min-height: 70px;
  resize: none;
}

/* Botões menores */
button.btn {
  width: auto;
  padding: 6px 16px;
  font-size: 13px;
  border-radius: 18px;
  margin-top: 10px;
}

.site-section {
  padding: 2.5em 0; }
  @media (min-width: 768px) {
    .site-section {
      padding: 8em 0; } }
  .site-section.site-section-sm {
    padding: 4em 0; }

.site-section-heading {
  padding-bottom: 20px;
  margin-bottom: 0px;
  position: relative;
  font-size: 2.5rem; }
  @media (min-width: 768px) {
    .site-section-heading {
      font-size: 3rem; } }

.site-footer {
  padding: 4em 0;
  background: #18345e; }
  @media (min-width: 768px) {
    .site-footer {
      padding: 8em 0; } }
  .site-footer .border-top {
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important; }
  .site-footer p {
    color: rgba(255, 255, 255, 0.7); }
  .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5 {
    color: #fff; }
  .site-footer a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: underline; }
    .site-footer a:hover {
      color: white; }
  .site-footer ul li {
    margin-bottom: 10px; }
  .site-footer .footer-heading {
    font-size: 16px;
    color: #fff; }

.bg-text-line {
  display: inline;
  background: #000;
  -webkit-box-shadow: 20px 0 0 #000, -20px 0 0 #000;
  box-shadow: 20px 0 0 #000, -20px 0 0 #000; }

.text-white-opacity-05 {
  color: rgba(0, 0, 0, 0.5); }

.text-black-opacity-05 {
  color: rgba(0, 0, 0, 0.5); }

.hover-bg-enlarge {
  overflow: hidden;
  position: relative; }
  @media (max-width: 991.98px) {
    .hover-bg-enlarge {
      height: auto !important; } }
  .hover-bg-enlarge > div {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -webkit-transition: .8s all ease-in-out;
    -o-transition: .8s all ease-in-out;
    transition: .8s all ease-in-out; }
  .hover-bg-enlarge:hover > div, .hover-bg-enlarge:focus > div, .hover-bg-enlarge:active > div {
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2); }
  @media (max-width: 991.98px) {
    .hover-bg-enlarge .bg-image-md-height {
      height: 300px !important; } }

.bg-image {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed; }
  .bg-image.overlay {
    position: relative; }
    .bg-image.overlay:after {
      position: absolute;
      content: "";
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 0;
      width: 100%;
      background: rgba(0, 0, 0, 0.7); }
  .bg-image > .container {
    position: relative;
    z-index: 1; }

@media (max-width: 991.98px) {
  .img-md-fluid {
    max-width: 100%; } }

@media (max-width: 991.98px) {
  .display-1, .display-3 {
    font-size: 3rem; } }

.play-single-big {
  width: 90px;
  height: 90px;
  display: inline-block;
  border: 2px solid #fff;
  color: #fff !important;
  border-radius: 50%;
  position: relative;
  -webkit-transition: .3s all ease-in-out;
  -o-transition: .3s all ease-in-out;
  transition: .3s all ease-in-out; }
  .play-single-big > span {
    font-size: 50px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-40%, -50%);
    -ms-transform: translate(-40%, -50%);
    transform: translate(-40%, -50%); }
  .play-single-big:hover {
    width: 120px;
    height: 120px; }

/* Centralizacao global de .row removida: cada secao controla seu alinhamento. */

.overlap-to-top {
  margin-top: -150px; }

.ul-check {
  margin-bottom: 50px; }
  .ul-check li {
    position: relative;
    padding-left: 35px;
    margin-bottom: 15px;
    line-height: 1.5; }
    .ul-check li:before {
      left: 0;
      font-size: 20px;
      top: -.3rem;
      font-family: "icomoon";
      content: "\e5ca";
      position: absolute; }
  .ul-check.white li:before {
    color: #fff; }
  .ul-check.success li:before {
    color: #71bc42; }
  .ul-check.primary li:before {
    color: #007bff; }
  .ul-check li.remove {
    text-decoration: line-through;
    color: #dee2e6; }
    .ul-check li.remove:before {
      color: #dee2e6; }

.select-wrap, .wrap-icon {
  position: relative; }
  .select-wrap .icon, .wrap-icon .icon {
    position: absolute;
    right: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 22px; }
  .select-wrap select, .wrap-icon select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%; }
/* Esconde qualquer barra horizontal da página */
.valor-item {
  overflow-x: hidden;
}

/* Navbar */
.site-navbar {
  margin-bottom: 0px;
  z-index: 1999;
  position: fixed;
  top: 0;
  width: 100%;
  background-color: #fff; 
  border-bottom: #fff;
}
.site-navbar .site-logo {
  position: relative;
  left: 0;
  top: -5px;
}
.site-navbar .site-navigation .site-menu { 
  margin-bottom: 0;
}
.site-navbar .site-navigation .site-menu .active {
  color: #007bff;
  display: inline-block;
  padding: 20px 20px;
}
.site-navbar .site-navigation .site-menu a {
  text-decoration:  #007bff !important;
  display: inline-block;
}
.site-navbar .site-navigation .site-menu > li {
  display: inline-block;
}
.site-navbar .site-navigation .site-menu > li > a {
  padding: 20px 20px;
  color: #fff;
  display: inline-block;
  text-decoration: #007bff !important;
}
.site-navbar .site-navigation .site-menu > li > a:hover {
  color: #007bff;
}
.site-navbar .site-navigation .site-menu > li.social > a {
  padding-left: 5px;
  padding-right: 5px;
}
.site-navbar .site-navigation .site-menu .has-children {
  position: relative;
}
.site-navbar .site-navigation .site-menu .has-children > a {
  position: relative;
  padding-right: 20px;
}
.site-navbar .site-navigation .site-menu .has-children > a:before {
  position: absolute;
  content: "\e313";
  font-size: 16px;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  font-family: 'icomoon';
}
.site-navbar .site-navigation .site-menu .has-children .dropdown {
  visibility: hidden;
  opacity: 0;
  top: 100%;
  position: absolute;
  text-align: left;
  border-top: 2px solid #007bff;
  box-shadow: 0 2px 10px -2px rgba(0, 0, 0, 0.1);
  padding: 0px 0;
  margin-top: 20px;
  margin-left: 0px;
  background: #fff;
  transition: 0.2s 0s;
  color: black; /* <-- esta linha adiciona a cor preta às letras */
}



/*<--menu do sobre*/

/* Fundo preto e texto branco no dropdown */
.has-children .dropdown {
  background-color: black; /* fundo preto */
  padding: 10px;
  list-style: none;
  position: absolute;
  display: none; /* fica escondido até hover */
}

.has-children:hover .dropdown {
  display: block; /* mostra o dropdown ao passar mouse */
}

.has-children .dropdown li a {
  color: rgb(0, 0, 0); /* texto branco */
  text-decoration: none;
  display: block;
  padding: 5px 10px;
}

.has-children .dropdown li a:hover {
  background-color: #333; /* efeito hover */
  color: rgb(0, 0, 0);
}


.site-navbar .site-navigation .site-menu .has-children .dropdown.arrow-top {
  position: absolute;
}
.site-navbar .site-navigation .site-menu .has-children .dropdown.arrow-top:before {
  bottom: 100%;
  left: 20%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}
.site-navbar .site-navigation .site-menu .has-children .dropdown.arrow-top:before {
  border-color: rgba(136, 183, 213, 0);
  border-bottom-color: #fff;
  border-width: 10px;
  margin-left: -10px;
}
.site-navbar .site-navigation .site-menu .has-children .dropdown a {
  text-transform: none;
  letter-spacing: normal;
  transition: 0s all;
  color: #000;
}
.site-navbar .site-navigation .site-menu .has-children .dropdown .active {
  color: #fff !important;
}
.site-navbar .site-navigation .site-menu .has-children .dropdown > li {
  list-style: none;
  padding: 0;
  margin: 0;
  min-width: 210px;
}
.site-navbar .site-navigation .site-menu .has-children .dropdown > li > a {
  padding: 9px 20px;
  display: block;
}
.site-navbar .site-navigation .site-menu .has-children .dropdown > li > a:hover {
  background:#f7eaeae1;
  color: #000;
}
/* Menu principal */
.site-navbar {
  position: fixed;
  top: 0;
  width: 100%;
  height: 80px;           /* altura fixa do menu */
  background-color: #18345e;
  z-index: 1999;
  display: flex;           /* ativa flexbox */
  align-items: center;     /* centraliza verticalmente */
  padding: 0 20px;         /* espaçamento lateral */
}

/* Logo */
.site-logo {
  display: flex;
  align-items: center;    /* centraliza verticalmente */
  justify-content: center; /* centraliza horizontalmente */
  height: 100%;            /* ocupa altura do menu */
}

.logo-menu {
  height: 30px;  /* ajuste da imagem */
  width: auto;
  display: block;
  margin: 0;
}
.site-navigation {
  margin-left: 124px; /* afasta os links da logo */
}

/* Container do menu */
.site-navigation {
  height: 100%;            /* ocupa altura total do menu */
}

/* Lista de links */
.site-menu {
  display: flex;           /* deixa os itens em linha */
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Itens do menu */
.site-menu > li {
  margin: 0px 10px;          /* espaço entre os links */
}

/* Links */
.site-menu > li > a {
  display: flex;           /* ativa flexbox no link */
  align-items: center;     /* centraliza verticalmente */
  padding: 0 15px;         /* apenas espaçamento horizontal */
  height: 100%;            /* ocupa altura do menu */
  color: white;
  text-decoration: none;
}

/* Hover */
.site-menu > li > a:hover {
  color: #007bff;
}


.nav-link {
  color: white;
}


.site-navbar .site-navigation .site-menu .has-children .dropdown > li.has-children > a:before {
  content: "\e315";
  right: 20px;
}
.site-navbar .site-navigation .site-menu .has-children .dropdown > li.has-children > .dropdown,
.site-navbar .site-navigation .site-menu .has-children .dropdown > li.has-children > ul {
  left: 100%;
  top: 0;
}
.site-navbar .site-navigation .site-menu .has-children:hover > a,
.site-navbar .site-navigation .site-menu .has-children:focus > a,
.site-navbar .site-navigation .site-menu .has-children:active > a {
  color: #007bff;
}
.site-navbar .site-navigation .site-menu .has-children:hover,
.site-navbar .site-navigation .site-menu .has-children:focus,
.site-navbar .site-navigation .site-menu .has-children:active {
  cursor: pointer;
}
.site-navbar .site-navigation .site-menu .has-children:hover > .dropdown,
.site-navbar .site-navigation .site-menu .has-children:focus > .dropdown,
.site-navbar .site-navigation .site-menu .has-children:active > .dropdown {
  transition-delay: 0s;
  margin-top: 0px;
  visibility: visible;
  opacity: 1;

}
/* Ajustes apenas no mobile */
@media (max-width: 768px) {
  .site-logo img {
    display: block;
    margin: 100px;     /* Centraliza */
    max-width: 200px;   /* controla o tamanho do logo */
    height: auto;       /* mantém proporção */
  }
}


.site-mobile-menu {
  width: 200px;
  position: fixed;
  right: 0;
  z-index: 2000;
  padding-top: 20px;
  background:#18345e;
  height: calc(100vh);
  -webkit-transform: translateX(110%);
  -ms-transform: translateX(110%);
  transform: translateX(110%);
  -webkit-box-shadow: -10px 0 20px -10px rgba(0, 0, 0, 0.1);
  box-shadow: -10px 0 20px -10px rgba(0, 0, 0, 0.1);
  -webkit-transition: .3s all ease-in-out;
  -o-transition: .3s all ease-in-out;
  transition: .3s all ease-in-out; }
  .offcanvas-menu .site-mobile-menu {
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%); }
  .site-mobile-menu .site-mobile-menu-header {
    width: 100%;
    float: left;
    padding-left: 20px;
    padding-right: 20px; }
    .site-mobile-menu .site-mobile-menu-header .site-mobile-menu-close {
      float: right;
      margin-top: 8px; }
      .site-mobile-menu .site-mobile-menu-header .site-mobile-menu-close span {
        font-size: 30px;
        display: inline-block;
        padding-left: 10px;
        padding-right: 0px;
        line-height: 1;
        cursor: pointer;
        -webkit-transition: .3s all ease;
        -o-transition: .3s all ease;
        transition: .3s all ease; }
    .site-mobile-menu .site-mobile-menu-header .site-mobile-menu-logo {
      float: left;
      margin-top: 10px;
      margin-left: 0px; }
      .site-mobile-menu .site-mobile-menu-header .site-mobile-menu-logo a {
        display: inline-block;
        text-transform: uppercase; }
        .site-mobile-menu .site-mobile-menu-header .site-mobile-menu-logo a img {
          max-width: 70px; }
        .site-mobile-menu .site-mobile-menu-header .site-mobile-menu-logo a:hover {
          text-decoration: none; }
  .site-mobile-menu .site-mobile-menu-body {
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    position: relative;
    padding: 0 20px 20px 20px;
    height: calc(100vh - 52px);
    padding-bottom: 150px; }
  .site-mobile-menu .site-nav-wrap {
    padding: 0;
    margin: 0;
    list-style: none;
    position: relative; }
    .site-mobile-menu .site-nav-wrap a {
      padding: 10px 20px;
      display: block;
      position: relative;
      color: #212529; }
      .site-mobile-menu .site-nav-wrap a:hover {
        color: #007bff; }
    .site-mobile-menu .site-nav-wrap li {
      position: relative;
      display: block; }
      .site-mobile-menu .site-nav-wrap li .active {
        color: #007bff; }
    .site-mobile-menu .site-nav-wrap .social {
      display: inline-block; }
    .site-mobile-menu .site-nav-wrap .arrow-collapse {
      position: absolute;
      right: 0px;
      top: 10px;
      z-index: 20;
      width: 36px;
      height: 36px;
      text-align: center;
      cursor: pointer;
      border-radius: 50%; }
      .site-mobile-menu .site-nav-wrap .arrow-collapse:hover {
        background: #f8f9fa; }
      .site-mobile-menu .site-nav-wrap .arrow-collapse:before {
        font-size: 12px;
        z-index: 20;
        font-family: "icomoon";
        content: "\f078";
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%) rotate(-180deg);
        -ms-transform: translate(-50%, -50%) rotate(-180deg);
        transform: translate(-50%, -50%) rotate(-180deg);
        -webkit-transition: .3s all ease;
        -o-transition: .3s all ease;
        transition: .3s all ease; }
      .site-mobile-menu .site-nav-wrap .arrow-collapse.collapsed:before {
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }
    .site-mobile-menu .site-nav-wrap > li {
      display: block;
      position: relative;
      float: left;
      width: 100%; }
      .site-mobile-menu .site-nav-wrap > li.social {
        float: none !important;
        width: auto !important; }
      .site-mobile-menu .site-nav-wrap > li > a {
        padding-left: 20px;
        font-size: 20px; }
      .site-mobile-menu .site-nav-wrap > li > ul {
        padding: 0;
        margin: 0;
        list-style: none; }
        .site-mobile-menu .site-nav-wrap > li > ul > li {
          display: block; }
          .site-mobile-menu .site-nav-wrap > li > ul > li > a {
            padding-left: 40px;
            font-size: 16px; }
          .site-mobile-menu .site-nav-wrap > li > ul > li > ul {
            padding: 0;
            margin: 0; }
            .site-mobile-menu .site-nav-wrap > li > ul > li > ul > li {
              display: block; }
              .site-mobile-menu .site-nav-wrap > li > ul > li > ul > li > a {
                font-size: 16px;
                padding-left: 60px; }
    .site-mobile-menu .site-nav-wrap[data-class="social"] {
      float: left;
      width: 100%;
      margin-top: 30px;
      padding-bottom: 5em; }
      .site-mobile-menu .site-nav-wrap[data-class="social"] > li {
        width: auto; }
        .site-mobile-menu .site-nav-wrap[data-class="social"] > li:first-child a {
          padding-left: 15px !important; }





.sticky-wrapper {
  position: absolute;
  z-index: 100;
  width: 100%; }
  .sticky-wrapper .site-navbar {
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease; }
  .sticky-wrapper .site-navbar {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
    .sticky-wrapper .site-navbar .site-menu-toggle {
      color: #fff; }
    .sticky-wrapper .site-navbar .site-logo a {
      color: #fff; }
    .sticky-wrapper .site-navbar .site-menu > li > a {
      color: rgba(255, 255, 255, 0.7) !important; }
      .sticky-wrapper .site-navbar .site-menu > li > a:hover, .sticky-wrapper .site-navbar .site-menu > li > a.active {
        color: #fff !important; }
  .sticky-wrapper.is-sticky .site-navbar {
    background: #fff;
    border-bottom: 1px solid transparent;
    -webkit-box-shadow: 4px 0 20px -5px rgba(0, 0, 0, 0.1);
    box-shadow: 4px 0 20px -5px rgba(0, 0, 0, 0.1); }
    .sticky-wrapper.is-sticky .site-navbar .site-menu-toggle {
      color: #000; }
    .sticky-wrapper.is-sticky .site-navbar .site-logo a {
      color: #007bff; }
    .sticky-wrapper.is-sticky .site-navbar .site-menu > li > a {
      color: #000 !important; }
      .sticky-wrapper.is-sticky .site-navbar .site-menu > li > a:hover, .sticky-wrapper.is-sticky .site-navbar .site-menu > li > a.active {
        color: #007bff !important; }

/* Blocks */
.site-blocks-cover {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; }
  .site-blocks-cover.overlay {
    position: relative; }
    .site-blocks-cover.overlay:before {
      position: absolute;
      content: "";
      left: 0;
      bottom: 0;
      right: 0;
      top: 0;
      background: rgba(0, 0, 0, 0.7); }
  .site-blocks-cover .player {
    position: absolute;
    bottom: -250px;
    width: 100%; }
  .site-blocks-cover, .site-blocks-cover > .container > .row {
    min-height: 600px;
    height: calc(100vh); }
  .site-blocks-cover.inner-page-cover, .site-blocks-cover.inner-page-cover > .container > .row {
    min-height: 400px;
    height: calc(20vh); }
  .site-blocks-cover h1 {
    font-size: 4rem;
    color: #fff;
    font-weight: 900; }
    @media (max-width: 991.98px) {
      .site-blocks-cover h1 {
        font-size: 2rem; } }
  .site-blocks-cover p {
    color: white;
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 300; }
  .site-blocks-cover .desc {
    font-size: 1.4rem;
    font-weight: 300; }
    .site-blocks-cover .desc a {
      color: white;
      border-bottom: dotted 1px #fff; }
      .site-blocks-cover .desc a:hover {
        color: #fff; }
  .site-blocks-cover .intro-text {
    font-size: 16px;
    line-height: 1.5; }
  @media (max-width: 991.98px) {
    .site-blocks-cover .display-1 {
      font-size: 3rem; } }

.circle-bg {
  position: relative; }
  .circle-bg:after {
    width: 300px;
    height: 300px;
    content: "";
    z-index: -1;
    border-radius: 50%;
    position: absolute;
    bottom: -90px;
    right: -90px;
    background: #f8f9fa; }
    @media (max-width: 991.98px) {
      .circle-bg:after {
        bottom: 0px;
        right: -10px;
        display: none; } }
    @media (max-width: 767.98px) {
      .circle-bg:after {
        display: none; } }

.site-block-subscribe .btn {
  padding-left: 20px;
  padding-right: 20px; }

.site-block-subscribe .form-control {
  font-weight: 300;
  border-color: #fff !important;
  height: 80px;
  font-size: 22px;
  color: #fff;
  padding-left: 30px;
  padding-right: 30px; }
  .site-block-subscribe .form-control::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    color: rgba(255, 255, 255, 0.5);
    font-weight: 200;
    font-style: italic; }
  .site-block-subscribe .form-control::-moz-placeholder {
    /* Firefox 19+ */
    color: rgba(255, 255, 255, 0.5);
    font-weight: 200;
    font-style: italic; }
  .site-block-subscribe .form-control:-ms-input-placeholder {
    /* IE 10+ */
    color: rgba(255, 255, 255, 0.5);
    font-weight: 200;
    font-style: italic; }
  .site-block-subscribe .form-control:-moz-placeholder {
    /* Firefox 18- */
    color: rgba(255, 255, 255, 0.5);
    font-weight: 200;
    font-style: italic; }

.bg-light {
  background: #ccc; }

  .row-equipe {
    justify-content: center !important;
}

.team-member {
    height: 100% !important;
}


.team-member img {
    width: 180px !important;
    height: 180px !important;
    object-fit: cover !important;
}
.site-blocks-vs .bg-image {
  padding-top: 3em;
  padding-bottom: 3em; }
  @media (min-width: 992px) {
    .site-blocks-vs .bg-image {
      padding-top: 5em;
      padding-bottom: 5em; } }

.site-blocks-vs .image {
  width: 80px;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 80px;
  flex: 0 0 80px; }
  @media (max-width: 991.98px) {
    .site-blocks-vs .image {
      margin-left: auto !important;
      margin-right: auto !important; } }
  .site-blocks-vs .image img {
    border-radius: 50%; }
  .site-blocks-vs .image.image-small {
    width: 50px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50px;
    flex: 0 0 50px; }

.site-blocks-vs .country {
  color: rgba(255, 255, 255, 0.7); }

.match-entry {
  position: relative;
  -webkit-transition: .2s all ease-in-out;
  -o-transition: .2s all ease-in-out;
  transition: .2s all ease-in-out;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05); }
  .match-entry .small {
    color: #ccc;
    font-weight: normal;
    letter-spacing: .15em; }
  .match-entry:hover {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
    z-index: 90;
    -webkit-box-shadow: 0 5px 40px -5px rgba(0, 0, 0, 0.1);
    box-shadow: 0 5px 40px -5px rgba(0, 0, 0, 0.1); }

    /* Espaçamento geral da seção */
.Contato-section {
    padding-bottom: 500px;
}

/* Nova linha de Santa Maria */
.contato-santa-maria {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid #e0e0e0;
}

/* Espaçamento entre ícones e textos */
.contato-santa-maria .icon-room,
.contato-santa-maria .icon-phone,
.contato-santa-maria .icon-mail_outline {
    margin-bottom: 100px;
}

/* Espaçamento dos parágrafos */
.contato-santa-maria p {
    margin-bottom: 0;
    line-height: 1.8;
}

/* Responsivo para celular */
@media (max-width: 768px) {
    .contato-santa-maria .col-md-4 {
        margin-bottom: 25px;
    }
}

.post-entry {
  position: relative;
  overflow: hidden;
  border: 1px solid #e6e6e6; }
  .post-entry, .post-entry .text {
    border-radius: 4px;
    border-top: none !important; }
  .post-entry .date {
    color: #ccc;
    font-weight: normal;
    letter-spacing: .1em; }
  .post-entry .image {
    overflow: hidden;
    position: relative; }
    .post-entry .image img {
      -webkit-transition: .3s all ease;
      -o-transition: .3s all ease;
      transition: .3s all ease;
      -webkit-transform: scale(1);
      -ms-transform: scale(1);
      transform: scale(1); }
  .post-entry:hover .image img, .post-entry:active .image img, .post-entry:focus .image img {
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2); }

.site-block-tab .nav-item {
  text-transform: uppercase;
  font-size: 0.8rem;
  margin: 0 20px; }
  .site-block-tab .nav-item:first-child {
    margin-left: 0 !important; }
  .site-block-tab .nav-item > a {
    padding-left: 0 !important;
    background: none !important;
    padding-right: 0 !important;
    border-bottom: 2px solid transparent;
    border-radius: 0 !important;
    font-weight: bold;
    color: #cccccc; }
    .site-block-tab .nav-item > a:hover, .site-block-tab .nav-item > a.active {
      border-bottom: 2px solid #18345e;
      color: #000; }

.block-12 {
  position: relative; }
  .block-12 figure {
    position: relative; }
    .block-12 figure:before {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: -moz-linear-gradient(top, transparent 0%, transparent 18%, rgba(0, 0, 0, 0.8) 99%, rgba(0, 0, 0, 0.8) 100%);
      background: -webkit-linear-gradient(top, transparent 0%, transparent 18%, rgba(0, 0, 0, 0.8) 99%, rgba(0, 0, 0, 0.8) 100%);
      background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(18%, transparent), color-stop(99%, rgba(0, 0, 0, 0.8)), to(rgba(0, 0, 0, 0.8)));
      background: -o-linear-gradient(top, transparent 0%, transparent 18%, rgba(0, 0, 0, 0.8) 99%, rgba(0, 0, 0, 0.8) 100%);
      background: linear-gradient(to bottom, transparent 0%, transparent 18%, rgba(0, 0, 0, 0.8) 99%, rgba(0, 0, 0, 0.8) 100%);
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#cc000000',GradientType=0 ); }
  .block-12 .text-overlay {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    z-index: 10; }
    .block-12 .text-overlay h2 {
      color: #fff; }
  .block-12 .text {
    position: relative;
    top: -100px; }
    .block-12 .text .meta {
      text-transform: uppercase;
      padding-left: 40px;
      color: #fff;
      display: block;
      margin-bottom: 20px; }
    .block-12 .text .text-inner {
      -webkit-box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.3);
      box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.3);
      background: #fff;
      padding: 10px;
      margin-right: 30px;
      position: relative; }
      @media (min-width: 576px) {
        .block-12 .text .text-inner {
          padding: 20px; } }
      @media (min-width: 768px) {
        .block-12 .text .text-inner {
          padding: 30px 40px; } }
      .block-12 .text .text-inner:before {
        position: absolute;
        content: "";
        width: 80px;
        height: 4px;
        margin-top: -4px;
        background: #18345e;
        top: 0; }
      .block-12 .text .text-inner .heading {
        font-size: 20px;
        margin: 0;
        padding: 0; }

.block-16 figure {
  position: relative; }
  .block-16 figure .play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-size: 20px;
    width: 70px;
    height: 70px;
    background: #fff;
    display: block;
    border-radius: 50%;
    opacity: 1;
    color: #18345e !important; }
    .block-16 figure .play-button:hover {
      opacity: 1; }
    .block-16 figure .play-button > span {
      position: absolute;
      left: 55%;
      top: 50%;
      -webkit-transform: translate(-60%, -50%);
      -ms-transform: translate(-60%, -50%);
      transform: translate(-60%, -50%); }

.block-25 ul, .block-25 ul li {
  padding: 0;
  margin: 0; }

.block-25 ul li a .image {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 90px;
  flex: 0 0 90px; }
  .block-25 ul li a .image img {
    border-radius: 4px;
    max-width: 100%;
    opacity: 1;
    -webkit-transition: .3s all ease-in-out;
    -o-transition: .3s all ease-in-out;
    transition: .3s all ease-in-out; }

.block-25 ul li a .text .heading {
  font-size: 18px;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease;
  color: #999999; }

.block-25 ul li a .meta {
  color: #18345e; }

.block-25 ul li a:hover img {
  opacity: .5; }

.block-25 ul li a:hover .text .heading {
  color: #fff; }

#date-countdown .countdown-block {
  color: #b3b3b3; }

#date-countdown .label {
  font-size: 40px;
  color: #000; }

.next-match .image {
  width: 50px;
  border-radius: 50%; }

.player {
  position: relative; }
  .player img {
    max-width: 100px;
    border-radius: 50%;
    margin-bottom: 20px; }
  .player .team-number {
    position: absolute;
    width: 30px;
    height: 30px;
    background: #18345e;
    border-radius: 50%;
    color: #fff; }
    .player .team-number > span {
      position: absolute;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      left: 50%;
      top: 50%; }
  .player h2 {
    font-size: 20px;
    letter-spacing: .2em;
    text-transform: uppercase; }
  .player .position {
    font-size: 14px;
    color: #b3b3b3;
    text-transform: uppercase; }

.site-block-27 ul, .site-block-27 ul li {
  padding: 0;
  margin: 0; }

.site-block-27 ul li {
  display: inline-block;
  margin-bottom: 4px; }
  .site-block-27 ul li a, .site-block-27 ul li span {
    text-align: center;
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    border-radius: 50%;
    border: 1px solid #ccc; }
  .site-block-27 ul li.active a, .site-block-27 ul li.active span {
    background: #18345e;
    color: #fff;
    border: 1px solid transparent; }

.site-block-feature-7 .icon {
  -webkit-transition: .2s all ease-in-out;
  -o-transition: .2s all ease-in-out;
  transition: .2s all ease-in-out;
  position: relative;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1); }

.site-block-feature-7:hover .icon, .site-block-feature-7:focus .icon, .site-block-feature-7:active .icon {
  -webkit-transform: scale(1.2);
  -ms-transform: scale(1.2);
  transform: scale(1.2); }

.unit-1 {
  position: relative;
  width: 100%;
  overflow: hidden;
  display: block; }
  .unit-1:after {
    content: "";
    z-index: 1;
    position: absolute;
    bottom: 0;
    top: 0;
    left: 0;
    right: 0;
    background: -moz-linear-gradient(top, transparent 0%, transparent 18%, rgba(0, 0, 0, 0.8) 99%, rgba(0, 0, 0, 0.8) 100%);
    background: -webkit-linear-gradient(top, transparent 0%, transparent 18%, rgba(0, 0, 0, 0.8) 99%, rgba(0, 0, 0, 0.8) 100%);
    background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(18%, transparent), color-stop(99%, rgba(0, 0, 0, 0.8)), to(rgba(0, 0, 0, 0.8)));
    background: -o-linear-gradient(top, transparent 0%, transparent 18%, rgba(0, 0, 0, 0.8) 99%, rgba(0, 0, 0, 0.8) 100%);
    background: linear-gradient(to bottom, transparent 0%, transparent 18%, rgba(0, 0, 0, 0.8) 99%, rgba(0, 0, 0, 0.8) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#cc000000',GradientType=0 ); }
  .unit-1 img {
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1); }
  .unit-1 img, .unit-1 .unit-1-text {
    -webkit-transition: .3s all ease-in-out;
    -o-transition: .3s all ease-in-out;
    transition: .3s all ease-in-out; }
  .unit-1 .unit-1-text {
    z-index: 2;
    position: absolute;
    bottom: -90px;
    color: #fff;
    display: block;
    width: 100%; }
    .unit-1 .unit-1-text .unit-1-heading {
      font-size: 1.5rem;
      position: relative; }
  .unit-1 p {
    opacity: 0;
    visibility: hidden;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
    color: rgba(255, 255, 255, 0.5); }
  .unit-1:hover p {
    opacity: 1;
    visibility: visible; }
  .unit-1:hover .unit-1-text {
    bottom: 30px; }
  .unit-1:hover img {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05); }

.overlap-section {
  margin-top: -150px;
  position: relative;
  z-index: 9; }

.unit-4 .unit-4-icon span {
  display: block;
  font-size: 3rem; }

.unit-4 h3 {
  font-size: 20px;
  color: #000; }

.h-entry img {
  margin-bottom: 30px; }

.h-entry .meta {
  color: #b3b3b3;
  font-size: 14px; }

.h-entry h2 {
  font-size: 20px; }
  .h-entry h2 a {
    color: #000; }
    .h-entry h2 a:hover {
      color: #18345e; }

.overlap-left {
  margin-left: -100px; }
  @media (max-width: 991.98px) {
    .overlap-left {
      margin-left: 0px; } }

.overlap-section {
  margin-top: -100px; }

.feature-1, .free-quote, .feature-3 {
  background: #18345e;
  padding: 30px 50px;
  color: rgba(255, 255, 255, 0.6);
  font-size: 15px; }
  .feature-1 .heading, .free-quote .heading, .feature-3 .heading {
    font-size: 22px;
    text-transform: uppercase;
    color: #fff; }
  .feature-1 .icon, .free-quote .icon, .feature-3 .icon {
    border: 2px solid rgba(255, 255, 255, 0.5);
    width: 80px;
    height: 80px;
    line-height: 80px;
    position: relative;
    border-radius: 50%;
    margin: 0 auto !important; }
    .feature-1 .icon > span, .free-quote .icon > span, .feature-3 .icon > span {
      font-size: 35px;
      color: #fff;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }

.free-quote {
  background: #18345e; }
  .free-quote .form-control {
    border: 2px solid rgba(255, 255, 255, 0.5);
    background: none;
    color: #fff; }
    .free-quote .form-control:active, .free-quote .form-control:focus {
      border: 2px solid #fff; }
    .free-quote .form-control::-webkit-input-placeholder {
      /* Chrome/Opera/Safari */
      color: rgba(255, 255, 255, 0.4);
      font-size: 13px;
      font-style: italic; }
    .free-quote .form-control::-moz-placeholder {
      /* Firefox 19+ */
      color: rgba(255, 255, 255, 0.4);
      font-size: 13px;
      font-style: italic; }
    .free-quote .form-control:-ms-input-placeholder {
      /* IE 10+ */
      color: rgba(255, 255, 255, 0.4);
      font-size: 13px;
      font-style: italic; }
    .free-quote .form-control:-moz-placeholder {
      /* Firefox 18- */
      color: rgba(255, 255, 255, 0.4);
      font-size: 13px;
      font-style: italic; }

.feature-3 {
  background: #006adb; }

.border-primary {
  position: relative; }
  .border-primary h2 {
    font-weight: 700 !important; }
  .border-primary:after {
    position: absolute;
    content: "";
    bottom: 0;
    width: 80px;
    height: 3px;
    background: #18345e; }
  .border-primary.text-center:after {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
  .border-primary.text-left:after {
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%); }

.testimonial {
  max-width: 800px;
  margin: 0 auto !important;
  text-align: center; }
  .testimonial blockquote {
    font-size: 1.5rem;
    font-style: italic; }
    @media (max-width: 991.98px) {
      .testimonial blockquote {
        font-size: 1rem; } }
  .testimonial figure img {
    max-width: 100px;
    margin: 0 auto;
    border-radius: 50%; }

.breadcrumb-custom {
  font-size: 1rem !important; }

.text-muted {
  color: #ccc !important;
  font-size: 12px;
  text-transform: uppercase; }

.how-it-work-item .number {
  width: 50px;
  height: 50px;
  background: #18345e;
  color: #fff;
  line-height: 55px;
  font-weight: 300;
  display: inline-block;
  text-align: center;
  font-size: 30px;
  border-radius: 50%;
  margin-bottom: 40px; }

.how-it-work-item h2 {
  font-size: 18px;
  margin-bottom: 30px;
  color: #fff; }

.how-it-work-item p {
  color: white; }

.person h3 {
  font-size: 18px; }

.ul-social-circle {
  list-style: none;
  padding: 0;
  margin: 0; }
  .ul-social-circle li {
    display: inline-block;
    margin-left: 5px;
    margin-bottom: 5px; }
    .ul-social-circle li:first-child {
      margin-left: 0; }
    .ul-social-circle li span {
      width: 30px;
      height: 30px;
      background: #777;
      font-size: 13px;
      text-align: center;
      line-height: 30px;
      border-radius: 50%;
      display: inline-block; }
    .ul-social-circle li a span {
      color: #fff;
      -webkit-transition: .3s all ease;
      -o-transition: .3s all ease;
      transition: .3s all ease; }
    .ul-social-circle li a:hover span {
      background: #2b2b2b;
      color: #fff; }

.custom-pagination a, .custom-pagination span {
  width: 40px;
  height: 40px;
  line-height: 40px;
  border-radius: 50%;
  display: inline-block;
  background: #18345e;
  color: #fff; }

.custom-pagination span {
  background: #e6e6e6;
  color: #000; }

.custom-pagination .more-page {
  background: none;
  letter-spacing: .1em; }

.form-search-wrap {
  background: #fff;
  border-radius: 30px; }
  .form-search-wrap .form-control {
    border: none; }
    @media (max-width: 1199.98px) {
      .form-search-wrap .form-control {
        height: 55px; } }
  .form-search-wrap .btn {
    border-radius: 30px;
    padding: 10px 30px; }
    @media (max-width: 1199.98px) {
      .form-search-wrap .btn {
        width: 100% !important;
        display: block; } }

.popular-category {
  display: block;
  text-align: center;
  padding: 30px 10px;
  border-radius: 7px;
  background: #f8f9fa;
  position: relative; }
  .popular-category .icon {
    display: block;
    -webkit-transition: .1s all ease;
    -o-transition: .1s all ease;
    transition: .1s all ease; }
    .popular-category .icon > span {
      line-height: 0;
      font-size: 40px; }
  .popular-category .caption {
    color: #666666;
    -webkit-transition: .1s all ease;
    -o-transition: .1s all ease;
    transition: .1s all ease; }
  .popular-category .number {
    padding: 2px 20px;
    border-radius: 30px;
    display: inline-block;
    background: #e9ecef;
    color: #000;
    font-size: 14px;
    -webkit-transition: .1s all ease;
    -o-transition: .1s all ease;
    transition: .1s all ease; }
  .popular-category:hover {
    background: #007bff;
    -webkit-box-shadow: 0 5px 30px -5px rgba(0, 123, 255, 0.5);
    box-shadow: 0 5px 30px -5px rgba(0, 123, 255, 0.5); }
    .popular-category:hover .caption {
      color: #fff; }
    .popular-category:hover .icon {
      color: #fff; }
    .popular-category:hover .number {
      background: #18345e;
      color: #fff; }

@media (max-width: 1199.98px) {
  .no-sm-border {
    border: none !important; } }

.listing-item {
  position: relative;
  overflow: hidden;
  border-radius: 4px; }
  .listing-item:after {
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.4); }
  .listing-item img {
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%;
    width: 100%;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease; }
  .listing-item:hover img {
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2); }
  .listing-item .listing-item-content {
    position: absolute;
    bottom: 20px;
    padding-left: 20px;
    padding-right: 20px;
    z-index: 2;
    width: 100%; }
    .listing-item .listing-item-content .category {
      font-size: 12px;
      display: inline-block;
      padding: 5px 30px;
      background: #18345e;
      border-radius: 30px;
      color: #fff;
      letter-spacing: .2em;
      text-transform: uppercase; }
    .listing-item .listing-item-content h2 {
      font-size: 22px; }
      .listing-item .listing-item-content h2, .listing-item .listing-item-content h2 a {
        color: #fff; }
    .listing-item .listing-item-content span {
      color: #fff; }
    .listing-item .listing-item-content .address {
      color: rgba(255, 255, 255, 0.8); }
  .listing-item .bookmark {
    position: absolute;
    right: 20px;
    bottom: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: inline-block;
    background: rgba(255, 255, 255, 0.3);
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease; }
    .listing-item .bookmark span {
      position: absolute;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }
    .listing-item .bookmark:hover {
      background: #dc3545; }
      .listing-item .bookmark:hover span {
        color: #fff; }

.accordion-item[aria-expanded="true"] {
  color: #18345e; }

.social-media {
  display: inline-block;

  margin-bottom: 0px;
  padding: 0; }
  .social-media li {
    display: inline-block; }

.ft-feature-1 {
  margin-bottom: 80px; }
  .ft-feature-1 .ft-feature-1-content {
    padding: 30px;
    position: relative;
    z-index: 10; }
  .ft-feature-1 h2, .ft-feature-1 h3 {
    font-size: 20px;
    color: #fff; }
  .ft-feature-1 h3 {
    font-size: 18px; }
    .ft-feature-1 h3 .icon {
      font-size: 30px; }
  .ft-feature-1 a {
    color: #fff;
    text-decoration: underline; }
    .ft-feature-1 a:hover {
      color: #fff;
      text-decoration: none; }
  .ft-feature-1 .play {
    display: inline-block;
    width: 50px;
    height: 50px;
    background: #18345e;
    margin-right: 1.5rem;
    border-radius: 50%;
    line-height: 50px;
    text-align: center;
    text-decoration: none !important; }
    .ft-feature-1 .play span {
      color: #fff;
      display: inline; }
  .ft-feature-1 .img-feature {
    position: relative;
    margin-bottom: 30px; }
    @media (min-width: 992px) {
      .ft-feature-1 .img-feature {
        margin-bottom: -80px; } }
  .ft-feature-1 p {
    color: #737373; }

.box-with-humber {
  position: relative; }
  .box-with-humber .number-behind {
    font-size: 6rem;
    position: absolute;
    z-index: -1;
    top: -3rem;
    left: -3rem;
    font-weight: 900;
    color: #f2f4f5; }
  .box-with-humber h2 {
    font-size: 20px; }

.media-1 {
  position: relative;
  display: block;
  overflow: hidden;
  margin-bottom: 30px; }
  .media-1:after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.8);
    content: "";
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
    opacity: 0;
    visibility: hidden; }
  .media-1 img {
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease; }
  .media-1 .media-1-content {
    z-index: 4;
    top: 50%;
    position: absolute;
    width: 100%;
    text-align: center;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
    .media-1 .media-1-content h2 {
      position: relative;
      color: #fff;
      font-size: 1.5rem;
      -webkit-transition: .4s all ease-in-out;
      -o-transition: .4s all ease-in-out;
      transition: .4s all ease-in-out;
      opacity: 0;
      visibility: hidden;
      bottom: -10px;
      margin-bottom: 0px; }
    .media-1 .media-1-content .category {
      position: relative;
      -webkit-transition: .3s all ease-in-out;
      -o-transition: .3s all ease-in-out;
      transition: .3s all ease-in-out;
      opacity: 0;
      bottom: -10px;
      visibility: hidden;
      color: #999999;
      font-size: 13px;
      text-transform: uppercase;
      letter-spacing: .2em; }
  .media-1:hover:after {
    opacity: 1;
    visibility: visible; }
  .media-1:hover h2 {
    bottom: 0px;
    opacity: 1;
    visibility: visible; }
  .media-1:hover .category {
    opacity: 1;
    visibility: visible;
    bottom: 0px;
    -webkit-transition-delay: 0.09s;
    -o-transition-delay: 0.09s;
    transition-delay: 0.09s; }
  .media-1:hover img {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05); }

.testimonial-wrap .owl-nav {
  display: none; }

.section-sub-title {
  font-size: 13px;
  color: #18345e;
  letter-spacing: .2em;
  text-transform: uppercase; }

.section-title {
  color: #18345e;
  font-size: 40px;
  font-weight: 900; }
  @media (max-width: 991.98px) {
    .section-title {
      font-size: 30px; } }

.position-relative {
  position: relative; }

.experience {
  position: absolute;
  bottom: -10px;
  right: -10px;
  background: #007bff;
  padding: 20px; }
  @media (max-width: 991.98px) {
    .experience {
      bottom: 0px;
      right: 0px; } }
  .experience span {
    display: block; }
  .experience .year {
    font-weight: 900;
    color: #fff;
    font-size: 3rem;
    letter-spacing: normal;
    line-height: 1.2; }
  .experience span {
    letter-spacing: .2em; }
  .experience .caption {
    color: #fff;
    letter-spacing: .4em;
    text-transform: uppercase; }

.footer-social a {
  text-decoration: none !important; }

.footer-subscribe .form-control {
  border-color: #fff !important; }
  .footer-subscribe .form-control::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    color: rgba(255, 255, 255, 0.5);
    font-weight: 200;
    font-style: italic; }
  .footer-subscribe .form-control::-moz-placeholder {
    /* Firefox 19+ */
    color: rgba(255, 255, 255, 0.5);
    font-weight: 200;
    font-style: italic; }
  .footer-subscribe .form-control:-ms-input-placeholder {
    /* IE 10+ */
    color: rgba(255, 255, 255, 0.5);
    font-weight: 200;
    font-style: italic; }
  .footer-subscribe .form-control:-moz-placeholder {
    /* Firefox 18- */
    color: rgba(255, 255, 255, 0.5);
    font-weight: 200;
    font-style: italic; }

.footer-subscribe .btn {
  height: 43px;
  line-height: 1;
  border: 1px solid #fff;
  background: #fff !important;
  color: #000 !important; }
  .footer-subscribe .btn:hover, .footer-subscribe .btn:focus, .footer-subscribe .btn:active {
    border: 1px solid #fff; }

.cta-big-image > .container {
  position: relative; }

.cta-big-image .img-box {
  background: #e81050;
  max-width: 550px;
  padding: 3rem;
  position: absolute;
  bottom: -10%;
  right: 10%; }
  @media (max-width: 991.98px) {
    .cta-big-image .img-box {
      position: relative;
      right: auto; } }
  .cta-big-image .img-box .sub-title {
    color: rgba(255, 255, 255, 0.7);
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: .1em;
    margin-bottom: 1.5rem;
    display: block; }
  .cta-big-image .img-box h2 {
    font-size: 2rem;
    color: #fff;
    margin-bottom: 1.5rem; }
  .cta-big-image .img-box p {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 300;
    margin-bottom: 1.5rem; }
  .cta-big-image .img-box .btn {
    background: #505288;
    border-color: #505288;
    color: #fff; }
  .cta-big-image .img-box *:last-child {
    margin-bottom: 0; }
    .team-member {
        display: flex;
        flex-direction: column;
        height: 100%;
        background: #fff;    
        border: 1px solid #ddd;
        border-radius: 8px;    
        overflow: hidden;
      }
       /* css dos socios */
      /*tamanho da imagem */
      .team-member img {
        width: 100%;           /* mantém a largura total do container */
        height: 300px;         /* altere este valor para aumentar/diminuir */
        object-fit: cover;     /* garante que a imagem seja cortada proporcionalmente */
      }
      
      .team-member figure {
        margin: 0;
        padding: 0;
        position: relative;
        overflow: hidden;
      }
      
      .team-member .social {
        position: absolute;
        margin: 0;
        top: 0;
        bottom: 0;
        padding: 10px;
        -webkit-transform: translateX(-101%);
        -ms-transform: translateX(-101%);
        transform: translateX(-101%);
        -webkit-transition: .3s all ease;
        -o-transition: .3s all ease;
        transition: .3s all ease;
        background: #007bff;
      
      }
      
      .team-member .social li {
        list-style: none;
      }
      .team-member .social li a {
        display: inline-block;
        padding: 5px;
        color: #fff;
      }
      
      .team-member h3 {
        color: #fff;
        margin: 0;
        bottom: 0;
        font-size: 1.2rem;
      }
      
      .team-member .position {
        color: #cccccc;
        text-transform: uppercase;
        font-size: .8rem;
        letter-spacing: .05rem;
      }
      
      .team-member:hover .social {
        -webkit-transform: translateX(0%);
        -ms-transform: translateX(0%);
        transform: translateX(0%);
      }
      
   
/* Isotope*/
.item {
  border: none; }
  .item .item-wrap {
    display: block;
    position: relative; }
    .item .item-wrap:after {
      z-index: 2;
      position: absolute;
      content: "";
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(0, 0, 0, 0.4);
      visibility: hidden;
      opacity: 0;
      -webkit-transition: .3s all ease-in-out;
      -o-transition: .3s all ease-in-out;
      transition: .3s all ease-in-out; }
    .item .item-wrap > span {
      position: absolute;
      top: 50%;
      left: 50%;
      z-index: 3;
      -webkit-transform: translate(-50%, -50%) scale(0);
      -ms-transform: translate(-50%, -50%) scale(0);
      transform: translate(-50%, -50%) scale(0);
      color: #fff;
      font-size: 1.7rem;
      opacity: 0;
      visibility: hidden;
      -webkit-transition: .3s all ease;
      -o-transition: .3s all ease;
      transition: .3s all ease; }
    .item .item-wrap:hover:after {
      opacity: 1;
      visibility: visible; }
    .item .item-wrap:hover span {
      margin-top: 0px;
      opacity: 1;
      visibility: visible;
      -webkit-transform: translate(-50%, -50%) scale(1);
      -ms-transform: translate(-50%, -50%) scale(1);
      transform: translate(-50%, -50%) scale(1); }

.filters .btn {
  border-color: transparent;
  font-size: .8rem;
  padding: 8px 20px;
  margin: 5px;
  text-transform: uppercase;
  font-weight: 700;
  background: rgba(52, 58, 64, 0.05);
  color: #343a40; }
  .filters .btn:hover {
    border-color: transparent;
    background: #18345e;
    color: #fff; }
  .filters .btn.active {
    background: #18345e !important;
    color: #fff;
    border-color: #18345e !important; }

.pricing {
  background: #fff;
  padding: 30px; }
  .pricing .price > span {
    color: #cccccc; }
    .pricing .price > span > span {
      font-size: 3rem;
      color: #18345e; }
  .pricing ul li {
    margin-bottom: 20px; }

.pricing-popular .pricing {
  -webkit-box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.3);
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.3); }

/* responsive media queries */
/* Mouse scroll effect */
.mouse {
  position: absolute;
  bottom: 40px;
  z-index: 5;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  display: block; }
  .mouse .mouse-icon {
    display: block;
    width: 25px;
    height: 45px;
    border: 2px solid white;
    border-radius: 15px;
    cursor: pointer;
    position: relative;
    text-align: center;
    -webkit-transition: .3s all ease-in-out;
    -o-transition: .3s all ease-in-out;
    transition: .3s all ease-in-out; }
  .mouse .mouse-wheel {
    height: 4px;
    margin: 2px auto 0;
    display: block;
    width: 4px;
    background-color: white;
    border-radius: 50%;
    -webkit-animation: 1.6s ease infinite wheel-up-down;
    -moz-animation: 1.6s ease infinite wheel-up-down;
    animation: 1.6s ease infinite wheel-up-down; }
  .mouse:hover .mouse-icon {
    border-color: #fff; }

@-webkit-keyframes wheel-up-down {
  0% {
    margin-top: 2px;
    opacity: 0; }
  30% {
    opacity: 1; }
  100% {
    margin-top: 20px;
    opacity: 0; } }

@-moz-keyframes wheel-up-down {
  0% {
    margin-top: 2px;
    opacity: 0; }
  30% {
    opacity: 1; }
  100% {
    margin-top: 20px;
    opacity: 0; } }

@keyframes wheel-up-down {
  0% {
    margin-top: 2px;
    opacity: 0; }
  30% {
    opacity: 1; }
  100% {
    margin-top: 20px;
    opacity: 0; } }

/* Blog */
.sidebar-box {
  margin-bottom: 30px;
  padding: 25px;
  font-size: 15px;
  width: 100%;
  float: left;
  background: #fff; }
  .sidebar-box *:last-child {
    margin-bottom: 0; }
  .sidebar-box h3 {
    font-size: 18px;
    margin-bottom: 15px; }

.categories li, .sidelink li {
  position: relative;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px dotted #dee2e6;
  list-style: none; }
  .categories li:last-child, .sidelink li:last-child {
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 0; }
  .categories li a, .sidelink li a {
    display: block; }
    .categories li a span, .sidelink li a span {
      position: absolute;
      right: 0;
      top: 0;
      color: #ccc; }
  .categories li.active a, .sidelink li.active a {
    color: #000;
    font-style: italic; }

.comment-form-wrap {
  clear: both; }

.comment-list {
  padding: 0;
  margin: 0; }
  .comment-list .children {
    padding: 50px 0 0 40px;
    margin: 0;
    float: left;
    width: 100%; }
  .comment-list li {
    padding: 0;
    margin: 0 0 30px 0;
    float: left;
    width: 100%;
    clear: both;
    list-style: none; }
    .comment-list li .vcard {
      width: 80px;
      float: left; }
      .comment-list li .vcard img {
        width: 50px;
        border-radius: 50%; }
    .comment-list li .comment-body {
      float: right;
      width: calc(100% - 80px); }
      .comment-list li .comment-body h3 {
        font-size: 20px; }
      .comment-list li .comment-body .meta {
        text-transform: uppercase;
        font-size: 13px;
        letter-spacing: .1em;
        color: #ccc; }
      .comment-list li .comment-body .reply {
        padding: 5px 10px;
        background: #e6e6e6;
        color: #000;
        text-transform: uppercase;
        font-size: 14px; }
        .comment-list li .comment-body .reply:hover {
          color: #000;
          background: #e3e3e3; }

.search-form {
  background: #f7f7f7;
  padding: 10px; }
  .search-form .form-group {
    position: relative; }
    .search-form .form-group input {
      padding-right: 50px; }
  .search-form .icon {
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }

.post-meta {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .2em; }
  .post-meta a {
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5); }

figure figcaption {
  margin-top: .5rem;
  font-style: italic;
  font-size: .8rem; }

.card-title {
  font-size: 1.4rem;
  color: #000; }

/*PRELOADING------------ */
#overlayer {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 7100;
  background: #fff;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

.loader {
  z-index: 7700;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }
  
.politicas-section h2 {
  font-size: 32px;
}

/* New Stye */
.single-text .owl-dots {
  margin-top: 2rem;
  text-align: center; }
  .single-text .owl-dots .owl-dot {
    display: inline-block; }
    .single-text .owl-dots .owl-dot > span {
      display: inline-block;
      -webkit-transition: .3s all ease-in-out;
      -o-transition: .3s all ease-in-out;
      transition: .3s all ease-in-out;
      width: 7px;
      height: 7px;
      margin: 3px;
      border-radius: 4px;
      background-color: rgba(255, 255, 255, 0.5); }
    .single-text .owl-dots .owl-dot.active > span {
      background-color: #fff; }
      .consultoria-section {
        padding: 50px 0;
        background: #fff;
        font-family: Arial, sans-serif;
      }
      
      .consultoria-section .container {
        max-width: 1200px;
        margin: auto;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 40px;
        flex-wrap: wrap; /* 🔹 permite quebrar linha no mobile */
      }
      
      .texto {
        flex: 1;
        min-width: 300px;
      }
      
      .texto h2 {
        font-size: 2rem;
        margin-bottom: 15px;
        color: #18345e;
      }
      p, li {
  color: #333333;
}

      .texto p {
        font-size: 1rem;
        line-height: 1.6;
        color: #555;
      }
      
      .imagem {
        flex: 1;
        min-width: 300px;
      }
      
      .imagem img {
        width: 100%;
        max-width: 500px;
        border-radius: 8px;
        object-fit: cover;
        display: block;
      }
      .owl-dots {
	text-align: center;
	margin-top: 10px;
}
@media (max-width: 768px) {
  .fedelta-img {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .img-sobre {
    width: 450px !important;
    max-width: 100% !important; /* para garantir que não ultrapasse o contêiner */
    height: auto;
    display: block;
    margin: 0 auto; /* opcional: centraliza a imagem */
  }
}
/* Revisão responsiva — rodada 1: não deslocar a página inteira em tablets.
   O espaçamento interno continua sendo controlado pelos contêineres das seções. */
@media (min-width: 768px) and (max-width: 1024px) {
  .valores-container {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 30px 40px !important;
  }

  .valor-item {
    text-align: center !important;
    flex: 0 0 auto !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }

  /* 3 primeiros ícones na linha de cima */
  .valor-item:nth-child(1),
  .valor-item:nth-child(2),
  .valor-item:nth-child(3) {
    flex: 0 0 30% !important;
  }

  /* 2 últimos ícones na linha de baixo */
  .valor-item:nth-child(4),
  .valor-item:nth-child(5) {
    flex: 0 0 45% !important;
  }

  /* Destaque no texto */
  .valor-item h4 {
    font-weight: 800 !important;
    font-size: 1.1rem !important;
    margin-bottom: 8px !important;
  }

  .valor-item p {
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    color: #333 !important;
    margin: 0 !important;
  }
}


/* ====================================================================
   ORIGEM: css/style01.css
   ==================================================================== */
/* Cards dos Sócios */


#team-section .team-member:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 15px rgba(0,0,0,0.15);
}

#team-section .team-member figure {
  margin-bottom: 15px;
}

#team-section .team-member img.rounded-circle {
  width: 150px;
  height: 150px;
  object-fit: cover;
  border-radius: 50%;
}

#team-section .team-member h3 {
  margin-bottom: 8px;
  font-weight: 700;
}

#team-section .team-member .position {
  display: block;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 12px;
  text-transform: uppercase;
}

#team-section .team-member .description {
  font-size: 14px;
  line-height: 1.5;
}
.socio {
  text-align: center;
  color: #18345e;
}

.socio img {
  display: block;
  margin: 0 auto;
}
#team-section .team-member {
  background-color: #f9f9f9;
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  transition: transform 0.3s ease;
  text-align: center;
  color: #18345e;
}

#team-section .team-member img.rounded-circle {
  display: block;
  margin: 0 auto; /* Centraliza a imagem */
  border: 2px solid #18345e; /* Cor do contorno da imagem */
}

#team-section .team-member h3,
#team-section .team-member .description,
#team-section .team-member .position {
  color: #000; /* Aplica a cor em todos os textos */
}
.valores-section {
  width: 100% !important;     /* ocupa largura total */
  max-width: 100% !important; /* evita limite do bootstrap */
  padding: 0 20px;            /* deixa respiro nas laterais */
  box-sizing: border-box;     /* conta padding dentro da largura */
}

.valores-section h2 {
  font-size: 28px;
  margin-bottom: 20px;
  font-weight: bold;
  color: #18345e;
  text-align: center; /* título centralizado */
}

.valores-section p {
  max-width: 900px;
  margin: 0 auto 40px;
  color: #555;
  font-size: 16px;
  text-align: left;   /* texto normal alinhado à esquerda */
}

.valores-container {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: nowrap;     /* impede quebra de linha */
  gap: 40px;             /* espaço entre blocos */
  overflow-x: auto;      /* rolagem horizontal em telas menores */
  padding-bottom: 10px;
}

.valor-item {
  min-width: 180px; /* tamanho mínimo para cada bloco */
  text-align: center;
  cursor: pointer;

  /* Entrada controlada exclusivamente pelo AOS, como nas demais secoes. */
}


.valor-item img {
  width: 50px;
  height: 50px;
  margin-bottom: 10px;
  filter: brightness(0) saturate(100%) invert(18%) sepia(16%) saturate(1608%) hue-rotate(183deg) brightness(93%) contrast(91%);
  transition: transform 0.3s ease;
}

/* HOVER no item inteiro (imagem + texto) */
.valor-item:hover {
  transform: scale(0.9); /* diminui 10% */
  transition: transform 0.3s ease;
}

/* Enderecos longos no rodape nao devem ampliar a pagina em tablets. */
a[href^="mailto:"] {
  display: inline-block;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  white-space: normal;
}

/* Footer geral */
.site-footer {
  width: 100%;
  background-color: #18345e; /* cor do fundo do footer */
  color: #fff;               /* cor do texto */
  padding: 60px 0;
  font-size: 14px;
}
/*fotter*/
/* Estilos gerais do footer */
#footer00 {
  background-color: #18345e;
  color: white;
  padding: 40px 0;
  font-family: Arial, sans-serif;
}

/* Títulos do footer */
#footer00 .footer-heading {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 15px;
}

/* Texto e parágrafo */
#footer00 p {
  font-size: 14px;
  line-height: 1.6;
}

/* Links */
#footer00 .footer-links li {
  list-style: none;
  margin-bottom: 8px;
}

#footer00 .footer-links a {
  color: white;
  text-decoration: none;
}

#footer00 .footer-links a:hover {
  text-decoration: underline;
}

/* Redes sociais */
#footer00 .footer-social a {
  color: white;
  font-size: 20px;
  margin-right: 10px;
}

#footer00 .footer-social a:hover {
  color: #ddd;
}

/* Texto final */
#footer00 .footer-copy {
  font-size: 13px;
  margin-top: 20px;
}

.valor-item h4 {
  font-size: 16px;
  margin-bottom: 5px;
  font-weight: bold;
  color: #333;
}

.valor-item p {
  font-size: 14px;
  color: #555;
}
.politicas-section {
    text-align: center;
    margin: 90px auto; /* centraliza horizontalmente */
    max-width: 900px;
    padding: 0 20px; /* evita colar na borda em telas pequenas */
}

.politicas-section h2 {
    color: #18345e;
    font-size: 28px;
    margin-bottom: 20px;
}

.politicas-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(200px, 1fr));
    gap: 12px;
    justify-content: center;
}

/* estilo dos links */
.politicas-grid a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100px;
    padding: 0 15px;
    background-color: #fff;
    color: #18345e;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-weight: bold;
    font-size: 16px;
    text-decoration: none;
    transition: transform 0.3s ease;
}

.politicas-grid a:hover {
    transform: scale(1.05);
}

/* versão mobile forçada */
@media (max-width: 768px) {
    .politicas-section {
        margin: 50px auto !important; 
        max-width: 100% !important; 
        padding: 0 15px !important;
        text-align: center !important;
    }

    .politicas-grid {
        grid-template-columns: 1fr !important; /* 1 por linha no celular */
        gap: 10px !important;
    }

    .politicas-grid a {
        height: 70px !important;
        font-size: 15px !important;
        width: 100% !important; 
    }
  }
  .social-logos {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px; /* espaço entre os logos */
    margin-top: 30px;
}

.social-logos img {
    max-height: 40px;
    width: auto;
    transition: transform 0.3s ease;
}

.social-logos img:hover {
    transform: scale(1.05);
}

/* versão mobile */
@media (max-width: 768px) {
    .social-logos {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 15px !important; /* espaço entre os logos */
        margin-top: 20px !important;
        flex-wrap: wrap !important; /* quebra linha se não couber */
    }

    .social-logos img {
        height: 20px !important; /* tamanho fixo */
        width: auto !important;
    }
}


.tabela-imagens {
    border-collapse: collapse;
    width: 100%;
    text-align: center;
    margin: 0; 
}


.img-tabela {
    width: 220px; /* tamanho*/ 
    height: auto;
    padding: 5px;
}
/* Imagens padrão (desktop) */
.img-tabela {
  width: 180px;
  height: auto;
  padding: 0px;
  
}


/* container interno da seção */
.fedelta {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  
  max-width: 2000px !important; /* limita a largura do conteúdo */
  width: 100%;
  align-items: flex-start;
  background-color: #e6e0e099; /* mantém o fundo cinza */
  border-radius: 8px;
  padding: 20px;
}

/* imagem */
.fedelta-img-box {
  flex: 0 0 auto;
  max-width: 400px;
}

.fedelta-img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
}

/* texto */
.fedelta-texto {
  flex: 1 1 auto;
  min-width: 250px;
  font-size: 16px;
  line-height: 1.5;
  color: #333;
}

/*Ajuste para celular */
@media (max-width: 768px) {
  .img-tabela {
    width: 60px;   /* diminui o tamanho no mobile */
    padding: 2px;  /* reduz espaçamento */
  }
}

/* Remove espaçamentos exagerados */
.faq-container,
.site-section {
  margin: 0px 0;   /* controla espaço entre seções */
  padding: 20px 0;
}

/* FAQ */
.faq-item {
  margin-bottom: 15px; /* espaço entre perguntas */
}

/* Fedelta layout lado a lado */
.fedelta-conteudo {
  display: flex;
  align-items: center;   /* alinha verticalmente */
  gap: 150px;             /* espaço entre imagem e texto */
  justify-content: center;
  flex-wrap: wrap;
}

.fedelta-img-box {
  flex: 0 0 auto;        /* mantém a largura da imagem */
  min-width: 280px;
}

.fedelta-texto {
  flex: 1;               /* texto cresce para ocupar espaço */
  min-width: 300px;
  text-align: justify;
}

/* ===== MOBILE ===== */
@media (max-width: 768px) {
  .fedelta-conteudo {
    flex-direction: column;
    align-items: center;
    gap: 30px; /* reduz o espaço entre imagem e texto no mobile */
    text-align: center;
  }

  .fedelta-img-box,
  .fedelta-texto {
    flex: 1 1 100%; /* ocupa toda a largura disponível */
    min-width: unset;
    max-width: 100%;
  }

  .fedelta-texto {
    text-align: justify; /* ou center, se preferir no mobile */
    padding: 0 20px; /* espaço lateral para não colar na borda */
  }
}



.conteudo {
  display: flex;              /* deixa lado a lado */
  justify-content: space-between;
  align-items: flex-start;    /* alinha pelo topo */
  gap: 30px;                  /* espaço entre lista e imagem */
  margin-top: 20px;
}

.coluna-lista {
  flex: 2;                   
}

.coluna-img {
  flex: 1;                 
}

.coluna-img {
  flex: 1;
  display: flex;
  justify-content: center;
}


.img-portfolio {
  max-width: none;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.img-sobre {
height:auto !important;
width: 580px !important;
max-width: none;
}


.img-portfolio {          
  width: 430px;
  height: auto;
  border-radius: 5px;
}
/* Estilo para mudar a cor ao passar o mouse */
.site-menu .nav-link:hover {
  color: #007bff !important;
}

.footer-social .img-tabela {
  width: 60px;       /* Ajuste o tamanho conforme necessário */
  height: auto;
  margin: 0px;
}

.footer-social .social-logos table {
  margin-top: 5px;
  margin-left: auto;
  margin-right: auto;
}


ul li {
  margin-bottom: 20px; /* ajusta o valor */
}



.site-section, .consultoria-section, .valores-section, .missao-section {
    padding-bottom: 40px; /* espaço inferior */
}


.site-section h2, .consultoria-section h2, .valores-section h2, .missao-section h2 {
    margin-top: 0;   /* remove margem superior extra */
    margin-bottom: 20px; /* define margem inferior padrão */
}

/* Ajusta parágrafos */
.site-section p, .consultoria-section p, .valores-section p, .missao-section p {
margin-bottom: 15px; /* reduz espaço entre parágrafos */
}
#corretoras-parceiras {
  scroll-margin-top: 80px; /* ajuste o valor para a altura do seu menu */
}
h2 {
  color: #18345e !important;
}
html, body {
  margin: 0 !important;   /* tira as margens padrão */
  padding: 0;  /* tira o espaçamento interno */
  height: 100%;
  width: 100%;
  background-color: #ffffff !important; /* branco forçado */

}



body {
  margin: 0;
  padding: 0;
  font-family: Arial, sans-serif;
}

.form-container {
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.5); /* escurece a imagem de fundo */
}

form {
  background: rgba(255, 255, 255, 0.85); /* branco com 85% de opacidade */
  padding: 30px;
  border-radius: 10px;
  width: 350px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

form input,
form textarea {
  width: 100%;
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-size: 14px;
  background: rgba(255, 255, 255, 0.9); /* campos também levemente transparentes */
}

form textarea {
  resize: none;
}

form button {
  width: 100%;
  padding: 12px;
  border: none;
  border-radius: 5px;
  background: #18345d;
  color: white;
  font-size: 16px;
  cursor: pointer;
}

form button:hover {
  background: #0f2240;
}

@media (max-width: 768px) {
  .valores-container {
    display: flex;
    flex-wrap: wrap;   /* deixa quebrar linha */
    overflow: visible; /* não esconde */
    gap: 15px;
    padding: 10px;
  }

  .valor-item {
    flex: 1 1 100%; /* cada um ocupa a tela inteira */
  }
}
@media (max-width: 768px) {
  .coluna-img {
    display: none;
  }
}

/*fomulario de contato*/
  .contact-map-container {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 20px; /* margem interna geral para o container */
  }

  .contact-form {
    flex: 1;
    min-width: 300px !important;
    max-width: 500px !important;
    margin: 0 60px/* margem lateral para não grudar na parede */
  }


    #about-section {
  scroll-margin-top: 90px !important; /* ajuste o valor conforme o tamanho do seu header */
}
  #valores {
  scroll-margin-top: 80px; /* ajuste o valor conforme o tamanho do seu header */
}
#nossa-equipe {
  scroll-margin-top: 120px; /* ajuste o valor conforme o tamanho do seu header */
}
#nosso-portifolio {
  scroll-margin-top: 80px; /* ajuste o valor conforme o tamanho do seu header */
}
#corretoras-parceiras {
  scroll-margin-top: 170px; /* ajuste o valor conforme o tamanho do seu header */
}
#fedelta {
  scroll-margin-top: 100px; /* ajuste o valor conforme o tamanho do seu header */
}
#politicas {
  scroll-margin-top: 100px; /* ajuste o valor conforme o tamanho do seu header */
}
#fale-conosco {
  scroll-margin-top: 80px; /* ajuste o valor conforme o tamanho do seu header */
}
/* Remove espaço entre a seção fedelta e a seção politicas */
.fedelta-section {
  margin-bottom: 0;
  padding-bottom: 0;
}

.politicas-section {
  margin-top: 0;
  padding-top: 0;
}


.site-section.border-bottom {
  border-bottom: none !important;
}
section#politicas.site-section.bg-light.aos-init.aos-animate {
  background-color: #fff !important;
}
.formulario-custom {
  padding: 10px;
  background: rgba(255,255,255,0.85);
  width: 1000px;
  max-width: 100%;
  margin: 40px auto; /* 40px em cima/baixo e centraliza no meio */
  border-radius: 6px;
  
}
.formulario-custom button,
.formulario-custom input[type="submit"] {
  background-color: #18345d;  /* azul padrão */
  color: #fff;
  padding: 10px 20px;
  border: none;
  border-radius: 30px; /* arredondado */
  cursor: pointer;
  font-size: 16px;
  transition: all 0.3s ease;
}

/* Efeito ao passar o mouse */
.formulario-custom button:hover,
.formulario-custom input[type="submit"]:hover {
  background-color: #18345d; /* azul mais escuro */
}


#fale-conosco .section-title {
  margin-top:0px;   /* controla espaço acima */
  margin-bottom: 10px; /* controla espaço abaixo */
}

.mb-5, .my-5 {
    margin-bottom: 1rem !important;
}
/* ====== Versão Mobile ====== */
@media (max-width: 768px) {

  /* Títulos centralizados e menores */
  #corretoras-parceiras h2,
  #fedelta h2,
  #politicas h2,
  #fale-conosco h2 {
    font-size: 1.4rem;
    text-align: center;
  }

  /* Texto com respiro nas laterais */
  #corretoras-parceiras p,
  #fedelta p,
  #politicas p {
    font-size: 0.95rem;
    line-height: 1.5;
    padding: 0 15px;
    text-align: justify;
  }

  /* Grid corretoras em 2 colunas no mobile */
  .grid-corretoras {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    justify-items: center;
    margin-top: 20px;
  }
  .grid-corretoras img {
    max-width: 90px;
    height: auto;
  }

  /* Seção Fedelta imagem acima e texto abaixo */
  .fedelta {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .fedelta-img-box {
    text-align: center;
  }
  .fedelta-img {
    max-width: 200px;
    height: auto;
  }

  /* Links das políticas em colunas (1 por linha) */
  .politicas-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 0 15px;
  }
  .politicas-grid a {
    display: block;
    padding: 12px;
    text-align: center;
    background: #f5f5f5;
    border-radius: 8px;
    color: #000;
    font-size: 0.9rem;
    text-decoration: none;
  }

  /* Logos parceiros menores */
  .social-logos {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: 20px;
  }
  .social-logos img {
    max-width: 80px;
    height: auto;
  }

  /* Contato em stack (coluna) */
  #fale-conosco .row {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  #fale-conosco .row {
    display: center
  }
  #fale-conosco p,
  #fale-conosco a {
    font-size: 0.95rem;
    text-align: center;
  }

  /* Formulário ocupando toda largura */
  .formulario-custom {
    width: 100% !important;
    margin: 20px auto;
    padding: 20px;
  }
  .formulario-custom .row {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
}
/* Regras responsivas agrupadas — mesma condição, mesma ordem e mesmos valores. */
@media (max-width: 768px) {
  .sobre-texto {
    text-align: center !important;
  }
  .faq-side-box {
    display: none !important;
  }
  .site-footer {
    text-align: justify !important;
  }
}


/* ====================================================================
   ORIGEM: css/responsive-gap.css
   ==================================================================== */
    /* ============================
   MOBILE MENU
============================ */

/* Ocultar menu mobile por padrão */
.site-mobile-menu {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff; /* cor do fundo do menu */
  z-index: 9999;
  overflow-y: auto;
  transition: transform 0.3s ease-in-out;
  transform: translateX(-100%); /* esconde à esquerda */
  padding: 2rem;
}

/* Quando o menu estiver ativo */
.site-mobile-menu.active {
  display: block;
  transform: translateX(0);
}

/* Cabeçalho do menu */
.site-mobile-menu-header {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

/* Botão de fechar */
.site-mobile-menu-close {
  cursor: pointer;
  font-size: 2rem;
}

/* Corpo do menu */
.site-mobile-menu-body {
  margin-top: 2rem;
}

/* Links do menu */
.site-mobile-menu-body a {
  display: block;
  padding: 1rem 0;
  font-size: 1.2rem;
  color: #333;
  text-decoration: none;
}

/* Adicionar hover nos links */
.site-mobile-menu-body a:hover {
  color: #007bff;
}

/* ============================
   RESPONSIVO
============================ */

/* Mostrar menu apenas em telas pequenas */
@media (max-width: 991px) {
  .site-mobile-menu {
    display: block; /* exibido quando ativo via JS */
  }

  .js-clone-nav {
    display: none; /* esconde menu desktop */
  }
}


/* ====================================================================
   ORIGEM: css/faq.css
   ==================================================================== */
/* Container geral do FAQ: regras anteriormente distribuídas em três blocos. */
.faq-container {
  max-width: 800px;
  margin: 40px auto;
  margin-top: 10px;
  padding: 0 20px;
  position: relative;
  top: -20px;
}

/* Cada item do FAQ */
.faq-item {
  background: #ececec;       /* quadrado com fundo branco mais escuro */
  border-radius: 10px;
  margin-bottom: 15px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  transition: all 0.3s ease;
}

/* Pergunta como botão quadrado */
.faq-question {
  width: 100%;
  background: #ececec;
  border: none;
  outline: none;
  padding: 18px 20px;
  font-size: 16px;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 10px;        /* mantém cantos arredondados */
}

.faq-question:hover {
  background: #e0e0e0;        /* leve destaque ao passar mouse */
}

/* Remove contorno ao clicar ou focar */
.faq-question:focus,
.faq-question:active {
  outline: none;
  box-shadow: none;
}

/* Ícone de + / - */
.faq-icon {
  font-size: 22px;
  font-weight: bold;
  color: #18345d;
  margin-left: 10px;
  transition: transform 0.3s ease;
}

/* Resposta escondida inicialmente */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  padding: 0 20px;
  transition: max-height 0.4s ease, padding 0.3s ease;
  background: #f5f5f5; /* fundo levemente diferente da pergunta */
}

.faq-answer p {
  padding: 15px 0;
  font-size: 15px;
  color: #444;
  line-height: 1.6;
}

/* Quando ativo, mostra a resposta e gira o + */
.faq-item.active .faq-answer {
  max-height: 400px; 
  padding: 0 20px 15px 20px;
}

.faq-item.active .faq-icon {
  transform: none; /* O JavaScript troca + por −; não girar o ícone. */
}


/* Disposição do FAQ e do botão Fale Conosco. */
.faq-layout {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Layout do Fale Conosco + botão */
.faq-layout .faq-button {
  background-color: #18345d;  
  color: white;             
  border: none;             
  padding: 10px 20px;      
  border-radius: 50px;      
  cursor: pointer;          
  font-size: 15px;          /* reduzido de 16px para 14px */
  transition: background 0.3s; 
  display: inline-block;    
  margin-top: 10px;         
}

.faq-layout .faq-button:hover {
  background-color: #0f2f99; 
}

.faq-side-box {
  text-align: left;   /* garante que tudo dentro fique alinhado à esquerda */
}

.faq-side-box h3 {
  font-size: 16px;  
}

.faq-side-box p {
  font-size: 14px;  
}

/* Grid principal */
.grid-corretoras {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 20px;
  justify-items: center;
  margin-top: 20px;
}

/* Aumenta o tamanho das imagens */
.grid-corretoras img {
  max-width: 140px; /* Aumente conforme quiser */
  height: auto;
}

/* --- Responsivo para Celular --- */
@media (max-width: 768px) {
  .grid-corretoras {
    grid-template-columns: repeat(3, 1fr); /* força 3 colunas */
    justify-items: center; /* centraliza os itens nas células */
  }

  /* Centraliza o penúltimo item se for um layout com 2 itens na última linha */
  .grid-corretoras img:nth-last-child(2):nth-child(odd) {
    grid-column: 2; /* coluna do meio */
  }

  /* Centraliza o último item se estiver sozinho na última linha */
  .grid-corretoras img:last-child:nth-child(odd) {
    grid-column: 2; /* coluna do meio */
  }
}


@media (max-width: 992px) {
  .faq-layout {
    flex-direction: column;
  }
  .faq-side-box {
    margin: 20px auto 0 auto;
    width: 100%;
    max-width: 100%;
  }
}


/* ====================================================================
   ORIGEM: css/header-etapa1.css
   ==================================================================== */
/* Etapa 1: ajustes isolados do cabeçalho, sem modificar os estilos originais. */
@media (min-width: 1200px) {
  .site-navbar .container { max-width: 1240px; }
  .site-navbar .site-navigation { margin-left: 0; }
  .site-navbar .site-navigation .site-menu { display: flex; width: 100%; align-items: center; justify-content: flex-end; flex-wrap: nowrap; }
  .site-navbar .site-navigation .site-menu > li { margin: 0 7px; white-space: nowrap; }
  .site-navbar .site-navigation .site-menu > li > a { padding-left: 8px; padding-right: 8px; }
}
.site-navbar .site-menu-toggle { color: #e1c77d; font-size: 26px; }

/* Logotipo aproximadamente 13% menor que os 30px originais. */
.site-navbar .logo-menu { height: 26px; width: auto; }

/* ETAPA 4 — Menu móvel: painel lateral e submenus acessíveis. */
@media (max-width: 1199.98px) {
  .site-mobile-menu {
    display: block;
    top: 0;
    left: auto;
    right: 0;
    width: min(320px, 85vw);
    height: 100dvh;
    padding: 16px 12px 24px;
    background: #18345e;
    transform: translateX(105%);
    overflow-y: auto;
    box-shadow: -8px 0 22px rgba(0, 0, 0, .18);
    z-index: 9999;
  }
  body.offcanvas-menu .site-mobile-menu {
    transform: translateX(0);
  }
  .site-mobile-menu .site-mobile-menu-header { float: none; padding: 0 12px; }
  .site-mobile-menu .site-mobile-menu-close { color: #e1c77d; }
  .site-mobile-menu .site-mobile-menu-body { margin-top: 20px; height: auto; overflow: visible; padding: 0 12px 30px; }
  .site-mobile-menu .site-nav-wrap > li { float: none; }
  .site-mobile-menu .site-nav-wrap a,
  .site-mobile-menu .site-nav-wrap > li > a,
  .site-mobile-menu .site-mobile-menu-body a {
    color: #fff;
    font-size: 16px;
    line-height: 1.45;
    padding: 11px 36px 11px 8px;
    margin: 0;
  }
  .site-mobile-menu .site-nav-wrap > li > ul > li > a { font-size: 14px; padding-left: 22px; }
  .site-mobile-menu .site-nav-wrap a:hover { color: #e1c77d; }
  .site-mobile-menu .site-nav-wrap .arrow-collapse {
    top: 5px;
    right: 0;
    border: 0;
    background: transparent;
    color: #e1c77d;
  }
  .site-mobile-menu .site-nav-wrap .arrow-collapse::before {
    content: '+';
    font-family: inherit;
    font-size: 23px;
    transform: translate(-50%, -50%);
  }
  .site-mobile-menu .site-nav-wrap .arrow-collapse.active::before { content: '−'; }
  .site-mobile-menu .site-nav-wrap ul[hidden] { display: none !important; }
}
@media (min-width: 1200px) {
  .site-mobile-menu { display: none !important; }
}

/* ETAPA 4 — Rodada 3: submenus móveis isolados das regras do dropdown desktop. */
@media (max-width: 1199.98px) {
  .site-mobile-menu .site-nav-wrap > li {
    position: relative;
    width: 100%;
    clear: both;
  }
  .site-mobile-menu .site-nav-wrap .mobile-submenu {
    position: static !important;
    display: block;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100%;
    min-width: 0;
    padding: 0 0 6px;
    margin: 0;
    list-style: none;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    transition: none;
  }
  .site-mobile-menu .site-nav-wrap .mobile-submenu[hidden] {
    display: none !important;
  }
  .site-mobile-menu .site-nav-wrap .mobile-submenu > li {
    display: block;
    float: none;
    width: 100%;
    margin: 0;
  }
  .site-mobile-menu .site-nav-wrap .mobile-submenu > li > a {
    display: block;
    color: #fff !important;
    font-size: 14px;
    padding: 9px 8px 9px 25px;
    background: transparent;
  }
  .site-mobile-menu .site-nav-wrap .mobile-submenu > li > a:hover {
    color: #e1c77d !important;
  }
  .site-mobile-menu .site-nav-wrap .arrow-collapse {
    position: absolute;
    z-index: 3;
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: 0;
    cursor: pointer;
  }
  .site-mobile-menu .site-nav-wrap .arrow-collapse:hover {
    background: rgba(255,255,255,.1);
  }
  .site-mobile-menu .site-nav-wrap .arrow-collapse::before {
    transform: translate(-50%, -50%) !important;
  }
  .site-mobile-menu .site-mobile-menu-header {
    display: flex;
    justify-content: flex-end;
    min-height: 44px;
  }
  .site-mobile-menu .site-mobile-menu-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    margin: 0;
    float: none;
    color: #e1c77d;
    cursor: pointer;
  }
  .site-mobile-menu .site-mobile-menu-close .js-menu-toggle {
    color: inherit;
    font-size: 27px;
    pointer-events: none;
  }
}

/* Etapa 4, rodada 4: garantir que o painel e o botão recebam os toques. */
@media (max-width: 1199.98px) {
  body.offcanvas-menu::after { pointer-events: none; }
  .site-mobile-menu { z-index: 10001; }
  .site-mobile-menu .site-mobile-menu-header,
  .site-mobile-menu .site-mobile-menu-close {
    position: relative;
    z-index: 2;
    pointer-events: auto;
  }
  .site-mobile-menu .site-mobile-menu-close span { pointer-events: none; }
}


/* REVISAO RESPONSIVA — RODADA 2: menu horizontal compacto a partir de 992px.
   Preserva integralmente a configuracao aprovada para >=1200px. */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .site-navbar .container { max-width: 100%; padding-left: 18px; padding-right: 18px; }
  .site-navbar .site-navigation { margin-left: 0; }
  .site-navbar .site-navigation .site-menu {
    display: flex; width: 100%; justify-content: flex-end; align-items: center; flex-wrap: nowrap;
  }
  .site-navbar .site-navigation .site-menu > li { margin: 0 3px; white-space: nowrap; }
  .site-navbar .site-navigation .site-menu > li > a { padding-left: 5px; padding-right: 5px; font-size: 13px; }
  .site-mobile-menu { display: none !important; }
}
/* Em telas menores, controles de submenu sempre dentro do painel. */
@media (max-width: 991.98px) {
  .site-mobile-menu .site-nav-wrap > li { position: relative; padding-right: 4px; }
  .site-mobile-menu .site-nav-wrap > li > a { padding-right: 48px; }
  .site-mobile-menu .site-nav-wrap .arrow-collapse { right: 8px; top: 5px; }
}

/* REVISAO RESPONSIVA — RODADA 3: interface de toque e botao fechar. */
@media (max-width: 1199.98px) {
  .site-mobile-menu .site-mobile-menu-close {
    -webkit-appearance: none; appearance: none;
    background: transparent !important;
    border: 0 !important; box-shadow: none !important;
    outline-offset: 3px;
    color: #e1c77d !important;
    border-radius: 6px;
  }
  .site-mobile-menu .site-mobile-menu-close:focus-visible {
    outline: 2px solid #e1c77d;
  }
  .site-mobile-menu .site-mobile-menu-close span {
    padding: 0 !important; margin: 0;
    line-height: 1;
  }
}
/* Em tablets sem hover, priorizar navegacao por toque. */
@media (min-width: 992px) and (max-width: 1199.98px) and (hover: none) and (pointer: coarse) {
  .site-navbar .row > .col-6.d-lg-none { display: block !important; }
  .site-navbar .row > .col-lg-10.d-none.d-lg-block { display: none !important; }
  .site-mobile-menu { display: block !important; }
}

/* REVISAO RESPONSIVA — RODADA 4: texto complementar do carrossel.
   Somente tablets verticais e celulares; desktop preservado. */
@media (max-width: 991.98px) {
  #home-section .single-text .slide p.desc {
    font-size: 1.1rem;
    font-weight: 400;
  }
}

/* REVISAO RESPONSIVA — RODADA 6: respiro lateral nos textos dos slides.
   Protege titulos e frases complementares nas telas menores. */
@media (max-width: 991.98px) {
  #home-section .single-text .slide {
    box-sizing: border-box;
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* REVISAO RESPONSIVA — RODADA 7: enquadramento do carrossel e Nossa Empresa.
   Corrige a imagem fixa de 580px sem mascarar o overflow da pagina. */
@media (min-width: 769px) and (max-width: 1199.98px) {
  #about-section .img-sobre {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin-left: auto;
    margin-right: auto;
  }
  #about-section .row > [class*="col-"] {
    min-width: 0;
  }
  #home-section .container,
  #home-section .row,
  #home-section .single-text {
    max-width: 100%;
    min-width: 0;
  }
  #home-section .owl-stage-outer {
    max-width: 100%;
    overflow: hidden;
  }
}
@media (min-width: 769px) and (max-width: 991.98px) {
  #about-section .img-sobre {
    width: min(100%, 580px) !important;
  }
  #about-section .sobre-texto {
    width: 100%;
    max-width: 100%;
    text-align: left;
  }
}

/* AUDITORIA ESTRUTURAL RESPONSIVA: componentes em containers independentes. */
#about-section .row { align-items: flex-start; }
#about-section .img-sobre { display: block; width: 100% !important; max-width: 580px !important; height: auto !important; margin: 0 auto; }
#about-section .sobre-texto { width: 100%; max-width: 100%; }
#nosso-portifolio .conteudo { max-width: 100%; }
#nosso-portifolio .coluna-lista, #nosso-portifolio .coluna-img { min-width: 0; }
#nosso-portifolio .img-portfolio { max-width: 100%; height: auto; }
#valores .valores-container { flex-wrap: wrap; overflow-x: visible; gap: 24px; }
#valores .valor-item { flex: 1 1 180px; max-width: 260px; }
#corretoras-parceiras, #fedelta, #politicas, #fale-conosco { width: 100%; }
@media (min-width: 769px) and (max-width: 1199.98px) {
  #about-section .row > [class*="col-"] { min-width: 0; }
  #about-section .img-sobre { width: 100% !important; }
}
@media (max-width: 991.98px) {
  #nosso-portifolio .conteudo { flex-wrap: wrap; }
  #nosso-portifolio .coluna-lista, #nosso-portifolio .coluna-img { flex: 1 1 100%; }
  #nosso-portifolio .coluna-img { justify-content: center; }
  #nosso-portifolio .img-portfolio { width: min(100%, 430px); }
}
@media (max-width: 767.98px) {
  #about-section .img-sobre { width: 100% !important; }
  #valores .valor-item { flex-basis: 100%; max-width: 100%; }
  #fale-conosco .contact-form { min-width: 0 !important; max-width: 100% !important; margin-left: 0; margin-right: 0; }
}


/* AUDITORIA VISUAL — RODADA 2: ajustes apos testes em 1366, 1024 e 820 px.
   Regras localizadas; comportamento JavaScript dos menus preservado. */

/* Respiro entre o carrossel e Nossa Empresa, inclusive em desktop. */
#about-section { padding-top: clamp(64px, 6vw, 94px); }
/* A distancia do titulo ao conteudo agora segue o padrao conjunto abaixo. */

/* O CSS anterior anulava explicitamente o espaco acima das politicas. */
#politicas.politicas-section {
  box-sizing: border-box;
  padding-top: clamp(64px, 6vw, 90px);
  padding-bottom: 60px;
  margin-top: 0;
}

/* Cabeçalho: largura total e margens simétricas quando o menu é retrátil. */
@media (max-width: 991.98px) {
  .site-navbar { box-sizing: border-box; padding-left: 0; padding-right: 0; }
  .site-navbar > .container { width: 100%; max-width: none; padding-left: 22px; padding-right: 22px; }
  .site-navbar > .container > .row {
    justify-content: space-between !important;
    align-items: center;
    flex-wrap: nowrap;
  }
  .site-navbar > .container > .row > .col-6 {
    flex: 0 0 auto; width: auto; max-width: none; min-width: 0;
  }
  .site-navbar .site-logo { left: 0; top: 0; justify-content: flex-start; margin: 0; }
  .site-navbar .site-logo img { margin: 0 !important; max-width: min(200px, 100%); }
  .site-navbar .site-menu-toggle { display: inline-flex; align-items: center; justify-content: flex-end; margin: 0; }
}
/* Em tablets touch de 992–1199px, o botão substitui o menu horizontal. */
@media (min-width: 992px) and (max-width: 1199.98px) and (hover: none) and (pointer: coarse) {
  .site-navbar { box-sizing: border-box; padding-left: 0; padding-right: 0; }
  .site-navbar > .container { width: 100%; max-width: none; padding-left: 22px; padding-right: 22px; }
  .site-navbar > .container > .row { justify-content: space-between !important; align-items: center; flex-wrap: nowrap; }
  .site-navbar > .container > .row > .col-6 { flex: 0 0 auto; width: auto; max-width: none; }
  .site-navbar .site-logo { left: 0; top: 0; justify-content: flex-start; }
  .site-navbar .site-logo img { margin: 0 !important; }
}

/* Nossa Empresa: imagem sem distorcao; no tablet vertical, mesma coluna visual do texto. */
#about-section .img-sobre { object-fit: contain; }
@media (min-width: 992px) and (max-width: 1199.98px) {
  #about-section .img-sobre { max-width: 100% !important; }
}
@media (min-width: 769px) and (max-width: 991.98px) {
  #about-section > .container > .row > .col-lg-6,
  #about-section > .container > .row > .col-lg-5 {
    flex: 0 0 100%; max-width: 100%; margin-left: 0 !important;
  }
  #about-section .img-sobre {
    display: block; width: 100% !important; max-width: 100% !important;
    margin-left: auto; margin-right: auto;
  }
  #about-section > .container > .row > .col-lg-6 { margin-bottom: 26px !important; }
}

/* Portfólio: FAQ, chamada e produtos como blocos separados em tablets. */
@media (max-width: 991.98px) {
  #nosso-portifolio .faq-layout {
    display: flex; flex-direction: column; align-items: stretch; gap: 28px;
    max-width: 760px; margin: 20px auto 44px;
  }
  #nosso-portifolio .faq-container {
    position: static; top: auto; width: 100%; max-width: 100%;
    margin: 0; padding: 0;
  }
  #nosso-portifolio .faq-side-box {
    width: 100%; max-width: 100%; margin: 0; padding: 22px 24px;
    background: #f5f5f5; border-radius: 10px;
  }
  #nosso-portifolio .produtos { clear: both; margin-top: 40px; }
  #nosso-portifolio .conteudo {
    display: flex; flex-direction: column; align-items: stretch; gap: 26px;
    max-width: 760px; margin: 0 auto;
  }
  #nosso-portifolio .coluna-lista, #nosso-portifolio .coluna-img {
    flex: 0 0 auto; width: 100%; max-width: 100%;
  }
  #nosso-portifolio .coluna-img { justify-content: center; }
}

/* Crédito corporativo: imagem e texto centralizados no mesmo eixo em tablets. */
@media (min-width: 769px) and (max-width: 991.98px) {
  #fedelta .fedelta { flex-direction: column; align-items: center; gap: 28px; }
  #fedelta .fedelta-img-box { width: 100%; max-width: 400px; min-width: 0; margin: 0 auto; }
  #fedelta .fedelta-img { width: 100%; max-width: 360px; margin: 0 auto; }
  #fedelta .fedelta-texto { width: 100%; max-width: 680px; min-width: 0; margin: 0 auto; text-align: left; }
  #fedelta .fedelta-texto > div { text-align: left !important; }
}


/* Nossa Empresa — apresentação aprovada. Escopo isolado para preservar as demais seções. */
#about-section .img-sobre-elegante {
  display: block;
  width: 100% !important;
  max-width: 580px !important;
  height: auto !important;
  margin: 0 auto;
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(37, 48, 73, .13);
}
#about-section .sobre-texto p {
  margin-bottom: 1.25rem;
}
#about-section .sobre-texto p:last-child {
  margin-bottom: 0;
}
@media (prefers-reduced-motion: reduce) {
  #about-section [data-aos] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
}


/* PADRAO DE LARGURA DAS SECOES — 1140px, sem afetar cabecalho/carrossel. */
#about-section > .container,
#valores > .container,
#team-section > .container,
#nosso-portifolio > .container,
#corretoras-parceiras > .container,
#fedelta > .container,
#politicas > .container,
#fale-conosco > .container {
  box-sizing: border-box;
  width: calc(100% - 40px);
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

/* Nossa Empresa: na tela ampla, a fotografia acompanha a altura do texto. */
@media (min-width: 1200px) {
  #about-section .nossa-empresa-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 42px;
    align-items: stretch;
    margin-left: 0;
    margin-right: 0;
  }
  #about-section .nossa-empresa-foto,
  #about-section .nossa-empresa-conteudo {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0 !important;
    padding: 0;
  }
  #about-section .nossa-empresa-foto {
    position: relative;
    min-height: 340px;
    align-self: stretch;
  }
  #about-section .img-sobre-elegante {
    position: absolute;
    inset: 0;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
  }
}
@media (max-width: 767.98px) {
  #about-section > .container,
  #valores > .container,
  #team-section > .container,
  #nosso-portifolio > .container,
  #corretoras-parceiras > .container,
  #fedelta > .container,
  #politicas > .container,
  #fale-conosco > .container {
    width: calc(100% - 40px);
    padding-left: 0;
    padding-right: 0;
  }
}


/* Nossa Empresa: proporcao imagem/texto — revisao apos homologacao visual.
   Altura guiada pelo texto em desktops e tablets horizontais. */
@media (min-width: 992px) {
  #about-section .nossa-empresa-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 38px;
    align-items: stretch;
    margin-left: 0;
    margin-right: 0;
  }
  #about-section .nossa-empresa-foto,
  #about-section .nossa-empresa-conteudo {
    width: 100%;
    max-width: none;
    min-width: 0;
    min-height: 0;
    margin: 0 !important;
    padding: 0;
  }
  #about-section .nossa-empresa-foto {
    position: relative;
    align-self: stretch;
  }
  #about-section .img-sobre-elegante {
    position: absolute;
    inset: 0;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
  }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  #about-section .nossa-empresa-layout {
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: 30px;
  }
}


/* NOSSOS VALORES — apresentacao aprovada; escopo restrito a esta secao. */
#valores > .container { box-sizing: border-box; }
#valores .valores-intro {
  max-width: 850px;
  margin: 0 auto 42px;
  text-align: center;
}
#valores .valores-intro h2 { margin-bottom: 18px; }
#valores .valores-intro p {
  margin: 0 auto;
  max-width: 760px;
  line-height: 1.7;
}
#valores .site-container { width: 100%; max-width: 100%; margin: 0 auto; padding: 0; }
#valores .valores-container {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: start;
  gap: 22px;
  width: 100%;
  max-width: 100%;
  padding: 0 0 10px;
  overflow: visible;
}
#valores .valor-item {
  box-sizing: border-box;
  min-width: 0;
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 4px 5px;
  cursor: default;
  text-align: center;
}
#valores .valor-item:hover { scale: .94; }
#valores .valor-item { transition: scale .3s ease; }
#valores .valor-item img { display: block; margin: 0 auto 16px; }
#valores .valor-item h4 { overflow-wrap: break-word; }
#valores .valor-item p { margin-bottom: 0; }
/* AOS: cada item reaparece ao retornar a secao, sem ocultacao permanente. */
@media (min-width: 992px) and (max-width: 1199.98px) {
  /* Margens coerentes entre Nossa Empresa e Nossos Valores em 1024 px. */
  #about-section > .container,
  #valores > .container { width: calc(100% - 80px); }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  #valores .valores-container { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 26px; }
  #valores .valor-item:last-child { grid-column: 1 / -1; max-width: 340px; justify-self: center; }
}
@media (max-width: 767.98px) {
  #valores .valores-intro { margin-bottom: 30px; }
  #valores .valores-container { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  #valores .valor-item { max-width: 360px; justify-self: center; }
  #valores .valor-item[data-aos] { transition-delay: 0ms !important; }
}
@media (prefers-reduced-motion: reduce) {
  #valores [data-aos], #valores .valor-item[data-aos] {
    opacity: 1 !important; transform: none !important; transition: none !important; animation: none !important;
  }
}


/* NOSSOS VALORES — AJUSTES DE HOMOLOGACAO (26/09)
   Prevalece sobre regras antigas de Flexbox para tablets. */
#valores .valores-intro {
  margin-bottom: 20px;
}
#valores .valores-intro h2 { margin-bottom: 12px; }
#valores .valores-intro p { line-height: 1.55; }
#valores .valores-container {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
  justify-content: initial !important;
  align-items: start;
  overflow: visible;
  min-width: 0;
}
#valores .valor-item {
  min-width: 0;
  width: 100%;
  max-width: none;
  flex: initial !important;
  grid-column: auto;
  justify-self: stretch;
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  /* Grade regular: dois itens por linha, ultimo centralizado. */
  #valores .valores-container {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px 26px !important;
  }
  #valores .valor-item,
  #valores .valor-item:nth-child(n) {
    flex: initial !important;
    width: 100%;
    max-width: 340px !important;
    justify-self: center;
    grid-column: auto;
  }
  #valores .valor-item:last-child {
    grid-column: 1 / -1;
    justify-self: center;
  }
}
@media (max-width: 767.98px) {
  #valores .valores-intro { margin-bottom: 18px; }
  #valores .valores-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 26px !important;
  }
  #valores .valor-item { max-width: 360px; justify-self: center; }
}
/* Tablet vertical: uma grade independente das colunas Bootstrap.
   Foto centralizada em ate 580px; texto ocupa os 756px da secao em 820px. */
@media (min-width: 768px) and (max-width: 991.98px) {
  #about-section > .container,
  #valores > .container {
    box-sizing: border-box;
    width: calc(100% - 64px);
    max-width: 1140px;
    margin-inline: auto;
    padding-inline: 0;
  }
  #about-section .nossa-empresa-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 26px;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
  }
  #about-section .nossa-empresa-foto,
  #about-section .nossa-empresa-conteudo,
  #about-section .sobre-texto {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 0;
  }
  /* Texto centralizado apenas no tablet vertical. */
  #about-section .nossa-empresa-conteudo,
  #about-section .sobre-texto,
  #about-section .sobre-texto p {
    text-align: center;
  }
  #about-section .img-sobre-elegante {
    display: block;
    width: min(100%, 580px) !important;
    max-width: 580px !important;
    height: auto !important;
    margin-inline: auto;
  }
  #valores .site-container,
  #valores .valores-container {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
  }
}
/* Cabeçalho: espaco interno igual nos dois lados, sem a margem
   negativa padrao do Bootstrap na linha que contem logo e menu. */
@media (max-width: 991.98px) {
  .site-navbar > .container {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    padding-left: 30px;
    padding-right: 30px;
  }
  .site-navbar > .container > .row {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }
  .site-navbar > .container > .row > .col-6 {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (min-width: 992px) and (max-width: 1199.98px) and (hover: none) and (pointer: coarse) {
  .site-navbar > .container {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    padding-left: 30px;
    padding-right: 30px;
  }
  .site-navbar > .container > .row { margin-inline: 0; width: 100%; }
  .site-navbar > .container > .row > .col-6 { padding-inline: 0; }
}

/* Texto longo de contato: quebra somente quando o espaco e insuficiente. */
#fale-conosco a[href^="mailto:"],
.site-footer a[href^="mailto:"] {
  overflow-wrap: anywhere;
  word-break: normal;
}

/* Nossa Empresa: respiro entre foto e texto em celulares (360/390px). */
@media (max-width: 767.98px) {
  #about-section .nossa-empresa-conteudo {
    margin-top: 24px;
  }
}


/* AJUSTES DE HOMOLOGACAO — 1366 / 1024 / celular.
   Alteracoes limitadas a Nossa Empresa e Nossos Valores. */
/* Distancias entre secoes e titulos centralizadas no bloco PADRAO ao final. */
@media (min-width: 992px) and (max-width: 1199.98px) {
  /* Cinco valores em duas linhas: tres em cima, dois centralizados embaixo. */
  #valores .valores-container {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: 18px !important;
    row-gap: 28px !important;
  }
  #valores .valor-item,
  #valores .valor-item:nth-child(n) {
    grid-column: span 2;
    max-width: 280px !important;
    width: 100%;
    justify-self: center;
  }
  #valores .valor-item:nth-child(4) { grid-column: 2 / span 2; }
  #valores .valor-item:nth-child(5) { grid-column: 4 / span 2; }
}
@media (max-width: 767.98px) {
  /* Mesma margem externa para foto e texto; sem margens negativas Bootstrap. */
  #about-section > .container {
    box-sizing: border-box;
    width: calc(100% - 48px);
    max-width: none;
    padding-inline: 0;
    margin-inline: auto;
  }
  #about-section .nossa-empresa-layout {
    box-sizing: border-box;
    display: block;
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    padding-inline: 0;
  }
  #about-section .nossa-empresa-foto,
  #about-section .nossa-empresa-conteudo,
  #about-section .sobre-texto {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-inline: 0;
    padding-inline: 0;
  }
  #about-section .img-sobre-elegante {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
  #about-section .nossa-empresa-conteudo { margin-top: 24px; }
}


/* PADRAO DE ESPACAMENTO — Nossa Empresa / Nossos Valores (26/09/2026).
   Replicar estas variaveis nas proximas secoes; nao alterar o carrossel.
   Uma unica fonte de verdade evita media queries conflitantes. */
:root {
  --exponencial-secao-respiro: clamp(48px, 4.5vw, 72px);
  --exponencial-titulo-conteudo: 38px;
  --exponencial-intro-icones: 14px;
}

/* Espaco acima das secoes, medido do limite da secao ao titulo. */
#about-section,
#valores {
  padding-top: var(--exponencial-secao-respiro);
  padding-bottom: 24px;
}
/* O carrossel nao possui o rodape interno de 40px da secao Empresa.
   Compensar no inicio da primeira secao para igualar o intervalo visual. */
#about-section {
  padding-top: calc(var(--exponencial-secao-respiro) + 24px);
}

/* O titulo de Nossa Empresa nao depende mais de estilo inline. */
#about-section > .container > .titulo-secao-padrao {
  text-align: center;
  margin-bottom: var(--exponencial-titulo-conteudo) !important;
}
#about-section .titulo-secao-padrao h2,
#valores .valores-intro h2 {
  margin-top: 0;
  margin-bottom: 0 !important;
}

/* Nossos Valores: mesma distancia titulo -> inicio do conteudo da Empresa.
   A frase introdutoria e o primeiro elemento do conteudo da secao. */
#valores .valores-intro h2 {
  margin-bottom: var(--exponencial-titulo-conteudo) !important;
}
#valores .valores-intro {
  margin-bottom: var(--exponencial-intro-icones);
}

/* Em celulares, preserva-se a distancia de uma linha entre foto e texto. */
@media (max-width: 767.98px) {
  #about-section .nossa-empresa-conteudo { margin-top: 24px; }
}

/* Tablet vertical: apenas o TEXTO da Empresa ganha margens internas dobradas.
   O titulo, a fotografia e as demais secoes preservam seus limites de 32px. */
@media (min-width: 768px) and (max-width: 991.98px) {
  #about-section .nossa-empresa-conteudo {
    width: calc(100% - 128px);
    max-width: 100%;
    margin-inline: auto;
  }
}


/* NOSSA EQUIPE — padrao aprovado de margens e espacamentos.
   Tipografia: Open Sans, a mesma carregada no restante do site atual.
   Nao modifica as secoes ja homologadas. */
#team-section {
  padding-top: var(--exponencial-secao-respiro);
  padding-bottom: 24px;
}
#team-section > .container { box-sizing: border-box; }
#team-section .equipe-intro {
  text-align: center;
  margin: 0 0 30px;
}
#team-section .equipe-intro h2 {
  margin: 0 0 var(--exponencial-titulo-conteudo) !important;
}
#team-section .equipe-intro p {
  margin: 0;
  line-height: 1.55;
}
#team-section .row-equipe {
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
  row-gap: 24px;
}
#team-section .row-equipe > [class*="col-"] {
  display: flex;
  min-width: 0;
  margin-bottom: 0 !important;
}
#team-section .team-member {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  font-family: "Open Sans", Arial, sans-serif;
}
#team-section .team-member h3,
#team-section .team-member .position,
#team-section .team-member .description {
  font-family: "Open Sans", Arial, sans-serif;
}
#team-section .team-member h3 { line-height: 1.35; }
#team-section .team-member .position {
  font-size: 12px;
  font-weight: 400;
  color: #667184 !important;
  line-height: 1.5;
  letter-spacing: .035em;
}
#team-section .team-member .description {
  line-height: 1.7;
  overflow-wrap: break-word;
  margin-bottom: 0;
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  #team-section > .container { width: calc(100% - 64px); }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  #team-section > .container {
    width: calc(100% - 64px);
    padding-left: 0;
    padding-right: 0;
  }
  #team-section .row-equipe { margin-left: 0; margin-right: 0; gap: 24px; }
  #team-section .row-equipe > [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
    flex: 0 0 calc(50% - 12px);
    max-width: calc(50% - 12px);
  }
}
@media (max-width: 767.98px) {
  #team-section > .container {
    width: calc(100% - 48px);
    padding-left: 0;
    padding-right: 0;
  }
  #team-section .row-equipe { margin-left: 0; margin-right: 0; row-gap: 24px; }
  #team-section .row-equipe > [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* Fotos discretamente menores: a regra antiga de 180px usa !important. */
#team-section .team-member img.rounded-circle {
  width: 148px !important;
  height: 148px !important;
}
/* Animacao discreta, repetivel e sem deslocamento no hover durante entrada. */
#team-section .team-member[data-aos] {
  transition-property: opacity, transform, box-shadow;
}
@media (max-width: 767.98px) {
  #team-section .team-member[data-aos] { transition-delay: 0ms !important; }
}
@media (prefers-reduced-motion: reduce) {
  #team-section [data-aos] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
}

/* NOSSA CONSULTORIA — primeira subseção de Soluções Completas.
   Escopo restrito: preserva integralmente as cinco seções já aprovadas. */
#nosso-portifolio { padding-top:var(--exponencial-secao-respiro); padding-bottom:24px; }
#nosso-portifolio > .container { box-sizing:border-box; }
#nosso-portifolio .consultoria-apresentacao { text-align:center; max-width:960px; margin:0 auto 36px; }
#nosso-portifolio .consultoria-apresentacao h2 { margin:0 0 var(--exponencial-titulo-conteudo)!important; font-size:clamp(25px,2.5vw,34px); line-height:1.25; }
#nosso-portifolio .consultoria-apresentacao p { margin:0 auto 16px; line-height:1.7; }
#nosso-portifolio .consultoria-perguntas { align-items:center; gap:36px; margin:0 0 50px; }
#nosso-portifolio .consultoria-perguntas .faq-container { flex:1 1 70%; max-width:none; min-width:0; padding:0; margin:0; top:auto; }
#nosso-portifolio .consultoria-perguntas .faq-side-box { flex:0 1 260px; min-width:0; }
#nosso-portifolio .faq-question { font-family:'Open Sans',Arial,sans-serif; color:#253049; line-height:1.45; gap:12px; }
#nosso-portifolio .faq-icon { flex:0 0 auto; }
#nosso-portifolio .faq-answer { box-sizing:border-box; }
#nosso-portifolio .faq-item.active .faq-answer { max-height:900px; }
#nosso-portifolio .faq-answer p { margin:0; overflow-wrap:break-word; }
#nosso-portifolio .jornada-exponencial { margin:0; }
#nosso-portifolio .jornada-exponencial > h3 { text-align:center; color:#253049; margin:0 0 12px; }
#nosso-portifolio .jornada-subtitulo { text-align:center; margin:0 auto 34px; max-width:760px; }
#nosso-portifolio .jornada-exponencial .conteudo { display:flex; align-items:center; gap:42px; margin:0; }
#nosso-portifolio .jornada-exponencial .coluna-lista { flex:1 1 58%; min-width:0; }
#nosso-portifolio .jornada-exponencial .coluna-img { flex:1 1 42%; min-width:0; }
#nosso-portifolio .jornada-exponencial .img-portfolio { display:block; width:100%; max-width:100%; height:auto; }
#nosso-portifolio .jornada-etapa { margin-bottom:22px; }
#nosso-portifolio .jornada-etapa h4 { color:#253049; font-size:19px; line-height:1.4; margin:0 0 7px; }
#nosso-portifolio .jornada-etapa h4 span { color:#b79b52; font-weight:700; margin-right:9px; }
#nosso-portifolio .jornada-etapa p { margin:0; line-height:1.6; }
#nosso-portifolio .jornada-fecho { color:#253049; font-weight:700; margin:4px 0 0; }
@media (min-width:768px) and (max-width:1199.98px) {
 #nosso-portifolio > .container { width:calc(100% - 64px); max-width:1140px; padding-left:0; padding-right:0; }
}
@media (max-width:991.98px) {
 #nosso-portifolio .consultoria-perguntas { flex-direction:column; gap:12px; }
 #nosso-portifolio .consultoria-perguntas .faq-container, #nosso-portifolio .consultoria-perguntas .faq-side-box { width:100%; max-width:100%; flex:auto; }
 #nosso-portifolio .consultoria-perguntas .faq-side-box { text-align:center; margin:4px auto 0; }
 #nosso-portifolio .jornada-exponencial .conteudo { flex-direction:column; gap:26px; }
 #nosso-portifolio .jornada-exponencial .coluna-lista, #nosso-portifolio .jornada-exponencial .coluna-img { flex:0 1 auto; width:100%; max-width:100%; }
 #nosso-portifolio .jornada-exponencial .img-portfolio { max-width:580px; margin:auto; }
}
@media (max-width:767.98px) {
 #nosso-portifolio > .container { width:calc(100% - 48px); padding-left:0; padding-right:0; }
 #nosso-portifolio .consultoria-apresentacao { margin-bottom:30px; }
 #nosso-portifolio .consultoria-perguntas { margin-bottom:42px; }
 #nosso-portifolio .faq-question { padding:15px; font-size:15px; }
 #nosso-portifolio .faq-answer { padding-left:15px; padding-right:15px; }
 #nosso-portifolio .faq-item.active .faq-answer { padding-left:15px; padding-right:15px; }
 #nosso-portifolio .jornada-etapa h4 { font-size:17px; }
}
@media (prefers-reduced-motion:reduce) {
 #nosso-portifolio [data-aos] { opacity:1!important; transform:none!important; transition:none!important; }
}

/* NOSSA CONSULTORIA — refinamento compacto (apenas esta subseção).
   Titulo na escala original das secoes; subtitulo discreto. */
#nosso-portifolio .consultoria-apresentacao { max-width:1100px; }
#nosso-portifolio .consultoria-sobretitulo {
  font-family:'Open Sans',Arial,sans-serif; font-size:14px; font-weight:600;
  color:#778294; letter-spacing:.10em; text-transform:uppercase;
  margin:0 0 12px; line-height:1.5;
}
#nosso-portifolio .consultoria-apresentacao h2 {
  font-size:40px; line-height:1.22; margin:0 0 22px!important;
  text-wrap:balance;
}
#nosso-portifolio .consultoria-apresentacao .consultoria-texto {
  max-width:1060px; margin:0 auto; line-height:1.7;
}
/* A foto preserva sua proporcao e nao e esticada para preencher a coluna. */
#nosso-portifolio .jornada-exponencial .conteudo {
  display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  align-items:center; gap:34px;
}
#nosso-portifolio .jornada-exponencial .coluna-lista,
#nosso-portifolio .jornada-exponencial .coluna-img {
  min-width:0; width:auto; flex:none;
}
#nosso-portifolio .jornada-exponencial .coluna-lista > h3 {
  color:#253049; text-align:left; margin:0 0 8px; font-size:28px;
}
#nosso-portifolio .jornada-exponencial .coluna-lista > .jornada-subtitulo {
  text-align:left; max-width:none; margin:0 0 18px; line-height:1.5;
}
#nosso-portifolio .jornada-etapa { margin-bottom:12px; }
#nosso-portifolio .jornada-etapa h4 {
  color:#253049; font-size:17px; line-height:1.3; margin:0 0 3px;
}
#nosso-portifolio .jornada-etapa p { margin:0; line-height:1.5; font-size:15px; }
#nosso-portifolio .jornada-fecho { margin:12px 0 0; font-size:15px; }
#nosso-portifolio .jornada-exponencial .coluna-img {
  display:flex; align-items:center; justify-content:center;
  position:static; min-height:0; align-self:center; overflow:visible;
}
#nosso-portifolio .jornada-exponencial .img-portfolio {
  position:static; inset:auto; display:block; width:100%; max-width:100%;
  height:auto; object-fit:contain; margin:0; border-radius:6px;
}
@media (max-width:991.98px) {
  #nosso-portifolio .consultoria-apresentacao h2 { font-size:30px; }
  #nosso-portifolio .jornada-exponencial .conteudo {
    display:flex; flex-direction:column; gap:26px; align-items:stretch;
  }
  #nosso-portifolio .jornada-exponencial .coluna-lista { width:100%; max-width:100%; }
  #nosso-portifolio .jornada-exponencial .coluna-img {
    width:min(100%,580px); max-width:100%; align-self:center;
  }
}
@media (max-width:767.98px) {
  #nosso-portifolio .consultoria-sobretitulo { font-size:12px; }
  #nosso-portifolio .consultoria-apresentacao h2 { font-size:clamp(25px,6vw,30px); }
  #nosso-portifolio .jornada-exponencial .coluna-lista > h3 { font-size:25px; }
}

/* Jornada Exponencial — numeracao coerente com o sobretitulo Nossa Consultoria. */
#nosso-portifolio .jornada-etapa h4 span { color:#778294; }

/* Apenas no tablet horizontal (inclui 1024 px): titulo e introducao
   ocupam a largura total; etapas e foto compartilham a linha seguinte.
   As demais resolucoes mantem a composicao aprovada. */
#nosso-portifolio .jornada-cabecalho-tablet { display:none; }
@media (min-width:992px) and (max-width:1199.98px) {
  #nosso-portifolio .jornada-exponencial .conteudo {
    display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
    align-items:center; column-gap:28px; row-gap:18px;
  }
  #nosso-portifolio .jornada-cabecalho-tablet {
    display:block; grid-column:1 / -1; min-width:0; text-align:left;
  }
  #nosso-portifolio .jornada-cabecalho-tablet h3 {
    color:#253049; font-size:28px; line-height:1.25; margin:0 0 6px;
  }
  #nosso-portifolio .jornada-cabecalho-tablet p {
    margin:0; line-height:1.5;
  }
  #nosso-portifolio .jornada-exponencial .coluna-lista > h3,
  #nosso-portifolio .jornada-exponencial .coluna-lista > .jornada-subtitulo {
    display:none;
  }
  #nosso-portifolio .jornada-exponencial .coluna-lista { grid-column:1; }
  #nosso-portifolio .jornada-exponencial .coluna-img { grid-column:2; }
}

/* Jornada Exponencial — refinamentos pontuais homologacao 1024/820. */
@media (min-width:992px) and (max-width:1199.98px) {
  /* Pequeno ganho de largura para a fotografia, sem alterar a estrutura. */
  #nosso-portifolio .jornada-exponencial .conteudo {
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    column-gap:24px;
  }
}
@media (min-width:768px) and (max-width:991.98px) {
  /* Apenas os quatro passos recebem recuo; titulo, introducao e foto mantidos. */
  #nosso-portifolio .jornada-exponencial .jornada-etapa {
    margin-left:24px;
    margin-right:0;
  }
}


/* REVISAO VISUAL 1366 — Jornada Exponencial e Consolidador.
   Desktop amplo somente: preservar a composicao homologada em 1024/820/mobile. */
@media (min-width:1200px) {
  #nosso-portifolio .jornada-exponencial .conteudo {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:24px;
  }
  #nosso-portifolio .jornada-exponencial .coluna-lista > h3 {
    font-size:24px; line-height:1.2; margin-bottom:5px;
  }
  #nosso-portifolio .jornada-exponencial .coluna-lista > .jornada-subtitulo {
    margin-bottom:10px; font-size:14px; line-height:1.4;
  }
  #nosso-portifolio .jornada-exponencial .jornada-etapa { margin-bottom:7px; }
  #nosso-portifolio .jornada-exponencial .jornada-etapa h4 {
    font-size:16px; line-height:1.2; margin-bottom:2px;
  }
  #nosso-portifolio .jornada-exponencial .jornada-etapa p {
    font-size:14px; line-height:1.4;
  }
  #nosso-portifolio .jornada-exponencial .jornada-fecho {
    margin-top:8px; font-size:14px; line-height:1.4;
  }
  #nosso-portifolio .jornada-exponencial .img-portfolio {
    height:440px; object-fit:cover;
  }
  #consolidador-exponencial .consolidador-layout {
    grid-template-columns:minmax(0,450px) minmax(0,1fr);
    gap:24px;
  }
  #consolidador-exponencial .consolidador-imagem { justify-self:end; }
}
/* Tipografia do titulo interno alinhada a identidade institucional. */
#nosso-portifolio .jornada-exponencial .coluna-lista > h3,
#nosso-portifolio .jornada-cabecalho-tablet h3 {
  font-family:Montserrat,'Open Sans',Arial,sans-serif;
  font-weight:600;
  color:#253049;
}

/* ATUACAO MULTIPLATAFORMA — mesma hierarquia visual da Nossa Consultoria.
   Escopo isolado: nao modifica secoes homologadas. */
#corretoras-parceiras.multiplataforma-section {
  padding-top: var(--exponencial-secao-respiro);
  padding-bottom: var(--exponencial-secao-respiro);
  scroll-margin-top: 100px;
}
#corretoras-parceiras .multiplataforma-apresentacao {
  text-align: center;
  margin: 0 auto var(--exponencial-titulo-conteudo);
  max-width: 1100px;
}
#corretoras-parceiras .multiplataforma-sobretitulo {
  font-family: 'Open Sans', Arial, sans-serif;
  color: #778294;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .10em;
  text-transform: uppercase;
  margin: 0 0 12px;
}
#corretoras-parceiras .multiplataforma-apresentacao h2 {
  color: #253049 !important;
  font-size: 40px;
  line-height: 1.22;
  margin: 0 !important;
}
#corretoras-parceiras .multiplataforma-conteudo {
  max-width: 1060px;
  margin: 0 auto;
  text-align: center;
  font-family: 'Open Sans', Arial, sans-serif;
  line-height: 1.7;
}
#corretoras-parceiras .multiplataforma-conteudo p { margin: 0 0 15px; }
#corretoras-parceiras .multiplataforma-conteudo p:last-child { margin-bottom: 0; }
@media (min-width: 768px) and (max-width: 991.98px) {
  #corretoras-parceiras > .container {
    width: calc(100% - 64px);
    padding-left: 0;
    padding-right: 0;
  }
}
@media (max-width: 767.98px) {
  #corretoras-parceiras .multiplataforma-sobretitulo { font-size: 12px; }
  #corretoras-parceiras .multiplataforma-apresentacao h2 { font-size: clamp(25px, 6vw, 30px); }
}
@media (prefers-reduced-motion: reduce) {
  #corretoras-parceiras [data-aos] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ATUACAO MULTIPLATAFORMA — alinhamento e escala em tablet/celular.
   Regras isoladas para preservar todas as secoes homologadas. */
@media (min-width:768px) and (max-width:991.98px) {
  #corretoras-parceiras .multiplataforma-apresentacao h2.section-title {
    font-size:30px;
    line-height:1.25;
  }
}
@media (max-width:767.98px) {
  #corretoras-parceiras .multiplataforma-apresentacao,
  #corretoras-parceiras .multiplataforma-sobretitulo,
  #corretoras-parceiras .multiplataforma-apresentacao h2.section-title,
  #corretoras-parceiras .multiplataforma-conteudo,
  #corretoras-parceiras .multiplataforma-conteudo p {
    text-align:center !important;
  }
}

/* CONSOLIDADOR EXPONENCIAL — título acima, imagem à esquerda e texto à direita. */
#consolidador-exponencial.consolidador-section {
  /* Menor intervalo em relacao a Atuação Multiplataforma. */
  padding-top:32px;
  padding-bottom:var(--exponencial-secao-respiro);
  scroll-margin-top:100px;
}
#consolidador-exponencial > .container {
  box-sizing:border-box; width:calc(100% - 40px); max-width:1140px;
  margin-inline:auto; padding-inline:15px;
}
#consolidador-exponencial .consolidador-apresentacao {
  text-align:center; margin-bottom:var(--exponencial-titulo-conteudo);
}
#consolidador-exponencial .consolidador-sobretitulo {
  color:#778294; font-size:14px; font-weight:600; letter-spacing:.10em;
  text-transform:uppercase; line-height:1.5; margin:0 0 12px;
}
#consolidador-exponencial .consolidador-apresentacao h2.section-title {
  color:#253049; font-size:40px; line-height:1.22; margin:0;
}
#consolidador-exponencial .consolidador-layout {
  display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);
  gap:clamp(28px,4vw,50px); align-items:center;
}
#consolidador-exponencial .consolidador-imagem,
#consolidador-exponencial .consolidador-texto { min-width:0; }
/* Limita a fotografia pela altura aproximada do texto, sem cortar a imagem. */
#consolidador-exponencial .consolidador-imagem {
  width:100%; max-width:450px; justify-self:center;
}
#consolidador-exponencial .consolidador-imagem img {
  display:block; width:100%; height:auto; border-radius:8px;
  box-shadow:0 10px 28px rgba(37,48,73,.12);
}
#consolidador-exponencial .consolidador-texto {
  font-family:'Open Sans',Arial,sans-serif; color:#333;
  font-size:16px; line-height:1.7; text-align:left;
}
#consolidador-exponencial .consolidador-texto p { margin:0 0 14px; }
#consolidador-exponencial .consolidador-texto p:last-child { margin-bottom:0; }
#consolidador-exponencial .consolidador-fecho { color:#253049; font-weight:600; }
@media (min-width:992px) and (max-width:1199.98px) {
  #consolidador-exponencial .consolidador-layout { gap:26px; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); }
  #consolidador-exponencial .consolidador-imagem { max-width:420px; }
  #consolidador-exponencial .consolidador-apresentacao h2.section-title { font-size:34px; }
}
@media (min-width:768px) and (max-width:991.98px) {
  #consolidador-exponencial > .container { width:calc(100% - 64px); padding-inline:0; }
  #consolidador-exponencial .consolidador-apresentacao h2.section-title { font-size:30px; }
  #consolidador-exponencial .consolidador-layout { grid-template-columns:minmax(0,1fr); gap:30px; }
  #consolidador-exponencial .consolidador-imagem { width:100%; max-width:580px; margin-inline:auto; }
  #consolidador-exponencial .consolidador-texto { text-align:center; }
}
@media (max-width:767.98px) {
  #consolidador-exponencial .consolidador-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
  #consolidador-exponencial .consolidador-sobretitulo { font-size:12px; }
  #consolidador-exponencial .consolidador-apresentacao h2.section-title { font-size:clamp(25px,6vw,30px); }
  #consolidador-exponencial .consolidador-texto { text-align:center; }
}
@media (prefers-reduced-motion:reduce) {
  #consolidador-exponencial [data-aos] { opacity:1!important; transform:none!important; transition:none!important; }
}

@media (max-width:991.98px) {
  #consolidador-exponencial.consolidador-section { padding-top:28px; }
}


/* POLÍTICAS DE ATUAÇÃO — revisão compacta; demais seções preservadas. */
#politicas.politicas-section {
  width:100%; max-width:none!important; box-sizing:border-box;
  margin:0!important; padding:30px 0 48px!important;
  background:#fff; text-align:center;
}
#politicas > .container {
  box-sizing:border-box; max-width:1140px; width:calc(100% - 40px);
  padding:0 15px; margin:0 auto;
}
#politicas .politicas-cabecalho { max-width:940px; margin:0 auto 30px; }
#politicas .politicas-cabecalho h2.section-title {
  color:#253049; font-size:40px; font-weight:700;
  line-height:1.25; margin:0 0 26px!important;
}
#politicas .politicas-cabecalho p {
  color:#333; font-size:16px; line-height:1.65; margin:0;
}
#politicas .politicas-grid {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 18px; margin:0;
}
#politicas .politicas-grid a {
  box-sizing:border-box; display:flex; align-items:center; gap:11px;
  width:100%; min-width:0; min-height:48px; height:auto;
  padding:9px 14px; background:#fff; border:1px solid #e1e5eb;
  border-radius:5px; color:#253049; font-size:14px; font-weight:500;
  line-height:1.35; text-align:left; text-decoration:none;
  transform:none; box-shadow:none;
  transition:background .2s,border-color .2s,box-shadow .2s;
}
#politicas .politicas-grid a:hover,
#politicas .politicas-grid a:focus-visible {
  background:#f7f8fa; border-color:#c9b477;
  box-shadow:0 2px 9px rgba(37,48,73,.05); transform:none;
}
#politicas .politicas-grid a:focus-visible { outline:2px solid #253049; outline-offset:2px; }
#politicas .politicas-icone { flex:0 0 auto; color:#778294; font-size:18px; line-height:1; }
#politicas .politicas-nome { flex:1 1 auto; min-width:0; }
#politicas .politicas-seta { flex:0 0 auto; color:#778294; font-size:16px; line-height:1; }
#politicas .politicas-selos { margin-top:24px!important; gap:26px; }
#politicas .politicas-selos img {
  display:block; width:auto; height:auto; max-height:28px; max-width:88px;
  object-fit:contain;
}
@media (min-width:768px) and (max-width:1199.98px) {
  #politicas.politicas-section { padding-top:28px!important; }
  #politicas .politicas-cabecalho h2.section-title { font-size:36px; }
  #politicas .politicas-grid { gap:8px 14px; }
  #politicas .politicas-grid a { padding:9px 11px; font-size:13.5px; }
  #politicas .politicas-selos img { max-height:26px; max-width:82px; }
}
@media (max-width:767.98px) {
  #politicas.politicas-section { padding:28px 0 42px!important; }
  #politicas > .container { width:calc(100% - 40px); padding:0; }
  #politicas .politicas-cabecalho { margin-bottom:24px; }
  #politicas .politicas-cabecalho h2.section-title {
    font-size:clamp(27px,6vw,31px); margin-bottom:22px!important;
  }
  #politicas .politicas-cabecalho p { font-size:15px; line-height:1.65; }
  #politicas .politicas-grid { grid-template-columns:1fr!important; gap:8px!important; }
  #politicas .politicas-grid a {
    min-height:48px!important; height:auto!important; width:100%!important;
    padding:9px 12px; font-size:14px!important;
  }
  #politicas .politicas-selos { margin-top:22px!important; gap:18px!important; }
  #politicas .politicas-selos img {
    height:auto!important; width:auto!important; max-height:20px!important;
    max-width:66px!important;
  }
}

/* TITULOS PRINCIPAIS — padrao unico nas seis secoes e em todas as telas.
   Regras posicionadas ao final para prevalecer sobre estilos antigos e media queries.
   Nao alteram margens, subtitulos nem a Jornada Exponencial (titulo interno). */
#about-section .titulo-secao-padrao h2,
#valores .valores-intro h2,
#team-section .equipe-intro h2,
#nosso-portifolio .consultoria-apresentacao h2.section-title,
#corretoras-parceiras .multiplataforma-apresentacao h2.section-title,
#consolidador-exponencial .consolidador-apresentacao h2.section-title,
#politicas .politicas-cabecalho h2.section-title {
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 40px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: #253049 !important;
}
/* O strong nos titulos institucionais deve herdar a mesma cor. */
#about-section .titulo-secao-padrao h2 strong,
#valores .valores-intro h2 strong,
#team-section .equipe-intro h2 strong,
#politicas .politicas-cabecalho h2 strong { color: inherit !important; }

/* Tipografia e alinhamento da introducao de Politicas em celulares. */
#politicas .politicas-cabecalho p {
  font-family: "Open Sans", Arial, sans-serif;
  font-weight: 400;
  text-align: center !important;
  padding-left: 0;
  padding-right: 0;
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  #about-section .titulo-secao-padrao h2,
  #valores .valores-intro h2,
  #team-section .equipe-intro h2,
  #nosso-portifolio .consultoria-apresentacao h2.section-title,
  #corretoras-parceiras .multiplataforma-apresentacao h2.section-title,
  #consolidador-exponencial .consolidador-apresentacao h2.section-title,
  #politicas .politicas-cabecalho h2.section-title { font-size: 36px !important; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  #about-section .titulo-secao-padrao h2,
  #valores .valores-intro h2,
  #team-section .equipe-intro h2,
  #nosso-portifolio .consultoria-apresentacao h2.section-title,
  #corretoras-parceiras .multiplataforma-apresentacao h2.section-title,
  #consolidador-exponencial .consolidador-apresentacao h2.section-title,
  #politicas .politicas-cabecalho h2.section-title { font-size: 30px !important; }
}
@media (max-width: 767.98px) {
  #about-section .titulo-secao-padrao h2,
  #valores .valores-intro h2,
  #team-section .equipe-intro h2,
  #nosso-portifolio .consultoria-apresentacao h2.section-title,
  #corretoras-parceiras .multiplataforma-apresentacao h2.section-title,
  #consolidador-exponencial .consolidador-apresentacao h2.section-title,
  #politicas .politicas-cabecalho h2.section-title {
    font-size: clamp(27px, 6vw, 31px) !important;
  }
  #politicas .politicas-cabecalho p {
    font-size: 15px;
    line-height: 1.65;
    text-align: center !important;
    padding: 0 !important;
    margin: 0 auto;
  }
}


/* FALE CONOSCO — segunda versão: tabela compacta e formulário arredondado. */
#fale-conosco.Contato-section { padding:30px 0 58px!important; margin:0!important; background:#fff; }
#fale-conosco > .container { max-width:1140px; width:calc(100% - 40px); padding:0 15px; margin:0 auto; }
#fale-conosco .contato-cabecalho { text-align:center; margin:0 auto 30px; }
#fale-conosco .contato-cabecalho h2.section-title { font-family:"Open Sans",Arial,sans-serif!important; font-size:40px!important; font-weight:700!important; line-height:1.25!important; color:#253049!important; margin:0!important; }
#fale-conosco .contato-regioes { width:100%; max-width:990px; margin:0 auto; }
#fale-conosco .contato-regiao { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1.15fr); gap:12px; padding:0; }
#fale-conosco .contato-regiao-secundaria { padding:0; border:0; margin-top:0; }
#fale-conosco .contato-coluna { min-width:0; text-align:center; }
#fale-conosco .contato-icone { display:block; font-size:29px; line-height:1.2; color:#253049; margin-bottom:10px; }
#fale-conosco .contato-coluna p, #fale-conosco .contato-coluna a { color:#333; font-size:13px; line-height:1.8; overflow-wrap:anywhere; }
#fale-conosco .contato-coluna p { margin:0; }
#fale-conosco .contato-coluna a { text-decoration:none; }
#fale-conosco .contato-coluna a:hover, #fale-conosco .contato-coluna a:focus-visible { color:#253049; text-decoration:underline; }
#fale-conosco .contato-formulario { box-sizing:border-box; width:100%!important; max-width:840px!important; padding:21px 30px 23px!important; margin:24px auto 0!important; background:#f8f9fb; border:1px solid #e5e8ee; border-radius:12px; box-shadow:0 5px 20px rgba(37,48,73,.07); }
#fale-conosco .contato-formulario h3 { font-size:23px; font-weight:700; color:#253049; text-align:center; margin:0 0 8px; }
#fale-conosco .contato-form-intro { font-size:15px; color:#253049; line-height:1.6; text-align:center; margin:0 auto 15px; max-width:650px; }
#fale-conosco .contato-campos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 16px; }
#fale-conosco .contato-campo { min-width:0; }
#fale-conosco .contato-campo-largo { grid-column:1/-1; }
#fale-conosco .contato-campo label { display:block; margin:0 0 3px; color:#253049; font-size:13px; font-weight:600; }
#fale-conosco .contato-campo label span { color:#8e6c24; }
#fale-conosco .contato-campo input, #fale-conosco .contato-campo textarea { box-sizing:border-box; width:100%; min-width:0; padding:7px 12px; border:1px solid #cdd4df; border-radius:13px; background:#fff; box-shadow:0 2px 7px rgba(37,48,73,.10); color:#333; font-family:inherit; font-size:14px; line-height:1.4; transition:border-color .2s,box-shadow .2s; }
#fale-conosco .contato-campo textarea { resize:vertical; min-height:80px; }
#fale-conosco .contato-campo input:focus, #fale-conosco .contato-campo textarea:focus { outline:0; border-color:#778294; box-shadow:0 0 0 3px rgba(119,130,148,.16); }
#fale-conosco .contato-privacidade { margin:10px 0 0; font-size:12px; line-height:1.5; color:#5b6575; text-align:center; }
#fale-conosco .contato-form-rodape { display:flex; align-items:center; justify-content:center; margin-top:12px; }
#fale-conosco .contato-enviar { padding:9px 27px; border:1px solid #253049; border-radius:24px; background:#253049; color:#fff; font-size:14px; font-weight:600; cursor:pointer; transition:background .2s; }
#fale-conosco .contato-enviar:hover, #fale-conosco .contato-enviar:focus-visible { background:#354563; }
#fale-conosco .contato-enviar:disabled { opacity:.65; cursor:wait; }
#fale-conosco .contato-resultado { padding:12px; border-radius:8px; margin:16px 0 0; font-size:14px; text-align:center; }
#fale-conosco .contato-resultado-sucesso { background:#e9f5ed; color:#205b32; }
#fale-conosco .contato-resultado-erro { background:#fff0ef; color:#9b332a; }
#fale-conosco .contato-resultado[hidden] { display:none; }
#fale-conosco .contato-antispam { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
@media (min-width:992px) and (max-width:1199.98px) { #fale-conosco .contato-cabecalho h2.section-title { font-size:36px!important; } }
@media (min-width:768px) and (max-width:991.98px) { #fale-conosco .contato-cabecalho h2.section-title { font-size:30px!important; } #fale-conosco .contato-regiao { gap:9px; } #fale-conosco .contato-coluna p, #fale-conosco .contato-coluna a { font-size:12.5px; } }
@media (max-width:767.98px) { #fale-conosco.Contato-section { padding:28px 0 44px!important; } #fale-conosco > .container { padding:0; } #fale-conosco .contato-cabecalho { margin-bottom:25px; } #fale-conosco .contato-cabecalho h2.section-title { font-size:clamp(27px,6vw,31px)!important; } #fale-conosco .contato-regiao { grid-template-columns:1fr; gap:16px; padding:0; } #fale-conosco .contato-regiao-secundaria { padding:0; margin-top:13px; } #fale-conosco .contato-formulario { padding:22px 17px!important; } #fale-conosco .contato-campos { grid-template-columns:1fr; gap:10px; } #fale-conosco .contato-enviar { width:100%; max-width:280px; } }
@media (prefers-reduced-motion:reduce) { #fale-conosco [data-aos] { opacity:1!important; transform:none!important; transition:none!important; } }

/* FALE CONOSCO — v4: alinhamento dos contatos e espacamento do formulario.
   Colunas externas simetricas; ampliacao concentrada na coluna central. */
@media (min-width: 768px) {
  #fale-conosco .contato-regioes { max-width: 1060px; }
  #fale-conosco .contato-regiao { grid-template-columns: minmax(0,1.15fr) minmax(0,1.38fr) minmax(0,1.15fr); }
}
/* O titulo do formulario herda regras antigas: especificidade reforcada. */
#fale-conosco form.contato-formulario h3 { color: #253049 !important; }
/* Mesma separacao visual do titulo ate os contatos e dos contatos ate o formulario. */
#fale-conosco .contato-formulario { margin-top: 30px !important; }
@media (max-width: 767.98px) {
  #fale-conosco .contato-formulario { margin-top: 25px !important; }
}


/* Rodapé institucional — primeira versão (escopo isolado) */
.site-footer.footer-exponencial{background:#18345e!important;color:#f5f6f9!important;padding:44px 0 20px!important;text-align:left!important;font-family:Montserrat,Arial,sans-serif}
.footer-exponencial .footer-conteudo{max-width:1180px}
.footer-exponencial .footer-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr) minmax(0,1.08fr);column-gap:52px;align-items:start}
.footer-exponencial .footer-marca{display:inline-block;margin-bottom:14px}
.footer-exponencial .footer-marca img{display:block;max-width:230px;width:100%;height:auto;object-fit:contain}
.footer-exponencial p{color:#e4e8ef!important;font-size:13px;line-height:1.55;margin:0 0 10px}
.footer-exponencial .footer-razao{font-weight:700;color:#fff!important;margin-bottom:3px}
.footer-exponencial .footer-cnpj{font-weight:600;margin-bottom:13px}
.footer-exponencial .footer-heading{font-size:18px!important;font-weight:700;color:#e1c77d!important;line-height:1.3;margin:3px 0 17px!important;padding-bottom:9px;border-bottom:1px solid rgba(225,199,125,.48)}
.footer-exponencial .footer-links{padding:0;margin:0;list-style:none}
.footer-exponencial .footer-links li{margin:0 0 7px}
.footer-exponencial .footer-links a{font-size:13px;color:#f3f4f8!important;text-decoration:none;transition:color .2s}
.footer-exponencial .footer-links a:hover,.footer-exponencial .footer-links a:focus{color:#e1c77d!important;text-decoration:underline}
.footer-exponencial .footer-redes{display:flex;gap:14px;margin-bottom:22px}
.footer-exponencial .footer-redes a{display:flex;align-items:center;justify-content:center;width:43px;height:43px;border:1px solid rgba(225,199,125,.55);border-radius:50%;font-size:20px;color:#fff!important;text-decoration:none;transition:background .2s,color .2s}
.footer-exponencial .footer-redes a:hover,.footer-exponencial .footer-redes a:focus{background:#e1c77d;color:#253049!important}
.footer-exponencial .footer-carreiras{padding:17px 18px;border:1px solid rgba(225,199,125,.55);border-radius:12px;background:rgba(255,255,255,.035)}
.footer-exponencial .footer-carreiras h3{font-size:17px;color:#e1c77d!important;font-weight:700;line-height:1.4;margin:0 0 8px}
.footer-exponencial .footer-carreiras p{font-size:13px;margin:0 0 12px}
.footer-exponencial .footer-botao{display:inline-flex;align-items:center;gap:12px;border-radius:24px;padding:11px 19px;background:#e1c77d;color:#253049!important;font-size:13px;font-weight:700;text-decoration:none!important;transition:background .2s,transform .2s}
.footer-exponencial .footer-botao:hover,.footer-exponencial .footer-botao:focus{background:#f0dfae;transform:translateY(-1px)}
.footer-exponencial .footer-base{margin-top:25px;padding-top:15px;border-top:1px solid rgba(225,199,125,.5);text-align:center}
.footer-exponencial .footer-institucional .footer-aviso{font-size:12px;line-height:1.55;color:#d4dae4!important;margin:13px 0 0}
.footer-exponencial .footer-base .footer-direitos{font-size:12px;color:#d4dae4!important;margin:0}
@media(max-width:1100px){.footer-exponencial .footer-grid{column-gap:30px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.05fr)}.footer-exponencial .footer-carreiras{padding:20px 16px}}
@media(max-width:767px){.site-footer.footer-exponencial{padding:36px 0 20px!important;text-align:center!important}.footer-exponencial .footer-grid{grid-template-columns:1fr;gap:26px;max-width:500px;margin:0 auto}.footer-exponencial .footer-marca{margin-bottom:16px}.footer-exponencial .footer-marca img{margin:0 auto}.footer-exponencial .footer-heading{margin-bottom:16px!important}.footer-exponencial .footer-redes{justify-content:center;margin-bottom:22px}.footer-exponencial .footer-carreiras{text-align:center}.footer-exponencial .footer-base{margin-top:24px}}

/* RODAPÉ v3 — refinamentos de proporção e alinhamento. */
/* Logotipo 25% menor que a versão anterior (230px → 172,5px). */
.footer-exponencial .footer-marca img {
  max-width: 172.5px;
}
/* Navegação mais compacta, para acompanhar a altura da coluna institucional. */
.footer-exponencial .footer-links li {
  margin-bottom: 3px;
  line-height: 1.38;
}
.footer-exponencial .footer-links a {
  line-height: inherit;
}
/* O convite fica na base da terceira coluna, sem deslocar redes sociais. */
@media (min-width: 768px) {
  .footer-exponencial .footer-conexao {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    min-height: 100%;
  }
  .footer-exponencial .footer-carreiras {
    margin-top: auto;
  }
}
/* Uma linha de respiro após os direitos reservados. */
.footer-exponencial .footer-base {
  padding-bottom: 20px;
}

/* RODAPÉ v4 — refinamentos após avaliação das cinco resoluções. */
/* Navegação: ponto intermediário entre a versão v2 (7px) e a v3 (3px). */
.footer-exponencial .footer-links li {
  margin-bottom: 5px;
  line-height: 1.46;
}
/* Formulário: mesma cor do cabeçalho e do rodapé. */
#fale-conosco .contato-formulario .contato-enviar {
  background-color: #18345e;
  border-color: #18345e;
}
#fale-conosco .contato-formulario .contato-enviar:hover,
#fale-conosco .contato-formulario .contato-enviar:focus-visible {
  background-color: #254779;
  border-color: #254779;
}
/* Respiro lateral apenas em tablets; celulares mantêm o layout homologado. */
@media (min-width: 768px) and (max-width: 1199.98px) {
  .footer-exponencial .footer-conteudo {
    box-sizing: border-box;
    padding-left: 36px;
    padding-right: 36px;
  }
}

/* REVISAO VISUAL 1366 — rodada 3: ajustes pontuais. */
/* A entrada usa o deslocamento vertical do AOS; o hover usa a propriedade
   independente scale para nao substituir o transform da animacao. */
#valores .valores-intro { margin-bottom:6px; }
#valores .valor-item:hover { transform:none; scale:.94; }
#valores .valor-item[data-aos="fade-up"]:not(.aos-animate) {
  opacity:0;
  transform:translate3d(0,24px,0);
}
#valores .valor-item[data-aos="fade-up"].aos-animate {
  opacity:1;
  transform:translate3d(0,0,0);
}
@media (prefers-reduced-motion:reduce) {
  #valores .valor-item[data-aos="fade-up"]:not(.aos-animate) {
    opacity:1; transform:none;
  }
}
@media (min-width:1200px) {
  /* Ajuste fino da rodada 7: reducao adicional de aproximadamente 5% (374 -> 355px). */
  #nosso-portifolio .jornada-exponencial .img-portfolio {
    height:355px;
  }
  /* Colunas alinhadas ao inicio do container e texto com largura limitada:
     o espaco livre fica a direita, nao entre fotografia e texto. */
  /* Jornada: respiro entre introducao, etapas e frase de fechamento. */
  #nosso-portifolio .jornada-exponencial .coluna-lista > h3,
  #nosso-portifolio .jornada-exponencial .coluna-lista > .jornada-subtitulo {
    color:#253049;
  }
  #nosso-portifolio .jornada-exponencial .coluna-lista > .jornada-subtitulo {
    margin-bottom:20px;
  }
  #nosso-portifolio .jornada-exponencial .jornada-fecho {
    margin-top:18px;
  }
  /* Consolidador: bloco imagem + texto centralizado e intervalo duplicado. */
  #consolidador-exponencial .consolidador-layout {
    grid-template-columns:minmax(0,450px) minmax(0,480px);
    gap:48px;
    justify-content:center;
  }
  #consolidador-exponencial .consolidador-imagem {
    justify-self:start;
  }
}

/* REVISAO VISUAL 1366 — rodada 5: Jornada e Politicas de Atuacao. */
@media (min-width:1200px) {
  /* Reforca o azul institucional mesmo diante de regras tipograficas gerais. */
  #nosso-portifolio .jornada-exponencial .coluna-lista > h3,
  #nosso-portifolio .jornada-exponencial .coluna-lista > p.jornada-subtitulo {
    color:#253049 !important;
  }
  /* Reduz a largura total do conjunto em 10%, sem ampliar o vao central.
     Os cards preservam a altura e os espacamentos internos originais. */
  #politicas .politicas-grid {
    width:90%;
    margin-left:auto;
    margin-right:auto;
  }
  #politicas .politicas-grid a {
    width:100%;
    min-height:48px;
    padding:9px 14px;
    justify-self:stretch;
  }
}

/* Revisao visual 1366: painel cinza envolve cards e selos institucionais. */
@media (min-width:1200px) {
  #politicas .politicas-painel {
    box-sizing:border-box;
    width:90%;
    margin:0 auto;
    padding:24px 24px 20px;
    background:#f3f4f6;
    border-radius:12px;
  }
  #politicas .politicas-painel .politicas-grid {
    width:100%;
    margin:0;
    padding:0;
    background:transparent;
  }
  #politicas .politicas-painel .politicas-selos {
    margin-top:22px!important;
  }
  #politicas .politicas-painel .politicas-selos img {
    max-height:24px;
    max-width:76px;
  }
}

/* REVISAO VISUAL 1024 — primeira rodada. Escopo exclusivo 992–1199px:
   nao altera a composicao de 1366px nem a de 820px e celulares. */
@media (min-width:992px) and (max-width:1199.98px) {
  /* Apenas o primeiro paragrafo da apresentacao recebe largura menor. */
  #nosso-portifolio .consultoria-apresentacao p.consultoria-texto {
    max-width:90%;
    margin-left:auto;
    margin-right:auto;
  }

  /* Cabecalho da Jornada ocupa a linha inteira, centralizado. */
  #nosso-portifolio .jornada-cabecalho-tablet {
    text-align:center;
  }
  #nosso-portifolio .jornada-cabecalho-tablet h3,
  #nosso-portifolio .jornada-cabecalho-tablet p {
    color:#253049 !important;
  }
  #nosso-portifolio .jornada-cabecalho-tablet {
    row-gap:0;
  }
  #nosso-portifolio .jornada-exponencial .coluna-lista {
    padding-top:22px;
  }
  /* Mais largura para a fotografia; sua altura acompanha a das etapas,
     sem deformacao (o recorte e feito por object-fit:cover). */
  #nosso-portifolio .jornada-exponencial .conteudo {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:stretch;
    column-gap:24px;
  }
  #nosso-portifolio .jornada-exponencial .coluna-img {
    align-self:stretch;
  }
  #nosso-portifolio .jornada-exponencial .img-portfolio {
    width:100%;
    height:100%;
    min-height:390px;
    object-fit:cover;
  }

  /* O bloco completo, nao suas colunas individualmente, fica centralizado. */
  #consolidador-exponencial .consolidador-layout {
    grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);
    gap:26px;
    justify-content:center;
  }
  #consolidador-exponencial > .container {
    max-width:1100px;
    width:calc(100% - 40px);
    padding-inline:8px;
  }
  #consolidador-exponencial .consolidador-imagem {
    justify-self:start;
    max-width:100%;
  }

  /* Mesmo painel institucional de 1366px, mas com largura propria para 1024. */
  #politicas .politicas-painel {
    box-sizing:border-box;
    width:100%;
    margin:0 auto;
    padding:24px 24px 20px;
    background:#f3f4f6;
    border-radius:12px;
  }
  #politicas .politicas-painel .politicas-grid {
    width:100%;
    margin:0 auto;
    padding:0;
    background:transparent;
  }
  #politicas .politicas-painel .politicas-selos {
    margin-top:22px!important;
  }
  #politicas .politicas-painel .politicas-selos img {
    max-height:24px;
    max-width:76px;
  }
}

/* REVISAO VISUAL 820 — somente tablet vertical (768–991,98 px).
   Preserva as composicoes homologadas de 1024 e 1366 px. */
@media (min-width:768px) and (max-width:991.98px) {
  #nosso-portifolio .jornada-exponencial .coluna-lista > h3,
  #nosso-portifolio .jornada-exponencial .coluna-lista > .jornada-subtitulo {
    color:#253049 !important;
    text-align:center;
  }
  #nosso-portifolio .jornada-exponencial .jornada-fecho {
    text-align:center;
  }
  /* Mais respiro entre a introducao e a primeira etapa, somente em 820 px. */
  #nosso-portifolio .jornada-exponencial .coluna-lista > .jornada-subtitulo {
    margin-bottom:34px;
  }
  /* Nesta faixa, Politicas permanece sem painel cinza. */
  #politicas .politicas-painel {
    background:transparent;
    border-radius:0;
    padding:0;
  }
}

/* REVISAO VISUAL MOBILE — alinhamento da Jornada; textos de Nossa Empresa inalterados. */
@media (max-width:767.98px) {
  #nosso-portifolio .jornada-exponencial .coluna-lista > h3,
  #nosso-portifolio .jornada-exponencial .coluna-lista > .jornada-subtitulo {
    color:#253049 !important;
    text-align:center;
  }
  #nosso-portifolio .jornada-exponencial .jornada-fecho {
    text-align:center;
  }
}

/* REVISAO VISUAL MOBILE — largura efetiva do painel azul retratil.
   Restrito a celulares; tablets e desktops homologados permanecem inalterados. */
@media (max-width: 767.98px) {
  body .site-mobile-menu {
    width: min(314px, 88vw);
    max-width: 314px;
  }
}


/* HOMOLOGACAO FUNCIONAL — offsets das ancoras do menu (28/09/2026). */
#about-section { scroll-margin-top: 90px !important; }
#valores { scroll-margin-top: 80px; }
#nossa-equipe { scroll-margin-top: 120px; }
#team-section { scroll-margin-top: 60px; }
#nosso-portifolio { scroll-margin-top: 80px; }
#corretoras-parceiras { scroll-margin-top: 170px; }

/* Homologação funcional — restaura o box Fale Conosco de Nossa Consultoria no mobile. */
@media (max-width: 767.98px) {
  #nosso-portifolio .consultoria-perguntas .faq-side-box {
    display: block !important;
  }
}
