/* =========================================
   GRC360 v3 — Customer Experience page-specific styles
   ========================================= */

.cx-journey {
  padding: var(--sp-24) 0;
  background: var(--gray-50);
}

.step-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-5);
}

.step-card {
  --card-accent: var(--brand-purple);
  background: var(--white);
  border-radius: var(--radius-xl);
  padding: var(--sp-8);
  border: 1px solid var(--gray-200);
  transition: all var(--transition-base);
  position: relative;
  overflow: hidden;
}

.step-card:nth-child(5n+1) { --card-accent: var(--brand-purple); }
.step-card:nth-child(5n+2) { --card-accent: var(--brand-orange); }
.step-card:nth-child(5n+3) { --card-accent: var(--brand-pink); }
.step-card:nth-child(5n+4) { --card-accent: var(--brand-blue); }
.step-card:nth-child(5n+5) { --card-accent: var(--brand-green); }

.step-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--card-accent);
  opacity: 0;
  transition: opacity var(--transition-base);
}

.step-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: transparent;
}

.step-card:hover::before {
  opacity: 1;
}

.step-card__num {
  display: block;
  font-size: var(--text-3xl);
  font-weight: 800;
  color: var(--card-accent);
  opacity: 0.35;
  line-height: 1;
  margin-bottom: var(--sp-4);
  letter-spacing: -0.02em;
}

.step-card h3 {
  font-size: var(--text-lg);
  font-weight: 600;
  color: var(--navy-800);
  margin-bottom: var(--sp-3);
  line-height: 1.3;
}

.step-card p {
  font-size: var(--text-sm);
  color: var(--gray-500);
  line-height: 1.7;
}

@media (max-width: 900px) {
  .step-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .step-grid {
    grid-template-columns: 1fr;
  }
}
