/* Animation styles — render-blocking but only used for hover states. */
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes slideUp { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.04); } }
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

.animate-fade { animation: fadeIn 0.6s ease both; }
.animate-slide { animation: slideUp 0.7s ease both; }
.animate-pulse { animation: pulse 2.4s ease infinite; }
.animate-spin { animation: spin 1s linear infinite; }

.card:hover { transform: translateY(-3px); transition: transform 0.2s ease; }
.cta:hover { transform: scale(1.04); transition: transform 0.18s ease; }
.nav-links a:hover { color: var(--ink); transition: color 0.15s ease; }
