/*! Typography settings */@font-face {
    font-display: fallback;
    font-family: Stem;
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/stem-regular.woff2) format("woff2");
}
@font-face {
    font-display: fallback;
    font-family: Stem;
    font-style: normal;
    font-weight: 500;
    src: url(../fonts/stem-medium.woff2) format("woff2");
}
:root {
    --font-stem: "Stem", sans-serif;
}
.f-stem-400 {
    font-weight: 400;
}
.f-stem-400, .f-stem-500 {
    font-family: var(--font-stem);
}
.f-stem-500 {
    font-weight: 500;
}
.critical-css-font-carrier {
    font-family: var(--font-montserrat);
}
.f-regular {
    font-size: 1.6rem;
    line-height: 1.5;
}
.f-sm {
    font-size: 1.4rem;
}
.f-sm, .f-xs {
    line-height: 1.5;
}
.f-xs {
    font-size: 1.2rem;
}
/*! Initial styling for basic html-elements */*, :after, :before {
    box-sizing: border-box;
}
* {
    margin: 0;
    padding: 0;
}
:focus {
    outline: none;
}
:not(input, textarea, select, .button, .ts-control):focus-visible {
    outline: 1px dashed var(--tab-focus-color);
    outline-offset: .5rem;
}
html {
    background-color: var(--html-bg-color);
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;
    font-size: 10px;
    height: 100%;
    scroll-behavior: smooth;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-text-size-adjust: 100%;
    color-scheme: normal;
}
html.has-scrollbar {
    overflow-x: unset;
    overflow-y: scroll;
}
body {
    --text-body-ff: var(--font-stem);
    --text-body-fz: 1.6rem;
    --text-body-lh: 1.5;
    color: var(--text-body-color);
    display: flex;
    flex-direction: column;
    font-family: var(--text-body-ff);
    font-size: var(--text-body-fz);
    font-weight: 400;
    height: auto;
    line-height: var(--text-body-lh);
    min-height: 100%;
    min-width: 32rem;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    font-variant-numeric: lining-nums;
}
body.no-transitions *, body.no-transitions :after, body.no-transitions :before {
    transition: none!important;
}
body.is-locked {
    position: fixed;
    top: var(--top-body-offset);
    width: 100%}
h1, h2, h3, h4, h5, h6, p {
    overflow-wrap: break-word;
}
.h1, .h2, .h3, h1, h2, h3 {
    font-weight: 500;
}
.h1, h1 {
    font-size: 3.5rem;
}
.h1, .h2, h1, h2 {
    line-height: 1.2;
}
.h2, h2 {
    font-size: 3rem;
}
.h2-fluid {
    font-size: clamp(2.6rem, 8vw, 3rem);
    line-height: 1.2;
}
.h3, h3 {
    font-size: 2rem;
    line-height: 1.3;
}
.h3--desktop, h3--desktop {
    font-size: 2.2rem;
    line-height: 2.9rem;
}
.h4, h4 {
    font-size: 1.8rem;
    line-height: 2.3rem;
}
.p {
    margin-bottom: 1.6rem;
}
br.lg, br.md-only, br.sm {
    display: none;
}
ol, ul {
    list-style: none;
    list-style-position: inside;
}
.ol, .p, .ul {
    margin-bottom: 1.6rem;
}
a {
    --color: var(--content-link-color);
    --color-hover: var(--content-link-color-hover);
    --color-active: var(--content-link-color-active);
    color: var(--color);
    text-decoration-color: #0000;
    transition-duration: var(--transition-duration-short);
    transition-property: var(--transition-props-color);
    transition-timing-function: var(--transition-func-cubic);
}
a:focus-visible, a:hover {
    color: var(--color-hover);
    text-decoration-color: initial;
}
a:active {
    color: var(--color-active);
}
button, input, optgroup, select, textarea {
    color: inherit;
    font-family: inherit;
    font-size: 100%;
    font-variant-numeric: inherit;
    font-weight: inherit;
    line-height: var(--text-body-lh);
}
button, select {
    text-transform: none;
    -webkit-user-select: none;
    user-select: none;
}
select {
    visibility: hidden;
}
button, input[type=button], input[type=reset], input[type=submit] {
    -webkit-appearance: button;
}
button, input[type=submit] {
    display: block;
}
button:hover, input[type=submit]:hover {
    cursor: pointer;
}
input[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}
input[type=number] {
    -moz-appearance: textfield;
}
input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
progress {
    vertical-align: initial;
}
canvas, img, picture, svg, video {
    display: block;
    max-width: 100%}
img {
    box-sizing: initial;
    height: 100%;
    object-fit: cover;
    width: 100%}
.picture-svg img {
    width: revert-layer;
}
.inline-svg {
    pointer-events: none;
}
address {
    font-style: normal;
}
table {
    border-collapse: initial;
    border-color: inherit;
    border-spacing: 0;
    table-layout: fixed;
    text-indent: 0;
}
hr {
    color: inherit;
    display: block;
}
.hr, hr {
    background-color: var(--color-black);
    border: none;
    height: .1rem;
}
.hr {
    margin: 2rem 0;
}
abbr[title] {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
}
b, strong {
    font-weight: bolder;
}
code, kbd, pre, samp {
    font-family: ui-monospace, SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
    font-size: 1em;
}
small {
    font-size: 80%}
sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: initial;
}
sub {
    bottom: -.25em;
}
sup {
    top: -.5em;
}
summary {
    display: list-item;
}
iframe {
    border: none;
}
::-moz-focus-inner {
    border-style: none;
    padding: 0;
}
:-moz-focusring {
    outline: 1px dotted ButtonText;
}
:-moz-ui-invalid {
    box-shadow: none;
}
::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
}
::-webkit-search-decoration {
    -webkit-appearance: none;
}
::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}
/*! Reusable utility classes */.offscreen {
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    clip: rect(0 0 0 0);
}
.ellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.truncate-box {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
}
.accordion-item {
    --animation-duration: 0.3s;
}
.accordion-item.is-open>.accordion-button .icon {
    transform: rotate(180deg);
}
.accordion-item.is-open>.accordion-panel {
    animation: none;
    max-height: unset;
}
.accordion-item.is-open.is-animating .accordion-panel {
    animation: accordionSlideDown var(--animation-duration);
    max-height: var(--accordion-height);
}
.accordion-button {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    -webkit-user-select: none;
    user-select: none;
}
.accordion-button::-webkit-details-marker, .accordion-button::marker {
    content: "";
    display: none;
}
.accordion-button .icon {
    transition: transform var(--transition-medium-cubic);
}
.accordion-panel {
    --accordion-height: 0;
    animation: accordionSlideUp var(--animation-duration);
    max-height: 0;
    overflow: hidden;
}
@keyframes accordionSlideUp {
    0% {
    max-height: var(--accordion-height);
    opacity: 1;
}
to {
    max-height: 0;
    opacity: 0;
}
}@keyframes accordionSlideDown {
    0% {
    max-height: 0;
    opacity: 0;
}
to {
    max-height: var(--accordion-height);
    opacity: 1;
}
}.accordion-content {
    padding: 1rem 0;
}
.alert {
    background-color: #ff3b301a;
    border-radius: 2rem;
    color: var(--color-red);
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    padding: 2rem;
}
.alert .content p {
    color: var(--color-red);
    line-height: 2.4rem;
    margin-bottom: .5rem;
}
.alert .content p:last-child {
    margin-bottom: 0;
}
.alert .content p.f-sm {
    line-height: 2rem;
}
/*! Buttons */.button {
    --border-color: var(--bg-color);
    --border-color-hover: var(--bg-color-hover);
    --bg-color: var(--color-brand);
    --bg-color-hover: var(--color-brand-hover);
    --color: var(--color-white);
    --color-hover: var(--color-white);
    align-items: center;
    background-color: var(--bg-color);
    border: 1px solid var(--border-color);
    border-radius: 1rem;
    color: var(--color);
    cursor: pointer;
    display: inline-flex;
    font-size: 1.6rem;
    font-weight: 500;
    gap: 2rem;
    justify-content: center;
    line-height: 1.3;
    min-height: 4rem;
    padding: 0 1.5rem;
    text-align: center;
    text-decoration: none;
    transition-duration: var(--transition-duration-medium);
    transition-property: transform, opacity, var(--transition-props-color);
    transition-timing-function: var(--transition-func-cubic);
}
.button:focus-visible, .button:hover {
    background-color: var(--bg-color-hover);
    border-color: var(--border-color-hover);
    color: var(--color-hover);
}
.button:active {
    opacity: .8;
}
.button--sm {
    min-height: 3.2rem;
    padding: 0 1.2rem;
}
.button--md {
    min-height: 5rem;
    padding: 0 2.9rem;
}
.button--lg {
    min-height: 5.4rem;
    padding: 0 3rem;
}
.button--xl {
    font-size: 2rem;
    line-height: 1.5;
    min-height: 6rem;
    padding: 0 4rem;
}
.button--xxl {
    font-size: 2rem;
    font-weight: 400;
    gap: 1rem;
    line-height: 1.2;
    min-height: 7rem;
    padding: 0 4.5rem;
}
.button--brand-white, .button--white {
    --border-color: var(--bg-color);
    --border-color-hover: var(--bg-color-hover);
    --bg-color: var(--color-white);
    --bg-color-hover: var(--color-gray-light);
    --color: var(--color-black);
    --color-hover: var(--color);
}
.button--brand-white {
    --color: var(--color-brand);
    --color-hover: var(--color);
}
.button--semi-white {
    --border-color: var(--color-white);
    --border-color-hover: var(--border-color);
    --bg-color: #fff3;
    --bg-color-hover: var(--bg-color);
    --color: var(--color-white);
    --color-hover: var(--color);
}
.button--semi-white:focus-visible, .button--semi-white:hover {
    opacity: .8;
}
.button--semi-white:active {
    opacity: .6;
}
.button--black {
    --border-color: var(--bg-color);
    --border-color-hover: var(--bg-color-hover);
    --bg-color: var(--color-black);
    --bg-color-hover: var(--color-gray-dark);
    --color: var(--color-white);
    --color-hover: var(--color);
}
.button--dark {
    --border-color: var(--bg-color);
    --border-color-hover: var(--bg-color-hover);
    --bg-color: var(--color-gray-dark);
    --bg-color-hover: var(--color-black);
    --color: var(--color-white);
    --color-hover: var(--color);
}
.button--outlined {
    --border-color: var(--color-divider);
    --border-color-hover: var(--color-brand);
    --bg-color: #0000;
    --bg-color-hover: #0000;
    --color: var(--color-gray-dark);
    --color-hover: var(--color-brand);
}
.button--dolyame {
    --bg-color: var(--color-black);
    --bg-color-hover: var(--color-gray-dark);
    background-image: url(../svg/icons/dolyame.svg);
    background-position: .7rem;
    background-repeat: no-repeat;
    border-radius: .8rem;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 2rem;
    min-height: 3.6rem;
    padding: 0 .8rem 0 3.3rem;
}
.button--sber {
    background: url(../svg/icons/sber.svg), linear-gradient(90deg, #79e500, #10d20d 38.4%, #00c256 67.4%, #00a9df);
    background-position: .8rem, 50%;
    background-repeat: no-repeat;
    border: none;
    line-height: 2.4rem;
    min-height: 3.6rem;
    padding: .6rem .8rem .6rem 4.2rem;
}
.button--sber:focus-visible, .button--sber:hover {
    opacity: .8;
}
.directions-button {
    --border-color: var(--color-divider);
    --border-color-hover: var(--color-brand);
    --color: var(--color-gray-dark);
    --color-hover: var(--color-brand);
    align-items: center;
    color: var(--color);
    display: flex;
    flex-direction: column;
    font-size: 1.6rem;
    gap: 1rem;
    line-height: 1.5;
    text-decoration: none;
    transition-duration: var(--transition-duration-medium);
    transition-property: opacity, var(--transition-props-color);
    transition-timing-function: var(--transition-func-cubic);
}
.directions-button:focus-visible, .directions-button:hover {
    color: var(--color-hover);
}
.directions-button:focus-visible .icon, .directions-button:hover .icon {
    border-color: var(--color-hover);
}
.directions-button:active {
    opacity: .8;
}
.directions-button .icon {
    align-items: center;
    border: 1px solid var(--border-color);
    border-radius: 50%;
    display: flex;
    height: 10.9rem;
    justify-content: center;
    transition: border-color var(--transition-medium-cubic), color var(--transition-medium-cubic);
    width: 10.9rem;
}
.directions-button .icon svg {
    font-size: 3.2rem;
}
.button-info {
    align-items: center;
    background-color: var(--color-gray);
    display: flex;
    height: 2.4rem;
    justify-content: center;
    -webkit-mask-image: url(../svg/icons/info.svg);
    mask-image: url(../svg/icons/info.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    transition: background-color var(--transition-medium-cubic), opacity var(--transition-medium-cubic);
    width: 2.4rem;
}
.button-info:focus-visible, .button-info:hover {
    opacity: .8;
}
.button-info:active {
    opacity: 1;
}
.button-info.is-active {
    background-color: var(--color-brand);
}
.close-button {
    background-color: #0000;
    border: 0;
    color: #0000;
    height: 2.2rem;
    overflow: hidden;
    transition: opacity var(--transition-medium-cubic);
    -webkit-user-select: none;
    user-select: none;
    width: 2.2rem;
}
.close-button:hover {
    opacity: .6;
}
.close-button:after, .close-button:before {
    background-color: var(--color-black);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 0;
    transform: rotate(45deg) translateX(0);
    width: .3rem;
}
.close-button:after {
    transform: rotate(-45deg) translateX(0);
}
/*! Cards */.countries-cards {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
}
.card {
    background-color: var(--color-white);
    border-radius: 2rem;
    display: flex;
    flex-direction: column;
}
.card__header {
    --padding: 1.6rem;
    display: grid;
}
.card__header>* {
    grid-area: 1/1;
    position: relative;
}
.card__header .card-tag {
    align-self: start;
    margin-left: var(--padding);
    margin-top: var(--padding);
}
.card-tag {
    align-items: center;
    background-color: #00000080;
    border: 1px solid var(--color-white);
    border-radius: 5rem;
    box-shadow: 0 4px 4px 0 #0000001a;
    display: inline-flex;
    font-size: 1.6rem;
    justify-content: center;
    line-height: 2.2rem;
    min-height: 3.2rem;
    padding: 0 1rem 0 .9rem;
    width: fit-content;
}
.card-tag, .card__title {
    color: var(--color-white);
}
.card__title {
    align-self: end;
    margin-bottom: var(--padding);
    margin-left: var(--padding);
    word-break: break-all;
}
.card__img {
    display: flex;
}
.card__img picture {
    aspect-ratio: 335/168;
    width: 100%}
.card__img img, .card__img:after {
    border-radius: 2rem 2rem 0 0;
}
.card__img:after {
    background-color: #0000004d;
    content: "";
    inset: 0;
    position: absolute;
}
.card__wrapper {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 2rem;
}
.card__details, .card__price {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: .4rem;
}
.card__actions {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
/*! Chips */.chip {
    --td-color: #0000;
    --td-color-hover: #0000;
    --bg-color: var(--color-gray-bg);
    --color: var(--color-gray);
    --color-hover: var(--color-black);
    --color-active: var(--color-black);
    align-items: center;
    background-color: var(--bg-color);
    border: none;
    border-radius: 5rem;
    color: var(--color);
    display: inline-flex;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1;
    min-height: 2.8rem;
    padding: .3rem 1.2rem .4rem;
    text-decoration: underline;
    text-decoration-color: var(--td-color);
    transition-duration: var(--transition-duration-short);
    transition-property: transform, opacity, var(--transition-props-color);
    transition-timing-function: var(--transition-func-cubic);
}
.chip:focus-visible, .chip:hover {
    color: var(--color-hover);
    text-decoration-color: var(--td-color-hover);
}
.chip:active {
    opacity: .8;
}
.chip.is-active {
    color: var(--color-active);
    pointer-events: none;
}
.chip--lg {
    font-size: 2rem;
}
.chip--white {
    --bg-color: var(--color-white);
}
/*! Pop-ups & modal dialogs */.dialog-container {
    align-items: center;
    background-color: #0000;
    border: none;
    color: var(--text-body-color);
    height: fit-content;
    justify-content: center;
    min-width: 28rem;
    overscroll-behavior: contain;
    width: fit-content;
}
.dialog-container[data-modal] {
    cursor: pointer;
    height: 100%;
    max-height: 100%;
    max-width: 100vw;
    width: 100%}
.dialog-container:not([data-modal]) {
    inset: 0;
    margin: auto;
    position: fixed;
    z-index: 1;
}
.dialog-container::backdrop {
    background-color: #0000;
}
.dialog-container[open] {
    animation: dialogSlideInUp .25s cubic-bezier(.71, 1.7, .77, 1.24) forwards;
    display: flex;
}
.dialog-container.close-dialog-animation {
    animation: dialogSlideOutDown .25s ease backwards;
}
@keyframes dialogSlideInUp {
    0% {
    opacity: 0;
    transform: translate3d(0, 4rem, 0);
}
to {
    opacity: 1;
    transform: translateZ(0);
}
}@keyframes dialogSlideOutDown {
    0% {
    opacity: 1;
    transform: translateZ(0);
}
to {
    opacity: 0;
    transform: translate3d(0, 8rem, 0);
}
}.dialog-container[data-dialog-stack][open] {
    --backdrop: var(--color-overlay-bg);
}
.dialog-container[data-dialog-stack][open]::backdrop {
    animation: dialogBackdropFadeIn .3s ease forwards;
}
.dialog-container[data-dialog-stack][open]:not([data-dialog-stack="1"]) {
    --backdrop: var(--color-stack-overlay-bg);
}
.ua-firefox .dialog-container[data-dialog-stack][open]::backdrop {
    background-color: var(--backdrop);
}
.dialog-container[data-dialog-stack].close-dialog-animation::backdrop {
    animation: dialogBackdropFadeOut .3s ease backwards;
}
@keyframes dialogBackdropFadeIn {
    0% {
    background-color: #0000;
}
to {
    background-color: var(--backdrop);
}
}@keyframes dialogBackdropFadeOut {
    0% {
    background-color: var(--backdrop);
}
to {
    background-color: #0000;
}
}.dialog {
    --horizontal-margin: 2rem;
    background-color: var(--color-white);
    border-radius: 2rem;
    cursor: auto;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    height: fit-content;
    margin: auto;
    max-height: 100vh;
    max-height: 100dvh;
    max-width: 71.2rem;
    min-width: 28rem;
    overflow: hidden auto;
    overscroll-behavior: contain;
    padding: 0 2rem 2rem;
    position: relative;
    width: calc(100% - var(--horizontal-margin)*2);
    z-index: 1000;
}
.dialog__close-button {
    position: absolute;
    right: 1.5rem;
    top: 1.5rem;
}
.dialog-header {
    background-color: var(--color-white);
    display: flex;
    gap: 2rem;
    margin-left: -2rem;
    padding: 1.6rem 2rem;
    position: sticky;
    top: 0;
    width: calc(100% + 4rem);
    z-index: 10;
}
.dialog-header__close {
    display: inline-flex;
    margin-left: auto;
}
.dialog-caption {
    color: var(--color-gray);
    line-height: 2.2rem;
    margin-bottom: .4rem;
    margin-top: -2rem;
}
.dialog-content {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.dialog-content>.content p {
    color: var(--color-gray);
    font-size: 1.4rem;
    line-height: 2rem;
    margin-bottom: 2rem;
}
.dialog-status {
    background-color: var(--color-brand);
    border-radius: 2rem;
    min-height: 18rem;
    overflow: hidden;
    position: relative;
    width: 100%}
.dialog-status:before {
    background-color: var(--color-blue);
    background-image: url(../svg/icons/checkmark-white.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    border-radius: 50%;
    color: var(--color-white);
    content: "";
    height: 29.3rem;
    position: absolute;
    right: 2.9rem;
    top: -5.7rem;
    width: 29.3rem;
}
.dialog-status--error {
    background-color: var(--color-red);
}
.dialog-status--error:before {
    background-color: #ffffff4d;
    background-image: url(../svg/icons/close-white.svg);
}
.dialog-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.dialog-footer .button {
    width: 100%}
[data-dialog=application] .button-info.dolyame-pop-up-button {
    display: none;
    margin-left: 1.5rem;
}
[data-dialog=application] .notification-field {
    display: none;
}
[data-dialog=application] .notification-field:has(.application-notification.is-visible) {
    display: flex;
}
[data-dialog=application] .dialog-footer {
    gap: 2.4rem;
    margin-top: .4rem;
}
.application-notification {
    display: none;
}
.application-notification.is-visible {
    display: flex;
}
.dialog-footer__agreement {
    color: var(--color-gray);
    font-size: 1.4rem;
    line-height: 2rem;
    margin: 0 auto;
    max-width: 40rem;
    text-align: center;
}
.dialog-footer__agreement a {
    --color: var(--color-gray);
    text-decoration-color: inherit;
}
.dolyame-pop-up .dialog {
    box-shadow: var(--shadow-pop-up);
    gap: 0;
    padding: 0 1.6rem 1.6rem;
}
.dolyame-pop-up .dialog-header {
    margin-left: -1.6rem;
    padding: 1.2rem 1.2rem 2rem 1.6rem;
    width: calc(100% + 3.2rem);
}
.dolyame-pop-up .dialog-header .dolyame-badge {
    position: relative;
    top: .4rem;
}
.dolyame-pop-up .dolyame-more {
    margin-top: -.4rem;
}
.dialog-free-consultation .text-field .error-label {
    display: none;
}
.dialog-free-consultation__title {
    font-size: 3rem;
}
.dialog-free-consultation__box {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}
.dialog-free-consultation__wrapper {
    margin: auto 0;
    padding: 0 4rem 2rem;
}
.dialog-free-consultation .dialog {
    background-color: var(--color-brand);
    color: var(--color-white);
    display: flex;
    flex-direction: column;
    gap: 1rem;
    height: 100%;
    max-width: 77rem;
    padding: 0;
}
.dialog-free-consultation .dialog-header {
    background: #0000;
    margin: 0;
    padding: 2rem 0;
    position: relative;
    width: 100%}
.dialog-free-consultation .dialog-header__close {
    position: absolute;
    right: 20px;
    top: 16px;
    z-index: 12;
}
.order-dialog .dialog {
    gap: 0;
    max-width: 110rem;
    --dialog-header-height: 100px;
}
.order-dialog .dialog-caption {
    margin: 0;
}
.order-dialog .form__field {
    max-width: 100%}
.order-dialog .payment-method .label-radio {
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
}
.order-dialog__total {
    position: sticky;
    top: var(--dialog-header-height);
}
.order-dialog__grid {
    display: grid;
    gap: 1.6rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.order-dialog__column {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}
/*! Drawer component */.drawer {
    background-color: var(--color-white);
    height: calc(100% - var(--header-height));
    max-width: 45rem;
    overflow: auto;
    position: fixed;
    top: 0;
    transition: transform var(--transition-long-cubic);
    width: 100%;
    z-index: 101;
}
.drawer--rtl {
    right: 0;
    transform: translateX(100%);
}
.drawer--ltr {
    left: 0;
    transform: translateX(-100%);
}
.drawer--ttb {
    transform: translateY(-100%);
}
.drawer--btt {
    bottom: 0;
    top: auto;
    transform: translateY(100%);
}
.drawer.is-active.drawer--ltr, .drawer.is-active.drawer--rtl {
    transform: translateX(0);
}
.drawer.is-active.drawer--btt, .drawer.is-active.drawer--ttb {
    transform: translateY(0);
}
/*! Dropdown component */.dropdown {
    --dropdown-offset: 10px;
    position: relative;
}
.dropdown[data-dropdown-hover] {
    margin-bottom: calc(var(--dropdown-offset)*-1);
    padding-bottom: var(--dropdown-offset);
}
.dropdown-container {
    --scrollbar-padding: 1rem;
    background-color: var(--color-white);
    border-radius: 2.4rem;
    box-shadow: var(--shadow-menu);
    display: none;
    gap: 1.6rem;
    left: 0;
    max-width: 30rem;
    min-width: 20rem;
    padding: 2rem calc(2rem - var(--scrollbar-padding)) 2rem 2rem;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 10;
}
.dropdown-container.is-visible {
    animation: dropdown-container-appear .2s;
    display: flex;
}
@keyframes dropdown-container-appear {
    0% {
    transform: translateY(1rem);
}
}.dropdown-content {
    max-height: 30rem;
    overflow-x: hidden;
    overflow-y: auto;
    padding-right: var(--scrollbar-padding);
    width: 100%}
.dropdown-button--select[aria-expanded=true] .dropdown-button__arrow {
    transform: rotate(180deg);
}
.dropdown-button__arrow {
    margin-left: .5rem;
    transition: transform var(--transition-medium-cubic);
}
/*! Forms and their elements */.form {
    --border-width: 0.1rem;
    --border-radius: 1rem;
    --border-color: var(--color-gray-bg);
    --border-color-hover: var(--color-divider);
    --border-color-focus: var(--color-brand);
    --input-height: 4rem;
    --input-padding: 0.7rem 1.5rem;
    --placeholder-color: var(--color-gray);
    --bg-color: var(--color-gray-bg);
    --input-color: var(--color-dark);
    caret-color: var(--color-brand);
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}
.form--white {
    --border-color: var(--color-white);
    --border-color-hover: var(--color-white);
    --border-color-focus: var(--color-white);
    --input-padding: 0 1.9rem;
    --input-color: var(--color-white);
    --input-height: 6rem;
    --placeholder-color: #ffffff80;
    --bg-color: #0000;
    caret-color: var(--color-white);
}
.form--white .error-label {
    --error-label-color: var(--color-white);
}
.form--white .error-field {
    --error-field-color: var(--color-pink-red);
    caret-color: var(--color-pink-red);
}
.form__fieldset {
    border: 0;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    position: relative;
}
.form__fieldset .close {
    height: 16px;
    position: absolute;
    right: 0;
    top: 0;
    width: 16px;
}
.form__fieldset .close:hover {
    cursor: pointer;
}
.form__fieldset .close:after, .form__fieldset .close:before {
    background: var(--color-dark);
    content: "";
    height: 100%;
    left: calc(50% - 1px);
    position: absolute;
    top: 0;
    width: 2px;
}
.form__fieldset .close:before {
    transform: rotate(45deg);
}
.form__fieldset .close:after {
    transform: rotate(-45deg);
}
.form__fieldset--full {
    max-width: 100%;
    width: 100%}
.form__fieldset+.form-add-button {
    margin-top: -.8rem;
}
.form-add-button {
    gap: 1rem;
    padding: 0 2.9rem;
    width: fit-content;
}
.form-add-button .icon {
    font-size: 2.4rem;
}
.form-legend {
    flex-shrink: 0;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2.3rem;
    margin-bottom: 1.2rem;
    width: 100%}
.form__field {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    position: relative;
    width: 100%}
.form__label {
    color: var(--color-gray);
    display: block;
    font-size: 1.4rem;
    line-height: 2rem;
    order: -1;
}
.text-input-wrapper {
    display: block;
    position: relative;
}
.form__text-input {
    background-color: var(--bg-color);
    border: var(--border-width) solid var(--border-color);
    border-radius: var(--border-radius);
    color: var(--input-color);
    min-height: var(--input-height);
    padding: var(--input-padding);
    transition: border-color var(--transition-medium-cubic);
    width: 100%}
.form__text-input:hover {
    border-color: var(--border-color-hover);
}
.form__text-input:focus-visible {
    border-color: var(--border-color-focus);
    outline: none;
}
.form__text-input:focus-visible::placeholder {
    opacity: 0;
}
.form__text-input::placeholder {
    color: var(--placeholder-color);
    opacity: 1;
}
.input-textarea {
    display: block;
    max-height: 24rem;
    min-height: 12rem;
    padding: 1rem 2rem;
    resize: vertical;
}
.file-field {
    align-items: center;
    background-color: var(--bg-color);
    border: var(--border-width) solid var(--border-color);
    border-radius: var(--border-radius);
    flex-direction: row;
    gap: 1rem;
    min-height: var(--input-height);
    padding: var(--input-padding);
    transition: border-color var(--transition-medium-cubic);
}
.file-field:hover {
    border-color: var(--border-color-hover);
}
.file-field:focus-within {
    border-color: var(--border-color-focus);
}
.input-file {
    cursor: pointer;
    font-size: 0;
    height: calc(100% + var(--border-width)*2);
    left: calc(var(--border-width)*-1);
    opacity: 0;
    position: absolute;
    top: calc(var(--border-width)*-1);
    width: calc(100% + var(--border-width)*2);
    z-index: 1;
}
.input-file::-webkit-file-upload-button {
    cursor: pointer;
}
.label-file {
    order: 0;
}
.checkbox-field {
    --checkbox-size: 3.2rem;
    justify-content: center;
    min-height: var(--input-height);
    z-index: 0;
}
.input-checkbox {
    opacity: 0;
    position: absolute;
    z-index: -1;
}
.input-checkbox:focus-visible+.label-checkbox .checkbox-input-control {
    border-color: var(--border-color-focus);
}
.input-checkbox:checked+.label-checkbox .checkbox-input-control:before {
    transform: translatey(-50%) scale(.9) rotate(45deg);
}
.label-checkbox {
    cursor: pointer;
    margin-left: calc(var(--checkbox-size) + 1.8rem);
    -webkit-user-select: none;
    user-select: none;
}
.label-checkbox:hover .checkbox-input-control {
    border-color: var(--border-color-hover);
}
.label-checkbox:active .checkbox-input-control {
    border-color: var(--border-color-focus);
}
.label-checkbox a {
    display: inline;
}
.checkbox-input-control {
    background-color: var(--bg-color);
    border: 1px solid var(--border-color);
    height: var(--checkbox-size);
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: border-color var(--transition-medium-cubic);
    width: var(--checkbox-size);
}
.checkbox-input-control:before {
    border-bottom: 2px solid var(--color-black);
    border-right: 2px solid var(--color-black);
    content: "";
    height: 2rem;
    left: 1.1rem;
    position: absolute;
    top: calc(50% - .3rem);
    transform: translateY(-50%) scale(0) rotate(45deg);
    width: 1rem;
}
.form__fieldset.radio-fieldset {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1rem;
}
.form__fieldset.radio-fieldset span.form__label {
    flex-shrink: 0;
    margin-bottom: -.5rem;
    width: 100%}
.form__fieldset.radio-fieldset .radio-tab .label-radio {
    font-size: 1.6rem;
    line-height: 2.2rem;
    min-height: 4.4rem;
    padding: 1rem 2.3rem;
}
.form__fieldset.radio-fieldset .error-label {
    flex-shrink: 0;
    width: 100%}
.form__fieldset.radio-fieldset+.form__fieldset:not(:has(.form-legend)) {
    margin-top: -.8rem;
}
.radio-legend {
    flex-shrink: 0;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2.3rem;
    margin-bottom: 1.2rem;
    width: 100%}
.radio-field {
    --radio-size: 2.4rem;
    --check-size: 1.4rem;
    --check-color: var(--color-black);
    justify-content: center;
    min-height: calc(var(--radio-size) + .4rem);
    z-index: 0;
}
.input-radio {
    opacity: 0;
    position: absolute;
    z-index: -1;
}
.input-radio:focus-visible+.label-radio .radio-input-control {
    border-color: var(--border-color-focus);
}
.input-radio:checked+.label-radio .radio-input-control {
    border-color: var(--border-color-focus);
}
.input-radio:checked+.label-radio .radio-input-control:before {
    transform: scale(1);
}
.label-radio {
    cursor: pointer;
    margin-left: calc(var(--radio-size) + 1.6rem);
    -webkit-user-select: none;
    user-select: none;
}
.label-radio:hover .radio-input-control {
    border-color: var(--border-color-hover);
}
.label-radio:active .radio-input-control {
    border-color: var(--border-color-focus);
}
.label-radio a {
    display: inline;
}
.radio-input-control {
    align-items: center;
    background-color: var(--bg-color);
    border: 1px solid var(--border-color);
    border-radius: 50%;
    display: flex;
    height: var(--radio-size);
    justify-content: center;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: border-color var(--transition-medium-cubic);
    width: var(--radio-size);
}
.radio-input-control:before {
    background-color: var(--check-color);
    border-radius: 50%;
    content: "";
    height: var(--check-size);
    transform: scale(0);
    width: var(--check-size);
}
.radio-tab {
    width: fit-content;
}
.radio-tab .label-radio {
    --border-color: var(--color-gray-light-2);
    --border-color-hover: var(--color-gray-dark);
    --bg-color: #0000;
    --color: var(--color-black);
    align-items: center;
    background-color: var(--bg-color);
    border: 1px solid var(--border-color);
    border-radius: 1rem;
    color: var(--color);
    display: inline-flex;
    justify-content: center;
    margin-left: 0;
    min-height: 3.6rem;
    padding: .4rem 2.3rem;
    transition-duration: var(--transition-duration-short);
    transition-property: var(--transition-props-color);
    transition-timing-function: var(--transition-func-cubic);
}
.radio-tab .label-radio:focus-visible, .radio-tab .label-radio:hover {
    border-color: var(--border-color-hover);
}
.radio-tab .input-radio:checked+.label-radio {
    --border-color: var(--color-gray-dark);
    --bg-color: var(--color-gray-dark);
    --color: var(--color-white);
}
.radio-tab .radio-input-control {
    display: none;
}
.select-field--sm .select-wrapper, .select-field--sm .ts-wrapper {
    min-height: 4rem;
}
.select-field--sm .ts-wrapper.single .ts-control {
    padding: 0 1.5rem;
}
.select-field--sm .ts-wrapper.single .ts-control [data-ts-item] {
    display: inline-block;
    padding: .6rem 0;
    width: calc(100% - 3.8rem);
}
.select-field--sm .ts-wrapper.single .ts-control:not(.rtl):after {
    right: 1.5rem;
}
.password-toggler {
    --icon-size: 2.4rem;
    background-color: #0000;
    background-image: url(../svg/icons/eye-hide.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    border: none;
    height: var(--icon-size);
    opacity: .6;
    position: absolute;
    right: 1.8rem;
    top: calc(var(--input-height)/2 - var(--icon-size)/2);
    width: var(--icon-size);
}
.password-toggler:focus-visible, .password-toggler:hover {
    opacity: 1;
}
.password-toggler+.input-password {
    padding-right: 5rem;
}
.password-toggler.is-active {
    background-image: url(../svg/icons/eye-show.svg);
}
.consultation-form {
    gap: 2rem;
}
.consultation-form .form__label {
    font-size: 1.6rem;
}
.application-total {
    align-items: flex-start;
    background-color: var(--color-gray-bg);
    border-radius: 2rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    justify-content: flex-start;
    padding: 2rem;
    position: relative;
}
.application-total__title {
    font-size: 3.5rem;
    font-weight: 500;
    line-height: 4.2rem;
    margin-bottom: -.8rem;
}
.application-total__row {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    width: 100%}
.application-total__row:has(.payment-methods) .application-total__caption {
    line-height: 2rem;
}
.application-total__caption {
    color: var(--color-gray);
    font-size: 1.4rem;
    line-height: 2.1rem;
}
.application-total__text {
    line-height: 2.2rem;
}
.application-total__price {
    font-size: 3.5rem;
    font-weight: 500;
    line-height: 4.2rem;
}
.payment-methods {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-top: 1.5rem;
}
.payment-methods .label-radio {
    --check-size: 1.2rem;
    --check-color: var(--color-brand);
    color: var(--color-black);
    display: flex;
    flex-direction: column;
    font-size: 1.6rem;
    line-height: 2.2rem;
}
.payment-methods .radio-input-control {
    --border-color: var(--color-gray);
    --border-color-hover: var(--color-gray-dark);
    --border-color-focus: var(--color-black);
}
.payment-method {
    width: 100%}
.payment-method:not(:last-child) {
    border-bottom: 1px dashed var(--color-gray-light-3);
    padding-bottom: 1.5rem;
}
.payment-method__icons {
    align-items: center;
    display: flex;
    gap: 1.2rem;
    margin-top: .5rem;
}
.payment-method__icons img {
    object-fit: fill;
    width: fit-content;
}
.payment-method--card .payment-method__icons img {
    height: 1.1rem;
}
.payment-method--card .payment-method__icons img:nth-child(2) {
    height: 1.6rem;
}
.payment-method--sber-installment .payment-method__icons img {
    height: 2.5rem;
}
.dynamic-validation-block .form-add-button, .dynamic-validation-wrapper {
    display: none;
}
.dynamic-validation-block.active .dynamic-validation-wrapper, .dynamic-validation-block.active .form-add-button {
    display: flex;
}
/*! Icons */.icon {
    display: inline-block;
    flex-shrink: 0;
    font-size: 3rem;
}
.icon--40 {
    font-size: 4rem;
}
.icon--60 {
    font-size: 6rem;
}
.social-icon-link {
    --border-color: var(--bg-color);
    --bg-color: #0000;
    align-items: center;
    background-color: var(--bg-color);
    border: 1px solid var(--border-color);
    border-radius: 50%;
    display: flex;
    height: 3rem;
    justify-content: center;
    overflow: hidden;
    transition: opacity var(--transition-medium-cubic);
    width: 3rem;
}
.social-icon-link .icon {
    font-size: 1.9rem;
    position: relative;
    transition: transform var(--transition-medium-cubic);
}
.social-icon-link:focus-visible .icon, .social-icon-link:hover .icon {
    transform: scale(1.1);
}
.social-icon-link:active {
    opacity: .8;
}
.social-icon-link--50 {
    height: 5rem;
    width: 5rem;
}
.social-icon-link--50 .icon {
    font-size: 3.1rem;
}
.social-icon-link--50.social-icon-link--telegram .icon {
    font-size: 2.7rem;
}
.social-icon-link--70 {
    height: 7rem;
    width: 7rem;
}
.social-icon-link--70 .icon {
    font-size: 3rem;
}
.social-icon-link--whatsapp {
    --bg-color: var(--color-whatsapp-green);
}
.social-icon-link--telegram {
    --bg-color: var(--color-telegram-blue);
}
.social-icon-link--telegram .icon {
    font-size: 1.6rem;
    left: -.1rem;
    top: .1rem;
}
.social-icon-link--white {
    --border-color: var(--color-white);
}
/*! Links */.link {
    --td-color: #0000;
    --td-color-hover: #0000;
    --color: var(--content-link-color);
    --color-hover: var(--content-link-color-hover);
    --color-active: var(--content-link-color-active);
    align-items: center;
    background-color: #0000;
    border: none;
    color: var(--color);
    display: inline-flex;
    text-decoration: underline;
    text-decoration-color: var(--td-color);
    transition-duration: var(--transition-duration-short);
    transition-property: transform, opacity, var(--transition-props-color);
    transition-timing-function: var(--transition-func-cubic);
}
.link:not(.h1, .h2, .h3, .h4, .dialog-header__close) {
    font-weight: inherit;
    line-height: inherit;
}
.link:focus-visible, .link:hover {
    color: var(--color-hover);
    text-decoration-color: var(--td-color-hover);
}
.link:active {
    color: var(--color-active);
}
.link--inline {
    display: inline;
}
.link--underline {
    text-decoration-color: initial;
}
.link--dark {
    --color: var(--color-dark);
    --color-hover: var(--color-gray);
    --color-active: var(--content-link-color-active);
}
.link--black {
    --color: var(--color-black);
    --color-hover: var(--color-brand);
    --color-active: var(--content-link-color-active);
}
.link--gray {
    --color: var(--color-gray);
    --color-hover: var(--color-black);
    --color-active: var(--color-dark);
}
.link--white {
    --color: var(--color-white);
    --color-hover: var(--color-gray-light);
    --color-active: var(--color-hover);
}
/*! Nav component rules */.nav {
    max-width: 100%}
.nav__list {
    align-items: center;
    display: flex;
    gap: 2rem;
    padding-left: 0;
}
.nav__item[data-dropdown] {
    --container-offset: 1rem;
}
.nav__link {
    align-items: center;
    display: inline-flex;
    text-decoration: none;
}
.nav__link.brand {
    color: var(--color-brand);
}
.nav__link .icon {
    font-size: 2.2rem;
    margin-left: .6rem;
    transition: transform var(--transition-medium-cubic);
}
.sublist-toggler--level-1 {
    margin-bottom: calc(var(--container-offset)*-1);
    padding-bottom: var(--container-offset);
}
.sublist-toggler[aria-expanded=true] .icon {
    transform: rotate(180deg);
}
.sublist-toggler:not(.sublist-toggler--level-1) {
    overflow: hidden;
    width: 100%}
.sublist-container {
    --scrollbar-padding: 1rem;
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .2s linear;
}
.sublist-container.is-visible {
    grid-template-rows: 1fr;
}
@keyframes sublist-appear {
    0% {
    opacity: 0;
    transform: translateY(1rem);
}
}.nav__sublist {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    max-height: 30rem;
    overflow-x: hidden;
    overflow-y: auto;
    padding-right: var(--scrollbar-padding);
}
/*! Main navbar component */.navbar {
    display: flex;
}
.navbar .nav__link {
    --color: var(--color-black);
    --color-hover: var(--color-brand);
    font-size: 1.6rem;
    line-height: 2.2rem;
}
.navbar-toggler {
    display: none;
    flex-shrink: 0;
}
.navbar-contacts {
    gap: 2rem;
    height: 100%;
    max-height: 27.4rem;
}
.navbar-contacts, .navbar-contacts__wrapper {
    align-items: center;
    display: flex;
    flex-direction: column;
}
.navbar-contacts__wrapper {
    margin-top: auto;
}
.navbar-contacts__socials {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
}
/*! Overlay component */.navbar-application, .overlay {
    width: 100%}
.overlay {
    background-color: var(--color-overlay-bg);
    cursor: pointer;
    height: 100%;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    transition: var(--transition-overlay);
    visibility: hidden;
    z-index: 100;
}
.overlay.is-visible {
    opacity: 1;
    visibility: visible;
}
.dialog-overlay {
    z-index: 101;
}
.custom-scroll, .dialog, .dropdown-content, .nav__sublist, .ts-dropdown-content {
    --track-width: 0.6rem;
    --track-vertical-offset: 0.5rem;
    --track-color: #0000;
    --thumb-width: 0.6rem;
    --thumb-color: var(--color-gray);
    --thumb-hover-color: var(--color-gray-dark);
}
.custom-scroll::-webkit-scrollbar, .dialog::-webkit-scrollbar, .dropdown-content::-webkit-scrollbar, .nav__sublist::-webkit-scrollbar, .ts-dropdown-content::-webkit-scrollbar {
    width: var(--track-width);
}
.custom-scroll::-webkit-scrollbar-track, .dialog::-webkit-scrollbar-track, .dropdown-content::-webkit-scrollbar-track, .nav__sublist::-webkit-scrollbar-track, .ts-dropdown-content::-webkit-scrollbar-track {
    background-color: var(--track-color);
    border-radius: .8rem;
    margin-bottom: var(--track-vertical-offset);
    margin-top: var(--track-vertical-offset);
}
.custom-scroll::-webkit-scrollbar-thumb, .dialog::-webkit-scrollbar-thumb, .dropdown-content::-webkit-scrollbar-thumb, .nav__sublist::-webkit-scrollbar-thumb, .ts-dropdown-content::-webkit-scrollbar-thumb {
    background-color: var(--thumb-color);
    border-radius: .8rem;
    width: var(--thumb-width);
}
.custom-scroll::-webkit-scrollbar-thumb:hover, .dialog::-webkit-scrollbar-thumb:hover, .dropdown-content::-webkit-scrollbar-thumb:hover, .nav__sublist::-webkit-scrollbar-thumb:hover, .ts-dropdown-content::-webkit-scrollbar-thumb:hover {
    background-color: var(--thumb-hover-color);
}
.dialog {
    --track-vertical-offset: 2.5rem;
}
@-moz-document url-prefix() {
    .custom-scroll, .dropdown-content, .nav__sublist {
    scrollbar-color: var(--thumb-color) var(--track-color);
    scrollbar-width: thin;
}
}/*! Swiper.js */.swiper {
    min-width: 0;
    -webkit-user-select: none;
    user-select: none;
    width: 100%}
.swiper-button-next, .swiper-button-prev {
    --swiper-navigation-color: var(--color-red);
    align-items: center;
    display: flex;
    justify-content: center;
    outline: 0;
    -webkit-user-select: none;
    user-select: none;
}
.swiper-button-next.swiper-button-lock, .swiper-button-prev.swiper-button-lock {
    display: none;
}
.swiper-button-next:after, .swiper-button-prev:after {
    --swiper-navigation-size: 2rem;
    content: ">";
    font-family: inherit;
    font-weight: 700;
    height: auto;
    width: auto;
}
.swiper-button-prev:after {
    content: "<"}
.swiper-controls {
    align-items: center;
    background-color: var(--color-white);
    border-radius: 2rem;
    bottom: .5rem;
    display: flex;
    height: 3rem;
    justify-content: center;
    position: absolute;
    right: 2rem;
    -webkit-user-select: none;
    user-select: none;
    width: 14rem;
    z-index: 1;
}
.swiper-controls .swiper-button-next, .swiper-controls .swiper-button-prev {
    height: 3rem;
    margin-top: 0;
    right: 0;
    top: 0;
    width: 2.5rem;
    z-index: 11;
}
.swiper-controls .swiper-button-prev {
    left: 0;
}
.swiper-controls .swiper-pagination {
    position: static;
}
.swiper--reverse {
    transform: rotate(180deg);
}
.swiper--reverse .swiper-controls, .swiper--reverse .swiper-slide {
    transform: rotate(-180deg);
}
.select-wrapper, .ts-wrapper {
    min-height: 5.4rem;
}
.select-wrapper:has(.countries-search) {
    min-height: 4rem;
}
select.error-field+.ts-wrapper.single .ts-control {
    border-color: var(--color-red);
}
select.error-field~.error-label {
    margin-top: .5rem;
}
.ts-control, .ts-control input, .ts-dropdown {
    color: var(--color-black);
    font-size: 1.6rem;
    line-height: 2.2rem!important;
}
.ts-wrapper.single .ts-control {
    background-color: var(--color-gray-bg);
    background-image: none;
    border-color: var(--color-gray-bg);
    border-radius: 1rem;
    box-shadow: none;
    padding: 0 1.9rem;
}
.ts-wrapper.single .ts-control:focus-visible, .ts-wrapper.single .ts-control:hover {
    border-color: var(--color-divider);
}
.ts-wrapper.single .ts-control [data-ts-item] {
    align-items: center;
    display: inline-flex;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ts-wrapper.single .ts-control .item[data-value=""] {
    color: var(--color-gray);
}
.ts-wrapper.single .ts-control:not(.rtl):after {
    background-image: url(../svg/icons/chevron-down.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    border: none;
    height: 2.4rem;
    margin-top: 0;
    right: 1.9rem;
    transform: translateY(-50%);
    width: 2.4rem;
}
.ts-wrapper.single.input-active .ts-control {
    background-color: var(--color-gray-bg);
    cursor: pointer;
}
.ts-wrapper.single.input-active .ts-control:after {
    margin-top: 0;
}
.ts-wrapper.single.dropdown-active .ts-control {
    border-color: var(--color-brand);
}
.ts-wrapper.single.dropdown-active .ts-control:after {
    transform: translateY(-50%) rotate(180deg);
}
.ts-dropdown, .ts-dropdown.single {
    border-top: 1px solid var(--color-divider);
    border-color: var(--color-divider);
    border-radius: 1rem;
    box-shadow: var(--shadow-menu);
    margin-top: .4rem;
    padding: .8rem 0 1.4rem;
}
.dropdown-input-wrap {
    position: relative;
}
.plugin-dropdown_input .dropdown-input {
    background-image: url(../svg/icons/search.svg);
    background-position: 1.5rem 1.1rem;
    background-repeat: no-repeat;
    border: solid var(--color-divider);
    border-radius: .8rem;
    border-width: 1px;
    caret-color: var(--color-brand);
    margin: .8rem 1.6rem;
    padding: 1.1rem 4.6rem 1.1rem 5.1rem;
    width: calc(100% - 3.2rem);
}
.plugin-dropdown_input .dropdown-input::placeholder {
    color: var(--color-gray);
}
.dropdown-input-clear {
    background-color: #0000;
    background-image: url(../svg/icons/close.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    border: none;
    height: 2.4rem;
    position: absolute;
    right: 3.1rem;
    top: 50%;
    transform: translateY(-50%) scale(0);
    transition: opacity var(--transition-medium-cubic), transform var(--transition-medium-cubic);
    visibility: hidden;
    width: 2.4rem;
}
.dropdown-input-clear.is-visible {
    transform: translateY(-50%) scale(1);
    visibility: visible;
}
.dropdown-input-clear.is-visible:hover {
    opacity: .8;
}
.ts-dropdown-content .option[data-value=""] {
    display: none;
}
.ts-dropdown .no-results, .ts-dropdown [data-selectable].option {
    align-content: center;
    border-radius: .4rem;
    margin-left: .8rem;
    min-height: 4rem;
    padding-left: .8rem;
}
.ts-dropdown .active {
    background-color: var(--color-gray-bg);
    color: var(--color-black);
}
.ts-dropdown [data-selectable] .highlight {
    background-color: #0000;
    font-weight: 500;
}
.ts-dropdown-content {
    max-height: 20rem;
}
.countries-search {
    min-height: 4rem;
}
.countries-search.single .ts-control {
    caret-color: var(--color-brand);
    padding: 0 1.5rem;
}
.countries-search.single .ts-control [data-ts-item] {
    padding-bottom: 0;
}
.countries-search.single .ts-control:after {
    opacity: 0;
    pointer-events: none;
}
.countries-search.single .ts-control, .countries-search.single .ts-control input {
    cursor: text;
}
.countries-search .clear-button {
    background-image: url(../svg/icons/close.svg)!important;
    background-position: 50%;
    background-repeat: no-repeat;
    height: 2.4rem;
    right: 1.6rem!important;
    transform: translateY(-50%) scale(0);
    transition: opacity var(--transition-medium-cubic), transform var(--transition-medium-cubic);
    width: 2.4rem;
}
.countries-search .clear-button:focus-visible, .countries-search .clear-button:hover {
    opacity: .8!important;
}
.countries-search .clear-button.is-visible {
    opacity: 1;
    transform: translateY(-50%) scale(1);
}
.countries-search.plugin-clear_button.focus.has-items .clear-button {
    transform: translateY(-50%) scale(1);
}
.error-label {
    --error-label-color: var(--color-red);
    color: var(--error-label-color);
    font-size: 1.2rem;
}
.error-field {
    --error-field-color: var(--color-red);
    border-color: var(--error-field-color);
}
.error-field:focus-visible, .error-field:hover {
    border-color: var(--error-field-color);
}
.error-field:active {
    border-color: var(--error-field-color);
}
.input-checkbox.error-field+.form__label {
    color: var(--error-field-color);
}
.input-checkbox.error-field+.form__label .checkbox-input-control {
    border-color: var(--error-field-color);
}
.input-checkbox.error-field~.error-label {
    display: none;
}
.radio-fieldset--required:has(.input-radio.error-field) {
    --error-field-color: var(--color-red);
}
.radio-fieldset--required:has(.input-radio.error-field) .radio-input-control {
    border-color: var(--error-field-color);
}
.video {
    --aspect-ratio: 335/200;
    --border-radius: 1rem;
    aspect-ratio: var(--aspect-ratio);
    border-radius: var(--border-radius);
    display: grid;
    overflow: hidden;
    position: relative;
    width: 100%}
.video__preview {
    grid-area: 1/1;
    height: 100%;
    width: 100%}
.video__preview.is-hidden, .video__preview.is-hidden+.video__button {
    display: none;
}
.video__preview img {
    aspect-ratio: var(--aspect-ratio);
}
.video__button {
    border-radius: 2rem;
    grid-area: 1/1;
    height: 8rem;
    margin: auto;
    position: relative;
    width: 8rem;
    z-index: 1;
}
.video__button .icon {
    font-size: 3.6rem;
    transform: translateY(-.1rem);
}
.video__wrapper {
    border-radius: var(--border-radius);
    overflow: hidden;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.video__media {
    background-color: var(--color-black);
    display: none;
    height: 100%;
    width: 100%}
.video__media.is-visible {
    display: block;
}
/*! Main header rules */.header {
    background-color: var(--color-white);
    min-width: 32rem;
    padding: 1.6rem 0;
}
.header .container {
    align-items: center;
    display: flex;
    gap: 2.3rem;
    justify-content: space-between;
    position: relative;
}
.header .container>.easy-directions {
    display: none;
}
.header.is-sticky {
    border-bottom: 1px solid #e1e8f0;
    position: fixed;
    top: calc(var(--sticky-header-offset,  0px)*-1);
    width: 100%}
.header.is-sticky~.page-wrapper {
    margin-top: calc(var(--sticky-header-height,  var(--header-height)) + var(--sticky-header-offset,  0px));
}
.header[data-sticky-on-top] {
    z-index: 101;
}
.header[data-sticky-on-top] .navbar {
    top: calc(var(--header-height) + var(--header-offset,  0px) + var(--top-body-offset,  0px));
}
.header[data-sticky-on-top].is-sticky .navbar {
    top: var(--sticky-header-height, var(--header-height));
}
.header__logo {
    display: block;
}
.header__logo img {
    object-fit: contain;
}
.easy-directions {
    flex-wrap: wrap;
    gap: .8rem;
}
.easy-directions, .header__contacts {
    align-items: center;
    display: flex;
}
.header__consultation {
    display: none;
}
.header__icons {
    display: flex;
    gap: 1rem;
}
.header-phone {
    display: none;
    gap: 0;
    margin-left: auto;
    margin-right: 20px;
}
.header-phone__wrapper {
    display: flex;
    flex-direction: column;
}
.header-phone__number {
    color: #0a0d14;
    font-size: 19px;
    font-weight: 500;
    line-height: 1.2;
}
.header-phone__text {
    color: #64748b;
    font-size: 13px;
    font-weight: 500;
}
/*! General layout structure */.page-wrapper {
    flex: 1 0 auto;
}
.main>.h1 {
    margin-bottom: 3rem;
    margin-top: 5rem;
}
.container {
    margin: 0 auto;
    max-width: 133rem;
    min-width: 32rem;
    padding-left: 1rem;
    padding-right: 1rem;
    width: 100%}
.container--narrow {
    max-width: 128rem;
}
.vw-container {
    margin-left: calc(-50vw + 50%);
    position: relative;
    width: 100vw;
}
.vw-container--right {
    margin-left: 0;
}
.vw-container--left {
    width: auto;
}
.scroll-target {
    --margin-top: 5rem;
    scroll-margin: calc(var(--header-height) + var(--margin-top));
}
.section {
    padding: 5rem 0;
}
.section, .section>.container {
    display: flex;
    flex-direction: column;
    gap: 5rem;
}
.section__hgroup {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin: 0 0 -3rem;
    max-width: 48.2rem;
}
.section__hgroup .section__title {
    margin-bottom: 0;
}
.section__title {
    margin-bottom: -3rem;
}
.section__caption {
    color: var(--color-gray);
}
.section:not(.bg-gray):has(+.section:not(.bg-gray)) {
    margin-bottom: -5rem;
}
.panel, .white-block {
    background-color: var(--color-white);
    border-radius: 2rem;
    display: flex;
    flex-direction: column;
    gap: 3rem;
    padding: 2rem;
}
.panel {
    box-shadow: var(--shadow-panel);
}
.panel+.panel {
    margin-top: 3rem;
}
/*! Separated raw html elements rules */.content {
    --common-gap: 0;
}
.content section {
    overflow: auto;
    padding: 5rem 0;
}
.content section+section {
    padding-top: 0;
}
.content h1 {
    margin-bottom: 3rem;
}
.content h2 {
    margin-bottom: 2.8rem;
}
.content h3 {
    margin-bottom: 1rem;
}
.content p {
    margin-bottom: 2.2rem;
}
.content p:last-child, .content p:only-child {
    margin-bottom: 0;
}
.content p+img, .content p+picture {
    margin-top: 3.2rem;
}
.content ol, .content ul {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-bottom: 2rem;
}
.content ol:last-child, .content ol:only-child, .content ul:last-child, .content ul:only-child {
    margin-bottom: 0;
}
.content ol+img, .content ol+picture, .content ul+img, .content ul+picture {
    margin-top: 3.2rem;
}
.content ol {
    counter-reset: li;
}
.content ol li {
    display: flex;
    gap: .5rem;
}
.content ol li:before {
    content: counters(li, ".", decimal) ".";
    counter-increment: li;
    flex-shrink: 0;
    min-width: 1.4rem;
}
.content ul li {
    padding-left: 2.7rem;
    padding-top: .3rem;
    position: relative;
}
.content ul li:before {
    background-color: var(--color-brand);
    border-radius: 50%;
    content: "";
    height: 1.7rem;
    left: 0;
    position: absolute;
    top: .7rem;
    width: 1.7rem;
}
.content ul li h3 {
    margin-bottom: .7rem;
}
.content ul li p {
    margin-bottom: 2.4rem;
}
.content ul li p:last-child, .content ul li p:only-child {
    margin-bottom: 0;
}
.content ul.steps li:after {
    background-color: var(--color-brand);
    content: "";
    height: calc(100% + 3rem);
    left: .8rem;
    position: absolute;
    top: .7rem;
    width: .1rem;
}
.content ul.steps li:last-child:after {
    display: none;
}
.content table {
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%}
.content th {
    text-align: left;
}
.content img {
    border-radius: 1rem;
}
.content img.float-right, .content picture:has(.float-right) {
    float: right;
    margin-top: 0;
}
/*! Main footer rules */.footer {
    min-width: 32rem;
    padding: 5rem 0 2rem;
}
.footer .container, .requisites {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.requisites {
    background-color: var(--color-brand);
    border-radius: 2rem;
    color: var(--color-white);
    margin: 0 auto;
    max-width: 55rem;
    padding: 5rem 2rem;
}
.requisites__title {
    font-size: 3.5rem;
    font-weight: 500;
    line-height: 4.2rem;
}
.requisites__list {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-bottom: 1rem;
}
.requisites__item {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}
.requisites__item--tel {
    flex-direction: column-reverse;
    gap: 1rem;
}
.requisites__item--tel .requisites__caption {
    font-size: 1.6rem;
    line-height: 2.4rem;
}
.requisites__item--tel .requisites__text {
    font-size: 3rem;
    line-height: 1;
}
.requisites__caption {
    font-size: 1.4rem;
    line-height: 2.1rem;
}
.requisites__text {
    font-size: 2rem;
    font-weight: 500;
    line-height: 2.6rem;
}
.requisites__footer {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}
.requisites__agreement {
    align-self: flex-start;
    width: 100%}
.requisites__socials {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem;
}
.footer-cards {
    margin: 0 auto;
    max-width: 55rem;
}
.footer-card, .footer-cards {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.footer-card {
    background-color: var(--color-gray-bg);
    border-radius: 2rem;
    flex-grow: 1;
    padding: 2rem;
    width: 100%}
.footer-card--newsletter .button {
    font-size: 1.6rem;
}
.footer-card p {
    max-width: 61rem;
}
.footer-newsletter {
    display: flex;
    gap: 3rem;
}
.footer-newsletter__icon {
    align-items: center;
    background-color: var(--color-telegram-blue);
    border-radius: 50%;
    display: flex;
    flex-shrink: 0;
    height: 7rem;
    justify-content: center;
    width: 7rem;
}
.footer-newsletter__title {
    font-size: 2rem;
    font-weight: 500;
    line-height: 2.6rem;
}
.footer-newsletter__title span {
    color: var(--color-gray);
    display: block;
    font-size: 1.6rem;
    font-weight: 400;
}
.footer-card__logo img {
    height: 4rem;
    object-fit: fill;
    width: 24rem;
}
/*! Homepage *//*! Hero section */.hero {
    padding: 5rem 0;
}
.hero>.container {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 5rem;
}
.hero>.container:after {
    aspect-ratio: 335/340;
    background-image: url(../img/layout/hero-335w.png);
    background-image: url(../img/layout/hero-335w.webp);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    max-width: 52rem;
    width: 100%}
.webp .hero>.container:after {
    background-image: -webkit-image-set(url(../img/layout/hero-335w.webp) 1x, url(../img/layout/hero-670w.webp) 2x);
    background-image: image-set(url(../img/layout/hero-335w.webp) 1x, url(../img/layout/hero-670w.webp) 2x);
}
.hero__wrapper {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    gap: 2rem;
    max-width: 52rem;
}
.hero__title {
    max-width: 42rem;
}
.directions-selector {
    background-color: var(--color-white);
    border-radius: 2rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    max-width: 52rem;
    padding: 2rem;
}
/*! Advantages cards */.advantages {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
    padding: 5rem 0;
}
.advantage {
    border-radius: 2rem;
    box-shadow: var(--shadow-panel);
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 3rem 2rem;
}
/*! Directions */.directions {
    align-items: center;
    position: relative;
}
.directions:after {
    background-image: url(../img/layout/globe-356w.jpg);
    background-image: url(../img/layout/globe-356w.webp);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 21.4rem;
    margin-top: -1rem;
    max-width: 35.6rem;
    order: -1;
    width: calc(100% + 2rem);
}
.webp .directions:after {
    background-image: -webkit-image-set(url(../img/layout/globe-356w.webp) 1x, url(../img/layout/globe-713w.webp) 2x);
    background-image: image-set(url(../img/layout/globe-356w.webp) 1x, url(../img/layout/globe-713w.webp) 2x);
}
.directions__wrapper {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    grid-column: 1;
    max-width: 41.9rem;
    order: -1;
}
.directions__buttons {
    column-gap: 1rem;
    columns: 25rem;
    margin-bottom: -1rem;
    width: 100%}
.directions__buttons .button {
    margin-bottom: 1rem;
    width: 100%}
/*! Dolyame blocks */.dolyame-badge {
    background-image: url(../svg/dolyame-badge.svg);
    background-repeat: no-repeat;
    display: inline-flex;
    height: 2.4rem;
    width: 8.6rem;
}
.dolyame-info {
    display: flex;
    flex-direction: column;
    gap: .8rem;
}
.dolyame-info p {
    line-height: 2rem;
}
.dolyame-benefit, .dolyame-benefits {
    align-items: center;
    display: flex;
    flex: 1 0 0;
    gap: 1.2rem;
    height: 3.2rem;
}
.dolyame-benefit__icon {
    flex-shrink: 0;
    height: 3.2rem;
}
.dolyame-benefit__icon .icon {
    font-size: 3.2rem;
    line-height: 3.2rem;
}
.dolyame-benefit__text {
    font-size: 1.2rem;
    line-height: 1.6rem;
}
.dolyame-graph {
    background-color: var(--color-gray-bg);
    border-radius: 1rem;
    display: flex;
    flex-direction: column;
    gap: .8rem;
    padding: 1.2rem;
}
.dolyame-graph__steps {
    display: flex;
    gap: .6rem;
}
.dolyame-step {
    display: flex;
    flex: 1 0 0;
    flex-direction: column;
    gap: 1rem;
}
.dolyame-step:after {
    background-color: var(--color-white);
    border-radius: .6rem;
    content: "";
    display: block;
    height: .6rem;
    margin-top: -.2rem;
    width: 100%}
.dolyame-step--current:after {
    background-color: var(--color-brand);
}
.dolyame-step__date {
    font-size: 1rem;
    line-height: 1.2rem;
}
.dolyame-step__price {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: .8rem;
}
.dolyame-graph__caption, .dolyame-more {
    font-size: 1.2rem;
    line-height: 1.8rem;
}
.dolyame-more {
    text-align: center;
}
.dolyame-pop-up-container {
    background-color: var(--color-white);
    border-radius: 2rem;
    bottom: 6rem;
    box-shadow: var(--shadow-pop-up);
    display: flex;
    opacity: 0;
    overflow: hidden;
    padding: 0 2.4rem 2.4rem;
    pointer-events: none;
    position: absolute;
    transform: translateY(2rem);
    transition: transform var(--transition-long-cubic), opacity var(--transition-long-cubic);
    visibility: hidden;
    width: 60rem;
}
/*! Sber installment block */.sber {
    background-color: var(--color-sber-green);
    border-radius: 2rem;
    color: var(--color-white);
    gap: 5rem;
    padding-top: 4rem;
}
.sber, .sber__hgroup {
    display: flex;
    flex-direction: column;
}
.sber__hgroup {
    gap: 2rem;
    padding: 0 2rem;
    text-align: center;
}
.sber__title {
    font-size: 3.5rem;
    line-height: 1.2;
}
.sber__bubble {
    align-items: center;
    border-radius: 0 0 2rem 2rem;
    display: flex;
    justify-content: center;
    min-height: 26rem;
    overflow: hidden;
    padding-top: 4rem;
    position: relative;
}
.sber__bubble:after {
    aspect-ratio: 1;
    background-image: linear-gradient(90deg, #79e500, #10d20d 30%, #00c256 50%, #00a9df);
    border-radius: 50%;
    content: "";
    left: 50%;
    min-width: 59.2rem;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 100vw;
}
.sber__content {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    position: relative;
    z-index: 1;
}
.sber__logo {
    height: 4.7rem;
    max-width: 80%;
    width: 29.7rem;
}
.sber__logo img {
    object-fit: contain;
}
.sber__price-wrapper {
    column-gap: .5rem;
    display: flex;
    flex-direction: column;
    font-weight: 500;
    max-width: 28rem;
}
.sber__price-container {
    align-items: baseline;
    column-gap: .5rem;
    display: flex;
}
.sber__sub:last-child {
    flex-grow: 1;
    text-align: right;
}
.sber__price {
    font-size: 6rem;
    line-height: .9;
}
/*! Visa steps */.visa-steps {
    background-color: var(--color-brand);
    border-radius: 2rem;
    counter-reset: step;
    display: flex;
    flex-direction: column;
    padding: 2rem;
    position: relative;
    row-gap: 3rem;
}
.visa-steps:after {
    background-image: url(../img/layout/visa-207w.png);
    background-image: url(../img/layout/visa-207w.webp);
    background-repeat: no-repeat;
    content: "";
    display: block;
    height: 25.5rem;
    margin: 0 auto;
    transform: translateX(-.3rem);
    width: 20.2rem;
}
.webp .visa-steps:after {
    background-image: -webkit-image-set(url(../img/layout/visa-207w.webp) 1x, url(../img/layout/visa-414w.webp) 2x);
    background-image: image-set(url(../img/layout/visa-207w.webp) 1x, url(../img/layout/visa-414w.webp) 2x);
}
.visa-step {
    color: var(--color-white);
    counter-increment: step;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 32.1rem;
    position: relative;
    z-index: 1;
}
.visa-step:before {
    content: counters(step, "", decimal-leading-zero);
    display: inline-block;
    font-size: 8rem;
    font-weight: 500;
    line-height: 1;
}
.visa-step--tall .visa-step__title, .visa-step:before {
    margin-bottom: 1rem;
}
/*! Legal entity visas */.legal-visas {
    border-radius: 2rem;
    display: flex;
    flex-direction: column;
}
.legal-visas__wrapper {
    background: url(../svg/layout/globe-airplane.svg), linear-gradient(68deg, #ea575b, #cf2a2d);
    background-position: center bottom -11.4rem, 50%;
    background-repeat: no-repeat;
    border-radius: 2rem 2rem 0 0;
    color: var(--color-white);
    display: flex;
    flex-direction: column;
    gap: 3rem;
    padding: 2rem 2rem 20.7rem;
}
.legal-visas__info {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    max-width: 55rem;
}
.legal-visas__list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    line-height: 2.2rem;
    max-width: 39.4rem;
}
.legal-visas__list li {
    background-image: url(../svg/icons/checkmark-blue.svg);
    background-position: 0 0;
    background-repeat: no-repeat;
    min-height: 2.4rem;
    padding-left: 4.4rem;
}
.legal-visas__footer {
    align-items: center;
    background-color: var(--color-white);
    border: 1px solid var(--color-divider);
    border-radius: 2rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-top: -2rem;
    padding: 1.9rem;
}
.legal-visas__footer .button, .legal-visas__footer-text {
    max-width: 48.2rem;
}
.legal-visas__footer .button {
    width: 100%}
/*! Free consultation */.free-consultation {
    background-color: var(--color-brand);
    border-radius: 2rem;
    color: var(--color-white);
    display: flex;
    flex-direction: column;
    gap: 3rem;
    padding: 5rem 2rem;
}
.free-consultation--banks {
    padding-top: 100px;
}
.free-consultation>* {
    margin: 0 auto;
    max-width: 48.2rem;
    position: relative;
    width: 100%;
    z-index: 1;
}
.free-consultation .text-field .error-label {
    display: none;
}
.free-consultation__form-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.free-consultation__form-content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.free-consultation__form-caption {
    max-width: 33rem;
}
.free-consultation__form-caption a {
    --color: var(--color-white);
    --color-hover: var(--color-gray-light);
    --color-active: var(--color-gray-bg);
    text-decoration-color: var(--color-white);
}
.free-consultation__socials {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.free-consultation__socials .button {
    min-height: 7rem;
    padding: .9rem 2.9rem;
}
/*! Why us cards */.why-cards {
    display: grid;
    gap: 2rem;
    grid-auto-rows: 1fr;
    grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
}
.why-card {
    border: 1px solid var(--color-divider);
    border-radius: 2rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    min-height: 27rem;
    overflow: hidden;
    padding: 1.9rem;
    position: relative;
}
.why-card:nth-child(2) .why-card__img {
    width: 27rem;
}
.why-card:nth-child(6) .why-card__img {
    width: 24rem;
}
.why-card__text {
    max-width: 36rem;
}
.why-card__img {
    bottom: -1px;
    position: absolute;
    right: -1px;
    width: 20rem;
    z-index: -1;
}
/*! Otzovik block */.otzovik {
    background-color: var(--color-gray-bg);
    background-image: url(../img/layout/reviews-643w.jpg);
    background-image: url(../img/layout/reviews-643w.webp);
    background-position: bottom -18rem left calc(50% - 3.9rem);
    background-repeat: no-repeat;
    border-radius: 2rem;
    display: flex;
    flex-direction: column;
    gap: 3rem;
    padding: 3rem 2rem 35.6rem;
}
.webp .otzovik {
    background-image: -webkit-image-set(url(../img/layout/reviews-643w.webp) 1x, url(../img/layout/reviews-1287w.webp) 2x);
    background-image: image-set(url(../img/layout/reviews-643w.webp) 1x, url(../img/layout/reviews-1287w.webp) 2x);
}
.otzovik__info {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin: 0 auto;
    max-width: 48.2rem;
}
.otzovik__button {
    gap: 1.1rem;
    min-height: 6rem;
}
.otzovik__button img {
    height: 2.2rem;
    width: 10.5rem;
}
.otzovik__caption {
    color: var(--color-gray);
    margin: -1rem auto 0;
}
.otzovik__stats {
    gap: 3rem;
    margin: 0 auto;
    max-width: 48.2rem;
    width: 100%}
.otzovik__stat, .otzovik__stats {
    display: flex;
    flex-direction: column;
}
.otzovik__stat {
    gap: 1rem;
}
.otzovik__num {
    color: var(--color-brand);
    font-size: 7rem;
    font-weight: 500;
    line-height: 1;
}
.otzovik__num sup {
    font-size: 5rem;
    top: -1.8rem;
}
.otzovik__num--percent sup {
    font-size: 4.2rem;
    top: -2.3rem;
}
/*! Contacts */.contacts {
    gap: 5rem;
    padding-bottom: 5rem;
}
.contacts, .contacts__container {
    display: flex;
    flex-direction: column;
}
.contacts__container {
    gap: 2rem;
}
.contacts__address-wrapper {
    background-color: var(--color-gray-bg);
    border-radius: 2rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 3rem;
    padding: 3rem 2rem;
}
.contacts__address {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.contacts__address-item {
    align-items: flex-start;
    display: flex;
    gap: 1.6rem;
}
.contacts__address-item .icon {
    flex-shrink: 0;
    font-size: 3rem;
}
.contacts__ymaps {
    background-image: url(../img/layout/ymap-740w.jpg);
    background-image: url(../img/layout/ymap-740w.webp);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 2rem;
    height: 45rem;
    overflow: hidden;
    width: 100%}
.webp .contacts__ymaps {
    background-image: -webkit-image-set(url(../img/layout/ymap-740w.webp) 1x, url(../img/layout/ymap-1480w.webp) 2x);
    background-image: image-set(url(../img/layout/ymap-740w.webp) 1x, url(../img/layout/ymap-1480w.webp) 2x);
}
.access-plan {
    background-color: var(--color-gray-bg);
    border-radius: 1rem;
}
.access-plan .accordion-content {
    padding: 2rem 0;
}
.access-plan .accordion-button {
    border: 1px solid var(--color-gray-bg);
    border-radius: 1rem;
    justify-content: center;
    min-height: 7.2rem;
    padding: 0 2.9rem;
    text-align: center;
    transition: border-color var(--transition-medium-cubic), background-color var(--transition-medium-cubic);
}
.access-plan .accordion-button:focus-visible, .access-plan .accordion-button:hover {
    background-color: var(--color-gray-light);
    border-color: var(--color-gray-light);
}
.access-plan .accordion-button .icon {
    display: none;
}
.access-plan .accordion-item.is-open .accordion-button {
    background-color: var(--color-brand);
    border-color: var(--color-divider);
    color: var(--color-white);
}
@keyframes accordionFadeOut {
    0% {
    opacity: 1;
}
to {
    opacity: 0;
}
}@keyframes accordionFadeIn {
    0% {
    opacity: 0;
}
to {
    opacity: 1;
}
}/*! Services */.service-card, .services {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}
.service-card {
    background-color: var(--color-white);
    border-radius: 2rem;
    margin: 0 auto;
    max-width: 60rem;
    padding: 2rem;
}
.service-card__img {
    aspect-ratio: 1;
    border-radius: 2rem;
    display: flex;
    overflow: hidden;
    width: 100%}
.service-card__img picture {
    width: 100%}
.service-card__img--no-cover-sm img {
    object-fit: none;
}
.service-card__content {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.service-card__title {
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 2.9rem;
}
.service-card__text {
    line-height: 2.2rem;
}
/*! FAQ */.faq, .faq .accordion {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.faq .accordion-item {
    border: 1px solid var(--color-divider);
    border-radius: 1rem;
}
.faq .accordion-button {
    font-size: 2rem;
    font-weight: 500;
    gap: .8rem;
    line-height: 2.6rem;
    padding: 1.9rem;
    transition: color var(--transition-medium-cubic);
}
.faq .accordion-button:focus-visible, .faq .accordion-button:hover {
    color: var(--color-gray-dark);
}
.faq .accordion-button .icon {
    font-size: 2.4rem;
}
.faq .accordion-content {
    color: var(--color-gray);
    padding: 0 1.9rem 2rem;
}
/*! Articles */.article-card, .articles {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.article-card {
    background-color: var(--color-white);
    border-radius: 3rem;
    margin: 0 auto;
    max-width: 55rem;
    padding: 3rem 2rem;
}
.article-card__img {
    aspect-ratio: 295/250;
    border-radius: 1rem;
    display: flex;
    overflow: hidden;
    width: 100%}
.article-card__img picture {
    width: 100%}
.article-card__content {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.installment-label {
    background: #e4ecf7;
}
.installment-label--light {
    background-color: #f0f4f9;
}
.installment-label__wrapper {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: center;
    padding: 20px 0;
    text-align: center;
}
.installment-label__title {
    color: #64748b;
    font-size: 16px;
}
.installment-label__row {
    gap: 30px;
}
.installment-label__img, .installment-label__row {
    align-items: center;
    display: flex;
    justify-content: center;
}
.installment-label__img {
    height: 45px;
    max-width: 100%;
    width: auto;
}
.installment-label__img img, .installment-label__img picture {
    height: 100%;
    object-fit: contain;
    width: auto;
}
.installment-promo__wrapper {
    align-items: center;
    background: linear-gradient(90deg, #383539, #444141);
    border-radius: 20px;
    display: flex;
    gap: 30px;
    justify-content: space-between;
    padding: 48px 140px 40px 80px;
}
.installment-promo__content {
    display: flex;
    flex-direction: column;
    gap: 30px;
    max-width: 640px;
    width: 100%}
.installment-promo__banks {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.installment-promo__title {
    color: #fff;
    font-size: 50px;
    font-weight: 500;
    line-height: 1.2;
    max-width: 400px;
    width: 100%}
.installment-promo__text {
    color: #fff;
    font-size: 16px;
    line-height: 1.5;
}
.installment-promo__row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}
.installment-promo__img {
    align-items: center;
    display: flex;
    height: 35px;
    max-width: 100%;
    width: auto;
}
.installment-promo__img img, .installment-promo__img picture {
    height: 100%;
    object-fit: contain;
    width: auto;
}
.installment-promo__main {
    align-items: center;
    display: flex;
    justify-content: center;
    max-width: 350px;
    width: 100%}
.installment-promo__main img, .installment-promo__main picture {
    height: 100%;
    object-fit: contain;
    width: 100%}
.installment-card__wrapper {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.installment-card__title {
    color: #64748b;
    font-size: 16px;
    line-height: 150%}
.installment-card__row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.installment-card__img {
    align-items: center;
    display: flex;
    height: 24px;
    justify-content: center;
    width: auto;
}
.installment-card__img img, .installment-card__img picture {
    height: 100%;
    object-fit: contain;
    width: auto;
}
.order-total {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}
.order-total__content {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.order-total__row {
    display: grid;
    gap: 2rem 1.6rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.order-total__caption {
    color: var(--color-gray);
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.5;
}
.order-total__text {
    font-size: 1.6rem;
    font-weight: 400;
}
.order-total__price, .order-total__text {
    color: var(--color-black);
    line-height: 1.2;
}
.order-total__price {
    font-size: 2.9rem;
    font-weight: 500;
}
.order-total__title {
    color: var(--color-black);
    font-size: 2.8rem;
    font-weight: 500;
}
.order-total__block {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}
.order-total__footer {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}
.order-total__subtext {
    color: var(--color-gray);
    font-size: 1.4rem;
}
.order-total__subtext a {
    color: var(--color-gray);
    text-decoration-color: var(--color-gray);
    text-decoration: underline;
    text-underline-position: under;
}
.order-total__block--full {
    grid-column: 1/-1;
}
.questionnaire__wrapper {
    display: grid;
    gap: 30px;
    grid-template-columns: minmax(0, 1fr) minmax(0, .7fr);
}
.questionnaire__header {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.questionnaire__caption {
    color: #64748b;
    font-size: 16px;
}
.questionnaire__content {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.questionnaire__content .form__fieldset {
    scroll-margin-top: calc(var(--header-height) + 10px);
}
.questionnaire-error {
    background: #ff3b301a;
    border-radius: 20px;
    color: #ff3b30;
    display: flex;
    flex-direction: column;
    font-size: 14px;
    gap: 10px;
    line-height: 1;
    margin-bottom: 24px;
    padding: 20px 30px;
}
.questionnaire-error span {
    font-size: 16px;
}
.questionnaire-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.questionnaire-list__link {
    align-items: flex-start;
    color: #64748b;
    display: flex;
    font-size: 14px;
    font-weight: 500;
    gap: 10px;
    line-height: 143%;
    text-decoration: none;
}
.questionnaire-list__link.checked {
    color: #0a0d14;
}
.questionnaire-list__link.checked .questionnaire-list__icon {
    background: #00a1ca;
}
.questionnaire-list__link.checked .questionnaire-list__icon:before {
    background-image: url(../svg/icons/check.svg);
}
.questionnaire-list__icon {
    align-items: center;
    background-color: #64748b;
    border-radius: 50%;
    display: flex;
    flex-shrink: 0;
    height: 20px;
    justify-content: center;
    width: 20px;
}
.questionnaire-list__icon:before {
    background-image: url(../svg/icons/cross.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 10px;
    width: 10px;
}
.questionnaire-aside {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.questionnaire-aside__content {
    padding: 20px;
}
.questionnaire-aside__content::-webkit-scrollbar {
    width: var(--sb-size);
}
.questionnaire-aside__content::-webkit-scrollbar-track {
    background: var(--sb-track-color);
    border-radius: 3px;
}
.questionnaire-aside__content::-webkit-scrollbar-thumb {
    background: var(--sb-thumb-color);
    border-radius: 3px;
}
@supports not selector(::-webkit-scrollbar) {
    .questionnaire-aside__content {
    scrollbar-color: var(--sb-thumb-color) var(--sb-track-color);
}
}.questionnaire-aside__wrapper {
    width: 100%}
:root {
    --color-dark: #18181a;
    --color-brand: #01c3f4;
    --color-brand-hover: #03bdec;
    --color-secondary: #188;
    --color-secondary-rgb: 17, 136, 136;
    --color-accent: #808;
    --color-blue: #9cebff;
    --color-red: #ff3b30;
    --color-pink-red: #ff6581;
    --color-gray: #64748b;
    --color-gray-dark: #4c5564;
    --color-gray-light: #e3e9f0;
    --color-gray-light-2: #d1d4db;
    --color-gray-light-3: #dddfe0;
    --color-gray-bg: #f3f7fc;
    --color-divider: #e1e8f0;
    --color-grey-1: #dcdcdc;
    --color-grey-2: grey;
    --color-grey-3: #a9a9a9;
    --color-black: #0a0d14;
    --color-white: #fff;
    --color-sber-green: #02bb5d;
    --color-whatsapp-green: #29a71a;
    --color-telegram-blue: #039be5;
    --html-bg-color: var(--color-white);
    --text-body-color: var(--color-black);
    --tab-focus-color: var(--color-black);
    --content-link-color: var(--color-brand);
    --content-link-color-hover: var(--color-brand-hover);
    --content-link-color-active: var(--color-dark);
    --shadow-dialog: 0 30px 50px 0 #000000bf;
    --shadow-menu: 0 1px 4px 0 #0c0c0d0d;
    --shadow-panel: 0 16px 32px -12px #768ea11a;
    --shadow-pop-up: 0 8px 16px -10px #0000000d, 0 30px 30px -10px #0000000a, 0 30px 40px -10px #00000008;
    --transition-props-color: color, background-color, border-color, text-decoration-color;
    --transition-func-cubic: cubic-bezier(0.4, 0.8, 0.4, 1);
    --transition-duration-short: 0.1s;
    --transition-duration-medium: 0.2s;
    --transition-duration-long: 0.3s;
    --transition-short-cubic: var(--transition-duration-short) var(--transition-func-cubic);
    --transition-medium-cubic: var(--transition-duration-medium) var(--transition-func-cubic);
    --transition-long-cubic: var(--transition-duration-long) var(--transition-func-cubic);
    --transition-overlay: visibility 0.3s, opacity 0.3s;
}
::backdrop, :root {
    --color-overlay-bg: #000000b3;
    --color-stack-overlay-bg: #00000080;
}
.c-gray {
    color: var(--color-gray);
}
.c-brand {
    color: var(--color-brand);
}
.bg-gray {
    background-color: var(--color-gray-bg);
}
@media (min-width:375px) {
    br.sm {
    display: initial;
}
br.md {
    display: none;
}
.card__header {
    --padding: 2rem;
}
.container {
    padding-left: 2rem;
    padding-right: 2rem;
}
.directions:after {
    background-position: -1.1rem 0;
    background-size: 35.6rem;
    width: calc(100% + 4rem);
}
.visa-steps {
    column-gap: 2rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(29.5rem, 1fr));
}
.visa-steps:after {
    grid-column: 1/-1;
}
.contacts__address {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
}
}@media (min-width:430px) {
    .hero>.container: after {
    aspect-ratio: 585/540;
    background-image: url(../img/layout/hero-md-585w.png);
    background-image: url(../img/layout/hero-md-585w.webp);
}
.webp .hero>.container:after {
    background-image: -webkit-image-set(url(../img/layout/hero-md-585w.webp) 1x, url(../img/layout/hero-md-1170w.webp) 2x);
    background-image: image-set(url(../img/layout/hero-md-585w.webp) 1x, url(../img/layout/hero-md-1170w.webp) 2x);
}
.directions:after {
    background-position: 50%}
}@media (min-width:500px) {
    .section__hgroup {
    margin: 0 auto -3rem;
    text-align: center;
}
.requisites {
    padding: 5rem 3rem;
}
.visa-steps {
    padding: 4rem;
}
.visa-steps:after {
    background-image: url(../img/layout/visa-md-281w.png);
    background-image: url(../img/layout/visa-md-281w.webp);
    border-bottom-right-radius: 2rem;
    height: 31.9rem;
    margin-bottom: -4rem;
    margin-right: -4rem;
    transform: translateX(0);
    width: 28.1rem;
}
.webp .visa-steps:after {
    background-image: -webkit-image-set(url(../img/layout/visa-md-281w.webp) 1x, url(../img/layout/visa-md-562w.webp) 2x);
    background-image: image-set(url(../img/layout/visa-md-281w.webp) 1x, url(../img/layout/visa-md-562w.webp) 2x);
}
.service-card__img {
    aspect-ratio: 60/21.4;
}
.service-card__img--no-cover-sm img {
    object-fit: cover;
}
}@media (min-width:768px) {
    .dialog-free-consultation__wrapper {
    position: relative;
}
.dialog-free-consultation__wrapper:after {
    background-image: url(../img/layout/headset-dialog-456w.png);
    background-image: url(../img/layout/headset-dialog-456w.webp);
    background-position: 50%;
    background-repeat: no-repeat;
    border-top-right-radius: 2rem;
    bottom: 0;
    content: "";
    opacity: .5;
    position: absolute;
    right: 0;
    top: 0;
    width: 50%}
.webp .dialog-free-consultation__wrapper:after {
    background-image: -webkit-image-set(url(../img/layout/headset-dialog-456w.webp) 1x, url(../img/layout/headset-dialog-760w.webp) 2x);
    background-image: image-set(url(../img/layout/headset-dialog-456w.webp) 1x, url(../img/layout/headset-dialog-760w.webp) 2x);
}
.dialog-free-consultation__wrapper .free-consultation__socials {
    flex-direction: row;
    flex-wrap: wrap;
}
.dialog-free-consultation__wrapper .free-consultation__caption {
    flex: 100%}
.dialog-free-consultation .dialog-header__close {
    position: absolute;
    top: 20px;
}
.section__hgroup {
    max-width: 58.5rem;
}
.section__hgroup--wide {
    max-width: 75rem;
}
.section__caption, .section__title {
    text-align: center;
}
.sber {
    align-items: center;
    flex-direction: row;
    gap: 2rem;
    padding-top: 0;
}
.sber__hgroup {
    flex: 1 0 0;
    padding-left: 5rem;
    text-align: left;
}
.sber__bubble {
    border-radius: 0 2rem 2rem 0;
    flex: 1 0 0;
    max-width: 51.1rem;
    padding-top: 0;
}
.sber__bubble:after {
    background-image: linear-gradient(90deg, #79e500, #10d20d 20%, #00c256 40%, #00a9df);
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: auto;
}
.free-consultation {
    position: relative;
}
.free-consultation:after {
    background-image: url(../img/layout/headset-456w.png);
    background-image: url(../img/layout/headset-456w.webp);
    background-position: 100% 0;
    background-repeat: no-repeat;
    border-top-right-radius: 2rem;
    bottom: 0;
    content: "";
    opacity: .5;
    position: absolute;
    right: 0;
    top: 0;
    width: 50%}
.webp .free-consultation:after {
    background-image: -webkit-image-set(url(../img/layout/headset-456w.webp) 1x, url(../img/layout/headset-912w.webp) 2x);
    background-image: image-set(url(../img/layout/headset-456w.webp) 1x, url(../img/layout/headset-912w.webp) 2x);
}
.free-consultation>* {
    margin: initial;
}
.faq {
    display: grid;
    gap: 3rem;
    grid-template-columns: repeat(2, 1fr);
}
.faq .accordion {
    gap: 2rem;
}
.faq .accordion-item {
    flex: 1 0 0;
    min-width: 30rem;
}
}@media (min-width:768px)and (min-width:1330px) {
    .dialog-free-consultation__wrapper: after, .free-consultation:after {
    opacity: 1;
}
}@media screen and (min-width:768px) {
    .order-dialog .dialog, .order-dialog .dialog-header {
    background-color: #f3f7fc;
}
.order-dialog__field, .order-total {
    background-color: #fff;
    border-radius: 2rem;
    padding: 2rem;
}
.order-total {
    gap: 2rem;
}
.questionnaire__content {
    background: #fff;
    border-radius: 20px;
    padding: 40px;
}
.questionnaire-aside__content {
    height: 100%;
    overflow: auto;
    width: 100%;
    --sb-track-color: #0000;
    --sb-thumb-color: #d1d4db;
    --sb-size: 10px;
    padding: 40px;
}
.questionnaire-aside__wrapper {
    background: #fff;
    border-radius: 20px;
    bottom: 10px;
    height: calc(100vh - var(--header-height) - 40px);
    position: sticky;
}
}@media (min-width:960px) {
    .f-regular {
    line-height: 2.2rem;
}
.f-sm {
    line-height: 2rem;
}
.f-sm--regular-md {
    font-size: 1.6rem;
    line-height: 2.2rem;
}
.f-xs--sm-md {
    font-size: 1.4rem;
    line-height: 2rem;
}
body {
    --text-body-lh: 24px;
}
.h1, h1 {
    font-size: 5rem;
}
.h1--h2-md, h1--h2-md {
    font-size: 3.5rem;
    line-height: 1.2;
}
.h2, .h2-fluid, h2 {
    font-size: 3.5rem;
}
.h3, h3 {
    font-size: 2.2rem;
    line-height: 2.9rem;
}
.h3--h2-md, h3--h2-md {
    font-size: 3.5rem;
    line-height: 1.2;
}
.h3--h4-md, h3--h4-md {
    font-size: 1.8rem;
    line-height: 2.3rem;
}
br.sm {
    display: none;
}
.alert {
    padding: 3rem;
}
.countries-cards {
    gap: 3rem;
    grid-template-columns: repeat(auto-fit, minmax(38rem, 1fr));
}
.card__header {
    --padding: 3rem;
}
.card__img picture {
    aspect-ratio: 410/194;
}
.card__img:after {
    background-color: #0006;
}
.card__wrapper {
    padding: 3rem;
}
.dialog-container {
    align-items: flex-start;
    justify-content: flex-end;
}
.dialog {
    gap: 3rem;
    margin: 2rem;
    max-height: calc(100vh - 4rem);
    padding: 0 2.5rem 3rem;
}
.dialog-header {
    margin-left: -2.5rem;
    padding: 2.5rem 2.5rem 2rem;
    width: calc(100% + 5rem);
}
.dialog-header__title {
    padding-bottom: .5rem;
}
.dialog-header__close {
    align-self: flex-start;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2.3rem;
}
[data-dialog=error] .dialog, [data-dialog=success] .dialog {
    padding: 0 3rem 3rem;
}
[data-dialog=error] .dialog-header, [data-dialog=success] .dialog-header {
    margin-left: -3rem;
    width: calc(100% + 6rem);
}
.dialog-caption {
    margin-top: -3rem;
}
.dialog-status:before {
    background-position: calc(50% + 2.3rem) calc(50% + 2rem);
    height: 38.3rem;
    right: 5.4rem;
    top: -13.2rem;
    width: 38.3rem;
}
.dialog-status--error:before {
    background-position: calc(50% + .3rem) calc(50% + 2.7rem);
}
.dialog-footer {
    margin-top: -1rem;
}
.dialog-footer .button {
    max-width: 32rem;
}
[data-dialog=application] .button-info[data-dialog-open=dolyame], [data-dialog=error] .dialog-footer [data-dialog-close], [data-dialog=success] .dialog-footer {
    display: none;
}
[data-dialog=application] .button-info.dolyame-pop-up-button {
    display: flex;
}
[data-dialog=application] .dialog-footer {
    margin-top: -.6rem;
}
[data-dialog=application] .dialog-footer .button {
    max-width: none;
}
.dolyame-pop-up .dialog-header {
    margin-left: -2.4rem;
    padding: 1.2rem 1.2rem 3.2rem 2.4rem;
    width: calc(100% + 4.8rem);
}
.dolyame-pop-up .dialog-header .dolyame-badge {
    top: 1.2rem;
}
.dolyame-pop-up .dialog-header__close {
    background-color: var(--color-gray);
    color: #0000;
    height: 2.4rem;
    -webkit-mask-image: url(../svg/icons/close.svg);
    mask-image: url(../svg/icons/close.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    overflow: hidden;
    transition: background-color var(--transition-medium-cubic);
    -webkit-user-select: none;
    user-select: none;
    width: 2.4rem;
}
.dolyame-pop-up .dolyame-more {
    margin-top: 0;
}
.dialog-free-consultation .dialog {
    background-image: linear-gradient(90deg, #38bdf8, #30c7ec 47%, #46aef7);
}
.drawer.navbar {
    background-color: #0000;
    height: auto;
    overflow: initial;
    position: static;
    transform: none;
    transition: none;
    width: auto;
    z-index: auto;
}
.form__fieldset {
    flex-direction: row;
    flex-wrap: wrap;
}
.form__field {
    flex: 1 0 0;
    max-width: 31.7rem;
    min-width: 40%}
.form__field--full-width {
    max-width: 100%;
    min-width: 100%}
.form__fieldset.radio-fieldset .radio-tab {
    flex: initial;
    min-width: auto;
    width: fit-content;
}
.select-field--wide {
    max-width: 44.4rem;
}
.custom-field, .submit-field {
    flex: initial;
    max-width: none;
}
.custom-field .form__field, .submit-field .form__field {
    max-width: none;
}
.consultation-form .form__field {
    align-self: flex-start;
    max-width: none;
}
.application-total {
    padding: 2.8rem 3rem;
}
.payment-methods .label-radio {
    flex-direction: row;
    flex-wrap: wrap;
}
.payment-method:not(:last-child) {
    padding-bottom: 1.2rem;
}
.payment-method__icons {
    margin-left: auto;
    margin-right: .8rem;
    margin-top: 0;
}
.nav__list {
    gap: 3rem;
}
.nav__link {
    width: 100%}
.sublist-toggler:not(.sublist-toggler--level-1) .icon {
    margin-left: auto;
    transform: rotate(-90deg);
}
.sublist-toggler:not(.sublist-toggler--level-1)[aria-expanded=true] .icon {
    transform: rotate(0deg);
}
.sublist-container {
    background-color: var(--color-white);
    border-radius: 2rem;
    box-shadow: var(--shadow-menu);
    left: 0;
    max-width: 30rem;
    padding: 2rem calc(2rem - var(--scrollbar-padding)) 2rem 2rem;
    position: absolute;
    top: 0;
    transition: none;
    visibility: hidden;
    width: max-content;
    z-index: 10;
}
.sublist-container.is-visible {
    animation: sublist-appear .2s cubic-bezier(.33, 1, .68, 1);
    visibility: visible;
}
.navbar {
    grid-column: 1/4;
    grid-row: 2;
    margin: 0 auto;
}
.navbar .nav__item {
    display: inline-flex;
}
.navbar .easy-directions, .navbar-application, .navbar-contacts {
    display: none;
}
.error-label {
    font-size: 1.4rem;
}
.video {
    --aspect-ratio: 740/420;
    --border-radius: 2rem;
}
.header {
    padding: 1.6rem 0 1.8rem;
}
.header .container {
    column-gap: 2rem;
    display: grid;
    grid-template-columns: 32.9rem 1fr auto;
    row-gap: 1rem;
}
.header .container>.easy-directions {
    display: flex;
    justify-content: center;
}
.header__logo {
    grid-column: 1;
    grid-row: 1;
    position: relative;
    top: -.1rem;
}
.header__logo img {
    height: 3.9rem;
    width: 25.9rem;
}
.header__consultation {
    display: inline-flex;
    margin-right: 2rem;
}
.header__icons .social-icon-link {
    height: 4rem;
    width: 4rem;
}
.header__icons .social-icon-link .icon {
    font-size: 2.5rem;
}
.header__icons .social-icon-link--telegram .icon {
    font-size: 2.2rem;
}
.main>.h1 {
    margin-bottom: 4rem;
}
.main>.content {
    padding-bottom: 3.2rem;
}
.scroll-target {
    --margin-top: 10rem;
}
.section {
    gap: 10rem;
    padding: 10rem 0;
}
.section--questionnaire {
    padding-top: 3rem;
}
.section>.container {
    gap: 10rem;
}
.section__hgroup {
    margin: 0 auto -6rem;
}
.section__hgroup .section__title {
    margin-bottom: 0;
}
.section__title {
    margin-bottom: -6rem;
}
.section__caption {
    text-align: center;
}
.section:not(.bg-gray):has(+.section:not(.bg-gray)) {
    margin-bottom: -10rem;
}
.panel, .white-block {
    padding: 5rem;
}
.content section+section {
    padding-top: 5rem;
}
.content section.grid {
    column-gap: 3rem;
    display: grid;
    grid-template-areas: "left right";
    grid-template-columns: 1fr 1fr;
}
.content section.grid>img, .content section.grid>picture {
    align-self: flex-start;
    grid-area: right;
    grid-row: 1/span 100;
    margin: 0;
}
.content section.grid--reverse {
    grid-template-areas: "right left"}
.content ol, .content ul {
    margin-top: 1rem;
}
.content ul li h3 {
    font-size: 1.8rem;
    line-height: 2.3rem;
}
.content ul li p {
    margin-bottom: 2.2rem;
}
.content img {
    border-radius: 2rem;
}
.footer {
    padding: 10rem 0 3rem;
}
.footer .container {
    gap: 3rem;
}
.requisites {
    gap: 3rem;
    max-width: none;
    padding: 5rem 8rem 4.6rem;
    width: 100%}
.requisites__title {
    font-size: 5rem;
    line-height: 6rem;
}
.requisites__list {
    display: grid;
    gap: 3rem;
    grid-template-columns: minmax(20%, 28.8%) minmax(20%, 28.8%) minmax(30rem, auto);
    margin-bottom: 0;
}
.requisites__item {
    align-self: flex-start;
    gap: 1rem;
    justify-content: center;
    min-height: 7rem;
}
.requisites__item--tel {
    flex-direction: column;
    order: 1;
}
.requisites__item--tel .requisites__caption {
    line-height: 2.2rem;
}
.requisites__item--tel .requisites__text {
    font-size: 3.5rem;
    line-height: 4.2rem;
}
.requisites__caption {
    font-size: 1.6rem;
    line-height: 2.2rem;
}
.requisites__text {
    font-size: 2.2rem;
    line-height: 2.9rem;
}
.requisites__footer {
    border-top: 1px solid #ffffff80;
    display: grid;
    gap: 3rem;
    grid-template-columns: minmax(22.8rem, 28.8%) minmax(20%, 28.8%) minmax(30rem, auto);
    margin-top: -.1rem;
    padding-top: 3rem;
}
.requisites__agreement {
    max-width: 32.5rem;
    padding: 0 1rem;
}
.requisites__socials {
    margin: 0 auto;
}
.footer-cards {
    flex-direction: row-reverse;
    gap: 3rem;
    margin: 0;
    max-width: none;
}
.footer-card {
    padding: 3rem;
}
.footer-card--newsletter {
    max-width: 52rem;
}
.footer-card--newsletter .button {
    font-size: 2rem;
    font-weight: 400;
}
.footer-newsletter__title {
    font-size: 2.2rem;
    line-height: 2.9rem;
}
.footer-newsletter__title span {
    line-height: 2.2rem;
}
.footer-card__logo {
    margin-bottom: 4.1rem;
}
.footer-card__terms-link {
    line-height: 2.4rem;
}
.hero>.container {
    flex-direction: row;
    gap: 0;
}
.hero>.container:after {
    margin-left: auto;
    max-width: 58.5rem;
}
.hero__wrapper {
    max-width: 58.5rem;
}
.hero__title {
    max-width: none;
}
.hero__directions {
    margin-top: 2rem;
}
.directions-selector {
    padding: 3rem;
}
.advantages {
    gap: 3rem;
    grid-template-columns: repeat(2, 1fr);
}
.advantage {
    padding: 3rem;
}
.directions {
    column-gap: 1rem;
    display: grid;
    grid-template-columns: minmax(20rem, auto) minmax(10rem, auto) minmax(20rem, auto);
    grid-template-rows: auto 1fr;
}
.directions .directions-button {
    grid-column: 2;
    grid-row: 1;
}
.directions:after {
    grid-column: 3;
    grid-row: 1;
    margin: 0 auto;
    order: 0;
    width: 100%}
.directions__buttons {
    column-count: 3;
    column-gap: 2rem;
    grid-column: 1/4;
}
.dolyame-benefit__text {
    font-size: 1.4rem;
    line-height: 2rem;
}
.dolyame-step {
    gap: .2rem;
}
.dolyame-step:after {
    margin-top: .6rem;
}
.dolyame-step__date {
    font-size: 1.2rem;
    line-height: 1.8rem;
}
.dolyame-step__price {
    font-size: 1.6rem;
    line-height: 1.1rem;
}
.dolyame-pop-up-container.is-visible {
    opacity: 1;
    pointer-events: all;
    transform: translateY(0);
    visibility: visible;
}
.sber {
    align-items: flex-start;
}
.sber__hgroup {
    padding-bottom: 5rem;
    padding-left: 11rem;
    padding-top: 5rem;
}
.sber__title {
    font-size: clamp(3.5rem, 3.7593984962vw, 5rem);
}
.sber__bubble {
    align-items: flex-start;
    align-self: stretch;
    justify-content: flex-start;
    min-height: 27.4rem;
    padding-top: 4.5rem;
}
.sber__bubble:after {
    background-image: linear-gradient(90deg, #79e500, #10d20d 20.84%, #00c256 39.95%, #00a9df);
}
.sber__content {
    align-items: flex-end;
    gap: 2.3rem;
    padding-left: 1.9rem;
}
.sber__logo, .sber__price-wrapper {
    max-width: none;
}
.sber__price-container {
    column-gap: .8rem;
}
.sber__sub {
    font-size: 2rem;
}
.sber__sub:last-child {
    margin-top: .1rem;
}
.sber__price {
    font-size: clamp(8rem, 8.347826087vw, 9.6rem);
    letter-spacing: -.1rem;
}
.visa-steps {
    padding: 5rem 20.6rem 5rem 8rem;
}
.visa-steps:after {
    bottom: 0;
    grid-column: unset;
    margin: 0;
    position: absolute;
    right: 0;
}
.legal-visas__wrapper {
    background: url(../svg/layout/globe-airplane-md.svg), linear-gradient(68deg, #ea575b, #cf2a2d);
    background-position: right bottom -9.4rem, 50%;
    background-repeat: no-repeat;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 5rem 20.6rem 7rem 8rem;
}
.legal-visas__info {
    max-width: 41rem;
}
.legal-visas__list {
    gap: 2rem;
}
.legal-visas__footer {
    flex-direction: row;
    justify-content: space-between;
    padding: 2.9rem 7.9rem;
}
.legal-visas__footer .button {
    padding: 0 2.6rem;
    width: auto;
}
.free-consultation {
    background-image: linear-gradient(90deg, #38bdf8, #30c7ec 47%, #46aef7);
    column-gap: 15.5rem;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 5rem 2rem 5.8rem 8rem;
}
.free-consultation--dialog {
    padding: 0;
}
.free-consultation__title {
    max-width: none;
    width: 100%}
.free-consultation__caption {
    line-height: 2.4rem;
}
.free-consultation__form-wrapper {
    max-width: 41rem;
}
.free-consultation__socials {
    align-items: flex-start;
    width: fit-content;
}
.free-consultation__socials .button {
    min-height: 6rem;
    min-width: 21.8rem;
}
.why-cards {
    gap: 3rem;
    grid-template-columns: repeat(auto-fit, minmax(32rem, 1fr));
}
.why-card {
    padding: 2.9rem;
}
.otzovik {
    background-image: url(../img/layout/reviews-md-643w.jpg);
    background-image: url(../img/layout/reviews-md-643w.webp);
    background-position: bottom -19.7rem left calc(50% + 11.9rem);
    flex-direction: row;
    justify-content: space-between;
    padding: 5rem 4rem;
}
.webp .otzovik {
    background-image: -webkit-image-set(url(../img/layout/reviews-md-643w.webp) 1x, url(../img/layout/reviews-md-1287w.webp) 2x);
    background-image: image-set(url(../img/layout/reviews-md-643w.webp) 1x, url(../img/layout/reviews-md-1287w.webp) 2x);
}
.otzovik__info {
    gap: 3rem;
    margin: 0;
}
.otzovik__text {
    line-height: 2.4rem;
}
.otzovik__button {
    max-width: 41rem;
}
.otzovik__caption {
    font-size: 1.4rem;
    line-height: 2.1rem;
    margin: -2rem 0 0;
}
.otzovik__stats {
    gap: 3.2rem;
    margin: 0;
    width: fit-content;
}
.contacts {
    gap: 3rem;
    padding-bottom: 10rem;
}
.contacts__container {
    flex-direction: row;
    gap: 3rem;
}
.contacts__address-wrapper {
    gap: 2rem;
    padding: 5rem;
}
.contacts__address-item {
    gap: 1rem;
}
.contacts__ymaps {
    height: auto;
    max-width: 74rem;
}
.access-plan {
    aspect-ratio: 1290/420;
    background-color: #0000;
    position: relative;
}
.access-plan .accordion {
    background-color: var(--color-gray-bg);
    border-radius: 2rem;
    height: 100%;
    margin-left: auto;
    max-width: 52rem;
    padding: 2rem;
    width: calc(43% - 3rem);
}
.access-plan .accordion-item:not(:last-child) {
    margin-bottom: 1rem;
}
.access-plan .accordion-button {
    font-size: 2rem;
    font-size: clamp(1.6rem, 1.4285714286vw, 2rem);
    justify-content: flex-start;
    line-height: 2.4rem;
    min-height: 9rem;
    text-align: left;
}
.access-plan .accordion-panel {
    --animation-duration: 0s;
    animation: accordionFadeOut var(--animation-duration);
    left: 0;
    max-height: var(--accordion-height);
    max-width: 57.4%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%}
.access-plan .accordion-item.is-open.is-animating .accordion-panel {
    animation: accordionFadeIn var(--animation-duration);
}
.access-plan .accordion-content {
    padding: 0;
}
.access-plan .video__wrapper {
    position: relative;
}
.section:has(.services) .section__caption {
    line-height: 2.4rem;
}
.service-card {
    flex-direction: row;
    max-width: none;
    padding: 3rem;
    width: 100%}
.service-card__img {
    border-radius: 1rem;
    max-width: 60rem;
    order: 1;
}
.service-card__title {
    max-width: 98%}
.section:has(.faq) .section__caption {
    line-height: 2.4rem;
}
.faq .accordion-button {
    font-size: 1.8rem;
    line-height: 2.3rem;
    padding: 3.2rem 2.9rem;
}
.faq .accordion-panel {
    transform: translateY(-1.6rem);
    transition: transform var(--transition-medium-cubic);
}
.faq .accordion-content {
    padding: 0 2.9rem 1.4rem;
}
.articles {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 3rem;
    justify-content: center;
}
.article-card {
    flex: 1 0 0;
    margin: 0;
    max-width: 41rem;
    min-width: 36rem;
    padding: 3rem;
}
.article-card__img {
    aspect-ratio: 35/25;
}
.article-card__content {
    flex-grow: 1;
}
.article-card__title {
    font-size: 1.8rem;
    line-height: 2.3rem;
}
.article-card__text {
    line-height: 2.4rem;
}
.article-card__button {
    margin-top: auto;
}
}@media (min-width:960px)and (max-width:1329.98px) {
    br.md-only {
    display: initial;
}
}@media screen and (min-width:960px) {
    .header-phone {
    display: flex;
}
}@media (min-width:1330px) {
    br.lg {
    display: initial;
}
.panel, .white-block {
    padding: 5rem 8rem;
}
.advantages {
    grid-template-columns: repeat(4, 1fr);
    padding: 10rem 0;
}
.directions {
    grid-template-columns: 41.9rem minmax(10rem, auto) 41.9rem;
}
.directions__buttons {
    column-gap: 3rem;
}
.sber__hgroup {
    gap: 3rem;
}
.contacts__address-wrapper, .otzovik {
    padding: 5rem 8rem;
}
}@media (min-width:1920px) {
    body {
    overflow-x: hidden;
}
}@media (max-width:959.98px) {
    .dialog-full-screen {
    align-items: flex-start;
}
.dialog-full-screen .dialog {
    border-radius: 0;
    padding-right: 1.4rem;
    width: 100%}
.dialog-header__close {
    background-color: var(--color-gray);
    color: #0000;
    height: 2.4rem;
    -webkit-mask-image: url(../svg/icons/close.svg);
    mask-image: url(../svg/icons/close.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    overflow: hidden;
    transition: background-color var(--transition-medium-cubic);
    -webkit-user-select: none;
    user-select: none;
    width: 2.4rem;
}
.dialog-header__close:focus-visible, .dialog-header__close:hover {
    background-color: var(--color-dark);
}
[data-dialog=error] .dialog, [data-dialog=success] .dialog {
    padding-top: 2rem;
}
[data-dialog=error] .dialog-header, [data-dialog=success] .dialog-header {
    display: none;
}
.payment-method--dolyame .form__label {
    column-gap: 1.6rem;
    display: grid;
    grid-template-columns: auto 2.4rem 1fr;
}
.payment-method--dolyame .button-info {
    align-self: center;
    grid-column: 2;
    grid-row: 1/3;
}
.payment-method--dolyame .payment-method__icons {
    grid-column: 1;
}
.navbar-toggler {
    background-color: #0000;
    border: 0;
    display: block;
    height: 2.6rem;
    position: relative;
    width: 2.6rem;
    z-index: 101;
}
.navbar-burger {
    --burger-color: var(--color-dark);
    color: var(--burger-color);
    display: block;
}
.burger-bottom, .burger-middle, .burger-top {
    transform-origin: center;
    transition: width var(--transition-medium-cubic), opacity var(--transition-medium-cubic), transform var(--transition-medium-cubic);
}
.burger-dot {
    transition: opacity var(--transition-medium-cubic);
}
.navbar-toggler[aria-expanded=true] .burger-top {
    transform: translate(.65rem, .65rem) rotate(-45deg);
    width: 2.6rem;
}
.navbar-toggler[aria-expanded=true] .burger-middle {
    opacity: 0;
    transform: scaleX(0);
}
.navbar-toggler[aria-expanded=true] .burger-bottom {
    transform: translate(.65rem, -.65rem) rotate(45deg);
    width: 2.6rem;
}
.navbar-toggler--quest[aria-expanded=true] .burger-dot {
    opacity: 0;
}
.navbar-toggler--quest[aria-expanded=true] .burger-top {
    transform: translate(-11px) rotate(45deg);
    transform-origin: center;
}
.navbar-toggler--quest[aria-expanded=true] .burger-bottom {
    transform: translate(-12px, -3px) rotate(-45deg);
    transform-origin: center;
}
.navbar {
    background-color: var(--color-gray-bg);
    flex-direction: column;
}
.navbar .nav-container {
    align-items: center;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 4rem;
    padding: 2rem 2rem 5rem;
}
.navbar .nav__list {
    align-items: center;
    flex-direction: column;
    gap: 3rem;
}
.navbar .nav__link {
    --color: var(--color-dark);
    font-size: 2rem;
    font-weight: 500;
    line-height: 2.7rem;
}
.navbar .nav__sublist {
    overflow-y: hidden;
}
.navbar .nav__sublist>.nav__item:first-child {
    padding-top: 2rem;
}
.navbar .easy-directions {
    order: -1;
}
.visa-steps-section+.why-us-section {
    margin-top: 5rem;
}
}@media screen and (max-width:767px) {
    .dialog-free-consultation__wrapper {
    margin: 0;
    padding: 0 2rem 2rem;
}
.dialog-free-consultation .dialog {
    gap: 3rem;
    padding: 0 2rem 2rem;
}
.dialog-free-consultation .dialog-header {
    background-color: var(--color-brand);
    padding: 1.6rem 0;
}
.order-dialog .dialog {
    padding: 0 2rem 2rem;
}
.order-dialog__grid {
    gap: 2.4rem;
    grid-template-columns: minmax(0, 1fr);
}
.order-dialog__column {
    gap: 2.4rem;
}
.installment-label__wrapper {
    padding: 15px 0;
}
.installment-label__row {
    gap: 20px;
}
.installment-label__img {
    height: 25px;
}
.installment-promo__wrapper {
    align-items: flex-start;
    background: linear-gradient(174deg, #383539, #444141);
    flex-direction: column;
    padding: 30px 20px;
}
.installment-promo__banks {
    gap: 20px;
}
.installment-promo__title {
    font-size: 35px;
}
.installment-promo__row {
    gap: 10px;
}
.installment-promo__img {
    height: 25px;
}
.order-total__content {
    background-color: #f3f7fc;
    border-radius: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    padding: 2rem;
}
.order-total__row {
    grid-template-columns: minmax(0, 1fr);
}
.order-total__title {
    font-size: 3.5rem;
}
.order-total__subtext {
    text-align: left;
}
.questionnaire__wrapper {
    grid-template-columns: minmax(0, 1fr);
}
.questionnaire__header {
    gap: 16px;
}
.questionnaire-error {
    padding: 20px;
}
.questionnaire-aside {
    align-items: flex-start;
    background: #fff;
    height: calc(100svh - var(--header-height));
    justify-content: flex-start;
    left: 0;
    overflow: auto;
    position: fixed;
    right: 0;
    top: var(--header-height);
    transform: translateX(100%);
    transition: transform var(--transition-long-cubic);
    width: 100vw;
    z-index: 102;
}
.questionnaire-aside.is-active {
    transform: translateX(0);
}
.section--questionnaire {
    background: #fff;
}
}@media (max-width:320px) {
    body {
    overflow-x: auto;
}
}.nav__link--current {
    --color: var(--color-brand);
    --color-hover: var(--color-brand);
}
.nav__item--has-submenu>.nav__link {
    gap: .6rem;
}
.nav__item--has-submenu>.nav__link .icon {
    margin-left: 0;
}
.nav__submenu-grid {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
    min-width: 320px;
}
.nav__submenu-link {
    align-items: center;
    color: var(--color-black);
    display: flex;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    padding: 8px;
    text-align: center;
    text-decoration: none;
    transition: background-color var(--transition-medium-cubic), color var(--transition-medium-cubic);
}
.nav__submenu-link:focus-visible, .nav__submenu-link:hover, .nav__submenu-link[aria-current=page] {
    background-color: #F3F7FC;
    color: var(--color-black);
}
@media (min-width:960px) {
    .header .container {
    position: relative;
}
.nav__item--has-submenu {
    position: static;
}
.nav__submenu {
    position: absolute;
    top: 100%;
    z-index: 15;
    padding: 4px;
    background-color: var(--color-white);
    box-shadow: var(--shadow-menu);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--transition-duration-short) var(--transition-func-cubic), visibility var(--transition-duration-short) var(--transition-func-cubic);
    border: 1px solid #E1E8F0;
    border-radius: 10px;
}
.nav__item--has-submenu:hover>.nav__submenu, .nav__item--has-submenu:focus-within>.nav__submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.nav__item--has-submenu:hover>.nav__link .icon, .nav__item--has-submenu:focus-within>.nav__link .icon {
    transform: rotate(180deg);
}
}@media (max-width:959.98px) {
    .navbar .nav__list {
    width: 100%}
.navbar .nav__item {
    width: 100%}
.navbar .nav__item--has-submenu {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}
.navbar .nav__submenu {
    padding: 0;
    width: 100%}
.navbar .nav__submenu-grid {
    display: flex;
    flex-direction: column;
}
.navbar .nav__submenu-link {
    background-color: var(--color-white);
    min-height: auto;
    padding: 8px;
}
}
/* VNJ page blocks */
.vnj-page .vnj-hero-shell {
    margin-top: 2rem;
    padding: 2rem;
    border-radius: 2.4rem;
}
.vnj-page .section.vnj-section {
    padding: 100px 0;
}
.vnj-page .section.vnj-section,
.vnj-page .section.vnj-section>.container {
    gap: 40px;
}
.vnj-page .section.vnj-section:not(.bg-gray):has(+.section:not(.bg-gray)) {
    margin-bottom: 0;
}
.vnj-page .vnj-section__title {
    margin-bottom: 0;
    text-align: left;
    font-size: 35px;
    line-height: 120%;
}
.vnj-page .vnj-section__caption {
    max-width: 72rem;
    margin-top: 20px;
    color: #778396;
    text-align: left;
}
.container > .vnj-section__caption {
    margin-top: -30px;
}
.vnj-page .vnj-section--soft {
    border-radius: 2.4rem;
    background: #f3f5fb;
}
.vnj-page .vnj-hero {
    display: grid;
    grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
    gap: 2.4rem;
    align-items: stretch;
    margin-top: 0;
    padding: 0;
    background: #f3f5fb;
    padding: 20px;
    border-radius: 50px 50px 20px 20px;
}
.vnj-page .vnj-hero__content {
    justify-content: center;
    gap: 2rem;
    padding: 20px;
    background: transparent;
    border-radius: 0;
}
.vnj-page .vnj-hero .visa-hero__title {
    margin: 0;
    color: #101828;
    font-size: 50px;
    line-height: 1.02;
    letter-spacing: -.04em;
}
.vnj-page .vnj-hero__subtitle {
    max-width: 36rem;
    margin: 0;
    color: #778396;
    font-size: 1.8rem;
    line-height: 1.55;
}
.vnj-page .vnj-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: .75rem;
}
.vnj-page .vnj-hero__actions .button {
    width: auto;
    min-width: 30rem;
    padding-inline: 3rem;
}
.vnj-page .vnj-hero__media {
    min-height: 50rem;
    margin: 0;
}
.vnj-page .vnj-hero__media picture,
.vnj-page .vnj-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
}
.vnj-page .vnj-hero__media img {
    border-radius: 30px 30px 20px 20px;
    object-fit: cover;
}
.vnj-page .vnj-hero__uploaded-image {
    max-width: none;
    aspect-ratio: auto;
}
.vnj-page .vnj-hero-stats {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 1.25rem;
    margin-top: 1.75rem;
}
.vnj-page .vnj-hero-stat {
    padding: 45px;
    background: #eef3fc;
    border-radius: 20px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
}
.vnj-page .vnj-hero-stat:first-child {
    border-radius: 20px 20px 20px 50px;
}
.vnj-page .vnj-hero-stat:last-child {
    border-radius: 20px 20px 50px 20px;
}
.vnj-page .vnj-hero-stat__value {
    color: #101828;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.3;
}
.vnj-page .vnj-hero-stat__label {
    margin-top: .8rem;
    color: #778396;
    font-size: 16px;
    line-height: 24px;
}
.vnj-page .vnj-why-grid {
    display: grid;
    grid-template-columns: repeat(12,minmax(0,1fr));
    gap: 1.5rem;
    margin-top: 2rem;
}
.vnj-page .vnj-why-card {
    grid-column: span 3;
    padding: 30px;
    border-radius: 2rem;
    background: #f3f5fb;
    box-shadow: 0 18px 48px rgba(15,23,42,.04);
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.vnj-page .vnj-why-card--wide {
    grid-column: span 4;
}
.vnj-page .vnj-why-card__eyebrow {
    color: #7a8699;
    font-size: 16px;
    line-height: 1.35;
}
.vnj-page .vnj-why-card__title {
    color: #101828;
    font-size: 22px;
    line-height: 1.2;
}
.vnj-page .vnj-why-card__description {
    margin: 0;
    color: #273548;
    font-size: 16px;
    line-height: 1.65;
}
.vnj-page .vnj-requirements,
.vnj-page .vnj-requirements-grid {
    margin-top: 2rem;
}
.vnj-page .vnj-requirements {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}
.vnj-page .vnj-requirements-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 1.6rem;
    align-items: stretch;
}
.vnj-page .vnj-requirement-card {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 3rem;
    border: 1px solid #e3eaf3;
    border-radius: 2.4rem;
    background: #fff;
    box-shadow: 0 16px 40px rgba(15,23,42,.04);
}
.vnj-page .vnj-requirement-card--accent {
    border-color: transparent;
    background: #8fe5fb;
    box-shadow: none;
}
.vnj-page .vnj-requirement-card--soft {
    background: #eef3fc;
}
.vnj-page .vnj-requirement-card--wide {
    grid-column: span 2;
}
.vnj-page .vnj-requirement-card__index {
    color: #101828;
    font-size: clamp(4.2rem,4vw,5.6rem);
    font-weight: 600;
    line-height: .9;
}
.vnj-page .vnj-requirement-card__title {
    margin: 0;
    color: #101828;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.35;
}
.vnj-page .vnj-requirement-card__description {
    color: #273548;
    font-size: 1.8rem;
    line-height: 1.65;
}
.vnj-page .vnj-requirement {
    border-radius: 2rem;
    background: #fff;
    box-shadow: 0 16px 40px rgba(15,23,42,.04);
}
.vnj-page .vnj-requirement__summary {
    display: grid;
    grid-template-columns: minmax(0,.42fr) minmax(0,.58fr) auto;
    gap: 2rem;
    align-items: center;
    padding: 2rem;
    cursor: pointer;
    list-style: none;
}
.vnj-page .vnj-requirement[open] .vnj-requirement__summary {
    align-items: start;
}
.vnj-page .vnj-requirement__summary::-webkit-details-marker {
    display: none;
}
.vnj-page .vnj-requirement__title {
    color: #101828;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.4;
}
.vnj-page .vnj-requirement__text {
    display: block;
    min-width: 0;
    overflow: hidden;
    color: #273548;
    font-size: 16px;
    line-height: 1.6;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.vnj-page .vnj-requirement[open] .vnj-requirement__text {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
}
.vnj-page .vnj-requirement__icon {
    position: relative;
    width: 2.4rem;
    height: 2.4rem;
    margin-top: .35rem;
}
.vnj-page .vnj-requirement__icon::before,
.vnj-page .vnj-requirement__icon::after {
    position: absolute;
    top: 1.1rem;
    width: 1rem;
    height: 2px;
    background: #101828;
    content: "";
    transition: transform .2s ease;
}
.vnj-page .vnj-requirement__icon::before {
    left: .2rem;
    transform: rotate(45deg);
}
.vnj-page .vnj-requirement__icon::after {
    right: .2rem;
    transform: rotate(-45deg);
}
.vnj-page .vnj-requirement[open] .vnj-requirement__icon::before {
    transform: rotate(-45deg);
}
.vnj-page .vnj-requirement[open] .vnj-requirement__icon::after {
    transform: rotate(45deg);
}
.vnj-page .vnj-content-block {
    padding: 2rem;
    border-radius: 2rem;
    background: #fff;
    box-shadow: 0 20px 50px rgba(11,30,23,.06);
}
.vnj-page .vnj-rich-text p + p {
    margin-top: 1rem;
}
.vnj-page .vnj-rich-list,
.vnj-page .vnj-feature-list {
    display: grid;
    gap: .875rem;
    margin: 1.5rem 0 0;
    padding: 0;
    list-style: none;
}
.vnj-page .vnj-rich-list li,
.vnj-page .vnj-feature-list>div {
    padding: 1rem 1.125rem;
    border-radius: 1rem;
    background: rgba(32,77,58,.04);
}
.vnj-page .vnj-table {
    margin-top: 2rem;
}
.vnj-page .vnj-table__head,
.vnj-page .vnj-table__row {
    display: grid;
    grid-template-columns: minmax(0,.56fr) minmax(0,.58fr);
    gap: 2rem;
}
.vnj-page .vnj-table__head {
    padding: 0 0 1rem;
    color: #7a8699;
    font-size: 1.6rem;
    line-height: 1.35;
}
.vnj-page .vnj-table__row {
    padding: 2rem 0;
    border-bottom: 1px solid #dbe4ef;
}
.vnj-page .vnj-table__main {
    color: #101828;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.3;
}
.vnj-page .vnj-table__side {
    color: #273548;
    font-size: 16px;
    line-height: 1.6;
}
.vnj-page .vnj-documents-panel {
    padding: 3rem;
    border-radius: 2.4rem;
    background: #f3f5fb;
}
.vnj-page .vnj-documents-columns {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 2.5rem;
    margin-top: 40px;
}
.vnj-page .vnj-document-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.vnj-page .vnj-document-list__item {
    display: grid;
    grid-template-columns: 2.6rem 1fr;
    gap: 1.2rem;
    align-items: start;
}
.vnj-page .vnj-document-list__icon {
    display: grid;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    margin-top: .15rem;
    border-radius: 999px;
    background: #17b8ef;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
}
.vnj-page .vnj-document-list__content {
    display: flex;
    flex-direction: column;
    gap: .35rem;
}
.vnj-page .vnj-document-list__title {
    color: #101828;
    font-size: 16px;
    line-height: 1.55;
}
.vnj-page .vnj-document-list__description {
    color: #778396;
    font-size: 1.6rem;
    line-height: 1.5;
}
.vnj-page .vnj-process-list {
    margin-top: 2rem;
}
.vnj-page .vnj-process-row {
    display: grid;
    grid-template-columns: minmax(0,.42fr) minmax(0,.58fr);
    gap: 2rem;
    padding: 15px;
    border-bottom: 1px solid #dbe4ef;
}
.vnj-page .vnj-process-row--highlight {
    padding: 15px;
    border: 0;
    background: #eef3fc;
}
.vnj-page .vnj-process-row__title {
    color: #101828;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.35;
}
.vnj-page .vnj-process-row__description {
    color: #273548;
    font-size: 16px;
    line-height: 1.65;
}
.vnj-page .vnj-renewal-stack {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.vnj-page .vnj-renewal-feature {
    display: grid;
    grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr);
    gap: 2rem;
    align-items: stretch;
    padding: 20px;
    border-radius: 20px;
    background: #eef3fc;
    direction: rtl;
    text-align: left;
}
.vnj-page .vnj-renewal-feature:nth-child(2n) {
    direction: initial;
    text-align: left;
}
.vnj-page .vnj-renewal-feature--reverse .vnj-renewal-feature__body {
    order: 2;
}
.vnj-page .vnj-renewal-feature--reverse .vnj-renewal-feature__media {
    order: 1;
}
.vnj-page .vnj-renewal-feature__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 34px 25px;
}
.vnj-page .vnj-renewal-feature__body .h1 {
    margin-bottom: 1.5rem;
    font-size: 35px;
}
.vnj-page .vnj-renewal-feature__text {
    color: #273548;
    font-size: 16px;
    line-height: 1.75;
}
.vnj-page .vnj-renewal-feature__media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 34rem;
    border-radius: 10px;
    object-fit: cover;
}
.vnj-page .vnj-table--expenses {
    margin-top: 2rem;
}
.vnj-page .vnj-table__row--expense {
    align-items: start;
}
.vnj-page .vnj-table__main--expense {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.55;
}
.vnj-page .vnj-table__side--accent {
    color: #101828;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.25;
}
.vnj-page .vnj-table__side--note {
    color: #273548;
    font-size: 1.7rem;
    font-weight: 400;
    line-height: 1.55;
}
.vnj-page .vnj-table__row--single {
    grid-template-columns: 1fr;
}
.vnj-page .vnj-table__row--single .vnj-table__side {
    display: none;
}
.vnj-page .vnj-guide__canvas {
    display: grid;
    grid-template-columns: repeat(12,minmax(0,1fr));
    align-items: center;
    margin-top: 3rem;
    padding: 2rem 0 4rem;
    background-image: repeating-linear-gradient(to right,rgba(183,194,208,.35) 0,rgba(183,194,208,.35) 1px,transparent 1px,transparent 9.6rem);
}
.vnj-page .vnj-guide-node {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    min-width: 0;
    margin-top: 20px;
}
.vnj-page .vnj-guide-node:nth-child(1) {
    grid-column: 1/span 4;
}
.vnj-page .vnj-guide-node:nth-child(2) {
    grid-column: 3/span 6;
}
.vnj-page .vnj-guide-node:nth-child(3) {
    grid-column: 5/span 5;
}
.vnj-page .vnj-guide-node:nth-child(4) {
    grid-column: 6/span 6;
}
.vnj-page .vnj-guide-node__badge {
    display: inline-flex;
    align-items: center;
    min-height: 6rem;
    padding: 15px 20px;
    border-radius: 2rem;
    background: #eef3fc;
    color: #101828;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    flex-shrink: 0;
}
.vnj-page .vnj-guide-node__line {
    width: 3.2rem;
    height: 1px;
    background: rgba(16,24,40,.35);
    flex-shrink: 0;
    margin-left: -22px;
}
.vnj-page .vnj-guide-node__text {
    color: #101828;
    font-size: 16px;
    line-height: 1.45;
}
.vnj-page .vnj-guide-node--brand .vnj-guide-node__badge {
    background: #90e7ff;
}
.vnj-page .vnj-guide-node--pink .vnj-guide-node__badge {
    background: #efc9fb;
}
.vnj-page .vnj-guide__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    grid-column: 6/span 3;
    padding: 1.4rem 2.4rem;
    margin-top: 3rem;
    border-radius: 1.6rem;
    background: #7fe0ff;
    color: #101828;
    font-size: 1.8rem;
    font-weight: 500;
    text-decoration: none;
}
.vnj-page .vnj-faq-title {
    scroll-margin-top: 16vh;
}
.recommends__title {
    margin-bottom: 50px;
    text-align: center;
}
.recommends {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center;
    margin-bottom: 30px;
}
.recom-item {
    background-color: #f3f7fc;
    border-radius: 20px;
    height: 140px;
    max-width: 410px;
    padding: 25px 72px;
}
.recom-item img {
    height: 100%;
    object-fit: contain;
    width: 150px;
}
.yandex {
    margin: auto auto 100px;
    width: fit-content;
}
.yandex img {
    height: 100%;
    object-fit: none;
}
@media (max-width:1200px) {
    .vnj-page .vnj-why-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
    .vnj-page .vnj-requirements-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
    .vnj-page .vnj-why-card,
    .vnj-page .vnj-why-card--wide {
        grid-column: span 1;
    }
    .vnj-page .vnj-guide__canvas {
        background-size: 8rem 100%;
    }
}
@media (max-width:960px) {
    .vnj-page .vnj-hero {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .vnj-page .vnj-hero__content {
        padding: 0;
    }
    .vnj-page .vnj-hero__media {
        min-height: 34rem;
    }
    .vnj-page .vnj-hero-stats,
    .vnj-page .vnj-documents-columns,
    .vnj-page .vnj-why-grid {
        grid-template-columns: 1fr;
    }
    .vnj-page .vnj-requirements-grid {
        grid-template-columns: 1fr;
    }
    .vnj-page .vnj-table__head,
    .vnj-page .vnj-table__row,
    .vnj-page .vnj-process-row,
    .vnj-page .vnj-renewal-feature {
        grid-template-columns: 1fr;
        
    }
    .vnj-table__row--expense {
        display: flex!important;
        flex-direction: column-reverse;
    }
    .vnj-page .vnj-requirement-card--wide {
        grid-column: span 1;
    }
    .vnj-page .vnj-requirement__summary {
        grid-template-columns: minmax(0,1fr) auto;
        gap: 1.2rem 1rem;
    }
    .vnj-page .vnj-requirement__text {
        grid-column: 1/-1;
    }
    .vnj-page .vnj-requirement__icon {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
    }
    .vnj-page .vnj-table__head span:last-child {
        display: none;
    }
    .vnj-page .vnj-renewal-feature--reverse .vnj-renewal-feature__body,
    .vnj-page .vnj-renewal-feature--reverse .vnj-renewal-feature__media {
        order: initial;
    }
    .vnj-page .vnj-guide__canvas {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        padding: 0;
        background: none;
    }
    .vnj-page .vnj-guide-node,
    .vnj-page .vnj-guide-node:nth-child(1),
    .vnj-page .vnj-guide-node:nth-child(2),
    .vnj-page .vnj-guide-node:nth-child(3),
    .vnj-page .vnj-guide-node:nth-child(4),
    .vnj-page .vnj-guide__cta {
        grid-column: auto;
        margin-top: 0;
    }
    .vnj-page .vnj-guide-node {
        flex-wrap: wrap;
        padding: 1.5rem;
        border-radius: 1.8rem;
    }
    .vnj-page .vnj-guide__cta {
        width: fit-content;
        margin-top: 1rem;
    }
}
@media (max-width:768px) {
    .vnj-page .vnj-hero-shell {
        margin-top: 0;
        padding: 1.25rem;
        border-radius: 1.5rem;
    }
    .vnj-page .section.vnj-section {
        padding: 4rem 0;
    }
    .vnj-page .section.vnj-section,
    .vnj-page .section.vnj-section>.container {
        gap: 20px;
    }
    .vnj-page .vnj-hero .visa-hero__title {
        max-width: none;
        font-size: clamp(2.8rem,11vw,4.2rem);
    }
    .vnj-page .vnj-hero__subtitle,
    .vnj-page .vnj-why-card__description,
    .vnj-page .vnj-requirement__text,
    .vnj-page .vnj-requirement-card__description,
    .vnj-page .vnj-table__side,
    .vnj-page .vnj-process-row__description,
    .vnj-page .vnj-renewal-feature__text,
    .vnj-page .vnj-guide-node__text {
        font-size: 1.6rem;
    }
    .vnj-page .vnj-hero__actions {
        flex-direction: column;
    }
    .vnj-page .vnj-hero__actions .button {
        width: 100%;
        min-width: 0;
    }
    .vnj-page .vnj-hero__media {
        min-height: 28rem;
    }
    .vnj-page .vnj-documents-panel,
    .vnj-page .vnj-content-block,
    .vnj-page .vnj-renewal-feature,
    .vnj-page .vnj-requirement__summary,
    .vnj-page .vnj-requirement-card {
        padding: 20px;
    }
    .vnj-page .vnj-table__main,
    .vnj-page .vnj-process-row__title,
    .vnj-page .vnj-requirement__title,
    .vnj-page .vnj-requirement-card__title,
    .vnj-page .vnj-table__side--accent {
        font-size: 20px;
    }
    .vnj-page .vnj-requirement-card {
        gap: 1.5rem;
    }
    .vnj-page .vnj-requirement-card__index {
        font-size: 4rem;
    }
    .vnj-page .vnj-hero-stat {
        padding: 1.8rem;
    }
    .recommends__title {
        margin-bottom: 30px;
        text-align: left;
    }
    .recom-item {
        align-items: center;
        display: flex;
        height: 160px;
        justify-content: center;
        max-width: 100%;
        width: 100%;
    }
    .yandex {
        margin-bottom: 50px;
        padding: 20px 0;
    }
}
.hero__benefits,
.visa-hero__benefits {
    max-width: 46rem;
}
.hero__benefits .visa-calculator-benefits,
.visa-hero__benefits .visa-calculator-benefits,
.reg-cost__benefits .visa-calculator-benefits {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.hero__benefits .visa-calculator-benefits li,
.visa-hero__benefits .visa-calculator-benefits li,
.reg-cost__benefits .visa-calculator-benefits li {
    position: relative;
    padding-left: 3.2rem;
    color: #74839d;
    font-size: 16px;
    line-height: 1.45;
}
.hero__benefits .visa-calculator-benefits li::before,
.visa-hero__benefits .visa-calculator-benefits li::before,
.reg-cost__benefits .visa-calculator-benefits li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 999px;
    background: #18baeb;
    color: #fff;
    font-size: 1.3rem;
    font-weight: 700;
}
.reg-cost .reg-cost__body {
    gap: 2.4rem;
}
.reg-cost .reg-cost__benefits {
    padding-top: 0;
}
.reg-cost .reg-cost__summary {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
}
.reg-cost .reg-cost__summary .reg-cost__price {
    line-height: 1.08;
}
.reg-cost .reg-cost__installment {
    width: 100%;
}
.visa-form-caption {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
}
.visa-field-tooltip {
    position: relative;
    display: inline-flex;
    align-items: center;
}
.visa-field-tooltip__trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid #aeb8cb;
    border-radius: 999px;
    color: #7a869d;
    font-size: 1.2rem;
    font-weight: 700;
    cursor: help;
}
.visa-field-tooltip__content {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 1rem);
    width: min(28rem, calc(100vw - 4rem));
    padding: 1.2rem 1.4rem;
    border-radius: 1.4rem;
    background: #101828;
    color: #fff;
    font-size: 1.3rem;
    line-height: 1.5;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 0.8rem);
    transition: opacity .2s ease, transform .2s ease;
    z-index: 10;
}
.visa-field-tooltip:hover .visa-field-tooltip__content,
.visa-field-tooltip:focus-within .visa-field-tooltip__content {
    opacity: 1;
    transform: translate(-50%, 0);
}
.visa-card-addon {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    padding-top: 1rem;
}
.visa-card-addon__heading {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}
.visa-card-addon__title {
    color: #101828;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
}
.visa-card-addon__subtitle {
    margin: 0;
    color: #8a96ab;
    font-size: 14px;
    line-height: 1.5;
}
.visa-card-addon__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.4rem;
}
.visa-card-addon__option {
    min-width: 0;
}
.visa-card-addon__input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.visa-card-addon__card {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    min-height: 16.8rem;
    height: 100%;
    padding: 2rem 2.2rem;
    border: 1px solid #dbe2ef;
    border-radius: 1.6rem;
    background: #fff;
    color: #101828;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
    cursor: pointer;
}
.visa-card-addon__input:checked + .visa-card-addon__card {
    border-color: #565f72;
    background: #565f72;
    color: #fff;
    box-shadow: 0 1.4rem 3rem rgba(86,95,114,.14);
}
.visa-card-addon__label {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.45;
}
.visa-card-addon__description {
    color: #8a96ab;
    font-size: 1.5rem;
    line-height: 1.55;
}
.visa-card-addon__input:checked + .visa-card-addon__card .visa-card-addon__description {
    color: rgba(255,255,255,.74);
}
@media (min-width:960px) {
    .reg-cost .reg-cost__header {
        background: #fff;
        gap: 2.4rem;
        padding: 3.2rem 3.2rem 2rem;
    }
    .reg-cost .reg-cost__flag {
        width: 5.4rem;
        height: 3.6rem;
    }
    .reg-cost .reg-cost__title {
        margin: 0;
    }
    .reg-cost .reg-cost__body {
        background: #fff;
        padding: 0 3.2rem 2rem;
    }
    .reg-cost .reg-cost__benefits .visa-calculator-benefits {
        gap: 1.6rem;
    }
    .reg-cost .reg-cost__footer {
        background: #fff;
        justify-content: flex-end;
        gap: 2.4rem;
        padding: 2rem 3.2rem 3.2rem;
    }
    .reg-cost .reg-cost__summary {
        margin-top: auto;
    }
    .reg-cost .reg-cost__apply {
        margin-top: 0;
    }
    .reg-cost .reg-cost__installment .installment-card__wrapper {
        gap: 1.2rem;
    }
    .reg-cost .reg-cost__installment .installment-card__row {
        gap: 1.6rem;
    }
}
.visa-media-section {
    padding-top: 8rem;
}
.visa-media-grid {
    max-width: 138rem;
    margin: 0 auto;
}
.recom-item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 14rem;
}
.recom-item a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
.recom-item--text {
    padding: 2.5rem 3.2rem;
}
.recom-item__wordmark {
    color: #101828;
    font-size: 5.2rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.03em;
}
.recom-item__wordmark--klerk {
    font-size: 4.8rem;
}
.recom-item__wordmark--dtf {
    font-size: 5.4rem;
}
.visa-home-reviews-section {
    padding-top: 8rem;
}
.visa-home-reviews {
    padding: 4.8rem;
    border-radius: 3.2rem;
    background: #f2f7ff;
}
.visa-home-reviews__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 3.2rem;
}
.visa-home-reviews__title {
    margin: 0;
}
.visa-home-reviews__controls {
    display: flex;
    gap: 1.2rem;
}
.visa-home-reviews__control {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 5.6rem;
    height: 5.6rem;
    border: 0;
    border-radius: 1.6rem;
    background: #18baeb;
    color: #fff;
    box-shadow: 0 1rem 2.4rem rgba(24,186,235,.24);
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.visa-home-reviews__control:hover {
    background: #12addc;
    transform: translateY(-1px);
}
.visa-home-reviews__control:focus-visible {
    outline: 2px solid #101828;
    outline-offset: 3px;
}
.visa-home-reviews__control svg {
    display: block;
    width: 1.1rem;
    height: 1.8rem;
}
.visa-home-reviews__track {
    display: flex;
    gap: 2rem;
    overflow-x: auto;
    padding-bottom: 0.4rem;
    scrollbar-width: none;
}
.visa-home-reviews__track::-webkit-scrollbar {
    display: none;
}
.visa-home-review-card {
    flex: 0 0 25.8rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 2.2rem 2rem 2rem;
    border-radius: 2.2rem;
    background: linear-gradient(180deg, #eef4ff 0%, #e6eefb 100%);
}
.visa-home-review-card--image {
    gap: 0;
    padding: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid #d8e4f2;
}
.visa-home-review-card--image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: inherit;
}
.visa-home-review-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}
.visa-home-review-card__name {
    margin: 0 0 0.6rem;
    color: #101828;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.35;
}
.visa-home-review-card__visa {
    margin: 0;
    color: #74839d;
    font-size: 1.4rem;
    line-height: 1.4;
}
.visa-home-review-card__quote {
    color: rgba(116,131,157,.4);
    font-size: 4rem;
    font-weight: 700;
    line-height: 0.8;
}
.visa-home-review-card__preview {
    overflow: hidden;
    border-radius: 1.8rem;
    background: #6f94bb;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.28);
}
.visa-home-review-card__chat {
    position: relative;
    min-height: 37rem;
    padding-bottom: 4rem;
    background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.08)), linear-gradient(180deg, #7aa1c7 0%, #dce6f2 42%, #dce6f2 100%);
}
.visa-home-review-card__chat-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.2rem;
    color: #fff;
    background: rgba(55,101,146,.92);
}
.visa-home-review-card__avatar {
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #e6c5af, #8a6546);
}
.visa-home-review-card__chat-meta {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-size: 1.1rem;
}
.visa-home-review-card__audio {
    height: 4.4rem;
    margin: 1rem 1.2rem;
    border-radius: 1.2rem;
    background: linear-gradient(90deg, rgba(170,238,151,.95), rgba(236,255,222,.95));
}
.visa-home-review-card__bubble {
    margin: 0 1.2rem 0.8rem;
    padding: 1rem 1.2rem;
    border-radius: 1.2rem;
    font-size: 1.2rem;
    line-height: 1.45;
}
.visa-home-review-card__bubble--light {
    background: rgba(255,255,255,.92);
    color: #2d3748;
}
.visa-home-review-card__bubble--brand {
    background: rgba(235,255,216,.95);
    color: #2d3748;
    margin-left: 5rem;
}
.order-total-card-package-block[hidden] {
    display: none !important;
}
@media (max-width:1200px) {
    .visa-card-addon__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width:960px) {
    .visa-home-reviews {
        padding: 3rem 2rem;
        border-radius: 2.4rem;
    }
    .visa-home-review-card {
        flex-basis: 24rem;
    }
}
@media (max-width:768px) {
    .hero__benefits .visa-calculator-benefits li,
    .visa-hero__benefits .visa-calculator-benefits li,
    .reg-cost__benefits .visa-calculator-benefits li {
        font-size: 1.6rem;
    }
    .visa-card-addon__title {
        font-size: 1.9rem;
    }
    .visa-card-addon__grid {
        grid-template-columns: 1fr;
    }
    .visa-card-addon__card {
        min-height: auto;
    }
    .visa-home-reviews__header {
        flex-direction: column;
        align-items: flex-start;
    }
    .visa-home-reviews__controls {
        align-self: flex-end;
    }
    .recom-item__wordmark,
    .recom-item__wordmark--klerk,
    .recom-item__wordmark--dtf {
        font-size: 4.2rem;
    }

    .vw-container .container {
        padding: 0;
    }
    .mobile-container {
        padding: 0 20px!important;
    }
    .vnj-page .vnj-hero-stat {
        border-radius: 20px!important;
    }
    .vnj-page .vnj-hero {
        margin-left: -20px;
        margin-right: -20px;
        border-radius: 0;
        display: flex;
        flex-direction: column-reverse;
    }
    .vnj-page .vnj-hero__actions .button {
        width: 100%;
        max-width: 100%;
    }
    .vnj-page .vnj-hero {
        padding: 20px;
    }
    .vnj-page .vnj-hero__media img {
        border-radius: 15px;
    }
    .vnj-page .vnj-hero-stat__value {
        font-size: 20px;
    }
    .vnj-page .section.vnj-section {
        padding: 50px 20px;
    }
    .vnj-page .vnj-why-card__title {
        font-size: 20px;
    }
    .vnj-page .vnj-section__title {
        font-size: 30px;
    }
    .container > .vnj-section__caption {
        margin-top: -20px;
    }
    .vnj-page .vnj-requirements {
        margin-top: 0;
    }
    .vnj-table__head {
        display: none!important;
    }
    .vnj-page .vnj-table--financial .vnj-table__row:nth-child(2) {
        padding-top: 0!important;
    }
    .vnj-section {
        border-radius: 0!important;
    }
    .vnj-page .vnj-process-list {
        margin-top: 0;
    }
    .vnj-page .vnj-renewal-feature__body {
        padding: 0;
    }
    .vnj-page .vnj-renewal-feature {
        gap: 30px;
    }
    .vnj-page .vnj-renewal-feature__body .h1 {
        font-size: 30px;
    }
    .vnj-page .vnj-renewal-feature__media img {
        min-height: 245px;
    }
    .vnj-table__row--expense:first-child {
        padding-top: 0;
    }
    .vnj-page .vnj-guide-node__line {
        margin-left: initial;
    }
}
