/* @import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap'); */
:root {
      --letter-spacing: -0.5px;
      --font-inter: "InterVariable", sans-serif !important;
      --font-weight: 500;
      --font-16: 16px;
      --primary-blue: #0A6EC1;
      --primary-black: #11121B;
      --primary-white: #fff;
      --black-opacity: 59%;
}


@font-face {
  font-family: InterVariable;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/PublishingImages/WSImages/Novo-CGD/font-inter/InterVariable.woff2") format("woff2");
}
/* fonts */

.languages,
.menu-center,
.menu-mobile,
.menu-area .menu,
.content-drop .drop-menu ul li.title-list,
.content-drop .drop-menu ul li a,
.general-links dl dt,
.general-links dl dd ,
.footer-area-second p {
	font-family: var(--font-inter);
}

/* width */

.header-site .menu-wrapper,
.menu-wrapper .wrapper,
.direct-wrapper .direct-content,
.media-geral,
.bannerWrapper.wrapper {
	max-width: 1440px;
}
.inside .header-area {
	border: 0;
}

.bannerWrapper .subtitle, .bannerWrapper  .lead, .bannerWrapper .leadSubtitle, .bannerWrapper  .bannerButton span  { 
      font-family: var(--font-inter);
}




p {
      font-family: var(--font-inter);
      letter-spacing: var(--letter-spacing);
      font-weight: var(--font-weight);
}

div .main-section {
      margin-top: 0;
}

#s4-bodyContainer {
      background-color: #F3F4F4
}

.revamp-title-section {
      max-width: 1260px;
      margin: 80px auto 10px auto;
}

.color-white {
      color: var(--primary-white);
}

.color-primary-black {
      color: var(--primary-black);
}

.revamp-app-grid-first {
      display: flex;
      flex-direction: column;
      justify-content: space-around;
}

.revamp-small-title {
      color: var(--primary-blue);
      font-size: var(--font-16);
      font-weight: var(--font-weight);
      line-height: 24px;
      font-family: var(--font-inter);
      letter-spacing: var(--letter-spacing);
}

.revamp-label-l {
      font-size: var(--font-16);
      font-weight: 500;
      line-height: 24px;
      font-family: var(--font-inter);
      letter-spacing: var(--letter-spacing);
      margin-inline: 0;
}

.ms-rtestate-field .revamp-title {
      font-size: 32px;
      font-weight: var(--font-weight);
      letter-spacing: var(--letter-spacing);
      line-height: 40px;
      color: var(--primary-black);
      font-family: var(--font-inter);
}

.revamp-text {
      font-size: var(--font-16);
      letter-spacing: var(--letter-spacing);
      line-height: 22px;
      font-family: var(--font-inter);
      font-weight: var(--font-weight);
      color: var(--primary-black)96;
      margin-top: 8px !important;
}

/* Ícone circular (placeholder) */
.revamp-icon {
      width: 48px;
      height: 48px;
      border-radius: 100%;
      background: #E3F0FC;
      color: var(--primary-blue);
      display: grid;
      place-items: center;
      font-size: 19px;
}


/* ===== Responsive ===== */
@media (max-width: 1260px) {
      .revamp-title {
            font-size: 24px;
            line-height: 30px;
      }


      .revamp-icon {
            width: 48px;
            height: 48px;
            font-size: 25px;
      }

      .revamp-title-section {
            margin: 20px auto 40px auto;
      }

      #titulo-destaques {
            padding: 0 10px;
            margin: 80px auto -50px auto;
      }
}


@media (max-width:767px) {
      .revamp-quicklinks-grid .revamp-app-card {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            height: stretch;
      }

      .revamp-app-card {
            padding: 16px;
            min-height: min-content;
      }

      .revamp-title-section {
            margin: 20px auto 0px auto;
      }


}





/* QUICKLINKS */

.revamp-quicklinks-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      grid-template-rows: repeat(1, 1fr);
      gap: 8px;
      max-width: 1260px;
      margin: 20px auto 48px auto;
      justify-content: center;
}

.revamp-quicklinks-grid .revamp-app-card {
      align-items: flex-start;
      min-height: 162px;
}

.revamp-quicklinks-grid.revamp-quicklinks-grid-3-1 {
      grid-template-columns: repeat(3, 1fr);
}

.revamp-hover {
      transform-origin: center center;
      transition: transform .22s ease-out;
      will-change: transform;
      backface-visibility: hidden;
      text-decoration: none;
}


.revamp-hover:hover,
.revamp-hover:focus-visible {
      transform: scale(1.01);
      text-decoration: none;
}


@media (max-width: 1260px) {

      .revamp-quicklinks-grid,
      .revamp-quicklinks-grid.revamp-quicklinks-grid-3-1 {
            padding: 0 10px;
            grid-template-columns: repeat(auto-fit, minmax(343px, 389px));
      }

      revamp-quicklink-strong-text {
            display: none;
      }

}

@media (max-width:767px) {

      .revamp-quicklinks-grid-mobile-2-2 {
            padding: 0;
            grid-template-columns: repeat(2, 1fr) !important;
      }

      .revamp-app-card {
            padding: 20px;
      }
}


/* end QUICKLINKS */









/* LISTING CARDS */

div>article.highlight-cards div.list ul.listgrid li div.header h4.title-cards {
      font-size: 24px;
      font-weight: var(--font-weight);
      margin-bottom: 0;
      color: var(--primary-black);
      line-height: 30px;
      font-family: var(--font-inter);
      letter-spacing: var(--letter-spacing);
}

div>article.highlight-cards div.list ul.listgrid,
div>article.highlight-cards div.list ul.listgrid.listgrid-3-col {
      grid-template-columns: repeat(3, 1fr);
      /* grid-template-columns: repeat(auto-fit, minmax(359px, 389px)); */
      grid-column-gap: 16px;
      margin-top: 0;
}

#s4-workspace div>article.highlight-cards div.list ul.listgrid li div.header {
      min-height: 0;
      margin-top: 40px;
      padding: 10px 24px;
}



div>article.highlight-cards div.list ul.listgrid li div.card div.description p {
      font-size: 16px;
      line-height: 22px;
      color: var(--primary-black);
      letter-spacing: var(--letter-spacing);
      font-weight: var(--font-weight);
      font-family: var(--font-inter);
}

div>article.highlight-cards div.list ul.listgrid li div.card div.description ul li {
      font-size: 16px;
      line-height: 22px;
      color: var(--primary-black);
      letter-spacing: var(--letter-spacing);
      font-weight: var(--font-weight);
      font-family: var(--font-inter);
}

div>article.highlight-cards div.list ul.listgrid li div.card div.description {
      padding: 0px 24px;
      font-size: 16px;
      line-height: 22px;
      color: var(--primary-black);
      opacity: var(--black-opacity);
      letter-spacing: var(--letter-spacing);
      font-weight: var(--font-weight);
      font-family: var(--font-inter);
}

div>article.highlight-cards div.list ul.listgrid li h3.upper-title {
      color: var(--primary-blue) !important;
      font-size: 14px !important;
      font-weight: var(--font-weight) !important;
      transform: translate(25px, 330px) scale(1) !important;
      font-family: var(--font-inter);
      line-height: 20px;
      letter-spacing: var(--letter-spacing);
      transform-origin: center center;
      transition: transform .22s ease-out;
      will-change: transform;
      backface-visibility: hidden;
      z-index: 2;
}

div>article.highlight-cards div.list ul.listgrid li:has(div.card:hover) .upper-title {
      transform: scale(1.02) translate(24px, 324px);
}

#s4-workspace div>article.highlight-cards div.list ul.listgrid li div.card div.know-more {
      background-color: transparent;
}

div>article.highlight-cards div.list ul.listgrid li div.card div.know-more {
      padding: 0px 0 40px 24px;
      color: var(--primary-blue);
      font-size: 14px;
      font-weight: 500;
      font-family: var(--font-inter);
      line-height: 16px;
      text-decoration: underline;
      text-underline-offset: 0.2em;
}

div>article.highlight-cards div.list ul.listgrid li div.image {
      background-size: cover;
      background-position: bottom;
      width: 100%;
      height: 284px;
}

div>article.highlight-cards div.list ul.listgrid li div.card {
      border: none;
      border-radius: 24px;
      margin-top: 20px;
      background-color: #fff;
      transform-origin: center center;
      transition: transform .22s ease-out;
      will-change: transform;
      backface-visibility: hidden;
      width: 100%;
}

div>article.highlight-cards div.list ul.listgrid li a.cardLink .image {

      transition: all .5s ease-in-out;
}

div>article.highlight-cards div.list ul.listgrid li a.cardLink:hover .card {
      background-color: #fff;
      transform: scale(1.01);
}

article.highlight-cards div.list {
      margin: 0 auto 60px auto;
}


@media only screen and (max-width: 1260px) {

      /*
      div>article.highlight-cards div.list ul.listgrid {
            grid-template-columns: repeat(1, 1fr);
            grid-template-rows: repeat(3, 1fr);
            grid-row-gap: 0px;

      }
*/
      div>article.highlight-cards div.list ul.listgrid li div.header {
            margin-top: 10%;
      }
}

@media only screen and (max-width: 767px) {

      div>article.highlight-cards div.list ul.listgrid,
      body div>article.highlight-cards div.list ul.listgrid.listgrid-3-col {
            /* grid-template-columns: repeat(3, 1fr); */
            grid-template-columns: repeat(auto-fit, minmax(359px, 389px));
            grid-column-gap: 16px;
            gap: 0;
      }
}

/* end LISTING CARDS */



/* SINGLE BANNER */
/* ===== LAYOUT WRAPPER ===== */
.revamp-container {
      width: 100%;
      max-width: 1440px;
      margin: 120px auto;
      padding: 0 20px;
      display: flex;
      flex-direction: column;
      gap: 0;
}

/* ===== IMAGE AS BACKGROUND ===== */
.revamp-img-box {
      width: 100%;
      aspect-ratio: 16 / 9;
      position: relative;
      display: block;
      background-repeat: no-repeat;
      background-position: center center;
      background-size: cover;
      border-radius: 24px 0 0 24px;
      overflow: hidden;
}

/* Fallback para browsers sem aspect-ratio */
.revamp-img-box.revamp-has-ratio::before {
      content: "";
      display: block;
      padding-top: 56.25%;
      /* 16:9 */
}



/* ===== BLUE CONTENT BLOCK ===== */
.revamp-blue-content {
      background: var(--primary-blue);
      color: #fff;
      padding: 40px 32px;
      border-radius: 24px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      font-weight: 500;
}

/* ===== TEXT ELEMENTS ===== */
.revamp-h2,
.ms-rtestate-field h2.revamp-h2 {
      font-size: var(--font-16);
      line-height: 1.4;
      color: #fff;
      font-weight: 400;
      margin: 0 0 8px;
      font-family: var(--font-inter);
}

.revamp-title-xl {
      font-family: var(--font-inter);
      font-size: 32px;
      line-height: 40px !important;
      margin: 0 0 24px 0 !important;
      color: #fff;
}

.revamp-body-white {
      color: #fff;
      font-size: 15px;
      line-height: 1.5;
      margin-top: 30px;

}

/* ===== SPACING / UTILITIES ===== */
.revamp-spacer-15p {
      margin-top: 15%;
}

/* ===== BUTTON ===== */
.revamp-btn {
      display: inline-block;
      margin-top: 12px;
      background: #E3F0FC;
      color: #0A6EC1 !important;
      padding: 16px 25px;
      border-radius: 40px;
      font-weight: 500;
      text-decoration: none;
      width: fit-content;
      font-size: var(--font-16);
      font-family: var(--font-inter);
}

.revamp-btn:hover {
      opacity: 60%;
      text-decoration: none;
}

/* ===== DESKTOP ===== */
@media (min-width: 900px) {
      .revamp-container {
            flex-direction: row;
            align-items: stretch;
      }

      .revamp-img-box,
      .revamp-blue-content {
            flex: 1 1 0;
      }

      .revamp-blue-content {
            border-radius: 0 24px 24px 0;
            padding: 60px 50px;
      }
}

/* ===== MOBILE ===== */
@media (max-width: 767px) {
      .revamp-container {
            padding: 0 20px;
            margin: 60px auto;
      }

      .revamp-img-box {
            border-radius: 24px 24px 0 0;
      }

      .revamp-blue-content {
            border-radius: 0 0 24px 24px;
            padding: 30px 20px;
      }

      .revamp-btn {
            width: 100%;
            height: 52px;
            display: flex;
            justify-content: center;
            align-items: center;
      }
}

/* end SINGLE BANNER */










/* BLOCO SIMULADORES */
/* ===== Base scoped ===== */
.revamp-simuladores-section {
      padding: 40px 20px 0 20px;
      font-family: var(--font-inter);
      color: var(--primary-black);
      margin-bottom: 100px;
}

/* ===== Grid: 2 colunas; item 4 spana 3 linhas ===== */
.revamp-simuladores-grid {
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1.25fr;
      /* esquerda lista, direita hero */
      gap: 16px;
      align-items: stretch;
      /* as linhas crescem pelo conteúdo; o 4º filho ocupa 3 linhas */
      grid-auto-rows: minmax(90px, auto);
}

/* Posicionamento por ordem dos filhos (sem classes de posição) */
.revamp-simuladores-grid> :nth-child(-n+3) {
      /* 1,2,3 -> coluna esquerda */
      grid-column: 1;
}

.revamp-simuladores-grid> :nth-child(4) {
      /* hero -> coluna direita, 3 linhas */
      grid-column: 2;
      grid-row: 1 / span 3;
}

/* ===== Cards da lista (esquerda) ===== */
.revamp-simuladores-card {
      background: #ffffff;
      border-radius: 24px;
      box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
      padding: 16px 18px;
      display: grid;
      grid-template-columns: 40px 1fr;
      gap: 32px;
      text-decoration: none !important;

      transform-origin: center center;
      transition: transform .22s ease-out;
      will-change: transform;
      backface-visibility: hidden;
}


.revamp-simuladores-card:hover,
.revamp-simuladores-card:focus-visible {
      transform: scale(1.01);
      text-decoration: none;
}



.revamp-simuladores-card__title {
      margin: 0 0 4px;
      font-size: 24px;
      font-weight: 500;
      color: var(--primary-black);
      letter-spacing: var(--letter-spacing);
      font-family: var(--font-inter);

}

.revamp-simuladores-card__desc {
      margin: 0;
      font-weight: 500;
      font-size: var(--font-16);
      color: var(--primary-black);
      line-height: 20px;
      letter-spacing: var(--letter-spacing);
      opacity: var(--black-opacity);
      width: 90%;
}

.revamp-simuladores-icon {
      width: 48px;
      height: 48px;
      font-size: 24px;
}

/* ===== Hero (direita) ===== */
.revamp-simuladores-hero {
      position: relative;
      background: #ccc center/cover no-repeat;
      border-radius: 24px;
      overflow: hidden;
      min-height: 240px;
}



/* ===== Responsive ===== */
@media (max-width: 1260px) {
      .revamp-simuladores-grid {
            grid-template-columns: 1fr;
            grid-auto-rows: auto;
      }

      .revamp-simuladores-grid> :nth-child(4) {
            grid-column: auto;
            grid-row: auto;
            min-height: 220px;
      }

      .revamp-simuladores-card__desc {
            width: 100%;
      }

}

@media (max-width: 767px) {
      .revamp-simuladores-section {
            margin-bottom: 32px;
      }

      .revamp-simuladores-grid {
            display: flex;
            flex-direction: column;
            gap: 8px;
      }

      .revamp-simuladores-card__title {
            font-size: 20px;
      }
}

/* end BLOCO SIMULADORES */







/* APP SECTION */
.revamp-app-section {
      background-color: #E3F0FC;
      padding: 80px 0;

}

.bglight {
      background-color: #F3F4F4;
}

.revamp-app-grid {
      display: grid;
      grid-template-columns: 1fr 500px;
      grid-template-rows: repeat(1, 1fr);
      gap: 96px;
      margin-top: 80px;
}

.revamp-app-section-2-1 .revamp-app-grid {
      grid-template-columns: 1.49fr 1fr;
      gap: 16px;
}

.revamp-app-section-2-1 .revamp-app-hero {
      max-height: 439px;
      min-height: auto;
}

.revamp-app-grid-last {
      align-content: flex-end;
}

/* ===== Hero (direita) ===== */
.revamp-app-hero {
      border-radius: 24px;
      min-height: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;

      justify-content: flex-end;

}

.revamp-app-hero-bg {
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
      padding: 24px;
}

.revamp-app-hero img {
      border-radius: 24px;
      width: auto;
}

.revamp-app-hero--img {
      position: absolute;
      inset: 0;
      background-size: contain;
}


/* secção first grid */

/* GRID 2x2 */
.revamp-app-features-grid {
      max-width: 760px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 16px;
}

.revamp-app-section-2-1 .revamp-app-features-grid .revamp-app-card:nth-child(2) {
      grid-row: span 2 / span 2;
}

.revamp-app-section-2-1 .revamp-app-features-grid .revamp-app-card:nth-child(2) .revamp-app-lines {
      align-self: end
}

.revamp-app-section-2-1 .revamp-app-features-grid .revamp-app-card .revamp-app-lines {
      min-height: 97px;
}

/* CARD */
.revamp-app-card {
      background: #ffffff;
      border-radius: 24px;
      padding: 24px;
      display: grid;
      grid-template-rows: 44px 1fr;
      gap: 24px;
      min-height: 120px;
      align-items: start;
}

.revamp-app-section-2-1 .revamp-app-card {
      min-height: 213px;
}

/*  (títulos e descrições cards) */
.revamp-app-lines {
      display: grid;
      gap: 6px;
      font-size: var(--font-16);
      line-height: 24px;
      letter-spacing: var(--letter-spacing);
      color: var(--primary-black);
      font-family: var(--font-inter);
      align-content: end;
}

.revamp-app-lines p {
      opacity: var(--black-opacity);
      font-weight: var(--font-weight);
}


.revamp-app-store-icons-mobile {
      display: none;
}


/* ===== Responsive ===== */
@media (max-width: 1260px) {
      .revamp-app-section {
            margin-top: 10px;
      }

      .revamp-app-grid {
            grid-template-columns: 1fr;
      }


      .revamp-app-hero {
            max-height: unset;
            max-width: 760px;
            min-height: auto;
            margin: 0 auto;
      }

      .revamp-app-section-2-1 .revamp-app-hero {
            max-height: unset;
      }

      .revamp-app-hero {
            max-width: 760px;
            min-height: 588px;
            margin: 0 auto;
            background-position: center;
      }

      .revamp-app-section-2-1 .revamp-app-grid {
            grid-template-columns: 1fr;
      }

      .revamp-app-store-icons-mobile {
            display: none;
      }
}



@media (max-width:767px) {
      .revamp-app-card {
            grid-template-columns: 44px 1fr;
            grid-template-rows: auto;
            padding: 20px;
            min-height: unset;
      }

      .revamp-app-section-2-1 .revamp-app-card {
            min-height: auto;
      }

      .revamp-app-section-2-1 .revamp-app-features-grid .revamp-app-card .revamp-app-lines {
            min-height: auto;
      }

      .revamp-app-grid {
            grid-template-columns: repeat(auto-fit, minmax(343px, 389px));
            justify-content: center;
            gap: 8px;
            margin-top: 20px;
      }

      .revamp-app-section-2-1 .revamp-app-grid {
            grid-template-columns: repeat(auto-fit, minmax(343px, 389px));
            justify-content: center;
      }

      .revamp-app-section-2-1 .revamp-app-hero {
            max-height: unset;
      }

      .revamp-app-features-grid {
            display: flex;
            flex-direction: column;
            gap: 8px;
      }

      .revamp-app-hero {
            max-width: 389px;
            aspect-ratio: 1 /1;
            min-height: auto;
      }

      .revamp-app-section {
            padding: 24px 0;
      }

      .revamp-app-store-icons-mobile {
            display: flex;
            gap: 10px;
            margin: 20px 0 0 0;
            width: 70%;
      }
}


/* end APP SECTION */





/* EMPRESAS */

/* secção produtos */
.revamp-products-section-emp {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      gap: 16px;
      align-items: stretch;
      margin: 40px 0 60px 0;
}


.revamp-products-section-emp-card-01,
.revamp-products-section-emp-card-02,
.revamp-products-section-emp-card-03,
.revamp-products-section-emp-card-04 {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      padding: 24px 32px 29px 32px;
}

.revamp-products-section-emp-card-01 {
      grid-column: 1 / 3;
      grid-row-start: 1;
}

.revamp-products-section-emp-card-02 {
      grid-column: 1 / 3;
      grid-row-start: 2;
}

.revamp-products-section-emp-card-03 {
      grid-row: span 2 / span 2;
      grid-column: 3 / 5;
      grid-row-start: 1;
}

.revamp-products-section-emp-card-04 {
      grid-row: span 2 / span 2;
      grid-column: 5 / 8;
      grid-row-start: 1;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
}

.revamp-products-item-emp p {
      display: grid;
      gap: 6px;
      font-size: var(--font-16);
      line-height: 24px;
      letter-spacing: var(--letter-spacing);
      color: var(--primary-black);
      font-family: var(--font-inter);
      align-content: end;
}

.revamp-products-item-emp p {
      display: grid;
      gap: 6px;
      font-size: var(--font-16);
      line-height: 24px;
      letter-spacing: var(--letter-spacing);
      color: var(--primary-black);
      font-family: var(--font-inter);
      align-content: end;
}


@media (max-width:767px) {
      .revamp-products-section-emp {
            display: flex;
            flex-direction: column;
            gap: 8px;
      }

      .revamp-products-section-emp-card-04 {
            aspect-ratio: 1 / 1;
      }

      .revamp-products-section-emp-card-01,
      .revamp-products-section-emp-card-02,
      .revamp-products-section-emp-card-03,
      .revamp-products-section-emp-card-04 {
            padding: 20px;
      }
}

/* end secção produtos */


/* end EMPRESAS */


