.consultation-page {
    --consult-primary: #142d57;
    --consult-blue: #2f73e0;
    --consult-blue-dark: #1956b8;
    --consult-cyan: #5ec9ed;
    --consult-pink: #ed2e7e;
    --consult-soft: #f3f7ff;
    --consult-border: #dce6f5;
    --consult-muted: #68758b;
    padding: 42px 0 80px;
    color: var(--consult-primary);
    background: radial-gradient(circle at 9% 8%, rgba(94, 201, 237, .12), transparent 24rem), linear-gradient(180deg, #fbfdff 0%, #fff 34%);
}

.consultation-container { width: min(1240px, calc(100% - 32px)); margin-inline: auto; }

.consultation-alert {
    display: flex; align-items: center; gap: 12px; margin-bottom: 20px; padding: 15px 18px;
    border: 1px solid #bde7d1; border-radius: 14px; color: #17663d; background: #effbf4;
    box-shadow: 0 8px 24px rgba(23, 102, 61, .08);
}

.consultation-alert svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2.5; }

.consultation-hero {
    display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
    gap: 24px; align-items: stretch;
}

.consultation-visual {
    position: relative; min-height: 510px; overflow: hidden; border-radius: 28px; isolation: isolate; color: #fff;
    background: linear-gradient(135deg, rgba(20, 45, 87, .97), rgba(27, 88, 172, .94)), radial-gradient(circle at 80% 15%, rgba(94, 201, 237, .5), transparent 45%);
    box-shadow: 0 24px 60px rgba(20, 45, 87, .18);
}

.consultation-visual::before {
    content: ""; position: absolute; inset: 0; z-index: -1; opacity: .14;
    background-image: linear-gradient(rgba(255,255,255,.2) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.2) 1px, transparent 1px);
    background-size: 42px 42px; mask-image: linear-gradient(to left, #000, transparent 85%);
}

.consultation-visual-content { position: relative; z-index: 3; width: 58%; padding: 68px 54px; }

.consultation-kicker,
.consultation-form-heading > span,
.consultation-section-heading > span {
    display: inline-flex; align-items: center; gap: 8px; font-size: .86rem; font-weight: 600; color: var(--consult-blue);
}

.consultation-kicker { color: #b9eaff; }

.consultation-kicker::before,
.consultation-form-heading > span::before,
.consultation-section-heading > span::before {
    content: ""; width: 22px; height: 3px; border-radius: 999px; background: currentColor;
}

.consultation-visual h2 { margin: 20px 0 16px; font-size: clamp(2rem, 3.1vw, 3.35rem); line-height: 1.45; color: #fff; }
.consultation-visual p { margin: 0; font-size: 1rem; line-height: 2; color: rgba(255, 255, 255, .74); }
.consultation-benefits { display: flex; flex-direction: column; gap: 11px; margin-top: 28px; font-size: .9rem; }
.consultation-benefits span { display: flex; align-items: center; gap: 9px; }
.consultation-benefits i { width: 8px; height: 8px; border-radius: 50%; background: #9dda72; box-shadow: 0 0 0 5px rgba(157, 218, 114, .14); }

.consultation-mark { position: absolute; top: 50%; left: 4%; z-index: 1; width: 42%; transform: translateY(-50%); opacity: .98; }
.consultation-mark::before { content: ""; position: absolute; inset: 10% 4%; z-index: -1; border-radius: 50%; background: rgba(255,255,255,.12); filter: blur(30px); }
.consultation-mark img { width: 100%; height: auto; filter: drop-shadow(0 24px 30px rgba(0, 0, 0, .18)); }
.consultation-orb { position: absolute; border-radius: 50%; }
.consultation-orb-one { top: -70px; left: -40px; width: 190px; height: 190px; background: rgba(237, 46, 126, .17); }
.consultation-orb-two { right: 32%; bottom: -90px; width: 220px; height: 220px; background: rgba(103, 185, 49, .14); }

.consultation-floating-card {
    position: absolute; left: 20px; z-index: 4; display: flex; align-items: center; gap: 10px; min-width: 174px;
    padding: 11px 13px; border: 1px solid rgba(255,255,255,.35); border-radius: 14px; color: var(--consult-primary);
    background: rgba(255,255,255,.9); box-shadow: 0 12px 35px rgba(7,24,51,.2); backdrop-filter: blur(10px);
}

.consultation-floating-card-top { top: 42px; }
.consultation-floating-card-bottom { bottom: 40px; left: 46px; }
.consultation-floating-card svg { width: 28px; height: 28px; padding: 5px; border-radius: 9px; fill: none; stroke: var(--consult-blue); stroke-width: 1.8; background: #edf4ff; }
.consultation-floating-card span { display: flex; flex-direction: column; }
.consultation-floating-card strong { font-size: .78rem; }
.consultation-floating-card small { margin-top: 2px; font-size: .65rem; color: var(--consult-muted); }

.consultation-form-card {
    position: relative; padding: 38px 36px 30px; border: 1px solid var(--consult-border); border-radius: 28px;
    background: #fff; box-shadow: 0 20px 55px rgba(20,45,87,.1);
}

.consultation-form-icon {
    position: absolute; top: 30px; left: 30px; display: grid; place-items: center; width: 48px; height: 48px;
    border-radius: 15px; color: #fff; background: linear-gradient(135deg, var(--consult-blue), var(--consult-cyan));
    box-shadow: 0 10px 24px rgba(47,115,224,.24);
}

.consultation-form-icon svg,
.consultation-privacy svg,
.consultation-submit svg,
.consultation-step svg,
.consultation-quick svg {
    fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}

.consultation-form-icon svg { width: 25px; height: 25px; }
.consultation-form-heading { padding-left: 54px; }
.consultation-form-heading h1 { margin: 9px 0 8px; font-size: clamp(1.65rem, 2vw, 2rem); color: var(--consult-primary); }
.consultation-form-heading p { margin: 0; font-size: .86rem; line-height: 1.8; color: var(--consult-muted); }
.consultation-form { display: flex; flex-direction: column; gap: 18px; margin-top: 30px; }
.consultation-field { position: relative; }

.consultation-field input {
    width: 100%; height: 56px; padding: 18px 48px 7px 14px; border: 1px solid var(--consult-border); border-radius: 14px;
    outline: 0; color: var(--consult-primary); background: #fbfdff; transition: border-color .2s, box-shadow .2s, background .2s;
}

.consultation-field select {
    width: 100%; height: 56px; padding: 8px 56px 8px 48px; border: 1px solid var(--consult-border); border-radius: 14px;
    outline: 0; color: var(--consult-primary); background-color: #fbfdff; background-image: none !important;
    font: inherit; line-height: 1.5; direction: rtl; text-align: right; cursor: pointer;
    appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important;
    transition: border-color .2s, box-shadow .2s, background .2s;
}

.consultation-field select:invalid { color: #7a879b; }
.consultation-field select:valid { color: var(--consult-primary); }
.consultation-field select option { color: var(--consult-primary); background: #fff; }
.consultation-field select:focus { border-color: #94b8ed; background: #fff; box-shadow: 0 0 0 4px rgba(47,115,224,.1); }
.consultation-field select.input-validation-error { border-color: #e78699; background: #fffafb; }
.consultation-select-arrow {
    position: absolute; top: 21px; left: 19px; width: 10px; height: 10px; pointer-events: none;
    border-right: 2px solid #8aa0ba; border-bottom: 2px solid #8aa0ba; transform: rotate(45deg);
}

.consultation-field input[dir="ltr"] { padding-right: 48px; text-align: right; }

.consultation-field label {
    position: absolute; top: 50%; right: 48px; pointer-events: none; transform: translateY(-50%);
    font-size: .88rem; color: #7a879b; transition: all .2s;
}

.consultation-field > svg {
    position: absolute; top: 17px; right: 16px; width: 22px; height: 22px; fill: none; stroke: #8aa0ba;
    stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: stroke .2s;
}

.consultation-field input:focus,
.consultation-field input:not(:placeholder-shown) { border-color: #94b8ed; background: #fff; }
.consultation-field input:focus { box-shadow: 0 0 0 4px rgba(47,115,224,.1); }

.consultation-field input:focus + label,
.consultation-field input:not(:placeholder-shown) + label {
    top: 9px; transform: none; font-size: .68rem; font-weight: 600; color: var(--consult-blue);
}

.consultation-field input:focus ~ svg,
.consultation-field select:focus ~ svg { stroke: var(--consult-blue); }
.consultation-field .field-validation-error { display: block; margin: 6px 8px 0; font-size: .72rem; color: #d52d4d; }
.consultation-field input.input-validation-error { border-color: #e78699; background: #fffafb; }
.consultation-validation-summary { font-size: .78rem; color: #d52d4d; }
.consultation-validation-summary:empty { display: none; }

.consultation-submit {
    display: flex; align-items: center; justify-content: center; gap: 9px; height: 54px; border: 0; border-radius: 14px;
    color: #fff; background: linear-gradient(110deg, var(--consult-blue-dark), var(--consult-blue));
    box-shadow: 0 12px 26px rgba(47,115,224,.25); cursor: pointer; transition: transform .2s, box-shadow .2s;
}

.consultation-submit:hover { transform: translateY(-2px); box-shadow: 0 16px 30px rgba(47,115,224,.32); }
.consultation-submit:disabled { opacity: .7; cursor: wait; transform: none; }
.consultation-submit svg { width: 20px; height: 20px; }
.consultation-privacy { display: flex; align-items: center; justify-content: center; gap: 6px; margin: -4px 0 0; font-size: .69rem; color: #8a95a6; }
.consultation-privacy svg { width: 15px; height: 15px; }

.consultation-steps { padding: 88px 0 72px; }
.consultation-section-heading { margin-bottom: 32px; text-align: center; }
.consultation-section-heading > span { justify-content: center; }
.consultation-section-heading h2 { margin: 10px 0 0; font-size: clamp(1.55rem, 2.5vw, 2.2rem); color: var(--consult-primary); }
.consultation-step-list { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }

.consultation-step-list::before {
    content: ""; position: absolute; top: 50px; right: 16.6%; left: 16.6%; height: 2px; z-index: 0;
    background: linear-gradient(90deg, transparent, #9fc1ef 18%, #9fc1ef 82%, transparent);
}

.consultation-step {
    position: relative; z-index: 1; padding: 26px 24px 24px; border: 1px solid var(--consult-border); border-radius: 20px;
    text-align: center; background: #fff; box-shadow: 0 12px 34px rgba(20,45,87,.07);
}

.consultation-step-number {
    position: absolute; top: -10px; right: 18px; display: grid; place-items: center; width: 27px; height: 27px;
    border-radius: 9px; font-size: .78rem; font-weight: 700; color: #fff; background: var(--consult-pink);
    box-shadow: 0 6px 14px rgba(237,46,126,.22);
}

.consultation-step-icon {
    display: grid; place-items: center; width: 52px; height: 52px; margin: 0 auto 17px; border: 1px solid #c9dcf7;
    border-radius: 16px; color: var(--consult-blue); background: var(--consult-soft);
}

.consultation-step-icon svg { width: 27px; height: 27px; }
.consultation-step h3 { margin: 0 0 9px; font-size: 1.02rem; color: var(--consult-primary); }
.consultation-step p { margin: 0; font-size: .8rem; line-height: 1.9; color: var(--consult-muted); }

.consultation-quick {
    display: grid; grid-template-columns: auto minmax(250px, 1fr) minmax(330px, 430px); gap: 24px; align-items: center;
    padding: 26px 30px; border: 1px solid #d8e8ff; border-radius: 22px;
    background: linear-gradient(105deg, #edf5ff, #f7fbff 55%, #eef9ff); box-shadow: 0 16px 40px rgba(20,45,87,.08);
}

.consultation-quick-icon {
    display: grid; place-items: center; width: 64px; height: 64px; border-radius: 20px; color: #fff;
    background: linear-gradient(135deg, var(--consult-cyan), var(--consult-blue)); transform: rotate(-4deg);
    box-shadow: 0 10px 24px rgba(47,115,224,.22);
}

.consultation-quick-icon svg { width: 31px; height: 31px; }
.consultation-quick-copy h2 { margin: 0 0 7px; font-size: 1.15rem; color: var(--consult-primary); }
.consultation-quick-copy p { margin: 0; font-size: .82rem; line-height: 1.7; color: var(--consult-muted); }
.consultation-quick-input { position: relative; }
.consultation-quick-input > svg { position: absolute; top: 50%; right: 17px; width: 20px; height: 20px; transform: translateY(-50%); color: #8293aa; }

.consultation-quick-input input {
    width: 100%; height: 54px; padding: 0 48px 0 104px; border: 1px solid #cfdef1; border-radius: 15px;
    outline: 0; text-align: right; background: #fff; transition: border-color .2s, box-shadow .2s;
}

.consultation-quick-input input:focus { border-color: #8db2e8; box-shadow: 0 0 0 4px rgba(47,115,224,.1); }
.consultation-quick-input button {
    position: absolute; top: 7px; bottom: 7px; left: 7px; min-width: 88px; border: 0; border-radius: 11px;
    color: #fff; background: var(--consult-blue); cursor: pointer; transition: background .2s;
}
.consultation-quick-input button:hover { background: var(--consult-blue-dark); }

@media (max-width: 1024px) {
    .consultation-page { padding-top: 32px; }
    .consultation-hero { grid-template-columns: 1fr; }
    .consultation-visual { min-height: 420px; }
    .consultation-visual-content { width: 58%; padding: 52px 44px; }
    .consultation-mark { width: 34%; left: 8%; }
    .consultation-quick { grid-template-columns: auto 1fr; }
    .consultation-quick-form { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
    .consultation-page { padding: 24px 0 50px; }
    .consultation-container { width: min(100% - 20px, 620px); }
    .consultation-visual { min-height: 480px; border-radius: 22px; }
    .consultation-visual-content { width: 100%; padding: 34px 26px; text-align: center; }
    .consultation-visual h2 { margin-top: 14px; font-size: 1.85rem; }
    .consultation-kicker { justify-content: center; }
    .consultation-benefits { align-items: center; }
    .consultation-mark { top: auto; bottom: 8px; left: 50%; width: 190px; transform: translateX(-50%); opacity: .8; }
    .consultation-floating-card { display: none; }
    .consultation-form-card { padding: 28px 20px 24px; border-radius: 22px; }
    .consultation-form-icon { top: 22px; left: 20px; width: 42px; height: 42px; }
    .consultation-form-heading { padding-left: 45px; }
    .consultation-form-heading h1 { font-size: 1.45rem; }
    .consultation-steps { padding: 60px 0 48px; }
    .consultation-step-list { grid-template-columns: 1fr; gap: 16px; }
    .consultation-step-list::before { display: none; }
    .consultation-step { display: grid; grid-template-columns: auto 1fr; column-gap: 16px; text-align: right; }
    .consultation-step-icon { grid-row: 1 / 3; margin: 0; }
    .consultation-step h3 { align-self: end; }
    .consultation-step p { align-self: start; }
    .consultation-quick { grid-template-columns: 1fr; padding: 24px 18px; text-align: center; }
    .consultation-quick-icon { margin: 0 auto; }
    .consultation-quick-form { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
    .consultation-submit, .consultation-field input, .consultation-field select, .consultation-field label { transition: none; }
}
