/* Página inicial: estilos dos blocos de HTML do Elementor (hero, intro, estatísticas, portfólio, tecnologia). */

/* Hero */
  .vb-el-hero,
  .vb-el-hero * {
    box-sizing: border-box;
  }

  .vb-el-hero {
    --vb-indigo: var(--indigo);
    --vb-peach: var(--peach);
    --vb-depth: 0px;
    --vb-header-height: 78px;

    position: relative;
    left: 50%;
    width: 100vw;
    width: 100dvw;
    height: clamp(670px, 100svh, 920px);
    margin-left: -50vw;
    overflow: hidden;
    isolation: isolate;

    background:
      url("img/bg-hero-02.webp")
      center calc(45% + var(--vb-depth)) / cover no-repeat;

    color: var(--vb-indigo);
    font-family: var(--font-sans);
  }

  .vb-el-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
      linear-gradient(
        180deg,
        rgba(31, 22, 70, 0.08),
        transparent 30%
      ),
      linear-gradient(
        0deg,
        rgba(31, 22, 70, 0.20),
        transparent 30%
      );
    pointer-events: none;
  }

  .vb-el-hero__inner {
    position: relative;
    width: min(calc(100% - 96px), var(--shell));
    height: 100%;
    margin-inline: auto;
  }

  .vb-el-hero__eyebrow {
    position: absolute;
    top: calc(var(--vb-header-height) + clamp(30px, 5vh, 52px));
    left: 0;
    margin: 0;

    color: rgba(31, 22, 70, 0.72);
    font-size: var(--fs-xs);
    font-weight: 700;
    letter-spacing: 0.18em;
    line-height: 1.4;
    text-transform: uppercase;

    opacity: 0;
    transform: translateY(12px);
    animation: vb-hero-reveal 0.8s 0.15s forwards;
  }

  .vb-el-hero__title {
    position: absolute;
    top: 30%;
    left: 0;
    right: 0;

    display: flex;
    align-items: center;
    justify-content: space-between;

    margin: 0;
    color: var(--vb-indigo);
    font-size: var(--fs-hero);
    font-weight: 400;
    letter-spacing: -0.055em;
    line-height: 0.94;
  }

  .vb-el-hero__title span {
    display: block;
    opacity: 0;
    filter: blur(3px);
    transform: translateY(18px);
    animation: vb-hero-title-reveal 1s 0.25s forwards;
  }

  .vb-el-hero__title em {
    display: block;
    font-style: normal;
    opacity: 0;
    filter: blur(3px);
    transform: translateY(18px);
    animation: vb-hero-title-reveal 1s 0.38s forwards;
  }

  .vb-el-hero__conversion {
    position: absolute;
    left: 0;
    bottom: 120px;
    width: min(32vw, 400px);

    color: #fff;
    text-shadow: 0 2px 14px rgba(31, 22, 70, 0.34);

    opacity: 0;
    transform: translateY(18px);
    animation: vb-hero-reveal 0.9s 0.55s forwards;
  }

  .vb-el-hero__description {
    margin: 0 0 22px;
    color: rgba(255, 255, 255, 0.92);
    font-size: var(--fs-xl);
    line-height: 1.48;
  }

  .vb-el-hero__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 0 0 7px;
    border-bottom: 1px solid currentColor;

    color: #fff;
    font-size: var(--fs-sm);
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;

    transition:
      color 0.25s ease,
      transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .vb-el-hero__cta-arrow {
    font-size: 1.05rem;
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .vb-el-hero__cta:hover,
  .vb-el-hero__cta:focus-visible {
    color: var(--vb-peach);
  }

  .vb-el-hero__cta:hover .vb-el-hero__cta-arrow,
  .vb-el-hero__cta:focus-visible .vb-el-hero__cta-arrow {
    transform: translateX(5px);
  }

  .vb-el-hero__cta:focus-visible {
    outline: 3px solid var(--vb-peach);
    outline-offset: 6px;
  }

  @keyframes vb-hero-reveal {
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes vb-hero-title-reveal {
    to {
      opacity: 1;
      filter: blur(0);
      transform: translateY(0);
    }
  }

  @media (max-width: 840px) {
    .vb-el-hero {
      height: max(700px, 100svh);
      max-height: none;
      background-position:
        54% calc(50% + var(--vb-depth));
    }

    .vb-el-hero__overlay {
      background:
        linear-gradient(
          180deg,
          rgba(31, 22, 70, 0.04) 25%,
          rgba(31, 22, 70, 0.56) 100%
        ),
        linear-gradient(
          90deg,
          rgba(242, 242, 242, 0.20),
          transparent 70%
        );
    }

    .vb-el-hero__inner {
      width: calc(100% - 48px);
    }

    .vb-el-hero__eyebrow {
      color: rgba(255, 255, 255, 0.80);
      font-size: var(--fs-xs);
    }

    .vb-el-hero__title {
      top: auto;
      bottom: 318px;
      display: block;

      color: #fff;
      font-size: clamp(3.2rem, 12vw, 5.6rem);
      line-height: 0.88;
      text-shadow: 0 4px 24px rgba(31, 22, 70, 0.18);
    }

    .vb-el-hero__conversion {
      bottom: 184px;
      width: min(100%, 510px);
    }

    .vb-el-hero__description {
      margin-bottom: 16px;
      font-size: var(--fs-sm);
    }
  }

  @media (max-width: 560px) {
    .vb-el-hero {
      background-position:
        56% calc(50% + var(--vb-depth));
    }

    .vb-el-hero__inner {
      width: calc(100% - 36px);
    }

    .vb-el-hero__eyebrow {
      letter-spacing: 0.12em;
    }

    .vb-el-hero__title {
      bottom: 318px;
      font-size: clamp(3.35rem, 16vw, 4.7rem);
    }

    .vb-el-hero__conversion {
      bottom: 180px;
      width: 100%;
    }

    .vb-el-hero__description {
      max-width: 310px;
      font-size: var(--fs-xs);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .vb-el-hero {
      --vb-depth: 0px !important;
    }

    .vb-el-hero__eyebrow,
    .vb-el-hero__title span,
    .vb-el-hero__title em,
    .vb-el-hero__conversion {
      opacity: 1;
      filter: none;
      transform: none;
      animation: none;
    }

    .vb-el-hero__cta,
    .vb-el-hero__cta-arrow {
      transition: none;
    }
  }


/* Intro (Quem somos) */
.vb-intro {
  background: var(--paper);
  padding: clamp(96px, 9vw, 148px) 0 clamp(112px, 11vw, 176px);
}

.vb-intro__inner {
  width: min(calc(100% - 96px), var(--shell));
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(360px, 0.74fr);
  column-gap: clamp(72px, 9vw, 136px);
  align-items: start;
}

.vb-intro__text {
  min-height: 590px;
  display: flex;
  flex-direction: column;
  padding-bottom: 100px;
}

.vb-intro__eyebrow {
  margin: 0 0 34px;
  color: var(--blue-dark);
  font-size: var(--fs-xs);
  font-weight: 750;
  letter-spacing: 0.18em;
  line-height: 1.4;
  text-transform: uppercase;
}

.vb-intro__title {
  max-width: 680px;
  margin: 0;
  color: var(--blue);
  font-size: var(--fs-display);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

.vb-intro__statement {
  max-width: 570px;
  margin: auto 0 0;
  color: #55566b;
  font-size: var(--fs-lg);
  letter-spacing: -0.012em;
  line-height: 1.58;
}

.vb-intro__media {
  margin: 0;
}

.vb-intro__media img {
  width: 100%;
  height: 590px;
  object-fit: cover;
  object-position: 51% 48%;
  background: var(--blue-pale);
  box-shadow: 24px 24px 0 rgba(189, 208, 255, 0.4);
}

.vb-intro__media figcaption {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 16px;
  color: var(--indigo);
  font-size: var(--fs-xs);
  font-weight: 650;
  letter-spacing: 0.13em;
  line-height: 1.4;
  text-transform: uppercase;
}

.vb-intro__media figcaption::before {
  content: "";
  width: 32px;
  height: 1px;
  flex: 0 0 auto;
  background: var(--blue);
}

@media (max-width: 1100px) {
  .vb-intro__inner {
    width: min(calc(100% - 64px), var(--shell));
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.7fr);
    column-gap: 60px;
  }

  .vb-intro__title {
    font-size: clamp(3.25rem, 5.6vw, 4.25rem);
  }
}

@media (max-width: 840px) {
  .vb-intro {
    padding: 78px 0;
  }

  .vb-intro__inner {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .vb-intro__text {
    min-height: 0;
    padding-bottom: 0;
  }

  .vb-intro__eyebrow {
    font-size: var(--fs-xs);
  }

  .vb-intro__title {
    font-size: clamp(3.2rem, 8.5vw, 4.6rem);
  }

  .vb-intro__statement {
    max-width: 610px;
    margin: 38px 0 18px;
  }

  .vb-intro__media img {
    width: min(78%, 560px);
    height: auto;
    aspect-ratio: 4 / 3;
    object-position: 51% 42%;
    box-shadow: 18px 18px 0 rgba(189, 208, 255, 0.34);
  }

  .vb-intro__media figcaption {
    width: min(78%, 560px);
  }
}

@media (max-width: 560px) {
  .vb-intro {
    padding: 68px 0;
  }

  .vb-intro__inner {
    width: calc(100% - 36px);
  }

  .vb-intro__eyebrow {
    margin-bottom: 28px;
    font-size: var(--fs-xs);
  }

  .vb-intro__title {
    font-size: clamp(2.85rem, 12.5vw, 3.8rem);
  }

  .vb-intro__statement {
    margin-top: 30px;
    font-size: var(--fs-base);
  }

  .vb-intro__media img {
    width: calc(100% - 24px);
    aspect-ratio: 4 / 5;
  }

  .vb-intro__media figcaption {
    width: calc(100% - 24px);
    gap: 10px;
    font-size: var(--fs-xs);
    letter-spacing: 0.1em;
  }

  .vb-intro__media figcaption::before {
    width: 24px;
  }
}

/* Estatísticas */
.vb-credentials,.vb-credentials *{box-sizing:border-box}
.vb-credentials{position:relative;width:100vw;margin-left:calc(50% - 50vw);min-height:136px;display:grid;grid-template-columns:1fr 1.1fr 1fr;align-items:center;padding:0 max(24px,calc((100vw - var(--shell))/2));overflow:hidden;isolation:isolate;border-top:1px solid rgba(31,22,70,.14);background:linear-gradient(90deg,rgba(242,242,242,.18),transparent 26% 74%,rgba(166,128,255,.10)),var(--blue-soft);box-shadow:0 -18px 50px rgba(31,22,70,.10);color:var(--indigo);font-family:inherit}
.vb-credential{position:relative;z-index:1;min-width:0;height:74px;display:flex;align-items:center;justify-content:center;gap:16px;padding:0 24px}
.vb-credential:first-child{justify-content:flex-start}.vb-credential:last-child{justify-content:flex-end}
.vb-credential+.vb-credential:before{content:"";position:absolute;left:0;top:50%;width:1px;height:46px;background:rgba(31,22,70,.16);transform:translateY(-50%)}
.vb-number{display:flex;align-items:flex-start;color:#fff;font-size:clamp(42px,4vw,64px);font-weight:500;line-height:.9;letter-spacing:-.06em}
.vb-plus{margin-right:.04em;font-size:.72em;line-height:1;transform:translateY(.03em)}
.vb-label{color:#fff;font-size:var(--fs-sm);font-weight:600;line-height:1.15}
.vb-seal{width:64px;height:64px;flex:0 0 auto;display:grid;place-items:center;border:1px solid rgba(31,22,70,.14);border-radius:50%;background:#6f91f3;box-shadow:0 10px 24px rgba(53,93,204,.18)}
.vb-seal svg{width:42px;height:30px;fill:rgba(189,208,255,.64);stroke:var(--indigo);stroke-width:1.4}.vb-seal circle{fill:#ffd1bd;stroke:none}
@media(max-width:767px){.vb-credentials{min-height:168px;grid-template-columns:1fr 1fr;grid-template-rows:88px 80px;padding:0 16px}.vb-credential{height:auto;gap:9px;padding:0 6px}.vb-credential:first-child{grid-column:1;grid-row:1;justify-content:center}.vb-credential:last-child{grid-column:2;grid-row:1;justify-content:center}.vb-credential--national{grid-column:1/-1;grid-row:2;justify-content:center;gap:12px;padding-top:8px;border-top:1px solid rgba(31,22,70,.14)}.vb-credential+.vb-credential:before{display:none}.vb-number{font-size:clamp(34px,10vw,44px)}.vb-label{font-size:var(--fs-xs);text-align:left}.vb-seal{width:40px;height:40px}.vb-seal svg{width:30px;height:22px}}

/* Portfólio */
.vb-portfolio,.vb-portfolio *{box-sizing:border-box}
.vb-portfolio{width:100vw;margin-left:calc(50% - 50vw);padding:clamp(100px,10vw,156px) max(24px,calc((100vw - var(--shell))/2));background:#fff;color:var(--ink-deep);font-family:inherit;text-align:center;overflow:hidden}
.vb-port-index{display:flex;align-items:center;justify-content:center;gap:16px;margin:0 0 clamp(38px,4.5vw,62px);color:var(--blue-dark);font-size:var(--fs-xs);font-weight:750;letter-spacing:.18em;text-transform:uppercase}
.vb-port-index:before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.vb-port-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:clamp(30px,5vw,80px);margin-bottom:clamp(72px,7vw,104px)}
.vb-port-head p{margin:0 0 10px;color:var(--ink-deep);font-size:var(--fs-base)}.vb-port-head p:first-child{text-align:right}.vb-port-head p:last-child{text-align:left}
.vb-port-title{margin:0;color:var(--blue-soft);font-size:clamp(48px,5vw,84px);font-weight:400;line-height:1.02;letter-spacing:-.045em}
.vb-product{position:relative;min-height:610px;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(420px,1.5fr) minmax(160px,.5fr);align-items:center;gap:clamp(32px,6vw,90px);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:radial-gradient(circle at 56% 52%,rgba(189,208,255,.34),transparent 34%),linear-gradient(90deg,transparent 0 70%,rgba(166,128,255,.045));text-align:left}
.vb-product-copy{position:relative;z-index:2}.vb-kicker{display:inline-block;margin-bottom:25px;color:var(--blue-dark);font-size:var(--fs-xs);font-weight:750;letter-spacing:.16em;text-transform:uppercase}
.vb-product-copy h3{margin:0 0 30px;color:var(--ink-deep);font-size:clamp(48px,5.2vw,86px);font-weight:400;line-height:.92;letter-spacing:-.06em}
.vb-product-copy p{max-width:290px;margin:0 0 28px;color:var(--muted-soft);font-size:var(--fs-base);line-height:1.55}
.vb-text-link{display:inline-flex;gap:8px;padding-bottom:5px;border-bottom:1px solid currentColor;color:var(--blue-dark);font-size:var(--fs-sm);font-weight:700;text-decoration:none}
.vb-product-visual{position:relative;align-self:stretch;display:grid;place-items:center;margin:0;isolation:isolate}.vb-product-visual:before{content:"";position:absolute;width:min(36vw,430px);aspect-ratio:1;border:1px solid rgba(95,131,238,.26);border-radius:50%;box-shadow:0 0 0 55px rgba(189,208,255,.10);z-index:-1}
.vb-product-visual img{width:min(100%,520px);max-height:560px;object-fit:contain;filter:drop-shadow(0 28px 34px rgba(31,22,70,.18))}
.vb-product-visual figcaption{position:absolute;bottom:22px;color:var(--muted-soft);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase}
.vb-product-note{display:flex;align-items:flex-start;gap:15px;color:var(--blue-dark)}.vb-product-note span{font-size:var(--fs-xs);font-weight:750}.vb-product-note p{max-width:120px;margin:0;font-size:var(--fs-sm);line-height:1.35}
.vb-catalog{display:inline-flex;align-items:center;gap:26px;margin-top:60px;padding:16px 25px;border:1px solid var(--blue-dark);color:var(--blue-dark);font-size:var(--fs-xs);font-weight:750;letter-spacing:.04em;text-decoration:none;text-transform:uppercase}.vb-catalog span{font-size:var(--fs-xl)}
@media(max-width:900px){.vb-product{grid-template-columns:1fr 1.3fr;min-height:560px}.vb-product-note{display:none}.vb-product-visual img{max-height:500px}}
@media(max-width:767px){.vb-portfolio{padding:82px 22px}.vb-port-head{grid-template-columns:1fr;gap:10px;margin-bottom:54px}.vb-port-head p,.vb-port-head p:first-child,.vb-port-head p:last-child{text-align:center}.vb-port-title{grid-row:1}.vb-product{grid-template-columns:1fr;gap:0;padding:48px 0 38px;text-align:center}.vb-product-copy{order:2}.vb-product-copy p{margin-left:auto;margin-right:auto}.vb-product-visual{order:1;min-height:390px}.vb-product-visual:before{width:290px}.vb-product-visual img{width:82%;max-height:360px}.vb-product-visual figcaption{bottom:12px;width:100%;text-align:center}.vb-catalog{margin-top:42px}}


/* Tecnologia */
.vb-tech {
  position: relative;
  min-height: clamp(700px, 52vw, 820px);
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  background: var(--sea-deep) url("img/bg-pbserum.webp") center / cover no-repeat;
}

.vb-tech::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(31, 22, 70, .97) 0%, rgba(31, 22, 70, .78) 38%, rgba(8, 38, 78, .36) 63%, rgba(3, 25, 59, .08) 100%),
    linear-gradient(0deg, rgba(31, 22, 70, .28), transparent 52%);
}

.vb-tech__inner {
  width: min(calc(100% - 48px), var(--shell));
  margin-inline: auto;
  padding: 66px 0 15px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.vb-tech__inner > * {
  position: relative;
  z-index: 1;
  margin: 0;
}

.vb-tech__index {
  color: rgba(255, 255, 255, .8);
  font-size: var(--fs-xs);
  font-weight: 750;
  line-height: 1;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.vb-tech__index span {
  margin-right: 20px;
}

.vb-tech__class {
  margin-top: 70px;
  color: var(--blue-pale);
  font-size: var(--fs-xs);
  font-weight: 750;
  line-height: 1;
  letter-spacing: .16em;
  text-transform: uppercase;
  white-space: nowrap;
}

.vb-tech__title {
  width: 390px;
  max-width: 100%;
  margin-top: 32px;
  color: #fff;
  font-size: clamp(64px, 5.2vw, 88px);
  font-weight: 400;
  line-height: .94;
  letter-spacing: -.04em;
}

.vb-tech__copy {
  width: 365px;
  max-width: 100%;
  margin-top: 83px;
  color: rgba(255, 255, 255, .84);
  font-size: var(--fs-base);
  line-height: 1.55;
}

.vb-tech__cta {
  margin-top: 29px;
  padding: 16px 24px;
  border: 1px solid rgba(255, 255, 255, .62);
  color: #fff;
  font-size: var(--fs-xs);
  font-weight: 750;
  letter-spacing: .03em;
  transition: background .25s ease, color .25s ease;
}

.vb-tech__cta:hover,
.vb-tech__cta:focus-visible {
  background: #fff;
  color: var(--indigo);
}

.vb-tech .vb-tech__brand {
  position: absolute;
  left: 46%;
  top: 205px;
  width: 430px;
  height: 320px;
  filter: drop-shadow(0 12px 22px rgba(0, 0, 0, .22));
}

.vb-tech__brand-name {
  margin: 0;
  color: #fff;
  font-size: clamp(46px, 4vw, 64px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.04em;
  white-space: nowrap;
}

.vb-tech__brand-tag {
  position: absolute;
  left: 110px;
  top: 245px;
  margin: 0;
  color: rgba(255, 255, 255, .72);
  font-size: var(--fs-sm);
  font-weight: 500;
  line-height: 1.25;
  text-align: center;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .vb-tech {
    min-height: 760px;
    background-position: 66% center;
  }

  .vb-tech::before {
    background: linear-gradient(90deg, rgba(31, 22, 70, .97), rgba(13, 36, 73, .72));
  }

  .vb-tech__inner {
    width: calc(100% - 56px);
    padding-top: 39px;
  }

  .vb-tech__title {
    width: 350px;
    font-size: clamp(54px, 9vw, 72px);
  }

  .vb-tech__copy {
    width: min(360px, 100%);
    margin-top: 75px;
  }

  .vb-tech .vb-tech__brand {
    left: 58%;
    top: 165px;
  }
}

@media (max-width: 767px) {
  .vb-tech {
    background-position: 70% center;
  }

  .vb-tech::before {
    background: linear-gradient(90deg, rgba(31, 22, 70, .98) 0%, rgba(31, 22, 70, .84) 55%, rgba(12, 40, 79, .46) 100%);
  }

  .vb-tech__inner {
    width: calc(100% - 48px);
    padding-top: 48px;
  }

  .vb-tech__title {
    width: 310px;
    font-size: clamp(48px, 14vw, 62px);
  }

  .vb-tech__copy {
    width: 100%;
    margin-top: 66px;
    font-size: var(--fs-sm);
  }

  .vb-tech .vb-tech__brand {
    display: none;
  }
}

/* Essência */
.vb-essence {
  position: relative;
  padding: clamp(112px, 11vw, 168px) 0 calc(clamp(112px, 11vw, 168px) + 42px);
  overflow: hidden;
  background: var(--paper);
}

.vb-essence::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 42px;
  background: var(--blue) url("img/bg-pattern.webp") center / cover no-repeat;
  background-blend-mode: screen;
  pointer-events: none;
}

.vb-essence__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, .82fr);
  gap: clamp(64px, 8vw, 120px);
  align-items: center;
  padding-inline: max(48px, calc((100vw - var(--shell)) / 2));
}

.vb-essence__text {
  min-width: 0;
}

.vb-essence__eyebrow,
.vb-testimonials__eyebrow {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0 0 clamp(38px, 4.5vw, 62px);
  color: var(--blue-dark);
  font-size: var(--fs-xs);
  font-weight: 750;
  line-height: 1.4;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.vb-essence__eyebrow::before,
.vb-testimonials__eyebrow::before {
  content: "";
  width: 28px;
  height: 1px;
  flex: 0 0 auto;
  background: currentColor;
  opacity: .7;
}

.vb-essence__title {
  max-width: 790px;
  margin: 0;
  color: var(--blue);
  font-size: var(--fs-display);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.vb-essence__title strong {
  font-weight: 650;
}

.vb-essence__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  margin: 74px 0 0;
  padding: 0;
  list-style: none;
}

.vb-essence__list li {
  min-width: 0;
  padding-top: 20px;
  border-top: 1px solid rgba(88, 128, 245, .24);
}

.vb-essence__n {
  display: block;
  margin: 0 0 35px;
  color: var(--blue-dark);
  font-size: var(--fs-xs);
  font-weight: 750;
  line-height: 1;
}

.vb-essence__list h3 {
  margin: 0 0 11px;
  color: var(--blue-dark);
  font-size: var(--fs-sm);
  font-weight: 650;
  line-height: 1.3;
}

.vb-essence__list p {
  margin: 0;
  color: var(--muted-soft);
  font-size: var(--fs-sm);
  line-height: 1.55;
  text-wrap: pretty;
}

.vb-essence__media {
  position: relative;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 10px;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--blue-pale);
  box-shadow: 28px 28px 0 rgba(255, 178, 140, .2);
}

.vb-essence__media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(0deg, rgba(31, 22, 70, .48), transparent 42%);
  pointer-events: none;
}

.vb-essence__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 58% center;
  transition: transform 1.2s cubic-bezier(.16, 1, .3, 1);
}

.vb-essence__media:hover img {
  transform: scale(1.025);
}

.vb-essence__media figcaption {
  position: absolute;
  z-index: 2;
  right: 28px;
  bottom: 26px;
  left: 28px;
  color: rgba(255, 255, 255, .9);
  font-size: var(--fs-xs);
  line-height: 1.4;
}

@media (max-width: 1100px) {
  .vb-essence__inner {
    grid-template-columns: 1fr;
    padding-inline: 32px;
  }

  .vb-essence__media {
    width: min(100%, 760px);
    aspect-ratio: 16 / 9;
    justify-self: end;
  }

  .vb-essence__media img {
    object-position: center;
  }
}

@media (max-width: 840px) {
  .vb-essence {
    padding-top: 86px;
    padding-bottom: 128px;
  }

  .vb-essence__inner {
    gap: 70px;
    padding-inline: 22px;
  }

  .vb-essence__list {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-top: 60px;
  }

  .vb-essence__list li {
    display: grid;
    grid-template-columns: 42px 120px 1fr;
    gap: 16px;
    align-items: start;
  }

  .vb-essence__n,
  .vb-essence__list h3,
  .vb-essence__list p {
    margin: 0;
  }

  .vb-essence__media {
    aspect-ratio: 4 / 3;
    box-shadow: 18px 18px 0 rgba(255, 178, 140, .18);
  }
}

@media (max-width: 560px) {
  .vb-essence__inner {
    padding-inline: 18px;
  }

  .vb-essence__eyebrow,
  .vb-testimonials__eyebrow {
    margin-bottom: 34px;
    font-size: var(--fs-xs);
  }

  .vb-essence__title {
    font-size: clamp(2.65rem, 12vw, 3.55rem);
  }

  .vb-essence__list li {
    grid-template-columns: 34px 1fr;
  }

  .vb-essence__list p {
    grid-column: 2;
  }

  .vb-essence__media {
    width: calc(100% + 36px);
    margin-left: -18px;
    box-shadow: none;
  }
}

/* Depoimentos */
.vb-testimonials {
  padding: clamp(108px, 10vw, 152px) 0;
  overflow: hidden;
  background: #fff;
}

.vb-testimonials__inner {
  padding-inline: max(48px, calc((100vw - var(--shell)) / 2));
}

.vb-testimonials__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 60px;
}

.vb-testimonials__eyebrow {
  margin-bottom: 44px;
}

.vb-testimonials__title {
  max-width: 790px;
  margin: 0;
  color: var(--blue);
  font-size: var(--fs-display);
  font-weight: 400;
  line-height: 1.01;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.vb-testimonials__lead {
  width: min(100%, 250px);
  margin: 0 0 10px;
  color: var(--muted-soft);
  font-size: var(--fs-sm);
  line-height: 1.58;
  text-wrap: pretty;
}

.vb-testimonials__viewport {
  margin-top: 110px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  outline: none;
  touch-action: pan-y;
}

.js .vb-testimonials__viewport {
  overflow: hidden;
  scroll-snap-type: none;
}

.vb-testimonials__viewport:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 8px;
}

.vb-testimonials__track {
  --vb-testimonial-gap: clamp(26px, 4vw, 58px);
  --vb-testimonial-translate: 0px;
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: var(--vb-testimonial-gap);
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  transform: translate3d(calc(var(--vb-testimonial-translate) * -1), 0, 0);
  transition: transform .62s cubic-bezier(.16, 1, .3, 1);
  will-change: transform;
}

.vb-quote {
  position: relative;
  display: flex;
  flex: 0 0 var(--vb-testimonial-slide-width, 100%);
  flex-direction: column;
  width: var(--vb-testimonial-slide-width, 100%);
  min-width: 0;
  margin: 0;
  padding: 18px 22px 10px 32px;
  border-top: 1px solid rgb(31 22 70 / 7%);
  scroll-snap-align: start;
}

.vb-quote__mark {
  position: absolute;
  top: 36px;
  left: 0;
  color: var(--quote-lilac);
  font-family: inherit;
  font-size: 3.25rem;
  line-height: 1;
  transform: translateY(-34%);
}

.vb-quote p {
  margin: 0;
  color: var(--muted-soft);
  font-size: var(--fs-base);
  line-height: 1.74;
  text-wrap: pretty;
}

.vb-quote cite {
  margin: auto 0 0;
  padding-top: 20px;
  color: var(--indigo);
  font-size: var(--fs-sm);
  font-style: normal;
  font-weight: 600;
  line-height: 1.4;
}

.vb-testimonials__controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  margin-top: 34px;
}

.vb-testimonials__controls[hidden] {
  display: none;
}

.vb-testimonials__dots {
  display: flex;
  align-items: center;
  justify-content: center;
}

.vb-arrow {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(31, 22, 70, .18);
  border-radius: 50%;
  background: transparent;
  color: var(--indigo);
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
  transition: border-color .22s ease, background .22s ease, color .22s ease;
}

.vb-arrow:hover,
.vb-arrow:focus-visible {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
  outline: none;
}

.vb-arrow[aria-disabled="true"] {
  opacity: .35;
  pointer-events: none;
}

.vb-testimonial-dot {
  position: relative;
  width: 38px;
  height: 46px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.vb-testimonial-dot::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(31, 22, 70, .25);
  transform: translate(-50%, -50%);
  transition: width .3s cubic-bezier(.16, 1, .3, 1), border-radius .3s ease, background .3s ease;
}

.vb-testimonial-dot[aria-selected="true"]::after {
  width: 26px;
  border-radius: 8px;
  background: var(--blue);
}

.vb-testimonial-dot:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: -7px;
}

@media (max-width: 1100px) {
  .vb-testimonials__inner {
    padding-inline: 32px;
  }
}

@media (max-width: 840px) {
  .vb-testimonials {
    padding-block: 92px;
  }

  .vb-testimonials__inner {
    padding-inline: 22px;
  }

  .vb-testimonials__head {
    display: block;
  }

  .vb-testimonials__lead {
    margin-top: 24px;
  }

  .vb-testimonials__viewport {
    margin-top: 62px;
  }

  .vb-quote {
    min-height: 340px;
  }

  .vb-testimonials__controls {
    justify-content: space-between;
  }
}

@media (max-width: 560px) {
  .vb-testimonials__inner {
    padding-inline: 18px;
  }

  .vb-testimonials__title {
    font-size: clamp(2.65rem, 12vw, 3.55rem);
  }

  .vb-testimonials__track {
    --vb-testimonial-gap: 18px;
  }

  .vb-quote {
    min-height: 365px;
    padding-inline: 32px 2px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .vb-essence__media img,
  .vb-testimonials__track,
  .vb-arrow,
  .vb-testimonial-dot::after {
    transition: none;
  }
}
