/* Ensephra — interaction layer (tilt + scroll reveal). No 3D. */

/* scroll reveal */
.reveal-init {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.9s cubic-bezier(.16,.84,.44,1), transform 0.9s cubic-bezier(.16,.84,.44,1);
}
.reveal-in { opacity: 1; transform: translateY(0); }

/* stagger children of grids on reveal */
.reveal-stagger > * {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal-stagger.reveal-in > * { opacity: 1; transform: translateY(0); }
.reveal-stagger.reveal-in > *:nth-child(1){transition-delay:.04s}
.reveal-stagger.reveal-in > *:nth-child(2){transition-delay:.11s}
.reveal-stagger.reveal-in > *:nth-child(3){transition-delay:.18s}
.reveal-stagger.reveal-in > *:nth-child(4){transition-delay:.25s}
.reveal-stagger.reveal-in > *:nth-child(5){transition-delay:.32s}
.reveal-stagger.reveal-in > *:nth-child(6){transition-delay:.39s}
.reveal-stagger.reveal-in > *:nth-child(7){transition-delay:.46s}

/* tilt targets get a bit of depth on hover */
.tilt-target {
  transform-style: preserve-3d;
  will-change: transform;
  transition: transform 0.15s ease-out, box-shadow 0.25s ease;
}
.tilt-target:hover { box-shadow: 0 22px 44px rgba(30,40,32,0.16); }

@media (prefers-reduced-motion: reduce) {
  .reveal-init, .reveal-stagger > * { opacity: 1 !important; transform: none !important; transition: none !important; }
}
