* {
    margin:0;
    padding:0;
    box-sizing:border-box
}
body {
    width: 100%;
    font-family: "Inter", sans-serif;
    letter-spacing: 0;
}

.logo {
    max-height: 24px;
    max-width: 256px;
}

.container {
    width: 100%;
    max-width: 1330px;
    margin: 0 auto;
}

section.light {
    background: linear-gradient(180deg, #F9FAFB 0%, #FFFFFF 100%);
}

section.light_2 {
    background: linear-gradient(180deg, #FFFFFF 0%, #F9FAFB 100%);
}

section.dark {
    background: linear-gradient(135deg, #101828 0%, #0F172B 50%, #101828 100%);
    color: #FFFFFF;
}

section.white {
    background: #FFFFFF;
}

.container.flex {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.container_2 {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
}

.hero{
    min-height: 100vh;
    background: linear-gradient(135deg, #101828 0%, #0F172B 50%, #101828 100%);
    color: #FFFFFF;
}

.btn {
    min-height: 36px;
    opacity: 1;
    padding: 6px 12px;
    font-size: 17px;
    border-radius: 8px;
    background: #0187F6;
    border: none;
    color: #FFFFFF;
    cursor: pointer;
}

.header_top .btn {
    width: 110px;
    height: 36px;
}

.header_top {
    padding: 20px 0;
    display: flex;
    justify-content: space-between;
}

.nav ul{
    border-top: 1px solid #C8C8C8;
    display: flex;
    justify-content: space-between;
    list-style: none;
    line-height: 24px;
    padding: 8px 0;
}

.nav ul li a {
    font-weight: 400;
    font-size: 16px;
    color: #FFFFFF;
    text-decoration: none;
    cursor: pointer;
}

.hero_info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 40px;
    flex: 1;
    max-width: 520px;
    padding: 20px 0;
}

.hero_info h1 {
    font-weight: 800;
    font-size: 96px;
    line-height: 96px;
    letter-spacing: -2.4px;
}

.hero_info p {
    font-family: "Inter", sans-serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 38.4px;
    letter-spacing: 0;
    color: #C8C8C8;
    margin: 0;
}

.hero_info p .critical {
    color: #439BFB;
}

.hero_info .btn {
    max-width: 191px;
    max-height: 56px;
    gap: 8px;
    padding: 16px 32px;
    border-radius: 14px;
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
}

.section .container_inner {
    padding: 110px 0;

}

.tag {
    gap: 10px;
    padding: 12px 20px;
    border-radius: 10px;
    border: 1px solid #BEDBFF;
    background-color: #FFFFFF;
    text-transform: uppercase;
    color: #0077FF;
}

.section .container_inner .product_h2 {
    margin: 22px 0 0 0;
    max-width: 768px;
    font-weight: 800;
    font-size: 60px;
    line-height: 75px;
    letter-spacing: -1.5px;
}

.section .container_inner .product_h2 span {
    color: #155DFC;
}

.section .container_inner .product_description {
    max-width: 685px;
    font-weight: 400;
    font-size: 20px;
    line-height: 33px;
    letter-spacing: 0;
    color: #363F4B;
    margin-top: 22px;
}

.container_inner_about {
    margin-top: 80px;
    display: flex;
    padding: 10px;
    justify-content: space-between;
    gap: 10px;
}

.container_inner_about_card {
    flex: 1;
    padding: 32px;
    border-radius: 16px;
    border: 1px solid #BEDBFF;
    box-shadow: 0 4px 20px 0 #0000000D;
}

.icon {
    width: 64px;
    height: 64px;
    padding-top: 16px;
    padding-right: 16px;
    padding-left: 16px;
    border-radius: 14px;
    background: #0187F6;
}

.icon {
    img {
        height: 32px;
        width: 32px;
    }
}


.container_inner_about_card .card_inner {
    display: flex;
    gap: 24px;
    align-items: center;
    height: 100%;
}

.card_inner_description strong {
    font-weight: 800;
    font-size: 30px;
    line-height: 36px;
    letter-spacing: 0;
    color: #101828;
}

.card_inner_description {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.card_inner_description span {
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0;
    color: #696969;
}

.container_inner_about_partners {
    border-radius: 24px;
    padding: 48px;
    background: linear-gradient(135deg, #101828 0%, #0F172B 100%);
    box-shadow: 0 20px 60px 0 #0000004D;
    margin-top: 80px;
}
.partners_container {
    display: flex;
    flex-direction: column;
}

.partners_container strong {
    font-weight: 700;
    font-size: 30px;
    line-height: 36px;
    color: #FEFEFE;
}

.partners_container p {
    font-weight: 400;
    font-size: 24px;
    line-height: 32px;
    letter-spacing: 0;
    margin: 24px 0 0 0;
    color: #C8C8C8;
}

.partners_row {
    display: flex;
    gap: 24px;
}

.partners_row .partner_tag {
    border: 1px solid #2B7FFF4D;
    padding: 24px;
    background-color: #FFFFFF1A;
    margin-top: 42px;
}

.partners_row .partner_tag span {
    font-weight: 600;
    font-size: 24px;
    line-height: 30px;
    text-align: center;
    text-transform: uppercase;
    color: #8EC5FF;
}

.dark_container_inner {
    padding: 128px 0;
}

.dark_container_inner .tag {
    background-color: #06B6D426;
    border-color: #06B6D44D;
    color: #00D3F3;
}

.dark_container_inner .h3 {
    margin: 45px 0 0 0;
    font-weight: 800;
    font-size: 60px;
    line-height: 75px;
    letter-spacing: -1.5px;
    color: #CEFAFE;
}

.dark_container_inner .h3 .stack {
    color: #0187F6;
}

.stack_description {
    font-weight: 400;
    font-size: 20px;
    line-height: 33px;
    letter-spacing: 0;
    color: #D1D5DC;
    margin: 23px 0 0 0;
    max-width: 700px;
}

.stack_row {
    display: flex;
    gap: 24px;
    margin-top: 88px;
}

.stack_row_item {
    flex: 1;
    gap: 23px;
    border-radius: 16px;
    border: 1px solid #32394A;
    padding: 25px;
    background-color: #182339;
    display: flex;
    flex-direction: column;
}

.stack_row_item .icon {
    padding-top: 17px;
    padding-right: 17px;
    padding-left: 17px;
    height: 66px;
    width: 66px;
    border-radius: 14px;
    border-width: 1px;
    background-color: #22406A;
}

.stack_row_item strong {
    font-weight: 700;
    font-size: 18px;
    line-height: 28px;
    letter-spacing: 0;
    color: #FEFEFE;
}

.stack_row_item ul {
    list-style-position: inside;
}

.stack_row_item ul li:not(:last-child) {
    margin-bottom: 10px;
}

.stack_row_item ul li {
    position: relative;
    padding-left: 13px;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0;
    color: #D1D5DC;
    list-style: none;
}

.stack_row_item ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 6px;
    height: 6px;
    background: #0187F6;
    border-radius: 50%;
    transform: translateY(-50%);
}

.company_spec {
    font-weight: 700;
    font-size: 30px;
    line-height: 36px;
    letter-spacing: 0;
    color: #FEFEFE;
    margin-top: 88px;
    display: block;
}

.company_spec_cards_container {
    margin-top: 40px;
    display: grid;
    gap: 28px;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 1fr;
    width: 100%;
    margin-bottom: 62px;
}

.company_spec_card {
    gap: 16px;
    border-radius: 16px;
    border-width: 1px;
    padding: 36px;
    border-color: #32394A;
    background-color: #192337;
    display: flex;
    flex-direction: column;
}

.company_spec_card strong {
    font-weight: 700;
    font-size: 20px;
    line-height: 28px;
    letter-spacing: 0;
    color: #FFFFFF;
}

.company_spec_card p {
    font-weight: 400;
    font-size: 16px;
    line-height: 26px;
    letter-spacing: 0;
    color: #D1D5DC;
    max-width: 534px;
}

.projects_container_inner {
    padding: 128px 22px 115px 22px;
}
.projects_container_inner h3 {
    font-weight: 800;
    font-size: 60px;
    line-height: 75px;
    letter-spacing: -1.5px;
    color: #101828;
    margin: 44px 0 0 0;
    padding: 0;
}
.projects_container_inner h3 span {
    color: #155DFC;
}

.projects_container_inner .projects_container_inner_description {
    margin-top: 32px;
    font-weight: 400;
    font-size: 20px;
    line-height: 32px;
    letter-spacing: 0;
    color: #4A5565;
    max-width: 698px;
}

.projects_cards_container {
    margin-top: 131px;
    display: grid;
    gap: 46px 42px;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 1fr;
}

.project_card {
    padding-bottom: 24px;
    border-radius: 16px;
    border: 1px solid #D0D2D5;
    background-color: #FEFEFE;
    overflow: hidden;
}

.project_card img {
    width: 100%;
    height: 192px;
    object-fit: cover;
    display: block;
}

.project_card_info {
    gap: 14px;
    padding-right: 24px;
    padding-left: 24px;
    padding-top: 24px;
    display: flex;
    flex-direction: column;
}

.project_card_info strong {
    font-weight: 700;
    font-size: 20px;
    line-height: 25px;
    color: #0F172A;
}

.project_card_info p {
    font-family: "Inter", sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: -0.16px;
    color: #424867;
}

.project_card_tags {
    display: flex;
    gap: 8px;
}

.project_card_tags .tag {
    padding: 4px 12px;
    border-radius: 6px;
    border: 1px solid #BEDBFF;
    background-color: #EFF6FF;
    color: #272424;
    text-transform: none;
    font-weight: 500;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 0;
}

.btn.btn_has_icon {
    opacity: 1;
    gap: 5px;
    padding: 8px 16px;
    border-radius: 6px;
    display: flex;
    background-color: #155DFC;
    margin-top: 10px;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0;
    align-items: center;
    justify-content: center;
}

.btn img {
    width: 16px;
    height: 16px;
}

.container_job {
    max-width: 896px;
    margin: 0 auto;
    padding: 128px 0;
}

.container_job .tag {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.container_job .job_h5 {
    font-weight: 800;
    font-size: 48px;
    line-height: 60px;
    letter-spacing: -1.2px;
    color: #101828;
    margin: 44px 0 0 0;

}

.container_job h4 span {
    color: #155DFC;
}

.job_h5_2 {
    font-weight: 700;
    font-size: 24px;
    line-height: 32px;
    color: #101828;
    margin: 24px 0 25px 0;
    letter-spacing: 0;
}

.container_job_description {
    font-weight: 400;
    font-size: 18px;
    line-height: 29px;
    letter-spacing: 0;
    color: #4A5565;
    margin: 20px 0 0 0;
    max-width: 833px;
}

.job_req_column {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.job_req_item {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.job_req_item .list{
        list-style: none;
}

.job_req_column h6 {
    font-weight: 600;
    font-size: 18px;
    line-height: 28px;
    letter-spacing: 0;
    color: #272424;
}

.job_req_item .list li {
    position: relative;
    padding-left: 32px;
    color: #364153;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
}
.job_req_item .list li:not(:last-child) {
    margin-bottom: 10px;
}

.job_req_item .list li::before {
        content: "";
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 20px;
        height: 20px;
        background: url('/assets/img/green-flag.png') no-repeat center;
        background-size: contain;
}

.job_req_item .list.red li::before {
    background: url('/assets/img/red-flag.png') no-repeat center;
    background-size: contain;
}

.job_req_item.border {
    border-bottom: 0.71px solid #E5E7EB
}

.job_h5_3 {
    font-weight: 700;
    font-size: 24px;
    line-height: 32px;
    letter-spacing: 0;
    margin: 24px 0 12px 0;
    color: #2A2D30;
}

.job_req_column_important {
    opacity: 1;
    gap: 8px;
    padding: 25px 25px 26px;
    border-radius: 16px;
    border: 1px solid #EFF6FF;
    background-color: #EFF6FF;
    display: flex;
    flex-direction: column;
    color: #22408C;
}

.job_req_column_important strong {
    font-weight: 700;
    font-size: 18px;
    line-height: 28px;
    letter-spacing: 0;
}

.job_req_column_important p {
    font-weight: 400;
    font-size: 16px;
    line-height: 26px;
    letter-spacing: 0;
}

.job_req_column .btn {
    font-size: 16px;
    margin: 0;
    font-weight: 600;
    line-height: 24px;
    letter-spacing: 0;
    padding: 15px 16px;
}

footer {
    padding: 48px 0;
    margin: 0 auto;
    background: #0F172A;
    color: #FFFFFF;
}

.footer_container {
    width: 100%;
    max-width: 1680px;
    margin: 0 auto;
    padding-inline: clamp(20px, 6vw, 120px);
}

.footer_actions {
    display: flex;
}

.footer_logo {
    flex: 1;
}

.footer_actions_item {
    width: 22.857%;
}

.footer_actions_item strong {
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0;
    color: #C8C8C8;
}


.footer_actions_item nav ul{
    margin-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    list-style: none;
}

.footer_actions nav ul li a, .address a, .address {
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0;
    color: #9DA7B5;
    text-decoration: none;
}

.footer_contacts {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.address {
    font-style: normal;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0;
}

.address * {
    padding-left: 28px;
    position: relative;
}

.address *::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 16px;
    height: 16px;
}

.address .tel::before {
    background: url('/assets/img/phone-icon.png') no-repeat center;
    background-size: contain;
}

.address .mail::before {
    background: url('/assets/img/mail-icon.png') no-repeat center;
    background-size: contain;
}

.address .pin::before {
    background: url('/assets/img/pin-icon.png') no-repeat center;
    background-size: contain;
}

.footer_info {
    margin-top: 57px;
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 0;
    color: #9DA7B5;
    display: flex;
    justify-content: space-between;
}

.footer_info_policy {
    display: flex;
    gap: 16px;
}

.footer_info_policy * {
    cursor: pointer;
}

