/* === SMOOTH SCROLL & REVEAL ANIMATIONS === */
html {
  scroll-behavior: smooth;
}

/* Reveal base - fade up */
[data-reveal] {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s cubic-bezier(0.25,0.46,0.45,0.94),
              transform 0.8s cubic-bezier(0.25,0.46,0.45,0.94);
}
[data-reveal="left"] {
  transform: translateX(-60px);
}
[data-reveal="right"] {
  transform: translateX(60px);
}
[data-reveal="scale"] {
  transform: scale(0.92);
}
[data-reveal].revealed {
  opacity: 1;
  transform: none;
}

/* Stagger children */
[data-stagger] > * {
  opacity: 0;
  transform: translateY(25px);
  transition: opacity 0.6s cubic-bezier(0.25,0.46,0.45,0.94),
              transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94);
}
[data-stagger].revealed > * {
  opacity: 1;
  transform: none;
}
[data-stagger].revealed > *:nth-child(1){transition-delay:0s}
[data-stagger].revealed > *:nth-child(2){transition-delay:.1s}
[data-stagger].revealed > *:nth-child(3){transition-delay:.2s}
[data-stagger].revealed > *:nth-child(4){transition-delay:.3s}
[data-stagger].revealed > *:nth-child(5){transition-delay:.4s}
[data-stagger].revealed > *:nth-child(6){transition-delay:.5s}
[data-stagger].revealed > *:nth-child(7){transition-delay:.6s}
[data-stagger].revealed > *:nth-child(8){transition-delay:.7s}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  [data-reveal],[data-stagger]>*{opacity:1;transform:none;transition:none}
}
