/* ===== Consultation (steps) ===== */
.ms-consult {
    position: relative;
    padding: clamp(32px, 6vw, 64px) 0;
    isolation: isolate;
}

.ms-consult::before {
    /* лёгкий градиентный «путь» за карточками */
    content: "";
    position: absolute;
    inset: 0;
    opacity: .75;
    pointer-events: none;
    z-index: -1;
}

.ms-consult__title {
    font-size: clamp(22px, 3.4vw, 32px);
    text-align: center;
    margin: 0 0 18px;
}

/* timeline grid */
.ms-steps {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 32px;
}

@media (max-width: 980px) {
    .ms-steps {
        grid-template-columns: 1fr;
    }
}

/* step card */
.ms-step {
    position: relative;
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: var(--radius, 14px);
    box-shadow: var(--shadow, 0 10px 30px rgba(0, 0, 0, .35));
    padding: 18px 18px 16px 18px;
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 12px;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
    backdrop-filter: blur(8px) saturate(120%);
}

.ms-step:hover {
    transform: translateY(-2px);
    border-color: color-mix(in oklab, var(--border) 40%, var(--accent) 60%);
    box-shadow: 0 16px 40px color-mix(in oklab, var(--accent) 22%, transparent);
}

.ms-step__num {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--accent), var(--accent-2));
    color: #fff;
    font-weight: 800;
    font-size: 18px;
    box-shadow: 0 8px 22px color-mix(in oklab, var(--accent) 35%, transparent);
}

.ms-step__head {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    flex-wrap: wrap;
    flex-direction: column;
}

.ms-step__title {
    margin: 0;
    font-weight: 800;
}

.ms-badge--time {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: .85rem;
    color: #fff;
    background: color-mix(in oklab, var(--accent) 65%, #000 0%);
}

.ms-step__desc {
    color: var(--muted);
    margin: 6px 0 8px;
}

.ms-step__list {
    color: var(--muted);
    margin: 0;
    padding-left: 1.2rem;
}

.ms-step__icon {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    opacity: .9;
}

/* CTA under steps */
.ms-consult__cta {
    display: flex;
    justify-content: center;
    margin-top: 14px;
}

/* subtle reveal */
@media (prefers-reduced-motion: no-preference) {
    .ms-step {
        opacity: 0;
        transform: translateY(6px);
    }

    .ms-step.is-in {
        opacity: 1;
        transform: translateY(0);
        transition-duration: .35s;
    }
}

.ms-consult .ms-subtitle {
  text-align: center;
  margin-bottom: 2rem;
  color: var(--muted);
  font-size: 1rem;
}
.ms-consult .ms-subtitle strong {
  color: var(--accent);
}
