@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.map-section{animation:.8s ease-out fadeIn}.bg-clip-text{-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.grid-cols-4>div{transition:all .3s cubic-bezier(.4,0,.2,1)}.grid-cols-4>div:hover{transform:translateY(-4px);box-shadow:0 10px 25px -5px #3b82f61a,0 10px 10px -5px #3b82f60a}.grid-grid{background-image:linear-gradient(#ffffff1a 1px,#0000 1px),linear-gradient(90deg,#ffffff1a 1px,#0000 1px);background-position:50%;background-size:20px 20px}.neon-border{position:relative}.neon-border:before{content:"";z-index:-1;border-radius:inherit;background:linear-gradient(45deg,#3b82f6,#8b5cf6,#3b82f6) 0 0/400%;animation:3s linear infinite shimmer;position:absolute;inset:-2px}@media (max-width:768px){.grid-cols-4{grid-template-columns:repeat(2,1fr)}.aspect-\[4\/3\]{aspect-ratio:3/4}}@media (max-width:480px){.grid-cols-4{grid-template-columns:1fr}.relative>.text-xl{font-size:1.25rem}.absolute.inset-0>.text-3xl{font-size:1.75rem}}.loading-spinner{border:2px solid #3b82f64d;border-top-color:#3b82f6;border-radius:50%;width:24px;height:24px;animation:1s ease-in-out infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}::-webkit-scrollbar-thumb{background:#3b82f680;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#3b82f6b3}button{transition:all .2s;position:relative;overflow:hidden}button:after{content:"";background:#ffffff1a;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}button:active:after{width:300px;height:300px}.backdrop-blur-md{-webkit-backdrop-filter:blur(8px)}.text-gradient{background:linear-gradient(90deg,#3b82f6,#8b5cf6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hover-glow:hover{box-shadow:0 0 15px #3b82f680}.underline-animate{display:inline-block;position:relative}.underline-animate:after{content:"";background:linear-gradient(90deg,#3b82f6,#8b5cf6);width:0;height:2px;transition:width .3s;position:absolute;bottom:-2px;left:0}.underline-animate:hover:after{width:100%}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.timeline-line{background:linear-gradient(#00ffff80 0%,#007bffcc 50%,#00ffff80 100%) 0 0/100% 200%;border-radius:1px;width:1.5px;height:100%;animation:2s linear infinite flowLine;position:absolute;top:0;left:50%}@keyframes flowLine{0%{background-position:0 0}to{background-position:0 100%}}.timeline-card{backdrop-blur:12px;background-color:#ffffff1a;border:1px solid #fff3;border-radius:1rem;padding:1rem;transition:transform .3s;box-shadow:0 4px 20px #00000026}.timeline-card:hover{transform:translateY(-3px)scale(1.03)}.timeline-dot{background-color:#ffffffe6;border:1px solid #00d3ee;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 0 20px 5px #22d3ee66}.timeline-dot span{color:#00d3ee;z-index:1;font-size:1rem;font-weight:700}.timeline-dot:after{content:"";border:1px solid #00d3ee66;border-radius:50%;animation:1.5s infinite ping;position:absolute;inset:0}@keyframes ping{0%{opacity:.5;transform:scale(.9)}50%{opacity:.1;transform:scale(1.2)}to{opacity:.5;transform:scale(.9)}}
