/* ds-hero */
.ds-hero { position: relative; padding-block: var(--ds-secao-y-mobile); background: var(--ds-cor-fundo); color: var(--ds-cor-texto); overflow: hidden; }
@media (min-width: 768px) { .ds-hero { padding-block: var(--ds-secao-y-desktop); } }
.ds-hero__grade { display: grid; gap: var(--ds-espaco-8); align-items: center; }
@media (min-width: 900px) {
  .ds-hero__grade { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--ds-espaco-12); }
  .ds-hero--invertido .ds-hero__midia { order: -1; }
  .ds-hero--invertido .ds-hero__grade { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
}
.ds-hero__sobre { margin-bottom: var(--ds-espaco-3); font-size: var(--ds-tamanho-pequeno); letter-spacing: 0.08em; text-transform: uppercase; color: var(--ds-cor-texto-destaque); }
.ds-hero__titulo { margin-bottom: var(--ds-espaco-4); }
.ds-hero__sub { font-size: var(--ds-tamanho-texto-grande); max-width: var(--ds-largura-texto); }
.ds-hero__nota { margin: 0; font-size: var(--ds-tamanho-pequeno); color: var(--ds-cor-texto-suave); }
.ds-hero__midia img { width: 100%; border-radius: var(--ds-raio-lg); box-shadow: var(--ds-sombra-md); object-fit: cover; }

/* Centralizado, sem imagem */
.ds-hero--centro .ds-hero__grade { grid-template-columns: minmax(0, 1fr); text-align: center; justify-items: center; }
.ds-hero--centro .ds-hero__sub { margin-inline: auto; }
.ds-hero--centro .ds-botao-grupo { justify-content: center; }

/* Imagem de fundo com camada da cor da marca por cima (o texto fica legível) */
.ds-hero--fundo {
  --ds-cor-texto: var(--ds-cor-sobre-marca);
  --ds-cor-titulo: var(--ds-cor-sobre-marca);
  --ds-cor-texto-suave: var(--ds-cor-sobre-marca);
  --ds-cor-texto-destaque: var(--ds-cor-sobre-marca-destaque);
  --ds-cor-destaque: var(--ds-cor-destaque-2);
  --ds-cor-sobre-destaque: var(--ds-cor-sobre-destaque-2);
  --ds-cor-foco: var(--ds-cor-sobre-marca);
  background: var(--ds-cor-fundo-marca);
  min-height: min(80vh, 46rem); display: grid; align-items: center;
}
.ds-hero--fundo .ds-hero__midia { position: absolute; inset: 0; z-index: 0; }
.ds-hero--fundo .ds-hero__midia img { width: 100%; height: 100%; border-radius: 0; box-shadow: none; }
.ds-hero--fundo .ds-hero__midia::after { content: ""; position: absolute; inset: 0; background: var(--ds-cor-fundo-marca); opacity: 0.82; }
.ds-hero--fundo .ds-container { position: relative; z-index: 1; }
.ds-hero--fundo .ds-hero__grade { grid-template-columns: minmax(0, 1fr); }
.ds-hero--fundo .ds-hero__texto { max-width: 46rem; }
