/* Scroll reveal — animasi masuk saat scroll */
:root {
  --sr-duration: 0.95s;
  --sr-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --sr-stagger: 0.09s;
}

html.sr-init .sr-block:not(.sr-visible),
html.sr-init .sr-item:not(.sr-visible) {
  opacity: 0;
  transform: translateY(48px);
  filter: blur(6px);
}

.sr-block,
.sr-item {
  transition:
    opacity var(--sr-duration) var(--sr-ease),
    transform var(--sr-duration) var(--sr-ease),
    filter var(--sr-duration) var(--sr-ease);
  transition-delay: calc(var(--sr-i, 0) * var(--sr-stagger));
  will-change: opacity, transform, filter;
}

.sr-block.sr-left {
  transform: translateX(-56px) translateY(20px);
}

.sr-block.sr-right {
  transform: translateX(56px) translateY(20px);
}

.sr-block.sr-scale {
  transform: translateY(32px) scale(0.94);
}

.sr-block.sr-visible,
.sr-item.sr-visible {
  opacity: 1;
  transform: translateY(0) translateX(0) scale(1);
  filter: blur(0);
}

/* Perkuat reveal Astro yang sudah ada */
.reveal-section:not(.is-visible) .reveal-item {
  opacity: 0;
}

.reveal-section.is-visible .reveal-item {
  opacity: 1;
  filter: blur(0);
}

@media (prefers-reduced-motion: reduce) {
  .sr-block,
  .sr-item {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
  }
}