@font-face {
  font-family: 'CalSans';
  src: url('../fonts/CalSans-SemiBold.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

body {
  font-family: 'CalSans', sans-serif;
  color: white;
  padding: 0;
  margin: 0;
  background: linear-gradient(-60deg, #0e0e0e 50%, #1a1a1a 50%);
}

html {
  height: 100%;
}

.middle {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  text-align: center;
}

/* === Texte avec effet de révélation === */
.text-reveal {
  position: relative;
  display: inline-block;
  color: white;
  opacity: 1;
  animation: fadeInText 1s ease forwards;
  animation-delay: 1s;
}

.text-reveal::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: #0e0e0e;
  animation: revealMask 1s ease forwards;
  z-index: 2;
}

@keyframes revealMask {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(100%);
  }
}

@keyframes fadeInText {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.delay {
  animation-delay: 1.4s;
}

/* === Logos sociaux === */
.logosoc {
  display: inline-block;
  width: 90px;
  height: 90px;
  background: #333;
  margin: 10px;
  border-radius: 30px;
  box-shadow: 0 5px 15px -5px #000;
  color: #3470db;
  overflow: hidden;
  position: relative;
}

.logosoc i {
  line-height: 90px;
  font-size: 26px;
  transition: 0.3s linear;
  color: #fff;
}

.logosoc:hover i {
  opacity: 0.7;
  transform: scale(1.3);
  color: #f1f1f1;
}

.logosoc::before {
  content: "";
  position: absolute;
  width: 120%;
  height: 120%;
  background: #4a5568;
  transform: rotate(45deg);
  left: -110%;
  top: 90%;
}

.logofb::before { background: #3b5998; }
.logotw::before { background: #00acee; }
.logomail::before { background: rgb(219, 83, 75); }
.logoinsta::before { background: rgb(197, 54, 164); }
.logotgm::before { background: #0088cc; }

.logosoc:hover::before {
  animation: azerty 0.7s 1;
  top: -10%;
  left: -10%;
}

@keyframes azerty {
  0% { top: 90%; left: -110%; }
  50% { top: -30%; left: 10%; }
  100% { top: -10%; left: -10%; }
}

/* === Fond animé en arrière-plan === */
.bg {
  animation: slide 3s ease-in-out infinite alternate;
  background-image: linear-gradient(-60deg, #111 50%, #2a2a2a 50%);
  bottom: 0;
  left: -50%;
  opacity: 0.4;
  position: fixed;
  right: -50%;
  top: 0;
  z-index: -1;
}

.bg2 {
  animation-direction: alternate-reverse;
  animation-duration: 4s;
}

.bg3 {
  animation-duration: 5s;
}

h1 {
  font-family: monospace;
  font-size: 65px;
  color: white;
}

h2 {
  color: #ccc;
}

@keyframes slide {
  0% {
    transform: translateX(-25%);
  }
  100% {
    transform: translateX(25%);
  }
}
