/* Shared image styles and motion */

:root {
  --image-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  --image-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
  --image-shadow-hover: 0 24px 50px rgba(15, 23, 42, 0.18);
}

@keyframes imageFadeIn {
  from {
    opacity: 0;
    filter: blur(6px) saturate(0.92);
  }

  to {
    opacity: 1;
    filter: blur(0) saturate(1);
  }
}

@keyframes iconPopIn {
  from {
    opacity: 0;
    transform: scale(0.92);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* Large and featured images */
header .logo img,
.footer-logo-f img,
.about-sub2-container img,
.doubt_images img,
.testing-image img,
.infor-image img,
.work-image img,
.tech-image img,
.image img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 18px;
  box-shadow: var(--image-shadow);
  transform-origin: center center;
  animation: imageFadeIn 0.85s var(--image-ease) both;
  transition: transform 0.35s var(--image-ease), box-shadow 0.35s var(--image-ease), filter 0.35s var(--image-ease);
  will-change: transform, filter;
}

header .logo img:hover,
.footer-logo-f img:hover,
.about-sub2-container img:hover,
.doubt_images img:hover,
.testing-image img:hover,
.infor-image img:hover,
.work-image img:hover,
.tech-image img:hover,
.image img:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: var(--image-shadow-hover);
  filter: saturate(1.06) contrast(1.02);
}

/* Small icons and decorative images */
.footer-icon img,
.icon img,
.service-logo img,
.serve-logo img,
.contant-logo img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  transform-origin: center center;
  animation: iconPopIn 0.65s var(--image-ease) both;
  transition: transform 0.3s var(--image-ease), filter 0.3s var(--image-ease), box-shadow 0.3s var(--image-ease);
  will-change: transform, filter;
}

.footer-icon img:hover,
.icon img:hover,
.service-logo img:hover,
.serve-logo img:hover,
.contant-logo img:hover {
  transform: translateY(-3px) scale(1.08) rotate(-1deg);
  filter: saturate(1.08) brightness(1.04);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.16);
}

/* Hero / full-bleed artwork */
.Slide img,
#footer_image {
  animation: imageFadeIn 0.9s var(--image-ease) both;
}

.Slide img {
  transition: filter 0.35s var(--image-ease);
}

#footer_image {
  transition: transform 0.35s var(--image-ease), filter 0.35s var(--image-ease);
}

#footer_image:hover {
  transform: scale(1.01);
  filter: saturate(1.05);
}

/* Keep the About page illustration responsive */
.about-sub2-container img {
  width: min(100%, 600px);
}

@media (prefers-reduced-motion: reduce) {
  header .logo img,
  .footer-logo-f img,
  .about-sub2-container img,
  .doubt_images img,
  .testing-image img,
  .infor-image img,
  .work-image img,
  .tech-image img,
  .image img,
  .footer-icon img,
  .icon img,
  .service-logo img,
  .serve-logo img,
  .contant-logo img,
  .Slide img,
  #footer_image {
    animation: none !important;
    transition: none !important;
  }

  header .logo img:hover,
  .footer-logo-f img:hover,
  .about-sub2-container img:hover,
  .doubt_images img:hover,
  .testing-image img:hover,
  .infor-image img:hover,
  .work-image img:hover,
  .tech-image img:hover,
  .image img:hover,
  .footer-icon img:hover,
  .icon img:hover,
  .service-logo img:hover,
  .serve-logo img:hover,
  .contant-logo img:hover,
  #footer_image:hover {
    transform: none !important;
    box-shadow: none !important;
    filter: none !important;
  }
}
