/* Lazy rendering for off-screen content */
[data-lazy] {
  content-visibility: auto;           /* Skip style/layout/paint until visible */
  contain-intrinsic-size: 800px 1px;  /* Reserve ~1 viewport height */
}

/* Optimize image loading */
img.lazy-load {
  opacity: 0;
  transition: opacity 0.3s;
}

img.lazy-load.loaded {
  opacity: 1;
}

/* Reduce animation work on mobile */
@media (max-width: 768px) {
  .reduce-animation {
    animation: none !important;
    transition-duration: 0ms !important;
  }
}