*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  scroll-behavior:smooth;
}

body{
  font-family:'Montserrat',sans-serif;
  background:#0b0b0b;
  color:white;
  overflow-x:hidden;
}

img{
  width:100%;
  display:block;
}

.section{
  padding:120px 8%;
}

/* NAVBAR */

.navbar{
  position:fixed;
  width:100%;
  top:0;
  left:0;
  z-index:999;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:25px 8%;
  background:rgba(0,0,0,0.4);
  backdrop-filter:blur(12px);
}

.logo{
  font-size:30px;
  font-weight:800;
  letter-spacing:3px;
}

nav{
  display:flex;
  gap:35px;
}

nav a{
  color:white;
  text-decoration:none;
  transition:0.3s;
  font-weight:500;
}

nav a:hover{
  color:#c7a16b;
}

/* HERO */

.hero{
  height:100vh;
  background:url('images/hero.jpg') center/cover no-repeat;
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
}

.overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,0.4), rgba(0,0,0,0.8));
}

.hero-content{
  position:relative;
  z-index:2;
  max-width:900px;
  padding:20px;
}

.subtitle{
  color:#c7a16b;
  letter-spacing:3px;
  font-size:14px;
}

.hero-content h1{
  font-size:90px;
  line-height:1;
  margin:20px 0;
  font-weight:800;
}

.hero-content p{
  color:#d6d6d6;
  line-height:1.9;
  font-size:18px;
  max-width:700px;
  margin:auto;
}

.main-btn{
  display:inline-block;
  margin-top:40px;
  background:#c7a16b;
  color:black;
  padding:18px 40px;
  border-radius:60px;
  text-decoration:none;
  font-weight:700;
  transition:0.3s;
}

.main-btn:hover{
  transform:translateY(-5px);
}

/* SECTION HEADER */

.section-header{
  margin-bottom:60px;
}

.section-header.center{
  text-align:center;
}

.section-header span{
  color:#c7a16b;
  letter-spacing:3px;
  font-size:13px;
}

.section-header h2{
  font-size:55px;
  margin-top:10px;
}

/* ABOUT */

.about-container{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:center;
}

.about-image img{
  border-radius:30px;
  height:650px;
  object-fit:cover;
}

.about-text p{
  color:#cfcfcf;
  line-height:2;
  margin-bottom:25px;
}

.skills{
  display:flex;
  flex-wrap:wrap;
  gap:15px;
  margin-top:30px;
}

.skills span{
  padding:12px 22px;
  border:1px solid #2f2f2f;
  border-radius:50px;
  background:#121212;
}

/* CATEGORIES */

.categories-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:25px;
  margin-bottom:120px;
}

.category-card{
  background:#121212;
  border:1px solid #1f1f1f;
  border-radius:25px;
  padding:40px 30px;
  transition:0.4s;
}

.category-card:hover{
  transform:translateY(-10px);
  border-color:#c7a16b;
}

.category-card h3{
  margin-bottom:18px;
  font-size:28px;
}

.category-card p{
  color:#bdbdbd;
  line-height:1.8;
}

/* CLIENTS */

.clients-title{
  margin-bottom:40px;
}

.clients-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:30px;
}

.client-card{
  background:#111111;
  border-radius:25px;
  overflow:hidden;
  border:1px solid #1f1f1f;
  transition:0.4s;
}

.client-card:hover{
  transform:translateY(-10px);
  border-color:#c7a16b;
}

.client-card img{
  height:260px;
  object-fit:cover;
}

.client-info{
  padding:30px;
}

.client-info h3{
  font-size:30px;
  margin-bottom:15px;
}

.client-info p{
  color:#bcbcbc;
  line-height:1.8;
  margin-bottom:25px;
}

.card-btn{
  display:inline-block;
  text-decoration:none;
  color:black;
  background:#c7a16b;
  padding:14px 26px;
  border-radius:50px;
  font-weight:700;
}

/* CONTACT */

.contact-box{
  max-width:800px;
  margin:auto;
  text-align:center;
}

.contact-box p{
  color:#d1d1d1;
  line-height:2;
  margin-bottom:40px;
}

.contact-links{
  display:flex;
  justify-content:center;
  gap:20px;
  flex-wrap:wrap;
}

.contact-links a{
  padding:16px 32px;
  background:#141414;
  border-radius:60px;
  border:1px solid #222;
  text-decoration:none;
  color:white;
  transition:0.3s;
}

.contact-links a:hover{
  background:#c7a16b;
  color:black;
}

/* FOOTER */

footer{
  padding:40px;
  text-align:center;
  color:#777;
  border-top:1px solid #1a1a1a;
}

/* RESPONSIVE */

@media(max-width:992px){

  .hero-content h1{
    font-size:60px;
  }

  .about-container{
    grid-template-columns:1fr;
  }

  .about-image img{
    height:500px;
  }

}

@media(max-width:768px){

  nav{
    gap:15px;
  }

  nav a{
    font-size:14px;
  }

  .hero-content h1{
    font-size:42px;
  }

  .section-header h2{
    font-size:40px;
  }

}