@import url('https://fonts.googleapis.com/css2?family=Mulish:wght@300;400;500;600;700;800&family=Playfair+Display:wght@400;500;600;700;800;900&display=swap');

html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}

/* Scroll Progress */
.scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 0%;
  height: 4px;
  z-index: 1000;
  transition: width 0.1s;
}

/* Flying Model Animation */
@keyframes fly {
    0% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-25px) rotate(2deg); }
    100% { transform: translateY(0px) rotate(0deg); }
}
.animate-fly {
    animation: fly 6s ease-in-out infinite;
}

/* Loader */
#loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.5s ease;
}

.spinner {
  width: 50px;
  height: 50px;
  border: 5px solid rgba(0,0,0,0.1);
  border-top-color: #0A192F;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
.dark .spinner {
  border: 5px solid rgba(255,255,255,0.1);
  border-top-color: #64FFDA;
}
@keyframes spin { 100% { transform: rotate(360deg); } }

/* Map image handling */
.map-container img {
    max-width: 100%;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

/* Fix AOS overflow */
body {
    overflow-x: hidden;
}

/* Gradient text */
.text-gradient {
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-image: linear-gradient(to right, #112240, #0A192F);
}
.dark .text-gradient {
    background-image: linear-gradient(to right, #64FFDA, #38BDF8);
}
