* {
    box-sizing: border-box
}

html {
    font-size: 100%
}

body {
    margin: 0;
    font-family: 'Arimo', sans-serif;
    background-color: #fff;
    color: #1a2233;
    overflow-x: hidden
}

.brand_accent {
    background: linear-gradient(135deg, #921259 0%, #04C9DC 100%);
    padding: 8px 32px;
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 64px
}

.brand_accent .logo_frame {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: 1px solid #ffffffb3;
    border-radius: 11px;
    background: #ffffff1a;
    flex-shrink: 0;
    box-shadow: 0 2px 5px 1px #04c9dc0f
}

.brand_accent .logo_frame img {
    width: 36px;
    height: 36px;
    object-fit: contain;
    display: block
}

.brand_name_group {
    display: flex;
    flex-direction: column;
    gap: 0
}

.brand_name_text {
    font-size: 23px;
    font-weight: 700;
    color: #fff;
    line-height: 1.15;
    letter-spacing: .04em;
    text-transform: uppercase
}

.brand_tagline {
    font-size: 13px;
    color: #ffffffd9;
    line-height: 1.15;
    font-style: italic
}

.header_shell {
    position: relative;
    background-color: #F9FAFB;
    border-bottom: 1px solid #9212591f;
    box-shadow: 0 6px 18px 1px #04c9dc14
}

.header_row {
    max-width: 1320px;
    margin: 0 auto;
    display: flex;
    align-items: stretch;
    min-height: 96px
}

.header_brand_col {
    background: linear-gradient(135deg, #921259 0%, #04C9DC 100%);
    display: flex;
    align-items: center;
    padding: 16px 32px;
    gap: 16px;
    flex-shrink: 0;
    border-radius: 0 0 20px 0;
    box-shadow: 0 9px 48px 1px #92125921
}

.header_brand_col .logo_wrap {
    width: 44px;
    height: 44px;
    border: 1px solid #ffffffbf;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff1f;
    flex-shrink: 0
}

.header_brand_col .logo_wrap img {
    width: 36px;
    height: 36px;
    object-fit: contain;
    display: block
}

.brand_text_stack {
    display: flex;
    flex-direction: column
}

.b_name {
    font-size: 23px;
    font-weight: 700;
    color: #fff;
    line-height: 1.15;
    letter-spacing: .05em;
    text-transform: uppercase;
    white-space: nowrap
}

.b_sub {
    font-size: 13px;
    color: #ffffffd1;
    line-height: 1.15;
    font-style: italic;
    white-space: nowrap
}

.header_nav_col {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 16px 32px;
    gap: 8px
}

.cert_badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #921259;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    border: 1px solid #92125940;
    border-radius: 34px;
    padding: 4px 16px;
    background: #9212590d;
    align-self: flex-end
}

.cert_badge svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0
}

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

.primary_nav li {
    display: flex
}

.primary_nav li a {
    font-size: 15px;
    font-weight: 700;
    color: #2d1a2e;
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 1px;
    border: 1px solid transparent;
    line-height: 1.15;
    transition: color .28s cubic-bezier(0.4, 0, 0.2, 1), border-color .28s cubic-bezier(0.4, 0, 0.2, 1), background-color .28s cubic-bezier(0.4, 0, 0.2, 1);
    display: block;
    white-space: nowrap
}

.primary_nav li a:hover {
    color: #921259;
    border-color: #92125959;
    background-color: #9212590a;
    outline: none
}

.primary_nav li a:focus-visible {
    outline: 2px solid #04C9DC;
    outline-offset: 2px;
    border-radius: 1px
}

.primary_nav li a.active_link {
    color: #04C9DC;
    border-color: #04c9dc66;
    background-color: #04c9dc0f
}

@media (max-width: 768px) {
    .header_row {
        flex-direction: column;
        min-height: auto
    }

    .header_brand_col {
        border-radius: 0;
        padding: 16px
    }

    .header_nav_col {
        padding: 16px
    }

    .cert_badge {
        align-self: flex-start
    }

    .primary_nav li a {
        font-size: 13px;
        padding: 8px
    }
}

@media (max-width: 390px) {
    .b_name {
        font-size: 15px
    }

    .b_sub {
        font-size: 13px
    }

    .header_nav_col {
        padding: 8px
    }
}

.site_footer {
    background-color: #2d1a2e;
    border-top: 3px solid #921259
}

.footer_inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 32px 32px 0;
    display: flex;
    align-items: flex-start;
    gap: 32px;
    flex-wrap: wrap;
    justify-content: space-between
}

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

.footer_logo_wrap {
    width: 44px;
    height: 44px;
    border: 1px solid #ffffff80;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff12;
    box-shadow: 0 2px 5px 1px #04c9dc0f
}

.footer_logo_wrap img {
    width: 36px;
    height: 36px;
    object-fit: contain;
    display: block
}

.footer_brand_tag {
    font-size: 13px;
    color: #fff9;
    font-style: italic;
    line-height: 1.65
}

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

.footer_contact_label {
    font-size: 13px;
    font-weight: 700;
    color: #04C9DC;
    text-transform: uppercase;
    letter-spacing: .08em;
    line-height: 1.15
}

.footer_contact_item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    color: #ffffffbf;
    line-height: 1.65;
    text-decoration: none;
    transition: color .25s ease-in-out
}

.footer_contact_item:hover {
    color: #04C9DC
}

.footer_contact_item:focus-visible {
    outline: 2px solid #04C9DC;
    outline-offset: 2px;
    border-radius: 1px
}

.footer_contact_item svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    color: #04C9DC
}

.footer_contact_plain {
    font-size: 15px;
    color: #ffffffa6;
    line-height: 1.65;
    display: flex;
    align-items: flex-start;
    gap: 8px
}

.footer_contact_plain svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    color: #04c9dcb3;
    margin-top: 3px
}

.footer_bottom {
    max-width: 1320px;
    margin: 0 auto;
    padding: 16px 32px;
    margin-top: 32px;
    border-top: 1px solid #ffffff1a;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: space-between
}

.footer_copy {
    font-size: 13px;
    color: #ffffff73;
    line-height: 1.65
}

.footer_legal_nav {
    display: flex;
    gap: 16px;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap
}

.footer_legal_nav li a {
    font-size: 13px;
    color: #ffffff80;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: color .25s ease-in-out, border-color .25s ease-in-out;
    line-height: 1.65;
    padding-bottom: 1px
}

.footer_legal_nav li a:hover {
    color: #04C9DC;
    border-bottom-color: #04c9dc80
}

.footer_legal_nav li a:focus-visible {
    outline: 2px solid #04C9DC;
    outline-offset: 2px;
    border-radius: 1px
}

@media (max-width: 768px) {
    .footer_inner {
        flex-direction: column;
        padding: 32px 16px 0;
        gap: 32px
    }

    .footer_bottom {
        padding: 16px;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px
    }
}

@media (max-width: 390px) {
    .footer_inner {
        padding: 16px 8px 0
    }

    .footer_bottom {
        padding: 16px 8px
    }
}

.ck_popup {
    position: fixed;
    top: 32px;
    right: 32px;
    width: 340px;
    background: #fff;
    border-radius: 11px;
    border: 1px solid #9212592e;
    box-shadow: 0 9px 48px 1px #92125921;
    z-index: 4000;
    font-family: 'Arimo', sans-serif;
    display: none;
    transform: translateX(110%);
    transition: transform .26s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden
}

.ck_popup.ck_visible {
    transform: translateX(0)
}

.ck_body {
    padding: 16px
}

.ck_desc {
    font-size: 13px;
    color: #2d1a2e;
    line-height: 1.65;
    margin-bottom: 8px
}

.ck_headline {
    font-size: 15px;
    font-weight: 700;
    color: #2d1a2e;
    line-height: 1.15;
    margin-bottom: 16px
}

.ck_panel {
    display: none;
    padding-top: 8px;
    border-top: 1px solid #9212591a;
    margin-top: 8px
}

.ck_panel.ck_open {
    display: block
}

.ck_toggle_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px
}

.ck_toggle_label {
    font-size: 13px;
    color: #2d1a2e;
    line-height: 1.65;
    flex: 1
}

.ck_switch {
    position: relative;
    width: 40px;
    height: 22px;
    flex-shrink: 0
}

.ck_switch input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute
}

.ck_slider {
    position: absolute;
    inset: 0;
    background: #92125926;
    border-radius: 34px;
    cursor: pointer;
    transition: background-color .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.ck_slider::before {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    left: 3px;
    top: 3px;
    background: #921259;
    border-radius: 34px;
    transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.ck_switch input:checked+.ck_slider {
    background: #04c9dc33
}

.ck_switch input:checked+.ck_slider::before {
    transform: translateX(18px);
    background: #04C9DC
}

.ck_switch input:focus-visible+.ck_slider {
    outline: 2px solid #04C9DC;
    outline-offset: 2px
}

.ck_datasale_note {
    font-size: 13px;
    color: #921259;
    line-height: 1.65;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #9212591a
}

.ck_datasale_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 8px
}

.ck_datasale_label {
    font-size: 13px;
    font-weight: 700;
    color: #921259;
    line-height: 1.65;
    flex: 1
}

.ck_btns {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    padding: 16px;
    border-top: 1px solid #92125914;
    background: #f9fafbb3
}

.ck_btn {
    flex: 1;
    min-width: 80px;
    font-family: 'Arimo', sans-serif;
    font-size: 13px;
    font-weight: 700;
    padding: 8px 16px;
    border-radius: 20px;
    border: 1px solid #921259;
    background: transparent;
    color: #921259;
    cursor: pointer;
    line-height: 1.15;
    text-align: center;
    transition: background-color .28s cubic-bezier(0.4, 0, 0.2, 1), color .28s cubic-bezier(0.4, 0, 0.2, 1), width .28s cubic-bezier(0.4, 0, 0.2, 1);
    min-height: 44px
}

.ck_btn:hover {
    background: #921259;
    color: #fff;
    outline: none
}

.ck_btn:focus-visible {
    outline: 2px solid #04C9DC;
    outline-offset: 2px
}

.ck_btn_manage {
    border-color: #92125966;
    color: #921259b3
}

.ck_btn_manage:hover {
    background: #92125914;
    color: #921259
}

@media (max-width: 390px) {
    .ck_popup {
        right: 8px;
        left: 8px;
        width: auto;
        top: 16px
    }
}

.policy-details {
    max-width: 1320px;
    margin: 0 auto;
    padding: 64px 32px
}

.policy-details h1 {
    font-size: 62px;
    line-height: 1.15;
    color: #921259;
    margin-bottom: 32px;
    margin-top: 0
}

.policy-details h2 {
    font-size: 45px;
    line-height: 1.15;
    color: #921259;
    margin-top: 64px;
    margin-bottom: 32px
}

.policy-details h3 {
    font-size: 32px;
    line-height: 1.15;
    color: #2d1a26;
    margin-top: 64px;
    margin-bottom: 16px
}

.policy-details h4 {
    font-size: 23px;
    line-height: 1.15;
    color: #2d1a26;
    margin-top: 32px;
    margin-bottom: 16px
}

.policy-details h5 {
    font-size: 15px;
    line-height: 1.65;
    color: #2d1a26;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-top: 32px;
    margin-bottom: 8px
}

.policy-details h6 {
    font-size: 13px;
    line-height: 1.65;
    color: #4a2a3d;
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-top: 32px;
    margin-bottom: 8px
}

.policy-details p {
    font-size: 15px;
    line-height: 1.65;
    color: #1e1118;
    margin-top: 0;
    margin-bottom: 16px;
    max-width: 72ch
}

.policy-details ul {
    margin-top: 0;
    margin-bottom: 16px;
    padding-left: 32px;
    list-style: none
}

.policy-details ol {
    margin-top: 0;
    margin-bottom: 16px;
    padding-left: 32px;
    list-style: decimal
}

.policy-details ul li {
    font-size: 15px;
    line-height: 1.65;
    color: #1e1118;
    margin-bottom: 8px;
    padding-left: 16px;
    position: relative
}

.policy-details ul li::before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 1px;
    background-color: #04C9DC;
    position: absolute;
    left: 0;
    top: .6em;
    transform: translateY(-50%)
}

.policy-details ol li {
    font-size: 15px;
    line-height: 1.65;
    color: #1e1118;
    margin-bottom: 8px;
    padding-left: 8px
}

.policy-details ol li::marker {
    color: #921259;
    font-size: 13px
}

.policy-details strong,
.policy-details b {
    font-weight: 700;
    color: #1e1118
}

.policy-details em,
.policy-details i {
    font-style: italic;
    color: #3a1a2e
}

.policy-details table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 32px;
    margin-bottom: 32px;
    font-size: 15px;
    line-height: 1.65;
    border-radius: 11px;
    overflow: hidden;
    box-shadow: 0 2px 5px 1px #04c9dc0f
}

.policy-details thead {
    background-color: #921259
}

.policy-details thead th {
    color: #F9FAFB;
    font-size: 13px;
    line-height: 1.65;
    text-transform: uppercase;
    letter-spacing: .08em;
    padding: 16px;
    text-align: left;
    font-weight: 700
}

.policy-details tbody tr {
    border-bottom: 1px solid #04c9dc26;
    transition: background-color .28s ease-in-out
}

.policy-details tbody tr:last-child {
    border-bottom: none
}

.policy-details tbody tr:nth-child(even) {
    background-color: #04c9dc0a
}

.policy-details tbody tr:hover {
    background-color: #04c9dc14
}

.policy-details td {
    color: #1e1118;
    padding: 16px;
    vertical-align: top
}

.policy-details th {
    padding: 16px;
    vertical-align: middle
}

.policy-details hr {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent, #9212594d, #04c9dc4d, transparent);
    margin-top: 64px;
    margin-bottom: 64px
}

@media (max-width: 768px) {
    .policy-details {
        padding: 32px 16px
    }

    .policy-details h1 {
        font-size: 45px
    }

    .policy-details h2 {
        font-size: 32px;
        margin-top: 32px
    }

    .policy-details h3 {
        font-size: 23px;
        margin-top: 32px
    }

    .policy-details h4 {
        font-size: 15px
    }

    .policy-details table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }

    .policy-details hr {
        margin-top: 32px;
        margin-bottom: 32px
    }
}

@media (max-width: 390px) {
    .policy-details {
        padding: 32px 8px
    }

    .policy-details h1 {
        font-size: 32px
    }

    .policy-details h2 {
        font-size: 23px
    }

    .policy-details h3 {
        font-size: 15px
    }

    .policy-details p,
    .policy-details ul li,
    .policy-details ol li,
    .policy-details td {
        font-size: 13px
    }
}

.lrn-prog {
    background: #F9FAFB;
    overflow-x: clip
}

.lrn-prog .prog-divider {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 0 32px;
    max-width: 1320px;
    margin: 0 auto
}

.lrn-prog .prog-divider span {
    flex: 1;
    height: 1px;
    background: #e2e8f0
}

.lrn-prog .prog-divider em {
    display: block;
    width: 48px;
    height: 3px;
    background: #04C9DC;
    border-radius: 1px;
    font-style: normal
}

.lrn-prog .prog-divider-alt {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 0 32px;
    max-width: 1320px;
    margin: 0 auto
}

.lrn-prog .prog-divider-alt span {
    flex: 1;
    height: 1px;
    background: #9212592e
}

.lrn-prog .prog-divider-alt em {
    display: block;
    width: 48px;
    height: 3px;
    background: #921259;
    border-radius: 1px;
    font-style: normal
}

.lrn-prog .title-band {
    max-width: 1320px;
    margin: 0 auto;
    padding: 64px 32px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: start
}

.lrn-prog .title-img-col {
    position: relative
}

.lrn-prog .title-img-frame {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 9px 48px 1px #04c9dc21
}

.lrn-prog .title-img-frame img {
    width: 100%;
    height: auto;
    display: block;
    filter: grayscale(100%) contrast(1.12);
    object-fit: cover;
    border-radius: 20px
}

.lrn-prog .title-img-border {
    position: absolute;
    top: 16px;
    left: 16px;
    right: -16px;
    bottom: -16px;
    border: 2px solid #04c9dc59;
    border-radius: 20px;
    pointer-events: none;
    z-index: 0
}

.lrn-prog .title-img-frame {
    position: relative;
    z-index: 1
}

.lrn-prog .wave-sep {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    margin-top: 8px
}

.lrn-prog .wave-sep svg {
    display: block;
    width: 100%
}

.lrn-prog .title-text-col {
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding-top: 16px
}

.lrn-prog .prog-label-dot {
    display: inline-flex;
    align-items: center;
    gap: 8px
}

.lrn-prog .prog-label-dot .dot {
    width: 10px;
    height: 10px;
    border-radius: 34px;
    background: #04C9DC;
    display: inline-block;
    flex-shrink: 0
}

.lrn-prog .prog-label-dot .cat-label {
    font-size: 13px;
    color: #921259;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 600
}

.lrn-prog .title-heading {
    font-size: 45px;
    line-height: 1.15;
    font-weight: 800;
    margin: 0;
    background: linear-gradient(135deg, #921259, #fff 140%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

@keyframes splitReveal {
    from {
        letter-spacing: .35em;
        opacity: 0
    }

    to {
        letter-spacing: normal;
        opacity: 1
    }
}

.lrn-prog .title-heading {
    animation: splitReveal .55s cubic-bezier(0.4, 0, 0.2, 1) both
}

.lrn-prog .title-desc {
    font-size: 15px;
    line-height: 1.65;
    color: #2d3748;
    margin: 0
}

.lrn-prog .title-meta-row {
    display: flex;
    flex-direction: row;
    gap: 32px;
    flex-wrap: wrap
}

.lrn-prog .meta-item {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.lrn-prog .meta-item .meta-val {
    font-size: 23px;
    font-weight: 700;
    color: #04C9DC;
    line-height: 1.15
}

.lrn-prog .meta-item .meta-key {
    font-size: 13px;
    color: #4a5568;
    text-transform: uppercase;
    letter-spacing: .07em
}

.lrn-prog .title-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #921259;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    padding: 16px 32px;
    border-radius: 11px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    align-self: flex-start;
    box-shadow: 0 6px 18px 1px #92125914;
    transition: background .28s ease-in-out, padding .28s ease-in-out, box-shadow .28s ease-in-out
}

.lrn-prog .title-cta-btn:hover {
    background: #7a0f4a;
    padding: 16px 40px;
    box-shadow: 0 9px 48px 1px #92125921
}

.lrn-prog .title-cta-btn:focus-visible {
    outline: 3px solid #04C9DC;
    outline-offset: 3px
}

.lrn-prog .modules-band {
    background: #fff;
    padding: 64px 0
}

.lrn-prog .modules-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px
}

.lrn-prog .band-heading {
    font-size: 32px;
    line-height: 1.15;
    font-weight: 700;
    margin: 0 0 8px;
    background: linear-gradient(135deg, #921259, #fff 160%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.lrn-prog .band-sub {
    font-size: 15px;
    color: #4a5568;
    line-height: 1.65;
    margin: 0 0 32px;
    max-width: 640px
}

.lrn-prog .modules-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px
}

.lrn-prog .mod-card {
    background: #F9FAFB;
    border-radius: 20px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: 0 2px 5px 1px #04c9dc0f;
    transition: box-shadow .32s ease-in-out, transform .32s ease-in-out;
    position: relative;
    overflow: hidden
}

.lrn-prog .mod-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #04C9DC, #921259);
    border-radius: 20px 20px 0 0;
    opacity: 0;
    transition: opacity .32s ease-in-out
}

.lrn-prog .mod-card:hover {
    box-shadow: 0 9px 48px 1px #04c9dc21;
    transform: translateY(-4px)
}

.lrn-prog .mod-card:hover::before {
    opacity: 1
}

.lrn-prog .mod-num {
    font-size: 13px;
    font-weight: 700;
    color: #04C9DC;
    text-transform: uppercase;
    letter-spacing: .1em
}

.lrn-prog .mod-icon-wrap {
    width: 44px;
    height: 44px;
    border-radius: 11px;
    background: linear-gradient(135deg, #04c9dc1f, #92125914);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.lrn-prog .mod-icon-wrap svg {
    width: 22px;
    height: 22px;
    stroke: #921259;
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round
}

.lrn-prog .mod-title {
    font-size: 15px;
    font-weight: 700;
    color: #1a202c;
    margin: 0;
    line-height: 1.15
}

.lrn-prog .mod-text {
    font-size: 13px;
    color: #4a5568;
    line-height: 1.65;
    margin: 0
}

.lrn-prog .mod-topics {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.lrn-prog .mod-topics li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    color: #2d3748;
    line-height: 1.65
}

.lrn-prog .mod-topics li .topic-dot {
    width: 6px;
    height: 6px;
    border-radius: 34px;
    background: #04C9DC;
    flex-shrink: 0;
    margin-top: 7px
}

.lrn-prog .process-band {
    background: linear-gradient(160deg, #04c9dc0a 0%, #9212590a 100%);
    padding: 96px 0 64px
}

.lrn-prog .process-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px
}

.lrn-prog .process-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: start
}

.lrn-prog .process-steps {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.lrn-prog .step-row {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start
}

.lrn-prog .step-idx {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    background: #921259;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 6px 18px 1px #92125914
}

.lrn-prog .step-body {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.lrn-prog .step-title {
    font-size: 15px;
    font-weight: 700;
    color: #1a202c;
    margin: 0;
    line-height: 1.15
}

.lrn-prog .step-desc {
    font-size: 13px;
    color: #4a5568;
    line-height: 1.65;
    margin: 0
}

.lrn-prog .result-preview {
    background: #fff;
    border-radius: 20px;
    padding: 32px;
    box-shadow: 0 6px 18px 1px #04c9dc14;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.lrn-prog .preview-label {
    display: flex;
    align-items: center;
    gap: 8px
}

.lrn-prog .preview-label .dot {
    width: 10px;
    height: 10px;
    border-radius: 34px;
    background: #921259
}

.lrn-prog .preview-label span {
    font-size: 13px;
    color: #921259;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em
}

.lrn-prog .preview-title {
    font-size: 23px;
    font-weight: 700;
    color: #1a202c;
    line-height: 1.15;
    margin: 0
}

.lrn-prog .preview-skills {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.lrn-prog .skill-chip {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #04c9dc12;
    border-radius: 11px;
    padding: 8px 16px;
    font-size: 13px;
    color: #2d3748;
    font-weight: 500;
    transition: background .27s ease-in-out
}

.lrn-prog .skill-chip:hover {
    background: #04c9dc24
}

.lrn-prog .skill-chip svg {
    width: 16px;
    height: 16px;
    stroke: #04C9DC;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex-shrink: 0
}

.lrn-prog .preview-bar-group {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.lrn-prog .bar-item {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.lrn-prog .bar-label-row {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.lrn-prog .bar-label-row span {
    font-size: 13px;
    color: #4a5568
}

.lrn-prog .bar-label-row strong {
    font-size: 13px;
    color: #921259;
    font-weight: 700
}

.lrn-prog .bar-track {
    height: 6px;
    background: #04c9dc1a;
    border-radius: 34px;
    overflow: hidden
}

.lrn-prog .bar-fill {
    height: 100%;
    border-radius: 34px;
    background: linear-gradient(90deg, #04C9DC, #921259)
}

.lrn-prog .instructors-band {
    background: #fff;
    padding: 64px 0
}

.lrn-prog .instructors-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px
}

.lrn-prog .instr-layout {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 64px;
    align-items: start
}

.lrn-prog .instr-left {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.lrn-prog .instr-cards {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.lrn-prog .instr-card {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
    background: #F9FAFB;
    border-radius: 20px;
    padding: 32px;
    box-shadow: 0 2px 5px 1px #04c9dc0f;
    transition: box-shadow .35s ease-in-out
}

.lrn-prog .instr-card:hover {
    box-shadow: 0 9px 48px 1px #04c9dc21
}

.lrn-prog .instr-portrait {
    width: 80px;
    height: 107px;
    border-radius: 11px;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 6px 18px 1px #92125914
}

.lrn-prog .instr-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.lrn-prog .instr-info {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.lrn-prog .instr-name {
    font-size: 15px;
    font-weight: 700;
    color: #1a202c;
    margin: 0;
    line-height: 1.15
}

.lrn-prog .instr-role {
    font-size: 13px;
    color: #921259;
    font-weight: 600;
    margin: 0
}

.lrn-prog .instr-bio {
    font-size: 13px;
    color: #4a5568;
    line-height: 1.65;
    margin: 0
}

.lrn-prog .faq-band {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.lrn-prog .faq-heading {
    font-size: 32px;
    line-height: 1.15;
    font-weight: 700;
    margin: 0 0 8px;
    background: linear-gradient(135deg, #921259, #fff 160%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.lrn-prog .faq-sub {
    font-size: 15px;
    color: #4a5568;
    line-height: 1.65;
    margin: 0 0 32px
}

.lrn-prog .faq-item {
    border: 1px solid #04c9dc2e;
    border-radius: 11px;
    overflow: hidden
}

.lrn-prog .faq-item summary {
    list-style: none;
    padding: 16px 32px;
    font-size: 15px;
    font-weight: 600;
    color: #1a202c;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    transition: background .27s ease-in-out
}

.lrn-prog .faq-item summary::-webkit-details-marker {
    display: none
}

.lrn-prog .faq-item summary:hover {
    background: #04c9dc0d
}

.lrn-prog .faq-item summary:focus-visible {
    outline: 3px solid #04C9DC;
    outline-offset: -3px
}

.lrn-prog .faq-chevron {
    width: 18px;
    height: 18px;
    stroke: #04C9DC;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex-shrink: 0;
    transition: transform .27s ease-in-out
}

.lrn-prog .faq-item[open] .faq-chevron {
    transform: rotate(180deg)
}

.lrn-prog .faq-body {
    padding: 0 32px 16px;
    font-size: 13px;
    color: #4a5568;
    line-height: 1.65
}

.lrn-prog .faq-body p {
    margin: 0
}

@media (max-width: 1280px) {
    .lrn-prog .modules-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .lrn-prog .title-band {
        gap: 32px
    }

    .lrn-prog .title-heading {
        font-size: 45px
    }
}

@media (max-width: 768px) {
    .lrn-prog .title-band {
        grid-template-columns: 1fr;
        padding: 32px 16px;
        gap: 32px
    }

    .lrn-prog .title-img-border {
        display: none
    }

    .lrn-prog .title-heading {
        font-size: 32px
    }

    .lrn-prog .modules-grid {
        grid-template-columns: 1fr
    }

    .lrn-prog .modules-inner {
        padding: 0 16px
    }

    .lrn-prog .process-layout {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .lrn-prog .process-inner {
        padding: 0 16px
    }

    .lrn-prog .instr-layout {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .lrn-prog .instructors-inner {
        padding: 0 16px
    }

    .lrn-prog .preview-skills {
        grid-template-columns: 1fr
    }

    .lrn-prog .prog-divider {
        padding: 0 16px
    }

    .lrn-prog .prog-divider-alt {
        padding: 0 16px
    }

    .lrn-prog .title-meta-row {
        gap: 16px
    }

    .lrn-prog .faq-item summary {
        padding: 16px
    }

    .lrn-prog .faq-body {
        padding: 0 16px 16px
    }
}

@media (max-width: 390px) {
    .lrn-prog .title-heading {
        font-size: 32px
    }

    .lrn-prog .band-heading,
    .lrn-prog .faq-heading {
        font-size: 23px
    }

    .lrn-prog .instr-card {
        flex-direction: column
    }

    .lrn-prog .title-meta-row {
        flex-direction: column;
        gap: 16px
    }
}

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

.entr .pg_wrap {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px
}

.entr .title_block {
    background: #F9FAFB;
    padding: 96px 0 64px;
    position: relative
}

.entr .title_block::after {
    content: '';
    position: absolute;
    right: 0;
    top: 16%;
    bottom: 16%;
    width: 3px;
    background: linear-gradient(to bottom, transparent, #04C9DC, transparent);
    border-radius: 1px
}

.entr .tb_grid {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 64px;
    align-items: start
}

.entr .tb_img_col {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-top: 8px
}

.entr .tb_img_wrap {
    width: 200px;
    height: 260px;
    border-radius: 11px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 6px 18px 1px #04c9dc14
}

.entr .tb_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: grayscale(100%) contrast(1.15);
    display: block
}

.entr .tb_dots {
    display: grid;
    grid-template-columns: repeat(5, 10px);
    gap: 8px;
    padding-left: 8px
}

.entr .tb_dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #04C9DC;
    opacity: .25
}

.entr .tb_dot:nth-child(2) {
    opacity: .45
}

.entr .tb_dot:nth-child(3) {
    opacity: .65
}

.entr .tb_dot:nth-child(4) {
    opacity: .35
}

.entr .tb_dot:nth-child(5) {
    opacity: .55
}

.entr .tb_dots_row2 {
    margin-top: -8px
}

.entr .tb_dots_row2 .tb_dot:nth-child(1) {
    opacity: .55
}

.entr .tb_dots_row2 .tb_dot:nth-child(2) {
    opacity: .3
}

.entr .tb_dots_row2 .tb_dot:nth-child(3) {
    opacity: .5
}

.entr .tb_dots_row2 .tb_dot:nth-child(4) {
    opacity: .7
}

.entr .tb_dots_row2 .tb_dot:nth-child(5) {
    opacity: .4
}

.entr .tb_text_col {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.entr .tb_label {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #921259;
    border: 1.5px solid #9212594d;
    border-radius: 1px;
    padding: 8px 16px;
    width: fit-content
}

.entr .tb_heading {
    font-size: 62px;
    line-height: 1.15;
    font-weight: 800;
    color: #1a2332;
    margin: 0;
    letter-spacing: -.01em
}

.entr .tb_heading .accented {
    background: linear-gradient(135deg, #921259, #04C9DC);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.entr .tb_sub {
    font-size: 23px;
    line-height: 1.65;
    color: #2c3a4a;
    margin: 0;
    max-width: 560px
}

.entr .tb_meta {
    display: flex;
    flex-direction: row;
    gap: 32px;
    align-items: center;
    padding-top: 8px;
    border-top: 1px solid #04c9dc33
}

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

.entr .tb_stat_num {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.15;
    color: #921259
}

.entr .tb_stat_label {
    font-size: 13px;
    line-height: 1.65;
    color: #4a5568
}

.entr .audience_block {
    background: #fff;
    padding: 96px 0;
    position: relative
}

.entr .audience_block::before {
    content: '';
    display: block;
    height: 1px;
    background: linear-gradient(to right, transparent, #04c9dc59, transparent);
    margin-bottom: 96px;
    margin-top: -96px
}

.entr .aud_inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: start
}

.entr .aud_left {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.entr .sec_label {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #04C9DC
}

.entr .aud_heading {
    font-size: 45px;
    line-height: 1.15;
    font-weight: 700;
    margin: 0;
    color: #1a2332
}

.entr .aud_heading span {
    background: linear-gradient(135deg, #921259, #04C9DC);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.entr .aud_para {
    font-size: 15px;
    line-height: 1.65;
    color: #2c3a4a;
    margin: 0
}

.entr .aud_para .para_num {
    font-weight: 700;
    color: #921259;
    margin-right: 8px
}

.entr .aud_img_wrap {
    width: 100%;
    aspect-ratio: 4/5;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 9px 48px 1px #92125921;
    position: relative
}

.entr .aud_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .38s cubic-bezier(0.4, 0, 0.2, 1)
}

.entr .aud_img_wrap:hover img {
    transform: scale(1.04)
}

.entr .aud_right {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.entr .fit_list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    list-style: none;
    padding: 0;
    margin: 0
}

.entr .fit_item {
    display: grid;
    grid-template-columns: 32px 1fr;
    gap: 16px;
    align-items: start;
    padding: 16px;
    border: 1.5px solid #04c9dc26;
    border-radius: 11px;
    transition: border-color .28s ease-in-out, box-shadow .28s ease-in-out
}

.entr .fit_item:hover {
    border-style: dashed;
    border-color: #04C9DC;
    box-shadow: 0 2px 5px 1px #04c9dc0f
}

.entr .fit_icon_box {
    width: 32px;
    height: 32px;
    border: 1.5px solid #92125959;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.entr .fit_icon_box svg {
    width: 16px;
    height: 16px
}

.entr .fit_text {
    font-size: 15px;
    line-height: 1.65;
    color: #2c3a4a
}

.entr .fit_text strong {
    color: #1a2332;
    display: block;
    font-size: 15px;
    margin-bottom: 4px
}

.entr .not_fit_block {
    padding: 16px;
    background: #04c9dc0d;
    border-radius: 11px;
    border: 1px solid #04c9dc1f
}

.entr .not_fit_label {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #921259;
    margin-bottom: 8px;
    display: block
}

.entr .not_fit_text {
    font-size: 15px;
    line-height: 1.65;
    color: #4a5568;
    margin: 0
}

.entr .support_block {
    padding: 96px 0;
    background: #e8f9fb;
    position: relative
}

.entr .support_block::before {
    content: '';
    display: block;
    height: 2px;
    background: linear-gradient(to right, transparent, #04c9dc80, transparent);
    margin-bottom: 96px;
    margin-top: -96px
}

.entr .blueprint_bg {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(#04c9dc12 1px, transparent 1px), linear-gradient(90deg, #04c9dc12 1px, transparent 1px);
    background-size: 32px 32px;
    pointer-events: none
}

.entr .sup_inner {
    position: relative;
    z-index: 1
}

.entr .sup_top {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 64px;
    max-width: 640px
}

.entr .sup_heading {
    font-size: 45px;
    line-height: 1.15;
    font-weight: 700;
    margin: 0;
    color: #1a2332
}

.entr .sup_heading span {
    background: linear-gradient(135deg, #921259, #04C9DC);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.entr .sup_intro {
    font-size: 15px;
    line-height: 1.65;
    color: #2c3a4a;
    margin: 0
}

.entr .steps_path {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative
}

.entr .steps_path::before {
    content: '';
    position: absolute;
    left: 23px;
    top: 48px;
    bottom: 48px;
    width: 2px;
    background: linear-gradient(to bottom, #04C9DC, #921259);
    border-radius: 1px
}

.entr .step_row {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 32px;
    align-items: start;
    padding: 32px 0;
    position: relative
}

.entr .step_row:not(:last-child) {
    border-bottom: 1px solid #04c9dc1f
}

.entr .step_num {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #04C9DC;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 700;
    color: #921259;
    flex-shrink: 0;
    box-shadow: 0 2px 5px 1px #04c9dc0f;
    position: relative;
    z-index: 1;
    transition: background .32s cubic-bezier(0.4, 0, 0.2, 1), border-color .32s cubic-bezier(0.4, 0, 0.2, 1)
}

.entr .step_row:hover .step_num {
    background: #04C9DC;
    border-color: #04C9DC;
    color: #fff
}

.entr .step_body {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 8px
}

.entr .step_title {
    font-size: 23px;
    line-height: 1.15;
    font-weight: 600;
    color: #1a2332;
    margin: 0
}

.entr .step_desc {
    font-size: 15px;
    line-height: 1.65;
    color: #2c3a4a;
    margin: 0
}

.entr .sup_quote {
    margin-top: 64px;
    padding: 32px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 6px 18px 1px #04c9dc14;
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 32px;
    align-items: start
}

.entr .quote_portrait {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid #04c9dc4d
}

.entr .quote_portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

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

.entr .quote_text {
    font-size: 15px;
    line-height: 1.65;
    color: #2c3a4a;
    margin: 0
}

.entr .quote_accent {
    font-weight: 700;
    color: #921259
}

.entr .quote_attr {
    font-size: 13px;
    color: #4a5568;
    margin: 0
}

.entr .proof_block {
    background: #fff;
    padding: 96px 0 64px;
    position: relative
}

.entr .proof_block::before {
    content: '';
    display: block;
    height: 1px;
    background: linear-gradient(to right, transparent, #92125940, transparent);
    margin-bottom: 96px;
    margin-top: -96px
}

.entr .proof_grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 32px;
    align-items: start
}

.entr .proof_col_main {
    grid-column: 1 / 3;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.entr .proof_heading {
    font-size: 45px;
    line-height: 1.15;
    font-weight: 700;
    margin: 0;
    color: #1a2332
}

.entr .proof_heading span {
    background: linear-gradient(135deg, #921259, #04C9DC);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.entr .proof_para {
    font-size: 15px;
    line-height: 1.65;
    color: #2c3a4a;
    margin: 0
}

.entr .proof_para .para_num {
    font-weight: 700;
    color: #921259;
    margin-right: 8px
}

.entr .proof_img_pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.entr .proof_img_box {
    border-radius: 11px;
    overflow: hidden;
    box-shadow: 0 2px 5px 1px #04c9dc0f;
    transition: box-shadow .35s ease-in-out
}

.entr .proof_img_box:hover {
    box-shadow: 0 9px 48px 1px #04c9dc21
}

.entr .proof_img_box img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .35s ease-in-out
}

.entr .proof_img_box:hover img {
    transform: scale(1.05)
}

.entr .proof_col_side {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.entr .proof_card {
    padding: 32px;
    border: 1.5px solid #04c9dc2e;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: border-color .28s ease-in-out, box-shadow .28s ease-in-out
}

.entr .proof_card:hover {
    border-style: dashed;
    border-color: #921259;
    box-shadow: 0 6px 18px 1px #92125914
}

.entr .proof_card_icon {
    width: 40px;
    height: 40px;
    border: 1.5px solid #04c9dc66;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center
}

.entr .proof_card_icon svg {
    width: 20px;
    height: 20px
}

.entr .proof_card_title {
    font-size: 15px;
    font-weight: 700;
    color: #1a2332;
    margin: 0
}

.entr .proof_card_text {
    font-size: 15px;
    line-height: 1.65;
    color: #4a5568;
    margin: 0
}

.entr .proof_portrait_wrap {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 16px;
    align-items: center;
    padding: 16px;
    background: #f9fafbff;
    border-radius: 11px;
    border: 1px solid #04c9dc1f
}

.entr .proof_portrait {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid #92125940
}

.entr .proof_portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.entr .proof_person_name {
    font-size: 15px;
    font-weight: 600;
    color: #1a2332;
    display: block
}

.entr .proof_person_role {
    font-size: 13px;
    color: #4a5568;
    display: block
}

.entr .fit_item {
    animation: item_scale_in .36s cubic-bezier(0.4, 0, 0.2, 1) both
}

.entr .fit_item:nth-child(1) {
    animation-delay: .05s
}

.entr .fit_item:nth-child(2) {
    animation-delay: .12s
}

.entr .fit_item:nth-child(3) {
    animation-delay: .19s
}

.entr .fit_item:nth-child(4) {
    animation-delay: .26s
}

@keyframes item_scale_in {
    from {
        transform: scale(0.96);
        opacity: 0
    }

    to {
        transform: scale(1);
        opacity: 1
    }
}

@media (max-width: 1280px) {
    .entr .tb_heading {
        font-size: 45px
    }

    .entr .proof_grid {
        grid-template-columns: 1fr 1fr
    }

    .entr .proof_col_main {
        grid-column: 1 / 2
    }

    .entr .proof_col_side {
        grid-column: 2 / 3
    }
}

@media (max-width: 768px) {
    .entr .pg_wrap {
        padding: 0 16px
    }

    .entr .title_block {
        padding: 64px 0 48px
    }

    .entr .tb_grid {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .entr .tb_img_col {
        flex-direction: row;
        align-items: flex-start
    }

    .entr .tb_img_wrap {
        width: 140px;
        height: 180px
    }

    .entr .tb_heading {
        font-size: 32px
    }

    .entr .tb_sub {
        font-size: 15px
    }

    .entr .tb_meta {
        flex-wrap: wrap;
        gap: 16px
    }

    .entr .audience_block {
        padding: 64px 0
    }

    .entr .aud_inner {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .entr .aud_heading {
        font-size: 32px
    }

    .entr .aud_img_wrap {
        aspect-ratio: 16/9
    }

    .entr .support_block {
        padding: 64px 0
    }

    .entr .sup_heading {
        font-size: 32px
    }

    .entr .sup_quote {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .entr .steps_path::before {
        display: none
    }

    .entr .proof_block {
        padding: 64px 0 48px
    }

    .entr .proof_grid {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .entr .proof_col_main {
        grid-column: 1 / 2
    }

    .entr .proof_col_side {
        grid-column: 1 / 2
    }

    .entr .proof_heading {
        font-size: 32px
    }

    .entr .proof_img_pair {
        grid-template-columns: 1fr
    }
}

@media (max-width: 390px) {
    .entr .tb_heading {
        font-size: 32px
    }

    .entr .tb_grid {
        gap: 16px
    }

    .entr .tb_img_wrap {
        width: 110px;
        height: 145px
    }

    .entr .aud_heading {
        font-size: 23px
    }

    .entr .sup_heading {
        font-size: 23px
    }

    .entr .proof_heading {
        font-size: 23px
    }
}

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

.cont-us .cu-strip {
    width: 100%;
    height: 6px;
    background: linear-gradient(90deg, #921259, #04C9DC)
}

.cont-us .cu-panel {
    max-width: 1320px;
    margin: 0 auto;
    padding: 96px 32px 64px;
    display: grid;
    grid-template-columns: 60fr 40fr;
    gap: 64px;
    align-items: start
}

.cont-us .cu-left {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.cont-us .cu-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #921259
}

.cont-us .cu-eyebrow-line {
    width: 32px;
    height: 2px;
    background: #921259;
    border-radius: 1px
}

.cont-us .cu-heading {
    font-size: 45px;
    line-height: 1.15;
    font-weight: 800;
    margin: 0;
    background: linear-gradient(135deg, #921259, #04C9DC);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.cont-us .cu-subtext {
    font-size: 15px;
    line-height: 1.65;
    color: #2a2a2a;
    max-width: 480px;
    margin: 0
}

.cont-us .cu-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.cont-us .cu-detail-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    background: #F9FAFB;
    border-radius: 11px;
    border: 1px solid #04c9dc26;
    transition: box-shadow .28s ease-in-out, border-color .28s ease-in-out
}

.cont-us .cu-detail-item:hover {
    box-shadow: 0 6px 18px 1px #04c9dc14;
    border-color: #04c9dc59
}

.cont-us .cu-detail-label {
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #921259
}

.cont-us .cu-detail-val {
    font-size: 15px;
    line-height: 1.65;
    color: #1b1b2e;
    word-break: break-word
}

.cont-us .cu-detail-val a {
    color: #1b1b2e;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .25s ease-in-out
}

.cont-us .cu-detail-val a:hover {
    color: #04C9DC
}

.cont-us .cu-detail-item.full-w {
    grid-column: 1 / -1
}

.cont-us .cu-right {
    position: relative
}

.cont-us .cu-form-wrap {
    background: #fff;
    border-radius: 20px;
    padding: 32px;
    box-shadow: 0 9px 48px 1px #92125921;
    border: 1px solid #92125914
}

.cont-us .cu-form-title {
    font-size: 23px;
    line-height: 1.15;
    font-weight: 700;
    color: #1b1b2e;
    margin: 0 0 8px
}

.cont-us .cu-form-desc {
    font-size: 13px;
    line-height: 1.65;
    color: #4a4a5a;
    margin: 0 0 32px
}

.cont-us .cu-field {
    position: relative;
    margin-bottom: 16px
}

.cont-us .cu-field input,
.cont-us .cu-field textarea,
.cont-us .cu-field select {
    width: 100%;
    padding: 20px 16px 8px;
    font-size: 15px;
    line-height: 1.65;
    color: #1b1b2e;
    background: #F9FAFB;
    border: 1px solid #04c9dc33;
    border-radius: 11px;
    outline: none;
    box-sizing: border-box;
    transition: border-color .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1);
    appearance: none;
    -webkit-appearance: none
}

.cont-us .cu-field input:focus,
.cont-us .cu-field textarea:focus,
.cont-us .cu-field select:focus {
    border-color: #04C9DC;
    box-shadow: 0 2px 5px 1px #04c9dc0f;
    background: #fff
}

.cont-us .cu-field input:focus+label,
.cont-us .cu-field input:not(:placeholder-shown)+label,
.cont-us .cu-field textarea:focus+label,
.cont-us .cu-field textarea:not(:placeholder-shown)+label,
.cont-us .cu-field select:focus+label,
.cont-us .cu-field select:not([value=""]):valid+label {
    transform: translateY(-10px) scale(0.82);
    color: #921259
}

.cont-us .cu-field label {
    position: absolute;
    top: 14px;
    left: 16px;
    font-size: 15px;
    color: #6a6a7a;
    pointer-events: none;
    transform-origin: left top;
    transition: transform .22s ease-in-out, color .22s ease-in-out
}

.cont-us .cu-field textarea {
    min-height: 96px;
    resize: vertical
}

.cont-us .cu-select-wrap {
    position: relative
}

.cont-us .cu-select-wrap::after {
    content: '';
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #921259;
    pointer-events: none
}

.cont-us .cu-select-wrap select {
    padding-top: 14px;
    padding-bottom: 14px;
    cursor: pointer
}

.cont-us .cu-topic-check {
    display: none
}

.cont-us .cu-topic-check:checked~.cu-extra-field {
    display: block
}

.cont-us .cu-extra-field {
    display: none;
    margin-top: 16px
}

.cont-us .cu-topic-trigger {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #4a4a5a;
    cursor: pointer;
    margin-bottom: 16px;
    user-select: none
}

.cont-us .cu-topic-trigger input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #921259;
    cursor: pointer;
    flex-shrink: 0
}

.cont-us .cu-privacy {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px
}

.cont-us .cu-privacy input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #921259;
    cursor: pointer;
    flex-shrink: 0;
    margin-top: 2px
}

.cont-us .cu-privacy-text {
    font-size: 13px;
    line-height: 1.65;
    color: #4a4a5a
}

.cont-us .cu-privacy-text a {
    color: #921259;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color .25s ease-in-out
}

.cont-us .cu-privacy-text a:hover {
    color: #04C9DC
}

.cont-us .cu-submit {
    width: 100%;
    padding: 16px 32px;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, #921259, #04C9DC);
    border: none;
    border-radius: 11px;
    cursor: pointer;
    transition: width .32s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .32s cubic-bezier(0.4, 0, 0.2, 1), opacity .25s ease-in-out;
    position: relative;
    display: block;
    box-sizing: border-box
}

.cont-us .cu-submit:hover {
    box-shadow: 0 6px 18px 1px #92125914;
    opacity: .92
}

.cont-us .cu-submit:focus {
    outline: 2px solid #04C9DC;
    outline-offset: 3px
}

.cont-us .cu-submit:active {
    box-shadow: inset 0 4px 10px 1px #92125921
}

.cont-us .cu-curve-deco {
    position: absolute;
    top: -32px;
    right: -16px;
    width: 80px;
    height: 80px;
    pointer-events: none;
    overflow: hidden
}

.cont-us .cu-img-strip {
    width: 100%;
    height: 220px;
    overflow: hidden;
    border-radius: 11px;
    margin-bottom: 32px
}

.cont-us .cu-img-strip img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    filter: blur(0px);
    transition: filter .38s ease-in-out;
    display: block
}

.cont-us .cu-img-strip img.lazy-blur {
    filter: blur(8px)
}

.cont-us .cu-divider-block {
    background: linear-gradient(135deg, #1b1b2e 60%, #921259 100%);
    padding: 64px 32px;
    position: relative;
    overflow: hidden
}

.cont-us .cu-divider-inner {
    max-width: 1320px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 32px;
    align-items: center
}

.cont-us .cu-stat-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 32px;
    border-radius: 20px;
    background: #ffffff0d;
    border: 1px solid #04c9dc33;
    transition: background .35s ease-in-out, box-shadow .35s ease-in-out
}

.cont-us .cu-stat-item:hover {
    background: #04c9dc14;
    box-shadow: 0 6px 18px 1px #04c9dc14
}

.cont-us .cu-stat-num {
    font-size: 45px;
    line-height: 1.15;
    font-weight: 800;
    background: linear-gradient(135deg, #921259, #04C9DC);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: cu-colorshift 1.2s cubic-bezier(0.4, 0, 0.2, 1) both
}

.cont-us .cu-stat-label {
    font-size: 15px;
    line-height: 1.65;
    color: #ffffffbf
}

.cont-us .cu-stat-divider {
    width: 32px;
    height: 2px;
    background: #04C9DC;
    border-radius: 1px
}

.cont-us .cu-deco-bg {
    position: absolute;
    top: -64px;
    right: -64px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: #04c9dc0a;
    pointer-events: none
}

@keyframes cu-colorshift {
    0% {
        background: linear-gradient(135deg, #04C9DC, #04C9DC);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent
    }

    100% {
        background: linear-gradient(135deg, #921259, #04C9DC);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent
    }
}

@media (max-width: 1280px) {
    .cont-us .cu-panel {
        padding: 64px 32px;
        gap: 32px
    }

    .cont-us .cu-heading {
        font-size: 32px
    }
}

@media (max-width: 768px) {
    .cont-us .cu-panel {
        grid-template-columns: 1fr;
        padding: 64px 16px;
        gap: 32px
    }

    .cont-us .cu-detail-grid {
        grid-template-columns: 1fr
    }

    .cont-us .cu-detail-item.full-w {
        grid-column: auto
    }

    .cont-us .cu-heading {
        font-size: 32px
    }

    .cont-us .cu-divider-inner {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .cont-us .cu-divider-block {
        padding: 64px 16px
    }

    .cont-us .cu-img-strip {
        height: 160px
    }

    .cont-us .cu-curve-deco {
        display: none
    }
}

@media (max-width: 390px) {
    .cont-us .cu-panel {
        padding: 32px 16px
    }

    .cont-us .cu-heading {
        font-size: 23px
    }

    .cont-us .cu-form-wrap {
        padding: 16px
    }

    .cont-us .cu-stat-num {
        font-size: 32px
    }
}

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

.abt-us .au-inner {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 32px;
    padding-right: 32px
}

.abt-us .grad-text {
    background: linear-gradient(110deg, #921259, #fff);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.abt-us .au-lead {
    position: relative;
    padding-top: 96px;
    padding-bottom: 96px;
    background: linear-gradient(160deg, #04C9DC18 0%, #F9FAFB 50%, #92125912 100%)
}

.abt-us .au-lead-blobs {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden
}

.abt-us .au-blob {
    position: absolute;
    border-radius: 34px;
    filter: blur(64px);
    opacity: .22
}

.abt-us .au-blob.b1 {
    width: 320px;
    height: 220px;
    background: #04C9DC;
    top: -40px;
    left: -60px
}

.abt-us .au-blob.b2 {
    width: 260px;
    height: 180px;
    background: #921259;
    bottom: 20px;
    right: -40px
}

.abt-us .au-lead-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: end;
    position: relative;
    z-index: 1
}

.abt-us .au-lead-text {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.abt-us .au-eyebrow {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #921259;
    border-top: 1px solid #921259;
    padding-top: 8px
}

.abt-us .au-h1 {
    font-size: 62px;
    line-height: 1.15;
    color: #1b1b2e;
    margin: 0
}

.abt-us .au-h1 span {
    display: block
}

.abt-us .au-lead-desc {
    font-size: 15px;
    line-height: 1.65;
    color: #2d2d3a;
    max-width: 480px;
    margin: 0
}

.abt-us .au-lead-img-wrap {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 9px 48px 1px #04c9dc21
}

.abt-us .au-lead-img-wrap img {
    width: 100%;
    height: 440px;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 20px
}

.abt-us .au-lead-vignette {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 60% 40%, transparent 40%, #1b1b2e61 100%);
    border-radius: 20px;
    pointer-events: none
}

.abt-us .au-lead-stats {
    display: flex;
    flex-direction: row;
    gap: 32px;
    margin-top: 8px
}

.abt-us .au-stat {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.abt-us .au-stat-num {
    font-size: 32px;
    line-height: 1.15;
    font-weight: 700;
    color: #04C9DC
}

.abt-us .au-stat-label {
    font-size: 13px;
    line-height: 1.65;
    color: #4a4a5a
}

.abt-us .au-timeline-sec {
    padding-top: 96px;
    padding-bottom: 96px;
    background: #1b1b2e;
    position: relative
}

.abt-us .au-timeline-sec::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 68%;
    height: 1px;
    background: linear-gradient(90deg, #04C9DC 0%, transparent 100%)
}

.abt-us .au-timeline-sec::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 28%;
    height: 1px;
    background: linear-gradient(270deg, #921259 0%, transparent 100%)
}

.abt-us .au-tl-head {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 64px;
    max-width: 560px
}

.abt-us .au-tl-h2 {
    font-size: 45px;
    line-height: 1.15;
    margin: 0;
    color: #F9FAFB
}

.abt-us .au-tl-sub {
    font-size: 15px;
    line-height: 1.65;
    color: #a0a0b8;
    margin: 0
}

.abt-us .au-tl-body {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0
}

.abt-us .au-tl-line {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(180deg, #04C9DC 0%, #921259 100%);
    transform: translateX(-50%);
    animation: tl-draw .9s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    transform-origin: top center
}

@keyframes tl-draw {
    from {
        clip-path: inset(0 0 100% 0)
    }

    to {
        clip-path: inset(0 0 0% 0)
    }
}

.abt-us .au-tl-item {
    display: grid;
    grid-template-columns: 1fr 48px 1fr;
    gap: 32px;
    align-items: start;
    padding-top: 32px;
    padding-bottom: 32px
}

.abt-us .au-tl-item:first-child {
    padding-top: 0
}

.abt-us .au-tl-left {
    text-align: right;
    padding-right: 16px
}

.abt-us .au-tl-right {
    text-align: left;
    padding-left: 16px
}

.abt-us .au-tl-empty {
    visibility: hidden
}

.abt-us .au-tl-dot {
    width: 16px;
    height: 16px;
    border-radius: 34px;
    background: #04C9DC;
    border: 3px solid #1b1b2e;
    box-shadow: 0 0 0 2px #04C9DC;
    margin: 4px auto 0;
    display: block
}

.abt-us .au-tl-dot.secondary {
    background: #921259;
    box-shadow: 0 0 0 2px #921259
}

.abt-us .au-tl-card {
    background: #ffffff0d;
    border: 1px solid #ffffff1a;
    border-radius: 11px;
    padding: 32px;
    position: relative;
    transition: border-color .28s ease-in-out, box-shadow .28s ease-in-out
}

.abt-us .au-tl-card:hover {
    border-color: #04c9dc66;
    box-shadow: 0 6px 18px 1px #04c9dc14
}

.abt-us .au-tl-card::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 32px;
    background: linear-gradient(to top, #1b1b2e99, transparent);
    border-radius: 0 0 11px 11px;
    pointer-events: none
}

.abt-us .au-tl-year {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #04C9DC;
    margin-bottom: 8px;
    display: block
}

.abt-us .au-tl-card-h {
    font-size: 23px;
    line-height: 1.15;
    color: #F9FAFB;
    margin: 0 0 16px
}

.abt-us .au-tl-card-p {
    font-size: 15px;
    line-height: 1.65;
    color: #a0a0b8;
    margin: 0
}

.abt-us .au-team-sec {
    padding-top: 96px;
    padding-bottom: 96px;
    background: #F9FAFB;
    position: relative
}

.abt-us .au-team-sec::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 40%;
    height: 1px;
    background: linear-gradient(90deg, #921259 0%, transparent 100%)
}

.abt-us .au-team-grid {
    display: grid;
    grid-template-columns: 5fr 1px 4fr;
    gap: 64px;
    align-items: start
}

.abt-us .au-team-divider {
    background: linear-gradient(180deg, #04C9DC 0%, #921259 100%);
    align-self: stretch
}

.abt-us .au-team-left {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.abt-us .au-team-h2 {
    font-size: 45px;
    line-height: 1.15;
    color: #1b1b2e;
    margin: 0
}

.abt-us .au-team-intro {
    font-size: 15px;
    line-height: 1.65;
    color: #2d2d3a;
    margin: 0
}

.abt-us .au-values-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    list-style: none;
    padding: 0;
    margin: 0
}

.abt-us .au-val-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    padding: 16px;
    background: #fff;
    border-radius: 11px;
    border: 1px solid #04c9dc26;
    transition: box-shadow .35s cubic-bezier(0.4, 0, 0.2, 1), border-color .35s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden
}

.abt-us .au-val-item:hover {
    box-shadow: 0 6px 18px 1px #92125914;
    border-color: #9212594d
}

.abt-us .au-val-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    color: #04C9DC;
    margin-top: 2px
}

.abt-us .au-val-text {
    font-size: 13px;
    line-height: 1.65;
    color: #2d2d3a;
    font-weight: 600
}

.abt-us .au-team-right {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.abt-us .au-portrait-wrap {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 9px 48px 1px #92125921;
    aspect-ratio: 7/9
}

.abt-us .au-portrait-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.abt-us .au-portrait-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 55%, #1b1b2eb3 100%);
    pointer-events: none
}

.abt-us .au-expert-info {
    position: absolute;
    bottom: 16px;
    left: 16px;
    right: 16px
}

.abt-us .au-expert-name {
    font-size: 23px;
    line-height: 1.15;
    color: #F9FAFB;
    margin: 0 0 8px;
    font-weight: 700
}

.abt-us .au-expert-role {
    font-size: 13px;
    color: #04C9DC;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase
}

.abt-us .au-quote-block {
    border: 1px dashed #04C9DC;
    border-radius: 11px;
    padding: 32px;
    background: #fff;
    position: relative
}

.abt-us .au-quote-text {
    font-size: 15px;
    line-height: 1.65;
    color: #2d2d3a;
    margin: 0 0 16px;
    font-style: italic
}

.abt-us .au-quote-attr {
    font-size: 13px;
    color: #921259;
    font-weight: 600
}

.abt-us .au-img-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 32px
}

.abt-us .au-strip-img {
    border-radius: 11px;
    overflow: hidden;
    height: 120px;
    box-shadow: 0 2px 5px 1px #04c9dc0f
}

.abt-us .au-strip-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .38s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-us .au-strip-img:hover img {
    transform: scale(1.04)
}

.abt-us .au-val-item .au-slide-label {
    position: absolute;
    top: 0;
    right: -100%;
    background: #921259;
    color: #F9FAFB;
    font-size: 13px;
    font-weight: 700;
    padding: 8px 16px;
    border-radius: 0 11px 0 11px;
    transition: right .32s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap;
    pointer-events: none
}

.abt-us .au-val-item:hover .au-slide-label {
    right: 0
}

@media (max-width: 1280px) {
    .abt-us .au-h1 {
        font-size: 45px
    }

    .abt-us .au-team-grid {
        grid-template-columns: 1fr 1px 1fr;
        gap: 32px
    }
}

@media (max-width: 768px) {
    .abt-us .au-inner {
        padding-left: 16px;
        padding-right: 16px
    }

    .abt-us .au-lead {
        padding-top: 64px;
        padding-bottom: 64px
    }

    .abt-us .au-lead-grid {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .abt-us .au-h1 {
        font-size: 32px
    }

    .abt-us .au-lead-img-wrap img {
        height: 280px
    }

    .abt-us .au-tl-item {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .abt-us .au-tl-line {
        display: none
    }

    .abt-us .au-tl-left,
    .abt-us .au-tl-right {
        text-align: left;
        padding: 0
    }

    .abt-us .au-tl-empty {
        display: none
    }

    .abt-us .au-tl-dot {
        display: none
    }

    .abt-us .au-tl-h2 {
        font-size: 32px
    }

    .abt-us .au-timeline-sec {
        padding-top: 64px;
        padding-bottom: 64px
    }

    .abt-us .au-team-sec {
        padding-top: 64px;
        padding-bottom: 64px
    }

    .abt-us .au-team-grid {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .abt-us .au-team-divider {
        display: none
    }

    .abt-us .au-team-h2 {
        font-size: 32px
    }

    .abt-us .au-values-list {
        grid-template-columns: 1fr
    }

    .abt-us .au-img-strip {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (max-width: 390px) {
    .abt-us .au-h1 {
        font-size: 23px
    }

    .abt-us .au-lead-stats {
        flex-direction: column;
        gap: 16px
    }

    .abt-us .au-img-strip {
        grid-template-columns: 1fr
    }
}

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

.tech_pg .pg_bound {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 32px;
    padding-right: 32px
}

.tech_pg .grad_line {
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #04C9DC 35%, #921259 65%, transparent 100%);
    border: none;
    margin: 0
}

.tech_pg .split_hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 520px
}

.tech_pg .split_left {
    background: #921259;
    padding: 96px 64px 64px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: relative
}

.tech_pg .split_right {
    background: #04C9DC;
    position: relative;
    overflow: hidden
}

.tech_pg .split_right_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: saturate(0.7);
    transition: filter .35s ease-in-out
}

.tech_pg .split_right::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #04c9dc2e 0%, #9212598c 100%);
    pointer-events: none
}

.tech_pg .hero_tag {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #ffffffb8;
    margin-bottom: 16px
}

.tech_pg .hero_h1 {
    font-size: 45px;
    line-height: 1.15;
    font-weight: 800;
    color: #fff;
    margin: 0 0 16px;
    background: linear-gradient(135deg, #fff 0%, #04C9DC 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.tech_pg .hero_tagline {
    font-size: 15px;
    line-height: 1.65;
    color: #ffffffe0;
    margin: 0 0 32px;
    max-width: 380px
}

.tech_pg .hero_links {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap
}

.tech_pg .btn_pri {
    display: inline-block;
    padding: 14px 32px;
    background: #fff;
    color: #921259;
    font-size: 15px;
    font-weight: 700;
    border-radius: 1px;
    text-decoration: none;
    border: 2px solid #fff;
    transition: padding .28s cubic-bezier(0.4, 0, 0.2, 1), background .28s cubic-bezier(0.4, 0, 0.2, 1), color .28s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer
}

.tech_pg .btn_pri:hover {
    padding-left: 40px;
    padding-right: 40px;
    background: transparent;
    color: #fff
}

.tech_pg .btn_sec {
    display: inline-block;
    padding: 14px 32px;
    background: transparent;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    border-radius: 1px;
    text-decoration: none;
    border: 2px solid #ffffff8c;
    transition: padding .28s cubic-bezier(0.4, 0, 0.2, 1), border-color .28s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer
}

.tech_pg .btn_sec:hover {
    padding-left: 40px;
    padding-right: 40px;
    border-color: #fff
}

.tech_pg .wave_div {
    display: block;
    width: 100%;
    line-height: 0;
    margin-top: -2px
}

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

.tech_pg .stack_blk {
    background: #F9FAFB;
    padding: 64px 0
}

.tech_pg .stack_grid {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 64px;
    align-items: start
}

.tech_pg .stack_label {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #921259;
    margin-bottom: 16px;
    display: block
}

.tech_pg .stack_h2 {
    font-size: 32px;
    line-height: 1.15;
    font-weight: 800;
    color: #1b0a30;
    margin: 0 0 16px;
    background: linear-gradient(135deg, #921259 0%, #04C9DC 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.tech_pg .stack_para {
    font-size: 15px;
    line-height: 1.65;
    color: #2a2a3d;
    margin: 0 0 32px
}

.tech_pg .stack_para_num {
    display: flex;
    flex-direction: row;
    gap: 16px;
    margin-bottom: 16px;
    align-items: flex-start
}

.tech_pg .para_num {
    font-size: 13px;
    font-weight: 700;
    color: #04C9DC;
    min-width: 24px;
    padding-top: 2px
}

.tech_pg .para_body {
    font-size: 15px;
    line-height: 1.65;
    color: #2a2a3d
}

.tech_pg .bar_chart_wrap {
    background: #fff;
    border-radius: 11px;
    padding: 32px;
    box-shadow: 0 6px 18px 1px #04c9dc14
}

.tech_pg .bar_chart_title {
    font-size: 15px;
    font-weight: 700;
    color: #1b0a30;
    margin: 0 0 32px
}

.tech_pg .bar_row {
    margin-bottom: 16px
}

.tech_pg .bar_row:last-child {
    margin-bottom: 0
}

.tech_pg .bar_labels {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 8px
}

.tech_pg .bar_name {
    font-size: 13px;
    font-weight: 600;
    color: #2a2a3d
}

.tech_pg .bar_vals {
    display: flex;
    flex-direction: row;
    gap: 16px
}

.tech_pg .bar_val_a {
    font-size: 13px;
    color: #921259;
    font-weight: 700
}

.tech_pg .bar_val_b {
    font-size: 13px;
    color: #04C9DC;
    font-weight: 700
}

.tech_pg .bar_track {
    height: 8px;
    background: #eef0f4;
    border-radius: 1px;
    position: relative;
    margin-bottom: 4px
}

.tech_pg .bar_fill_a {
    height: 100%;
    border-radius: 1px;
    background: #921259;
    transition: width .38s cubic-bezier(0.4, 0, 0.2, 1)
}

.tech_pg .bar_fill_b {
    height: 100%;
    border-radius: 1px;
    background: #04C9DC;
    transition: width .38s cubic-bezier(0.4, 0, 0.2, 1);
    margin-top: 4px
}

.tech_pg .bar_legend {
    display: flex;
    flex-direction: row;
    gap: 16px;
    margin-top: 16px
}

.tech_pg .leg_item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #2a2a3d
}

.tech_pg .leg_dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0
}

.tech_pg .leg_dot.pri {
    background: #921259
}

.tech_pg .leg_dot.sec {
    background: #04C9DC
}

.tech_pg .tools_blk {
    background: #fff;
    padding: 96px 0 64px;
    position: relative
}

.tech_pg .tools_blk_bg {
    position: absolute;
    inset: 0;
    background-image: url(./photo_files/PIC4168.jpg);
    background-size: cover;
    background-position: center;
    opacity: .06;
    pointer-events: none
}

.tech_pg .tools_h3 {
    font-size: 32px;
    line-height: 1.15;
    font-weight: 800;
    margin: 0 0 8px;
    background: linear-gradient(135deg, #921259 0%, #04C9DC 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.tech_pg .tools_sub {
    font-size: 15px;
    line-height: 1.65;
    color: #2a2a3d;
    margin: 0 0 64px;
    max-width: 560px
}

.tech_pg .tools_layout {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 64px;
    align-items: start
}

.tech_pg .tool_list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.tech_pg .tool_card {
    background: #F9FAFB;
    border-radius: 11px;
    padding: 32px;
    border: 1.5px solid transparent;
    transition: border-color .25s ease-in-out, box-shadow .25s ease-in-out, transform .25s ease-in-out;
    cursor: default
}

.tech_pg .tool_card:hover {
    border-color: #04C9DC;
    box-shadow: 0 6px 18px 1px #04c9dc14;
    transform: translateY(-2px)
}

.tech_pg .tool_icon_wrap {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    background: linear-gradient(135deg, #921259 0%, #04C9DC 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px
}

.tech_pg .tool_icon_wrap svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: #fff;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round
}

.tech_pg .tool_name {
    font-size: 15px;
    font-weight: 700;
    color: #1b0a30;
    margin: 0 0 8px
}

.tech_pg .tool_desc {
    font-size: 13px;
    line-height: 1.65;
    color: #4a4a6a;
    margin: 0
}

.tech_pg .portrait_stack {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.tech_pg .portrait_card {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    background: #F9FAFB;
    border-radius: 20px;
    padding: 16px;
    box-shadow: 0 2px 5px 1px #9212590f;
    transition: box-shadow .32s ease-in-out
}

.tech_pg .portrait_card:hover {
    box-shadow: 0 9px 48px 1px #92125921
}

.tech_pg .portrait_img {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center;
    flex-shrink: 0
}

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

.tech_pg .portrait_name {
    font-size: 15px;
    font-weight: 700;
    color: #1b0a30;
    margin: 0
}

.tech_pg .portrait_role {
    font-size: 13px;
    color: #921259;
    font-weight: 600;
    margin: 0
}

.tech_pg .portrait_quote {
    font-size: 13px;
    line-height: 1.65;
    color: #4a4a6a;
    margin: 0
}

.tech_pg .method_blk {
    background: linear-gradient(160deg, #1b0a30 0%, #0d1a2e 100%);
    padding: 96px 0;
    position: relative
}

.tech_pg .deco_circles {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden
}

.tech_pg .deco_c {
    position: absolute;
    border-radius: 50%;
    border: 1.5px solid #04c9dc1f
}

.tech_pg .deco_c1 {
    width: 320px;
    height: 320px;
    top: -80px;
    right: 10%
}

.tech_pg .deco_c2 {
    width: 180px;
    height: 180px;
    top: 40px;
    right: 12%;
    border-color: #92125924
}

.tech_pg .deco_c3 {
    width: 500px;
    height: 500px;
    bottom: -180px;
    left: -100px;
    border-color: #04c9dc12
}

.tech_pg .method_h4 {
    font-size: 32px;
    line-height: 1.15;
    font-weight: 800;
    color: #fff;
    margin: 0 0 8px;
    background: linear-gradient(135deg, #04C9DC 0%, #fff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.tech_pg .method_sub {
    font-size: 15px;
    line-height: 1.65;
    color: #ffffffb8;
    margin: 0 0 64px;
    max-width: 520px
}

.tech_pg .method_steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px
}

.tech_pg .step_item {
    background: #ffffff0a;
    border-radius: 20px;
    padding: 32px;
    border: 1px solid #04c9dc26;
    transition: background .32s ease-in-out, border-color .32s ease-in-out
}

.tech_pg .step_item:hover {
    background: #04c9dc14;
    border-color: #04c9dc61
}

.tech_pg .step_num {
    font-size: 45px;
    font-weight: 900;
    line-height: 1.15;
    color: #04c9dc2e;
    margin-bottom: 16px;
    display: block
}

.tech_pg .step_title {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 8px
}

.tech_pg .step_body {
    font-size: 13px;
    line-height: 1.65;
    color: #ffffffb8;
    margin: 0
}

.tech_pg .step_para_num {
    display: flex;
    flex-direction: row;
    gap: 8px;
    margin-bottom: 8px;
    align-items: flex-start
}

.tech_pg .step_para_num .para_num {
    color: #04c9dc99;
    font-size: 13px
}

.tech_pg .step_para_num .para_body {
    font-size: 13px;
    line-height: 1.65;
    color: #ffffffb8
}

@media (max-width: 1280px) {
    .tech_pg .split_left {
        padding: 64px 32px
    }

    .tech_pg .hero_h1 {
        font-size: 45px
    }

    .tech_pg .stack_grid {
        gap: 32px
    }

    .tech_pg .tools_layout {
        gap: 32px
    }
}

@media (max-width: 768px) {
    .tech_pg .split_hero {
        grid-template-columns: 1fr
    }

    .tech_pg .split_right {
        height: 240px
    }

    .tech_pg .split_left {
        padding: 64px 32px 32px
    }

    .tech_pg .hero_h1 {
        font-size: 32px
    }

    .tech_pg .stack_grid {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .tech_pg .tools_layout {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .tech_pg .tool_list {
        grid-template-columns: 1fr
    }

    .tech_pg .method_steps {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .tech_pg .pg_bound {
        padding-left: 16px;
        padding-right: 16px
    }
}

@media (max-width: 390px) {
    .tech_pg .hero_h1 {
        font-size: 23px
    }

    .tech_pg .hero_links {
        flex-direction: column
    }

    .tech_pg .stack_h2 {
        font-size: 23px
    }

    .tech_pg .tools_h3 {
        font-size: 23px
    }

    .tech_pg .method_h4 {
        font-size: 23px
    }

    .tech_pg .bar_chart_wrap {
        padding: 16px
    }
}

.tech_pg .reveal {
    opacity: 0;
    transform: translateY(32px);
    animation: slideUp .55s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

.tech_pg .reveal.d1 {
    animation-delay: .08s
}

.tech_pg .reveal.d2 {
    animation-delay: .18s
}

.tech_pg .reveal.d3 {
    animation-delay: .28s
}

.tech_pg .reveal.d4 {
    animation-delay: .38s
}

.tech_pg .reveal.d5 {
    animation-delay: .48s
}

@keyframes slideUp {
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

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

.rdmp .pg_inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px
}

.rdmp .split_wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 560px
}

.rdmp .split_left {
    background: #921259;
    padding: 96px 64px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden
}

.rdmp .split_left::before {
    content: '';
    position: absolute;
    top: -80px;
    left: -80px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: #04c9dc14;
    pointer-events: none
}

.rdmp .split_left::after {
    content: '';
    position: absolute;
    bottom: -60px;
    right: -60px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: #ffffff0d;
    pointer-events: none
}

.rdmp .split_circle_accent {
    position: absolute;
    top: 50%;
    right: -40px;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    border: 2px solid #04c9dc2e;
    transform: translateY(-50%);
    pointer-events: none
}

.rdmp .split_label {
    font-size: 13px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #04C9DC;
    margin-bottom: 16px;
    line-height: 1.15
}

.rdmp .split_heading {
    font-size: 45px;
    line-height: 1.15;
    margin: 0 0 32px;
    background: linear-gradient(135deg, #921259, #fff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.rdmp .split_points {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.rdmp .split_points li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    color: #F9FAFB;
    font-size: 15px;
    line-height: 1.65
}

.rdmp .pt_icon {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    margin-top: 2px
}

.rdmp .split_right {
    position: relative;
    overflow: hidden
}

.rdmp .split_right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.rdmp .img_vignette {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, #92125959 0%, transparent 40%, #04c9dc2e 100%);
    pointer-events: none
}

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

.rdmp .wave_divider svg {
    display: block;
    width: 100%
}

.rdmp .steps_band {
    background: #F9FAFB;
    padding: 96px 0;
    position: relative
}

.rdmp .steps_band::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23921259' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none
}

.rdmp .steps_top {
    text-align: center;
    margin-bottom: 64px
}

.rdmp .steps_eyebrow {
    font-size: 13px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #921259;
    margin-bottom: 16px;
    line-height: 1.15
}

.rdmp .steps_h2 {
    font-size: 32px;
    line-height: 1.15;
    margin: 0 0 16px;
    background: linear-gradient(135deg, #921259, #04C9DC);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.rdmp .steps_sub {
    font-size: 15px;
    line-height: 1.65;
    color: #3a1030;
    max-width: 560px;
    margin: 0 auto
}

.rdmp .steps_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    position: relative
}

.rdmp .step_card {
    background: #fff;
    border-radius: 11px;
    padding: 32px;
    box-shadow: 0 2px 5px 1px #04c9dc0f;
    position: relative;
    transition: box-shadow .28s ease-in-out, transform .28s ease-in-out;
    cursor: default;
    overflow: hidden
}

.rdmp .step_card:hover {
    box-shadow: 0 9px 48px 1px #04c9dc21;
    transform: translateY(-6px);
    outline: 2px solid #04C9DC;
    outline-offset: 0
}

.rdmp .step_card.active_rise {
    box-shadow: 0 9px 48px 1px #92125921;
    transform: translateY(-10px);
    z-index: 2
}

.rdmp .card_curve {
    position: absolute;
    bottom: -32px;
    right: -32px;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border: 3px solid #04c9dc1f;
    pointer-events: none
}

.rdmp .step_num_shape {
    width: 56px;
    height: 56px;
    border-radius: 1px;
    border: 2px solid #921259;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    flex-shrink: 0
}

.rdmp .step_num_shape span {
    font-size: 23px;
    line-height: 1.15;
    font-weight: 700;
    color: #921259
}

.rdmp .step_phase {
    font-size: 13px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #04C9DC;
    margin-bottom: 8px;
    line-height: 1.15
}

.rdmp .step_title {
    font-size: 23px;
    line-height: 1.15;
    color: #1a0820;
    margin: 0 0 16px
}

.rdmp .step_para {
    font-size: 15px;
    line-height: 1.65;
    color: #3a1030;
    margin: 0 0 16px
}

.rdmp .step_para::before {
    content: attr(data-n) ". ";
    font-weight: 600;
    color: #921259
}

.rdmp .step_stat_box {
    margin-top: 16px;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 2px solid #921259;
    border-radius: 20px;
    padding: 8px 16px
}

.rdmp .stat_val {
    font-size: 23px;
    line-height: 1.15;
    font-weight: 700;
    color: #921259
}

.rdmp .stat_label {
    font-size: 13px;
    line-height: 1.65;
    color: #3a1030
}

.rdmp .connector_line {
    display: none
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-48px)
    }

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

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(48px)
    }

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

.rdmp .split_left {
    animation: slideInLeft .38s cubic-bezier(0.4, 0, 0.2, 1) both
}

.rdmp .split_right {
    animation: slideInRight .38s cubic-bezier(0.4, 0, 0.2, 1) both
}

.rdmp .step_card:nth-child(odd) {
    animation: slideInLeft .35s cubic-bezier(0.4, 0, 0.2, 1) both
}

.rdmp .step_card:nth-child(even) {
    animation: slideInRight .35s cubic-bezier(0.4, 0, 0.2, 1) both
}

.rdmp .step_card:nth-child(1) {
    animation-delay: .05s
}

.rdmp .step_card:nth-child(2) {
    animation-delay: .12s
}

.rdmp .step_card:nth-child(3) {
    animation-delay: .19s
}

.rdmp .step_card:nth-child(4) {
    animation-delay: .26s
}

.rdmp .step_card:nth-child(5) {
    animation-delay: .33s
}

.rdmp .step_card:nth-child(6) {
    animation-delay: .4s
}

@media (max-width: 1280px) {
    .rdmp .split_heading {
        font-size: 32px
    }

    .rdmp .steps_grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .rdmp .split_left {
        padding: 64px 32px
    }
}

@media (max-width: 768px) {
    .rdmp .split_wrap {
        grid-template-columns: 1fr
    }

    .rdmp .split_right {
        height: 280px
    }

    .rdmp .split_left {
        padding: 64px 32px
    }

    .rdmp .split_heading {
        font-size: 32px
    }

    .rdmp .steps_grid {
        grid-template-columns: 1fr
    }

    .rdmp .steps_band {
        padding: 64px 0
    }

    .rdmp .pg_inner {
        padding: 0 16px
    }
}

@media (max-width: 390px) {
    .rdmp .split_heading {
        font-size: 23px
    }

    .rdmp .steps_h2 {
        font-size: 23px
    }

    .rdmp .split_left {
        padding: 32px 16px
    }

    .rdmp .step_card {
        padding: 16px
    }

    .rdmp .pg_inner {
        padding: 0 8px
    }
}

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

.success_page .success_card {
    max-width: 560px;
    width: 100%;
    background: #fff;
    border-radius: 20px;
    padding: 64px;
    box-shadow: 0 9px 48px 1px #04c9dc21;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px
}

.success_page .icon_wrap {
    width: 72px;
    height: 72px;
    border-radius: 34px;
    background: linear-gradient(135deg, #04C9DC, #921259);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 6px 18px 1px #04c9dc14
}

.success_page .icon_wrap svg {
    width: 36px;
    height: 36px;
    stroke: #fff;
    fill: none;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round
}

.success_page .success_body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    text-align: center
}

.success_page .success_heading {
    font-size: 32px;
    line-height: 1.15;
    margin: 0;
    background: linear-gradient(135deg, #921259, #04C9DC);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0
}

.success_page .success_text {
    font-size: 15px;
    line-height: 1.65;
    color: #2d2d3a;
    margin: 0;
    max-width: 420px
}

.success_page .divider_line {
    width: 48px;
    height: 2px;
    background: linear-gradient(90deg, #921259, #04C9DC);
    border-radius: 1px;
    flex-shrink: 0
}

.success_page .return_link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.15;
    color: #fff;
    background: linear-gradient(135deg, #921259, #04C9DC);
    padding: 16px 32px;
    border-radius: 11px;
    text-decoration: none;
    transition: box-shadow .35s ease-in-out, padding .28s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 5px 1px #04c9dc0f
}

.success_page .return_link:hover {
    box-shadow: 0 6px 18px 1px #04c9dc14;
    padding: 16px 40px
}

.success_page .return_link:focus {
    outline: 2px solid #921259;
    outline-offset: 3px
}

.success_page .return_link svg {
    width: 18px;
    height: 18px;
    stroke: #fff;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex-shrink: 0
}

.success_page .meta_note {
    font-size: 13px;
    line-height: 1.65;
    color: #5a5a72;
    margin: 0;
    text-align: center
}

@media (max-width: 768px) {
    .success_page {
        padding: 64px 16px
    }

    .success_page .success_card {
        padding: 32px;
        gap: 32px
    }

    .success_page .success_heading {
        font-size: 23px
    }
}

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

    .success_page .return_link {
        padding: 16px 24px
    }

    .success_page .return_link:hover {
        padding: 16px 28px
    }
}