/* ============================================
   BLOCK 1 — HERO (cinematic centered)
   ============================================ */
.home_block_1 {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-hero);
  padding-top: 16rem;
  padding-bottom: 8rem;
}

.home_block_1_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 2.2rem;
}

.home_block_1_title {
  max-width: 20ch;
}

.home_block_1_desc {
  max-width: 62ch;
}

.home_block_1_cta {
  display: flex;
  flex-wrap: wrap;
  gap: 1.4rem;
  justify-content: center;
  margin-top: 0.6rem;
}

/* ===== Hero visual — roulette burst, black bg dissolved ===== */
.home_block_1_visual {
  position: relative;
  width: 100%;
  max-width: 880px;
  margin-top: 3.5rem;
}

.home_block_1_visual::before {
  content: "";
  position: absolute;
  inset: -12%;
  background: radial-gradient(ellipse at center, var(--accent-glow) 0%, transparent 64%);
  filter: blur(24px);
  z-index: 0;
}

.home_block_1_visual > img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  -webkit-mask-image: radial-gradient(ellipse at center, #000 50%, transparent 78%);
  mask-image: radial-gradient(ellipse at center, #000 50%, transparent 78%);
}

/* ============================================
   Mobile — ≤1024px
   ============================================ */
@media (max-width: 1024px) {
  .home_block_1 {
    min-height: auto;
    padding-top: 24rem;
    padding-bottom: 12rem;
  }

  .home_block_1_inner {
    gap: 3.5rem;
  }

  .home_block_1_title {
    max-width: 100%;
  }

  .home_block_1_desc {
    max-width: 100%;
  }

  .home_block_1_cta {
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: 2rem;
  }

  .home_block_1_visual {
    max-width: 100%;
    margin-top: 5rem;
  }
}
