/* kpt-motion.css : the Kids Pray Too motion layer. Cards rise in as the page opens, lift on hover, and the buy
   button breathes once on focus. Everything switches off under prefers-reduced-motion so the page stays calm
   for anyone who asked for that. Layout, containers and typography stay exactly as the approved design. */
@keyframes kpt-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes kpt-breathe { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.03); } }
@keyframes kpt-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
.kpt-rise { animation: kpt-rise .55s cubic-bezier(.22,.61,.36,1) both; }
.kpt-rise:nth-child(1) { animation-delay: .05s } .kpt-rise:nth-child(2) { animation-delay: .12s } .kpt-rise:nth-child(3) { animation-delay: .19s }
.kpt-rise:nth-child(4) { animation-delay: .26s } .kpt-rise:nth-child(5) { animation-delay: .33s } .kpt-rise:nth-child(6) { animation-delay: .40s }
.kpt-lift { transition: transform .25s ease, box-shadow .25s ease; }
.kpt-lift:hover { transform: translateY(-4px); box-shadow: 0 14px 32px hsl(var(--primary) / .16); }
.kpt-lift:hover .kpt-icon svg { animation: kpt-float 1.6s ease-in-out infinite; }
.kpt-cta:focus-visible, .kpt-cta:hover { animation: kpt-breathe .6s ease-in-out 1; }
@media (prefers-reduced-motion: reduce) { .kpt-rise, .kpt-lift, .kpt-cta, .kpt-lift:hover .kpt-icon svg { animation: none !important; transition: none !important; transform: none !important; } }
