@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700;800&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap');
* { box-sizing: border-box; }
body { font-family: 'Inter', sans-serif; }
.font-display { font-family: 'Space Grotesk', sans-serif; }
.font-mono { font-family: 'JetBrains Mono', monospace; }
.grad-text { background: linear-gradient(100deg, #60ADB1, #514A85); -webkit-background-clip: text; background-clip: text; color: transparent; }
.grad-btn { background: linear-gradient(100deg, #60ADB1, #514A85); }
.grad-ring { background: linear-gradient(135deg, #60ADB1, #514A85); }

.reveal { transition: opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1); }
.reveal.pre { opacity: 0; transform: translateY(28px); }
.reveal.in { opacity: 1; transform: translateY(0); }

@keyframes floatY { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-16px) } }
.float-slow { animation: floatY 6s ease-in-out infinite; }

.tilt-card { transition: transform .3s cubic-bezier(.2,.8,.3,1), box-shadow .3s ease; }
.tilt-card:hover { transform: translateY(-7px); }

.skill-bar span { display:block; height:100%; border-radius:9999px; background: linear-gradient(90deg,#60ADB1,#514A85); }

@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }
