*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  background:#050505;
  color:#fff;
  font-family:'Inter',sans-serif;
  line-height:1.6;
}

:root{
  --green:#d6ff87;
  --border:#222;
}

.navbar{
  max-width:1200px;
  margin:auto;
  padding:30px 20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid var(--border);
}

.logo{
  display:flex;
  gap:15px;
  align-items:center;
}

.logo span{
  color:var(--green);
  font-size:32px;
  font-weight:700;
}

.logo small{
  color:#bdbdbd;
}

nav{
  display:flex;
  gap:40px;
}

nav a{
  color:white;
  text-decoration:none;
}

.hero{
  max-width:1200px;
  margin:auto;
  padding:100px 20px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
}

.intro{
  color:var(--green);
  margin-bottom:20px;
}

.hero h1{
  font-size:85px;
  line-height:0.95;
  margin-bottom:30px;
}

.hero h2{
  font-size:40px;
  max-width:650px;
  margin-bottom:30px;
}

.description{
  color:#a0a0a0;
  max-width:600px;
}

.hero-buttons{
  margin-top:40px;
  display:flex;
  gap:20px;
  align-items:center;
}

button{
  background:var(--green);
  border:none;
  color:#000;
  padding:18px 35px;
  font-weight:600;
  cursor:pointer;
}

.code-card{
  border:1px solid var(--border);
  background:#0b0f0d;
  border-radius:10px;
}

.card-header,
.card-footer{
  display:flex;
  justify-content:space-between;
  padding:15px 20px;
  border-bottom:1px solid var(--border);
  color:#aaa;
}

.card-footer{
  border-top:1px solid var(--border);
  border-bottom:none;
}

.code-card pre{
  padding:25px;
  color:var(--green);
  font-family:'IBM Plex Mono', monospace;
}

.about,
.projects,
.contact{
  max-width:1200px;
  margin:auto;
  padding:100px 20px;
  border-top:1px solid var(--border);
}

.about{
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:80px;
}

.section-number{
  color:var(--green);
  margin-bottom:20px;
  font-family:'IBM Plex Mono', monospace;
}

.about h2,
.projects h2,
.contact h2{
  font-size:64px;
  line-height:1.1;
  margin-bottom:25px;
}

.process{
  display:block;
  margin-top:25px;
  color:var(--green);
}

.skills{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
}

.skill-card{
  border-top:1px solid var(--border);
  padding-top:25px;
}

.icon{
  color:var(--green);
  font-size:40px;
  margin-bottom:15px;
}

.skill-card h3{
  font-size:36px;
}

.skill-card h4{
  color:#aaa;
  margin-bottom:15px;
}

.project-box{
  margin-top:30px;
  border:1px dashed #444;
  padding:50px;
  text-align:center;
}

.contact{
  display:flex;
  justify-content:space-between;
  gap:50px;
}

.contact-card{
  border:1px solid var(--border);
  padding:20px 30px;
  height:fit-content;
}

footer{
  max-width:1200px;
  margin:auto;
  border-top:1px solid var(--border);
  padding:30px 20px;
  display:flex;
  justify-content:space-between;
  color:#a0a0a0;
}

.footer-icon{
  color:var(--green);
  font-size:24px;
}

@media(max-width:900px){

  .hero,
  .about,
  .contact{
      grid-template-columns:1fr;
      display:block;
  }

  .skills{
      grid-template-columns:1fr;
      margin-top:40px;
  }

  .hero h1{
      font-size:60px;
  }

  .hero h2{
      font-size:28px;
  }

  footer{
      flex-direction:column;
      gap:10px;
  }
}