.card {
  background-color: var(--color-gray-subtle);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: var(--radius-md);
  padding: var(--space-8);
  transition: border-color var(--transition-base), transform var(--transition-base);
}

.card:hover {
  border-color: rgba(252,188,6,0.3);
  transform: translateY(-4px);
}

.card__icon {
  width: 48px;
  height: 48px;
  margin-bottom: var(--space-5);
  color: var(--color-yellow);
}

.card__number {
  font-family: var(--font-title);
  font-size: var(--text-3xl);
  font-weight: var(--fw-extrabold);
  color: var(--color-yellow);
  line-height: 1;
  margin-bottom: var(--space-2);
}

.card__title {
  font-family: var(--font-title);
  font-size: var(--text-xl);
  font-weight: var(--fw-extrabold);
  color: var(--color-white);
  margin-bottom: var(--space-3);
  line-height: 1.2;
}

.card__text {
  font-size: var(--text-sm);
  color: rgba(255,255,255,0.55);
  line-height: 1.7;
}

/* Service card variant */
.card--service {
  position: relative;
  overflow: hidden;
}

.card--service::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 0;
  background-color: var(--color-yellow);
  transition: height var(--transition-slow);
}

.card--service:hover::before {
  height: 100%;
}

/* Segment card */
.card--segment {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
}

/* Process step card */
.card--process {
  border: none;
  background: none;
  padding: var(--space-6) var(--space-4);
}

.card--process:hover {
  transform: none;
}

.card__step {
  font-family: var(--font-accent);
  font-size: var(--text-4xl);
  font-weight: var(--fw-bold);
  color: rgba(252,188,6,0.15);
  line-height: 1;
  margin-bottom: var(--space-4);
  transition: color var(--transition-base);
}

.card--process:hover .card__step {
  color: rgba(252,188,6,0.35);
}
