/* =============================================
   INFYBLAZE – Infinity Galaxy Styles
   styles/infinity-galaxy.css
   ============================================= */

#infinity-galaxy-section {
  position: relative;
  /* Make the section tall enough to allow a smooth scroll duration, but not too long */
  height: 300vh;
  background-color: transparent;
  z-index: 10;
}

.infinity-sticky-container {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  /* dynamic viewport height to prevent mobile address bar jumping */
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  pointer-events: none;
  /* Let clicks pass through if needed */
}

#infinity-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.infinity-text-overlay {
  position: absolute;
  z-index: 2;
  text-align: center;
  color: white;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.infinity-text-overlay.visible {
  opacity: 1;
  transform: translateY(0);
}

.infinity-text-overlay h2 {
  font-family: 'Orbitron', sans-serif;
  font-size: 3rem;
  font-weight: 700;
  background: linear-gradient(90deg, #00c8ff, #ff0096);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 1rem;
}

.infinity-text-overlay p {
  font-size: 1.25rem;
  color: #a0a0a0;
  max-width: 600px;
  margin: 0 auto;
}

.infinity-title-card {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: white;
  z-index: 15;
  opacity: 0;
  pointer-events: none;
  text-align: center;
  transition: opacity 0.1s ease-out, transform 0.1s ease-out;
}

.infinity-title-card.left {
  left: 5%;
  width: 40%;
  text-align: center;
}

.infinity-title-card.right {
  right: 5%;
  width: 40%;
  text-align: center;
}

.infinity-title-card h2 {
  font-family: var(--font-heading);
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 0;
  background: linear-gradient(135deg, #ffffff 0%, #00d2ff 50%, #3a7bd5 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 15px rgba(0, 210, 255, 0.4));
}

@media (max-width: 768px) {
  .infinity-title-card {
    top: auto;
    transform: none;
    width: 100%;
    left: 0 !important;
    right: 0 !important;
  }

  .infinity-title-card.left {
    top: 20%;
  }

  .infinity-title-card.right {
    bottom: 20%;
  }

  .infinity-title-card h2 {
    font-size: 2rem;
  }
}