html {
    box-sizing: border-box;
    font-size: 100%
}

*,
::before,
::after {
    box-sizing: inherit
}

html,
body {
    margin: 0
}

body {
    font-family: 'Nunito', sans-serif
}

.site_header {
    position: relative;
    background: #fff;
    border-bottom: 2px solid #D5EAC4;
    box-shadow: 0 6px 25px 0 #50a5f41a;
    overflow: visible
}

.header_top_bar {
    background: linear-gradient(90deg, #50A5F4 0%, #8F0213 100%);
    padding: 8px 28px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 28px
}

.top_bar_contact {
    display: flex;
    align-items: center;
    gap: 16px
}

.top_contact_item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-size: 16px;
    line-height: 1.35;
    text-decoration: none;
    font-family: 'Nunito', sans-serif;
    transition: opacity .18s ease-out;
    min-height: 44px
}

.top_contact_item:hover {
    opacity: .78;
    color: #fff
}

.top_contact_item .codicon {
    font-size: 16px
}

.header_mid {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 28px 28px 16px;
    gap: 16px;
    max-width: 1280px;
    margin: 0 auto;
    width: 100%
}

.brand_row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px
}

.logo_shell {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 2px 4px 0 #50a5f40d 0 6px 25px 0 #50a5f41a;
    border: 1px solid #D5EAC4;
    padding: 8px
}

.logo_shell img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block
}

.brand_name_text {
    font-size: 28px;
    font-family: 'Nunito', sans-serif;
    font-weight: 700;
    line-height: 1.1;
    color: #50A5F4;
    letter-spacing: 0
}

.brand_accent_dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background: #8F0213;
    margin-left: 4px;
    vertical-align: middle;
    transform: rotate(45deg)
}

.header_nav_row {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center
}

.header_nav_list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px
}

.header_nav_list li {
    display: flex
}

.header_nav_link {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
    color: #333;
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 4px;
    border: 1px solid transparent;
    min-height: 44px;
    transition: background .15s ease-out, border-color .15s ease-out, color .15s ease-out;
    white-space: nowrap
}

.header_nav_link:hover {
    background: #D5EAC4;
    border-color: #50A5F4;
    color: #8F0213
}

.header_nav_link.active_page {
    background: #50A5F4;
    color: #fff;
    border-color: #50A5F4
}

.header_nav_link .codicon {
    font-size: 16px
}

.nav_divider {
    width: 1px;
    height: 20px;
    background: #D5EAC4;
    margin: 0 8px;
    align-self: center
}

.header_tagline_strip {
    background: #D5EAC4;
    padding: 8px 28px;
    text-align: center
}

.tagline_text {
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    line-height: 1.35;
    color: #333;
    font-weight: 400;
    margin: 0
}

.tagline_text strong {
    color: #8F0213;
    font-weight: 700
}

@media (max-width: 768px) {
    .top_bar_contact {
        flex-wrap: wrap;
        gap: 8px
    }

    .header_top_bar {
        justify-content: center;
        padding: 8px 16px
    }

    .header_mid {
        padding: 16px 16px 8px;
        gap: 16px
    }

    .brand_name_text {
        font-size: 28px
    }

    .header_tagline_strip {
        padding: 8px 16px
    }
}

@media (max-width: 640px) {
    .top_contact_item span.contact_label {
        display: none
    }

    .header_nav_link {
        font-size: 16px;
        padding: 8px
    }
}

.site_footer {
    background: linear-gradient(170deg, #fff 0%, #D5EAC4 60%, #fff 100%);
    border-top: 2px solid #D5EAC4;
    box-shadow: 0 -2px 4px 0 #50a5f40d;
    padding: 56px 28px 28px
}

.footer_grid {
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 56px
}

.footer_brand_col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px
}

.footer_logo_rule {
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, #50A5F4, #D5EAC4);
    margin-bottom: 8px
}

.footer_logo_shell {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 2px 4px 0 #50a5f40d 0 6px 25px 0 #50a5f41a;
    border: 1px solid #D5EAC4;
    padding: 8px
}

.footer_logo_shell img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block
}

.footer_brand_name {
    font-family: 'Nunito', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #50A5F4;
    line-height: 1.35
}

.footer_about_text {
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    line-height: 1.55;
    color: #444;
    margin: 0
}

.footer_links_col {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.footer_col_heading {
    font-family: 'Nunito', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #333;
    line-height: 1.35;
    padding-bottom: 8px;
    border-bottom: 2px solid #50A5F4;
    display: inline-block
}

.footer_link_list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.footer_link_list li {
    display: flex
}

.footer_policy_link {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    line-height: 1.35;
    color: #444;
    text-decoration: none;
    padding: 8px 0;
    min-height: 44px;
    border-radius: 2px;
    transition: color .16s ease-out
}

.footer_policy_link:hover {
    color: #8F0213
}

.footer_policy_link .codicon {
    font-size: 16px;
    color: #50A5F4
}

.footer_contact_col {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.footer_contact_list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.footer_contact_list li {
    display: flex
}

.footer_contact_link {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    line-height: 1.55;
    color: #444;
    text-decoration: none;
    padding: 8px 0;
    min-height: 44px;
    transition: color .16s ease-out
}

.footer_contact_link:hover {
    color: #8F0213
}

.footer_contact_link .codicon {
    font-size: 16px;
    color: #50A5F4;
    margin-top: 2px;
    flex-shrink: 0
}

.footer_address_item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    line-height: 1.55;
    color: #444;
    padding: 8px 0
}

.footer_address_item .codicon {
    font-size: 16px;
    color: #50A5F4;
    margin-top: 2px;
    flex-shrink: 0
}

.footer_bottom_bar {
    max-width: 1280px;
    margin: 56px auto 0;
    padding-top: 28px;
    border-top: 1px solid #D5EAC4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px
}

.footer_copy_text {
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    line-height: 1.35;
    color: #555;
    margin: 0
}

.footer_copy_text strong {
    color: #50A5F4
}

.footer_badge {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: #fff;
    border-radius: 22px;
    border: 1px solid #D5EAC4;
    box-shadow: 0 2px 4px 0 #50a5f40d
}

.footer_badge_dot {
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background: #50A5F4;
    transform: rotate(45deg)
}

.footer_badge_text {
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    line-height: 1.35;
    color: #444;
    font-weight: 700
}

@media (max-width: 1024px) {
    .footer_grid {
        grid-template-columns: 1fr 1fr;
        gap: 28px
    }

    .footer_brand_col {
        grid-column: 1 / -1
    }
}

@media (max-width: 640px) {
    .footer_grid {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .footer_bottom_bar {
        flex-direction: column;
        align-items: flex-start
    }

    .site_footer {
        padding: 28px 16px 16px
    }
}

.cookie_bar_shell {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1200;
    background: #fff;
    border-top: 2px solid #50A5F4;
    box-shadow: 0 -6px 25px 0 #50a5f41a;
    padding: 16px 28px;
    transition: transform .42s cubic-bezier(0.4, 0, 0.6, 1), opacity .42s cubic-bezier(0.4, 0, 0.6, 1)
}

.cookie_bar_shell.cookie_slide_in {
    transform: translateY(0);
    opacity: 1
}

.cookie_bar_shell.cookie_slide_out {
    transform: translateY(110%);
    opacity: 0
}

.cookie_inner {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px
}

.cookie_text_block {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1 1 300px
}

.cookie_headline {
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
    color: #333;
    margin: 0
}

.cookie_desc {
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    line-height: 1.55;
    color: #555;
    margin: 0
}

.cookie_btn_group {
    display: flex;
    gap: 16px;
    flex-shrink: 0;
    flex-wrap: wrap
}

.cookie_btn {
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
    border-radius: 4px;
    padding: 8px 28px;
    min-height: 44px;
    cursor: pointer;
    border: 2px solid transparent;
    transition: background .14s ease-out, color .14s ease-out, border-color .14s ease-out, opacity .14s ease-out;
    text-align: center
}

.cookie_btn:hover {
    opacity: .82
}

.cookie_btn:focus {
    outline: none;
    box-shadow: 0 0 0 3px #50a5f466
}

.cookie_accept {
    background: #50A5F4;
    color: #fff;
    border-color: #50A5F4
}

.cookie_accept:hover {
    background: #3a8fd6;
    border-color: #3a8fd6;
    opacity: 1
}

.cookie_decline {
    background: #fff;
    color: #333;
    border-color: #D5EAC4
}

.cookie_decline:hover {
    border-color: #50A5F4;
    color: #8F0213;
    opacity: 1
}

@media (max-width: 640px) {
    .cookie_inner {
        flex-direction: column;
        align-items: flex-start
    }

    .cookie_btn_group {
        width: 100%
    }

    .cookie_btn {
        flex: 1 1 auto
    }

    .cookie_bar_shell {
        padding: 16px
    }
}

.rules-content {
    max-width: 1280px;
    margin: 0 auto;
    padding: 56px 28px;
    color: #2a2a2a
}

.rules-content p {
    font-size: 18px;
    line-height: 1.8;
    margin-bottom: 16px;
    color: #2a2a2a
}

.rules-content ul,
.rules-content ol {
    padding-left: 28px;
    margin-bottom: 16px
}

.rules-content ul {
    list-style-type: disc
}

.rules-content ol {
    list-style-type: decimal
}

.rules-content li {
    font-size: 18px;
    line-height: 1.8;
    margin-bottom: 8px;
    color: #2a2a2a
}

.rules-content li:last-child {
    margin-bottom: 0
}

.rules-content strong,
.rules-content b {
    font-weight: 700;
    color: #1e1e1e
}

.rules-content a {
    color: #50A5F4;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .18s ease-out, opacity .14s ease-out
}

.rules-content a:hover {
    color: #8F0213;
    opacity: .85
}

.rules-content table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 28px;
    font-size: 16px;
    line-height: 1.55;
    box-shadow: 0 2px 4px 0 #50a5f40d;
    border-radius: 4px;
    overflow: hidden
}

.rules-content thead {
    background-color: #D5EAC4
}

.rules-content thead th {
    font-size: 16px;
    font-weight: 700;
    color: #1e1e1e;
    text-align: left;
    padding: 16px;
    border-bottom: 2px solid #50A5F4
}

.rules-content tbody tr {
    transition: background-color .12s ease-out
}

.rules-content tbody tr:nth-child(even) {
    background-color: #f4f9ff
}

.rules-content tbody tr:hover {
    background-color: #eaf3fe
}

.rules-content td {
    font-size: 16px;
    line-height: 1.55;
    color: #2a2a2a;
    padding: 16px;
    border-bottom: 1px solid #50a5f426;
    vertical-align: top
}

.rules-content tbody tr:last-child td {
    border-bottom: none
}

@media (max-width: 768px) {
    .rules-content {
        padding: 28px 16px
    }

    .rules-content table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }

    .rules-content p,
    .rules-content li {
        font-size: 16px
    }
}

.anlyt {
    max-width: 100%;
    overflow-x: hidden
}

.anlyt .pg_inner {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 28px;
    padding-right: 28px
}

.anlyt .dot_accent {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #50A5F4;
    margin-left: 6px;
    vertical-align: middle;
    position: relative;
    top: -2px
}

.anlyt .hero_wrap {
    background: linear-gradient(180deg, #D5EAC4 0%, #fff 100%);
    padding-top: 96px;
    padding-bottom: 56px;
    position: relative
}

.anlyt .hero_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: end
}

.anlyt .hero_text_col {
    padding-bottom: 28px
}

.anlyt .hero_eyebrow {
    display: inline-block;
    font-size: 16px;
    line-height: 1.35;
    color: #8F0213;
    font-weight: 600;
    letter-spacing: 0;
    border-top: 2px solid #8F0213;
    padding-top: 8px;
    margin-bottom: 28px
}

.anlyt .hero_h1 {
    font-size: 72px;
    line-height: 1.1;
    font-weight: 800;
    margin-bottom: 28px;
    color: #1a2030;
    color: #18222e
}

.anlyt .hero_h1 .word_accent {
    color: #50A5F4
}

.anlyt .hero_desc {
    font-size: 18px;
    line-height: 1.55;
    color: #3a4555;
    margin-bottom: 28px;
    max-width: 520px
}

.anlyt .hero_stats_row {
    display: flex;
    flex-direction: row;
    gap: 28px;
    margin-bottom: 28px
}

.anlyt .stat_pill {
    background: #fff;
    border: 1px solid #D5EAC4;
    border-radius: 4px;
    padding: 16px 28px;
    box-shadow: 0 2px 4px 0 #50a5f40d;
    text-align: center;
    transition: box-shadow .18s ease-out, transform .15s cubic-bezier(0.4, 0, 0.6, 1)
}

.anlyt .stat_pill:hover {
    box-shadow: 0 6px 25px 0 #50a5f41a;
    transform: translateY(-3px)
}

.anlyt .stat_num {
    font-size: 40px;
    line-height: 1.1;
    font-weight: 800;
    color: #50A5F4;
    display: block
}

.anlyt .stat_label {
    font-size: 16px;
    line-height: 1.35;
    color: #3a4555;
    display: block
}

.anlyt .hero_cta_row {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap
}

.anlyt .btn_primary {
    display: inline-block;
    background: #50A5F4;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    padding: 16px 28px;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    box-shadow: 0 6px 25px 0 #50a5f41a;
    transition: background .18s ease-out, box-shadow .18s ease-out, filter .15s cubic-bezier(0.4, 0, 0.6, 1)
}

.anlyt .btn_primary:hover {
    filter: brightness(0.88);
    box-shadow: 0 10px 60px 0 #50a5f424
}

.anlyt .btn_primary:active {
    transform: scale(0.97)
}

.anlyt .btn_ghost {
    display: inline-block;
    background: transparent;
    color: #3a4555;
    font-size: 16px;
    font-weight: 600;
    padding: 16px 28px;
    border-radius: 4px;
    border: 2px solid #D5EAC4;
    cursor: pointer;
    text-decoration: none;
    transition: border-color .18s ease-out, color .18s ease-out
}

.anlyt .btn_ghost:hover {
    border-color: #50A5F4;
    color: #50A5F4
}

.anlyt .hero_img_col {
    position: relative;
    border-radius: 22px;
    overflow: hidden
}

.anlyt .hero_img_wrap {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 10px 60px 0 #50a5f424
}

.anlyt .hero_img_wrap img {
    display: block;
    width: 100%;
    height: 560px;
    object-fit: cover;
    border-radius: 22px;
    transition: filter .2s cubic-bezier(0.4, 0, 0.6, 1)
}

.anlyt .hero_img_wrap:hover img {
    filter: saturate(0.3)
}

.anlyt .hero_img_overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to left, #50a5f473 0%, transparent 55%);
    border-radius: 22px;
    pointer-events: none
}

.anlyt .hero_shape_a {
    position: absolute;
    width: 160px;
    height: 160px;
    border-radius: 22px;
    border: 2px solid #50a5f438;
    top: -28px;
    right: -28px;
    pointer-events: none;
    z-index: 0
}

.anlyt .hero_shape_b {
    position: absolute;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: #d5eac461;
    bottom: 16px;
    right: -16px;
    pointer-events: none;
    z-index: 0
}

.anlyt .hero_badge {
    position: absolute;
    bottom: 28px;
    left: 28px;
    background: #fffffff5;
    border-radius: 4px;
    padding: 16px;
    box-shadow: 0 6px 25px 0 #50a5f41a;
    z-index: 2;
    max-width: 220px
}

.anlyt .hero_badge_label {
    font-size: 16px;
    line-height: 1.35;
    font-weight: 700;
    color: #18222e;
    display: block;
    margin-bottom: 8px
}

.anlyt .hero_badge_sub {
    font-size: 16px;
    line-height: 1.35;
    color: #3a4555;
    display: block
}

.anlyt .dots_group {
    position: absolute;
    bottom: 56px;
    left: -16px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    pointer-events: none;
    z-index: 0
}

.anlyt .dot_sm {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #50a5f447
}

.anlyt .dot_md {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #8f02132e
}

.anlyt .band_div {
    height: 6px;
    background: linear-gradient(127deg, #50A5F4 0%, #8F0213 100%)
}

.anlyt .prog_section {
    background: #fff;
    padding-top: 96px;
    padding-bottom: 96px
}

.anlyt .prog_grid {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 56px;
    align-items: start
}

.anlyt .prog_left_h {
    font-size: 40px;
    line-height: 1.1;
    font-weight: 800;
    color: #18222e;
    margin-bottom: 28px
}

.anlyt .prog_left_h .word_accent {
    color: #50A5F4
}

.anlyt .prog_intro {
    font-size: 18px;
    line-height: 1.55;
    color: #3a4555;
    margin-bottom: 28px
}

.anlyt .prog_detail {
    font-size: 16px;
    line-height: 1.8;
    color: #3a4555;
    margin-bottom: 28px
}

.anlyt .feature_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 28px
}

.anlyt .feat_card {
    background: #fff;
    border: 1px solid #D5EAC4;
    border-radius: 4px;
    padding: 28px 16px;
    box-shadow: 0 2px 4px 0 #50a5f40d;
    transition: box-shadow .2s ease-out, transform .17s cubic-bezier(0.4, 0, 0.6, 1)
}

.anlyt .feat_card:hover {
    box-shadow: 0 6px 25px 0 #50a5f41a;
    transform: translateY(-4px)
}

.anlyt .feat_icon {
    width: 40px;
    height: 40px;
    border-radius: 4px;
    background: #D5EAC4;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px
}

.anlyt .feat_icon svg {
    width: 22px;
    height: 22px
}

.anlyt .feat_name {
    font-size: 16px;
    line-height: 1.35;
    font-weight: 700;
    color: #18222e;
    margin-bottom: 8px;
    display: block
}

.anlyt .feat_desc {
    font-size: 16px;
    line-height: 1.55;
    color: #3a4555
}

.anlyt .timeline_col {
    position: relative
}

.anlyt .timeline_h {
    font-size: 28px;
    line-height: 1.35;
    font-weight: 700;
    color: #18222e;
    margin-bottom: 28px
}

.anlyt .timeline_h .word_accent {
    color: #8F0213
}

.anlyt .t_list {
    position: relative;
    list-style: none;
    padding: 0;
    margin: 0
}

.anlyt .t_list::before {
    content: '';
    position: absolute;
    left: 17px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(180deg, #50A5F4 0%, #D5EAC4 100%)
}

.anlyt .t_item {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 28px;
    position: relative
}

.anlyt .t_dot_wrap {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 2px solid #50A5F4;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
    transition: background .18s ease-out, border-color .18s ease-out
}

.anlyt .t_item:hover .t_dot_wrap {
    background: #50A5F4
}

.anlyt .t_dot_inner {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #50A5F4;
    transition: background .18s ease-out
}

.anlyt .t_item:hover .t_dot_inner {
    background: #fff
}

.anlyt .t_dot_wrap.status_done {
    border-color: #8F0213
}

.anlyt .t_dot_wrap.status_done .t_dot_inner {
    background: #8F0213
}

.anlyt .t_item:hover .t_dot_wrap.status_done {
    background: #8F0213
}

.anlyt .t_dot_wrap.status_active {
    border-color: #50A5F4;
    box-shadow: 0 0 0 4px #50a5f42e
}

.anlyt .t_body {
    padding-top: 8px;
    flex: 1
}

.anlyt .t_step_label {
    font-size: 16px;
    line-height: 1.35;
    font-weight: 700;
    color: #18222e;
    display: block;
    margin-bottom: 8px
}

.anlyt .t_step_text {
    font-size: 16px;
    line-height: 1.55;
    color: #3a4555
}

.anlyt .t_status_tag {
    display: inline-block;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 2px;
    margin-left: 8px;
    vertical-align: middle
}

.anlyt .tag_done {
    background: #8f02131a;
    color: #8F0213
}

.anlyt .tag_active {
    background: #50a5f41f;
    color: #50A5F4
}

.anlyt .tag_upcoming {
    background: #d5eac499;
    color: #3a6b2a
}

.anlyt .prog_cta_wrap {
    margin-top: 56px;
    background: linear-gradient(127deg, #50a5f414 0%, #d5eac440 100%);
    border-radius: 22px;
    padding: 56px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    box-shadow: 0 2px 4px 0 #50a5f40d;
    flex-wrap: wrap
}

.anlyt .cta_text_h {
    font-size: 28px;
    line-height: 1.35;
    font-weight: 800;
    color: #18222e;
    margin-bottom: 8px
}

.anlyt .cta_text_h .word_accent {
    color: #50A5F4
}

.anlyt .cta_text_p {
    font-size: 16px;
    line-height: 1.55;
    color: #3a4555
}

.anlyt .btn_primary_lg {
    display: inline-block;
    background: #50A5F4;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    padding: 16px 56px;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    box-shadow: 0 6px 25px 0 #50a5f41a;
    white-space: nowrap;
    transition: filter .18s ease-out, box-shadow .18s ease-out;
    flex-shrink: 0
}

.anlyt .btn_primary_lg:hover {
    filter: brightness(0.88);
    box-shadow: 0 10px 60px 0 #50a5f424
}

@media (max-width: 1024px) {
    .anlyt .hero_grid {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .anlyt .hero_h1 {
        font-size: 40px
    }

    .anlyt .hero_img_wrap img {
        height: 360px
    }

    .anlyt .prog_grid {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .anlyt .prog_cta_wrap {
        flex-direction: column;
        align-items: flex-start;
        padding: 28px
    }
}

@media (max-width: 768px) {
    .anlyt .hero_stats_row {
        flex-wrap: wrap;
        gap: 16px
    }

    .anlyt .feature_grid {
        grid-template-columns: 1fr
    }

    .anlyt .hero_h1 {
        font-size: 40px
    }

    .anlyt .hero_img_wrap img {
        height: 260px
    }
}

@media (max-width: 640px) {
    .anlyt .hero_wrap {
        padding-top: 56px;
        padding-bottom: 28px
    }

    .anlyt .prog_section {
        padding-top: 56px;
        padding-bottom: 56px
    }

    .anlyt .hero_cta_row {
        flex-direction: column;
        align-items: flex-start
    }
}

.cont_us {
    max-width: 100%;
    overflow-x: hidden
}

.cont_us .pg_wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 28px
}

.cont_us .slide_in {
    opacity: 0;
    transform: translateX(60px);
    animation: slideFromRight .22s cubic-bezier(0.4, 0, 0.6, 1) forwards
}

.cont_us .slide_in:nth-child(1) {
    animation-delay: .05s
}

.cont_us .slide_in:nth-child(2) {
    animation-delay: .12s
}

.cont_us .slide_in:nth-child(3) {
    animation-delay: .19s
}

.cont_us .slide_in:nth-child(4) {
    animation-delay: .26s
}

@keyframes slideFromRight {
    to {
        opacity: 1;
        transform: translateX(0)
    }
}

.cont_us .top_band {
    background: linear-gradient(127deg, #50A5F4 0%, #8F0213 100%);
    padding: 56px 0;
    position: relative;
    overflow: hidden
}

.cont_us .top_band::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 48px;
    background: #fff;
    clip-path: ellipse(55% 100% at 50% 100%)
}

.cont_us .top_band_inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 28px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 56px
}

.cont_us .top_img_wrap {
    flex: 0 0 420px;
    height: 320px;
    border-radius: 4px;
    overflow: hidden;
    position: relative
}

.cont_us .top_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: filter .18s ease-out
}

.cont_us .top_img_wrap img:hover {
    filter: saturate(0)
}

.cont_us .top_img_overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(127deg, #50a5f473 0%, #8f02138c 100%);
    pointer-events: none
}

.cont_us .top_text {
    flex: 1;
    color: #fff
}

.cont_us .top_text .pg_label {
    font-size: 16px;
    line-height: 1.35;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #D5EAC4;
    margin-bottom: 16px;
    display: block
}

.cont_us .top_text h1 {
    font-size: 40px;
    line-height: 1.1;
    color: #fff;
    margin-bottom: 16px
}

.cont_us .top_text h1 .dot_acc {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #D5EAC4;
    margin-left: 8px;
    vertical-align: middle;
    margin-bottom: 4px
}

.cont_us .top_text .desc_txt {
    font-size: 18px;
    line-height: 1.55;
    color: #ffffffe0;
    max-width: 480px
}

.cont_us .contact_strip {
    display: flex;
    flex-direction: row;
    gap: 28px;
    margin-top: 28px;
    flex-wrap: wrap
}

.cont_us .c_item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-size: 16px;
    line-height: 1.35;
    text-decoration: none;
    transition: opacity .15s ease-out
}

.cont_us .c_item:hover {
    opacity: .72
}

.cont_us .c_icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center
}

.cont_us .mid_block {
    background: #fff;
    padding: 96px 0 56px
}

.cont_us .mid_grid {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 28px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start
}

.cont_us .info_col {
    position: relative;
    padding-left: 20px
}

.cont_us .info_col::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 3px;
    background: linear-gradient(127deg, #50A5F4, #8F0213);
    border-radius: 2px
}

.cont_us .info_col h2 {
    font-size: 28px;
    line-height: 1.35;
    color: #1a2333;
    margin-bottom: 16px
}

.cont_us .info_col h2 .dot_acc {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #50A5F4;
    margin-left: 6px;
    vertical-align: middle;
    margin-bottom: 3px
}

.cont_us .info_col .body_p {
    font-size: 16px;
    line-height: 1.55;
    color: #2d3748;
    margin-bottom: 28px
}

.cont_us .detail_rows {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.cont_us .detail_row {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
    padding: 16px;
    background: #f4f9ff;
    border-radius: 4px;
    box-shadow: 0 2px 4px 0 #50a5f40d;
    transition: box-shadow .15s ease-out, background .15s ease-out
}

.cont_us .detail_row:hover {
    box-shadow: 0 6px 25px 0 #50a5f41a;
    background: #eaf4ff
}

.cont_us .detail_row .dr_icon {
    width: 36px;
    height: 36px;
    border-radius: 4px;
    background: #50A5F4;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.cont_us .detail_row .dr_icon svg {
    width: 18px;
    height: 18px
}

.cont_us .detail_row .dr_txt {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.cont_us .detail_row .dr_label {
    font-size: 16px;
    line-height: 1.35;
    color: #678;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: 16px
}

.cont_us .detail_row .dr_val {
    font-size: 16px;
    line-height: 1.35;
    color: #1a2333;
    text-decoration: none;
    transition: color .14s ease-out
}

.cont_us .detail_row .dr_val:hover {
    color: #50A5F4
}

.cont_us .stat_accent {
    margin-top: 28px;
    padding: 16px;
    background: linear-gradient(127deg, #50A5F4 0%, #8F0213 100%);
    border-radius: 4px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px
}

.cont_us .stat_accent .big_num {
    font-size: 40px;
    line-height: 1.1;
    color: #fff;
    font-weight: 700;
    white-space: nowrap
}

.cont_us .stat_accent .stat_lbl {
    font-size: 16px;
    line-height: 1.55;
    color: #ffffffe0
}

.cont_us .form_col {
    background: #fff;
    border-radius: 4px;
    padding: 28px;
    box-shadow: 0 6px 25px 0 #50a5f41a
}

.cont_us .form_col h3 {
    font-size: 28px;
    line-height: 1.35;
    color: #1a2333;
    margin-bottom: 8px
}

.cont_us .form_col h3 .dot_acc {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #8F0213;
    margin-left: 6px;
    vertical-align: middle;
    margin-bottom: 3px
}

.cont_us .form_sub {
    font-size: 16px;
    line-height: 1.55;
    color: #567;
    margin-bottom: 28px
}

.cont_us .form_row {
    display: flex;
    flex-direction: row;
    gap: 16px;
    margin-bottom: 16px
}

.cont_us .field_wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1
}

.cont_us .field_wrap label {
    font-size: 16px;
    line-height: 1.35;
    color: #2d3748
}

.cont_us .f_input {
    width: 100%;
    padding: 12px 16px;
    font-size: 16px;
    line-height: 1.35;
    color: #1a2333;
    background: #f4f9ff;
    border: 1.5px solid #c8ddf5;
    border-radius: 4px;
    outline: none;
    box-shadow: inset 0 2px 3px #50a5f40f inset 0 -1px 2px #8f02130a;
    transition: border-color .15s ease-out, box-shadow .15s ease-out;
    box-sizing: border-box
}

.cont_us .f_input::placeholder {
    color: #1a233366
}

.cont_us .f_input:focus {
    border-color: #50A5F4;
    box-shadow: 0 0 0 3px #50a5f41f inset 0 2px 3px #50a5f40f
}

.cont_us .radio_grp {
    margin-bottom: 16px
}

.cont_us .radio_grp .grp_label {
    font-size: 16px;
    line-height: 1.35;
    color: #2d3748;
    display: block;
    margin-bottom: 8px
}

.cont_us .radio_opts {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px
}

.cont_us .radio_opt {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer
}

.cont_us .radio_opt input[type="radio"] {
    width: 18px;
    height: 18px;
    accent-color: #50A5F4;
    cursor: pointer
}

.cont_us .radio_opt span {
    font-size: 16px;
    line-height: 1.35;
    color: #2d3748
}

.cont_us .privacy_row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
    padding: 16px;
    background: #f4f9ff;
    border-radius: 4px
}

.cont_us .privacy_row input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-top: 2px;
    accent-color: #50A5F4;
    cursor: pointer
}

.cont_us .privacy_row .prv_txt {
    font-size: 16px;
    line-height: 1.55;
    color: #567
}

.cont_us .privacy_row .prv_txt a {
    color: #50A5F4;
    text-decoration: underline;
    transition: color .14s ease-out
}

.cont_us .privacy_row .prv_txt a:hover {
    color: #8F0213
}

.cont_us .submit_btn {
    width: 100%;
    padding: 16px 28px;
    font-size: 18px;
    line-height: 1.35;
    color: #fff;
    background: #50A5F4;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    box-shadow: 0 6px 25px 0 #50a5f41a;
    transition: background .15s ease-out, box-shadow .18s ease-out, transform .12s cubic-bezier(0.4, 0, 0.6, 1);
    position: relative;
    overflow: hidden
}

.cont_us .submit_btn:hover {
    background: #3d8fd8;
    box-shadow: 0 10px 60px 0 #50a5f424;
    filter: brightness(0.92)
}

.cont_us .submit_btn:active {
    transform: scale(0.97);
    box-shadow: 0 2px 4px 0 #50a5f40d
}

.cont_us .submit_btn:focus {
    outline: 2px solid #8F0213;
    outline-offset: 2px
}

.cont_us .analytics_row {
    background: #D5EAC4;
    padding: 56px 0
}

.cont_us .analytics_inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 28px
}

.cont_us .analytics_inner h2 {
    font-size: 28px;
    line-height: 1.35;
    color: #1a2333;
    margin-bottom: 8px
}

.cont_us .analytics_inner h2 .dot_acc {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #8F0213;
    margin-left: 6px;
    vertical-align: middle;
    margin-bottom: 3px
}

.cont_us .analytics_inner .body_p {
    font-size: 16px;
    line-height: 1.55;
    color: #2d3748;
    max-width: 600px;
    margin-bottom: 28px
}

.cont_us .chart_block {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 28px
}

.cont_us .chart_step {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px
}

.cont_us .chart_step .step_lbl {
    font-size: 16px;
    line-height: 1.35;
    color: #2d3748;
    width: 160px;
    flex-shrink: 0
}

.cont_us .chart_bar_wrap {
    flex: 1;
    height: 28px;
    background: #50a5f426;
    border-radius: 2px;
    overflow: hidden
}

.cont_us .chart_bar {
    height: 100%;
    border-radius: 2px;
    background: linear-gradient(127deg, #50A5F4 0%, #8F0213 100%);
    transform-origin: left center;
    animation: barGrow .22s cubic-bezier(0.4, 0, 0.6, 1) forwards
}

@keyframes barGrow {
    from {
        transform: scaleX(0)
    }

    to {
        transform: scaleX(1)
    }
}

.cont_us .chart_step .step_num {
    font-size: 18px;
    line-height: 1.35;
    color: #1a2333;
    font-weight: 700;
    width: 48px;
    text-align: right;
    flex-shrink: 0
}

.cont_us .anal_link_wrap {
    margin-top: 16px
}

.cont_us .anal_link {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    font-size: 16px;
    line-height: 1.35;
    color: #fff;
    background: #8F0213;
    border-radius: 4px;
    text-decoration: none;
    box-shadow: 0 6px 25px 0 #8f02131a;
    transition: background .15s ease-out, box-shadow .18s ease-out
}

.cont_us .anal_link:hover {
    background: #7a011f;
    filter: brightness(0.92);
    box-shadow: 0 10px 60px 0 #8f021324
}

.cont_us .anal_link:focus {
    outline: 2px solid #50A5F4;
    outline-offset: 2px
}

.cont_us .wave_div {
    width: 100%;
    line-height: 0;
    overflow: hidden
}

.cont_us .wave_div svg {
    display: block;
    width: 100%
}

@media (max-width: 1024px) {
    .cont_us .top_band_inner {
        flex-direction: column;
        gap: 28px
    }

    .cont_us .top_img_wrap {
        flex: none;
        width: 100%;
        height: 240px
    }

    .cont_us .mid_grid {
        grid-template-columns: 1fr;
        gap: 28px
    }
}

@media (max-width: 768px) {
    .cont_us .top_text h1 {
        font-size: 28px
    }

    .cont_us .form_row {
        flex-direction: column;
        gap: 8px
    }

    .cont_us .radio_opts {
        flex-direction: column
    }

    .cont_us .mid_block {
        padding: 56px 0 28px
    }

    .cont_us .chart_step .step_lbl {
        width: 100px;
        font-size: 16px
    }
}

@media (max-width: 640px) {
    .cont_us .top_band {
        padding: 28px 0
    }

    .cont_us .top_text h1 {
        font-size: 28px
    }

    .cont_us .contact_strip {
        flex-direction: column;
        gap: 16px
    }

    .cont_us .analytics_inner h2 {
        font-size: 28px
    }

    .cont_us .stat_accent {
        flex-direction: column;
        align-items: flex-start
    }
}

.ab_us {
    max-width: 100%;
    overflow-x: hidden
}

.ab_us .ed_col {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 28px;
    padding-right: 28px
}

.ab_us .ed_narrow {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto
}

@keyframes diag_in {
    from {
        opacity: 0;
        transform: translate(-18px, 18px)
    }

    to {
        opacity: 1;
        transform: translate(0, 0)
    }
}

@keyframes diag_in_r {
    from {
        opacity: 0;
        transform: translate(18px, 18px)
    }

    to {
        opacity: 1;
        transform: translate(0, 0)
    }
}

.ab_us .anim_diag {
    animation: diag_in .18s cubic-bezier(0.4, 0, 0.6, 1) both
}

.ab_us .anim_diag_r {
    animation: diag_in_r .22s cubic-bezier(0.4, 0, 0.6, 1) both
}

.ab_us .anim_delay_1 {
    animation-delay: .06s
}

.ab_us .anim_delay_2 {
    animation-delay: .12s
}

.ab_us .anim_delay_3 {
    animation-delay: .18s
}

.ab_us .dot_acc {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #50A5F4;
    margin-left: 6px;
    vertical-align: middle;
    position: relative;
    top: -2px
}

.ab_us .dot_acc.red {
    background: #8F0213
}

.ab_us .wave_div {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 0
}

.ab_us .wave_div svg {
    display: block;
    width: 100%
}

.ab_us .t_block {
    background: #fff;
    padding-top: 56px;
    padding-bottom: 56px;
    position: relative
}

.ab_us .t_block_bg_num {
    position: absolute;
    right: 8%;
    top: 50%;
    transform: translateY(-50%);
    font-size: 180px;
    font-weight: 800;
    color: #50A5F4;
    opacity: .06;
    line-height: 1.1;
    pointer-events: none;
    user-select: none;
    letter-spacing: -8px
}

.ab_us .t_block_label {
    display: inline-block;
    background: #D5EAC4;
    color: #2a4a1a;
    font-size: 16px;
    line-height: 1.35;
    padding: 4px 16px;
    border-radius: 4px;
    margin-bottom: 16px;
    font-weight: 600
}

.ab_us .t_block_h {
    font-size: 40px;
    line-height: 1.1;
    color: #1b2a3b;
    font-weight: 800;
    margin-bottom: 16px
}

.ab_us .t_block_desc {
    font-size: 18px;
    line-height: 1.55;
    color: #3c4a58;
    max-width: 560px
}

.ab_us .t_block_sep {
    width: 56px;
    height: 3px;
    background: linear-gradient(127deg, #50A5F4, #8F0213);
    border-radius: 2px;
    margin-top: 28px;
    margin-bottom: 0
}

.ab_us .story_wrap {
    background: #f4f8ff;
    padding-top: 56px;
    padding-bottom: 0
}

.ab_us .story_grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 56px;
    align-items: start
}

.ab_us .story_img_frame {
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 10px 60px 0 #50a5f424;
    position: relative
}

.ab_us .story_img_frame::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(127deg, #50A5F4, #8F0213);
    z-index: 1;
    border-radius: 22px 22px 0 0
}

.ab_us .story_img_frame img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: saturate(1);
    transition: filter .18s ease-out, transform .22s cubic-bezier(0.4, 0, 0.6, 1)
}

.ab_us .story_img_frame:hover img {
    filter: saturate(0.3);
    transform: scale(1.03)
}

.ab_us .story_stat_box {
    background: #fff;
    border-radius: 4px;
    padding: 16px 28px;
    margin-top: 16px;
    box-shadow: 0 2px 4px 0 #50a5f40d;
    display: flex;
    flex-direction: row;
    gap: 28px;
    align-items: center
}

.ab_us .story_stat_item {
    display: flex;
    flex-direction: column;
    align-items: flex-start
}

.ab_us .story_stat_num {
    font-size: 40px;
    font-weight: 800;
    line-height: 1.1;
    color: #50A5F4
}

.ab_us .story_stat_lbl {
    font-size: 16px;
    line-height: 1.35;
    color: #5a6a7a
}

.ab_us .story_h {
    font-size: 28px;
    line-height: 1.35;
    color: #1b2a3b;
    font-weight: 700;
    margin-bottom: 16px
}

.ab_us .story_p {
    font-size: 18px;
    line-height: 1.55;
    color: #3c4a58;
    margin-bottom: 16px
}

.ab_us .story_dashed {
    border: none;
    border-top: 1.5px dashed #50A5F4;
    margin-top: 28px;
    margin-bottom: 28px;
    opacity: .4
}

.ab_us .story_detail_list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.ab_us .story_detail_item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px
}

.ab_us .story_det_icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 4px;
    background: #D5EAC4;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px
}

.ab_us .story_det_icon svg {
    width: 14px;
    height: 14px
}

.ab_us .story_det_text {
    font-size: 16px;
    line-height: 1.55;
    color: #3c4a58
}

.ab_us .approach_wrap {
    background: #fff;
    padding-top: 56px;
    padding-bottom: 56px
}

.ab_us .approach_top {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 56px;
    gap: 28px
}

.ab_us .approach_h {
    font-size: 28px;
    line-height: 1.35;
    font-weight: 700;
    color: #1b2a3b;
    max-width: 420px
}

.ab_us .approach_sub {
    font-size: 16px;
    line-height: 1.55;
    color: #5a6a7a;
    max-width: 360px
}

.ab_us .approach_grid {
    display: grid;
    grid-template-columns: 1fr 1fr 2fr;
    gap: 28px
}

.ab_us .ap_card {
    background: #fff;
    border-radius: 22px;
    padding: 28px;
    box-shadow: 0 6px 25px 0 #50a5f41a;
    position: relative;
    transition: box-shadow .18s ease-out, transform .16s cubic-bezier(0.4, 0, 0.6, 1)
}

.ab_us .ap_card::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: #50A5F4;
    border-radius: 22px 22px 0 0
}

.ab_us .ap_card.red_top::before {
    background: #8F0213
}

.ab_us .ap_card.green_top::before {
    background: #D5EAC4
}

.ab_us .ap_card:hover {
    box-shadow: 0 10px 60px 0 #50a5f424;
    transform: translateY(-3px);
    filter: brightness(0.97)
}

.ab_us .ap_card_num {
    font-size: 40px;
    font-weight: 800;
    line-height: 1.1;
    color: #50A5F4;
    margin-bottom: 8px
}

.ab_us .ap_card_num.red {
    color: #8F0213
}

.ab_us .ap_card_h {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    color: #1b2a3b;
    margin-bottom: 8px
}

.ab_us .ap_card_p {
    font-size: 16px;
    line-height: 1.55;
    color: #5a6a7a
}

.ab_us .ap_card.big {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.ab_us .ap_card_img {
    border-radius: 4px;
    overflow: hidden;
    height: 180px
}

.ab_us .ap_card_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: saturate(1);
    transition: filter .2s ease-out
}

.ab_us .ap_card_img:hover img {
    filter: saturate(0.2)
}

.ab_us .ap_expand_list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0
}

.ab_us .ap_exp_item {
    border-bottom: 1px solid #e8eff8
}

.ab_us .ap_exp_item:last-child {
    border-bottom: none
}

.ab_us .ap_exp_btn {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 16px 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.35;
    color: #1b2a3b;
    transition: color .14s ease-out
}

.ab_us .ap_exp_btn:hover {
    color: #50A5F4
}

.ab_us .ap_exp_btn:focus {
    outline: 2px solid #50A5F4;
    outline-offset: 2px;
    border-radius: 2px
}

.ab_us .ap_exp_icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    transition: transform .16s cubic-bezier(0.4, 0, 0.6, 1)
}

.ab_us .ap_exp_body {
    display: none;
    font-size: 16px;
    line-height: 1.55;
    color: #5a6a7a;
    padding-bottom: 16px
}

.ab_us .ap_exp_item.open .ap_exp_body {
    display: block
}

.ab_us .ap_exp_item.open .ap_exp_icon {
    transform: rotate(45deg)
}

.ab_us .team_wrap {
    background: linear-gradient(127deg, #50A5F4 0%, #8F0213 100%);
    padding-top: 56px;
    padding-bottom: 56px;
    position: relative;
    overflow: hidden
}

.ab_us .team_wrap_inner {
    position: relative;
    z-index: 2
}

.ab_us .team_bg_shape {
    position: absolute;
    top: -56px;
    right: -56px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: #ffffff0d;
    pointer-events: none
}

.ab_us .team_bg_shape2 {
    position: absolute;
    bottom: -96px;
    left: -96px;
    width: 480px;
    height: 480px;
    border-radius: 50%;
    background: #ffffff0a;
    pointer-events: none
}

.ab_us .team_h {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.35;
    color: #fff;
    margin-bottom: 8px
}

.ab_us .team_desc {
    font-size: 18px;
    line-height: 1.55;
    color: #ffffffd9;
    max-width: 560px;
    margin-bottom: 56px
}

.ab_us .team_row {
    display: flex;
    flex-direction: row;
    gap: 28px;
    align-items: flex-start
}

.ab_us .team_member {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    background: #ffffff1f;
    border-radius: 22px;
    padding: 28px;
    flex: 1;
    box-shadow: 0 6px 25px 0 #8f02131a;
    transition: background .18s ease-out, transform .16s cubic-bezier(0.4, 0, 0.6, 1)
}

.ab_us .team_member:hover {
    background: #ffffff2e;
    transform: translateY(-2px)
}

.ab_us .team_portrait {
    width: 80px;
    height: 80px;
    border-radius: 22px;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 2px 4px 0 #8f02130d
}

.ab_us .team_portrait img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    object-position: top;
    display: block;
    transition: filter .18s ease-out
}

.ab_us .team_member:hover .team_portrait img {
    filter: saturate(0.4)
}

.ab_us .team_name {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    color: #fff;
    margin-bottom: 4px
}

.ab_us .team_role {
    font-size: 16px;
    line-height: 1.35;
    color: #ffffffb3;
    margin-bottom: 8px
}

.ab_us .team_bio {
    font-size: 16px;
    line-height: 1.55;
    color: #ffffffd1
}

.ab_us .team_no_portrait {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    background: #ffffff1f;
    border-radius: 22px;
    padding: 28px;
    flex: 1;
    box-shadow: 0 6px 25px 0 #8f02131a;
    transition: background .18s ease-out, transform .16s cubic-bezier(0.4, 0, 0.6, 1)
}

.ab_us .team_no_portrait:hover {
    background: #ffffff2e;
    transform: translateY(-2px)
}

.ab_us .team_avatar_ph {
    width: 80px;
    height: 80px;
    border-radius: 22px;
    background: #ffffff26;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center
}

.ab_us .team_avatar_ph svg {
    width: 36px;
    height: 36px;
    opacity: .6
}

.ab_us .vision_wrap {
    background: #fff;
    padding-top: 56px;
    padding-bottom: 96px
}

.ab_us .vision_two_col {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 56px;
    align-items: start
}

.ab_us .vision_h {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.35;
    color: #1b2a3b;
    margin-bottom: 16px
}

.ab_us .vision_p {
    font-size: 18px;
    line-height: 1.55;
    color: #3c4a58;
    margin-bottom: 16px
}

.ab_us .vision_img_stack {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.ab_us .vision_img_fr {
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 6px 25px 0 #50a5f41a;
    position: relative
}

.ab_us .vision_img_fr::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: #D5EAC4;
    border-radius: 22px 22px 0 0;
    z-index: 1
}

.ab_us .vision_img_fr img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: saturate(1);
    transition: filter .2s ease-out, transform .22s cubic-bezier(0.4, 0, 0.6, 1)
}

.ab_us .vision_img_fr:hover img {
    filter: saturate(0.25);
    transform: scale(1.04)
}

.ab_us .vision_tag_row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 28px
}

.ab_us .v_tag {
    background: #D5EAC4;
    color: #2a4a1a;
    font-size: 16px;
    line-height: 1.35;
    padding: 4px 16px;
    border-radius: 22px;
    font-weight: 600;
    transition: background .14s ease-out, color .14s ease-out
}

.ab_us .v_tag:hover {
    background: #50A5F4;
    color: #fff
}

.ab_us .v_tag.blue_bg {
    background: #e8f3ff;
    color: #1b5fa0
}

.ab_us .v_tag.blue_bg:hover {
    background: #50A5F4;
    color: #fff
}

.ab_us .contact_strip {
    background: #f4f8ff;
    padding-top: 28px;
    padding-bottom: 28px;
    border-top: 1px solid #dceeff
}

.ab_us .contact_row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 56px;
    flex-wrap: wrap
}

.ab_us .contact_item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    line-height: 1.35;
    color: #3c4a58
}

.ab_us .contact_item a {
    color: #50A5F4;
    text-decoration: none;
    transition: color .14s ease-out
}

.ab_us .contact_item a:hover {
    color: #8F0213
}

.ab_us .contact_icon {
    width: 20px;
    height: 20px;
    color: #50A5F4;
    flex-shrink: 0
}

@media (max-width: 1024px) {
    .ab_us .approach_grid {
        grid-template-columns: 1fr 1fr
    }

    .ab_us .ap_card.big {
        grid-column: 1 / -1
    }

    .ab_us .story_grid {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .ab_us .vision_two_col {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .ab_us .approach_top {
        flex-direction: column;
        align-items: flex-start
    }
}

@media (max-width: 768px) {
    .ab_us .team_row {
        flex-direction: column
    }

    .ab_us .t_block_h {
        font-size: 28px
    }

    .ab_us .t_block_bg_num {
        font-size: 100px
    }

    .ab_us .approach_grid {
        grid-template-columns: 1fr
    }

    .ab_us .ap_card.big {
        grid-column: auto
    }

    .ab_us .story_stat_box {
        flex-wrap: wrap
    }

    .ab_us .contact_row {
        gap: 16px
    }
}

@media (max-width: 640px) {
    .ab_us .t_block {
        padding-top: 28px;
        padding-bottom: 28px
    }

    .ab_us .story_wrap {
        padding-top: 28px
    }

    .ab_us .approach_wrap {
        padding-top: 28px;
        padding-bottom: 28px
    }

    .ab_us .team_wrap {
        padding-top: 28px;
        padding-bottom: 28px
    }

    .ab_us .vision_wrap {
        padding-top: 28px;
        padding-bottom: 56px
    }

    .ab_us .team_member,
    .ab_us .team_no_portrait {
        flex-direction: column
    }
}

.strt {
    max-width: 100%;
    overflow-x: hidden
}

.strt .pg_wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 28px
}

.strt .sec_divider {
    border: none;
    border-top: 1px dashed #b0c8d8;
    margin: 0
}

.strt .title_band {
    background: #0e2236;
    position: relative;
    padding: 56px 0
}

.strt .title_band_curves {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden
}

.strt .title_band_curves svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .13
}

.strt .title_band_inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 56px;
    position: relative;
    z-index: 1
}

.strt .title_text_col {
    flex: 1 1 0;
    min-width: 0
}

.strt .title_pre {
    font-size: 16px;
    line-height: 1.55;
    color: #D5EAC4;
    margin-bottom: 16px;
    display: block
}

.strt .title_h1 {
    font-size: 40px;
    line-height: 1.1;
    color: #fff;
    margin-bottom: 16px
}

.strt .title_h1 span {
    color: #50A5F4
}

.strt .title_sub {
    font-size: 18px;
    line-height: 1.55;
    color: #a8c8e0;
    max-width: 520px
}

.strt .title_img_col {
    flex: 0 0 340px;
    position: relative
}

.strt .title_img_wrap {
    width: 340px;
    height: 220px;
    border-radius: 4px;
    overflow: hidden;
    position: relative
}

.strt .title_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: saturate(0.7) brightness(0.85);
    transition: filter .18s ease-out
}

.strt .title_img_wrap img:hover {
    filter: saturate(0.4) brightness(0.75)
}

.strt .title_img_grad {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, #0e22368c 0%, #0e223614 60%);
    pointer-events: none
}

.strt .approach_sec {
    padding: 96px 0 56px;
    background: #fff
}

.strt .approach_grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 28px
}

.strt .approach_card {
    background: #f4f8fc;
    border-radius: 22px;
    padding: 28px;
    box-shadow: 0 2px 4px 0 #50a5f40d;
    transition: box-shadow .15s ease-out, transform .18s cubic-bezier(0.4, 0, 0.6, 1);
    position: relative
}

.strt .approach_card:hover {
    box-shadow: 0 6px 25px 0 #50a5f41a;
    transform: scale(0.98)
}

.strt .approach_num {
    position: absolute;
    top: -16px;
    right: 16px;
    background: #50A5F4;
    color: #fff;
    font-size: 16px;
    line-height: 1.1;
    font-weight: 700;
    width: 36px;
    height: 36px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center
}

.strt .approach_icon {
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: #D5EAC4;
    border-radius: 4px
}

.strt .approach_card_h {
    font-size: 18px;
    line-height: 1.35;
    color: #0e2236;
    margin-bottom: 8px;
    font-weight: 700
}

.strt .dot_accent::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 2px;
    background: #50A5F4;
    margin-left: 6px;
    vertical-align: middle
}

.strt .approach_card_p {
    font-size: 16px;
    line-height: 1.55;
    color: #2d4a62
}

.strt .approach_head_row {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 28px;
    margin-bottom: 56px
}

.strt .approach_h2 {
    font-size: 40px;
    line-height: 1.1;
    color: #0e2236;
    flex: 1 1 0
}

.strt .approach_desc {
    flex: 0 0 400px;
    font-size: 16px;
    line-height: 1.55;
    color: #2d4a62
}

.strt .team_sec {
    padding: 96px 0;
    background: linear-gradient(127deg, #50A5F4 0%, #8F0213 100%);
    position: relative;
    animation: bg_breathe 8s ease-in-out infinite
}

@keyframes bg_breathe {

    0%,
    100% {
        filter: brightness(1)
    }

    50% {
        filter: brightness(1.07)
    }
}

.strt .team_sec_pattern {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden
}

.strt .team_sec_pattern svg {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    opacity: .09
}

.strt .team_layout {
    display: flex;
    flex-direction: row;
    gap: 56px;
    align-items: flex-start;
    position: relative;
    z-index: 1
}

.strt .team_text_col {
    flex: 1 1 0;
    min-width: 0
}

.strt .team_h2 {
    font-size: 40px;
    line-height: 1.1;
    color: #fff;
    margin-bottom: 16px
}

.strt .team_intro {
    font-size: 18px;
    line-height: 1.55;
    color: #f0f8ff;
    margin-bottom: 28px
}

.strt .team_body {
    font-size: 16px;
    line-height: 1.55;
    color: #e8f4fc;
    margin-bottom: 28px
}

.strt .team_portraits {
    display: flex;
    flex-direction: column;
    gap: 28px;
    flex: 0 0 260px
}

.strt .portrait_card {
    background: #ffffff1f;
    border-radius: 22px;
    padding: 16px;
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center;
    box-shadow: 0 2px 4px 0 #8f02130d;
    transition: background .15s ease-out
}

.strt .portrait_card:hover {
    background: #ffffff30
}

.strt .portrait_img_wrap {
    width: 72px;
    height: 90px;
    border-radius: 4px;
    overflow: hidden;
    flex-shrink: 0
}

.strt .portrait_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block;
    transition: filter .18s ease-out
}

.strt .portrait_img_wrap img:hover {
    filter: saturate(0)
}

.strt .portrait_name {
    font-size: 16px;
    line-height: 1.35;
    color: #fff;
    font-weight: 700
}

.strt .portrait_role {
    font-size: 16px;
    line-height: 1.55;
    color: #D5EAC4
}

.strt .team_stat_row {
    display: flex;
    flex-direction: row;
    gap: 28px;
    margin-top: 28px
}

.strt .team_stat {
    text-align: left
}

.strt .team_stat_num {
    font-size: 40px;
    line-height: 1.1;
    color: #D5EAC4;
    font-weight: 700
}

.strt .team_stat_label {
    font-size: 16px;
    line-height: 1.35;
    color: #e8f4fc
}

.strt .hesit_sec {
    padding: 96px 0;
    background: #f0f6fb
}

.strt .hesit_inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: center
}

.strt .hesit_img_wrap {
    width: 100%;
    aspect-ratio: 4/3;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 10px 60px 0 #50a5f424;
    position: relative
}

.strt .hesit_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: filter .2s ease-out
}

.strt .hesit_img_wrap img:hover {
    filter: saturate(0.3)
}

.strt .hesit_badge {
    position: absolute;
    top: 16px;
    left: 16px;
    background: #8F0213;
    color: #fff;
    font-size: 16px;
    line-height: 1.35;
    border-radius: 4px;
    padding: 8px 16px;
    font-weight: 700
}

.strt .hesit_text_col {
    min-width: 0
}

.strt .hesit_h2 {
    font-size: 28px;
    line-height: 1.35;
    color: #0e2236;
    margin-bottom: 16px
}

.strt .hesit_body {
    font-size: 16px;
    line-height: 1.55;
    color: #2d4a62;
    margin-bottom: 16px
}

.strt .hesit_quote {
    border-top: 2px dashed #50A5F4;
    padding-top: 16px;
    font-size: 18px;
    line-height: 1.55;
    color: #0e2236
}

.strt .cond_sec {
    padding: 56px 0;
    background: #0e2236
}

.strt .cond_header_row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 56px;
    margin-bottom: 56px
}

.strt .cond_h2 {
    font-size: 40px;
    line-height: 1.1;
    color: #fff;
    flex: 1 1 0
}

.strt .cond_intro {
    flex: 0 0 380px;
    font-size: 16px;
    line-height: 1.55;
    color: #a8c8e0
}

.strt .cond_cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px
}

.strt .cond_card {
    background: #50a5f417;
    border-radius: 22px;
    padding: 28px;
    position: relative;
    transition: background .15s ease-out
}

.strt .cond_card:hover {
    background: #50a5f429
}

.strt .cond_card_num {
    position: absolute;
    top: -12px;
    right: 16px;
    background: #D5EAC4;
    color: #0e2236;
    font-size: 16px;
    font-weight: 700;
    border-radius: 2px;
    padding: 4px 8px;
    line-height: 1.1
}

.strt .cond_card_h {
    font-size: 18px;
    line-height: 1.35;
    color: #fff;
    margin-bottom: 8px;
    font-weight: 700
}

.strt .cond_card_p {
    font-size: 16px;
    line-height: 1.55;
    color: #a8c8e0
}

.strt .ltv_sec {
    padding: 96px 0 56px;
    background: #fff
}

.strt .ltv_layout {
    display: grid;
    grid-template-columns: 5fr 4fr;
    gap: 56px;
    align-items: start
}

.strt .ltv_text_col {
    min-width: 0
}

.strt .ltv_h2 {
    font-size: 40px;
    line-height: 1.1;
    color: #0e2236;
    margin-bottom: 16px
}

.strt .ltv_lead {
    font-size: 18px;
    line-height: 1.55;
    color: #2d4a62;
    margin-bottom: 28px
}

.strt .ltv_body {
    font-size: 16px;
    line-height: 1.55;
    color: #2d4a62;
    margin-bottom: 28px
}

.strt .ltv_rows {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.strt .ltv_row_item {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
    padding: 16px;
    background: #f4f8fc;
    border-radius: 4px;
    transition: background .14s ease-out
}

.strt .ltv_row_item:hover {
    background: #e6f0fa
}

.strt .ltv_row_icon {
    width: 40px;
    height: 40px;
    border-radius: 4px;
    background: #50A5F4;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center
}

.strt .ltv_row_icon svg {
    display: block
}

.strt .ltv_row_h {
    font-size: 16px;
    line-height: 1.35;
    color: #0e2236;
    font-weight: 700;
    margin-bottom: 4px
}

.strt .ltv_row_p {
    font-size: 16px;
    line-height: 1.55;
    color: #2d4a62
}

.strt .ltv_img_col {
    position: relative
}

.strt .ltv_img_stack {
    position: relative;
    width: 100%
}

.strt .ltv_img_main {
    width: 100%;
    aspect-ratio: 3/4;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 6px 25px 0 #50a5f41a
}

.strt .ltv_img_main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: filter .2s ease-out
}

.strt .ltv_img_main img:hover {
    filter: saturate(0.3)
}

.strt .ltv_img_secondary {
    position: absolute;
    bottom: -28px;
    left: -28px;
    width: 55%;
    aspect-ratio: 4/3;
    border-radius: 4px;
    overflow: hidden;
    border: 4px solid #fff;
    box-shadow: 0 10px 60px 0 #50a5f424
}

.strt .ltv_img_secondary img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: filter .18s ease-out
}

.strt .ltv_img_secondary img:hover {
    filter: saturate(0.3)
}

.strt .after_sec {
    padding: 96px 0;
    background: #f0f6fb;
    position: relative
}

.strt .after_sec_wavy {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden
}

.strt .after_sec_wavy svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .07
}

.strt .after_inner {
    position: relative;
    z-index: 1
}

.strt .after_top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: end;
    margin-bottom: 56px
}

.strt .after_h2 {
    font-size: 40px;
    line-height: 1.1;
    color: #0e2236
}

.strt .after_lead {
    font-size: 18px;
    line-height: 1.55;
    color: #2d4a62
}

.strt .after_cards_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px
}

.strt .after_card {
    background: #fff;
    border-radius: 22px;
    padding: 28px;
    box-shadow: 0 2px 4px 0 #50a5f40d;
    transition: box-shadow .16s ease-out, transform .18s cubic-bezier(0.4, 0, 0.6, 1);
    position: relative;
    overflow: hidden
}

.strt .after_card::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(127deg, #50A5F4 0%, #8F0213 100%);
    border-radius: 22px 22px 0 0
}

.strt .after_card:hover {
    box-shadow: 0 10px 60px 0 #50a5f424;
    transform: scale(0.98)
}

.strt .after_card_num {
    position: absolute;
    top: 16px;
    right: 16px;
    font-size: 40px;
    line-height: 1.1;
    color: #D5EAC4;
    font-weight: 700
}

.strt .after_card_h {
    font-size: 18px;
    line-height: 1.35;
    color: #0e2236;
    font-weight: 700;
    margin-bottom: 8px;
    margin-top: 28px
}

.strt .after_card_p {
    font-size: 16px;
    line-height: 1.55;
    color: #2d4a62
}

.strt .after_img_band {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    margin-top: 56px
}

.strt .after_img_item {
    border-radius: 4px;
    overflow: hidden;
    aspect-ratio: 16/7
}

.strt .after_img_item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: filter .2s ease-out
}

.strt .after_img_item img:hover {
    filter: saturate(0.2)
}

@media (max-width: 1024px) {
    .strt .approach_grid {
        grid-template-columns: 1fr 1fr
    }

    .strt .cond_cards {
        grid-template-columns: 1fr 1fr
    }

    .strt .ltv_layout {
        grid-template-columns: 1fr
    }

    .strt .ltv_img_secondary {
        display: none
    }
}

@media (max-width: 768px) {
    .strt .title_band_inner {
        flex-direction: column;
        gap: 28px
    }

    .strt .title_img_col {
        flex: 0 0 auto;
        width: 100%
    }

    .strt .title_img_wrap {
        width: 100%;
        height: 180px
    }

    .strt .approach_head_row {
        flex-direction: column;
        gap: 16px
    }

    .strt .approach_desc {
        flex: none
    }

    .strt .approach_grid {
        grid-template-columns: 1fr
    }

    .strt .team_layout {
        flex-direction: column
    }

    .strt .team_portraits {
        flex-direction: row;
        flex: none;
        width: 100%
    }

    .strt .hesit_inner {
        grid-template-columns: 1fr
    }

    .strt .cond_header_row {
        flex-direction: column;
        gap: 16px
    }

    .strt .cond_intro {
        flex: none
    }

    .strt .cond_cards {
        grid-template-columns: 1fr
    }

    .strt .after_top {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .strt .after_cards_grid {
        grid-template-columns: 1fr
    }

    .strt .after_img_band {
        grid-template-columns: 1fr
    }

    .strt .team_stat_row {
        flex-direction: column;
        gap: 16px
    }

    .strt .title_h1 {
        font-size: 28px
    }

    .strt .approach_h2,
    .strt .team_h2,
    .strt .cond_h2,
    .strt .ltv_h2,
    .strt .after_h2 {
        font-size: 28px
    }
}

@media (max-width: 640px) {
    .strt .title_band {
        padding: 28px 0
    }

    .strt .approach_sec,
    .strt .team_sec,
    .strt .hesit_sec,
    .strt .ltv_sec,
    .strt .after_sec {
        padding: 56px 0
    }

    .strt .cond_sec {
        padding: 56px 0
    }

    .strt .team_portraits {
        flex-direction: column
    }

    .strt .portrait_card {
        width: 100%
    }
}

.success_page {
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 96px 28px;
    background: #fff
}

.success_page .success_card {
    max-width: 560px;
    width: 100%;
    background: #fff;
    border: 1px solid #D5EAC4;
    border-radius: 4px;
    padding: 56px;
    box-shadow: 0 6px 25px 0 #50a5f41a;
    text-align: center
}

.success_page .icon_wrap {
    width: 64px;
    height: 64px;
    margin: 0 auto 28px;
    background: #D5EAC4;
    border-radius: 22px;
    display: flex;
    align-items: center;
    justify-content: center
}

.success_page .icon_wrap svg {
    width: 32px;
    height: 32px;
    display: block
}

.success_page .success_heading {
    font-size: 28px;
    line-height: 1.35;
    color: #1b1b2e;
    margin-bottom: 16px
}

.success_page .success_text {
    font-size: 16px;
    line-height: 1.55;
    color: #3a3a4a;
    margin-bottom: 28px
}

.success_page .success_divider {
    width: 40px;
    height: 2px;
    background: #50A5F4;
    border-radius: 2px;
    margin: 0 auto 28px
}

.success_page .contact_note {
    font-size: 16px;
    line-height: 1.55;
    color: #3a3a4a;
    margin-bottom: 28px
}

.success_page .contact_note a {
    color: #8F0213;
    text-decoration: underline;
    transition: color .18s ease-out, opacity .15s ease-out
}

.success_page .contact_note a:hover {
    opacity: .72
}

.success_page .back_btn {
    display: inline-block;
    padding: 16px 28px;
    background: #50A5F4;
    color: #fff;
    font-size: 16px;
    line-height: 1.35;
    border-radius: 4px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background .18s ease-out, box-shadow .15s ease-out;
    box-shadow: 0 2px 4px 0 #50a5f40d
}

.success_page .back_btn:hover {
    background: #3a8fd4;
    box-shadow: 0 6px 25px 0 #50a5f41a
}

.success_page .back_btn:active {
    background: #2e7dbf
}

@media (max-width: 640px) {
    .success_page .success_card {
        padding: 28px 16px
    }
}