* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  cursor: url('cursor.svg'), pointer;
}



body {
    background-size:contain;
    background-position:right;
    background-repeat: no-repeat;
    color: #FF6150;
    font-family: Helvetica, sans-serif;
    letter-spacing: -1px;
    overflow-x: hidden; /* Empêche le scroll horizontal */
    overflow-y: hidden; /* Active seulement si nécessaire */
    height: 100vh; /* Empêche tout dépassement */
  
}

.home-container{
  margin: 10px;
}

#hover-video {
  /* IMPORTANT : Permet à 'top' et 'left' de fonctionner */
  position: relative; 
  
  /* UX : Montre qu'on peut attraper l'objet */
  cursor: url('cursor-grab.svg'),grab;
  
  /* Empêche la sélection de la vidéo comme du texte */
  user-select: none; 
}

/* UX : Change le curseur pendant le déplacement */
#hover-video.is-grabbing {
  cursor: url('cursor-grabbing.svg'),grab;
}

.container-title {
    font-size: 175px;
    font-weight: bold;
    letter-spacing: -12px;
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    display: flex;
    top:-30px
 }


 .title {
    display: flex;
    gap: 0; 
    animation: scroll 15s linear infinite;
 }

.title span {
    padding-right: 1rem; 
}

@keyframes scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

h1 {
  position: fixed;
  top: 10px;
  left: 10px;
  right: 10px;

  display: flex;
  align-items: center;
  gap: 8px;

  font-style: italic;
  font-weight: normal;
  font-size: clamp(18px, 2.5vw, 24px);
  color: #8C8C8C;

  z-index: 900;
}


.type{
    font-weight: bold;
    height: 27.5px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    width: 215px;
}

.type span {
    background: -webkit-linear-gradient(#8C8C8C,#8C8C8C);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: auto-scroll 10s infinite;
  }

@keyframes auto-scroll{
    0% {
        transform: translateY(0);
      }
      1% {
        transform: translateY(0);
      }
      10% {
        transform: translateY(-27.5px);
      }
      20% {
        transform: translateY(-27.5px);
      }
      30% {
        transform: translateY(-55px);
      }
      40% {
        transform: translateY(-55px);
      }
      50% {
        transform: translateY(-82.5px);
      }
      60% {
        transform: translateY(-82.5px);
      }
      70% {
        transform: translateY(-110px);
      }
      80% {
        transform: translateY(-110px);
      }
      90% {
        transform: translateY(-137.5px);
      }
      100% {
        transform: translateY(-137.5px);
      }
    }

    
.text1{
    margin: 10px;
    display: flex;
    position: absolute;
    left: 0%;
    bottom: 0%;
    font-size: 20px;
    color: #8C8C8C;
}

.text2{
    margin-bottom: 10px;
    display: flex;
    position: absolute;
    bottom: 0%;
    right: 50%;
    font-size: 20px;
    color: #8C8C8C;
}


.profile img{
    margin: 10px;
    position: absolute;
    bottom: 0%;
    right: 0%;
    height: 30px;
    width: 30px;
    transition: ease-in-out 500ms;
}

.profile img:hover{
    height: 150px;
    width: 150px;
}



.btn-menu {
  position:absolute;
  display: flex;
  right: 0%;

}

.btn-menu a{
  display: flex;
  text-decoration: none;
  font-size: 24px;
  font-style: normal;
  color:#8C8C8C;
  align-items: center;
  font-weight: bold;
  transition: ease-in-out 500ms;
}


.btn-menu:hover a{
  color:#FF6150;
}

.btn-menu svg{
  stroke-width: 2px;
  transition: ease-in-out 500ms;
}

.btn-menu:hover svg{
  fill: #FF6150;
  stroke:#FF6150
}


footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  width:100%;
  background: #FF6150;
  color: white;
  text-align: center;
  bottom: 0%;
  transition: 400ms ease-in-out;
  transform:translatex(+100%);
}

footer img{
  height: 30px;
  width: 30px;
}

footer.active{
  display: block;
  transform: translateX(0);
}


.menu-container {
  position: fixed;
  top: 0;
  left: 0%;
  width: 100%;
  height: 100%;
  background-color: white;
  color: #FF6150;
  transform: translatex(+100%);
  transition: 700ms ease-in-out;
  z-index: 1100;
}

.menu-container.active{
  transform: translateX(0);
}

.menu-container>.container{
  position: absolute;
  width: 100%;
  height: 100%;
  font-size: 180px;
  font-weight: bold;
  overflow-y: auto; /* Active le scroll vertical */
}

.project{

  border-bottom: solid 3px #FF6150;
  padding-left: 20px;
  background-color: white;
}

.project:hover{
  transition: ease-in-out 200ms;
  background-color: #FF6150;
  color: white;
}

.menu-container>footer {
  display: flex;
  align-items: center;
  position: fixed;
  width:100%;
  background: #FF6150;
  color: white;
  text-align: center;
  padding: 5px 20px;
  overflow-y:auto;
  bottom: 0%;
}

.logo{
  height: 30px;
  width: 30px;
}


.menu-container nav a{
  color: #FFACA3;
  text-decoration: none;
  font-weight: bold;
  display: flex;
  align-items: center; 
  text-align: center;
  gap:5px;


}

.menu-container nav a:hover{
  color: white;
  text-decoration: none;
  font-weight: bold;

}

nav svg{
  color: #FFACA3;
  stroke:#FFACA3;
  height: 15px;
  width: 15px;
}

.menu-container nav:hover svg{
  fill:white;
  stroke:white;
}

.menu-text{
  padding-bottom: 2px;
  display:flex;
  justify-content: space-between;
}

.cards-container {
  position: absolute;
  bottom: 40px;
  display: flex;
  gap: 10px;
  align-items: start;
}

.card {
  position: relative; /* Ajouté pour que .card-title fonctionne en absolute */
  transform: translateX(-600px);
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.card.active {
  transform: translateY(0);
}

.card img {
  height: 15vw;
  transition: box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.card:hover {
  transform: translateY(-30px);
}

.card:hover img {
  box-shadow: rgba(0, 0, 0, 0.5) 0px 5px 15px;
}

.card-title {
  white-space: nowrap;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-weight: bold;
  text-shadow: 0 0 1em black;
  font-size: 21px;
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none; /* Évite de gêner le hover de la carte */
}

.card:hover .card-title {
  opacity: 1;
}
