* {
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family: 'Segoe UI', sans-serif;
}

body {
  background:#0b0f17;
  color:white;
  overflow-x:hidden;
}

/* NAVBAR */
.navbar {
  position:fixed;
  width:100%;
  padding:20px 40px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  backdrop-filter: blur(12px);
  background: rgba(255,255,255,0.05);
  border-bottom:1px solid rgba(255,255,255,0.1);
  z-index:1000;
}

.logo {
  font-size:22px;
  font-weight:bold;
  letter-spacing:2px;
}

.nav-links a {
  margin-left:25px;
  text-decoration:none;
  color:white;
  opacity:0.8;
  transition:.3s;
}

.nav-links a:hover { opacity:1; }

/* HAMBURGER */
.hamburger {
  display:none;
  flex-direction:column;
  cursor:pointer;
}

.hamburger span {
  height:3px;
  width:25px;
  background:white;
  margin:4px 0;
  transition:.3s;
}

/* MOBILE MENU */
.mobile-menu {
  position:fixed;
  top:0;
  right:-100%;
  width:70%;
  height:100vh;
  background:#0f172a;
  display:flex;
  flex-direction:column;
  padding-top:100px;
  transition:.4s;
  z-index:999;
}

.mobile-menu a {
  padding:20px;
  border-bottom:1px solid rgba(255,255,255,0.1);
  text-decoration:none;
  color:white;
}

.mobile-menu.active { right:0; }

/* HERO */
.hero {
  height:100vh;
  background:url('https://images.unsplash.com/photo-1503387762-592deb58ef4e') center/cover;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}

.hero-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.6),#0b0f17);
}

.hero-content {
  position:relative;
  text-align:center;
  animation:fadeUp 1.2s ease;
}

.hero-title {
  font-size:60px;
}

.hero-sub {
  opacity:.7;
  margin:20px 0;
}

.cta {
  padding:14px 35px;
  border:none;
  border-radius:40px;
  background:linear-gradient(90deg,#00e0ff,#4facfe);
  font-weight:bold;
  cursor:pointer;
  transition:.3s;
}

.cta:hover {
  transform:scale(1.08);
}

/* SECTIONS */
.section {
  padding:100px 60px;
  text-align:center;
}

.section.dark {
  background:#111827;
}

/* CARDS */
.cards {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:30px;
  margin-top:50px;
}

.card {
  padding:40px;
  background:rgba(255,255,255,0.05);
  border-radius:20px;
  transition:.4s;
}

.card:hover {
  transform:translateY(-15px) scale(1.02);
  background:rgba(255,255,255,0.1);
}

/* PROJECTS */
.projects {
  display:flex;
  gap:20px;
  margin-top:50px;
}

.project {
  flex:1;
  height:240px;
  background:linear-gradient(135deg,#00e0ff,#4facfe);
  border-radius:20px;
  position:relative;
  overflow:hidden;
  transition:.5s;
}

.project-overlay {
  position:absolute;
  bottom:0;
  width:100%;
  padding:20px;
  background:rgba(0,0,0,0.6);
}

.project:hover {
  transform:scale(1.05);
}

/* CONTACT */
.contact-form {
  max-width:500px;
  margin:auto;
  display:flex;
  flex-direction:column;
}

.contact-form input,
.contact-form textarea {
  margin:10px 0;
  padding:15px;
  border-radius:10px;
  border:none;
}

.contact-form button {
  padding:14px;
  margin-top:10px;
  background:#00e0ff;
  border:none;
  border-radius:10px;
  font-weight:bold;
}

/* SCROLL REVEAL */
.reveal {
  opacity:0;
  transform:translateY(60px);
  transition:.8s;
}

.reveal.active {
  opacity:1;
  transform:translateY(0);
}

/* ANIMATIONS */
@keyframes fadeUp {
  from { opacity:0; transform:translateY(40px); }
  to { opacity:1; transform:translateY(0); }
}

/* MOBILE */
@media(max-width:768px){

  .nav-links { display:none; }
  .hamburger { display:flex; }

  .projects { flex-direction:column; }

  .hero-title { font-size:40px; }

}
