/* ------------------------------------------------------------------
   Runwiz — dodatek do skompilowanego CSS z oryginału.
   Odtwarza animacje wejścia (framer-motion whileInView) w czystym CSS.
   Bez JS treść jest po prostu widoczna — nic się nie chowa.
   ------------------------------------------------------------------ */

/* --- stan ukryty (przed wejściem w kadr) --- */
[data-anim].anim-init {
  opacity: 0;
  will-change: opacity, transform;
}
[data-anim="fade-up"].anim-init     { transform: translateY(48px) scale(.97); }
[data-anim="fade-up-sm"].anim-init  { transform: translateY(36px) scale(.96); }
[data-anim="slide-left"].anim-init  { transform: translateX(-64px); }
[data-anim="slide-right"].anim-init { transform: translateX(64px); }
[data-anim="zoom-in"].anim-init     { transform: scale(.86); }
[data-anim="fade-in"].anim-init     { transform: scale(.96); }

/* --- stan docelowy --- musi być PO regułach .anim-init i mieć wyższą
   specyficzność, inaczej transform stanu ukrytego wygrywa kaskadę --- */
[data-anim].anim-in.anim-in {
  opacity: 1;
  transform: none;
  transition: opacity .65s cubic-bezier(.22, 1, .36, 1),
              transform .65s cubic-bezier(.22, 1, .36, 1);
}

@media (prefers-reduced-motion: reduce) {
  [data-anim].anim-init { opacity: 1; transform: none; }
}

/* obrót strzałki w menu "Resources" — w oryginale Tailwind nie generuje tej
   klasy, więc strzałka się nie obraca; zostawione dla zgodności 1:1 */

/* komunikat błędu formularza kontaktowego */
.rw-form-error { margin-top: .5rem; }
