body {
  font-family: 'Georgia', serif;
  background-color: #0b0a09;
  color: #f3ede6;
  margin: 0;
  padding: 0;
  transition: background-color 2s ease, color 1s ease;
}

h1 {
  font-weight: 300;
  text-align: center;
  letter-spacing: 3px;
  color: #f8f5ee;
  margin: 60px 0 30px 0;
  opacity: 0;
  animation: fadeIn 2.5s ease forwards;
}

p.intro {
  max-width: 750px;
  margin: 0 auto 60px auto;
  font-size: 1.1em;
  line-height: 1.8;
  color: #e0dad3;
  opacity: 0;
  animation: fadeIn 3s ease 0.5s forwards;
  text-align: center;
}

.gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
  padding-bottom: 60px;
}

.card {
  position: relative;
  width: 280px;
  background-color: #1a1917;
  border-radius: 8px;
  box-shadow: 0 0 20px rgba(255,255,255,0.08);
  overflow: hidden;
  text-decoration: none;
  color: #f3ede6;
  opacity: 0;
  animation: fadeIn 3s ease 1s forwards;
  transition: transform 0.6s ease, box-shadow 0.6s ease;
}

.card img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  transition: transform 2s ease;
}

.card h2 {
  font-size: 1.1em;
  letter-spacing: 1px;
  padding: 15px 0 5px 0;
}

.card p {
  font-size: 0.95em;
  color: #d2c9b8;
  padding: 0 15px 20px 15px;
}

.card:hover {
  transform: scale(1.03);
  box-shadow: 0 0 30px rgba(255,255,255,0.15);
}

.card:hover img {
  transform: scale(1.05);
}

.coming-soon {
  opacity: 0.6;
  pointer-events: none;
}

.coming-soon::after {
  content: 'Coming Soon';
  position: absolute;
  bottom: 10px;
  right: 10px;
  font-size: 0.8em;
  color: #b8b0a5;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 768px) {
  .gallery {
    flex-direction: column;
    align-items: center;
  }
  .card {
    width: 90%;
  }
  h1 {
    font-size: 1.6em;
  }
  p.intro {
    font-size: 1em;
  }
}
