* {

  margin: 0;

  padding: 0;

  box-sizing: border-box;

}

html {

  scroll-behavior: smooth;

}

body {

  font-family: 'Montserrat', sans-serif;

  background: #0b0b0b;

  color: #fff;

  line-height: 1.6;

}

section {

  padding: 100px 8%;

}

.hero {

  min-height: 100vh;

  background:

    linear-gradient(rgba(0,0,0,.85),

    rgba(0,0,0,.9)),

    url('images/hero-bg.jpg');

  background-size: cover;

  background-position: center;

}

nav {

  display: flex;

  justify-content: space-between;

  align-items: center;

  padding: 30px 8%;

}

.logo-text {

  font-size: 1.8rem;

  font-weight: 800;

  color: #ff6600;

  letter-spacing: 3px;

}

nav ul {

  display: flex;

  list-style: none;

  gap: 40px;

}

nav a {

  color: white;

  text-decoration: none;

  transition: .3s;

}

nav a:hover {

  color: #ff6600;

}

.hero-content {

  text-align: center;

  max-width: 900px;

  margin: auto;

  padding-top: 70px;

}

.hero-logo {

  width: 260px;

  margin-bottom: 40px;

}

.hero h1 {

  font-size: 4rem;

  line-height: 1.1;

  margin-bottom: 25px;

}

.hero p {

  font-size: 1.2rem;

  color: #c9c9c9;

  max-width: 700px;

  margin: auto;

  margin-bottom: 40px;

}

.btn {

  display: inline-block;

  padding: 18px 40px;

  background: #ff6600;

  color: white;

  text-decoration: none;

  border-radius: 50px;

  font-weight: 700;

  transition: .3s;

}

.btn:hover {

  background: #ff7d26;

  transform: translateY(-3px);

}

.section-title {

  text-align: center;

  margin-bottom: 70px;

}

.section-title h2 {

  font-size: 2.8rem;

  margin-bottom: 15px;

}

.section-title p {

  color: #aaa;

}

.services {

  background: #111;

}

.services-grid {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(280px,1fr));

  gap: 30px;

}

.card {

  background: #1b1b1b;

  padding: 40px;

  border-radius: 20px;

  border: 1px solid #222;

  transition: .3s;

}

.card:hover {

  transform: translateY(-10px);

  border-color: #ff6600;

}

.card h3 {

  color: #ff6600;

  margin-bottom: 20px;

}

.about {

  background: #0d0d0d;

  text-align: center;

}

.about-content {

  max-width: 850px;

  margin: auto;

}

.about h2 {

  font-size: 2.8rem;

  margin-bottom: 30px;

}

.about p {

  color: #c4c4c4;

  font-size: 1.1rem;

}

.contact {

  background: #111;

}

.contact-form {

  max-width: 700px;

  margin: auto;

  display: flex;

  flex-direction: column;

  gap: 20px;

}

.contact-form input,

.contact-form textarea {

  background: #1b1b1b;

  border: 1px solid #333;

  padding: 18px;

  border-radius: 10px;

  color: white;

  font-size: 1rem;

}

.contact-form button {

  background: #ff6600;

  color: white;

  border: none;

  padding: 18px;

  border-radius: 10px;

  font-size: 1rem;

  font-weight: 700;

  cursor: pointer;

  transition: .3s;

}

.contact-form button:hover {

  background: #ff7d26;

}

footer {

  text-align: center;

  padding: 30px;

  border-top: 1px solid #222;

  color: #888;

}

@media (max-width: 768px) {

  nav {

    flex-direction: column;

    gap: 20px;

  }

  nav ul {

    gap: 20px;

  }

  .hero h1 {

    font-size: 2.6rem;

  }

  .hero-logo {

    width: 180px;

  }

  .section-title h2,

  .about h2 {

    font-size: 2rem;

  }

}