* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {

  background:
    radial-gradient(circle at top,
      #1a1440 0%,
      #09090f 40%,
      #050507 100%);

  color: white;

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  min-height: 100vh;

  overflow-x: hidden;

  padding: 32px;
}

/* STARS */

.stars {

  position: fixed;

  width: 100%;
  height: 100%;

  top: 0;
  left: 0;

  background-image:
    radial-gradient(white 1px, transparent 1px);

  background-size:
    80px 80px;

  opacity: 0.08;

  pointer-events: none;
}

/* HEADER */

.header {

  display: flex;

  justify-content: space-between;

  align-items: center;

  margin-bottom: 40px;

  position: relative;

  z-index: 10;
}

.header h1 {

  font-size: 2rem;

  letter-spacing: 2px;
}

.header nav {

  display: flex;

  gap: 24px;
}

.header a {

  text-decoration: none;

  color: white;

  opacity: 0.8;
}

.header a:hover {

  opacity: 1;
}

/* HERO */

#hero-carousel {

  height: 520px;

  border-radius: 28px;

  overflow: hidden;

  position: relative;

  margin-bottom: 60px;

  background: #111;
}

.hero-slide {

  position: absolute;

  width: 100%;
  height: 100%;

  opacity: 0;

  transition: opacity 1s ease;
}

.hero-slide.active {

  opacity: 1;
}

.hero-slide img {

  width: 100%;
  height: 100%;

  object-fit: cover;
}

.hero-overlay {

  position: absolute;

  inset: 0;

  background:
    linear-gradient(
      to right,
      rgba(0,0,0,0.8),
      rgba(0,0,0,0.2)
    );

  display: flex;

  align-items: center;

  padding: 60px;
}

.hero-content {

  max-width: 500px;
}

.hero-content h2 {

  font-size: 4rem;

  margin-bottom: 18px;
}

.hero-content p {

  line-height: 1.7;

  opacity: 0.85;

  margin-bottom: 28px;
}

.hero-content a {

  display: inline-block;

  background:
    linear-gradient(
      135deg,
      #7c3aed,
      #8b5cf6
    );

  padding: 16px 28px;

  border-radius: 16px;

  color: white;

  text-decoration: none;

  font-weight: bold;
}

/* GRID */

#projects-grid {

  display: grid;

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

  gap: 28px;
}

/* CARD */

.project-card {

  background:
    rgba(22,22,30,0.7);

  border-radius: 24px;

  overflow: hidden;

  border:
    1px solid rgba(255,255,255,0.06);

  transition: 0.3s ease;
}

.project-card:hover {

  transform: translateY(-6px);

  border-color:
    rgba(139,92,246,0.5);
}

.project-image {

  width: 100%;

  height: 240px;

  object-fit: cover;
}

.project-content {

  padding: 24px;
}

.project-title {

  font-size: 1.5rem;

  margin-bottom: 14px;
}

.project-description {

  line-height: 1.6;

  opacity: 0.75;

  margin-bottom: 20px;
}

.project-gallery {

  display: flex;

  gap: 10px;

  margin-bottom: 20px;
}

.project-gallery img {

  width: 72px;
  height: 72px;

  border-radius: 12px;

  object-fit: cover;
}

.project-buttons {

  display: flex;

  gap: 12px;
}

.project-buttons a {

  flex: 1;

  text-align: center;

  padding: 14px;

  border-radius: 12px;

  text-decoration: none;

  color: white;
}

.view-btn {

  background:
    rgba(255,255,255,0.08);
}

.buy-btn {

  background:
    linear-gradient(
      135deg,
      #7c3aed,
      #8b5cf6
    );
}

/* MOBILE */

@media (max-width: 768px) {

  body {
    padding: 18px;
  }

  .header {

    flex-direction: column;

    gap: 20px;
  }

  #hero-carousel {

    height: 420px;
  }

  .hero-content h2 {

    font-size: 2.3rem;
  }

  .hero-overlay {

    padding: 30px;
  }
}