*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:"Source Sans 3",-apple-system,sans-serif;overflow-x:hidden}html{scroll-behavior:smooth}::selection{color:inherit;background:#36488c59}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#36488c40;border-radius:4px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:#36488c80}:focus-visible{outline-offset:2px;outline:2px solid #36488c}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes scaleInBounce{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.08)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.92)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 5px #36488c4d}50%{box-shadow:0 0 20px #36488c99,0 0 40px #36488c4d}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes heroPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.4)}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes borderGlow{0%,to{border-color:#36488c4d;box-shadow:0 0 5px #36488c1a}50%{border-color:#36488c99;box-shadow:0 0 15px #36488c4d}}@keyframes progressBar{0%{width:0%}to{width:100%}}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.stagger-6{animation-delay:.6s}.card-hover-lift{transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s,border-color .3s}.card-hover-lift:hover{transform:translateY(-8px);box-shadow:0 20px 40px #00000026}.card-shine{position:relative;overflow:hidden}.card-shine:before{content:"";background:linear-gradient(90deg,#0000,#ffffff1a,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.card-shine:hover:before{left:100%}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";opacity:0;background:#ffffff4d;border-radius:50%;width:0;height:0;transition:width .4s,height .4s,opacity .4s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn-ripple:active:after{opacity:1;width:200px;height:200px;transition:all}.gradient-text-animated{background:linear-gradient(90deg,#36488c 0%,#0c7849 50%,#36488c 100%) 0 0/200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:4s infinite gradientShift}.typewriter{white-space:nowrap;border-right:2px solid;animation:2s steps(30,end) forwards typing,.8s step-end infinite blink;overflow:hidden}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink{50%{border-color:#0000}}.skeleton-shimmer{background:linear-gradient(90deg,#36488c14 25%,#36488c26 50%,#36488c14 75%) 0 0/200% 100%;border-radius:4px;animation:1.5s infinite shimmer}.floating-orb{filter:blur(60px);opacity:.4;pointer-events:none;border-radius:50%;animation:6s ease-in-out infinite float;position:absolute}.orb-1{background:#36488c4d;width:300px;height:300px;animation-delay:0s;top:-100px;right:-100px}.orb-2{background:#0c784933;width:200px;height:200px;animation-delay:-2s;bottom:-50px;left:-50px}.orb-3{background:#f1c33033;width:150px;height:150px;animation-delay:-4s;top:50%;left:50%}.dotted-pattern{background-image:radial-gradient(circle,#36488c1a 1px,#0000 1px);background-size:24px 24px}.grid-pattern{background-image:linear-gradient(#36488c0d 1px,#0000 1px),linear-gradient(90deg,#36488c0d 1px,#0000 1px);background-size:40px 40px}.spin{animation:1s linear infinite rotate}.bounce{animation:1s ease-in-out infinite float}.wiggle{animation:.5s ease-in-out wiggle}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.fade-in{animation:.5s forwards fadeInUp}.slide-up{animation:.6s cubic-bezier(.34,1.56,.64,1) forwards fadeInUp}
