.consultation-process {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 92px 0 86px;
    color: var(--lunar-pearl);
    background:
        radial-gradient(ellipse 52% 42% at 50% 38%, rgba(91, 120, 154, .1), transparent 72%),
        linear-gradient(180deg, #06101d 0%, #040b16 58%, #050e1a 100%);
}

.consultation-process::before {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 50%;
    width: min(76%, 1080px);
    height: 1px;
    content: "";
    transform: translateX(-50%);
    background: linear-gradient(90deg, transparent, rgba(210, 223, 237, .28), transparent);
}

.consultation-process__header {
    max-width: 760px;
    margin: 0 auto 58px;
    text-align: center;
}

.consultation-process__eyebrow {
    margin: 0 0 12px;
    color: var(--lunar-silver-blue);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.consultation-process__title {
    margin: 0;
    color: var(--lunar-pearl);
    font-family: var(--serif);
    font-size: clamp(47px, 4.3vw, 62px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.025em;
}

.consultation-process__intro {
    max-width: 650px;
    margin: 20px auto 0;
    color: #c0ccd8;
    font-size: 17px;
    line-height: 1.6;
}

.consultation-process__timeline {
    --process-column-gap: clamp(30px, 4vw, 58px);
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: var(--process-column-gap);
    row-gap: 56px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.consultation-process__step::before {
    position: absolute;
    top: 46px;
    left: 50%;
    width: calc(100% + var(--process-column-gap));
    height: 1px;
    content: "";
    background: rgba(185, 201, 220, .42);
}

.consultation-process__step:nth-child(3n)::before {
    display: none;
}

.consultation-process__step {
    position: relative;
    min-width: 0;
    text-align: center;
}

.consultation-process__number {
    position: relative;
    z-index: 1;
    display: grid;
    width: 92px;
    height: 92px;
    margin: 0 auto 25px;
    place-items: center;
    border: 1px solid rgba(202, 216, 231, .38);
    border-radius: 50%;
    color: var(--lunar-silver-light);
    background: radial-gradient(circle, #12243a 0%, #091522 69%, #06101d 70%);
    font-family: var(--serif);
    font-size: 43px;
    font-weight: 500;
    line-height: 1;
    box-shadow: inset 0 0 0 6px rgba(232, 238, 245, .018), 0 0 24px rgba(185, 201, 220, .07);
}

.consultation-process__number::after {
    position: absolute;
    right: 9px;
    bottom: 10px;
    width: 5px;
    height: 5px;
    content: "";
    border-radius: 50%;
    background: var(--lunar-silver-blue);
    box-shadow: 0 0 9px var(--lunar-halo);
}

.consultation-process__step-content {
    position: relative;
    padding: 0 4px;
}

.consultation-process__step-title {
    margin: 0;
    color: #eef3f8;
    font-family: var(--serif);
    font-size: clamp(22px, 1.75vw, 26px);
    font-weight: 600;
    line-height: 1.12;
}

.consultation-process__step-text {
    margin: 14px 0 0;
    color: #aebcca;
    font-size: 15.5px;
    line-height: 1.55;
}

.consultation-process__action {
    display: flex;
    justify-content: center;
    margin-top: 43px;
}

.consultation-process .consultation-process__cta {
    color: #06101d;
    border-color: #c4d1de;
    background: linear-gradient(125deg, #f7f9fb, #e1e9f1 52%, #c1cfdd);
    box-shadow: inset 0 1px 0 #fff, 0 7px 18px rgba(0, 0, 0, .24);
}

.consultation-process .consultation-process__cta:hover {
    color: #020713;
    border-color: var(--lunar-pearl);
    background: linear-gradient(125deg, #fff, #edf2f7 52%, #d2dde7);
    box-shadow: inset 0 1px 0 #fff, 0 10px 22px rgba(0, 0, 0, .28), 0 0 16px rgba(218, 232, 247, .14);
}

.consultation-process .consultation-process__cta:focus-visible {
    outline: 3px solid var(--lunar-pearl);
    outline-offset: 4px;
    box-shadow: inset 0 1px 0 #fff, 0 0 0 2px #31465f, 0 9px 22px rgba(0, 0, 0, .28);
}

@media (max-width: 980px) {
    .consultation-process { padding: 78px 0 74px; }
    .consultation-process__header { margin-bottom: 48px; }
    .consultation-process__timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 42px; }
    .consultation-process__step::before { display: none; }
    .consultation-process__step { padding-inline: 18px; }
    .consultation-process__number { width: 82px; height: 82px; margin-bottom: 20px; font-size: 38px; }
}

@media (max-width: 640px) {
    .consultation-process { padding: 66px 0 64px; }
    .consultation-process__header { margin-bottom: 42px; text-align: left; }
    .consultation-process__eyebrow { font-size: 12px; }
    .consultation-process__title { font-size: clamp(42px, 12vw, 48px); line-height: .98; }
    .consultation-process__intro { margin-top: 17px; font-size: 16px; line-height: 1.55; }
    .consultation-process__timeline { display: grid; grid-template-columns: 1fr; gap: 0; }
    .consultation-process__timeline::before { position: absolute; display: block; top: 30px; right: auto; bottom: 30px; left: 29px; width: 1px; height: auto; content: ' '; background: linear-gradient(transparent, rgba(185, 201, 220, .42) 7%, rgba(185, 201, 220, .42) 93%, transparent); }
    .consultation-process__step { display: grid; grid-template-columns: 59px minmax(0, 1fr); gap: 18px; padding: 0 0 34px; text-align: left; }
    .consultation-process__step:last-child { padding-bottom: 0; }
    .consultation-process__number { width: 59px; height: 59px; margin: 0; font-size: 27px; }
    .consultation-process__number::after { right: 5px; bottom: 7px; width: 4px; height: 4px; }
    .consultation-process__step-content { align-self: center; padding: 0; }
    .consultation-process__step-title { font-size: 24px; line-height: 1.13; }
    .consultation-process__step-text { margin-top: 9px; font-size: 15.5px; line-height: 1.52; }
    .consultation-process__action { margin-top: 38px; }
    .consultation-process__cta { width: 100%; }
}

@media (min-width: 981px) {
    .consultation-process__header { margin-bottom: 48px; }
    .consultation-process__timeline { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .consultation-process__step-title { font-size: 28px; line-height: 1.15; }
    .consultation-process__step-text { font-size: 17.5px; line-height: 1.58; }
}

@media (prefers-reduced-motion: reduce) {
    .consultation-process .consultation-process__cta { transition: none; }
}
