.page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 90px;
}

.hero {
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
  padding: 16px 16px 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

/* Banner */
.hero__banner {
  width: 100%;
  border-radius: var(--radius-lg);
  overflow: hidden;
  position: relative;
}

.hero__banner::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(to bottom, transparent 0%, #151e2c 100%);
  pointer-events: none;
}

.hero__banner img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

/* Título principal */
.hero__title {
  font-family: 'Arial Black', 'Helvetica Neue', Arial, sans-serif;
  font-size: clamp(2rem, 8vw, 2.5rem);
  font-weight: 900;
  text-transform: uppercase;
  color: #ffffff;
  text-align: center;
  letter-spacing: -0.01em;
  line-height: 1.1;
}

/* Subtítulo */
.hero__sub {
  font-size: clamp(0.9rem, 3.5vw, 1rem);
  font-weight: 600;
  color: #ffffff;
  text-align: center;
  max-width: 360px;
  line-height: 1.5;
  opacity: 0.85;
}

/* Float bubbles */
.floatBubbles {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9998;
  overflow: hidden;
}

.floatBubble {
  position: absolute;
  width: 40px;
  height: 40px;
}

/* Mobile: sobrescreve as posições inline (desktop) com !important */
@media (max-width: 600px) {
  /* Bubbles ímpares = lado esquerdo */
  .floatBubble:nth-child(1)  { left: 2px !important; top: 120px !important; }
  .floatBubble:nth-child(3)  { left: 2px !important; top: 280px !important; }
  .floatBubble:nth-child(5)  { left: 2px !important; top: 440px !important; }
  .floatBubble:nth-child(7)  { left: 2px !important; top: 600px !important; }

  /* Bubbles pares = lado direito */
  .floatBubble:nth-child(2)  { left: auto !important; right: 2px; top: 130px !important; }
  .floatBubble:nth-child(4)  { left: auto !important; right: 2px; top: 295px !important; }
  .floatBubble:nth-child(6)  { left: auto !important; right: 2px; top: 455px !important; }
  .floatBubble:nth-child(8)  { left: auto !important; right: 2px; top: 615px !important; }
}

/* Hidden utility */
.items { display: none; }

/* ── Responsivo ── */
@media (max-width: 480px) {
  .hero { padding: 12px 12px 24px; gap: 14px; }
  .hero__title { font-size: 1.9rem; }
}
