.cora-homepage-scroll {
  position: relative;
  /* width: 100dvw; */
  /* width: auto; */
  /* height: 400dvh; */
  /* overflow-y: auto; */
  overflow: hidden;
}

.homepage-container {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100dvw;
  height: 100dvh;
}

.circle {
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background-color: var(--cora-secondary);
  border: 1px solid var(--cora-primary);
  display: flex;
  align-items: center;
  justify-content: center;
}

.circle2 {
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background-color: var(--cora-secondary);
  border: 1px solid var(--cora-secondary);
  display: flex;
  align-items: center;
  justify-content: center;
}

.rectangle {
  width: 100%;
  max-width: 690px;
}

.homepage-container--content.m2 {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  pointer-events: none;
}

.homepage-container--content.m3 {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  pointer-events: none;
}

.homepage-container--content.m4 {
  position: fixed;
  top: 50%;
  left: 50%;
  /* transform: translate(-50%, -50%) scale(0.25); */
  transform: translate(-50%, -50%);
  opacity: 0;
  pointer-events: none;
  will-change: transform, opacity;
  transition: transform 0.1s linear, opacity 0.1s linear;

  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  padding-right: var(--cora-container-margins);
  padding-left: var(--cora-container-margins);
}

.homepage-container.moment1 {
  transition: 0.2s;
}

.homepage-container.moment2 {
  transition: 0.32s;
}

.homepage-container.moment3 {
  transition: 0.32s;
}

.homepage-container.moment4 {
  transition: 0.2s;
}

.cora-homepage-section4-active #HomePageWords canvas,
.cora-homepage-section4-active .homepage-container.moment2,
.cora-homepage-section4-active .homepage-container.moment3 {
  opacity: 0;
}

.cora-homepage-section4-active #HomePageWords {
  opacity: 0;
}

.homepage-container--content.m1 {
  display: flex;
  flex-direction: column;
  font-family: var(--cora-font-secondary);
  color: var(--cora-primary);
  font-size: 38px;
  font-weight: 500;
  width: 100%;
  max-width: 940px;
  justify-content: space-between;
  padding-left: var(--cora-container-margins);
  padding-right: var(--cora-container-margins);
}

.homepage-container--content.m1 span {
  font-family: var(--cora-font-primary);
  font-weight: 100;
}

.homepage-container--content.m1 p {
  margin: 0;
  line-height: 1.2;
  max-width: 540px;
}

.homepage-scroll--m1.l2 {
  text-align: right;
  align-self: flex-end;
}

.circle p {
  font-size: 40px;
  text-align: center;
  line-height: 1.1;
  color: var(--cora-primary);
  margin: 0 0 10px;
}

.circle2 {
  position: relative;
}

.circle2 p {
  font-size: 40px;
  text-align: center;
  line-height: 1.1;
  color: #FFF;
  margin: 0 0 10px;
  font-family: var(--cora-font-secondary);
  font-weight: 600;
  position: relative;
  z-index: 50;
}

.circle2--el.el1 {
  position: absolute;
  width: 96px;
  height: 96px;
  left: 76px;
  top: 72px;
  background: #4541D3;
  /* box-shadow: 0px 0px 130.597px 130.597px #4541D3; */
  box-shadow: 0px 0px 120px 130px #4541D3;
  border: 1px solid #4541D3;
  border-radius: 100%;
  outline-width: 1px;
  outline-offset: 0;
  outline-style: solid;
  outline-color: #4541D3;
}

.circle2--el.el2 {
  position: absolute;
  width: 23px;
  height: 24px;
  left: 127px;
  top: 146px;
  background: #00FFF2;
  /* box-shadow: -60.9453px 0px 180px 180px #00FFF2; */
  box-shadow: -60.9453px 0px 130px 160px #00FFF2;
  border-radius: 100%;
  outline-width: 1px;
  outline-offset: 0;
  outline-style: solid;
  outline-color: #00FFF2;
  border: 1px solid #00FFF2;
}

.circle2--el.el3 {
  position: absolute;
  width: 154px;
  height: 157px;
  left: 90px;
  top: 36px;
  background: #F3B4DA;
  /* box-shadow: 0px 0px 174.129px 217.662px #F3B4DA; */
  box-shadow: 0px 0px 134px 217px #F3B4DA;
  border-radius: 100%;
  outline-width: 1px;
  outline-offset: 0;
  outline-style: solid;
  outline-color: #F3B4DA;
  border: 1px solid #F3B4DA;
}

/* Homepage testimonials */
.rectangle {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cora-testimonial-slider {
  width: 100%;
  height: 100%;
}

.cora-testimonial-slide {
  height: 100%;
}

.cora-testimonial-slide {
  padding: 2px;
}

.cora-testimonial-slide--container {
  display: grid;
  grid-template-rows: 1fr 75px;
  padding: 0;
  border: 1px solid var(--cora-primary);
}

.cora-testimonial-content {
  width: 100%;
  padding: 25px;
  border-bottom: 1px solid var(--cora-primary);
}

.cora-testimonial-content p {
  margin: 0;
  font-weight: 300;
  font-size: 24px;
  line-height: 32px;
  color: var(--cora-primary);
}

.cora-testimonial-footer {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}

.testimonial-info {
  border-right: 1px solid var(--cora-primary);
  font-weight: 600;
  font-size: 14px;
  line-height: 18px;
  color: #4D4D4F;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.testimonial-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.testimonial-name {
  margin: 0;
}

.testimonial-name {
  white-space: nowrap;
  /* Impede a quebra de linha */
  overflow: hidden;
  /* Oculta o texto que excede a largura */
  text-overflow: ellipsis;
  /* Adiciona reticências */
  max-width: 100%;
  /* Garante que não ultrapasse o contêiner pai */
}

.testimonial-office {
  font-weight: 300;
}

.testimonial-office {
  overflow: hidden;
  text-overflow: ellipsis;
  /* Adiciona "..." ao final do texto truncado */
  display: -webkit-box;
  /* Necessário para webkit (Chrome, Safari) */
  -webkit-line-clamp: 2;
  /* Define o número máximo de linhas */
  -webkit-box-orient: vertical;
  /* Define a orientação vertical */
  line-height: 18px;
  /* Importante manter o line-height */
  max-height: 36px;
  /* 2 linhas * 18px de line-height */
}

.testimonial-logo img {
  object-fit: contain;
  height: calc(100% - 20px);
  width: calc(100% - 50px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 180px;
}

.testimonial-logo,
.testimonial-info {
  height: 100%;
  padding: 10px 25px;
}

.testimonial-info p {
  margin: 0;
}

.cora-testimonial-slider .slick-dots {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  padding-right: 50px;
}

.cora-testimonial-slider .slick-dots li {
  width: 10px;
  height: 10px;
  margin: 0;
  display: inline-flex;
}

.cora-testimonial-slider .slick-dots li button {
  width: 100%;
  height: 100%;
  display: flex;
  padding: 0;
}

.cora-testimonial-slider .slick-dots li button::before {
  width: 100%;
  height: 100%;
  content: "";
  font-family: initial;
  font-size: initial;
  line-height: initial;
  border: 1px solid var(--cora-primary);
  border-radius: 100%;
  opacity: 1;
}

.cora-testimonial-slider .slick-dots li.slick-active button::before {
  background-color: var(--cora-primary);
  opacity: 1;
}

.cora-testimonial-slider.slick-initialized .slick-slide {
  display: flex;
}

@media(max-width: 768px) {
  :root {
    --cora-container-margins: 25px;
  }

  .cora-testimonial-content p {
    font-size: 16px;
    line-height: 1.4em;
  }

  .cora-testimonial-footer {
    grid-template-columns: minmax(0, 1fr) 43%;
  }

  .testimonial-office {
    font-size: 13px;
  }

  .circle p {
    font-size: 32px;
  }

  .circle2 p {
    font-size: 32px;
  }
}

@media(max-width: 560px) {
  .homepage-container--content.m1 {
    font-size: 26px;
  }
}