/* Section: Text — Numbered steps. Numbers are CSS counters on a real <ol>. */
.fb-steps { display: grid; gap: var(--fb-gap); margin: 0; padding: 0; list-style: none; counter-reset: fb-step; }
.fb-steps__item { position: relative; counter-increment: fb-step; display: flex; flex-direction: column; gap: var(--fb-space-4); padding: var(--fb-card-pad); background: var(--t-card-bg); border: 1px solid var(--t-card-border); border-radius: var(--fb-radius-card); box-shadow: var(--t-card-shadow); }
.fb-steps__item::before { content: counter(fb-step, decimal-leading-zero); font: 400 clamp(2.5rem, 2rem + 2vw, 3.5rem)/1 var(--fb-font-display); color: var(--t-accent); }
.fb-steps__body { display: grid; gap: var(--fb-space-3); }
@media (min-width: 768px) {
	.fb-steps--row.fb-steps--2, .fb-steps--row.fb-steps--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fb-steps--row.fb-steps--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1280px) { .fb-steps--row.fb-steps--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
/* Vertical list: 56px number disc + connecting line */
.fb-steps--list { max-width: 864px; margin-inline: auto; gap: 0; }
.fb-steps--list .fb-steps__item { flex-direction: row; gap: var(--fb-space-6); padding: 0 0 var(--fb-space-7); background: none; border: 0; box-shadow: none; border-radius: 0; }
.fb-steps--list .fb-steps__item::before { display: flex; align-items: center; justify-content: center; flex: none; width: 56px; height: 56px; border-radius: 50%; background: var(--t-check-bg); color: var(--t-check-fg); font-size: 1.25rem; }
.fb-steps--list .fb-steps__item:not(:last-child)::after { content: ""; position: absolute; top: 64px; bottom: var(--fb-space-2); left: 27px; width: 2px; background: var(--t-rule); }
.fb-steps--list .fb-steps__body { padding-top: var(--fb-space-3); }
