/* Estilos exclusivos do Imobiliário. Carregar depois de style.css. */

/* Altura da seção IA Native, com ajuste adicional em telas pequenas. */
.about {
  min-height:540px;
}

@media(max-width:600px) {
  .about {
    min-height:840px;
  }
}

/* Recorte óptico da logo Somma, preservando o arquivo original. */
.somma-crop {
  display:block;
  width:124px;
  max-width:90%;
  aspect-ratio:3.8;
  overflow:hidden;
}

.clients-grid .client-logo .somma-crop img {
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
  filter:grayscale(1) brightness(2);
}

.client-logo:hover .somma-crop img {
  filter:none;
}

.case-image.case-merito {
  background:#102d5c;
}

.case-image.case-merito img {
  object-fit:contain;
  object-position:center;
}

/* Clientes em três colunas e duas linhas. */
#clientes .client-logos {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:30px 18px;
  padding:20px 12px;
}

#clientes .client-logo {
  flex:0 0 calc((100% - 36px)/3);
  height:94px;
}

#clientes .client-logo>img {
  width:97.5%;
  height:97.5%;
  max-width:161px;
}

#clientes .client-logo .logo-dtb {
  width:88.4%;
  height:88.4%;
  max-width:140px;
}

#clientes .somma-crop {
  width:161px;
  max-width:97.5%;
}

.encore-crop {
  display:block;
  width:161px;
  max-width:97.5%;
  aspect-ratio:4;
  overflow:hidden;
}

.clients-grid .client-logo .encore-crop img {
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
  filter:url(#logo-light) brightness(0) invert(1);
}

.client-logo:hover .encore-crop img {
  filter:url(#logo-light);
}

.bela-vista-crop {
  display:block;
  width:161px;
  max-width:97.5%;
  aspect-ratio:1.6;
  overflow:hidden;
}

.clients-grid .client-logo .bela-vista-crop img {
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
  filter:grayscale(1);
}

.client-logo:hover .bela-vista-crop img {
  filter:none;
}

@media(max-width:850px) {
  #clientes .client-logo {
    height:78px;
  }
}

@media(max-width:600px) {
  #clientes .client-logos {
    gap:24px 18px;
    padding:28px 0 10px;
  }
  #clientes .client-logo {
    height:86px;
  }
}

.asm-crop {
  display:block;
  width:161px;
  max-width:97.5%;
  aspect-ratio:1.5;
  overflow:hidden;
}

.clients-grid .client-logo .asm-crop img {
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
  filter:grayscale(1);
}

.client-logo:hover .asm-crop img {
  filter:none;
}

/* Vídeo inteiro em primeiro plano, com poster ampliado e desfocado ao fundo. */
.case-image.case-first {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#323b42;
}

.case-image.case-first::before {
  content:"";
  position:absolute;
  inset:-24px;
  z-index:-1;
  background:linear-gradient(rgba(16,25,33,.18),rgba(16,25,33,.18)),url("assets/case-first-life-friendly.jpg") center/cover no-repeat;
  filter:blur(18px);
  transform:scale(1.08);
}

.case-image.case-first video {
  position:relative;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  background:transparent;
}

/* Arte estática inteira, sem recortar textos do criativo. */
.case-image.case-ere {
  background:#172b3c;
}

.case-image.case-ere img {
  object-fit:contain;
  object-position:center;
}

.case-image.case-soul::before {
  background-image:linear-gradient(rgba(16,25,33,.18),rgba(16,25,33,.18)),url("assets/case-soul-rio.jpg");
}

/* Acesso direto ao conteúdo; aparece quando recebe foco por teclado. */
.skip-link {
  position: absolute;
  top: 0;
  left: 12px;
  z-index: 100;
  padding: 12px 18px;
  color: #fff;
  background: #a30717;
  border-radius: 0 0 8px 8px;
  transform: translateY(-120%);
}

.skip-link:focus {
  transform: translateY(0);
}
