/* Scroll reveal primitives — apply via [data-reveal="kind"]
   Available kinds: up, fade, lift, stagger
*/

[data-reveal]{
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity .9s cubic-bezier(.2,.7,.2,1),
    transform 1s cubic-bezier(.2,.7,.2,1),
    filter .9s ease;
  will-change: opacity, transform;
}
[data-reveal="fade"]{ transform: none; filter: blur(6px); }
[data-reveal="lift"]{ transform: translateY(40px) scale(0.98); }
[data-reveal="left"]{ transform: translateX(-32px); }
[data-reveal="right"]{ transform: translateX(32px); }

[data-reveal].is-in{
  opacity: 1;
  transform: none;
  filter: none;
}

/* Stagger: parent gets data-reveal="stagger". Children with .stg-item flow in sequence */
[data-reveal="stagger"]{
  opacity: 1; transform: none;
}
[data-reveal="stagger"] .stg-item{
  opacity: 0;
  transform: translateY(22px);
  transition:
    opacity .8s cubic-bezier(.2,.7,.2,1),
    transform .9s cubic-bezier(.2,.7,.2,1);
}
[data-reveal="stagger"].is-in .stg-item{
  opacity: 1;
  transform: none;
}
[data-reveal="stagger"].is-in .stg-item:nth-child(1){ transition-delay: 0.05s; }
[data-reveal="stagger"].is-in .stg-item:nth-child(2){ transition-delay: 0.12s; }
[data-reveal="stagger"].is-in .stg-item:nth-child(3){ transition-delay: 0.19s; }
[data-reveal="stagger"].is-in .stg-item:nth-child(4){ transition-delay: 0.26s; }
[data-reveal="stagger"].is-in .stg-item:nth-child(5){ transition-delay: 0.33s; }
[data-reveal="stagger"].is-in .stg-item:nth-child(6){ transition-delay: 0.40s; }
[data-reveal="stagger"].is-in .stg-item:nth-child(7){ transition-delay: 0.47s; }
[data-reveal="stagger"].is-in .stg-item:nth-child(8){ transition-delay: 0.54s; }

@media (prefers-reduced-motion: reduce){
  [data-reveal], [data-reveal="stagger"] .stg-item{
    opacity: 1 !important; transform: none !important; filter: none !important;
  }
}
