/* General page styling */
body {
  margin: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-family: 'Playfair Display', serif;
  background-color: #fdfaf6; /* cream */
  color: #6b4226; /* warm brown */
  overflow: hidden;
  position: relative;
}

h1 {
  font-size: 3.5rem;
  font-weight: 700;
  color: #b85c38; /* muted pumpkin */
  margin: 0;
  z-index: 2;
}

footer {
  position: absolute;
  bottom: 15px;
  font-size: 0.9rem;
  color: #8c6f56;
  z-index: 2;
}

/* Floating background shapes */
.shapes {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
}

.shape {
  position: absolute;
  opacity: 0.15;
  animation: float 25s infinite linear;
}

/* Shape types */
.circle {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: #b85c38;
  top: 10%;
  left: 5%;
}

.circle.small {
  width: 120px;
  height: 120px;
  background: #6b4226;
  top: 70%;
  left: 80%;
}

.blob {
  width: 250px;
  height: 180px;
  background: #d9a05b;
  border-radius: 50% 40% 60% 50% / 60% 40% 50% 50%;
  top: 60%;
  left: -80px;
}

.blob.alt {
  width: 180px;
  height: 130px;
  background: #8c6f56;
  border-radius: 60% 50% 40% 60% / 50% 60% 40% 50%;
  top: 20%;
  left: 75%;
}

.square {
  width: 150px;
  height: 150px;
  background: #e5c07b;
  border-radius: 25px;
  top: 40%;
  left: 50%;
}

/* Animation for gentle floating */
@keyframes float {
  from {
    transform: translateY(0px) rotate(0deg);
  }
  to {
    transform: translateY(-60px) rotate(360deg);
  }
}
