/*
 * Infinity Brand Movers — Elementor Kit v2
 * Global brand tokens + utility classes
 */

:root {
  --ibm-purple:       #3C3489;
  --ibm-purple-light: #7F77DD;
  --ibm-purple-pale:  #EEEDFE;
  --ibm-teal:         #1D9E75;
  --ibm-teal-light:   #5DCAA5;
  --ibm-teal-pale:    #E1F5EE;
  --ibm-dark:         #1A1A2E;
  --ibm-dark-soft:    #2C2C4A;
  --ibm-gray:         #6B6B80;
  --ibm-gray-light:   #F5F5FA;
  --ibm-white:        #FFFFFF;
}

/* Utility classes — add via Advanced > CSS Classes in Elementor */
.ibm-text-purple  { color: var(--ibm-purple) !important; }
.ibm-text-teal    { color: var(--ibm-teal) !important; }
.ibm-text-white   { color: var(--ibm-white) !important; }
.ibm-text-gray    { color: var(--ibm-gray) !important; }

.ibm-bg-dark      { background-color: var(--ibm-dark) !important; }
.ibm-bg-purple    { background-color: var(--ibm-purple) !important; }
.ibm-bg-teal      { background-color: var(--ibm-teal) !important; }
.ibm-bg-gray      { background-color: var(--ibm-gray-light) !important; }

.ibm-card {
  background: var(--ibm-white);
  border-radius: 16px;
  border: 1px solid rgba(60,52,137,0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.ibm-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 40px rgba(60,52,137,0.12);
}

.ibm-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 100px;
  font-size: 12px;
  font-weight: 600;
  background: var(--ibm-purple-pale);
  color: var(--ibm-purple);
}
.ibm-badge-teal { background: var(--ibm-teal-pale); color: var(--ibm-teal); }

.ibm-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.ibm-reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 768px) {
  .ibm-card:hover { transform: none; }
}
