/* Mobile-first welcome */
.intro-img {
  width: 100%;
  max-width: min(88%, 280px);
  height: auto;
  display: block;
  margin: 0.35rem auto 0.85rem;
  filter: drop-shadow(0 12px 22px rgba(40, 120, 150, 0.25));
  animation: floatHada 4.5s ease-in-out infinite alternate;
}

.welcome-stage {
  text-align: center;
}

.welcome-stage .stage-title,
.welcome-stage .stage-copy,
.welcome-stage .stage-prompt {
  text-align: center;
}

.welcome-stage .stage-title::after {
  margin-left: auto;
  margin-right: auto;
}

.welcome-stage .stage-copy {
  max-width: 34rem;
  margin-inline: auto;
  font-size: 0.97rem;
  line-height: 1.5;
}

.welcome-stage .stage-prompt {
  margin-top: 1rem;
  font-size: 1.05rem;
}

@media (min-width: 769px) {
  .intro-img { max-width: 480px; }

  .welcome-stage {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100%;
  }

  .welcome-stage .stage-copy {
    max-width: 40rem;
    font-size: 1.02rem;
  }
}

@media (max-width: 768px) {
  .welcome-stage {
    padding: 0.25rem 0 0.5rem;
  }

  .welcome-stage .stage-title {
    font-size: 1.35rem;
    margin-bottom: 0.55rem;
  }

  .app-dock.is-start .dock-btn {
    min-height: 52px;
    font-size: 0.88rem;
  }
}
