html{scroll-behavior:smooth}body{font-family:Inter,sans-serif;background-color:#f8fafc;overflow-x:hidden}.blob{position:absolute;filter:blur(80px);z-index:-1;opacity:.6;animation:float 10s ease-in-out infinite}.blob-1{top:0;left:0;width:600px;height:600px;background:#a0d8d6;animation-delay:0s}.blob-2{bottom:0;right:0;width:500px;height:500px;background:#f5ccb4;animation-delay:-2s}.blob-3{top:40%;left:30%;width:400px;height:400px;background:#c4b5fd;animation-delay:-4s}@keyframes float{0%{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}to{transform:translate(0) scale(1)}}.glass{background:#ffffff40;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.4);box-shadow:0 4px 30px #0000000d}.glass-card{background:#fff6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.6);box-shadow:0 10px 40px #0000000d;transition:transform .3s ease,box-shadow .3s ease}.glass-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px #00000014;border-color:#ffffffe6}.text-gradient{background:linear-gradient(135deg,#10287a,#2563eb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.animate-float-slow{animation:float-slow 6s ease-in-out infinite}@keyframes float-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-bounce-slow{animation:bounce-slow 3s ease-in-out infinite}@keyframes bounce-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.animate-float-delayed{animation:float-delayed 4s ease-in-out infinite;animation-delay:1s}@keyframes float-delayed{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.animate-fade-in{animation:fade-in .2s ease-out forwards}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-scale-in{animation:scale-in .2s ease-out forwards}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.typing-effect:after{content:"|";animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}
