*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: 'Cairo', sans-serif;
  background: #F7F8FA;
  color: #2D3748;
  -webkit-font-smoothing: antialiased;
}

/* Subtle grid texture on hero */
.hero-bg {
  background-color: #fff;
  background-image:
    linear-gradient(rgba(226,232,240,0.5) 1px, transparent 1px),
    linear-gradient(90deg, rgba(226,232,240,0.5) 1px, transparent 1px);
  background-size: 40px 40px;
}

/* Thin top bar accent */
.top-rule {
  height: 3px;
  background: linear-gradient(90deg, #1A56DB 0%, #3B82F6 60%, #93C5FD 100%);
}

/* Animated fade-up */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}
.fade-up-1 { animation: fadeUp 0.55s ease both; }
.fade-up-2 { animation: fadeUp 0.55s 0.12s ease both; }
.fade-up-3 { animation: fadeUp 0.55s 0.24s ease both; }
.fade-up-4 { animation: fadeUp 0.55s 0.36s ease both; }
.fade-up-5 { animation: fadeUp 0.55s 0.48s ease both; }

/* CTA pulse ring */
@keyframes ringPulse {
  0%   { box-shadow: 0 0 0 0 rgba(26,86,219,0.35); }
  70%  { box-shadow: 0 0 0 10px rgba(26,86,219,0); }
  100% { box-shadow: 0 0 0 0 rgba(26,86,219,0); }
}
.cta-pulse { animation: ringPulse 2.2s infinite; }

/* Table row hover */
.data-row { transition: background 0.15s; }
.data-row:hover { background: #EDF2FF; }

/* Divider with label */
.divider-label {
  display: flex; align-items: center; gap: 12px;
  color: #718096; font-size: 0.72rem; letter-spacing: 0.08em;
  text-transform: uppercase;
}
.divider-label::before,
.divider-label::after {
  content: ''; flex: 1; height: 1px; background: #E2E8F0;
}

/* Feature card border-right accent */
.feature-card {
  border-right: 3px solid #1A56DB;
  transition: box-shadow 0.2s, transform 0.2s;
}
.feature-card:hover {
  box-shadow: 0 6px 24px rgba(26,86,219,0.10);
  transform: translateY(-2px);
}

/* Ticker badge */
.ticker-badge {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 2px 7px;
  border-radius: 4px;
  background: #EDF0F5;
  color: #2D3748;
}

/* Rise / Fall coloring */
.rise { color: #0C7B4E; }
.fall { color: #C0392B; }
.rise-bg { background: #E6F4EF; color: #0C7B4E; }
.fall-bg  { background: #FDECEA; color: #C0392B; }

/* WhatsApp green */
.wa-btn {
  background: #25D366;
  transition: background 0.18s, transform 0.18s, box-shadow 0.18s;
}
.wa-btn:hover {
  background: #1EBA58;
  transform: translateY(-1px);
  box-shadow: 0 6px 22px rgba(37,211,102,0.32);
}
.wa-btn:active { transform: translateY(0); }

/* Accent CTA */
.accent-btn {
  background: #1A56DB;
  transition: background 0.18s, transform 0.18s, box-shadow 0.18s;
}
.accent-btn:hover {
  background: #1746C0;
  transform: translateY(-1px);
  box-shadow: 0 6px 22px rgba(26,86,219,0.30);
}
.accent-btn:active { transform: translateY(0); }

/* Compliance box */
.compliance-box {
  background: #FFFBEB;
  border: 1px solid #FDE68A;
  border-radius: 8px;
}

/* Logo mark */
.logomark {
  width: 34px; height: 34px;
  background: #1A56DB;
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
}