* {
	transition: all 0.3s ease;
}
body {
background: radial-gradient(#eaeaea, transparent);
}
.video-background {
  /* Fixa o vídeo na viewport para que ele não role com a página */
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw; /* Garante 100% da largura da tela */
  height: 100vh; /* Garante 100% da altura da tela */
  
  /* Envia o vídeo para o plano de fundo, atrás de todo o conteúdo */
  z-index: -1;
  
  /* Garante que o vídeo cubra toda a área sem deformar */
  object-fit: cover;
  opacity: 0.3;
}
.index {
  background-color: white;
  display: grid;
  justify-items: center;
}

.index .div {
  background-color: transparent; /* Alterado de #ffffff para transparent */
}

.index .page {
  display: inline-flex;
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
}

.index .hero {
  display: inline-flex;
  width: 100%;
  align-items: flex-end;
  justify-content: space-between;
  position: relative;
  flex: 0 0 auto;
  background-color: rgba(220,220,220,0.5);
  max-height: 100vh;
}


.index .hero-content {
  position: relative;
  width: 50%;
  height: auto;
  margin-left: -3.00px;
}

.index .felipe-amorim {
  position: relative;
  display: contents;
  height: 320px;
  bottom:0;
  left: 0;
  font-family: "DM serif Display", serif;
  font-weight: 500;
  color: #1f1c16;
  font-size: 16vw;
  letter-spacing: -10px;
  line-height: 10vw;
}

.index .text-wrapper {
  position: absolute;
  max-width: 25vw;
  top: 230px;
  left: 60px;
  font-family: "Rosario", sans-serif;
  font-weight: 400;
  color: #000000;
  letter-spacing: 2px;
  font-size: 2.2vw;
  line-height: 2.8vw;
}

.index .text-wrapper-2 {
  position: absolute;
  transition: opacity 0.5s ease-in-out;
  text-transform: uppercase;
  top: 200px;
  left: -90px;
  transform: rotate(-90deg);
  font-weight: 500;
  font-size: 10px;
  font-family: "Space Mono", monospace;
  letter-spacing: 6px;
  color: #000000;
  line-height: 36px;
  width: 250px; /* Adiciona uma largura fixa para o contêiner */
  text-align: left;
  white-space: nowrap; /* Mantém o texto em uma linha, mas o contêiner fixo impede a rolagem */
}

.index .felipe {
  position: relative;
  width: 43%;
  height: auto;
}

@media (max-width: 1280px) {
  .index .hero {
	height: 100vh;
  }
  .index .text-wrapper {
  	font-size: 3.8vw;
  	line-height: 4.4vw;
  }
  .index .felipe {
	width: auto;
	right: 0;
	height: 70vh;
  }

  .index .felipe-amorim {
  	font-size: 13vw;
  	line-height: 9vw;
  }
}
@media (max-width: 854px) {
  .index .felipe {
	right: 0;
	height: 70vh;
  }
}
@media (max-width: 820px) {
  .index .felipe-amorim {
  	font-size: 18vw;
  	line-height: 12vw;
  }
  .index .text-wrapper {
  	font-size: 5.2vw;
  	line-height: 5.8vw;
  }
  .index .felipe {
	right: 5vw;
	height: 70vh;
  }
}
@media (max-width: 690px) {
  .index .felipe-amorim {
	display: none;
  }
  .index .hero-content {
  	bottom: 10vh;
  }
  .index .felipe {
	width: auto;
	right: 0vw;
	height: 90vh;
  }
}
@media (max-width: 590px) {
  .index .felipe-amorim {
  	font-size: 18vw;
  	line-height: 12vw;
  }
  .index .hero-content {
  	bottom: 10vh;
  }
  .index .felipe {
	width: auto;
	right: 30vw;
	height: 85vh;
  }
}

.index .about {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
  gap: 120px;
  padding: 120px;
  position: relative;
  flex: 0 0 auto;
  background-color: #f9f9f9;
}

.index .title {
  position: relative;
  min-width: 220px;
  height: 186.67px;
  text-align: center;
}

.index .text-wrapper-3 {
  position: absolute;
  height: 58px;
  top: 129px;
  left: 0;
  font-family: "Rosario", sans-serif;
  font-weight: 400;
  color: #1f1c16;
  font-size: 48px;
  text-align: center;
  letter-spacing: -2.50px;
  line-height: normal;
}

.index .anchor {
  position: absolute;
  width: 83px;
  height: 83px;
  top: 0;
  left: 65px;
  background-color: #1f1c16;
  border-radius: 41.42px;
  box-shadow:
    0px 25px 25px #00000026, 0px 66.67px 50px -16.67px #00000040, 0px 41.67px 50px #00000059, 0px 100px 38.33px #00000026;
}

.index .vector {
  position: absolute;
  width: 26px;
  height: 32px;
  top: 26px;
  left: 28px;
}

.index .content {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 5vw;
  flex: 0 0 auto;
  align-items: flex-start;
  position: relative;
}

.index .flexcontainer {
  max-width: 30vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}

.index .text {
  position: relative;
  align-self: stretch;
  font-family: "Rosario", sans-serif;
  font-weight: 700;
  color: #1f1c16;
  font-size: 28px;
  letter-spacing: 0;
  line-height: 48px;
}

.index .span {
  font-family: "Rosario", sans-serif;
  font-weight: 700;
  color: #1f1c16;
  font-size: 28px;
  letter-spacing: 0;
  line-height: 48px;
}

.index .text-link {
  display: flex;
  flex-direction: column;
  width: 42vw;
  align-items: flex-start;
  gap: 6vh;
  position: relative;
}

.index .flexcontainer-2 {
  height: 320px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}

.index .p {
  position: relative;
  align-self: stretch;
  font-family: "Rosario", sans-serif;
  font-weight: 400;
  color: #1f1c16;
  font-size: 20px;
  letter-spacing: 0;
  line-height: 40px;
}

.index .text-wrapper-4 {
  font-family: "Rosario", sans-serif;
  font-weight: 400;
  color: #1f1c16;
  font-size: 20px;
  letter-spacing: 0;
  line-height: 40px;
}

.index .text-wrapper-5 {
  font-family: "Rosario", sans-serif;
  font-weight: 700;
}

.index .text-2 {
  position: relative;
  align-self: stretch;
  margin-bottom: -200.00px;
  font-family: "Rosario", sans-serif;
  font-weight: 400;
  color: #1f1c16;
  font-size: 20px;
  letter-spacing: 0;
  line-height: 40px;
}

.index .link {
  display: flex;
  width: 191.67px;
  height: 20px;
  gap: 10px;
  align-items: flex-start;
  position: relative;
}

.index .view-resume {
  position: relative;
  width: fit-content;
  margin-top: -0.83px;
  font-family: "Rosario", sans-serif;
  font-weight: 700;
  color: #fe7600;
  font-size: 15px;
  letter-spacing: 6.67px;
  line-height: 18.3px;
  white-space: nowrap;
}

.index .arrow-outward {
  position: relative;
  width: 20px;
  height: 20px;
  margin-right: -0.33px;
}
.index .arrow-outward .img {
  position: absolute;
  width: 20px;
  height: 20px;
  top: 0;
  left: 0;
}
@media (max-width: 1280px) {
  .about .content {
	justify-content: space-around;
  }
  .index .flexcontainer,  .index .flexcontainer-2, .index .text-link {
  	width: 100%;
  	max-width: 100%;
  	height: auto;
  }
 .index .flexcontainer-2 p {
  	width: 100%;
  	max-width: 100%;
  }
  .about .content .text {
	width: 100%;
  }
}
@media (max-width: 1280px) {
  .index .about {
  	padding: 20% 10%;
  }
  
}
.index .img {
  position: absolute;
  width: 10px;
  height: 10px;
  top: 4px;
  left: 4px;
}

.index .div-2 {
  display: flex;
  gap: 120px;
  padding: 120px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: center;
}
.index .carousel {
  gap: 120px;
  padding: 120px 100px;
}


.index .title-2 {
  display: flex;
  flex-direction: column;
  width: 433px;
  align-items: center;
  gap: 20px;
  position: relative;
  flex: 0 0 auto;
}

.index .text-wrapper-6 {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: "Rosario", sans-serif;
  font-weight: 400;
  color: #1f1c16;
  font-size: 48px;
  text-align: center;
  letter-spacing: -3.00px;
  line-height: 48px;
}


.index .text-wrapper-7 {
  position: relative;
  align-self: stretch;
  font-family: "DM serif Display", serif;
  font-weight: 400;
  font-style: italic;
  color: #1f1c16;
  font-size: 24px;
  text-align: center;
  letter-spacing: 0;
  line-height: 36px;
}

.index .carrousel {
  height: 610px;
  align-items: center;
  align-self: stretch;
  width: 100%;
  display: flex;
  gap: 60.95px;
  position: relative;
}
@media (max-width: 1280px) {
 .index .div-2.carousel {
    padding: 60px 20px; /* Padding responsivo */
    gap: 40px;
  }
  .index .carrousel {
  gap: 0px;
  }
  .index .title-2 {
    width: 90%; /* Largura relativa */
    max-width: 433px;
  }
  .index .text-wrapper-6 {
    font-size: clamp(32px, 8vw, 48px); /* Tamanho de fonte responsivo */
  }
  .index .text-wrapper-7 {
    font-size: clamp(16px, 4vw, 24px); /* Tamanho de fonte responsivo */
  }
  .swiper-button-next, .swiper-button-prev {
    margin: 0;
  }
}
.swiper-button-next,
.swiper-button-prev {
  color: #FFFFFF; /* Esto las pone de color negro */
  text-shadow: 0px 7px 10px rgba(0,0,0,0.5);
  margin: 0;
}

.swiper-pagination-bullet {
  background: #cccccc; /* Color de los puntos inactivos */
  opacity: 1; /* Para asegurarte de que no tienen transparencia por defecto */
}

.swiper-pagination-bullet-active {
  background: #fe7600; /* Color del punto activo */
}

.index .carrousel::-webkit-scrollbar {
  width: 0;
  display: none;
}
.index .carrousel article {
  min-width: 360px;
  background-color: #efefef;
  box-shadow: #dfdfdf 0px 0px 15px;
}

.index .product-design {
  display: flex;
  flex-direction: column;
  min-height: 600px;
  align-items: flex-start;
  gap: 60.95px;
  padding: 99.04px 30.47px 15.24px;
  position: relative;
  border-radius: 9.14px;
  overflow: hidden;
  background-image: url(./img/product-design.png);
  background-size: cover;
  background-position: 50% 50%;
}

.index .text-wrapper-8 {
  position: relative;
  width: 211.8px;
  margin-top: -0.76px;
  font-family: "Rosario", sans-serif;
  font-weight: 700;
  color: #f9f9f9;
  font-size: 24px;
  letter-spacing: 0;
  line-height: 36px;
}

.index .text-wrapper-9 {
  position: relative;
  align-self: stretch;
  font-family: "Rosario", sans-serif;
  font-weight: 400;
  color: #f9f9f9;
  font-size: 16px;
  letter-spacing: 0;
  line-height: 24px;
}

.index .pills {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9.14px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.index .capabilities {
  margin-top: -0.76px;
  font-family: "Rosario", sans-serif;
  font-weight: 700;
  color: #f9f9f9;
  font-size: 16px;
  letter-spacing: 3.81px;
  line-height: 24px;
  position: relative;
  align-self: stretch;
}

.index .capabilities-2 {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px 24px;
  width: 100%;
  flex: 0 0 auto;
  position: relative;
  align-self: stretch;
}

.index .pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7.62px;
  position: relative;
  flex: 0 0 auto;
  border-radius: 761.87px;
}

.index .product-creation {
  position: relative;
  width: fit-content;
  margin-top: -0.76px;
  font-family: "Rosario", sans-serif;
  font-weight: 700;
  color: #f9f9f9;
  font-size: 10px;
  letter-spacing: 1.52px;
  line-height: 24px;
  white-space: nowrap;
}

.index .signature {
  gap: 16px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  position: absolute;
  bottom: 16px;
  left: 0;
  align-self: stretch;
  flex: 0 0 auto;
  margin-inline: auto; 
  padding: 0 16px;
  width: fit-content;
}
.index .signature2 {
  gap: 16px;
  display: flex;
  align-items: center;
  position: absolute;
  bottom: 16px;
  left: 0;
  align-self: stretch;
  margin-inline: auto; 
  width: fit-content;
  padding: 0 16px;
  flex: 0 0 auto;
}
.index .vector-2 {
  position: relative;
  width: 14.48px;
  height: 18.28px;
}

.index .strategic-product {
  position: relative;
  width: 198.14px;
  margin-top: -0.32px;
  font-family: "Rosario", sans-serif;
  font-weight: 700;
  color: #f9f9f9;
  font-size: 7.6px;
  letter-spacing: 0.38px;
  line-height: 12.2px;
}

.index .line {
  position: relative;
  width: 3px;
  height: auto;
}

.index .FELIPE-AMORIM {
  color: #f9f9f9;
  position: relative;
  width: min-content;
  margin-top: -0.32px;
  font-family: "DM serif Display", serif;
  font-weight: 400;
  font-size: 0.8rem;
  line-height: 12.2px;
}

.index .text-wrapper-10 {
  letter-spacing: 0.13rem;
}

.index .text-wrapper-12 {
  letter-spacing: 0;
}

.index .div-3 {
  flex-direction: column;
  min-height: 600px;
  align-items: flex-start;
  padding: 114.28px 30.47px 15.24px;
  background-color: #f9f9f9;
  border-radius: 9.14px;
  overflow: hidden;
  display: flex;
  gap: 43px;
  position: relative;
}

.index .text-wrapper-13 {
  position: relative;
  width: 211.8px;
  margin-top: -0.76px;
  font-family: "Rosario", sans-serif;
  font-weight: 700;
  color: #000000;
  font-size: 24px;
  letter-spacing: 0;
  line-height: 36px;
}

.index .text-wrapper-14 {
  position: relative;
  align-self: stretch;
  font-family: "Rosario", sans-serif;
  font-weight: 400;
  color: #000000;
  font-size: 16px;
  letter-spacing: 0;
  line-height: 24px;
}

.index .capabilities-3 {
  margin-top: -0.76px;
  font-family: "Rosario", sans-serif;
  font-weight: 700;
  color: #000000;
  font-size: 16px;
  letter-spacing: 3.81px;
  line-height: 24px;
  position: relative;
  align-self: stretch;
}

.index .product-creation-2 {
  position: relative;
  width: fit-content;
  margin-top: -0.76px;
  font-family: "Rosario", sans-serif;
  font-weight: 700;
  color: #1f1c16;
  font-size: 10px;
  letter-spacing: 1.52px;
  line-height: 24px;
  white-space: nowrap;
}

.index .slogan {
  position: relative;
  min-width: 200px;
  margin-top: -0.32px;
  font-family: "Rosario", sans-serif;
  font-weight: 700;
  color: #000000;
  font-size: 7.6px;
  letter-spacing: 0.38px;
  line-height: 12.2px;
}
.index .slogan2 {
  position: relative;
  min-width: 200px;
  margin-top: -0.32px;
  font-family: "Rosario", sans-serif;
  font-weight: 700;
  color: #f9f9f9;
  font-size: 7.6px;
  letter-spacing: 0.38px;
  line-height: 12.2px;
}

.index .FELIPE-AMORIM-2 {
  color: #000000;
  position: relative;
  width: min-content;
  margin-top: -0.32px;
  font-family: "DM serif Display", serif;
  font-weight: 400;
  font-size: 13.7px;
  line-height: 12.2px;
}

.index .div-4 {
  display: flex;
  flex-direction: column;
  min-height: 600px;
  align-items: flex-start;
  position: relative;
  background-color: #f9f9f9;
  border-radius: 9.14px;
  overflow: hidden;
}

.index .image {
  position: relative;
  align-self: stretch;
  width: 100%;
  aspect-ratio: 1.5;
  object-fit: cover;
}

.index .content-2 {
  display: flex;
  flex-direction: column;
  gap: 3.81px;
  padding: 49.52px 30.47px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  align-items: flex-start;
  position: relative;
}

.index .FUTURES-THINKING-AI {
  position: relative;
  width: 236px;
  margin-top: -0.76px;
  font-family: "Rosario", sans-serif;
  font-weight: 700;
  color: #1f1c16;
  font-size: 24px;
  letter-spacing: 0;
  line-height: 36px;
}

.index .content-3 {
  display: flex;
  flex-direction: column;
  gap: 3.81px;
  padding: 83.81px 30.47px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  align-items: flex-start;
  position: relative;
}


.index .branding {
  display: flex;
  flex-direction: column;
  min-height: 600px;
  align-items: flex-start;
  gap: 60.95px;
  padding: 80px 30.47px 12px;
  position: relative;
  border-radius: 9.14px;
  overflow: hidden;
  background-image: url(./img/branding.png);
  background-size: cover;
  background-position: 50% 50%;
}

.index .title-3 {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  position: relative;
  flex: 0 0 auto;

}

.index .text-wrapper-15 {
  position: relative;
  width: fit-content;
  margin-top: -0.91px;
  font-family: "DM serif Display", serif;
  font-weight: 400;
  font-style: italic;
  color: #1f1c16;
  font-size: 22vw;
  text-align: center;
  letter-spacing: -3vw;
  line-height: 22vw;
  white-space: nowrap;
}

.index .text-wrapper-16 {
  position: relative;
  width: fit-content;
  font-family: "DM serif Display", serif;
  font-weight: 400;
  color: #1f1c16;
  font-size: 3vw;
  text-align: center;
  letter-spacing: 0;
  line-height: 67.4px;
}

.index .numbers {
  display: flex;
  flex-wrap: wrap;
  gap: 36px 60px;
  align-self: stretch;
  width: 100%;
  align-items: center;
  justify-content: center;
  position: relative;
  flex: 0 0 auto;
}
.index .numbers .text-wrapper-17, .index .numbers .text-wrapper-21 {
    transition: opacity 0.5s ease-in-out;
}

.index .years {
  display: flex;
  flex-direction: column;
  width: 245px;
  align-items: center;
  justify-content: center;
  position: relative;
}

.index .text-wrapper-17 {
  position: relative;
  width: fit-content;
  margin-top: -0.46px;
  font-family: "Rosario", sans-serif;
  font-weight: 700;
  color: #1f1c16;
  font-size: 160px;
  text-align: center;
  letter-spacing: -14.06px;
  line-height: 160px;
  white-space: nowrap;
}

.index .text-wrapper-18 {
  position: relative;
  width: fit-content;
  font-family: "DM serif Display", serif;
  font-weight: 400;
  color: #1f1c16;
  font-size: 22px;
  text-align: center;
  letter-spacing: 0;
  line-height: normal;
}

.index .text-wrapper-19 {
  position: relative;
  width: 245px;
  font-family: "Rosario", sans-serif;
  font-weight: 400;
  color: #1f1c16;
  font-size: 12px;
  text-align: center;
  letter-spacing: 0;
  line-height: 24px;
}

.index .div-5 {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  flex: 0 0 auto;
}

.index .i-speak-portuguese {
  position: relative;
  width: 231.07px;
  font-family: "Rosario", sans-serif;
  font-weight: 400;
  color: #1f1c16;
  font-size: 12px;
  text-align: center;
  letter-spacing: 0;
  line-height: 24px;
}

.index .text-wrapper-20 {
  position: relative;
  width: 263.98px;
  font-family: "Rosario", sans-serif;
  font-weight: 400;
  color: #1f1c16;
  font-size: 12px;
  text-align: center;
  letter-spacing: 0;
  line-height: 24px;
}

.index .text-wrapper-21 {
  position: relative;
  width: fit-content;
  margin-top: -0.53px;
  font-family: "Rosario", sans-serif;
  font-weight: 700;
  color: #1f1c16;
  font-size: 210px;
  text-align: center;
  letter-spacing: -16.31px;
  line-height: 210px;
  white-space: nowrap;
}


.index .text-wrapper-22 {
  position: relative;
  width: fit-content;
  font-family: "DM serif Display", serif;
  font-weight: 400;
  color: #1f1c16;
  font-size: 26px;
  text-align: center;
  letter-spacing: 0;
  line-height: 40px;
  white-space: nowrap;
}

@media (max-width: 1020px) {

  .index .text-wrapper-21 {
    font-size: 170px;
  }
  .index .text-wrapper-22 {
    font-size: 24px;
  }

}

.index .text-wrapper-23 {
  position: relative;
  width: 381.01px;
  font-family: "Rosario", sans-serif;
  font-weight: 400;
  color: #1f1c16;
  font-size: 13px;
  text-align: center;
  letter-spacing: 0;
  line-height: 24px;
}



.index .cases {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  flex: 0 0 auto;
  margin-left: -0.50px;
  margin-right: -0.50px;
}

.index .craft-strategy-wrapper {
  position: relative;
}

.index .craft-strategy {
  font-family: "DM serif Display", serif;
  font-weight: 400;
  font-style: italic;
  color: #1f1c16;
  font-size: 270px;
  text-align: center;
  letter-spacing: -27.88px;
  line-height: 270px;
  white-space: nowrap;
}

.index .case-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 168px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}
@media (max-width: 1280px) {
  .index .craft-strategy-wrapper {
	width: 100vw;
  }
  .index .craft-strategy {
    font-size: 19vw;
    line-height: 1;
    letter-spacing: -2vw;
  }
  .index .text-wrapper-16 {
  	font-size: 4vw;
  }
}

.index .div-6 {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  flex: 0 0 auto;
}

.index .case-top {
  display: flex;
  width: 100%;
  height: auto;
  align-items: flex-end;
  justify-content: space-between;
  position: relative;
  background-color: #1f1c16;
}


.index .content-4 {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 24px;
  padding: 80px 40px 80px 120px;
  flex: 1;
  flex-grow: 1;
  align-items: flex-start;
  position: relative;
}

.index .logo-atm {
  position: relative;
  width: 39.43px;
  height: 50.59px;
}

.index .div-7 {
  position: relative;
  align-self: stretch;
  font-family: "Rosario", sans-serif;
  font-weight: 400;
  color: #f9f9f9;
  font-size: 20px;
  letter-spacing: 0;
  line-height: 40px;
}

.index .link-2 {
  display: inline-flex;
  gap: 10.07px;
  flex: 0 0 auto;
  align-items: flex-start;
  position: relative;
}

.index .view-resume-2 {
  position: relative;
  width: fit-content;
  margin-top: -0.84px;
  font-family: "Rosario", sans-serif;
  font-weight: 700;
  color: #fe7600;
  font-size: 16px;
  letter-spacing: 6.00px;
  line-height: 18px;
  white-space: nowrap;
}

.index .arrow-outward-dp {
  position: relative;
  width: 20px;
  height: 20px;
}
.index .arrow-outward-dp .img {
	top: -2px;
	left: 0;
	width: auto;
	height: auto;
}

.index .rectangle {
  position: relative;
  width: 50vw;
  height: 80vh;
  object-fit: cover;
}

.index .element {

  top: 669px;
  position: absolute;
  left: 0;
}

.index .overlap-group {
  position: relative;
  width: 100%;
  height: auto;
}

.index .element-k {
  top: 0;
  font-family: "DM serif Display", serif;
  font-weight: 400;
  color: #1f1c16;
  font-size: 22vw;
  text-align: center;
  letter-spacing: -1vw;
  line-height: 451.0px;
  white-space: nowrap;
  position: absolute;
  left: 0;
}

.index .text-wrapper-24 {
  font-family: "DM serif Display", serif;
  font-style: italic;
}

.index .text-wrapper-25 {
  font-family: "DM serif Display", serif;
  font-style: italic;
  font-size: 14vw;
  letter-spacing: -66.20px;
}

.index .text-wrapper-26 {
  position: absolute;
  top: 349px;
  left: 103px;
  font-family: "DM serif Display", serif;
  font-weight: 400;
  color: #1f1c16;
  font-size: 3vw;
  text-align: center;
  letter-spacing: 0;
  line-height: 68.1px;
  white-space: nowrap;
}
.index .parallaxes {
    position: relative;
    width: 80%;
    height: 100vh;
    overflow: visible;
  top: -10vh;
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  text-align: center;
  max-width: 100vw;
  gap: 2vw;
}

.simpleParallax {
    display: block;
    position: relative;    
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: visible !important;
}

.index [class*="parallax-"] {
  object-fit: contain;
  margin-top: 15vh;
  aspect-ratio: 1.48;
  max-width: 100vw;
}
.index .parallax-9 {
	margin-top: 20vh;
}
.index .parallax-6, .index .parallax-7 .index .parallax-8 {
  aspect-ratio: 1;
}
@media (max-width: 690px) {
	.index .parallax-2 {
		aspect-ratio: 0.8;
		margin-top: 5vh;
	}
	.simpleParallax {
		left: 3vw;
	}
	.parallaxhut {
		max-width: 300px;
	}
}
.index .logo {
  position: relative;
  width: 74.67px;
  height: 20.14px;
  background-image: url(./img/vector-3.svg);
  background-size: 100% 100%;
}

.index .text-wrapper-27 {
  font-family: "Rosario", sans-serif;
  font-weight: 400;
  color: #f9f9f9;
  font-size: 20px;
  letter-spacing: 0;
  line-height: 40px;
}

.index .overlap-wrapper {
  width: 100%;
  height: auto;
  position: relative;
  margin-top: -60px;
}

.index .overlap-2 {
  position: relative;
  width: 100%;
  height: auto;
  top: -59px;
}

.index .overlap-group-wrapper {
  top: 100%;
  margin-top: 150px;
  position: initial;
  left: 0;
}

.index .case_numbers {
  position: relative;
  top: 0vh;
  width: 100%;
  height: auto;
  text-align: center;
}

.index .text-wrapper-28 {
  font-family: "DM serif Display", serif;
  font-weight: 400;
  font-style: italic;
  color: #1f1c16;
  font-size: 15vw;
  text-align: center;
  letter-spacing: -1vw;
  line-height: 1;
  white-space: nowrap;
}

.index .text-wrapper-29 {
  font-family: "DM serif Display", serif;
  font-weight: 400;
  color: #1f1c16;
  font-size: 2vh;
  text-align: center;
  letter-spacing: 0;
  line-height: 0;
  white-space: nowrap;
}


.index .logo-2 {
  position: relative;
  width: 36.91px;
  height: 32.72px;
}

.index .vector-3 {
  position: absolute;
  width: 19px;
  height: 21px;
  top: 12px;
  left: 0;
}

.index .group {
  position: absolute;
  width: 17px;
  height: 14px;
  top: 0;
  left: 20px;
}

.index .overlap-group-3 {
  position: relative;
  height: 14px;
}

.index .vector-4 {
  position: absolute;
  width: 9px;
  height: 14px;
  top: 0;
  left: 8px;
}

.index .vector-5 {
  position: absolute;
  width: 9px;
  height: 14px;
  top: 0;
  left: 0;
}

.index .overlap-3 {
  position: absolute;
  width: 100%;
  height: auto;
  top: -7px;
  left: 0;
}

.index .div-wrapper {
  top: 845px;
  position: absolute;
  width: 100%px;
  height: auto;
  left: 0;
}

.index .vector-6 {
  position: relative;
  width: 31.04px;
  height: 38.59px;
}

.index .overlap-4 {
  position: relative;
  width: 100%px;
  height: auto;
}

.index .element-2 {
  top: 783px;
  position: absolute;
  width: 100%;
  height: auto;
  left: 0;
}


.index .rectangle-wrapper {
  position: absolute;
  width: 323px;
  height: 364px;
  top: 0;
  left: 619px;
}

.index .rectangle-2 {
  position: absolute;
  width: 343px;
  height: 386px;
  top: 0;
  left: -10px;
}
@media (max-width: 1280px) {
  .index .case-top {
    display: block;
  }
  .index .content-4 {
    padding: 80px;
  }
  .index .rectangle {
  	height: 60vh;
  	width: 100%;
  }
  .index .parallax {
	/* display:none */;
  }
  .index .parallax-2 {
    width: 70vw;
    height: auto;
    top: 0px;
    left: 20vw;
   }
  .index .parallax-3 {
/*   	display: none; */
  }
  .index .overlap-group-wrapper {
  	margin-top: 25vh;
  }
}
@media (max-width: 1020px) {
 .index .overlap-group-wrapper {
  	margin-top: 0;
  }
  .index .text-wrapper-28 {
  	font-size: 25vw;
  }
  .index .parallaxes {
  	height: 70vh;
  	top: 10vh;
  }
}
@media (max-width: 690px) {
	.parallaxhut {
		display: none;
	}
}
.index .footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 60px;
  padding: 120px;
  position: initial;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  min-height: 100vh;
  background-color: transparent;
}

.index .so-what-are-your {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: "Rosario", sans-serif;
  font-weight: 400;
  color: transparent;
  font-size: 16px;
  text-align: center;
  letter-spacing: 0;
  line-height: 40px;
}

.index .text-wrapper-30 {
  color: #1f1c16;
}

.index .text-wrapper-31 {
  font-family: "Rosario", sans-serif;
  font-weight: 700;
  color: #fe7600;
}

.index .link-3 {
  display: inline-flex;
  gap: 7.5px;
  padding: 3px 12px;
  flex: 0 0 auto;
  background-color: #fe7600;
  border-radius: 300px;
  box-shadow: 0px 3px 6px #00000033;
  align-items: flex-start;
  position: relative;
}

.index .text-wrapper-32 {
  position: relative;
  width: fit-content;
  margin-top: -0.75px;
  font-family: "Rosario", sans-serif;
  font-weight: 700;
  color: #f9f9f9;
  font-size: 13.5px;
  letter-spacing: 6.00px;
  line-height: 16.5px;
  white-space: nowrap;
}

.index .vector-wrapper {
  position: relative;
  width: 18px;
  height: 18px;
}

.index .vector-7 {
  position: absolute;
}

.index .vector-8 {
  position: relative;
  width: 37px;
  height: 46px;
}


/* ------------------- GRADIENT BLUR */
.gradient-blur {
  position: fixed;
  z-index: 5;
  inset: auto 0 0 0;
  height: 10vh;
  pointer-events: none;
}
.gradient-blur > div,
.gradient-blur::before,
.gradient-blur::after {
  position: absolute;
  inset: 0;
}
.gradient-blur::before {
  content: "";
  z-index: 1;
  backdrop-filter: blur(0.5px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 1) 12.5%,
    rgba(0, 0, 0, 1) 25%,
    rgba(0, 0, 0, 0) 37.5%
  );
}
.gradient-blur > div:nth-of-type(1) {
  z-index: 2;
  backdrop-filter: blur(1px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 12.5%,
    rgba(0, 0, 0, 1) 25%,
    rgba(0, 0, 0, 1) 37.5%,
    rgba(0, 0, 0, 0) 50%
  );
}
.gradient-blur > div:nth-of-type(2) {
  z-index: 3;
  backdrop-filter: blur(2px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 25%,
    rgba(0, 0, 0, 1) 37.5%,
    rgba(0, 0, 0, 1) 50%,
    rgba(0, 0, 0, 0) 62.5%
  );
}
.gradient-blur > div:nth-of-type(3) {
  z-index: 4;
  backdrop-filter: blur(4px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 37.5%,
    rgba(0, 0, 0, 1) 50%,
    rgba(0, 0, 0, 1) 62.5%,
    rgba(0, 0, 0, 0) 75%
  );
}
.gradient-blur > div:nth-of-type(4) {
  z-index: 5;
  backdrop-filter: blur(8px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 50%,
    rgba(0, 0, 0, 1) 62.5%,
    rgba(0, 0, 0, 1) 75%,
    rgba(0, 0, 0, 0) 87.5%
  );
}
.gradient-blur > div:nth-of-type(5) {
  z-index: 6;
  backdrop-filter: blur(16px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 62.5%,
    rgba(0, 0, 0, 1) 75%,
    rgba(0, 0, 0, 1) 87.5%,
    rgba(0, 0, 0, 0) 100%
  );
}
.gradient-blur > div:nth-of-type(6) {
  z-index: 7;
  backdrop-filter: blur(32px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 75%,
    rgba(0, 0, 0, 1) 87.5%,
    rgba(0, 0, 0, 1) 100%
  );
}
.gradient-blur::after {
  content: "";
  z-index: 8;
  backdrop-filter: blur(64px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 87.5%,
    rgba(0, 0, 0, 1) 100%
  );
}

.gradient-blur-2 {
  position: fixed;
  z-index: 0;
  inset: 0 0 auto 0;
  transform: rotate(180deg);
  height: 10vh;
  pointer-events: none;
}
.gradient-blur-2 > div,
.gradient-blur-2::before,
.gradient-blur-2::after {
  position: absolute;
  inset: 0;
}
.gradient-blur-2::before {
  content: "";
  z-index: 1;
  backdrop-filter: blur(0.5px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 1) 12.5%,
    rgba(0, 0, 0, 1) 25%,
    rgba(0, 0, 0, 0) 37.5%
  );
}
.gradient-blur-2 > div:nth-of-type(1) {
  z-index: 2;
  backdrop-filter: blur(1px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 12.5%,
    rgba(0, 0, 0, 1) 25%,
    rgba(0, 0, 0, 1) 37.5%,
    rgba(0, 0, 0, 0) 50%
  );
}
.gradient-blur-2 > div:nth-of-type(2) {
  z-index: 3;
  backdrop-filter: blur(2px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 25%,
    rgba(0, 0, 0, 1) 37.5%,
    rgba(0, 0, 0, 1) 50%,
    rgba(0, 0, 0, 0) 62.5%
  );
}
.gradient-blur-2 > div:nth-of-type(3) {
  z-index: 4;
  backdrop-filter: blur(4px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 37.5%,
    rgba(0, 0, 0, 1) 50%,
    rgba(0, 0, 0, 1) 62.5%,
    rgba(0, 0, 0, 0) 75%
  );
}
.gradient-blur-2 > div:nth-of-type(4) {
  z-index: 5;
  backdrop-filter: blur(8px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 50%,
    rgba(0, 0, 0, 1) 62.5%,
    rgba(0, 0, 0, 1) 75%,
    rgba(0, 0, 0, 0) 87.5%
  );
}
.gradient-blur-2 > div:nth-of-type(5) {
  z-index: 6;
  backdrop-filter: blur(16px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 62.5%,
    rgba(0, 0, 0, 1) 75%,
    rgba(0, 0, 0, 1) 87.5%,
    rgba(0, 0, 0, 0) 100%
  );
}
.gradient-blur-2 > div:nth-of-type(6) {
  z-index: 7;
  backdrop-filter: blur(32px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 75%,
    rgba(0, 0, 0, 1) 87.5%,
    rgba(0, 0, 0, 1) 100%
  );
}
.gradient-blur-2::after {
  content: "";
  z-index: 8;
  backdrop-filter: blur(64px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 87.5%,
    rgba(0, 0, 0, 1) 100%
  );
}
/* END OF GRADIENT BLUR */


.index .header {
  display: flex;
  width: calc(100% - 60px);
  align-items: flex-start;
  justify-content: space-between;
  position: fixed;
  top: 24px;
  left: 24px;
  z-index: 1;
  background-color: transparent;
}

.index .logo-3 {
  position: relative;
  width: 165.67px;
  height: 31.46px;
}

.index .FELIPE-AMORIM-3 {
  position: absolute;
  width: 143px;
  top: 0;
  left: 21px;
  font-family: "Rosario", sans-serif;
  font-weight: 400;
  color: #000000;
  font-size: 16.9px;
  letter-spacing: 1.69px;
  line-height: 30.4px;
  white-space: nowrap;
    mix-blend-mode: difference;

}

.index .text-wrapper-33 {
  letter-spacing: 0.29px;
}

.index .text-wrapper-34 {
  font-family: "Rosario", sans-serif;
  font-weight: 700;
  letter-spacing: 0.29px;
}

.index .vector-9 {
  position: absolute;
  width: 13px;
  height: 16px;
  top: 7px;
  left: 0;
}

.index .cta {
  display: flex;
  height: 25.73px;
  align-items: center;
  justify-content: flex-end;
  gap: 8.45px;
  padding: 3.38px 13.52px;
  position: relative;
  background-color: #fe7600;
  border-radius: 338.03px;
  box-shadow: 0px 3.38px 13.52px #00000033;
  backdrop-filter: blur(12.68px) brightness(100%);
  -webkit-backdrop-filter: blur(12.68px) brightness(100%);
}
.index header .header_right {
	display: flex;
	gap: 12px;
}
.index .cta_icon {
	padding: 6px;
	height: auto;
}
.index .cta_icon img {
	width: 16px;
}
.index .cta_icon span {
	line-height: 0;
}

.index .text-wrapper-35 {
  position: relative;
  width: fit-content;
  margin-top: -0.86px;
  font-family: "Rosario", sans-serif;
  font-weight: 700;
  color: #f9f9f9;
  font-size: 15.2px;
  text-align: right;
  letter-spacing: 3.38px;
  line-height: 18.6px;
  white-space: nowrap;
}
/* Original CSS code should be injected here */

/* Accessibility and semantic improvements */
.capabilities-2 {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pill {
  list-style: none;
}

/* Focus styles for interactive elements */
.anchor:focus,
.link:focus,
.link-2:focus,
.link-3:focus,
.cta:focus {
  outline: 2px solid #fe7600;
  outline-offset: 2px;
}

/* Keyboard navigation support */
.anchor {
  cursor: pointer;
}

.anchor:hover {
  transform: scale(1.05);
  transition: transform 0.2s ease;
}

/* Improved link styling */
.text-wrapper-31 {
  text-decoration: underline;
}

.text-wrapper-31:hover {
  text-decoration: none;
}

/* Screen reader only content */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}



/*
 * RESUME - MOBILE FIRST (PADRÃO PARA TELAS PEQUENAS)
 */
.resume {
	display: flex;
	flex-direction: column; /* Colunas empilhadas no celular */
	width: 100%;
	padding: 2rem 1.5rem; /* Espaçamento relativo */
	box-sizing: border-box; /* Garante que o padding não adicione largura extra */
}
.left,
.right {
	display: flex;
	flex-direction: column;
	width: 100%; /* Ocupam a largura total no celular */
	gap: 2rem;
}
.cv-resume {
display: flex;
align-items: center;
gap: 24px;
align-self: stretch;
	font-size: 0.75rem;
	font-family: "Rosario", sans-serif;
	color: #73808D;
	letter-spacing: 0.1875rem;
	line-height: 1.75rem;
}
.cv-resume svg {
width: 14.312px;
height: 14.312px;
}
.title {
	color: #101214;
	font-family: "Rosario", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.75rem;
}
.title .description {
	color: #101214;
	font-family: "Rosario", sans-serif;
	font-size: 0.8rem;
	font-weight: 400;
	line-height: 150%;
}
.text-wrapper-2 {
	color: #73808D;
	font-family: "Space Mono", monospace;
	font-size: 0.6rem;
	font-weight: 900;
	line-height: 1.125rem;
	letter-spacing: 0.2rem;
	text-transform: uppercase;
}
.text-wrapper-3 {
	color: #101214;
	font-family: "Rosario", sans-serif;
	font-size: 0.8rem;
	font-weight: 700;
	line-height: 1.125rem;
	text-transform: uppercase;
}
.text-wrapper-4 {
	color: #101214;
	font-family: "Rosario", sans-serif;
	font-size: 0.9rem;
	font-weight: 400;
	line-height: 160%;
}
.text-wrapper-5 {
	color: #101214;
	font-family: "Rosario", sans-serif;
	font-size: 0.8rem;
	font-weight: 400;
	line-height: 1.125rem;
}
.text-wrapper-6 {
	color: #73808D;
	font-family: "Space Mono", monospace;
	text-transform: uppercase;
	font-size: 0.6rem;
	font-weight: 500;
	line-height: 150%;
}
.text-wrapper-7 {
	color: #101214;
	font-family: "Rosario", sans-serif;
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 150%;
	margin-bottom: 0.625rem;
	display: block;
}
.text-wrapper-7.list {
	border-left: 0.5rem solid #EAEAEA;
	padding-left: 0.25rem;
}
.text-wrapper-8 {
	color: #73808D;
	font-family: "Rosario", sans-serif;
	font-size: 0.4375rem;
	font-weight: 400;
	line-height: 1.125rem;
	letter-spacing: 0.125rem;
	text-transform: uppercase;
}
.text-wrapper-9 {
	color: #101214;
	font-family: "Rosario", sans-serif;
	font-size: 0.6875rem;
	font-weight: 400;
	line-height: 1.125rem;
}
.education {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	width: 100%;
}
.education .title-2 {
	color: #73808D;
	font-family: "Rosario", sans-serif;
	font-size: 0.4375rem;
	font-weight: 400;
	line-height: 1.125rem;
	letter-spacing: 0.125rem;
	text-transform: uppercase;
}
.card-ed {
	background: #F6F6F6;
	display: flex;
	flex-wrap: wrap;
	padding: 0.75rem;
	gap: 0.625rem;
}
.ed,
.p {
	min-width: 12.5rem;
	flex: 1 0 0;
}
.resume .text-wrapper-10 {
	color: #101214;
	font-family: "Rosario", sans-serif;
	font-size: 0.6875rem;
	font-weight: 700;
	line-height: 1.125rem;
}
.resume .text-wrapper-11 {
	color: #101214;
	font-family: "Rosario", sans-serif;
	font-size: 0.6875rem;
	font-weight: 400;
	line-height: 1.125rem;
}
.resume .text-wrapper-12 {
	color: #73808D;
	font-family: "Rosario", sans-serif;
	font-size: 0.5625rem;
	font-weight: 400;
	line-height: 1.125rem;
}
.resume .text-wrapper-13 {
	color: #73808D;
	font-family: "Rosario", sans-serif;
	font-size: 0.6875rem;
	font-weight: 400;
	line-height: 1.125rem;
}
.text {
	margin-bottom: 0.625rem;
	display: block;
}
.text-wrapper-14 {
	color: #101214;
	font-family: "Rosario", sans-serif;
	font-size: 0.6875rem;
	font-weight: 700;
	line-height: 1.125rem;
}
.text-wrapper-15 {
	color: #101214;
	font-family: "Space Mono", monospace;
	font-size: 0.6rem;
	font-weight: 700;
	line-height: 1.125rem;
	letter-spacing: 0.125rem;
	text-transform: uppercase;
}

/*
 * MEDIA QUERY PARA DESKTOPS
 */
@media (min-width: 768px) {
	.resume {
		flex-direction: row; /* Layout de duas colunas */
		width: 100%;
		max-width: 80rem; /* Limita a largura em telas muito grandes */
		padding: 3.125rem 13.75rem; /* Espaçamento maior para desktop */
		margin: 0 auto;
		gap: 2vw;
	}
	.left {
		flex: 1;
		gap: 1.5rem;
	}
	.right {
		width: 11.25rem; /* Largura fixa para a coluna da direita em desktop */
		flex-shrink: 0;
		gap: 2rem;
	}
}
@media print {
  /* Remove as restrições de altura e overflow para permitir a paginação */
  html, body {
    height: auto !important;
    overflow: visible !important;
  }
  
  /* Permite que o conteúdo flua em novas páginas */
  .index .page {
    position: static !important;
    overflow: visible !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  
  /* Oculta elementos que não são necessários na impressão */
  .video-background, .footer, .header, .swiper-button-prev, .swiper-button-next, .swiper-pagination, .gradient-blur, .gradient-blur-2 {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .video-background {
    display: none;
  }
}