body {
  margin: 0;
  font-family: Arial, sans-serif;
  background: linear-gradient(to bottom, #dff3ff, #ffffff);
  overflow-x: hidden;
  min-height: 100vh;
}

.hero {
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #134b63;
  text-align: center;
}

.hero h1 {
  font-size: 5rem;
  margin: 0;
}

.hero p {
  font-size: 1.5rem;
  opacity: 0.8;
}

#zka-balloons {
  position: fixed;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 9999;
}

.zka-balloon {
  position: absolute;
  bottom: -120px;
  animation-name: zkaFloat;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  opacity: 0;
}

.zka-balloon svg {
  display: block;
  filter: drop-shadow(0 8px 10px rgba(0,0,0,0.15));
}

@keyframes zkaFloat {
  0% {
    transform: translateY(0) translateX(0) rotate(-4deg);
    opacity: 0;
  }

  10% {
    opacity: 1;
  }

  50% {
    transform: translateY(-50vh) translateX(calc(var(--drift) * 0.5)) rotate(5deg);
  }

  100% {
    transform: translateY(-120vh) translateX(var(--drift)) rotate(-6deg);
    opacity: 0;
  }
}
