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

:root {
  --background: 0 0% 100%;
  --foreground: 0 0% 5%;
  --card: 0 0% 100%;
  --card-foreground: 0 0% 5%;
  --popover: 0 0% 100%;
  --popover-foreground: 0 0% 5%;
  --primary: 220 91% 54%;
  --primary-foreground: 0 0% 100%;
  --primary-glow: 224 71% 40%;
  --secondary: 0 0% 97%;
  --secondary-foreground: 0 0% 5%;
  --muted: 0 0% 96%;
  --muted-foreground: 0 0% 40%;
  --accent: 220 91% 54%;
  --accent-foreground: 0 0% 100%;
  --destructive: 0 84% 60%;
  --destructive-foreground: 0 0% 100%;
  --border: 0 0% 92%;
  --input: 0 0% 92%;
  --ring: 220 91% 54%;
  --radius: 0.75rem;
  --cream: 45 20% 96%;
  --dark-bg: 0 0% 6%;
  --dark-card: 0 0% 10%;
  --dark-border: 0 0% 18%;
  --gradient-primary: linear-gradient(135deg, hsl(220, 91%, 54%), hsl(224, 71%, 40%));
  --shadow-soft: 0 2px 12px hsl(0, 0%, 0%, 0.06);
  --shadow-card: 0 8px 30px hsl(0, 0%, 0%, 0.04);
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  background-color: hsl(var(--cream));
  color: hsl(var(--foreground));
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
}

.gradient-text {
  background: linear-gradient(135deg, #1D68FE 0%, #1742B2 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.gradient-text-alt {
  background: linear-gradient(135deg, #2563EB 0%, #06B6D4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.bold-divider {
  height: 1px;
  width: 100%;
  background: hsl(var(--border));
}

.bold-divider-dark {
  height: 1px;
  width: 100%;
  background: rgba(255, 255, 255, 0.1);
}

.card-hover-effect {
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.card-hover-effect:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px -12px rgba(29, 104, 254, 0.12);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: hsl(var(--cream));
}
::-webkit-scrollbar-thumb {
  background: hsl(0 0% 80%);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: hsl(var(--primary));
}

.scrollbar-none::-webkit-scrollbar {
  display: none;
}
.scrollbar-none {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Animations */
@keyframes marquee {
  0% { transform: translateX(0%); }
  100% { transform: translateX(-50%); }
}

@keyframes marquee-reverse {
  0% { transform: translateX(-50%); }
  100% { transform: translateX(0%); }
}

@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-10px); }
}

.animate-marquee {
  animation: marquee 35s linear infinite;
  display: flex;
  width: max-content;
}

.animate-marquee:hover {
  animation-play-state: paused;
}

.animate-marquee-slow {
  animation: marquee 25s linear infinite;
  display: flex;
  width: max-content;
}

.animate-marquee-slow:hover {
  animation-play-state: paused;
}

.animate-marquee-reverse {
  animation: marquee-reverse 35s linear infinite;
  display: flex;
  width: max-content;
}

.animate-marquee-reverse:hover {
  animation-play-state: paused;
}

.animate-float {
  animation: float 6s ease-in-out infinite;
}

.animate-spin-slow {
  animation: spin 8s linear infinite;
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
