/* ── BASE: reset, tokens, typography, animations ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --font-heading: 'Outfit', sans-serif;
  --font-body: 'Inter', sans-serif;
  --bg-primary: #1E2846;
  --bg-secondary: #1E2846;
  --text-primary: #DEDFD9;
  --text-secondary: rgba(222,223,217,0.7);
  --border: #1E2846;
  --cta: #37C0B4;
  --cta-dark: #37C0B4;
  --accent: #37C0B4;
  --success: #37C0B4;
  --card-radius: 24px;
  --btn-radius: 14px;
  --max-content: 1280px;
}

html { scroll-behavior: smooth; }

body {
  font-family: var(--font-body);
  background: var(--bg-primary);
  color: var(--text-primary);
  line-height: 1.6;
  overflow-x: hidden;
}

h1, h2, h3, h4 { font-family: var(--font-heading); font-weight: 800; }

/* ── ANIMATIONS ── */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(32px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
@keyframes pulse-ring {
  0% { transform: scale(0.85); opacity: 0.6; }
  100% { transform: scale(1.2); opacity: 0; }
}
@keyframes orbit {
  from { transform: rotate(0deg) translateX(130px) rotate(0deg); }
  to   { transform: rotate(360deg) translateX(130px) rotate(-360deg); }
}
@keyframes flow-dot {
  0% { stroke-dashoffset: 100; }
  100% { stroke-dashoffset: 0; }
}
@keyframes counter-up {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
@keyframes connector-march {
  0% { background-position: 0 0; }
  100% { background-position: 10px 0; }
}

.fade-up {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.fade-up.visible { opacity: 1; transform: translateY(0); }

/* Force visibility in Elementor Editor so sections and metrics show up */
.elementor-editor-active .fade-up,
.elementor-editor-preview .fade-up,
.elementor-edit-mode .fade-up,
.elementor-editor-preview-active .fade-up {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }
.delay-4 { transition-delay: 0.4s; }
