* { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

@keyframes fadeInSlide {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes swing {
  0%, 100% { transform: rotate(-15deg); }
  50% { transform: rotate(15deg); }
}

@keyframes swing-rtl {
  0%, 100% { transform: scaleX(-1) rotate(-15deg); }
  50% { transform: scaleX(-1) rotate(15deg); }
}

.animate-swing {
  animation: swing 2s ease-in-out infinite;
  transform-origin: 30% 0;
}

html[dir="rtl"] .animate-swing {
  animation-name: swing-rtl;
}

.swing-container {
  opacity: 0;
  animation: fadeIn 0.5s ease 0.5s forwards;
}

.fade-in {
  opacity: 0;
  animation: fadeIn 1s ease-out 0.3s forwards;
}

.animate-swing {
  animation: swing 2s ease-in-out infinite;
  transform-origin: 30% 0;
}

html[dir="rtl"] .animate-swing {
  transform: scaleX(-1);
}

@keyframes fadeIn {
  to { opacity: 1; }
}

/* English: SF Pro system stack */
html[lang="en"] body {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;
}

.font-sans {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;
}

/* Arabic: Tajawal */
html[lang="ar"] body {
  font-family: 'Tajawal', sans-serif;
}
html[lang="ar"] h1,
html[lang="ar"] h2 {
  letter-spacing: 0 !important;
}

body { background-color: #0D0D0D; color: #fff; }

.gradient-text {
  background: linear-gradient(90deg, #BAF2FF 0%, #ffffff 50%, #D0BCFF 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.cta-gradient-text {
  background: linear-gradient(90deg, #BAF2FF 0%, #ffffff 40%, #D0BCFF 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Ambient glow blobs */
.blob {
  position: absolute;
  border-radius: 9999px;
  filter: blur(60px);
  pointer-events: none;
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
.fade-up           { animation: fadeUp 0.75s ease both; }
.fade-up-1         { animation: fadeUp 0.75s 0.12s ease both; }
.fade-up-2         { animation: fadeUp 0.75s 0.25s ease both; }

/* Infinite scroll carousel */
.scrolling-row {
  display: flex;
  width: max-content;
}
.scrolling-row.animate-left {
  animation: scroll-left 30s linear infinite;
}
.scrolling-row.animate-right {
  animation: scroll-right 30s linear infinite;
}
@keyframes scroll-left {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@keyframes scroll-right {
  0% { transform: translateX(-50%); }
  100% { transform: translateX(0); }
}
