body {
  background-image: url('images/map.png');
  background-repeat: no-repeat;
  background-position: center top; 
  background-size: cover;
  background-attachment: fixed;
  min-height: 100vh;
  margin: 0;
}

.compbook-container {
  position: relative;
  width: 100%;
  max-width: 1100px; 
  margin: 0 auto;
  min-height: 100vh;
}

.icon {
  position: absolute;
  transition: transform 0.2s ease-in-out;
  z-index: 10;
}

.icon img {
  width: 100%;
  height: auto;
  display: block;
}

.icon:hover {
  transform: scale(1.1);
  cursor: pointer;
}
.icon a {
  display: block;
  width: 100%;
}

/* for desktop */
.about-group {
  top: 40px;
  right: -20px;
  width: 300px;
}

.art-group {
  bottom: 30px;
  left: 10px;
  width: 350px;
}

.zines-group {
  top: 35%;
  left: 55%;
  width: 300px;
}

.journal-group {
  bottom: 40px;
  right: -20px;
  width: 300px;
}


/* --- MOBILE --- */
@media (max-width: 768px) {
  body {
    background-image: none; 
    background-color: #f4f4f4; 
  }

  .compbook-container {
    display: flex;
    flex-direction: column; 
    align-items: center;
    justify-content: center;
    gap: 40px;
    padding: 50px 20px;
    min-height: auto;
  }

  .icon {
    position: static; 
    width: 150px; 
  }
}