.oa-logo-banner {
  --oa-logo-banner-height: 480px;
  --oa-logo-banner-logo-width: 260px;
  position: relative;
  height: var(--oa-logo-banner-height);
  overflow: hidden;
  background: #10163f;
}
.oa-logo-banner * { box-sizing: border-box; }

.oa-logo-banner-media {
  position: absolute;
  inset: 0;
  height: 100% !important;
  width: 100% !important;
}
.oa-logo-banner-image {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center; /* Mantém o foco no centro ao esticar no mobile */
}
.oa-logo-banner-media--grayscale .oa-logo-banner-image {
  filter: grayscale(1);
}

.oa-logo-banner-overlay {
  position: absolute;
  inset: 0;
  opacity: .5;
  background:
    radial-gradient(120% 90% at 50% 50%, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, .55) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, .3) 50%, rgba(0, 0, 0, .55) 100%);
  pointer-events: none;
}

.oa-logo-banner-logo {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  pointer-events: none;
}
.oa-logo-banner-logo img {
  display: block;
  width: var(--oa-logo-banner-logo-width, 260px);
  max-width: 80%;
  height: auto;
}

.oa-logo-banner-media picture,
.oa-logo-banner-media figure {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
}

@media (max-width: 768px) {
  .oa-logo-banner {
    /* Altera a altura apenas no mobile. 
       100dvh ocupa 100% da tela visível (descontando barras de navegação nativas). 
       Se não quiser tela cheia, mude para o valor fixo desejado (ex: 600px). */
    --oa-logo-banner-height: 100dvh; 
  }
}