.steps { padding: var(--section-pad) 0; }
.steps__label {
  font-size: 13px; letter-spacing: 0.06em; color: var(--c-steel);
  text-align: center; margin-bottom: 12px;
}
.steps__title { text-align: center; margin-bottom: clamp(40px, 6vw, 64px); }
.steps__grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 0;
  position: relative;
  border: 1px solid var(--c-card-light-border); border-radius: var(--card-radius);
  overflow: hidden; background: var(--c-card-light-border);
}
.steps__item {
  text-align: center; padding: clamp(28px, 3vw, 44px) clamp(16px, 2vw, 28px);
  background: var(--c-white); position: relative;
  transition: background var(--duration-fast) ease;
  border-right: 1px solid var(--c-card-light-border);
}
.steps__item:last-child { border-right: none; }
.steps__item:hover { background: var(--c-off-white); }
.steps__num {
  font-family: var(--font-en); font-size: clamp(32px, 4vw, 48px); font-weight: var(--fw-bold);
  color: var(--c-platinum); line-height: 1; margin-bottom: 16px; letter-spacing: -0.02em;
}
.steps__icon {
  width: 48px; height: 48px; border-radius: 50%;
  background: var(--c-off-white); border: 1px solid var(--c-card-light-border);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 20px; transition: all var(--duration-fast) ease;
}
.steps__item:hover .steps__icon { background: var(--c-white); border-color: var(--c-accent); }
.steps__icon svg { width: 22px; height: 22px; stroke: var(--c-steel); stroke-width: 1.5; fill: none; }
.steps__item-title { font-size: 16px; font-weight: var(--fw-semi); margin-bottom: 16px; }
.steps__list { list-style: none; font-size: 13px; color: var(--c-text-on-light-sub); line-height: 2; }
