:root { color-scheme: light; }

html {
  scroll-behavior: smooth;
  overscroll-behavior: none;
  background: #ffffff;
}

body {
  margin: 0;
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  color: #1a1a1a;
  background: #ffffff;
  overscroll-behavior: none;
}

/* Hide scrollbars on horizontal scrollers */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Subtle fade-up used on cards/sections */
@keyframes fade-up {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
.animate-fade-up { animation: fade-up 0.6s cubic-bezier(0.22, 1, 0.36, 1) both; }

/* Infinite horizontal marquee used by the Partners carousel. */
@keyframes marquee-x {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.animate-marquee { animation: marquee-x 40s linear infinite; }
@media (prefers-reduced-motion: reduce) { .animate-marquee { animation: none; } }

/* Slow drifting aurora blobs */
@keyframes aurora-drift {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  33%      { transform: translate3d(70px, -40px, 0) scale(1.12); }
  66%      { transform: translate3d(-60px, 50px, 0) scale(0.94); }
}
.aurora-blob { animation: aurora-drift 22s ease-in-out infinite; will-change: transform; }
@media (prefers-reduced-motion: reduce) { .aurora-blob { animation: none; } }
