html{
  cursor: none;
  scroll-behavior: smooth;
}
body{
	background-color: #fff;
	font-family: TGS Perfect condensed;
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
  cursor: none;
}
.all{
  display: flex;
  flex-direction: column;
  cursor: none;
}
.container-intro{
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100vh;
  left: 0;
}

p{
  font-family: "Nunito", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.cursor {
  width: 50px;
  height: 50px;
  border-radius: 100%;
  border: 1px solid black;
  transition: all 200ms ease-out;
  position: fixed;
  pointer-events: none;
  left: 0;
  top: 0;
  transform: translate(calc(-50% + 15px), -50%);
  z-index: 999999;
}

.cursor2 {
  width: 20px;
  height: 20px;
  border-radius: 100%;
  background-color: black;
  opacity: .3;
  position: fixed;
  transform: translate(-50%, -50%);
  pointer-events: none;
  transition: width .3s, height .3s, opacity .3s;
  z-index: 9999999;
}

.hover {
  background-color: red;
  opacity: 0.5;
}

.cursorinnerhover {
  width: 50px;
  height: 50px;
  opacity: .5;
}
.prenom{
	height: 100%;
  align-items: center;
  justify-content: center;
  cursor: none;

}
.titre{
  font-family: 'Fredoka One', sans-serif;
  text-align: center;
  font-size: 125px;
  transition: color 0.3s ease-in-out, transform 0.3s ease-in-out;
}
.titre:hover{
  color: #2f63ff; /* Bleu dynamique */
  transform: translateY(-3px); /* Léger effet d'élévation */
}
.titre::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5px;
  width: 0;
  height: 3px;
  background: #2f63ff;
  transition: width 0.4s ease-in-out, left 0.4s ease-in-out;
}
.langage{
  font-size: 25px;
  text-align: center;
  display: flex;
  justify-content: space-evenly;
}
.etude{
	height: 100%;
}
.presentation {
  margin: 0 20px;
  display: flex;
  align-items: center;
  flex-direction: column;
}
h3{
  font-family: 'Fredoka One', sans-serif;
  text-align: center;
  font-size: 60px;
  margin: 20px 0px 30px;
  transition: color 0.3s ease-in-out, transform 0.3s ease-in-out;
}
h3:hover{
  color: #2f63ff; /* Bleu dynamique */
  transform: translateY(-3px); /* Léger effet d'élévation */
}
h3::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5px;
  width: 0;
  height: 3px;
  background: #2f63ff;
  transition: width 0.4s ease-in-out, left 0.4s ease-in-out;
}

.age{
  margin-bottom: 10px;
  display: flex;
  align-self: flex-start;
  width: 630px;
	height: 630px;
	background-color: #D9D9D9;
	border-radius: 30px;
}
.biographie{
  margin-top: 10px;
  display: flex;
  align-self: flex-end;
  width: 630px;
	height: 630px;
	background-color: #D9D9D9;
	border-radius: 30px;
}
.bio{
  font-size: 25px;
  text-align: justify;
  margin: 0px 10px;
}
.PNA{
  font-size: 25px;
  text-align: center;
  display: flex;
  justify-content: space-evenly;
}
.sport{
  display: flex;
  text-align: center;
  justify-content: space-evenly;
  font-size: 25px;
}
.texte{
  width: 100%;
  height: 100%;
  margin: 10px;
  display: inline-block;
}

#text {
  font-family: 'Fredoka One', sans-serif;
  font-size: 10em;
  line-height: 2.5em;
  text-align: center;
  position: relative;
  display: flex;
  top: 50%;
  transform: translateY(-50%);
  &:hover {
    cursor: default;
  }
  
  .wrapper {
    display: inline-block;
    top: -900px;
    position: relative;
    height: 150px; /* default */
    width: 90px; /* default */
    transition: ease 0.3s all;
    
    span {
      position: absolute;
      top:0;
      right:0;

      transition: ease 0.3s all;
      
      &.letter-2 {
        color: #2f63ff;
      }

      &.letter-1 {
        color: #000;
        z-index: 1;
        
        &:hover {
           top: -3px;
           right: -3px;
           
           ~ .letter-2 {
             top: 3px;
             right: 3px;
           }
        }
      }
      
      &.space {
        padding: 0;
        min-width: 30px;
        display: inline-block;
      }
    }
  }

}

div.header{
	width: 100%;
	display: flex;
	justify-content: center;
}
div.menu{
	width: 100%;
	display: flex;
	justify-content: space-evenly;
	align-items: center;

}
button {
  margin-top: 10px;
  position: relative;
  background: linear-gradient(45deg, #1a3db8, #2f63ff);
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  padding: 15px 30px;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  overflow: hidden;
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

/* Effet hover : agrandissement + glow */
button:hover {
  transform: scale(1.1);
  box-shadow: 0 0 20px rgba(0, 169, 255, 0.7);
}

/* Effet d'ondulation lumineuse */
button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 300%;
  height: 300%;
  background: rgba(255, 255, 255, 0.15);
  transition: width 0.4s ease, height 0.4s ease, top 0.4s ease, left 0.4s ease;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
}
button:hover::before {
  width: 100%;
  height: 100%;
  opacity: 1;
}
.work{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-evenly;
  margin-bottom: 60px;
}
.work a {
  width: 45%; 
  text-align: center;
  margin-bottom: 10px;
}
.work a img {
  transition: transform 0.3s ease-in-out; /* Animation fluide */
}

.work a:hover img {
  transform: scale(1.1); /* Agrandissement de l'image au survol */
}
.explain{
  text-align: center;
  max-width: 560px;
  height: 100%;
}
.explain p{
  font-size: 20px;
}
/* Style de base du lien */
.link a {
  color: #ff6600; /* Couleur fixe (orange ici, modifiable) */
  text-decoration: none; /* Enlever le soulignement */
  font-weight: bold; /* Mettre en gras pour plus de visibilité */
  transition: color 0.3s ease-in-out, text-shadow 0.3s ease-in-out; /* Animation fluide */
}

/* Empêcher le changement de couleur après avoir visité le lien */
a:visited {
  color: #ff6600; /* Même couleur que le lien normal */
}

/* Effet hover sympa */
a:hover {
  text-shadow: 0 0 5px rgba(255, 102, 0, 0.7), 0 0 10px rgba(255, 102, 0, 0.5); /* Effet lumineux */
  color: #ff4500; /* Légère variation de la couleur */
}

/* --- RESPONSIVE DESIGN --- */

/* Tablette (largeur max 1024px) */
@media screen and (max-width: 1024px) {
  .titre {
      font-size: 80px; /* Réduction de la taille des titres */
  }
  .langage {
      font-size: 20px;
      flex-direction: column; /* Les éléments s'affichent en colonne */
      align-items: center;
  }
  .age, .biographie {
      width: 90%;
      height: auto; /* Hauteur adaptable */
      padding: 20px;
  }
  .bio {
      font-size: 20px;
  }
  .work a {
      width: 90%; /* Ajustement des projets */
  }
}
/* Mobile (largeur max 768px) */
@media screen and (max-width: 768px) {
  .titre {
      font-size: 60px; /* Réduction plus forte pour mobile */
  }
  .container-intro {
      flex-direction: column; /* Les éléments s'affichent les uns sous les autres */
      height: auto;
      padding: 20px;
  }
  h3 {
      font-size: 40px;
  }
  .age, .biographie {
      width: 100%;
      height: auto;
  }
  .bio {
      font-size: 18px;
  }
  .langage {
      font-size: 18px;
      flex-direction: column;
      text-align: center;
  }
  .presentation {
      margin: 10px;
  }
  .work {
      flex-direction: column;
      align-items: center;
  }
  .work a {
      width: 100%;
  }
  button {
      font-size: 16px;
      padding: 12px 25px;
  }
}
/* Très petit mobile (largeur max 480px) */
@media screen and (max-width: 480px) {
  .titre {
      font-size: 40px;
  }
  h3 {
      font-size: 30px;
  }
  .bio {
      font-size: 16px;
  }
  button {
      font-size: 14px;
      padding: 10px 20px;
  }
  .work a {
      width: 100%;
  }
}
.back-to-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 50px;
  height: 50px;
  background: white;
  border-radius: 50%;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

/* Image de la flèche */
.back-to-top img {
  width: 30px;
  height: 30px;
}

/* Effet hover : agrandissement */
.back-to-top:hover {
  transform: scale(1.1);
  opacity: 0.8;
}

/* Simuler du contenu pour tester le scroll */
.content {
  height: 2000px;
  padding: 20px;
}