/* Shared consultation flow. Static information only; no form submission or scheduling. */
.consult-flow {
  --consult-ink: var(--color-ink, #1C1E1F);
  --consult-accent: var(--color-accent, #FD490F);
  margin: 36px 0 32px;
  width: 100%;
  min-width: 0;
  color: var(--consult-ink);
  text-align: left;
}
.consult-flow .consult-flow__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px 30px;
  margin-bottom: 22px;
}
.consult-flow .consult-flow__title {
  margin: 0;
  font-size: 18px;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: .02em;
  text-wrap: balance;
}
.consult-flow .consult-flow__conditions {
  display: flex;
  flex-wrap: wrap;
  flex-shrink: 0;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.consult-flow .consult-flow__conditions li {
  border: 1px solid #B8C2C7;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.6;
  white-space: nowrap;
}
.consult-flow .consult-flow__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.consult-flow .consult-flow__step {
  position: relative;
  min-width: 0;
  padding: 24px;
  background: #EEF1F2;
  border-radius: 18px;
}
.consult-flow .consult-flow__step:not(:last-child)::after {
  content: "→";
  position: absolute;
  right: -24px;
  top: 27px;
  width: 24px;
  text-align: center;
  color: var(--consult-ink);
  font: 400 18px/1.5 var(--font-en, sans-serif);
}
.consult-flow .consult-flow__number {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font: 400 24px/1.2 var(--font-en, sans-serif);
  letter-spacing: .02em;
  margin-bottom: 17px;
}
.consult-flow .consult-flow__number::after {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--consult-accent);
}
.consult-flow .consult-flow__heading {
  margin: 0;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: .01em;
  font-weight: 700;
}
.consult-flow .consult-flow__text {
  margin: 12px 0 0;
  font-size: 14px;
  line-height: 1.95;
  letter-spacing: .015em;
  overflow-wrap: anywhere;
}
.consult-flow .consult-flow__text strong { font-weight: 700; }
.consult-flow .consult-flow__promise {
  margin: 20px 0 0;
  font-size: 14px;
  line-height: 1.9;
  letter-spacing: .01em;
  text-align: center;
}
@media (max-width: 1000px) {
  .consult-flow .consult-flow__header { align-items: flex-start; flex-direction: column; }
  .consult-flow .consult-flow__step { padding: 22px 20px; }
}
@media (max-width: 760px) {
  .consult-flow { margin-block: 28px; }
  .consult-flow .consult-flow__title { font-size: 16px; }
  .consult-flow .consult-flow__header { gap: 14px; margin-bottom: 20px; }
  .consult-flow .consult-flow__steps { grid-template-columns: 1fr; gap: 16px; }
  .consult-flow .consult-flow__step { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 14px; padding: 22px 20px; }
  .consult-flow .consult-flow__number { align-self: start; gap: 5px; margin: 4px 0 0; font-size: 21px; }
  .consult-flow .consult-flow__number::after { width: 4px; height: 4px; }
  .consult-flow .consult-flow__heading { font-size: 15px; }
  .consult-flow .consult-flow__text { margin-top: 8px; }
  .consult-flow .consult-flow__step:not(:last-child)::after { content: "↓"; top: auto; bottom: -19px; left: 27px; right: auto; font-size: 16px; line-height: 22px; }
  .consult-flow .consult-flow__promise { text-align: left; }
}
@media (max-width: 380px) {
  .consult-flow .consult-flow__step { grid-template-columns: 1fr; gap: 10px; padding: 19px 16px; }
  .consult-flow .consult-flow__number { margin: 0; }
  .consult-flow .consult-flow__conditions { gap: 6px; }
  .consult-flow .consult-flow__conditions li { padding: 5px 9px; font-size: 11px; }
  .consult-flow .consult-flow__step:not(:last-child)::after { left: 15px; }
}
