body { margin: 0; height: 100vh; font-family: 'Titillium Web'; background-color: transparent; background-size: 300px 300px; overflow: hidden; position: relative; } h2 { text-align: center; margin: 20px; color: #1f222d; font-size: 24px; letter-spacing: 1px; } .isla { position: absolute; width: 100px; height: 130px; animation: float 10s ease-in-out infinite; transition: transform 0.3s ease, z-index 0.3s ease; display: flex; flex-direction: column; align-items: center; cursor: pointer; z-index: 1; filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.1)); } .isla-inner { width: 100px; height: 100px; border-radius: 50%; overflow: hidden; transform-style: preserve-3d; transition: transform 0.5s ease, box-shadow 0.5s ease; display: flex; justify-content: center; align-items: center; box-shadow: inset 0 0 10px rgba(255, 255, 255, 0.1); } .isla-inner img { width: 90px; height: 90px; object-fit: contain; border-radius: 5%; pointer-events: none; } .isla:hover { z-index: 5; transform: scale(1.1) rotateZ(2deg); } .isla:hover .isla-inner { transform: scale(1.2) rotateZ(5deg); box-shadow: 0 0 30px rgba(255, 255, 100, 0.6); } .label { margin-top: 6px; color: #1f222d; font-size: 13px; font-weight: bold; pointer-events: none; user-select: none; text-decoration: none; } @keyframes float { 0% { transform: translate(0px, 0px); } 25% { transform: translate(10px, -10px); } 50% { transform: translate(-10px, 10px); } 75% { transform: translate(10px, 5px); } 100% { transform: translate(0px, 0px); } }