html,body {
    height: auto;
    width: 100%;
    min-height: 100vh;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: visible;
}
/*Fontes*/
.outfit-uniquifier {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-weight: weight;
  font-style: normal;
}


.roboto-slab-uniquifier {
  font-family: "Roboto Slab", serif;
  font-optical-sizing: auto;
  font-weight: weight;
  font-style: normal;
}


/*Faixa de acesso */ 
.access-lane{
    position: fixed;
    top:0;
    left:0;
    width:100%;
    height:10vh;
    background-color: #4f92a5;
    z-index: 9999;
    border-bottom: solid 0.001rem black;
    border-top: solid 0.13rem black;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1vw 0 1vw;
}
    .access-buttons {
    position: relative;
    display: flex;
    align-items: center;
    gap: 4.1rem;
    justify-content: flex-end;
    margin-right: 10rem;
    
}
.access-lane .btn-contato:last-child {
    margin-right: 4vw !important;
}

/* Removido margin extra dos botões para encurtar espaço */
.btn-inicio,.btn-sobre,.btn-servicos,.btn-contato{
    min-width: 90px;
    padding: 6px 0;
    margin: 0;
}

.btn-inicio, .btn-sobre, .btn-servicos, .btn-contato, .btn-port {
    background: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Roboto Slab", serif;
    font-size: 1.6rem;
    text-decoration: none;
    color: black;
    transition: color 0.9s;
    
    box-shadow: none;
    outline: none;
    position: relative;
    padding: 6px 0;
    margin: 0;
    gap: 0;
    overflow: visible;
}
/* Efeito underline animado */
.btn-inicio::after,
.btn-sobre::after,
.btn-servicos::after,
.btn-contato::after,
.btn-port::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.05rem;
    height: 3px;
    width: 100%;
    background: #1d476e; 
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.35s cubic-bezier(.77,0,.18,1);
    pointer-events: none;
}

 .btn-inicio:hover, .btn-sobre:hover, .btn-servicos:hover, .btn-contato:hover, .btn-port:hover {
  color: white; /* escolha a cor desejada */
  text-shadow: 2px 2px 6px #1d476e;
            }

.btn-inicio:hover::after,
.btn-sobre:hover::after,
.btn-servicos:hover::after,
.btn-contato:hover::after, 
.btn-port:hover::after {
    transform: scaleX(1);
}

.logo-access{
    position: relative;
    margin-left: -1%;
}
    
.title-acess {
     font-family: "Outfit", sans-serif;
        font-size: 2.1rem;
        color: black;
        position: relative;
        display: inline-block;
  opacity: 0;
  transform: translateY(-30px);
  animation: fall-in 0.5s forwards;
  
}
@keyframes fall-in {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*Container 1 */
/* Beta announcement strip (seamless scroll) */
.beta-strip{
  width: 100%;
  background: #fff8db;
  border-top: 1px solid rgba(0,0,0,0.06);
  border-bottom: 1px solid rgba(0,0,0,0.06);
  overflow: hidden;
  box-sizing: border-box;
  z-index: 10000;
}
.beta-strip__inner{
  display: flex;
  gap: 6rem;
  padding: 0.45rem 0;
  will-change: transform;
  animation: beta-scroll 18s linear infinite;
  z-index: 10000;
}
.beta-message{
  white-space: nowrap;
  font-family: "Roboto Slab", serif;
  font-size: 0.95rem;
  color: #333;
  padding: 0 1rem;
  z-index: 10000;
}
.beta-strip:hover .beta-strip__inner{ animation-play-state: paused; }

@media (prefers-reduced-motion: reduce) {
  .beta-strip__inner{ animation: none; }
}

@keyframes beta-scroll{
  0%{ transform: translateX(0%); }
  100%{ transform: translateX(-50%); }
}

.container1{
    position: relative;
    width: 100%;
    height: 90vh;
    background-color: white;
    z-index: 1;
    border-bottom: solid 0.1rem black;
    margin-top: 10vh;
    overflow-y: hidden;
    scroll-margin-top: 10vh;
    overflow-x: hidden;
}
.fundo-inicio {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    overflow: hidden;
    scroll-margin-top: 11vh;
    left: 0;
    top:0 ;
    opacity: 26%;
}
.canto-inicio, .canto-contato, .canto-servicos {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    overflow: hidden;
    scroll-margin-top: 11vh;
    left: 0;
    top:0 ;
    opacity: 89%;
    
}
.canto-sobre{
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 2;
    overflow: hidden;
    scroll-margin-top: 11vh;
    left: 0;
    top:0 ;
    opacity: 89%;
    
}
.circle-logo {
    position: relative;
    width: 23rem;
    height: 23rem;
    left: 7%;
    top: 18%;
    border-radius: 50%;
    z-index: 2;
    border: solid 0.6rem rgb(17, 17, 111);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 1.3s cubic-bezier(.77,0,.18,1);
    cursor: pointer;
}
.circle-logo:hover {
    transform: scale(1.06);
}
.logo-center{
    position: absolute;
    transform: translate(-50%, -50%);
    width: 24.4rem;
    height: auto;
    margin-left: 24.35rem;
    top: 48.85%;
    z-index: 2;
   
}
.title-inicio {
    position: relative;
    font-size: 2.6rem;
    font-family: "Roboto Slab", serif;
    left: 36%;
    top: -18rem;
    letter-spacing: 0.05em;
    text-shadow: 2px 2px 4px #426587, 1px 1px 0px #fff; 
    visibility: hidden;
}

.title-inicio2 {
    position: relative;
    font-size: 2.4rem;
    font-family: "Roboto Slab", serif;
    left: 39%;
    top: -18.9rem;
    letter-spacing: 0.05em;
    text-shadow: 2px 2px 4px #1d476e, 1px 1px 0px #fff; 
    visibility: hidden;
}
.title-inicio3 {
    position: relative;
    font-size: 2.2rem;
    font-family: "Roboto Slab", serif;
    left: 42%;
    top: -19.3rem;
    letter-spacing: 0.05em;
    text-shadow: 2px 2px 4px #1d476e, 1px 1px 0px #fff; 
    visibility: hidden;
}
.circle-dig {
    position: absolute;
    width: 15.2rem;
    height: 13rem;
    left: 56%;
    top: 23.6rem;
    z-index: 5;
    background-color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 0.4rem;
    border: solid 0.2rem #0f2ac0;
}

#digitando-video {
    position: relative;
    width: 80%;
    max-width: 80%;
    height: auto;
    z-index: 1;
    margin: 0;
    margin-top: 1rem;
    margin-left: 0.3rem;
}

.img-pc {
    position: absolute;
    width: 12.6rem;
    height: auto;
    left: 34%;
    top: 21.5rem;
    z-index: -1;
    opacity: 83%;
    cursor: pointer;
    transition: transform 0.15s;
}

.img-pc:hover {
    animation: shake-pc 0.4s;
}

@keyframes shake-pc {
    0% { transform: translateX(0); }
    20% { transform: translateX(-6px); }
    40% { transform: translateX(6px); }
    60% { transform: translateX(-4px); }
    80% { transform: translateX(4px); }
    100% { transform: translateX(0); }
}

/*Container 2 */
.container2{
    position: relative;
    width: 100%;
    height: calc(100vh - 10vh);
    max-height: 90vh;
    background-color: white;
    z-index: 1;
    border-bottom: solid 0.1rem black;
    overflow-y: hidden;
    overflow-x: hidden;
    scroll-margin-top: 11vh;
}
.fundo-sobre {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    overflow: hidden;
    scroll-margin-top: 11vh;
    left: 0;
    top:0 ;
    opacity: 26%;
}
#vid-avatar {
    position: absolute;
    width: 22rem;
    height: auto;
    left: 10%;
    top: 13rem;
}

.text-cont2 {
    position: relative;
    left: 15%;
    top:3rem;
    font-size: 2.2rem;
   font-family:"Outfit", sans-serif ;
}
.lista-sis h1 {
    font-size: 2rem;
    left: 35%;
    top: 3.5rem;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    font-weight: normal;
    margin-bottom: 0.7rem;
    padding-left: 1.4rem;
    cursor: pointer;         /* Mostra cursor pointer corretamente */
    user-select: text;       /* Permite selecionar texto */
    pointer-events: auto;    /* Garante que recebe eventos */
    transition: color 0.2s;
    position: relative;
    z-index: 2;
}
.lista-sis h1:hover {
    color: #1d476e;
}
.lista-sis h1::before {
    content: '';
    position: absolute;
    left: -1%;
    top: 1.5rem;
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 50%;
    border: 2px dotted #222;
    background: transparent;
    transform: translateY(-50%);
}


.list1 {
    position: relative;
    width: 43%;
    height: 22%;
    border-radius: 0.5rem;
    border: solid 0.1rem black;
    background-color: white;
    left: 46.7%;
    top: -13rem;
    display: flex;
    align-items: center;
    justify-content: center;
    display: none;
    z-index: 3;
    opacity: 0;
    transition: opacity 0.85s;
}
.textlist1 {
    font-weight: bold;
    font-family: "Outfit", sans-serif;
    font-size: 1.2rem;
    padding: 1.5rem;
}

.list1.mostrar {
    opacity: 1;
}


.list2 {
    position: relative;
    width: 43%;
    height: 22%;
    border-radius: 0.5rem;
    border: solid 0.1rem black;
    background-color: white;
    left: 46.7%;
    top: -9rem;
    display: flex;
    align-items: center;
    justify-content: center;
    display: none;
    z-index: 3;
    opacity: 0;
    transition: opacity 0.85s;
}
.textlist2 {
    font-weight: bold;
    font-family: "Outfit", sans-serif;
    font-size: 1.2rem;
    padding: 1.5rem;
}

.list2.mostrar {
    opacity: 1;
}

.list3 {
    position: relative;
    width: 48%;
    height: 27%;
    border-radius: 0.5rem;
    border: solid 0.1rem black;
    background-color: white;
    left: 46.7%;
    top: -5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    display: none;
    z-index: 3;
    opacity: 0;
    transition: opacity 0.85s;
}
.textlist3 {
    font-weight: bold;
    font-family: "Outfit", sans-serif;
    font-size: 1.2rem;
    padding: 1.5rem;
}

.list3.mostrar {
    opacity: 1;
}

.list4 {
    position: relative;
    width: 48%;
    height: 27%;
    border-radius: 0.5rem;
    border: solid 0.1rem black;
    background-color: white;
    left: 46.7%;
    top: -2.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    display: none;
    z-index: 3;
    opacity: 0;
    transition: opacity 0.85s;
}
.textlist4 {
    font-weight: bold;
    font-family: "Outfit", sans-serif;
    font-size: 1.2rem;
    padding: 1.5rem;
}

.list4.mostrar {
    opacity: 1;
}


.list5 {
    position: relative;
    width: 43%;
    height: 22%;
    border-radius: 0.5rem;
    border: solid 0.1rem black;
    background-color: white;
    left: 46.7%;
    top: -20rem; 
    display: flex;
    align-items: center;
    justify-content: center;
    display: none;
    z-index: 5;
    opacity: 0;
    transition: opacity 0.85s;
}
.textlist5 {
    font-weight: bold;
    font-family: "Outfit", sans-serif;
    font-size: 1.2rem;
    padding: 1.5rem;
}

.list5.mostrar {
    opacity: 1;
}
/*Container 3 */
.container3{
    position: relative;
    width: 100%;
    height: calc(100vh - 10vh);
    background-color: white;
    z-index: 1;
    border-bottom: solid 0.1rem black;
    overflow-y: hidden;
    overflow-x: hidden;
    scroll-margin-top: 11vh;
}
.fundo-contato {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    overflow: hidden;
    scroll-margin-top: 11vh;
    left: 0;
    top:0 ;
    opacity: 26%;
}
.fundo-codigopag {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    overflow: hidden;
    scroll-margin-top: 11vh;
    left: 0;
    top:0 ;
    opacity: 12%;
}
.title-ctn3 {
    position: relative;
    font-size: 2.4rem;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    left: 20%;
    top: 2.6rem;
    letter-spacing: 0.05em;
    text-shadow: 2px 2px 4px #426587, 1px 1px 0px #fff;
    z-index: 2;
}



/*Container 4 */
.container4{
    position: relative;
    width: 100%;
    height: calc(100vh - 10vh);
    background-color: white;
    z-index: 1;
    border-bottom: solid 0.1rem black;
    overflow-y: hidden;
    overflow-x: hidden;
    scroll-margin-top: 11vh;
}
.texttitle-contact {
    position: relative;
    font-size: 2.6rem;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    left: 14%;
    top: 2.6rem;
    letter-spacing: 0.05em;
    text-shadow: 2px 2px 4px #426587, 1px 1px 0px #fff;
    z-index: 2;

}
.email-cnt4 {
    position: absolute;
    font-size: 1.9rem;
    font-family: "Roboto Slab", serif;
    left: 50%;
    top: 35rem;
    letter-spacing: 0.05em;
    text-shadow: 2px 2px 4px #1d476e, 1px 1px 0px #fff;
    z-index: 2;
}

.text-cnt4 {
    position: absolute;
    font-size: 1.8rem;
    font-family: "Roboto Slab", serif;
    left: 57%;
    top: 34.9rem;
    letter-spacing: 0.05em;
    text-shadow: 2px 2px 4px #63819e, 1px 1px 0px #fff;
    z-index: 2;
}



/*Icones de acesso de conatos */
.social-icons {
  display: flex;
  justify-content: center;
  margin-top: 4rem;
  margin-left: -28rem;
  gap: 8rem;
  padding: 4rem;
  cursor: pointer;
  z-index: 5;
}

.icon {
  position: relative; 
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 5;
}

.icon i {
    font-size: 8rem;
  color: var(--color);
  transition: 0.3s ease;
    z-index: 5;
}

/* Reflexo */
.icon .reflection {
  position: absolute;
  top: 105%;
  transform: scaleY(-1);
  opacity: 20.7;
  filter: blur(2px);
  height: 100%;
  width: 100%;
  pointer-events: none;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,0.6), transparent);
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0.6), transparent);
  
}

/* Efeito hover (brilho) */
.icon:hover i:first-child {
  color: white;
  background-color: var(--color);
  padding: 1rem;
  border-radius: 50%;
  box-shadow:
    0 0 10px var(--color),
    0 0 20px var(--color),
    0 0 40px var(--color),
    0 0 80px var(--color);
}
.icon.linkedin:hover i:first-child {
  background-color: #0f2ac0;
}

/* Cores individuais */

.icon.instagram { --color: #e4405f; }
.icon.linkedin { --color: #0f2ac0; }
.icon.whatsapp { --color: #25d366; }

/*Acesso do menu do mobile */
.mobile-menu {
  position: absolute;
  top: calc(100% + 0.4rem); 
  right: 0;                 
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 0.5rem;
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
  display: none;            
  flex-direction: column;
  gap: 0.6rem;
  padding: 0.75rem;
  min-width: 200px;
  z-index: 10001;
}

.mobile-menu.mostrar {
  display: flex;
}

/* botão mobile: escondido no desktop, mostrado no mobile */
.btn-mobile-menu {
  display: none; /* padrão desktop */
}

/* elementos de canto mobile (mantidos invisíveis/semi) */
.canto-mobile1 {
    height: 0;
    width: 0;
}
.canto-mobile1, .canto-mobile2 , .canto-mobile3 , .canto-mobile4 {
    height: 0;
    width: 0;
    z-index: 999;
}

/* logo do mobile */
.circle-logomobile {
    position: relative;
    width: 14rem;
    height: 14rem;
    left: 20%;
    top: 12%;
    border-radius: 50%;
    z-index: 2;
    border: solid 0.5rem rgb(17, 17, 111);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 1.3s cubic-bezier(.77,0,.18,1);
    cursor: pointer;
    opacity: 96%;
}
.circle-logomobile:hover {
    transform: scale(1.06);
}
.logo-centermobile {
    position: absolute;
    transform: translate(-50%, -50%);
    width: 14.9rem;
    height: auto;
    margin-left: 15rem;
    top: 48.85%;
    z-index: 2;
    opacity: 97%;
}

/*Container 5 */ 









/*Excluidos do container1 mobile */
.title-iniciomobile,.title-iniciomobile2,.title-iniciomobile3 {
   width: 0;
   height: 0;
   font-size: 0;
}
.logo-mobilecnt1, .circle-mobilecnt1{
    width: 0px;
    height: 0px;
}
.canto-mobilecnt1, .canto-mobilecnt2 {
    width: 0;
    height: 0;
}



/*Excluidos do container3 mobile */
.mobile-carousel {
  display: none;
}






