/* style.css */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:'Poppins', sans-serif;
}

html{
  scroll-behavior:smooth;
}

body{
  background:#050505;
  color:white;
  overflow-x:hidden;
}

/* LOADER */

.loader{
  position:fixed;
  width:100%;
  height:100vh;
  background:black;
  display:flex;
  justify-content:center;
  align-items:center;
  z-index:9999;
  animation:fadeOut 2s forwards;
  animation-delay:1.5s;
}

.loader h1{
  font-size:5rem;
  letter-spacing:5px;
}

@keyframes fadeOut{
  to{
    opacity:0;
    visibility:hidden;
  }
}

/* POPUP */

.popup{
  position:fixed;
  width:100%;
  height:100vh;
  background:rgba(0,0,0,0.7);
  display:flex;
  justify-content:center;
  align-items:center;
  z-index:999;
  padding:20px;
}

.popup-box{
  background:#111;
  padding:40px;
  border-radius:20px;
  width:320px;
  max-width:100%;
  text-align:center;
  box-shadow:0 0 30px rgba(255,255,255,0.1);
}

.popup-box input{
  width:100%;
  padding:12px;
  margin-top:20px;
  border:none;
  border-radius:10px;
  outline:none;
}

.popup-box button{
  margin-top:15px;
  width:100%;
  padding:12px;
  border:none;
  border-radius:10px;
  background:white;
  color:black;
  font-weight:bold;
  cursor:pointer;
}

/* HERO */

.hero{
  min-height:100vh;
  padding:20px;
  background:url('https://images.unsplash.com/photo-1519608487953-e999c86e7455?q=80&w=2070&auto=format&fit=crop') center/cover;
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
}

.overlay{
  position:absolute;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.6);
}

.hero-content{
  position:relative;
  z-index:2;
}

.hero h1{
  font-size:6rem;
  letter-spacing:8px;
}

.hero p{
  margin-top:10px;
  font-size:1.2rem;
}

.btn{
  display:inline-block;
  margin-top:25px;
  padding:12px 30px;
  border:1px solid white;
  color:white;
  text-decoration:none;
  border-radius:40px;
  transition:0.3s;
}

.btn:hover{
  background:white;
  color:black;
}

/* SECTIONS */

.section{
  padding:100px 10%;
  text-align:center;
}

.section h2{
  font-size:3rem;
  margin-bottom:30px;
}

.dark{
  background:#0c0c0c;
}

/* CARDS */

.cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:20px;
  margin-top:40px;
}

.card{
  background:#151515;
  padding:40px;
  border-radius:20px;
  transition:0.3s;
}

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

/* GALLERY */

.gallery{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:20px;
}

.gallery img{
  width:100%;
  height:350px;
  object-fit:cover;
  border-radius:20px;
}

/* FRIEND */

.friend-card{
  background:#151515;
  padding:50px;
  border-radius:20px;
  max-width:500px;
  margin:auto;
}

.friend-img{
  width:150px;
  height:150px;
  object-fit:cover;
  border-radius:50%;
  margin-bottom:20px;
  border:3px solid white;
}

/* SOCIALS */

.socials{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:20px;
}

.socials a{
  padding:12px 25px;
  border:1px solid white;
  border-radius:40px;
  color:white;
  text-decoration:none;
  transition:0.3s;
}

.socials a:hover{
  background:white;
  color:black;
}

/* FOOTER */

footer{
  text-align:center;
  padding:30px;
  background:black;
}

/* RESPONSIVE FIXES */

img{
  max-width:100%;
}

/* TABLETS */

@media(max-width:900px){

  .hero h1{
    font-size:4rem;
  }

  .section{
    padding:80px 7%;
  }

}

/* PHONES */

@media(max-width:600px){

  .hero{
    min-height:100vh;
    padding:20px;
  }

  .hero h1{
    font-size:2.7rem;
    letter-spacing:3px;
  }

  .hero p{
    font-size:1rem;
    padding:0 10px;
  }

  .popup-box{
    width:90%;
    padding:30px 20px;
  }

  .popup-box h2{
    font-size:1.5rem;
  }

  .popup-box p{
    font-size:0.9rem;
  }

  .popup-box input{
    font-size:1rem;
  }

  .section{
    padding:80px 7%;
  }

  .section h2{
    font-size:2rem;
  }

  .cards{
    grid-template-columns:1fr;
  }

  .gallery{
    grid-template-columns:1fr;
  }

  .gallery img{
    width:100%;
    height:auto;
    object-fit:cover;
  }

  .friend-card{
    padding:30px 20px;
  }

  .friend-img{
    width:120px;
    height:120px;
  }

  .socials{
    flex-direction:column;
    align-items:center;
  }

  .socials a{
    width:100%;
    max-width:250px;
    text-align:center;
  }

}
