.language-select {
    position: relative;
    text-align: right;
    border-radius: 24px;
    outline: none
}

.language-select__selected {
    display: flex;
    align-items: center;
    cursor: pointer;
    gap: 4px
}

.language-select__selected-name {
    flex: 1;
    color: #383838;
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: -.24px
}

.language-select__options {
    width: 232px;
    position: absolute;
    right: -12px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin-top: 11px;
    padding: 16px 12px;
    border-radius: 16px;
    background: #fff;
    border: 3px solid #fff;
    box-shadow: 0 11px 25px #0000000d, 0 0 8px #00000014;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    opacity: 1;
    z-index: 1;
    transition: all .2s ease-in-out;
    gap: 2px
}

.language-select__options.hidden {
    visibility: hidden;
    opacity: 0;
    margin-top: 22px
}

@media (max-width: 640px) {
    .language-select__options {
        right: unset;
        left: 0
    }
}

.language-select__option {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 14px;
    border-radius: 10px;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none
}

.language-select__option:hover {
    background: #f4f4f7
}

.language-select__option-label {
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: -.32px;
    color: #282828
}

.language-select__option-label.current {
    font-weight: 500
}

.language-select__option-label-block {
    display: flex;
    align-items: center;
    gap: 8px
}

.language-select__option-value {
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: -.32px;
    color: #282828
}

.landing__menu {
    width: 100%;
    max-width: 1440px;
    height: 70px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 32px;
    background: transparent; 
    gap: 24px;
    box-sizing: border-box;
    margin: 0 auto;
}

@media (max-width: 640px) {
    .landing__menu {
        height: 56px;
        padding: 0 12px;
    }
}

.landing__menu-wrapper {
    position: fixed; /* Возвращаю fixed */
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: #fff; /* Changed from transparent */
    box-shadow: 0 2px 12px rgba(0,0,0,0.06); /* Added from .landing__menu */
    border-bottom: 1px solid #e9ecef; /* Added from .landing__menu */
}

.landing__menu-block--left {
    display: flex;
    align-items: center;
    margin-left: 24px;
    gap: 44px
}

@media (max-width: 640px) {
    .landing__menu-block--left {
        margin-left: 16px;
        margin-bottom: 0; /* Removed 19px bottom margin */
    }
}

.landing__menu-block--right {
    display: flex;
    align-items: center;
    margin-right: 8px;
    gap: 18px
}

@media (max-width: 640px) {
    .landing__menu-block--right {
        gap: 15px;
        margin-right: 16px
    }
}
.landing__menu-logo{
    /* height: 55px; */
    display: flex; /* Added for centering image */
    align-items: center; /* Added for centering image */
}
.landing__menu-logo>img {
    height: 68px; /* Increased from 60px */
    width: auto;
    max-width: 280px; /* Increased from 220px */
    object-fit: contain;
}
@media (max-width: 640px) {
    .landing__menu-logo > img {
        height: 54px; /* Increased from 44px */
        max-width: 180px; /* Increased from 140px */
    }
}

.landing__menu-items {
    display: flex;
    align-items: center;
    gap: 24px
}

@media (max-width: 660px) {
    .landing__menu-items {
        display: none
    }
}

.landing__menu-item {
    font-size: 16px;
    font-weight: 400;
    color: #222;
    transition: color 0.2s;
    text-decoration: none;
}

.landing__menu-item:hover,
.landing__menu-item.current {
    color: #004aad;
    font-weight: 500;
}

.landing__menu-icon-button {
    cursor: pointer;
    padding: 6px;
    display: flex;
    align-items: center;
    transition: transform 0.2s;
}
.landing__menu-icon-button svg path {
    fill: #888;
    transition: fill 0.2s;
}
.landing__menu-icon-button:hover {
    transform: scale(1.12);
}
.landing__menu-icon-button:hover svg path {
    fill: #004aad;
}

.landing__menu-button {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 22px;
    border-radius: 8px;
    border: none;
    background: #286fff; /* Насыщенный голубой, как акцент сайта */
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    transition: background 0.2s, box-shadow 0.2s;
    cursor: pointer;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
    border: 1px solid #e0e7ef;
}
.landing__menu-button:hover {
    background: #004aad; /* Более тёмный синий при наведении */
    color: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.landing__menu-button-label {
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: -.2px;
}
@media (max-width: 640px) {
    .landing__menu-button {
        padding: 8px 14px;
        font-size: 13px;
    }
    .landing__menu-button-label {
        font-size: 13px;
    }
}

.landing__menu-mobile {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 24px;
    margin-top: 10px;
    border-radius: 12px;
    background: #ffffffe6;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    gap: 24px;
    transition: all .2s ease-in-out
}

.landing__menu-mobile.hidden {
    visibility: hidden;
    opacity: 0;
    margin-top: 22px
}

.landing__menu-mobile-button {
    width: 25px;
    display: none;
    cursor: pointer
}

@media (max-width: 640px) {
    .landing__menu-mobile-button {
        display: block
    }
}

.landing__menu-mobile-items {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px
}

.landing__menu-mobile-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px
}

.landing__menu-mobile-item-label {
    font-size: 18px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: -.27px;
    color: #282828
}

.landing__menu-mobile-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px
}

.landing__menu-mobile-contact-button {
    display: flex;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    padding: 12px 60px;
    border-radius: 10px;
    background: #fff;
    gap: 6px;
    cursor: pointer
}

.landing__menu-mobile-contact-button-label {
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: -.24px;
    color: #383838
}

.landing__menu-mobile-language-select {
    display: flex;
    align-items: center;
    gap: 11px
}

.landing__menu-mobile-language-select-label {
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: -.24px;
    color: #383838;
    opacity: .4
}

.landing__menu-mobile-overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #25263080;
    overflow-y: auto;
    z-index: -100
}

.vr {
    width: 1px;
    height: 24px;
    background: #17171c;
    opacity: .1
}

@media (max-width: 640px) {
    .vr {
        display: none
    }
}

.landing__menu-mobile-language-select>.language-select>.language-select__options {
    left: -140px !important
}

.landing__modal {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 488px;
    display: flex;
    flex-direction: column;
    padding: 40px 29px;
    background-color: #fff;
    border-radius: 30px;
    gap: 32px;
    transform: translate(-50%, -50%)
}

@media (max-width: 640px) {
    .landing__modal {
        left: 16px;
        right: 16px;
        width: unset;
        padding: 40px 16px;
        border-radius: 16px;
        transform: translateY(-50%)
    }
}

.landing__modal-overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #25263080;
    overflow-y: auto;
    z-index: 1000
}

.landing__modal-close-button {
    position: absolute;
    top: 24px;
    right: 24px;
    padding: 6px;
    border-radius: 100px;
    background: #17171c59;
    cursor: pointer
}

@media (max-width: 640px) {
    .landing__modal-close-button {
        top: 16px;
        right: 16px
    }
}

.landing__modal-header {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px
}

.landing__modal-heading {
    font-size: 32px;
    font-weight: 500;
    line-height: 36px;
    letter-spacing: -1.28px;
    text-align: center;
    color: #282828
}

@media (max-width: 640px) {
    .landing__modal-heading {
        font-size: 24px;
        line-height: 26px;
        letter-spacing: -.96px
    }
}

.landing__modal-description {
    font-size: 18px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: -.27px;
    color: #282828;
    text-align: center
}

.landing__modal-content {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 40px
}

.landing__modal-tabs {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    align-self: stretch;
    gap: 24px
}

.landing__modal-tabs-selector {
    position: relative;
    display: flex;
    align-items: center;
    padding: 4px;
    border-radius: 16px;
    background: #eff3f6;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    gap: 3px
}

@media (max-width: 640px) {
    .landing__modal-tabs-selector {
        width: unset;
        align-self: stretch
    }
}

.landing__modal-tabs-selector:after {
    position: absolute;
    content: "";
    height: calc(100% - 8px);
    width: calc((100% - 11px)/2);
    border-radius: 12px;
    background: #fff;
    transition: all .2s ease-in-out;
    z-index: 1
}

.landing__modal-tabs-selector-item {
    flex: 1 0 0;
    padding: 13px 10px;
    font-size: 18px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: -.27px;
    text-align: center;
    cursor: pointer;
    z-index: 2
}

@media (max-width: 640px) {
    .landing__modal-tabs-selector-item {
        padding: 8px 10px
    }
}

.landing__modal-tabs>section {
    display: none
}

.landing__modal-tabs>input {
    display: none
}

.landing__modal-tabs>input#telegram:checked~section#telegram {
    display: block
}

.landing__modal-tabs>input#telegram:checked~.landing__modal-tabs-selector:after {
    transform: translate(0)
}

.landing__modal-tabs>input#email:checked~section#email {
    display: block
}

.landing__modal-tabs>input#email:checked~.landing__modal-tabs-selector:after {
    transform: translate(calc(100% + 3px))
}

.landing__modal-form {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px
}

.landing__modal-form-input {
    width: 100%;
    box-sizing: border-box;
    padding: 18px 8px 18px 20px;
    font-size: 18px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: -.27px;
    color: #282828;
    border: 2px solid transparent;
    border-radius: 16px;
    background: #efeff5;
    transition: all .2s ease-in-out
}

.landing__modal-form-input:focus {
    border-color: #f3f8ff
}

.landing__modal-form-input-wrapper {
    position: relative;
    height: 64px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    transition: height .2s ease-in-out
}

.landing__modal-form-input-wrapper.not-valid>input {
    border-color: #f42500
}

.landing__modal-form-input-wrapper.not-valid:after {
    content: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.0008 15H13.0008V17H11.0008V15ZM11.0008 7H13.0008V13H11.0008V7ZM12.0008 2C6.47079 2 2.00079 6.5 2.00079 12C2.00079 14.6522 3.05436 17.1957 4.92973 19.0711C5.85831 19.9997 6.9607 20.7362 8.17396 21.2388C9.38721 21.7413 10.6876 22 12.0008 22C14.653 22 17.1965 20.9464 19.0719 19.0711C20.9472 17.1957 22.0008 14.6522 22.0008 12C22.0008 10.6868 21.7421 9.38642 21.2396 8.17317C20.737 6.95991 20.0004 5.85752 19.0719 4.92893C18.1433 4.00035 17.0409 3.26375 15.8276 2.7612C14.6144 2.25866 13.314 2 12.0008 2ZM12.0008 20C9.87906 20 7.84423 19.1571 6.34394 17.6569C4.84365 16.1566 4.00079 14.1217 4.00079 12C4.00079 9.87827 4.84365 7.84344 6.34394 6.34315C7.84423 4.84285 9.87906 4 12.0008 4C14.1225 4 16.1574 4.84285 17.6576 6.34315C19.1579 7.84344 20.0008 9.87827 20.0008 12C20.0008 14.1217 19.1579 16.1566 17.6576 17.6569C16.1574 19.1571 14.1225 20 12.0008 20Z' fill='%23F42500'/%3E%3C/svg%3E%0A");
    position: absolute;
    top: 20px;
    right: 20px
}

.landing__modal-form-not-valid-message {
    font-size: 18px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: -.27px;
    color: #f42500
}

.landing__modal-bottom {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 24px
}

.landing__modal-bottom-text {
    display: flex;
    align-items: center;
    align-self: center;
    font-size: 18px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: -.27px;
    color: #282828;
    gap: 4px
}

@media (max-width: 640px) {
    .landing__modal-bottom-text {
        flex-direction: column
    }
}

.landing__modal-bottom-text.highlighted {
    color: #004aad;
    gap: 3px;
    cursor: pointer
}

@media (max-width: 640px) {
    .landing__modal-bottom-text.highlighted {
        flex-direction: unset
    }
}

.landing__modal-button {
    padding: 16px 32px;
    border-radius: 16px;
    border: 1px solid #aeaeae;
    background: #f3f8ff;
    box-shadow: 0 11px 25px #0000000d;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    cursor: pointer;
    transition: all .2s ease
}

.landing__modal-button:hover {
    background: #aaaaaa;
}

.landing__modal-button-label {
    font-size: 20px;
    font-weight: 500;
    line-height: 20px;
    letter-spacing: -.8px;
    color: #616161;
}

.slide-fade-enter-active {
    transition: all .2s ease-in
}

.slide-fade-leave-active {
    transition: all .2s ease-out
}

.slide-fade-enter-from {
    transform: translateY(-10px);
    opacity: 0
}

.slide-fade-leave-to {
    transform: translateY(10px);
    opacity: 0
}

.landing__footer {
    width: 100%;
    max-width: 1360px;
    display: flex;
    align-items: flex-start;
    padding: 30px 0 36px;
    border-top: 1px solid rgba(0, 0, 0, .1);
    gap: 30px
}

@media (max-width: 640px) {
    .landing__footer {
        flex-direction: column-reverse;
        padding: 0 0 64px;
        border-top: unset;
        gap: 48px
    }
}

.landing__footer-wrapper {
    display: flex;
    justify-content: center;
    padding: 0 60px;
    margin-top: 160px
}

@media (max-width: 640px) {
  .landing__footer-wrapper {
        padding: 0 12px;
        margin-top: 80px
    }
}

.landing__footer-logo {
    flex: 1 0 0;
    height: 60px;
}
.landing__footer-logo>img {
    height: 60px;
}

@media (max-width: 640px) {
    .landing__footer-logo {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        align-self: stretch;
        padding-top: 32px;
        border-top: 1px solid rgba(0, 0, 0, .1);
        gap: 32px
    }
}

@media (max-width: 640px) {
    .landing__footer-logo-image {
        width: auto;
        height: 50px;
    }
}

.landing__footer-info {
    display: none;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px
}

@media (max-width: 640px) {
    .landing__footer-info {
        display: flex
    }
}

.landing__footer-info-text {
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: -.24px;
    color: #383838;
    opacity: .4
}

.landing__footer-content {
    display: flex;
    flex: 1 0 0;
    justify-content: space-between;
    align-items: stretch;
    gap: 16px
}

@media (max-width: 640px) {
    .landing__footer-content {
        flex-direction: column;
        align-self: stretch;
        gap: 40px
    }
}

.landing__footer-content-block {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 75px
}

.landing__footer-content-block.left {
    align-items: flex-start
}

@media (max-width: 640px) {
    .landing__footer-content-block.left {
        gap: 40px
    }
}

.landing__footer-content-block.right {
    align-items: flex-end
}

@media (max-width: 640px) {
    .landing__footer-content-block.right {
        align-items: flex-start;
        gap: 40px
    }
}

.landing__footer-contact {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.landing__footer-contact-label {
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: -.24px;
    color: #383838;
    opacity: .4
}

.landing__footer-contact-links {
    display: flex;
    align-items: center;
    gap: 31px
}

.landing__footer-language-select {
    display: flex;
    align-items: center;
    gap: 11px
}

@media (max-width: 640px) {
    .landing__footer-language-select {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px
    }
}

.landing__footer-language-select-label {
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: -.24px;
    color: #383838;
    opacity: .4
}

.landing__footer-menu-items {
    display: flex;
    align-items: center;
    gap: 32px
}

@media (max-width: 640px) {
    .landing__footer-menu-items {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px
    }
}

.landing__footer-menu-items-label {
    display: none;
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: -.24px;
    color: #383838;
    opacity: .4
}

@media (max-width: 640px) {
    .landing__footer-menu-items-label {
        display: block
    }
}

.landing__footer-menu-item,
.landing__footer-copyright {
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: -.24px;
    color: #383838
}

@media (max-width: 640px) {
    .landing__footer-copyright {
        display: none
    }
}

.landing__footer-mail {
    font-size: 24px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: -.96px;
    color: #383838;
    cursor: pointer
}

@media (max-width: 640px) {
    .landing__footer-mail {
        font-size: 16px;
        letter-spacing: -.24px
    }
}

.landing__footer-telegram {
    cursor: pointer
}

#app {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

.icon {
    line-height: 0
}

@font-face {
    font-family: CoFo Sans;
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    src: local("CoFo Sans"), url(../fonts/CoFoSans-regular.woff2) format("woff2"), url(../fonts/CoFoSans-regular.woff) format("woff"), url(../fonts/CoFoSans-regular.ttf) format("ttf")
}

@font-face {
    font-family: CoFo Sans;
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    src: local("CoFo Sans"), url(../fonts/CoFoSans-medium.woff2) format("woff2"), url(../fonts/CoFoSans-medium.woff) format("woff"), url(../fonts/CoFoSans-medium.ttf) format("ttf")
}

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    overflow-x: hidden;
}

body {
    margin: 0;
    display: block; 
    overflow-x: hidden; /* Restored */
    overflow-y: auto;   
}

main {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

abbr {
    border-bottom: none;
    text-decoration: underline
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

button,
[type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
    border-style: none;
    padding: 0
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

summary {
    display: list-item
}

template {
    display: none
}

[hidden] {
    display: none
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box
}

body {
    -webkit-tap-highlight-color: transparent
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin: 0
}

input,
textarea {
    border: 0
}

input:focus,
textarea:focus {
    outline: none
}

textarea {
    width: 100%;
    display: block;
    resize: none;
    white-space: initial
}

a {
    color: inherit;
    text-decoration: none
}

a:hover {
    color: inherit
}

button {
    border: 0;
    background: none;
    padding: 0
}

button :focus {
    outline: none
}

ul {
    margin: 0;
    padding: 0
}

li {
    list-style-type: none
}

.landing {
    position: relative;
    width: 100vw;
    min-height: 100vh;
    display: block; 
    font-family: CoFo Sans, sans-serif;
    background: #fff;
    overflow-x: hidden; /* Restored */
}

.landing__loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    overflow-y: hidden;
    background: #f3f8ff;
    z-index: 10000;
    animation: loader-animation 1.5s cubic-bezier(.45, 0, .55, 1); /* Duration changed from 3.8s to 1.5s */
    pointer-events: none; /* Чтобы не перехватывал события после анимации */
}

.landing__loader-animation {
    position: absolute;
    top: 50vh;
    left: 50vw;
    width: 300px !important;
    height: 150px !important;
    transform: translate(-50%, -50%);
    animation: logo-animation 1.5s cubic-bezier(.5, 1, .89, 1); /* Duration changed from 3.8s to 1.5s */
}

@media (max-width: 640px) {
    .landing__loader-animation {
        width: 200px;
        height: 100px
    }
}

.landing__hero {
    display: flex !important;
    flex-direction: row !important;
    padding: 60px 8% !important; /* Adjusted padding: 8% on sides */
    margin: 0 auto !important;
    box-sizing: border-box !important;
    max-width: 1440px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 40px !important;
}

@media (max-width: 768px) {
  .landing__hero-wrapper {
    padding: 50px 0 0 !important; /* Adjust top padding, remove bottom padding */
    margin-top: 56px !important; /* Account for fixed header */
  }
  .landing__hero {
    flex-direction: column !important;
    padding: 0 15px !important; /* Consistent mobile padding */
    max-width: 100% !important; /* Ensure it doesn't exceed screen width */
  }

  .landing__hero-content {
    width: 100% !important;
    padding: 20px 0 !important; /* Vertical padding, no horizontal */
    order: -1 !important; /* Content first on mobile */
    align-items: center !important;
    gap: 24px !important; /* Reduced gap for mobile */
  }

  .landing__hero-content-block {
    align-items: center !important;
    gap: 12px !important; /* Reduced gap */
  }

  .landing__hero-content-heading,
  .landing__hero-content-description {
    text-align: center !important;
  }
  
  .landing__hero-content-heading {
    font-size: 36px !important; /* Adjust font size for mobile */
    line-height: 1.2 !important;
  }
  
  .landing__hero-content-description {
    font-size: 16px !important; /* Adjust font size for mobile */
    line-height: 1.5 !important;
  }

  .landing__hero-image {
    order: 2 !important; /* Image after content */
    width: 90% !important;
    max-width: 350px; /* Max width for the image */
    height: auto !important;
    margin: 20px auto 0 auto !important; /* Top margin, centered, no bottom margin from wrapper padding */
    position: relative !important; /* Reset positioning */
    right: auto !important;
    bottom: auto !important;
    display: block !important; /* Ensure it's a block for margin auto to work */
  }
  
  .landing__hero-content-button {
    margin-top: 16px !important; /* Add some space above the button if it were visible */
  }
}

.landing__hero-wrapper {
    /* height: 638px; */
    position: relative;
    display: flex;
    justify-content: center;
    padding: 74px 0 0;
    background: #f3f8ff;
    margin-top: 0;
    /* overflow: hidden; */
}
@media (max-width: 1150px) {
    .landing__hero-wrapper {
        /* height: 602px; */
        padding: 80px 12px 0;
        background: unset
    }
}

.landing__hero-content {
    width: auto !important;
    flex: 1 1 55% !important;
    max-width: 50% !important; /* Slightly reduced max-width for text if needed */
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 0 !important;
    gap: 20px !important;
    z-index: 1 !important;
    box-sizing: border-box !important;
    flex-basis: 50% !important;
}

@media (max-width: 1150px) {
    .landing__hero-content {
        width: 100%;
        justify-content: space-between;
        align-items: stretch;
        padding: 48px 20px 0;
        order: -1;
    }
}

.landing__hero-content-block {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

@media (max-width: 1150px) {
    .landing__hero-content-block {
        align-items: center
    }
}

.landing__hero-content-description {
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    letter-spacing: normal !important;
    color: #555555 !important;
    margin: 0 !important;
    text-align: left !important;
}

@media (max-width: 1150px) {
    .landing__hero-content-description {
        font-size: 18px;
        line-height: 22px;
        letter-spacing: -.27px;
        text-align: center
    }
}

.landing__hero-content-heading {
    font-size: 48px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important; /* Adjusted for two lines */
    color: #282828 !important;
    margin: 0 !important;
    text-align: left !important;
}

@media (max-width: 1150px) {
    .landing__hero-content-heading {
        font-size: 37px;
        line-height: 36px;
        letter-spacing: -1.85px;
        text-align: center
    }
}

.landing__hero-content-heading > br {
    display: block; /* Ensure <br> creates a new line */
    content: ""; /* Required for display:block on br in some cases */
    margin-top: 4px; /* Small space between lines */
}

.landing__hero-content-button {
    display: none !important;
    padding: 16px 32px;
    border-radius: 16px;
    border: 1px solid #aeaeae;
    background: #f3f8ff;
    box-shadow: 0 11px 25px #0000000d;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    transition: all .2s ease;
    cursor: pointer
}

.landing__hero-content-button:hover {
    background: #aaaaaa;
}

.landing__hero-content-button-label {
    font-size: 20px;
    font-weight: 500;
    line-height: 20px;
    letter-spacing: -.8px;
    color: #616161
}

@media (max-width: 1150px) {
    .landing__hero-content-button {
        display: none
    }
}

.landing__hero-image {
    position: static !important;
    flex: 1 1 40% !important;
    max-width: 45% !important; /* Image can take a bit more if text is narrower */
    height: auto !important;
    object-fit: contain !important;
    margin: 0 !important;
    border-radius: 16px !important;
    background: none !important;
    flex-basis: 45% !important;
}

@media (max-width: 1150px) {
    .landing__hero-image {
        left: 5%;
        width: auto;
        max-width: 90%;
        height: auto;
        object-fit: contain;
    }
}

.landing__content {
    width: 100%;
    max-width: 1440px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 192px;
    /* height: auto; */
    /* max-height: none; */
    /* overflow: visible; */
}

@media (max-width: 1150px) {
    .landing__content {
        gap: 96px
    }
}

.landing__content-wrapper {
    display: flex;
    justify-content: center;
    padding: 40px 12px;
    /* height: auto; */ /* Убираю любые высоты */
    /* max-height: none; */
    /* overflow: visible; */
}

@media (max-width: 1150px) {
    .landing__content-wrapper {
        padding: 40px 12px;
    }
}

.landing__partners {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 32px
}

.landing__partners-logos {
    display: flex;
    flex-grow: 1;
    justify-content: space-between;
    align-items: center;
    padding-left: 60px;
    padding-right: 60px;
    background: #fff;
    gap: 60px
}

@media (max-width: 640px) {
    .landing__partners-logos {
        padding-left: 0;
        animation: partners-animation 60s linear infinite;
        z-index: 2
    }
}
.landing__partners-logos-wrapper {
padding-top: 25px;
}

@media (max-width: 640px) {
    .landing__partners-logos-wrapper {
        display: flex;
        align-items: center;
        align-self: flex-start
    }
}

.landing__partners-logos.clone {
    display: none
}

@media (max-width: 640px) {
    .landing__partners-logos.clone {
        display: flex
    }
}

.landing__partners-logos.background {
    display: none
}

@media (max-width: 640px) {
    .landing__partners-logos.background {
        position: absolute;
        display: flex;
        animation: unset;
        z-index: 1
    }
}

.landing__partners-wrapper {
    position: relative;
    margin-top: 64px;
    overflow-x: hidden
}

@media (max-width: 640px) {
    .landing__partners-wrapper {
        margin: 64px -12px 0
    }
}

@media (max-width: 640px) {

    .landing__partners-wrapper:before,
    .landing__partners-wrapper:after {
        content: "";
        width: 16px;
        position: absolute;
        top: 0;
        bottom: 0;
        z-index: 1
    }
}

.landing__partners-wrapper:before {
    left: 0;
    background: linear-gradient(90deg, #fff, #fff0)
}

.landing__partners-wrapper:after {
    right: 0;
    background: linear-gradient(270deg, #fff, #fff0)
}

.landing__partners-title {
    padding-left: 60px;
    font-size: 35px;
    font-weight: 700;
    line-height: 26px;
    letter-spacing: -.3px;
    color: #292929;
}

@media (max-width: 640px) {
    .landing__partners-title {
        padding-left: 0;
        align-self: center
    }
}

.landing__block {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* height: auto; */
    /* max-height: none; */
    /* overflow: visible; */
}

.landing__block-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px
}

.landing__block-header-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px
}

@media (max-width: 640px) {
    .landing__block-header-text {
        gap: 24px
    }
}

.landing__block-heading {
    font-size: 50px;
    font-weight: 700;
    line-height: 72px;
    text-align: center;
    color: #282828
}

@media (max-width: 640px) {
    .landing__block-heading {
        font-size: 38px;
        line-height: 36px;
        letter-spacing: -1.9px
    }
}

.landing__block-description {
    font-size: 18px;
    font-weight: 500;
    line-height: 22px;
    letter-spacing: -.27px;
    text-align: center;
    color: #282828
}

.landing__block-tabs {
    margin-top: 48px
}

@media (max-width: 640px) {
    .landing__block-tabs {
        margin-top: 48px
    }
}

.landing__block-sticky {
    width: 100%;
    margin-top: 128px
}

@media (max-width: 640px) {
    .landing__block-sticky {
        margin-top: 48px
    }
}

.landing__block-carousel {
    margin-top: 128px
}

@media (max-width: 640px) {
    .landing__block-carousel {
        margin-top: 48px
    }
}

.what-is{
    border-radius: 24px;
    background-color: #286fff;
    /* background-position: center center; */ /* Removed as default or unnecessary */
    /* border-color: transparent; */ /* Removed as default or unnecessary */
    /* border-style: solid; */ /* Removed as default or unnecessary */
    position: relative;
    width: 90%;
    left: 5%;
    padding: 25px; /* Added padding */
    box-sizing: border-box; /* Ensure padding is included in width calculation */
}

.what-is-header{
    color: #ffffff;
    font-size: 35px;
    line-height: 1.25;
    font-weight: 700;
    background-position: center center;
    border-color: transparent;
    border-style: solid;
}

.landing__mockup {
    width: calc(100% - 244px);
    position: relative;
    background: #f3f8ff;
    border-radius: 32px
}

@media (max-width: 640px) {
    .landing__mockup {
        width: 100%;
        margin-top: 48px;
        border-radius: 24px
    }
}

.landing__mockup-image {
    position: absolute;
    left: 20%; /* Adjusted for potentially new parent padding */
    bottom: 30%;
    max-width: 40%;
    max-height: 125%;
    transform: translate(-50%);
}

@media (max-width: 800px) {
    .landing__mockup-image {
        position: absolute;
    left: 50%;
    bottom: 0;
    max-width: 100%;
    max-height: 125%;
    transform: translate(-50%);
    max-height: 155px;
    }
}


.mockup-my{
    width: 100%; /* Fill parent's padded area */
    position: relative;
    margin-top: 20px; /* Space below title */
    margin-bottom: 0; /* Parent's padding will handle bottom space */
    background-color: #fff; /* Ensure white background */
    border-radius: 16px;  /* Smaller radius than parent .what-is */
    padding: 20px; /* Internal padding for content within the white box */
    box-sizing: border-box;
}
.landing__bottom {    position: relative;    display: flex;    padding: 40px; /* Увеличил отступы */    border-radius: 32px;    background: linear-gradient(135deg, #266aff, #2859ff); /* Красивый градиент */    flex-direction: row;    justify-content: center;    align-items: center;    box-shadow: 0 8px 32px rgba(40,111,255,0.2); /* Добавил хорошую тень */    background-size: cover;    background-position: center;    background-repeat: no-repeat;    overflow: hidden; /* Скрываем вылезающие элементы декора, если понадобится */    transition: transform 0.3s, box-shadow 0.3s; /* Анимация при наведении */}.landing__bottom:hover {    transform: translateY(-3px); /* Легкая анимация при наведении */    box-shadow: 0 12px 36px rgba(40,111,255,0.25); /* Усиленная тень при наведении */}/* Добавляем декоративный элемент на фоне */.landing__bottom:before {    content: '';    position: absolute;    width: 300px;    height: 300px;    border-radius: 50%;    background: rgba(255,255,255,0.05);    right: -150px;    top: -150px;    z-index: 0;}.landing__bottom-icon {    margin-bottom: 20px;    position: relative;    z-index: 2; /* Выше, чем декоративные элементы */    display: flex;    justify-content: center;    align-items: center;    transition: transform 0.3s ease;}.landing__bottom-icon svg {    filter: drop-shadow(0 4px 10px rgba(40,111,255,0.3)); /* Тень для иконки */}.landing__bottom:hover .landing__bottom-icon {    transform: scale(1.05) rotate(5deg); /* Легкая анимация иконки при наведении */}

@media (max-width: 640px) {
    .landing__bottom {
        display: flex;
        flex-direction: column;
        align-items: flex-start; /* Mobile: remains flex-start */
        justify-content: flex-start; /* Mobile: remains flex-start */
        padding: 20px 15px 20px 15px;
        border-radius: 20px;
        background: #286fff;
        box-shadow: 0 8px 32px rgba(40,111,255,0.13), 0 1.5px 6px rgba(0,0,0,0.07);
        position: relative;
        min-height: auto;
        margin: 24px 0 0 0;
        overflow: visible;
    }
    .landing__bottom-content {
        width: 100%; /* Mobile: Correct */
        align-items: flex-start; /* Mobile: Correct - back to flex-start */
        text-align: left; /* Mobile: Correct - back to left */
        padding: 0; /* Mobile: Correct */
        background: none; /* Mobile: Correct */
        position: static; /* Mobile: Correct */
        z-index: 2; /* Mobile: Correct */
        box-shadow: none; /* Mobile: Correct */
        border-radius: 0; /* Mobile: Correct */
        margin: 0; /* Mobile: Correct */
        /* Removed desktop-like centering that was mistakenly applied here */
        /* Removed gap, vertical-align, flex-basis, max-width that were mistakenly applied here from desktop */
    }
    .landing__bottom-heading {
        font-size: 26px; 
        line-height: 1.25; 
        color: #fff;
        margin-bottom: 8px;
        text-align: left; /* Mobile: Correct */
        font-weight: 700;
        letter-spacing: -0.5px;
    }
    .landing__bottom-description {
        font-size: 15px;
        font-weight: 400;
        line-height: 1.45;
        color: #fff;
        opacity: 0.95;
        width: calc(100% - 5px); 
        margin: 0 0 14px 0;
        padding: 0; /* Mobile: Correct */
        text-align: left; /* Mobile: Correct */
        position: static; /* Mobile: Correct */
        /* left: unset; */ /* Already like this or not needed */
    }
    .landing__bottom-button {
        display: block;
        margin: 10px 0 0 0;
        width: 100%;
        max-width: 100%;
        padding: 14px 0;
        font-size: 16px;
        border-radius: 12px;
        background: #fff;
        color: #286fff;
        font-weight: 600;
        box-shadow: 0 2px 8px rgba(40,111,255,0.10);
        transition: background 0.2s, color 0.2s, box-shadow 0.2s;
    }
    .landing__bottom-button:active {
        background: #e6f0ff;
        color: #004aad;
        box-shadow: 0 1px 4px rgba(40,111,255,0.08);
    }
    .landing__bottom-button-label {
        color: #286fff;
        font-size: 16px;
        font-weight: 600;
    }
    /* .landing__bottom-image rule for mobile is removed */
}

.landing__bottom-content { /* Desktop styles */
    display: flex;
    flex-direction: column;
    align-items: center; /* Desktop: Correct - center items */
    text-align: center; /* Desktop: Correct - center text */
    z-index: 2;
    gap: 10px;
    /* vertical-align: middle; */ /* Not needed for flex */
    position: relative;
    flex-basis: auto; /* Desktop: Correct */
    max-width: 600px; /* Desktop: Correct */
    padding: 20px; /* Desktop: Correct */
}

.landing__bottom-icon {
    margin-bottom: 20px;
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 0.3s ease;
}

.landing__bottom-icon svg {
    filter: drop-shadow(0 6px 12px rgba(40,111,255,0.35)) drop-shadow(0 2px 4px rgba(40,111,255,0.25)); /* Усиленная тень для иконки */
    transition: filter 0.3s ease; /* Плавный переход для тени */
}

.landing__bottom:hover .landing__bottom-icon { /* Assuming .landing__bottom:hover is already defined */
    transform: scale(1.05) rotate(5deg); 
}

@media (max-width: 640px) {
    .landing__bottom-icon {
        align-self: center; 
        margin-bottom: 15px;
        margin-top: 5px;
    }
    
    .landing__bottom-icon svg {
        width: 52px; 
        height: 52px;
    }
}

.landing__bottom-heading { /* Desktop styles */
    font-size: 42px;
    font-weight: 700;
    line-height: 1.3;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 2px 4px rgba(0,0,0,0.1); /* Легкая 3D тень для текста */
}

.landing__bottom-description { /* Desktop styles */
    font-size: 20px;
    font-weight: 500;
    line-height: 26px;
    letter-spacing: -.3px;
    color: #fff;
    opacity: .9;
    width: 90%; /* Keep this for desktop to prevent overly long lines */
    /* left: 0; */ /* Not needed for centered text */
    position: relative;
    /* text-align: inherit; */ /* Will inherit center from parent on desktop */
}

.landing__bottom-button { /* Desktop styles */
    padding: 16px 32px; /* Слегка увеличим для солидности */
    margin: 20px 0; /* Увеличим отступ */
    border-radius: 12px;
    border: none;
    background: #ffffff;
    color: #286fff;
    font-weight: 600; /* Сделаем текст жирнее */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1), 0 6px 12px rgba(40, 111, 255, 0.2); /* Более объемная тень */
    transition: all .2s ease-out; /* Чуть другой easing */
    cursor: pointer;
    height: auto;
    width: auto;
    outline: none; /* Убираем стандартный outline при фокусе */
}

.landing__bottom-button:hover {
    background: #f0f5ff; /* Легкое изменение фона при наведении */
    transform: translateY(-2px) scale(1.02); /* Подъем и легкое увеличение */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15), 0 8px 16px rgba(40, 111, 255, 0.25); /* Усиленная тень */
}

.landing__bottom-button:active {
    background: #e9effc; /* Фон при нажатии */
    transform: translateY(1px) scale(0.98); /* "Вдавливание" кнопки */
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(40, 111, 255, 0.15); /* Внутренняя тень и уменьшенная внешняя */
}

@media (max-width: 640px) {
    .landing__bottom-button { /* This style is for mobile, ensuring it's distinct */
        /* display: none */ /* This was here, but mobile button should be visible as per the other mobile CSS */
        /* The main mobile styles for this button are already defined in the first @media block */
    }
}

.landing__bottom-button-label { /* Desktop styles */
    font-size: 18px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: -.3px;
    color: #286fff;
}

/* All .landing__bottom-image rules are removed */
/* Ensure any stray @media blocks for .landing__bottom-image are also gone */

.landing__mobile-button {
    height: auto; 
    display: none; /* Default to none, enabled in media query */
    justify-content: center;
    align-items: center;
    padding: 12px 24px;
    gap: 8px;
    flex-shrink: 0;
    background: #286fff; 
    color: #fff; 
    border: none; 
    border-radius: 12px; 
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); /* Restored shadow, made it subtle gray */
    cursor: pointer;
    width: auto; 
    max-width: 90%; 
    transition: transform 0.1s ease-out; /* Added for smooth scaling */
}

.landing__mobile-button:hover {
    background: #004aad;
}

@media (max-width: 640px) {
    .landing__mobile-button {
        display: flex !important; 
    }
}

.landing__mobile-button-wrapper {
    position: fixed !important;
    display: flex !important;
    justify-content: center;
    align-items: center;
    bottom: 20px;
    left: 0; /* Full width */
    right: 0; /* Full width */
    padding: 10px 16px; /* Padding inside the full-width wrapper */
    /* width: fit-content; */ /* Removed this line */
    z-index: 1001;
    transition: all .4s cubic-bezier(.4,2,.3,1);
    background-color: transparent !important; /* Wrapper is transparent */
    will-change: transform, opacity;
    box-sizing: border-box;
    margin-top: 0 !important;
}

.landing__mobile-button-label {
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important; 
    letter-spacing: -0.3px !important; 
    color: #fff !important; /* Ensure label is white */
}

.landing__mobile-button .icon svg path {
    fill: #fff !important; /* Ensure icon is white */
}

.landing__contact {
    margin-top: 162px
}

@media (max-width: 640px) {
    .landing__contact {
        margin-top: 92px
    }
}

.landing__contact-content {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 32px
}

@media (max-width: 640px) {
    .landing__contact-content {
        gap: 20px
    }
}

.landing__contact-header {
    display: flex;
    align-items: flex-start;
    gap: 40px
}

@media (max-width: 640px) {
    .landing__contact-header {
        flex-direction: column
    }
}

.landing__contact-header-block {
    display: flex;
    flex: 1 0 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px
}

.landing__contact-heading {
    padding: 10px 15px;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: -.14px;
    color: #282828;
    background: #eff3f6;
    border-radius: 10px
}

@media (max-width: 640px) {
    .landing__contact-heading {
        font-size: 10px;
        line-height: 14px;
        letter-spacing: -.1px
    }
}

.images-carousel {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    user-select: none;
    -webkit-user-select: none
}

.images-carousel__content {
    width: fit-content;
    display: flex;
    align-items: stretch;
    gap: 12px;
    transition: all .5s ease-in-out;
    transform: translate(calc((12px - 100vw) * var(--3309311c)))
}

.images-carousel__content-wrapper {
    width: 100%;
    align-self: flex-start;
    /* overflow: visible; */
}

.images-carousel__content-element {
    width: calc(100vw - 24px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 48px 32px 40px !important;
    background: #f3f8ff !important;
    border-radius: 24px !important;
    box-sizing: border-box !important;
    gap: 48px !important;
}

.images-carousel__content-element-title {
    height: 44px;
    display: flex;
    align-items: center;
    font-size: 18px;
    font-weight: 500;
    line-height: 22px;
    letter-spacing: -.27px;
    color: #242424;
    text-align: center
}

.images-carousel__content-element-image {
    display: flex;
    flex-grow: 1;
    align-items: center
}

.images-carousel__content-element-image>img {
    max-width: 100%;
    pointer-events: none
}

.tabs {
    display: flex;
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    gap: 40px
}

.tabs__selector {
    position: relative;
    width: 288px;
    display: flex;
    align-items: center;
    padding: 4px;
    border-radius: 16px;
    background: #eff3f6;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    gap: 3px
}

@media (max-width: 640px) {
    .tabs__selector {
        width: unset;
        align-self: stretch
    }
}

.tabs__selector:after {
    position: absolute;
    content: "";
    height: calc(100% - 8px);
    width: calc((100% - 11px)/2);
    border-radius: 12px;
    background: #fff;
    transition: all .2s ease-in-out;
    z-index: 1
}

.tabs__selector-item {
    flex: 1 0 0;
    padding: 13px 10px;
    font-size: 18px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: -.27px;
    text-align: center;
    cursor: pointer;
    z-index: 2
}

@media (max-width: 640px) {
    .tabs__selector-item {
        padding: 8px 10px
    }
}

.tabs>section {
    display: none;
    align-self: stretch
}

.tabs>input {
    display: none
}

.tabs>input#telegram:checked~section#telegram {
    display: block
}

.tabs>input#telegram:checked~.tabs__selector:after {
    transform: translate(0)
}

.tabs>input#email:checked~section#email {
    display: block
}

.tabs>input#email:checked~.tabs__selector:after {
    transform: translate(calc(100% + 3px))
}

.tabs>input#pay-services:checked ~ section#pay-services2 { /* Ensure section with conditions is shown */
    display: block;
}

.tabs__content {
    display: grid; /* Changed from flex to grid */
    grid-template-columns: repeat(3, 1fr); /* Three columns */
    gap: 20px; /* Gap between elements */
    padding: 20px; /* Padding inside the content area */
    border-radius: 16px; /* Rounded corners for the content area */
    background-color: #fff; /* White background */
    box-shadow: 0 4px 12px rgba(0,0,0,0.08); /* Subtle shadow */
    border: 1px solid #e0e7ef; /* Added a subtle border for the main conditions container */
}

@media (max-width: 640px) {
    .tabs__content {
        display: none
    }
}

.tabs__content.mobile {
    display: none
}

@media (max-width: 640px) {
    .tabs__content.mobile {
        display: flex;
        flex-direction: column
    }
}

.tabs__content-element {
    display: flex;
    flex: 1 0 0;
    flex-direction: column;
    align-items: center;
    padding: 56px;
    background: #f3f8ff;
    border-radius: 32px;
    gap: 74px;
    /* height: auto; */
    /* max-height: none; */
    /* overflow: visible; */
}

.tabs__content-element-title {
    height: 52px;
    display: flex;
    align-items: center;
    font-size: 30px;
    font-weight: 300;
    line-height: 26px;
    letter-spacing: -1.2px;
    color: #242424;
    text-align: center
}

.tabs__content-element-image {
    display: flex;
    flex-grow: 1;
    align-items: center
}

.tabs__content-element-image>img {
    max-width: 100%
}

.sticky-block {
    display: flex;
    align-items: flex-start;
    gap: 50px
}

  .sbcg1 {
    background-image: url('../images/src1.png');
  }
  
  .sbcg2 {
    background-image: url('../images/src2.png');
  }
  
  .sbcg3 {
    background-image: url('../images/src3.png');
  }
  
  .sbcg4 {
    background-image: url('../images/src4.png');
  }
  
  .footbg {
    background-image: url('../images/foot.png');
  }
  .sticky-block__content {
    display: flex;
    flex-wrap: wrap;
    gap: 20px; /* расстояние между блоками */
    justify-content: center;
  }
  
  .sticky-block__content-group {
    flex: 1 1 calc(50% - 20px); /* 50% ширины минус расстояние между блоками */
    height: 300px; /* Задайте необходимую высоту для квадратов */
    display: flex;
    flex-direction: column;
    align-items: center;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  
  @media (max-width: 640px) {
    .sticky-block__content-group {
      flex: 1 1 100%; /* на всю ширину */
      margin: 0;
    }
  }
.sticky-block__content-group-animation {
    display: none;
    margin-bottom: 12px;
    background: #eef1f9;
    border-radius: 24px
}

@media (max-width: 640px) {
    .sticky-block__content-group-animation {
        display: block
    }
}

.sticky-block__content-group-heading {
    font-size: 44px;
    font-style: normal;
    font-weight: 500;
    line-height: 46px;
    letter-spacing: -1.76px;
    text-align: center;
    color: #282828
}

@media (max-width: 640px) {
    .sticky-block__content-group-heading {
        font-size: 24px;
        line-height: 26px;
        letter-spacing: -.96px;
        text-align: left
    }
}

.sticky-block__content-group-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px
}

@media (max-width: 640px) {
    .sticky-block__content-group-info {
        align-items: flex-start;
        gap: 12px
    }
}

.sticky-block__content-group-description {
    display: flex;
    align-items: flex-start;
    font-size: 18px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: -.27px;
    text-align: center;
    color: #282828;
    gap: 8px
}

@media (max-width: 640px) {
    .sticky-block__content-group-description {
        font-size: 18px;
        letter-spacing: -.24px;
        text-align: left
    }
}
.text-style-new {
    font-size: 40px;
    font-family: CoFo Sans, sans-serif;
    font-weight: 600;
    text-align: -webkit-center;
    background: linear-gradient(90deg, #286fff, #8fb7ef);
    -webkit-background-clip: text;
    color: transparent;
    
}
@media (max-width: 640px) {
    .text-style-new{
        font-size: 40px;
        font-family: CoFo Sans, sans-serif;
        font-weight: 600;
        text-align: -webkit-center;
        background: linear-gradient(90deg, #286fff, #8fb7ef);
        -webkit-background-clip: text;
        color: transparent;
        margin-bottom: 10px;
    }
}
.img-to-text {
    width: 60%;
    display: flex;
    align-items: flex-start;
    font-size: 22px;
    padding: 25px;
    padding-top: 50px;
    padding-bottom: 50px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: -.27px;
    text-align: center;
    color: #282828;
    gap: 8px;
    left:40%;
    position: relative;
}

@media (max-width: 800px) {
    .img-to-text {
        width: 100%;
        left: 0;
        font-size: 20px;
        letter-spacing: -.24px;
        text-align: left;
        padding-bottom: 150px;
    }
}

.sticky-block__content--sticky {
    flex: 1 0 0;
    position: -webkit-sticky;
    position: sticky;
    top: 100px;
    width: 50vw;
    max-width: 50vw; /* Ограничить ширину контейнера до половины экрана */
}

@media (max-width: 640px) {
    .sticky-block__content--sticky {
        display: none
    }
}

.sticky-block__content-animation {
    background: #eef1f9;
    border-radius: 32px;
    display: flex; /* Для центрирования контента */
    justify-content: center; /* Центрирование контента по горизонтали */
    align-items: center; /* Центрирование контента по вертикали */
}

@media (max-width: 640px) {
    .sticky-block__content-animation {
        border-radius: 24px
    }
}

#conversion,
#reliability {
    opacity: 0
}

@media (max-width: 640px) {

    #conversion,
    #reliability {
        opacity: 1
    }
}

.animated {
    opacity: 0
}

.animated.active {
    opacity: 1
}

.animated.active.fade-bottom {
    animation: fade-bottom-3d6d56d7 1s ease-in-out
}

@keyframes fade-bottom-3d6d56d7 {
    0% {
        transform: translateY(50px);
        opacity: 0
    }

    to {
        transform: translateY(0);
        opacity: 1
    }
}

.cards-carousel {
    width: 100%;
    display: flex;
    align-items: stretch;
    overflow-x: hidden;
    user-select: none;
    -webkit-user-select: none
}

@media (max-width: 640px) {
    .cards-carousel {
        flex-direction: column
    }
}

.cards-carousel__images {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .5s ease-in-out;
    transform: translate(calc(-25% * var(--4b02e825) + 25%));
    gap: 5%
}

.cards-carousel__images-wrapper {
    min-height: 560px;
    position: relative;
    display: flex;
    flex: 1 0 0;
    align-items: center;
    overflow: hidden
}

@media (max-width: 640px) {
    .cards-carousel__images-wrapper {
        min-height: 240px
    }
}

.cards-carousel__images-wrapper:before,
.cards-carousel__images-wrapper:after {
    content: "";
    width: 30%;
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1
}

.cards-carousel__images-wrapper:before {
    left: 0;
    background: linear-gradient(90deg, #fff, #fff0)
}

.cards-carousel__images-wrapper:after {
    right: 0;
    background: linear-gradient(270deg, #fff, #fff0)
}

.cards-carousel__image {
    width: 20%;
    height: auto;
    opacity: .5;
    transition: all .5s ease-in-out;
    pointer-events: none
}

.cards-carousel__image.active {
    width: 40%;
    opacity: 1
}

.cards-carousel__content {
    position: relative;
    display: flex;
    flex: 1 0 0;
    flex-direction: column;
    justify-content: center;
    align-items: stretch
}

@media (max-width: 640px) {
    .cards-carousel__content {
        min-height: 300px;
        justify-content: flex-start;
        gap: 24px
    }
}

.cards-carousel__content-text {
    font-size: 32px;
    font-weight: 500;
    line-height: 36px;
    letter-spacing: -1.28px;
    text-align: center;
    color: #383838
}

@media (max-width: 640px) {
    .cards-carousel__content-text {
        font-size: 24px;
        line-height: 26px;
        letter-spacing: -.96px
    }
}

.cards-carousel__content-bottom {
    position: absolute;
    bottom: 40px;
    left: 20px;
    right: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px
}

@media (max-width: 640px) {
    .cards-carousel__content-bottom {
        bottom: 0
    }
}

.cards-carousel__content-description {
    font-size: 18px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: -.27px;
    color: #383838
}

@media (max-width: 640px) {
    .cards-carousel__content-description {
        display: none;
        font-size: 16px;
        letter-spacing: -.24px
    }
}

.cards-carousel__content-description.mobile {
    display: none
}

@media (max-width: 640px) {
    .cards-carousel__content-description.mobile {
        display: block;
        text-align: center
    }
}

.cards-carousel__indicators {
    width: 50%;
    display: flex;
    align-items: center;
    gap: 8px
}

.cards-carousel__indicators-item {
    position: relative;
    flex: 1 0 0;
    border: 4px solid rgba(0, 0, 0, .1);
    border-radius: 4px;
    cursor: pointer
}

@media (max-width: 640px) {
    .cards-carousel__indicators-item {
        border: 3px solid rgba(0, 0, 0, .1);
        border-radius: 3px
    }
}

.cards-carousel__indicators-item.selected {
    cursor: unset
}

.cards-carousel__indicators-item.selected:after {
    content: "";
    position: absolute;
    top: -4px;
    border: 4px solid #383838;
    border-radius: 4px;
    animation: scale-indicator-5e9b66e6 5s linear
}

@media (max-width: 640px) {
    .cards-carousel__indicators-item.selected:after {
        top: -3px;
        border: 3px solid #383838;
        border-radius: 3px;
        animation: scale-indicator-mobile-5e9b66e6 5s linear
    }
}

.cards-carousel__indicators-item.paused:after {
    animation-play-state: paused
}

.slide-fade-enter-active {
    transition: all .5s ease-in
}

.slide-fade-leave-active {
    transition: all .25s ease-out
}

.slide-fade-enter-from {
    transform: translate(30px);
    opacity: 0
}

.slide-fade-leave-to {
    transform: translate(-30px);
    opacity: 0
}

.slide-fade-bottom-enter-active {
    transition: all .2s ease-in .25s
}

.slide-fade-bottom-leave-active {
    transition: all .2s ease-out .25s
}

.slide-fade-bottom-enter-from,
.slide-fade-bottom-leave-to {
    transform: translateY(-10px);
    opacity: 0
}

@keyframes scale-indicator-5e9b66e6 {
    0% {
        width: 0;
        left: -4px;
        right: unset
    }

    49% {
        width: 100%;
        left: -4px;
        right: unset
    }

    51% {
        width: 100%;
        left: unset;
        right: -4px
    }

    to {
        width: 0;
        left: unset;
        right: -4px
    }
}

@keyframes scale-indicator-mobile-5e9b66e6 {
    0% {
        width: 0;
        left: -3px;
        right: unset
    }

    49% {
        width: 100%;
        left: -3px;
        right: unset
    }

    51% {
        width: 100%;
        left: unset;
        right: -3px
    }

    to {
        width: 0;
        left: unset;
        right: -3px
    }
}

body {
    transition: background-color .7s ease-out
}

body.loading {
    transition: none;
    background: #f3f8ff
}

.swiper {
    /* height: auto; */
    /* max-height: none; */
    /* overflow: visible; */
    width: 100%;
    display: flex;
}

/* --- swiper-slide responsive fix --- */
@media (min-width: 920px) {
  .swiper-slide {
    width: 33.3333% !important;
    align-items: center !important;
  }
}
@media (max-width: 919px) {
  .swiper-slide {
    width: 100% !important;
    align-items: center !important;
  }
}
/* --- end swiper-slide fix --- */

.swiper-pagination {
    left: 25% !important;
    /* Центрируем пагинацию */
    width: 50% !important;
    /* Ширина пагинации */
    display: flex;
    /* Используем flexbox для пагинации */
    align-items: center;
    gap: 8px;
    /* Пробел между элементами пагинации */
    position: absolute;
    /* Позиционируем пагинацию относительно контейнера */
    bottom: 10px;
    /* Отступ от нижней части контейнера */
    transform: translateX(-50%);
    /* Центрируем по горизонтали */
    z-index: 10;
    /* Убедимся, что пагинация поверх слайдов */
}

.swiper-pagination-bullet {
    position: relative;
    flex: 1 0 0;
    /* Задаем поведение флекса */
    border-radius: 10px !important;
    /* Закругляем углы */
    cursor: pointer;
    /* Курсор для кликабельных элементов */
}

.swiper-pagination-bullet-active {
    background: #bbbfca !important;
    /* Фон активного элемента */
    cursor: unset;
    /* Убираем курсор для активной буллеты */
    border: 3px solid #bbbfca;
    /* Белая рамка активного элемента */
}

.swiper-wrapper{
    /* height: auto !important; */
    /* max-height: none !important; */
    /* overflow: visible !important; */
}

.swiper-pagination-bullet-active:after {
    content: "";
    position: absolute;
    top: -3px;
    /* Позиционирование псевдоэлемента */
    border: 4px solid #282828;
    /* Черная рамка для анимации */
    border-radius: 10px;
    /* Закругляем углы */
    animation: scale-indicator 5s linear;
    /* Анимация для активного элемента */
}

.swiper-pagination-bullet.paused:after {
    animation-play-state: paused;
    /* Останавливаем анимацию, если приостановлено */
}

@keyframes scale-indicator {
    0% {
        width: 0;
        /* Начальная ширина 0 */
        left: -3px;
        /* Положение слева */
        right: unset;
        /* Убираем значение справа */
    }

    49% {
        width: 100%;
        /* Ширина 100% на 49% анимации */
        left: -3px;
        /* Положение слева */
        right: unset;
        /* Убираем значение справа */
    }

    51% {
        width: 100%;
        /* Ширина 100% на 51% анимации */
        left: unset;
        /* Убираем значение слева */
        right: -3px;

    }

    to {
        width: 0;
        left: unset;
        right: -3px;
    }
}

.landing__contact-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
    padding: 8px 0 16px;
    margin-right: 48px;
    border-bottom: 1px solid rgba(0, 0, 0, .1);
    gap: 16px
}

@media (max-width: 640px) {
    .landing__contact-item {
        padding: 8px 0 12px;
        margin-right: unset;
        gap: 12px
    }
}

.landing__contact-item-heading {
    font-size: 18px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: -.27px;
    color: #000;
    opacity: .2
}

@media (max-width: 640px) {
    .landing__contact-item-heading {
        font-size: 16px;
        letter-spacing: -.24px
    }
}

.landing__contact-item-link {
    display: flex;
    align-items: center;
    gap: 16px;
    cursor: pointer
}

.landing__contact-item-link-label {
    font-size: 44px;
    font-weight: 500;
    line-height: 46px;
    letter-spacing: -1.76px;
    color: #383838
}

@media (max-width: 640px) {
    .landing__contact-item-link-label {
        font-size: 32px;
        line-height: 32px;
        letter-spacing: -1.28px
    }
}

.landing__contact-address {
    margin-top: 160px;
    font-size: 24px;
    font-weight: 400;
    line-height: 36px;
    letter-spacing: -.96px;
    color: #383838
}

@media (max-width: 640px) {
    .landing__contact-address {
        margin-top: 128px;
        font-size: 16px;
        line-height: 24px;
        letter-spacing: -.24px
    }
}

.landing__contact-map {
    height: 500px;
    border-radius: 24px;
    overflow: hidden
}

.animated {
    opacity: 0
}

.animated.active {
    opacity: 1
}

.animated.active.fade-bottom {
    animation: fade-bottom 1s ease-in-out
}

.animated.active.fade-left {
    animation: fade-left 1s ease-in-out
}

@media (max-width: 640px) {
    .animated.active.fade-left {
        animation: fade-bottom 1s ease-in-out
    }
}

.animated.active.fade-right {
    animation: fade-right 1s ease-in-out
}

@media (max-width: 640px) {
    .animated.active.fade-right {
        animation: fade-bottom 1s ease-in-out
    }
}

.animated.active.scale-center {
    animation: scale-center 1s ease-in-out
}

@keyframes fade-bottom {
    0% {
        transform: translateY(50px);
        opacity: 0
    }

    to {
        transform: translateY(0);
        opacity: 1
    }
}

@keyframes fade-left {
    0% {
        transform: translate(-50px);
        opacity: 0
    }

    to {
        transform: translateY(0);
        opacity: 1
    }
}

@keyframes fade-right {
    0% {
        transform: translate(50px);
        opacity: 0
    }

    to {
        transform: translateY(0);
        opacity: 1
    }
}

@keyframes scale-center {
    0% {
        transform: scale(.8);
        opacity: 0
    }

    to {
        transform: scale(1);
        opacity: 1
    }
}

@keyframes loader-animation { /* Adjusted keyframes for 1.5s duration */
    0% {
        height: 100vh
    }
    80% { /* Stays for 1.2s */
        height: 100vh
    }
    to { /* Animates out in 0.3s */
        height: 0
    }
}

@keyframes logo-animation { /* Adjusted keyframes for 1.5s duration */
    0% {
        opacity: 1
    }
    60% { /* Stays for 0.9s */
        opacity: 1
    }
    to { /* Fades out over 0.6s */
        opacity: 0
    }
}

@keyframes partners-animation {
    0% {
        transform: translate(0)
    }

    to {
        transform: translate(-5769.5px)
    }
}



.lottie-animation-container {
    width: var(--lottie-animation-container-width);
    height: var(--lottie-animation-container-height);
        overflow: hidden;
    margin: 0 auto;
    max-width: 100%; 
    max-height: 100%; 
    object-fit: contain; 
}


.sth2{
    padding-top: 60px;
    width: 60%;
    left: 0%;
    position: relative;
}
.sttt{
    width: 60%;
    left: 0%;
    position: relative;
}
.rfm-marquee-container{
    width: 100%;
    height: 64px;
    overflow: hidden;
    border: none;
    background-color: transparent;
}

.rfm-marquee{
    width: max-content;
    height: 64px;
    display: flex;
    animation: scroll 10s linear infinite;
}


@keyframes scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}
.rfm-child {
    width: 200px;
    text-align: center;
    margin-right: 10px;
}

.w-64 {
    width: 16rem
}

.flex {
    display: flex
}

.items-center {
    align-items: center
}

.justify-center {
    justify-content: center
}

.w-32 {
    width: 8rem;
}

.text-center {
    text-align: center
}

.paragraph-sm {
    font-size: 1rem;
    line-height: 1.5rem
}

.paragraph-md,
.paragraph-sm {
    font-family: CoFo Sans, sans-serif;
    font-weight: 500;
}

.text-grayN {
    --tw-text-opacity: 1;
    color: rgb(117 117 117/var(--tw-text-opacity))
}

/* Footer Styles - Professional Redesign */
/*
  IMPORTANT: For these styles to work correctly,
  please ensure that the OLD footer styles (previously around lines 688-805)
  in this file are commented out or removed to prevent conflicts.
*/
.landing__footer-wrapper {
  background-color: #f8f9fa; /* Light gray background */
  padding: 50px 0; /* Vertical padding */
  border-top: 1px solid #e0e0e0; /* Softer top border */
  font-family: CoFo Sans, sans-serif; /* Ensure consistent font */
}

.landing__footer { /* Main flex container for columns */
  max-width: 1140px; /* Standard content width */
  margin: 0 auto; /* Centering */
  padding: 0 15px; /* Side padding for the container */
  display: flex;
  flex-wrap: wrap; /* Allows columns to wrap on smaller screens */
  justify-content: space-between; /* Distributes space between columns */
}

.landing__footer-column {
  box-sizing: border-box;
  padding: 0 10px; /* Internal padding for column content, creates space between columns */
  margin-bottom: 30px; /* Space below columns if they wrap */
}

/* Column sizing - adjust flex-basis percentages as needed */
.landing__footer-column:nth-of-type(1) { /* Logo and description */
  flex: 0 0 30%; /* Approx 30% width, no grow, no shrink */
  min-width: 280px; /* Minimum width for the logo column */
}

.landing__footer-column:nth-of-type(2), /* Navigation */
.landing__footer-column:nth-of-type(3), /* Contacts */
.landing__footer-column:nth-of-type(4) { /* Requisites */
  flex: 0 0 22%; /* Approx 22% width each for the remaining three columns */
  min-width: 180px; /* Minimum width for these columns */
}

.landing__footer-logo-image {
  max-width: 160px; /* Adjust logo size as needed */
  height: auto;
  margin-bottom: 20px; /* Space between logo and description */
}

.landing__footer-description {
  font-size: 14px;
  color: #555555; /* Darker gray for better readability */
  line-height: 1.6;
}

.landing__footer-column-title {
  font-size: 16px;
  font-weight: 500; /* Using 500 for a slightly bolder but not full bold look */
  color: #333333; /* Darker title color */
  margin-bottom: 20px; /* Space below title */
  display: block;
}

.landing__footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.landing__footer-links li {
  margin-bottom: 12px; /* Space between links/items */
}

.landing__footer-links a {
  font-size: 14px;
  color: #007bff; /* Standard link blue */
  text-decoration: none;
  transition: color 0.2s ease;
}

.landing__footer-links a:hover {
  color: #0056b3; /* Darker blue on hover */
  text-decoration: underline;
}

/* Styles for "Реквизиты" (Requisites) text */
.landing__footer-links.requisites li {
  color: #555555;
  font-size: 14px;
  line-height: 1.6;
}

/* Telegram link specific styling */
.landing__footer-links .telegram-link svg {
  fill: currentColor; /* Use the link's color for the SVG */
  vertical-align: middle;
  margin-right: 8px;
  width: 18px;
  height: 18px;
  position: relative;
  top: -1px; /* Minor alignment adjustment */
}

/* Copyright Section */
.landing__footer-copyright-wrapper {
  max-width: 1140px;
  margin: 20px auto 0 auto; /* Top margin (after columns), centered */
  padding: 30px 15px 0 15px; /* Padding top for space from line, side paddings */
  border-top: 1px solid #e0e0e0; /* Separator line */
}

.landing__footer-copyright {
  text-align: center;
  font-size: 14px;
  color: #777777; /* Lighter gray for copyright text */
  padding-bottom: 30px; /* Space at the very bottom of the page */
}

/*
  Comprehensive Reset for OLD Footer Styles (from approx. lines 688-805).
  It's STRONGLY recommended to comment out or delete the old .landing__footer related CSS block.
  These rules attempt to override them if they are still present.
*/
/* General reset for most old footer elements */
.landing__footer-info,
.landing__footer-contact,
.landing__footer-mail,
.landing__footer-telegram,
.landing__footer-menu-items,
.landing__footer-content-block,
.landing__footer-contact-label,
.landing__footer-contact-links,
.landing__footer-menu-item,
.landing__footer-language-select,
.landing__footer-content-block.left,
.landing__footer-content-block.right,
.landing__footer-info-text { /* Moved here and combined */
  all: unset !important;
  display: none !important;
}

/* Specific handling for .landing__footer-logo if it's still used as a wrapper */
/* This ensures the logo container is visible but stripped of old conflicting styles. */
/* The actual logo image is styled by .landing__footer-logo-image */
.landing__footer-logo {
  all: unset !important;
  display: block !important; /* Make it visible and a simple block container */
  margin: 0; /* Basic reset for spacing */
  padding: 0; /* Basic reset for spacing */
}
/* End Footer Styles - Professional Redesign */

/* Мобильные корректировки для подвала (вертикальные отступы) */
@media (max-width: 640px) {
  .landing__footer-wrapper {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
    background-color: #fdfdfd !important;
  }

  .landing__footer {
    gap: 25px !important; /* Space between content and copyright */
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }
  
  .landing__footer-content {
    flex-direction: column !important;
    gap: 25px !important; /* Increased space BETWEEN columns */
    padding: 0 !important; /* Remove internal padding, rely on parent */
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .landing__footer-column {
    flex-basis: auto !important; /* Let content define height */
    width: 100% !important;
    margin: 0 0 25px 0 !important; /* Uniform bottom margin */
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: left !important; /* Ensure text alignment for all content within */
  }
  .landing__footer-column:last-of-type {
    margin-bottom: 0 !important;
  }
  
  .landing__footer-logo {
      display: block !important; /* Ensure it takes full width if needed */
      margin-bottom: 15px !important;
  }
  .landing__footer-logo-image {
    max-width: 140px !important; 
    height: auto !important;
    display: block !important; /* For margin auto if centered, or just proper block */
    /* margin-bottom is handled by parent .landing__footer-logo now */
  }

  .landing__footer-description {
    display: block !important;
    font-size: 14px !important;
    color: #555555 !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important; 
    text-align: left !important;
  }

  .landing__footer-column-title {
    display: block !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: #222222 !important;
    margin-bottom: 12px !important;
    text-align: left !important;
  }

  .landing__footer-links {
      display: block !important;
      padding-left: 0 !important; /* Remove any default ul padding */
      list-style: none !important;
  }
  .landing__footer-links li {
    margin-bottom: 8px !important;
    text-align: left !important;
  }
  .landing__footer-links li:last-child {
    margin-bottom: 0 !important;
  }

  .landing__footer-links a {
    font-size: 14px !important;
    color: #0056b3 !important;
    text-decoration: none !important;
  }
  .landing__footer-links a:hover {
    text-decoration: underline !important;
  }

  .landing__footer-links.requisites li {
    font-size: 14px !important;
    color: #555555 !important;
    line-height: 1.6;
    text-align: left !important;
  }
  
  .landing__footer-links .telegram-link svg {
    width: 16px !important;
    height: 16px !important;
    margin-right: 6px !important;
    vertical-align: middle !important;
  }

  .landing__footer-copyright-wrapper {
    margin-top: 25px !important;
    padding-top: 25px !important;
    border-top: 1px solid #e0e0e0 !important; 
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .landing__footer-copyright {
     padding-bottom: 15px !important;
     font-size: 13px !important;
     color: #777777 !important;
     text-align: center !important;
  }
}

.landing__footer-wrapper,
.landing__footer,
.landing__footer-content,
.landing__hero,
.landing__hero-content,
.landing__hero-content-block {
    /* display: block !important; */
    /* gap: 0 !important; */
    min-width: unset !important;
    max-width: unset !important;
    min-height: unset !important;
    max-height: unset !important;
    width: auto !important;
    height: auto !important;
    /* padding: 0 !important; */
    margin: 0 !important;
    box-sizing: border-box !important;
}

.landing__footer-content,
.landing__hero {
    display: flex !important;
    flex-direction: row;
    padding: 0 12px;
    margin: 0 auto;
    box-sizing: border-box;
}

@media (max-width: 640px) {
  /* Header/Menu */
  .landing__menu-wrapper {
    height: 56px !important;
    background: #fff !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    border-bottom: 1px solid #e9ecef !important;
    padding: 0 !important;
  }
  .landing__menu {
    height: 56px !important;
    padding: 0 10px !important;
    gap: 10px !important;
  }
  .landing__menu-logo > img {
    height: 44px !important;
    max-width: 120px !important;
  }
  .landing__menu-block--left {
    gap: 16px !important;
    margin-left: 0 !important;
  }
  .landing__menu-block--right {
    gap: 10px !important;
    margin-right: 0 !important;
  }
  .landing__menu-button {
    padding: 8px 18px !important;
    font-size: 14px !important;
    border-radius: 10px !important;
    background: #286fff !important;
    color: #fff !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
    border: 1px solid #e0e7ef !important;
    margin-left: 0 !important;
  }
  .landing__menu-button-label {
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: -.2px !important;
  }

  /* Hero Section */
  .landing__hero-wrapper {
    padding: 60px 0 0 0 !important;
    margin-top: 56px !important;
    background: #f3f8ff !important;
    border-radius: 0 0 24px 24px !important;
  }
  .landing__hero {
    flex-direction: column !important;
    align-items: center !important;
    padding: 0 10px !important;
    max-width: 100% !important;
    gap: 0 !important;
  }
  .landing__hero-content {
    width: 100% !important;
    align-items: center !important;
    padding: 0 !important;
    gap: 18px !important;
    margin-bottom: 0 !important;
  }
  .landing__hero-content-block {
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 0 !important;
  }
  .landing__hero-content-heading {
    font-size: 28px !important;
    line-height: 1.25 !important;
    text-align: center !important;
    margin-bottom: 6px !important;
    font-weight: 700 !important;
  }
  .landing__hero-content-description {
    font-size: 15px !important;
    line-height: 1.5 !important;
    text-align: center !important;
    color: #282828 !important;
    margin-bottom: 10px !important;
    font-weight: 400 !important;
  }
  .landing__hero-content-button {
    display: none !important;
    padding: 16px 32px;
    border-radius: 16px;
    border: 1px solid #aeaeae;
    background: #f3f8ff;
    box-shadow: 0 11px 25px #0000000d;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    transition: all .2s ease;
    cursor: pointer
  }
  .landing__hero-image {
    width: 90% !important;
    max-width: 320px !important;
    height: auto !important;
    margin: 24px auto 0 auto !important;
    display: block !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 2px 12px rgba(40,111,255,0.07) !important;
  }
}

@media (max-width: 640px) {
  .landing__hero-content-block {
    max-width: 340px !important;
    margin: 0 auto !important;
    padding: 18px 0 24px 0 !important;
    align-items: center !important;
  }
  .landing__hero-content-heading {
    font-size: 36px !important;
    line-height: 1.18 !important;
    max-width: 340px !important;
    letter-spacing: -0.5px !important;
    margin-bottom: 14px !important;
    color: #222 !important;
    font-weight: 700 !important;
    text-align: left !important;
  }
  .landing__hero-content-description {
    font-size: 18px !important;
    color: #6b7a90 !important;
    line-height: 1.7 !important;
    margin-bottom: 0 !important;
    max-width: 320px !important;
    text-align: left !important;
    font-weight: 400 !important;
  }
}

.landing__menu-block--right .landing__menu-icon-button:nth-of-type(2) {
    display: none !important;
}

@media (max-width: 640px) {
  .landing__footer-column {
    margin: 0 0 30px 0 !important; /* Increased bottom margin for more space BETWEEN columns */
  }
  .landing__footer-column:last-of-type {
    margin-bottom: 0 !important;
  }

  .landing__footer-column-title {
    margin-bottom: 8px !important; /* Decreased bottom margin, title closer to its links */
  }

  .landing__footer-links li {
    margin-bottom: 8px !important;
  }
  .landing__footer-links li:last-child {
    margin-bottom: 0 !important; /* Ensure no margin on the last link item */
  }
}

.landing__mobile-button-wrapper--hidden {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(100%); /* Optional: for a slide down effect */
}

@keyframes bounceInUp{0%{transform:translateY(120%) scale(0.95);}60%{transform:translateY(-10%) scale(1.05);}80%{transform:translateY(2%) scale(0.98);}100%{transform:translateY(0) scale(1);}}
.bounce-in{animation:bounceInUp 0.5s;}
.landing__mobile-button:active{transform:scale(0.96);box-shadow:0 2px 8px rgba(40,111,255,0.10);}

