/* Banner único: conteúdo no espaço escuro e arte livre à direita. */
.welcome {
  position: relative;
  min-height: 0;
  padding: 0;
  overflow: visible;
  background: #09090b;
}

.welcome::before {
  display: none;
}

.hero-art {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  object-fit: contain;
  object-position: center;
  background: #09090b;
}

.welcome-content {
  position: absolute;
  inset: 0 auto 0 0;
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(38px, 5vw, 78px) 0 clamp(34px, 4vw, 62px) clamp(28px, 4vw, 82px);
  background: linear-gradient(90deg, rgba(3, 3, 5, .32), rgba(3, 3, 5, .08), transparent);
}

.welcome-copy,
.welcome .search {
  width: 100%;
  max-width: 620px;
  padding-top: 0;
}

.welcome-copy h1 {
  margin-top: 10px;
  font-size: clamp(2.65rem, 4.4vw, 5rem);
  line-height: .98;
}

.welcome .search {
  padding-right: 20px;
}

@media (max-width: 760px) {
  .hero-art {
    width: 100%;
    height: auto;
    min-height: 0;
    object-fit: contain;
  }

  .welcome-content {
    position: absolute;
    inset: 0 auto 0 0;
    width: 52%;
    padding: 12px 0 12px 12px;
    background: linear-gradient(90deg, rgba(3, 3, 5, .32), rgba(3, 3, 5, .06), transparent);
  }

  .welcome-copy,
  .welcome .search {
    width: 100%;
    max-width: none;
    padding-top: 0;
  }

  .welcome-copy h1 { font-size: clamp(1.15rem, 5.6vw, 2.25rem); }
  .welcome-copy p:not(.eyebrow) { font-size: clamp(.65rem, 2.7vw, .9rem); }
  .welcome .eyebrow { font-size: clamp(.48rem, 1.8vw, .68rem); }
  .welcome .search { margin-top: 10px; padding-right: 8px; gap: 5px; flex-direction: row; }
  .welcome .search input { min-height: 36px; padding: 0 9px; font-size: .72rem; }
  .welcome .search button { padding: 8px 10px; font-size: .72rem; }
}
