

*, *:before, *:after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}


html {
  overflow-x: hidden;
  scroll-behavior: smooth;
  box-sizing: border-box;
}


body {

  background: linear-gradient(90deg,rgba(242, 242, 242, 1) 0%, rgba(202, 237, 237, 1) 50%, rgba(255, 255, 255, 1) 100%);
	/*background-image: url("images/bg.png");*/
  width: 100%;
  height: 100%;
}



/* image wall */


.mobile-overlay {

  display: none;
}

.bottom-div {

  position: relative;
  bottom: 80px;
  margin-right: 100px;
  margin-left: 100px;
}


.column {


  opacity: 95%;
  float: left;
  width: 33.3333%;
  padding: 1pt;
  position: relative;
  text-align: center;
  max-height: 100vh
}


.row::after {
  content: "";
  clear: both;
  display: table;
}


.column img {

  width: 100%;
  height: 100vh;
  object-fit: cover;
  transition: 1s;
  transition-delay: 0.5s;
  filter: brightness(0.9);

}

.column a{

  text-decoration: none;
  color: #000;
}

.pic-text {

  position: absolute;
  font-size: 20px;
  top: 70%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: transparent;
  transition: 1s;
  font-family: 'Philosopher', sans-serif;
  filter: invert(1);
  text-shadow: 0px 0px 15px #fff;

}


/* hover animation */
.column:hover .pic-text {

  font-size: 22px;
  
}

.column:hover img {

  filter: blur(2px);
  
}
 




/* Responsive */


@media (max-width: 450px) {




  /* Hide all columns */
  .row .column {
    display: none !important;
    size: cover !important;

  }


  .bottom-div {
    bottom: 5vh;
    margin: 0px !important;
  }


  /* Show only the first column */
  .row .column:nth-child(2) {
    display: block !important;
    width: 100% !important; /* Full width on mobile */
    float: inherit !important;
    
  }

  /* Adjust image height on mobile if needed */
  .row .column:nth-child(2) img {
    width: 100% !important;
    height: 100vh !important;
  }

  /* Hide original text on image */
  .row .column:nth-child(2) .pic-text {
    display: none;
  }

  /* Show mobile-specific overlay */
  .row .column:nth-child(2) .mobile-overlay {
    opacity: 95%;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 3rem;
    font-weight: bold;
    color: white;
    background: rgba(0, 0, 0, 0);
    padding: 0.5em 1em;
    border-radius: 10px;
    text-shadow: 2px 2px 50px #FFFFFF;
    font-family: 'Amethysta';
    filter: invert();
  }


  .column:hover .pic-text {
    font-size: 20px;
    transition: none;
  }

  .column:hover img {
    filter: blur(0px);
    transition: none;
  }





}








/* Nav bar */ 


.navbar {
  position: sticky;
  opacity: 90%;
  background-color: transparent;
  top: 0;
  z-index: 10;
  margin-bottom: 10vh;
  transition: background-color 0.4s ease;

}

.logo {

  text-align: center;
  transition: 0.4s ease;
  /* filter: invert(1); */

}

.logo img {

  width: 30vw;
  height: auto;
  margin-top: 0vh;
  margin-bottom: 0.5vh;
  transition: 0.4s ease;
}

.menu {

  text-align: center;
  transition: 0.4s ease;
  margin-top: -8vh;
  margin-bottom: 15vh;
  display: flex;
  justify-content: space-between;
}

.menu a {

  text-decoration: none;
  color: grey;
  margin: 3vw;
  font-size: 22px;
  text-shadow: 0px 0px 40px black;
  transition: 0.4s ease;
}


.menu-left {

  text-align: left;
  transition: 0.4s ease;
  display: inline-block;

}

.menu-right {

  text-align: right;
  transition: 0.4s ease;
  display: inline-block;
}



.on-scroll {
  position: sticky;
  transition: 0.8s ease;
  margin-left: -3vw;
  filter: drop-shadow(-5px 5px 15px black);
  opacity: 90%;
}





/*vertical menu transition*/

.on-scroll .logo {

  display: none;
}

.on-scroll .menu-center {

  display: none;
}


.on-scroll .menu {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 0;
  padding: 2vh 5vw;
}

/* Stack individual menu sections vertically */
.on-scroll .menu-left,
.on-scroll .menu-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 1vh 0;
  opacity: 1 !important; /* override opacity: 0 on .menu-center */
}

/* Adjust spacing and appearance of links */
.on-scroll .menu a {
  margin: 1vh 0;
  color: black;
  text-shadow: none;
}



/* invert on scroll */

.on-scroll-invert {

  filter: invert(1);
}





/* Responsive Navigation - Mobile First */

.menu-toggle {
  display: none;
  font-size: 28px;
  color: grey;
  cursor: pointer;
  position: absolute;
  top: 2vh;
  right: 5vw;
  z-index: 20;
}

/* Show toggle on small screens */
@media (max-width: 450px) {
  .menu {
    display: none;
    flex-direction: column;
    background-color: rgba(255, 255, 255, 0.95);
    position: absolute;
    top: 8.5vh;
    left: 0;
    width: 100%;
    padding: 5vh 5vw;
    margin: 0;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
  }

  .menu.active {
    display: flex;
  }

  .menu-left, .menu-right {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    margin: 0;
  }

  .menu a {
    margin: 1vh 0;
    font-size: 20px;
    color: black;
    text-shadow: none;
  }

  .menu-toggle {
    display: block;
  }

  .logo img {
    margin-top: 1vh;
    margin-bottom: -4vh;
    width: 70vw;
  }
}





/* ABOUT ME */


.about {
  opacity: 95%;
  text-align: center;
  /*margin-top: -100vh;*/
  /*margin-bottom: -5vh;*/
  background: radial-gradient(circle,rgba(238, 174, 202, 0.6) 0%, rgba(148, 187, 233, 1) 100%);
  

}


.about-text p {

  z-index: 1;
}

.about .about-text .main {

  padding-top: 5vh;
  font-size: 5rem;
  color: black;
  font-family: 'Philosopher', sans-serif;
}


.about .about-text .subtext {

  color: black;
  /*background-image: linear-gradient(to right, rgba(13, 75, 75, 0.1), rgba(13, 75, 75, 0.3), rgba(13, 75, 75, 0.1) );*/
  margin-top: 25px;
  font-size: 2vw; 
  word-wrap: break-word;
  margin-left: 20%;
  margin-right: 20%;
  border-radius: 2%;
  font-family: "outfit";

}

.about-img {

  position: relative;
  opacity: 0;
  z-index: -1;
  width: 100vw;
  height: 85vh;

}


.about-img img {

  width: inherit;
  width: 450px;
  height: 700px;
  border-radius: 10px;
}


.img-left {

  position: relative;
  right: 30%;
  top: -100px;
  z-index: -1;
  filter: brightness(1);
}



.img-right {

  position: absolute;
  left: 65%;
  top: 80px;
  z-index: -1;
  filter: brightness(1)


}



@keyframes down {

  from {
    transform: translateY(-100px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}




.about-button button {

  position: relative;
  background-color: rgba(255, 229, 136, 0.5); 
  border: 1px solid rgba(255, 229, 136, 0.8);
  padding: 10px 15px;
  border-radius: 5px;
  font-size: 35px;
  bottom: 80vh;
  opacity: 0;
  transition: .4s;
  cursor: pointer;
  color: black;
  font-family: "outfit"

}

.about-button button:hover {

  box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24), 0 17px 50px 0 rgba(0,0,0,0.19);
}




/* Responsive */


@media (max-width: 450px) {
  
  .about {
    padding-bottom: 5vh;
    opacity: 90%;
  }

  .about .about-text .main {
    font-size: 4rem;
    margin-bottom: -1vh; 
  }

  .about .about-text .subtext {
    font-size: 1rem;
    margin-left: 10%;
    margin-right: 10%;
  }


  .about-img{
    height: 100%;

  }


  .img-left {

    position: sticky;
    margin-top: 3vh;
    margin-bottom: 2vh;
  }


  .img-left img {
    max-width: 40vw;    
    max-height: 30vh;
  }

  .img-right {

    display: none !important;

  }


  .about-button button {
    position: static !important;
    font-size: 1.2rem;
    width: 35%;
    max-width: 300px;
    opacity: 1 !important;
    bottom: auto !important;
    background-color: transparent;

  }
}









/* Services */

.services {
  color: white;
  opacity: 90%;
  height: 100%;
  width: auto;
  resize: none;
  /*background-image: url("images/beh-bh4.png");*/
  background: linear-gradient(90deg, hsla(180, 63%, 5%, 1) 0%, hsla(180, 71%, 16%, 1) 23%, hsla(180, 72%, 27%, 1) 50%, hsla(180, 71%, 20%, 1) 73%, hsla(180, 63%, 5%, 1) 100%);
  filter: progid: DXImageTransform.Microsoft.gradient( startColorstr="#051616", endColorstr="#0C4646", GradientType=1 );
}

.services img{

  width: 40vw;
  height: auto;
  border-radius: 10px;

}


.services a{

  color: whitesmoke;
  text-decoration: none;
  font-style: italic;
  transition: 0.5s;
}

.services a:hover{

  color: #C56827;
}

.ser1 {
  
  display: flex;
  opacity: 0;

}

.ser1 > div {

  margin-right: 5%;
  margin-top: 5%;
}


.ser1-img {
  
  position: relative;   
  margin-left: 5%;
  margin-bottom: -10%;
  resize: none;
}

.ser1 img {

  margin-top: 10%;
  margin-bottom: 40% ;
  object-fit: cover;
  object-position: 0 110% ;
  filter: brightness(0.8);
}



.ser2 {

  display: flex;
  opacity: 0;

}

.ser2 > div {

  margin-right: 5%;
  margin-top: 5%;
}


.ser2-img {

  position: relative;   
  margin-left: 5%;
  margin-bottom: 10%;
  resize: none;

}


.ser3 {

  display: flex;
  opacity: 0;
  margin-top: -2vh;

}

.ser3 > div {

  margin-right: 5%;
  margin-top: 5%;
}


.ser3-img {
  
  position: relative;   
  margin-left: 5%;
  margin-bottom: 10%;
  resize: none;
}
  


.ser-title {

  font-size: 5vw;
  font-family: 'Philosopher', sans-serif;
}

.ser-text {

  font-size: 1.4vw;
  font-family: "outfit"
}


.ser1-text p {

  position: relative;
  margin-right: 15%;
  margin-top: 5%;
  top: 10%;

}


.ser2-text p {

  position: relative;
  margin-left: 15%;
  margin-top: 5%;
  top: 5%;
  left: 10%;
}


.ser3-text p {

  position: relative;
  margin-right: 15%;
  margin-top: 2%;
  

}



@keyframes right {

  from {
    transform: translateX(100px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}



@keyframes left {

  from {
    transform: translateX(-100px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}


.dot {

  display: none;
}



/* RESPONSIVE*/ 


@media (max-width: 450px) {


    .services {

      opacity: 90%;
    }



  .ser1 , .ser2 , .ser3{

    flex-direction: column;
    align-items: center;

  }



  @keyframes right {

    from {

      transform: translateX(-50px);
      opacity: 0;
    }

    to {

      transform: translateX(0px);
      opacity: 1;
    }
  }




  @keyframes left {

    from {
      transform: translateX(-50px);
     opacity: 0;
    }
    to {
     transform: translateX(0);
     opacity: 1;
    }
  }


  .ser1-img , .ser2-img , .ser3-img{

    display: flex;
    justify-content: center;

    
  }


  .ser1 > div {

    margin-right: 0%;

  }


  .ser1-text , .ser2-text , .ser3-text {

    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-right: 5vw !important;
    margin-left: 5vw !important;


  }
  

  .ser1-text {

    margin-bottom: 8vh;
  }

  .ser1-text p {

    margin-right: 0;

  }


  .ser2-text p {

    margin-left: 0;
    word-break: break-all;
    left: 0;
  }


  .ser-title {

    font-size: 3rem;
  }


  .ser-text {

    font-size: 1rem ;
    
  }


  .ser2 > div {

    margin-right: 0%;
    margin-top: 0%;
    
  }


  .services img {

    width: 60vw;
    height: auto;
  }



  .ser1-img , .ser2-img , .ser3-img {

    margin-left: 0;
  }


  .ser1-img {

    margin-top: 5vh !important;

  }
  .ser1-img img {

    margin-bottom: 3vh;


  }



  .ser2-img img {

    margin-bottom: 1vh;


  }

  .ser2-text {

    order: 2;
    margin-bottom: 8vh;
  }


  .ser2-img {

    order: 1;
  }


  .ser2-img {

    margin-bottom: 0;
  }




  .ser3 > div {

    margin-right: 0%;
    margin-top: 0%;
  }


  .ser3-text p {

    margin-right: 0;

  }

  .ser3-img {

    margin-bottom: 0;
  }


  .ser3-text {


    margin-bottom: 10vh;
  }




  .dot {
    opacity: 90%;
    text-align: center;
    margin-bottom: 8vh;
    margin-top: -1vh;
  
  }



}








/* MEET THE LAB */



.MTL {

  height: 100%;
  width: auto;
  opacity: 90%;
}


.mtl-title {

  margin-top: 6vh;
  text-align: center;
  font-size: 10vh;
  color: black;
  margin-bottom: 5vh;
  font-family: 'Amethysta';
}

.meet-1 {

  position: relative;
  text-align: center;
  margin-bottom: 3vh;
}

.meet-1 img{
  width: auto;
  height: 65vh;
  border-radius: 10px;
 

}

.meet-2 {

  margin-left: 2vw;
  display: inline-block;
}

.mtl-text {

  text-align: center;
  color: black;
  font-size: 4vh; 
  word-wrap: break-word;
  margin-left: 20%;
  margin-right: 20%;
  font-family: "outfit"

}


.mtl-button Button {

  position: filter;
  background-color: rgba(255, 229, 136, 1); 
  border: 1px solid rgba(255, 229, 136, 1);
  padding: 10px 15px;
  border-radius: 5px;
  font-size: 35px;
  transition: .5s;
  cursor: pointer;
  color: black;
  font-family: "outfit"
  left: 43%;
  margin-top: 3%;
  margin-bottom: 5%;


}

.mtl-button Button:hover {

  box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24), 0 17px 50px 0 rgba(0,0,0,0.19);
}



/* responsive */

@media (max-width: 450px) {


  .MTL {

    opacity: 90%;
  }

  .mtl-title {
    font-size: 3rem;
  }

  .meet-2 {
    display: none;
  }

  .meet-1 img {
    width: 70vw;    
    height: auto;
  }


  .mtl-text {
    font-size: 1.5rem;
  }

  .mtl-button button {
    font-size: 2.5vh;
    width: 80%;
    margin-bottom: 10vh;
  }
}










/* FOOTER */

.footer {

  display: flex;
  
  position: relative;
  width: 100%;
  height: auto;
  background-color: black;

}

.footer-logo {

  filter: invert(1);
  margin-left: 3%;
  width: 50vw;
  height: auto;
  margin-top: 3%;

}

.footer-logo img {

  width: 100%;
  height: auto;
  opacity: .8;
}


.col-1 {

  margin-top: 5vh;
  margin-bottom: 5%;
  margin-left: 15%;

}


.fot-title {

  font-size: 3vh;
  color: grey;
  font-family: 'Philosopher', sans-serif;

}


.fot-link {
  position: relative;
  text-decoration: none;
  color: #666;
  opacity: .8;
  font-size: 2.5vh;
  font-family: 'Philosopher', sans-serif;

}

.fot-link:hover {

  color: #e38f46 ;
}

.fot-link::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  bottom: -5px;
  left: 0;
  background-color: #A48111;
  transform: scaleX(0);
  transform-origin: top left;
  transition: transform 0.3s ease;
}

.fot-link:hover::before {
  transform: scaleX(1);
}


.col-2 {

  margin-left: 15%;
  margin-top: 5vh;
}

.fot-info {

  font-family: 'Philosopher', sans-serif;
  color: #666;
  font-size: 2.5vh;
  opacity: .5;


}

.col-3 {

  position: relative;
  margin-top: 5vh;
  margin-left: 15%;
}

.social {

  width: 15%;
  height: auto;
}





/* Hover underline animation */

.underline:hover {

  color: #000 ;
}

.underline::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  bottom: -5px;
  left: 0;
  background-color: #000;
  transform: scaleX(0);
  transform-origin: top left;
  transition: transform 0.3s ease;
}

.underline:hover::before {
  transform: scaleX(1);
}




/*Responsive*/


@media (max-width: 450px) {

  .footer-logo {
    display: none;
  }

  .social {

    display: none;
  }





}








