/* =========================
   GLOBAL
========================= */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  scroll-behavior:smooth;
  font-family:Arial, Helvetica, sans-serif;
}

body{

  background:#f8f8f8;

  color:#111;

  overflow-x:hidden;
}

/* =========================
   HEADER
========================= */

header{

  position:fixed;

  top:0;
  left:0;

  width:100%;

  padding:20px 60px;

  background:white;

  display:flex;

  justify-content:space-between;

  align-items:center;

  z-index:1000;

  border-bottom:2px solid black;
}

.logo{

  font-size:28px;

  font-weight:bold;

  text-decoration:none;

  color:black;

  letter-spacing:2px;

  transition:0.3s;
}

.logo:hover{

  transform:scale(1.05);
}

/* =========================
   NAVBAR
========================= */

nav ul{

  display:flex;

  gap:40px;

  list-style:none;
}

nav ul li a{

  text-decoration:none;

  color:black;

  font-size:18px;

  position:relative;

  transition:0.3s;
}

nav ul li a::after{

  content:"";

  position:absolute;

  left:0;
  bottom:-5px;

  width:0%;

  height:2px;

  background:black;

  transition:0.3s;
}

nav ul li a:hover::after{

  width:100%;
}

/* =========================
   3D GRID BACKGROUND
========================= */

.grid-bg{

  position:fixed;

  inset:0;

  z-index:-2;

  background-image:
    linear-gradient(rgba(0,0,0,0.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,0.12) 1px, transparent 1px);

  background-size:80px 80px;

  transform:
    perspective(1000px)
    rotateX(75deg)
    scale(2);

  animation:gridMove 10s linear infinite;
}

@keyframes gridMove{

  from{
    background-position:0 0;
  }

  to{
    background-position:0 200px;
  }
}

/* =========================
   SECTION
========================= */

section{

  min-height:100vh;

  display:flex;

  flex-direction:column;

  align-items:center;

  justify-content:center;

  text-align:center;

  padding:120px 20px;
}

section h1{

  font-size:65px;

  color:black;

  margin-bottom:20px;
}

section p{

  max-width:700px;

  font-size:20px;

  color:#444;

  line-height:1.8;
}

/* =========================
   HERO
========================= */

.hero h1{

  font-size:90px;
}

.hero p{

  margin-top:20px;

  font-size:24px;

  letter-spacing:2px;
}

/* =========================
   PROFILE IMAGE
========================= */

.profile-img{

  width:240px;
  height:240px;

  object-fit:cover;

  border-radius:50%;

  border:5px solid black;

  margin-bottom:35px;

  transition:0.4s;

  box-shadow:
  0 10px 30px rgba(0,0,0,0.15);
}

.profile-img:hover{

  transform:
  scale(1.05);

  box-shadow:
  0 15px 40px rgba(0,0,0,0.25);
}

/* =========================
   CARDS
========================= */

.cards{

  display:flex;

  gap:35px;

  flex-wrap:wrap;

  justify-content:center;

  margin-top:50px;
}

.card{

  width:300px;

  padding:35px;

  background:white;

  border:2px solid black;

  border-radius:24px;

  transition:0.4s;

  box-shadow:
  8px 8px 0px black;
}

.card:hover{

  transform:
  translateY(-10px);

  box-shadow:
  14px 14px 0px black;
}

.card h3{

  color:black;

  margin-bottom:15px;

  font-size:24px;
}

.card p{

  color:#444;
}

/* =========================
   BUTTON
========================= */

button{

  margin-top:35px;

  padding:16px 45px;

  border:2px solid black;

  border-radius:50px;

  background:white;

  color:black;

  font-size:18px;

  cursor:pointer;

  transition:0.3s;

  box-shadow:
  6px 6px 0px black;
}

button:hover{

  transform:
  translateY(-4px);

  box-shadow:
  10px 10px 0px black;
}

/* =========================
   FOOTER
========================= */

footer{

  background:white;

  padding:60px 10% 20px;

  border-top:2px solid black;
}

.footer-container{

  display:flex;

  justify-content:space-between;

  align-items:flex-start;

  flex-wrap:wrap;

  gap:50px;
}

.footer-left h2{

  color:black;

  font-size:34px;

  margin-bottom:15px;
}

.footer-left p{

  color:#444;

  margin-bottom:10px;

  line-height:1.7;
}

.contact-info{

  margin-top:20px;
}

.footer-right{

  display:flex;

  flex-direction:column;

  gap:15px;
}

.footer-right h3{

  color:black;

  margin-bottom:10px;
}

.footer-right a{

  text-decoration:none;

  color:#111;

  transition:0.3s;
}

.footer-right a:hover{

  transform:translateX(5px);
}

/* footer bottom */

.footer-bottom{

  text-align:center;

  margin-top:40px;

  padding-top:20px;

  border-top:1px solid black;

  color:#555;

  font-size:14px;
}

/* =========================
   SOCIAL ICONS
========================= */

.social-icons{

  display:flex;

  gap:20px;

  margin-top:25px;
}

.social-icons a img{

  width:42px;

  height:42px;

  transition:0.3s;
}

.social-icons a img:hover{

  transform:
  scale(1.12);
}


@media(max-width:768px){

  header{

    padding:20px;
  }

  nav ul{

    gap:18px;
  }

  .hero h1{

    font-size:52px;
  }

  section h1{

    font-size:42px;
  }

  section p{

    font-size:18px;
  }

  .footer-container{

    flex-direction:column;

    text-align:center;
  }

  .footer-right{

    width:100%;
  }

}
/* THEME BUTTON */

.theme-btn{

  padding:10px 20px;

  border:2px solid currentColor;

  border-radius:30px;

  text-decoration:none;

  font-size:15px;

  font-weight:bold;

  transition:0.3s;
}

/* hover */

.theme-btn:hover{

  transform:translateY(-2px);
}
/* RESUME BUTTON */

.resume-btn{

  padding:10px 20px;

  border:2px solid currentColor;

  border-radius:30px;

  text-decoration:none;

  font-size:15px;

  font-weight:bold;

  transition:0.3s;
}

.resume-btn:hover{

  transform:translateY(-2px);

  background:black;

  color:white !important;
}
/* =========================
   ABOUT TIMELINE
========================= */

.timeline{
  position:relative;
  max-width:900px;
  margin:80px auto;
  padding-left:80px;
}

/* Vertical Line */

.timeline::before{
  content:"";
  position:absolute;
  left:20px;
  top:0;
  width:4px;
  height:100%;
  background:black;
}

/* Timeline Item */

.timeline-item{
  position:relative;
  margin-bottom:90px;
  transition:0.4s ease;
}

/* Dot */

.timeline-dot{
  position:absolute;
  left:-71px;
  top:10px;

  width:22px;
  height:22px;

  border-radius:50%;

  background:white;
  border:4px solid black;

  transition:0.4s ease;
}

/* Content */

.timeline-content{
  text-align:left;
}

.timeline-content h2{
  font-size:36px;
  color:black;
  margin-bottom:15px;
  transition:0.4s;
}

.timeline-content p{
  max-width:650px;
  font-size:18px;
  line-height:1.8;
  color:#555;
}

/* Hover Effect */

.timeline-item:hover{
  transform:translateX(12px);
}

.timeline-item:hover .timeline-dot{
  background:black;

  box-shadow:
    0 0 0 8px rgba(0,0,0,0.08),
    0 0 20px rgba(0,0,0,0.2);
}

.timeline-item:hover h2{
  letter-spacing:1px;
}

/* Mobile */

@media(max-width:768px){

  .timeline{
    padding-left:50px;
  }

  .timeline-dot{
    left:-42px;
  }

  .timeline-content h2{
    font-size:28px;
  }

  .timeline-content p{
    font-size:16px;
  }
}