@charset "UTF-8";

*::before,
*::after {
    content: none;
    box-sizing: inherit;
}

body {
    margin: 0;
    scrollbar-gutter: stable;
    min-height: 100vh;
    font-family: 'Archivo', sans-serif;
}

:focus-visible {
    outline: 2px solid #5235AD;
    outline-offset: 3px;
}

.site_header {
    position: relative;
    background: #ffffff;
    border-bottom: 1px solid #EFEDF2;
    box-shadow: 0 4px 18px -2px rgba(82, 53, 173, 0.11);
    z-index: 100;
}

.header_top_bar {
    background: #5235AD;
    padding: 8px 28px;
}

.header_top_bar_inner {
    max-width: 1320px;
    margin: 0 auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 28px;
}

.top_bar_item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #EFEDF2;
    font-family: 'Archivo', sans-serif;
    font-size: 16px;
    line-height: 1.4;
    text-decoration: none;
    transition: color 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.top_bar_item:hover {
    color: #ffffff;
}

.top_bar_item svg {
    flex-shrink: 0;
}

.header_main {
    padding: 16px 28px;
}

.header_main_inner {
    max-width: 1320px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.brand_box {
    flex-shrink: 0;
}

.brand_logo_link {
    display: flex;
    align-items: center;
    text-decoration: none;
    padding: 4px;
    border-radius: 10px;
    background: #EFEDF2;
    box-shadow: 0 1px 3px -2px rgba(82, 53, 173, 0.05), 0 4px 18px -2px rgba(82, 53, 173, 0.11);
    border: 1px solid #ABA4D7;
    transition: box-shadow 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.brand_logo_link:hover {
    box-shadow: 0 1px 3px -2px rgba(82, 53, 173, 0.05), 0 12px 52px -2px rgba(82, 53, 173, 0.10);
}

.brand_logo_link img {
    display: block;
    width: 40px;
    height: 40px;
    object-fit: contain;
}

.primary_nav {
    flex: 1;
    display: flex;
    justify-content: center;
}

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

.primary_nav_list li a {
    display: flex;
    align-items: center;
    padding: 8px 16px;
    border-radius: 10px;
    font-family: 'Archivo', sans-serif;
    font-size: 16px;
    line-height: 1.4;
    color: #2a1f5e;
    text-decoration: none;
    font-weight: 400;
    border: 1px solid transparent;
    transition: background 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), color 0.15s cubic-bezier(0.34, 1.56, 0.64, 1), border-color 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.primary_nav_list li a:hover {
    background: #EFEDF2;
    color: #5235AD;
    border-color: #ABA4D7;
}

.primary_nav_list li a.active_link {
    background: #5235AD;
    color: #ffffff;
    font-weight: 700;
}

.availability_badge {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 32px;
    background: #EFEDF2;
    border: 1px solid #ABA4D7;
    box-shadow: 0 1px 3px -2px rgba(82, 53, 173, 0.05);
}

.availability_dot {
    width: 8px;
    height: 8px;
    border-radius: 48px;
    background: #5235AD;
    flex-shrink: 0;
}

.availability_text {
    font-family: 'Archivo', sans-serif;
    font-size: 16px;
    line-height: 1.4;
    color: #5235AD;
    font-weight: 700;
    white-space: nowrap;
}

@media (max-width: 960px) {
    .header_top_bar {
        padding: 8px 16px;
    }

    .header_top_bar_inner {
        gap: 16px;
    }

    .top_bar_item span {
        display: none;
    }

    .header_main {
        padding: 16px;
    }

    .header_main_inner {
        flex-wrap: wrap;
        gap: 16px;
    }

    .primary_nav {
        order: 3;
        flex: 0 0 100%;
    }

    .primary_nav_list {
        gap: 4px;
    }

    .availability_badge {
        padding: 8px;
    }

    .availability_text {
        display: none;
    }
}

@media (max-width: 480px) {
    .header_top_bar_inner {
        justify-content: center;
    }

    .primary_nav_list li a {
        padding: 8px;
        font-size: 16px;
    }
}

.site_footer {
    background: #2a1f5e;
    color: #EFEDF2;
    padding: 56px 28px 28px;
}

.footer_inner {
    max-width: 1320px;
    margin: 0 auto;
}

.footer_top {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 56px;
    padding-bottom: 56px;
    border-bottom: 1px solid rgba(171, 164, 215, 0.25);
}

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

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

.footer_logo_box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #EFEDF2;
    border: 1px solid #ABA4D7;
    box-shadow: 0 1px 3px -2px rgba(82, 53, 173, 0.05), 0 4px 18px -2px rgba(82, 53, 173, 0.11);
    flex-shrink: 0;
    padding: 4px;
}

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

.footer_brand_name {
    font-family: 'Archivo', sans-serif;
    font-size: 18px;
    line-height: 1.4;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0;
}

.footer_tagline {
    font-family: 'Archivo', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #ABA4D7;
    margin: 0;
}

.footer_col_label {
    font-family: 'Archivo', sans-serif;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 16px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(171, 164, 215, 0.3);
}

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

.footer_link_list li a {
    font-family: 'Archivo', sans-serif;
    font-size: 16px;
    line-height: 1.4;
    color: #ABA4D7;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: color 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.footer_link_list li a:hover {
    color: #ffffff;
}

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

.footer_contact_item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-family: 'Archivo', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #ABA4D7;
}

.footer_contact_item a {
    color: #ABA4D7;
    text-decoration: none;
    transition: color 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.footer_contact_item a:hover {
    color: #ffffff;
}

.footer_contact_item svg {
    flex-shrink: 0;
    margin-top: 4px;
}

.footer_bottom {
    padding-top: 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
}

.footer_copyright {
    font-family: 'Archivo', sans-serif;
    font-size: 16px;
    line-height: 1.4;
    color: rgba(171, 164, 215, 0.7);
    margin: 0;
}

.footer_legal_links {
    display: flex;
    align-items: center;
    gap: 16px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer_legal_links li a {
    font-family: 'Archivo', sans-serif;
    font-size: 16px;
    line-height: 1.4;
    color: rgba(171, 164, 215, 0.7);
    text-decoration: none;
    transition: color 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.footer_legal_links li a:hover {
    color: #ffffff;
}

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

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

@media (max-width: 480px) {
    .site_footer {
        padding: 28px 16px 16px;
    }

    .footer_top {
        grid-template-columns: 1fr;
        gap: 28px;
        padding-bottom: 28px;
    }

    .footer_brand_col {
        grid-column: auto;
    }

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

.cookie_popup_style {
    position: fixed;
    bottom: 28px;
    right: 28px;
    width: 380px;
    max-width: calc(100vw - 56px);
    background: #ffffff;
    border-radius: 18px;
    border: 1px solid #ABA4D7;
    box-shadow: 0 1px 3px -2px rgba(82, 53, 173, 0.05), 0 12px 52px -2px rgba(82, 53, 173, 0.10);
    padding: 28px;
    z-index: 8000;
    font-family: 'Archivo', sans-serif;
    overflow: hidden;
}

.cp_headline {
    font-size: 18px;
    line-height: 1.4;
    font-weight: 700;
    color: #2a1f5e;
    margin: 0 0 8px 0;
}

.cp_desc {
    font-size: 16px;
    line-height: 1.6;
    color: #5a5280;
    margin: 0 0 16px 0;
}

.cp_toggles {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}

.cp_toggle_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px;
    border-radius: 10px;
    background: #EFEDF2;
}

.cp_toggle_label {
    font-size: 16px;
    line-height: 1.4;
    color: #2a1f5e;
    font-weight: 700;
}

.cp_toggle_sub {
    font-size: 16px;
    line-height: 1.4;
    color: #5a5280;
}

.cp_toggle_input {
    width: 36px;
    height: 20px;
    cursor: pointer;
    accent-color: #5235AD;
}

.cp_toggle_always {
    font-size: 16px;
    line-height: 1.4;
    color: #5235AD;
    font-weight: 700;
}

.cp_btn_row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.cp_btn {
    flex: 1;
    min-width: 100px;
    padding: 8px 16px;
    border-radius: 10px;
    font-family: 'Archivo', sans-serif;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 700;
    cursor: pointer;
    border: 2px solid #5235AD;
    background: transparent;
    color: #5235AD;
    transition: background 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), color 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
    min-height: 44px;
}

.cp_btn:hover {
    background: #5235AD;
    color: #ffffff;
}

.cp_btn:focus-visible {
    outline: 2px solid #5235AD;
    outline-offset: 3px;
}

.cp_settings_link {
    display: block;
    text-align: center;
    margin-top: 8px;
    font-size: 16px;
    line-height: 1.4;
    color: #ABA4D7;
    cursor: pointer;
    background: none;
    border: none;
    font-family: 'Archivo', sans-serif;
    text-decoration: underline;
    padding: 4px;
    transition: color 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.cp_settings_link:hover {
    color: #5235AD;
}

.cp_slide_in {
    transform: translateX(0);
    opacity: 1;
}

.cp_slide_out {
    transform: translateX(calc(100% + 56px));
    opacity: 0;
}

.rules-ooj-block {
    max-width: 1320px;
    margin: 0 auto;
    padding: 56px 28px;
    color: #2a2240;
    line-height: 1.6;
    font-size: 18px;
}

.rules-ooj-block h1 {
    font-size: 72px;
    line-height: 1.1;
    color: #5235AD;
    margin-bottom: 28px;
    margin-top: 0;
}

.rules-ooj-block h2 {
    font-size: 32px;
    line-height: 1.1;
    color: #5235AD;
    margin-top: 56px;
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid #EFEDF2;
}

.rules-ooj-block h3 {
    font-size: 18px;
    line-height: 1.4;
    color: #2a2240;
    margin-top: 28px;
    margin-bottom: 8px;
    font-weight: 700;
}

.rules-ooj-block h4 {
    font-size: 18px;
    line-height: 1.4;
    color: #5235AD;
    margin-top: 28px;
    margin-bottom: 8px;
    font-weight: 600;
}

.rules-ooj-block h5 {
    font-size: 16px;
    line-height: 1.4;
    color: #2a2240;
    margin-top: 16px;
    margin-bottom: 8px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.rules-ooj-block h6 {
    font-size: 16px;
    line-height: 1.4;
    color: #7a6eb0;
    margin-top: 16px;
    margin-bottom: 8px;
    font-weight: 600;
}

.rules-ooj-block p {
    font-size: 18px;
    line-height: 1.6;
    color: #2a2240;
    margin-top: 0;
    margin-bottom: 16px;
}

.rules-ooj-block strong,
.rules-ooj-block b {
    font-weight: 700;
    color: #3d2880;
}

.rules-ooj-block em,
.rules-ooj-block i {
    font-style: italic;
    color: #5235AD;
}

.rules-ooj-block a {
    color: #5235AD;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color 150ms cubic-bezier(0.34, 1.56, 0.64, 1), text-decoration-color 150ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

.rules-ooj-block a:hover {
    color: #3d2880;
    text-decoration-color: #ABA4D7;
}

.rules-ooj-block a:focus-visible {
    outline: 2px solid #5235AD;
    outline-offset: 3px;
    border-radius: 6px;
}

.rules-ooj-block table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 28px;
    margin-bottom: 28px;
    font-size: 16px;
    line-height: 1.4;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px -2px rgba(82, 53, 173, 0.05), 0 4px 18px -2px rgba(82, 53, 173, 0.11);
}

.rules-ooj-block thead {
    background-color: #5235AD;
}

.rules-ooj-block thead th {
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    padding: 16px 28px;
    text-align: left;
    border: none;
}

.rules-ooj-block tbody tr {
    background-color: #ffffff;
    transition: background-color 150ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

.rules-ooj-block tbody tr:nth-child(even) {
    background-color: #EFEDF2;
}

.rules-ooj-block tbody tr:hover {
    background-color: #e4e1ef;
}

.rules-ooj-block td {
    padding: 16px 28px;
    font-size: 16px;
    line-height: 1.6;
    color: #2a2240;
    border-bottom: 1px solid #EFEDF2;
    vertical-align: top;
}

.rules-ooj-block tbody tr:last-child td {
    border-bottom: none;
}

.rules-ooj-block th {
    padding: 16px 28px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    vertical-align: middle;
}

.rules-ooj-block div {
    margin-bottom: 16px;
}

@media (max-width: 960px) {
    .rules-ooj-block {
        padding: 56px 28px;
    }

    .rules-ooj-block h1 {
        font-size: 32px;
    }

    .rules-ooj-block h2 {
        font-size: 32px;
        margin-top: 56px;
    }

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

@media (max-width: 480px) {
    .rules-ooj-block {
        padding: 28px 16px;
    }

    .rules-ooj-block h1 {
        font-size: 32px;
        line-height: 1.1;
    }

    .rules-ooj-block h2 {
        font-size: 32px;
        margin-top: 28px;
    }

    .rules-ooj-block p,
    .rules-ooj-block a {
        font-size: 16px;
    }

    .rules-ooj-block td,
    .rules-ooj-block th {
        padding: 8px 16px;
        font-size: 16px;
    }

    .rules-ooj-block thead th {
        padding: 8px 16px;
    }
}

.intv_det {
    background: #fff;
    overflow-x: clip;
    position: relative;
}

.intv_det .bg_anim {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}

.intv_det .bg_anim::before,
.intv_det .bg_anim::after {
    content: "";
    position: absolute;
    border-radius: 48px;
    opacity: 0.045;
}

.intv_det .bg_anim::before {
    width: 700px;
    height: 700px;
    background: radial-gradient(circle at bottom right, #5235AD, transparent 70%);
    bottom: -200px;
    right: -150px;
    animation: bg_shift1 14s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite alternate;
}

.intv_det .bg_anim::after {
    width: 500px;
    height: 500px;
    background: radial-gradient(circle at bottom right, #ABA4D7, transparent 70%);
    top: 10%;
    left: -100px;
    animation: bg_shift2 19s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite alternate;
}

@keyframes bg_shift1 {
    0% {
        transform: translate(0, 0) scale(1);
    }

    100% {
        transform: translate(-80px, -60px) scale(1.15);
    }
}

@keyframes bg_shift2 {
    0% {
        transform: translate(0, 0) scale(1.1);
    }

    100% {
        transform: translate(60px, 80px) scale(1);
    }
}

.intv_det .pg_body {
    position: relative;
    z-index: 1;
}

.intv_det .art_lead {
    padding: 56px 28px;
    background: linear-gradient(160deg, #EFEDF2 0%, #fff 60%);
    position: relative;
    overflow: hidden;
}

.intv_det .art_lead::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #5235AD 0%, #ABA4D7 100%);
}

.intv_det .art_lead_inner {
    max-width: 1320px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: center;
}

.intv_det .art_meta_col {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

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

.intv_det .art_tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #5235AD;
    color: #fff;
    font-size: 16px;
    line-height: 1.4;
    padding: 4px 16px;
    border-radius: 6px;
}

.intv_det .art_date_note {
    font-size: 16px;
    line-height: 1.4;
    color: #5235AD;
    opacity: 0.75;
}

.intv_det .art_h1 {
    font-size: 72px;
    line-height: 1.1;
    color: #1a0e3d;
    margin: 0;
    position: relative;
}

.intv_det .art_h1 .accent_word {
    color: #5235AD;
}

.intv_det .art_h1_deco {
    display: block;
    width: 48px;
    height: 4px;
    background: #5235AD;
    border-radius: 6px;
    margin-bottom: 16px;
}

.intv_det .art_desc_short {
    font-size: 18px;
    line-height: 1.6;
    color: #3a3050;
    margin: 0;
    max-width: 520px;
}

.intv_det .art_img_col {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 18px -2px rgba(82, 53, 173, 0.11), 0 12px 52px -2px rgba(82, 53, 173, 0.10);
}

.intv_det .art_img_col img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    object-position: center 30%;
    display: block;
    border-radius: 18px;
}

.intv_det .art_img_col::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 40%;
    background: linear-gradient(to bottom, rgba(18, 10, 50, 0.38), transparent);
    pointer-events: none;
    border-radius: 18px 18px 0 0;
}

.intv_det .quote_mark {
    position: absolute;
    bottom: -28px;
    right: 16px;
    font-size: 180px;
    line-height: 1;
    color: #5235AD;
    opacity: 0.07;
    font-style: normal;
    user-select: none;
    pointer-events: none;
    z-index: 0;
}

.intv_det .zigzag_divider {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    margin: 0;
    padding: 0;
}

.intv_det .zigzag_divider svg {
    display: block;
    width: 100%;
}

.intv_det .art_body_wrap {
    max-width: 1320px;
    margin: 0 auto;
    padding: 56px 28px;
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 56px;
    align-items: start;
}

.intv_det .art_sidebar {
    display: flex;
    flex-direction: column;
    gap: 28px;
    position: sticky;
    top: 28px;
}

.intv_det .sidebar_note {
    background: #EFEDF2;
    border-radius: 10px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.intv_det .sidebar_note_label {
    font-size: 16px;
    line-height: 1.4;
    color: #5235AD;
    font-weight: 600;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
}

.intv_det .sidebar_note_label svg {
    flex-shrink: 0;
}

.intv_det .sidebar_note_text {
    font-size: 16px;
    line-height: 1.6;
    color: #3a3050;
    margin: 0;
}

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

.intv_det .metric_item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    line-height: 1.4;
    color: #5235AD;
}

.intv_det .metric_item svg {
    flex-shrink: 0;
    opacity: 0.7;
}

.intv_det .sidebar_cta_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 28px;
    border-radius: 10px;
    border: 2px solid #5235AD;
    background: transparent;
    color: #5235AD;
    font-size: 16px;
    line-height: 1.4;
    cursor: pointer;
    text-decoration: none;
    font-weight: 600;
    position: relative;
    overflow: hidden;
    transition: color 150ms cubic-bezier(0.34, 1.56, 0.64, 1), background 150ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

.intv_det .sidebar_cta_btn:hover {
    background: #5235AD;
    color: #fff;
}

.intv_det .sidebar_cta_btn:focus {
    outline: 2px solid #5235AD;
    outline-offset: 3px;
}

.intv_det .sidebar_cta_btn .ripple_el {
    position: absolute;
    border-radius: 48px;
    background: rgba(82, 53, 173, 0.18);
    transform: scale(0);
    animation: ripple_go 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    pointer-events: none;
}

@keyframes ripple_go {
    to {
        transform: scale(4);
        opacity: 0;
    }
}

.intv_det .art_text_col {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.intv_det .art_text_col p {
    font-size: 18px;
    line-height: 1.6;
    color: #2a2040;
    margin: 0;
}

.intv_det .art_text_col h2 {
    font-size: 32px;
    line-height: 1.1;
    color: #1a0e3d;
    margin: 0;
    position: relative;
    padding-top: 16px;
}

.intv_det .art_text_col h2::before {
    content: "";
    display: block;
    width: 32px;
    height: 3px;
    background: #5235AD;
    border-radius: 6px;
    margin-bottom: 16px;
}

.intv_det .art_text_col h3 {
    font-size: 32px;
    line-height: 1.4;
    color: #2a2040;
    margin: 0;
    padding-top: 8px;
}

.intv_det .art_text_col h4 {
    font-size: 18px;
    line-height: 1.4;
    color: #5235AD;
    margin: 0;
    font-weight: 700;
}

.intv_det .art_text_col strong {
    color: #5235AD;
    font-weight: 700;
}

.intv_det .art_text_col ol {
    margin: 0;
    padding-left: 28px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.intv_det .art_text_col ol li {
    font-size: 18px;
    line-height: 1.6;
    color: #2a2040;
}

.intv_det .art_text_col details {
    background: #EFEDF2;
    border-radius: 10px;
    padding: 16px;
    border: 1px solid rgba(82, 53, 173, 0.12);
    transition: background 200ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

.intv_det .art_text_col details[open] {
    background: #fff;
    box-shadow: 0 1px 3px -2px rgba(82, 53, 173, 0.05), 0 4px 18px -2px rgba(82, 53, 173, 0.11);
}

.intv_det .art_text_col summary {
    font-size: 18px;
    line-height: 1.4;
    color: #5235AD;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
}

.intv_det .art_text_col summary::-webkit-details-marker {
    display: none;
}

.intv_det .art_text_col summary::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-right: 2px solid #5235AD;
    border-bottom: 2px solid #5235AD;
    transform: rotate(45deg);
    transition: transform 250ms cubic-bezier(0.34, 1.56, 0.64, 1);
    margin-left: auto;
}

.intv_det .art_text_col details[open] summary::after {
    transform: rotate(-135deg);
}

.intv_det .art_text_col a {
    color: #5235AD;
    text-decoration: underline;
    text-decoration-color: rgba(82, 53, 173, 0.35);
    transition: color 150ms cubic-bezier(0.68, -0.55, 0.27, 1.55), text-decoration-color 150ms cubic-bezier(0.68, -0.55, 0.27, 1.55);
}

.intv_det .art_text_col a:hover {
    color: #3a1f8a;
    text-decoration-color: #3a1f8a;
}

.intv_det .icon_pair_row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 28px 0;
}

.intv_det .icon_pair_item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    line-height: 1.4;
    color: #5235AD;
    font-weight: 600;
}

.intv_det .icon_pair_item svg {
    flex-shrink: 0;
}

.intv_det .icon_pair_sep {
    width: 4px;
    height: 4px;
    border-radius: 48px;
    background: #ABA4D7;
}

.intv_det .art_text_col .border_hover_el {
    border: 2px solid rgba(82, 53, 173, 0.18);
    border-radius: 18px;
    padding: 28px;
    transition: border-color 250ms cubic-bezier(0.34, 1.56, 0.64, 1);
    position: relative;
}

.intv_det .art_text_col .border_hover_el::before,
.intv_det .art_text_col .border_hover_el::after {
    content: "";
    position: absolute;
    border-radius: 18px;
    transition: opacity 280ms cubic-bezier(0.34, 1.56, 0.64, 1);
    pointer-events: none;
    opacity: 0;
}

.intv_det .art_text_col .border_hover_el::before {
    inset: -2px;
    border: 2px solid #5235AD;
}

.intv_det .art_text_col .border_hover_el:hover {
    border-color: transparent;
}

.intv_det .art_text_col .border_hover_el:hover::before {
    opacity: 1;
}

.intv_det .metrics_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.intv_det .metric_card {
    background: #EFEDF2;
    border-radius: 10px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
    transition: box-shadow 280ms cubic-bezier(0.34, 1.56, 0.64, 1), transform 280ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

.intv_det .metric_card:hover {
    box-shadow: 0 4px 18px -2px rgba(82, 53, 173, 0.11);
    transform: translateY(-2px);
}

.intv_det .metric_card_val {
    font-size: 32px;
    line-height: 1.1;
    color: #5235AD;
    font-weight: 700;
}

.intv_det .metric_card_label {
    font-size: 16px;
    line-height: 1.4;
    color: #3a3050;
}

.intv_det .service_cta_strip {
    background: linear-gradient(160deg, #5235AD 0%, #3a1f8a 100%);
    border-radius: 18px;
    padding: 28px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 28px;
    justify-content: space-between;
}

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

.intv_det .strip_heading {
    font-size: 32px;
    line-height: 1.1;
    color: #fff;
    margin: 0;
}

.intv_det .strip_sub {
    font-size: 18px;
    line-height: 1.4;
    color: #EFEDF2;
    margin: 0;
    opacity: 0.85;
}

.intv_det .strip_btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 28px;
    border-radius: 10px;
    border: 2px solid #fff;
    background: transparent;
    color: #fff;
    font-size: 18px;
    line-height: 1.4;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    transition: background 150ms cubic-bezier(0.34, 1.56, 0.64, 1), color 150ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

.intv_det .strip_btn:hover {
    background: #fff;
    color: #5235AD;
}

.intv_det .strip_btn:focus {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

.intv_det .strip_btn .ripple_el {
    position: absolute;
    border-radius: 48px;
    background: rgba(255, 255, 255, 0.25);
    transform: scale(0);
    animation: ripple_go 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    pointer-events: none;
}

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

    .intv_det .art_h1 {
        font-size: 32px;
    }

    .intv_det .art_img_col {
        display: none;
    }

    .intv_det .art_body_wrap {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .intv_det .art_sidebar {
        position: static;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    .intv_det .metrics_grid {
        grid-template-columns: 1fr;
    }

    .intv_det .service_cta_strip {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
}

@media (max-width: 480px) {
    .intv_det .art_lead {
        padding: 28px 16px;
    }

    .intv_det .art_body_wrap {
        padding: 28px 16px;
    }

    .intv_det .art_sidebar {
        grid-template-columns: 1fr;
    }

    .intv_det .art_h1 {
        font-size: 32px;
    }

    .intv_det .icon_pair_row {
        flex-direction: column;
        gap: 8px;
    }

    .intv_det .strip_heading {
        font-size: 18px;
    }
}

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

.ld_pg .inner_bound {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 28px;
    padding-right: 28px;
}

.ld_pg ::selection {
    background: #1a0060;
    color: #ffffff;
}

/* Title Block */
.ld_pg .title_blk {
    padding-top: 56px;
    padding-bottom: 56px;
    text-align: center;
    position: relative;
}

.ld_pg .title_blk .quote_anchor {
    position: absolute;
    top: 28px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 220px;
    line-height: 1.1;
    color: #EFEDF2;
    pointer-events: none;
    user-select: none;
    z-index: 0;
    opacity: 0.7;
}

.ld_pg .title_blk .img_frame {
    position: relative;
    z-index: 1;
    display: inline-block;
    margin-bottom: 28px;
}

.ld_pg .title_blk .img_frame img {
    width: 320px;
    height: 220px;
    object-fit: cover;
    object-position: center top;
    border-radius: 18px;
    display: block;
    filter: sepia(0.35) contrast(1.08) saturate(0.85) brightness(0.97);
    transition: filter 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ld_pg .title_blk .img_frame img:hover {
    filter: sepia(0.1) contrast(1.04) saturate(1.1) brightness(1.01);
}

.ld_pg .title_blk .txt_zone {
    position: relative;
    z-index: 1;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
}

.ld_pg .title_blk .txt_zone h1 {
    font-size: 72px;
    line-height: 1.1;
    color: #1a0060;
    margin-bottom: 16px;
}

.ld_pg .title_blk .txt_zone h1 .accent_word {
    color: #5235AD;
    text-decoration: underline;
    text-decoration-color: #ABA4D7;
    text-underline-offset: 6px;
}

.ld_pg .title_blk .txt_zone .sub_note {
    font-size: 18px;
    line-height: 1.6;
    color: #3d2e7a;
}

.ld_pg .title_blk .img_rotate_deco {
    position: absolute;
    bottom: 28px;
    right: 8%;
    width: 64px;
    height: 64px;
    border-radius: 10px;
    border: 2px solid #ABA4D7;
    opacity: 0.35;
    animation: slow_spin 12s linear infinite;
    pointer-events: none;
    z-index: 0;
}

@keyframes slow_spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Section 2 - Evidence */
.ld_pg .evidence_sec {
    background-color: #EFEDF2;
    padding-top: 56px;
    padding-bottom: 56px;
}

.ld_pg .evidence_sec .ev_grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 56px;
    align-items: start;
}

.ld_pg .evidence_sec .ev_aside {
    position: relative;
}

.ld_pg .evidence_sec .ev_aside .abbr_bg {
    font-size: 72px;
    line-height: 1.1;
    color: #ABA4D7;
    opacity: 0.22;
    pointer-events: none;
    user-select: none;
    position: absolute;
    top: -16px;
    left: -8px;
    z-index: 0;
}

.ld_pg .evidence_sec .ev_aside .aside_img {
    position: relative;
    z-index: 1;
}

.ld_pg .evidence_sec .ev_aside .aside_img img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    object-position: center center;
    border-radius: 18px;
    display: block;
    filter: blur(3px);
    transition: filter 0.32s cubic-bezier(0.68, -0.55, 0.27, 1.55);
    box-shadow: 0 4px 18px -2px rgba(82, 53, 173, 0.11);
}

.ld_pg .evidence_sec .ev_aside .aside_img img:hover {
    filter: blur(0px);
}

.ld_pg .evidence_sec .ev_body {}

.ld_pg .evidence_sec .ev_body .top_line {
    width: 40px;
    height: 3px;
    background: #5235AD;
    border-radius: 6px;
    margin-bottom: 16px;
}

.ld_pg .evidence_sec .ev_body h2 {
    font-size: 32px;
    line-height: 1.4;
    color: #1a0060;
    margin-bottom: 16px;
}

.ld_pg .evidence_sec .ev_body h2 .half_two {
    color: #5235AD;
}

.ld_pg .evidence_sec .ev_body .body_para {
    font-size: 18px;
    line-height: 1.6;
    color: #2d2060;
    margin-bottom: 28px;
}

.ld_pg .evidence_sec .ev_body .metrics_row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 28px;
}

.ld_pg .evidence_sec .ev_body .metric_card {
    background: #ffffff;
    border-radius: 18px;
    padding: 28px 16px;
    text-align: center;
    box-shadow: 0 1px 3px -2px rgba(82, 53, 173, 0.05), 0 4px 18px -2px rgba(82, 53, 173, 0.11);
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ld_pg .evidence_sec .ev_body .metric_card:hover {
    transform: translateY(-4px);
}

.ld_pg .evidence_sec .ev_body .metric_card .met_num {
    font-size: 32px;
    line-height: 1.1;
    color: #5235AD;
    display: block;
    margin-bottom: 8px;
}

.ld_pg .evidence_sec .ev_body .metric_card .met_label {
    font-size: 16px;
    line-height: 1.4;
    color: #3d2e7a;
}

.ld_pg .evidence_sec .ev_body .pair_list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.ld_pg .evidence_sec .ev_body .pair_item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
}

.ld_pg .evidence_sec .ev_body .pair_item .pair_ico {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin-top: 2px;
}

.ld_pg .evidence_sec .ev_body .pair_item .pair_txt {
    font-size: 16px;
    line-height: 1.6;
    color: #2d2060;
}

/* Section 3 - Outcomes */
.ld_pg .outcomes_sec {
    padding-top: 56px;
    padding-bottom: 56px;
    background: #ffffff;
    position: relative;
}

.ld_pg .outcomes_sec .pattern_bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    border-radius: 0;
    z-index: 0;
}

.ld_pg .outcomes_sec .pattern_bg::before {
    content: "";
    position: absolute;
    inset: -4px;
    background-image: repeating-linear-gradient(45deg,
            transparent,
            transparent 18px,
            rgba(171, 164, 215, 0.07) 18px,
            rgba(171, 164, 215, 0.07) 19px);
}

.ld_pg .outcomes_sec .out_inner {
    position: relative;
    z-index: 1;
}

.ld_pg .outcomes_sec .out_top {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 56px;
    align-items: start;
    margin-bottom: 56px;
}

.ld_pg .outcomes_sec .out_text .top_line {
    width: 40px;
    height: 3px;
    background: #5235AD;
    border-radius: 6px;
    margin-bottom: 16px;
}

.ld_pg .outcomes_sec .out_text h2 {
    font-size: 32px;
    line-height: 1.4;
    color: #1a0060;
    margin-bottom: 16px;
}

.ld_pg .outcomes_sec .out_text h2 .half_two {
    color: #5235AD;
}

.ld_pg .outcomes_sec .out_text .body_para {
    font-size: 18px;
    line-height: 1.6;
    color: #2d2060;
}

.ld_pg .outcomes_sec .out_img_wrap img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    object-position: center 30%;
    border-radius: 18px;
    display: block;
    filter: blur(3px);
    transition: filter 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 0 12px 52px -2px rgba(82, 53, 173, 0.10);
}

.ld_pg .outcomes_sec .out_img_wrap img:hover {
    filter: blur(0px);
}

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

.ld_pg .outcomes_sec .out_card {
    background: #EFEDF2;
    border-radius: 18px;
    padding: 28px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-shadow: 0 1px 3px -2px rgba(82, 53, 173, 0.05);
    transition: box-shadow 0.28s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ld_pg .outcomes_sec .out_card:hover {
    box-shadow: 0 4px 18px -2px rgba(82, 53, 173, 0.11);
    transform: translateY(-3px);
}

.ld_pg .outcomes_sec .out_card .card_ico_wrap {
    width: 40px;
    height: 40px;
    background: #5235AD;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}

.ld_pg .outcomes_sec .out_card .card_ico_wrap svg {
    width: 20px;
    height: 20px;
    stroke: #ffffff;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ld_pg .outcomes_sec .out_card h4 {
    font-size: 16px;
    line-height: 1.4;
    color: #1a0060;
}

.ld_pg .outcomes_sec .out_card .card_desc {
    font-size: 16px;
    line-height: 1.6;
    color: #3d2e7a;
}

/* Section 4 - Readiness */
.ld_pg .ready_sec {
    background: #1a0060;
    padding-top: 56px;
    padding-bottom: 56px;
    position: relative;
    overflow: hidden;
}

.ld_pg .ready_sec .grad_deco {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 480px;
    height: 480px;
    background: radial-gradient(circle at 100% 100%, rgba(171, 164, 215, 0.18) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

.ld_pg .ready_sec .ready_inner {
    position: relative;
    z-index: 1;
}

.ld_pg .ready_sec .ready_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start;
}

.ld_pg .ready_sec .ready_left .top_line {
    width: 40px;
    height: 3px;
    background: #ABA4D7;
    border-radius: 6px;
    margin-bottom: 16px;
}

.ld_pg .ready_sec .ready_left h2 {
    font-size: 32px;
    line-height: 1.4;
    color: #ffffff;
    margin-bottom: 16px;
}

.ld_pg .ready_sec .ready_left h2 .half_two {
    color: #ABA4D7;
}

.ld_pg .ready_sec .ready_left .body_para {
    font-size: 18px;
    line-height: 1.6;
    color: #c5bfe8;
    margin-bottom: 28px;
}

.ld_pg .ready_sec .ready_left .aside_note {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
}

.ld_pg .ready_sec .ready_left .aside_note .note_bar {
    width: 3px;
    min-height: 60px;
    background: #ABA4D7;
    border-radius: 6px;
    flex-shrink: 0;
}

.ld_pg .ready_sec .ready_left .aside_note .note_txt {
    font-size: 16px;
    line-height: 1.6;
    color: #c5bfe8;
}

.ld_pg .ready_sec .ready_right {}

.ld_pg .ready_sec .ready_right .chk_list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ld_pg .ready_sec .ready_right .chk_item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    background: rgba(171, 164, 215, 0.1);
    border-radius: 18px;
    padding: 28px;
    transition: background 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ld_pg .ready_sec .ready_right .chk_item:hover {
    background: rgba(171, 164, 215, 0.18);
}

.ld_pg .ready_sec .ready_right .chk_item .chk_ico {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(171, 164, 215, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ld_pg .ready_sec .ready_right .chk_item .chk_ico svg {
    width: 18px;
    height: 18px;
    stroke: #ABA4D7;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ld_pg .ready_sec .ready_right .chk_item .chk_body {}

.ld_pg .ready_sec .ready_right .chk_item .chk_body h5 {
    font-size: 16px;
    line-height: 1.4;
    color: #ffffff;
    margin-bottom: 4px;
}

.ld_pg .ready_sec .ready_right .chk_item .chk_body .chk_desc {
    font-size: 16px;
    line-height: 1.6;
    color: #c5bfe8;
}

.ld_pg .ready_sec .ready_right .cta_btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 28px;
    padding: 16px 28px;
    border-radius: 10px;
    border: 2px solid #ABA4D7;
    background: transparent;
    color: #ABA4D7;
    font-size: 16px;
    line-height: 1.4;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: color 0.15s linear, border-color 0.15s linear, background 0.15s linear;
}

.ld_pg .ready_sec .ready_right .cta_btn:hover {
    background: #ABA4D7;
    color: #1a0060;
    border-color: #ABA4D7;
}

.ld_pg .ready_sec .ready_right .cta_btn:focus-visible {
    outline: 3px solid #ABA4D7;
    outline-offset: 3px;
}

.ld_pg .ready_sec .ready_right .cta_btn svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: stroke 0.15s linear;
}

/* Responsive */
@media (max-width: 960px) {
    .ld_pg .title_blk .txt_zone h1 {
        font-size: 32px;
    }

    .ld_pg .title_blk .quote_anchor {
        font-size: 120px;
    }

    .ld_pg .title_blk .img_frame img {
        width: 240px;
        height: 160px;
    }

    .ld_pg .evidence_sec .ev_grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .ld_pg .evidence_sec .ev_body .metrics_row {
        grid-template-columns: repeat(3, 1fr);
    }

    .ld_pg .evidence_sec .ev_body .pair_list {
        grid-template-columns: 1fr;
    }

    .ld_pg .outcomes_sec .out_top {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .ld_pg .outcomes_sec .out_img_wrap {
        display: none;
    }

    .ld_pg .outcomes_sec .out_cards {
        grid-template-columns: repeat(2, 1fr);
    }

    .ld_pg .ready_sec .ready_grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
}

@media (max-width: 480px) {
    .ld_pg .title_blk .img_frame img {
        width: 100%;
        height: 160px;
    }

    .ld_pg .title_blk .img_frame {
        width: 100%;
    }

    .ld_pg .evidence_sec .ev_body .metrics_row {
        grid-template-columns: 1fr;
    }

    .ld_pg .outcomes_sec .out_cards {
        grid-template-columns: 1fr;
    }

    .ld_pg .title_blk .img_rotate_deco {
        display: none;
    }
}

.srvs_pg {
    display: block;
    width: 100%;
    overflow-x: hidden;
}

.srvs_pg * {
    box-sizing: border-box;
}

.srvs_pg ::selection {
    background: #1a0f4a;
    color: #ffffff;
}

/* ── SCHEMA ── */
/* ── BLOCK 1: SERVICE OVERVIEW ── */
.srvs_pg .svc_overview {
    background: #1a0f3e;
    padding: 56px 28px;
    position: relative;
}

.srvs_pg .svc_overview::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 100% 100%, rgba(171, 164, 215, 0.12) 0%, transparent 60%);
    pointer-events: none;
}

.srvs_pg .svc_overview_corner {
    position: absolute;
    top: 0;
    right: 0;
    width: 120px;
    height: 120px;
    pointer-events: none;
    overflow: hidden;
}

.srvs_pg .svc_overview_corner svg {
    position: absolute;
    top: 0;
    right: 0;
}

.srvs_pg .svc_overview_inner {
    max-width: 1320px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 56px;
}

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

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

.srvs_pg .svc_tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 16px;
    background: rgba(82, 53, 173, 0.35);
    border: 1px solid rgba(171, 164, 215, 0.25);
    border-radius: 6px;
    width: fit-content;
}

.srvs_pg .svc_tag span {
    font-size: 16px;
    color: #ABA4D7;
    line-height: 1.4;
}

.srvs_pg .svc_aside_note {
    font-size: 16px;
    color: rgba(171, 164, 215, 0.7);
    line-height: 1.6;
    border-top: 1px solid rgba(171, 164, 215, 0.2);
    padding-top: 16px;
}

.srvs_pg .svc_heading_col {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.srvs_pg .svc_h1 {
    font-size: 72px;
    line-height: 1.1;
    color: #ffffff;
    margin: 0;
}

.srvs_pg .svc_h1 .accent {
    color: #ABA4D7;
}

.srvs_pg .svc_tagline {
    font-size: 18px;
    line-height: 1.6;
    color: rgba(239, 237, 242, 0.8);
    margin: 0;
    max-width: 540px;
}

.srvs_pg .svc_actions {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap;
}

.srvs_pg .btn_primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 28px;
    background: transparent;
    border: 2px solid #5235AD;
    border-radius: 10px;
    color: #ABA4D7;
    font-size: 16px;
    line-height: 1.4;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: color 150ms cubic-bezier(0.34, 1.56, 0.64, 1), border-color 150ms cubic-bezier(0.34, 1.56, 0.64, 1), background 150ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

.srvs_pg .btn_primary:hover {
    background: #5235AD;
    color: #ffffff;
    border-color: #5235AD;
}

.srvs_pg .btn_primary:focus-visible {
    outline: 2px solid #ABA4D7;
    outline-offset: 3px;
}

.srvs_pg .btn_secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 28px;
    background: transparent;
    border: 2px solid rgba(171, 164, 215, 0.3);
    border-radius: 10px;
    color: rgba(239, 237, 242, 0.7);
    font-size: 16px;
    line-height: 1.4;
    cursor: pointer;
    text-decoration: none;
    transition: color 150ms cubic-bezier(0.68, -0.55, 0.27, 1.55), border-color 150ms cubic-bezier(0.68, -0.55, 0.27, 1.55);
}

.srvs_pg .btn_secondary:hover {
    color: #ffffff;
    border-color: rgba(171, 164, 215, 0.7);
}

.srvs_pg .btn_secondary:focus-visible {
    outline: 2px solid #ABA4D7;
    outline-offset: 3px;
}

.srvs_pg .svc_img_row {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 28px;
    align-items: stretch;
}

.srvs_pg .svc_img_wrap {
    border-radius: 18px;
    overflow: hidden;
    position: relative;
    height: 340px;
    box-shadow: 0 4px 18px -2px rgba(82, 53, 173, 0.11);
}

.srvs_pg .svc_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

.srvs_pg .svc_img_wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 50%, transparent 30%, rgba(26, 15, 62, 0.55) 100%);
    pointer-events: none;
}

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

.srvs_pg .svc_metric_card {
    background: rgba(82, 53, 173, 0.18);
    border: 1px solid rgba(171, 164, 215, 0.15);
    border-radius: 18px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
    transition: background 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), border-color 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.srvs_pg .svc_metric_card:hover {
    background: rgba(82, 53, 173, 0.28);
    border-color: rgba(171, 164, 215, 0.3);
}

.srvs_pg .metric_num {
    font-size: 32px;
    line-height: 1.1;
    color: #ffffff;
}

.srvs_pg .metric_label {
    font-size: 16px;
    line-height: 1.4;
    color: rgba(171, 164, 215, 0.8);
}

/* Connecting lines animation */
.srvs_pg .conn_line_svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
}

.srvs_pg .conn_line_path {
    stroke: rgba(171, 164, 215, 0.18);
    stroke-width: 1;
    fill: none;
    stroke-dasharray: 400;
    stroke-dashoffset: 400;
    animation: line_draw 0.9s cubic-bezier(0.34, 1.56, 0.64, 1) 0.3s forwards;
}

@keyframes line_draw {
    to {
        stroke-dashoffset: 0;
    }
}

/* ── BLOCK 2: SERVICE DETAILS ── */
.srvs_pg .svc_detail {
    background: #ffffff;
    padding: 56px 28px;
    position: relative;
}

.srvs_pg .svc_detail::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 100% 100%, rgba(171, 164, 215, 0.14) 0%, transparent 55%);
    pointer-events: none;
}

.srvs_pg .svc_detail_inner {
    max-width: 1320px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 56px;
    position: relative;
}

.srvs_pg .svc_divider {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.srvs_pg .svc_divider_short {
    width: 28px;
    height: 2px;
    background: #5235AD;
    border-radius: 6px;
}

.srvs_pg .svc_divider_long {
    flex: 1;
    height: 1px;
    background: linear-gradient(to right, #5235AD, transparent);
}

.srvs_pg .svc_detail_grid {
    display: grid;
    grid-template-columns: 1fr 3fr;
    gap: 56px;
    align-items: start;
}

.srvs_pg .svc_detail_aside {
    display: flex;
    flex-direction: column;
    gap: 28px;
    position: sticky;
    top: 28px;
}

.srvs_pg .svc_detail_h2 {
    font-size: 32px;
    line-height: 1.1;
    color: #1a0f3e;
    margin: 0;
}

.srvs_pg .svc_detail_h2 .accent {
    color: #5235AD;
}

.srvs_pg .svc_aside_text {
    font-size: 16px;
    line-height: 1.6;
    color: #4a4060;
}

.srvs_pg .svc_nav_list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.srvs_pg .svc_nav_list li a {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    line-height: 1.4;
    color: #5235AD;
    text-decoration: none;
    padding: 8px 0;
    border-bottom: 1px solid rgba(82, 53, 173, 0.1);
    transition: color 150ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

.srvs_pg .svc_nav_list li a:hover {
    color: #1a0f3e;
}

.srvs_pg .svc_detail_body {
    display: flex;
    flex-direction: column;
    gap: 56px;
}

.srvs_pg .svc_module {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

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

.srvs_pg .svc_module_accent {
    width: 32px;
    height: 3px;
    background: #5235AD;
    border-radius: 6px;
}

.srvs_pg .svc_module_h3 {
    font-size: 32px;
    line-height: 1.1;
    color: #1a0f3e;
    margin: 0;
}

.srvs_pg .svc_module_h3 .accent {
    color: #5235AD;
}

.srvs_pg .svc_module_desc {
    font-size: 18px;
    line-height: 1.6;
    color: #2e2550;
    margin: 0;
}

.srvs_pg .svc_feature_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.srvs_pg .svc_feat_item {
    background: #EFEDF2;
    border-radius: 18px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: 0 1px 3px -2px rgba(82, 53, 173, 0.05);
    transition: box-shadow 0.28s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.srvs_pg .svc_feat_item:hover {
    box-shadow: 0 4px 18px -2px rgba(82, 53, 173, 0.11);
    transform: translateY(-3px);
}

.srvs_pg .svc_feat_icon {
    width: 40px;
    height: 40px;
    background: #5235AD;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    flex-shrink: 0;
}

.srvs_pg .svc_feat_name {
    font-size: 18px;
    line-height: 1.4;
    color: #1a0f3e;
    font-weight: 600;
    margin: 0;
}

.srvs_pg .svc_feat_text {
    font-size: 16px;
    line-height: 1.6;
    color: #4a4060;
    margin: 0;
}

/* Before/After visualization */
.srvs_pg .svc_ba_block {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 18px -2px rgba(82, 53, 173, 0.11);
}

.srvs_pg .svc_ba_step {
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.srvs_pg .svc_ba_step.before {
    background: #EFEDF2;
}

.srvs_pg .svc_ba_step.after {
    background: #5235AD;
}

.srvs_pg .svc_ba_label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 16px;
    border-radius: 6px;
    font-size: 16px;
    line-height: 1.4;
    width: fit-content;
}

.srvs_pg .svc_ba_step.before .svc_ba_label {
    background: rgba(82, 53, 173, 0.12);
    color: #5235AD;
}

.srvs_pg .svc_ba_step.after .svc_ba_label {
    background: rgba(255, 255, 255, 0.15);
    color: #ffffff;
}

.srvs_pg .svc_ba_h4 {
    font-size: 18px;
    line-height: 1.4;
    margin: 0;
}

.srvs_pg .svc_ba_step.before .svc_ba_h4 {
    color: #2e2550;
}

.srvs_pg .svc_ba_step.after .svc_ba_h4 {
    color: #ffffff;
}

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

.srvs_pg .svc_ba_list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    font-size: 16px;
    line-height: 1.6;
}

.srvs_pg .svc_ba_step.before .svc_ba_list li {
    color: #4a4060;
}

.srvs_pg .svc_ba_step.after .svc_ba_list li {
    color: rgba(239, 237, 242, 0.9);
}

.srvs_pg .svc_ba_list li svg {
    flex-shrink: 0;
    margin-top: 3px;
}

/* FAQ accordion */
.srvs_pg .svc_faq_list {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.srvs_pg .svc_faq_item {
    border: 1px solid rgba(82, 53, 173, 0.15);
    border-radius: 10px;
    overflow: hidden;
}

.srvs_pg .svc_faq_btn {
    width: 100%;
    background: transparent;
    border: none;
    padding: 16px 28px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    cursor: pointer;
    text-align: left;
    transition: background 150ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

.srvs_pg .svc_faq_btn:hover {
    background: rgba(82, 53, 173, 0.06);
}

.srvs_pg .svc_faq_btn:focus-visible {
    outline: 2px solid #5235AD;
    outline-offset: -2px;
}

.srvs_pg .svc_faq_q {
    font-size: 18px;
    line-height: 1.4;
    color: #1a0f3e;
}

.srvs_pg .svc_faq_icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    color: #5235AD;
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.srvs_pg .svc_faq_item.open .svc_faq_icon {
    transform: rotate(45deg);
}

.srvs_pg .svc_faq_panel {
    display: none;
    padding: 0 28px 16px;
}

.srvs_pg .svc_faq_item.open .svc_faq_panel {
    display: block;
}

.srvs_pg .svc_faq_panel p {
    font-size: 16px;
    line-height: 1.6;
    color: #4a4060;
    margin: 0;
}

/* Process steps */
.srvs_pg .svc_process_steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    position: relative;
}

.srvs_pg .svc_step {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 28px;
    background: #EFEDF2;
    border-radius: 18px;
    position: relative;
    transition: box-shadow 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.srvs_pg .svc_step:hover {
    box-shadow: 0 12px 52px -2px rgba(82, 53, 173, 0.10);
}

.srvs_pg .svc_step_num {
    font-size: 32px;
    line-height: 1.1;
    color: rgba(82, 53, 173, 0.2);
    font-weight: 700;
}

.srvs_pg .svc_step_h5 {
    font-size: 18px;
    line-height: 1.4;
    color: #1a0f3e;
    margin: 0;
}

.srvs_pg .svc_step_text {
    font-size: 16px;
    line-height: 1.6;
    color: #4a4060;
    margin: 0;
}

/* second image */
.srvs_pg .svc_img2_wrap {
    border-radius: 18px;
    overflow: hidden;
    position: relative;
    height: 280px;
    box-shadow: 0 4px 18px -2px rgba(82, 53, 173, 0.11);
}

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

.srvs_pg .svc_img2_wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 50%, transparent 25%, rgba(26, 15, 62, 0.5) 100%);
    pointer-events: none;
}

/* Dashed path decoration */
.srvs_pg .svc_dashed_dec {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
}

.srvs_pg .svc_dashed_dec svg {
    position: absolute;
    top: 56px;
    right: -28px;
    opacity: 0.18;
}

/* ── RESPONSIVE ── */
@media (max-width: 960px) {
    .srvs_pg .svc_top_row {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .srvs_pg .svc_h1 {
        font-size: 32px;
    }

    .srvs_pg .svc_img_row {
        grid-template-columns: 1fr;
    }

    .srvs_pg .svc_img_wrap {
        display: none;
    }

    .srvs_pg .svc_detail_grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .srvs_pg .svc_detail_aside {
        position: static;
    }

    .srvs_pg .svc_feature_grid {
        grid-template-columns: 1fr 1fr;
    }

    .srvs_pg .svc_process_steps {
        grid-template-columns: 1fr 1fr;
    }

    .srvs_pg .svc_ba_block {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .srvs_pg .svc_overview {
        padding: 28px 16px;
    }

    .srvs_pg .svc_detail {
        padding: 28px 16px;
    }

    .srvs_pg .svc_h1 {
        font-size: 32px;
    }

    .srvs_pg .svc_feature_grid {
        grid-template-columns: 1fr;
    }

    .srvs_pg .svc_process_steps {
        grid-template-columns: 1fr;
    }

    .srvs_pg .svc_metrics_col {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .srvs_pg .svc_metric_card {
        flex: 1 1 calc(50% - 8px);
        min-width: 120px;
    }

    .srvs_pg .svc_actions {
        flex-direction: column;
    }

    .srvs_pg .svc_img2_wrap {
        display: none;
    }
}

.itvw_root {
    background: #fff;
    overflow-x: hidden;
}

.itvw_root *,
.itvw_root *::before,
.itvw_root *::after {
    box-sizing: border-box;
}

.itvw_root ::selection {
    background: #111;
    color: #fff;
}

/* TITLE BLOCK */
.itvw_lead {
    position: relative;
    padding: 56px 28px;
    background: #1a1230;
    overflow: hidden;
}

.itvw_lead::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(82, 53, 173, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(82, 53, 173, 0.08) 1px, transparent 1px);
    background-size: 28px 28px;
    pointer-events: none;
}

.itvw_lead::after {
    content: '';
    position: absolute;
    bottom: -56px;
    right: -56px;
    width: 320px;
    height: 320px;
    border-radius: 48px;
    background: radial-gradient(circle at bottom right, rgba(171, 164, 215, 0.18), transparent 70%);
    pointer-events: none;
}

.itvw_lead_grain {
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
    background-size: 256px;
    pointer-events: none;
    opacity: 0.6;
}

.itvw_lead_inner {
    position: relative;
    max-width: 1320px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 56px;
    z-index: 1;
}

.itvw_lead_text {
    flex: 1 1 0;
    padding: 28px 0 28px 28px;
}

.itvw_lead_eyebrow {
    display: inline-block;
    font-size: 16px;
    line-height: 1.4;
    color: #ABA4D7;
    border-top: 2px solid #5235AD;
    padding-top: 8px;
    margin-bottom: 16px;
}

.itvw_lead_h1 {
    font-size: 72px;
    line-height: 1.1;
    color: #fff;
    margin: 0 0 28px;
}

.itvw_lead_h1 .accent {
    color: #ABA4D7;
}

.itvw_lead_desc {
    font-size: 18px;
    line-height: 1.6;
    color: rgba(239, 237, 242, 0.75);
    max-width: 480px;
    margin: 0;
}

.itvw_lead_img_col {
    flex: 0 0 420px;
    position: relative;
    height: 360px;
    border-radius: 18px;
    overflow: hidden;
}

.itvw_lead_img_col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    border-radius: 18px;
}

.itvw_lead_vignette {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(26, 18, 48, 0.55) 0%, transparent 60%, rgba(26, 18, 48, 0.7) 100%);
    border-radius: 18px;
    pointer-events: none;
}

.itvw_lead_shape {
    position: absolute;
    top: 28px;
    left: -16px;
    width: 56px;
    height: 56px;
    border: 2px solid rgba(82, 53, 173, 0.4);
    border-radius: 10px;
    transform: rotate(18deg);
    pointer-events: none;
}

/* SVG DIVIDER */
.itvw_div_curve {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: #1a1230;
}

.itvw_div_curve svg {
    display: block;
    width: 100%;
}

/* POSTS GRID */
.itvw_posts_wrap {
    background: #fff;
    padding: 56px 28px;
}

.itvw_posts_inner {
    max-width: 1320px;
    margin: 0 auto;
}

.itvw_posts_label {
    font-size: 16px;
    line-height: 1.4;
    color: #5235AD;
    border-top: 2px solid #5235AD;
    display: inline-block;
    padding-top: 8px;
    margin-bottom: 28px;
}

.itvw_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
}

.itvw_card {
    position: relative;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 1px 3px -2px rgba(82, 53, 173, 0.05), 0 4px 18px -2px rgba(82, 53, 173, 0.11);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
    border-top: 2px solid #EFEDF2;
    border-bottom: 2px solid #EFEDF2;
}

.itvw_card:hover {
    transform: translateY(-6px);
    box-shadow: 0 1px 3px -2px rgba(82, 53, 173, 0.05), 0 12px 52px -2px rgba(82, 53, 173, 0.10);
}

.itvw_grid .itvw_card:hover~.itvw_card {
    transform: translateY(4px);
}

.itvw_card_corner {
    position: absolute;
    top: 0;
    right: 0;
    width: 48px;
    height: 48px;
    background: #5235AD;
    clip-path: polygon(100% 0, 0 0, 100% 100%);
    pointer-events: none;
    z-index: 2;
}

.itvw_card_img {
    width: 100%;
    height: 180px;
    overflow: hidden;
    flex-shrink: 0;
}

.itvw_card_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.itvw_card:hover .itvw_card_img img {
    transform: scale(1.04);
}

.itvw_card_body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: 8px;
}

.itvw_card_title {
    font-size: 18px;
    line-height: 1.4;
    color: #1a1230;
    margin: 0;
}

.itvw_card_desc {
    font-size: 16px;
    line-height: 1.6;
    color: #4a4060;
    margin: 0;
    flex: 1 1 auto;
}

.itvw_card_link {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    line-height: 1.4;
    color: #5235AD;
    text-decoration: none;
    font-weight: 600;
    padding: 8px 0 4px;
    transition: color 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);
    align-self: flex-start;
}

.itvw_card_link:hover {
    color: #3a228a;
}

.itvw_card_link svg {
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.itvw_card_link:hover svg {
    transform: translateX(4px);
}

/* DIVIDER 2 - checked pattern section */
.itvw_div2 {
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, transparent, #ABA4D7, transparent);
}

/* ABOUT INTERVIEWS SECTION */
.itvw_about {
    background: #EFEDF2;
    background-image:
        linear-gradient(rgba(82, 53, 173, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(82, 53, 173, 0.04) 1px, transparent 1px);
    background-size: 20px 20px;
    padding: 56px 28px;
}

.itvw_about_inner {
    max-width: 1320px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 56px;
    align-items: start;
}

.itvw_about_aside {
    position: sticky;
    top: 28px;
}

.itvw_about_aside_label {
    font-size: 16px;
    line-height: 1.4;
    color: #5235AD;
    border-top: 2px solid #5235AD;
    display: inline-block;
    padding-top: 8px;
    margin-bottom: 16px;
}

.itvw_about_aside_note {
    font-size: 16px;
    line-height: 1.6;
    color: #4a4060;
    margin: 0;
    padding: 16px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 1px 3px -2px rgba(82, 53, 173, 0.05), 0 4px 18px -2px rgba(82, 53, 173, 0.11);
}

.itvw_about_body {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.itvw_about_h2 {
    font-size: 32px;
    line-height: 1.1;
    color: #1a1230;
    margin: 0 0 16px;
}

.itvw_about_h2 .accent {
    color: #5235AD;
}

.itvw_about_p {
    font-size: 18px;
    line-height: 1.6;
    color: #2d2550;
    margin: 0;
}

.itvw_about_metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.itvw_metric_card {
    background: #fff;
    border-radius: 10px;
    padding: 16px;
    box-shadow: 0 1px 3px -2px rgba(82, 53, 173, 0.05), 0 4px 18px -2px rgba(82, 53, 173, 0.11);
    border-top: 2px solid #5235AD;
    border-bottom: 2px solid #EFEDF2;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.itvw_metric_num {
    font-size: 32px;
    line-height: 1.1;
    color: #5235AD;
    font-weight: 700;
}

.itvw_metric_label {
    font-size: 16px;
    line-height: 1.4;
    color: #4a4060;
}

/* DIVIDER 3 */
.itvw_div3 {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: #EFEDF2;
}

.itvw_div3 svg {
    display: block;
    width: 100%;
}

/* FUNNEL SECTION */
.itvw_funnel_wrap {
    background: #fff;
    padding: 56px 28px;
}

.itvw_funnel_inner {
    max-width: 1320px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: center;
}

.itvw_funnel_text {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.itvw_funnel_label {
    font-size: 16px;
    line-height: 1.4;
    color: #5235AD;
    border-top: 2px solid #5235AD;
    display: inline-block;
    padding-top: 8px;
}

.itvw_funnel_h2 {
    font-size: 32px;
    line-height: 1.1;
    color: #1a1230;
    margin: 0;
}

.itvw_funnel_h2 .accent {
    color: #5235AD;
}

.itvw_funnel_p {
    font-size: 18px;
    line-height: 1.6;
    color: #2d2550;
    margin: 0;
}

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

.itvw_step_item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    background: #EFEDF2;
    border-radius: 10px;
    transition: background 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.itvw_step_item:hover {
    background: #e0dbf0;
}

.itvw_step_icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    background: #5235AD;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.itvw_step_icon svg {
    width: 16px;
    height: 16px;
    stroke: #fff;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.itvw_step_text {
    flex: 1 1 0;
}

.itvw_step_title {
    font-size: 16px;
    line-height: 1.4;
    color: #1a1230;
    font-weight: 600;
    margin: 0 0 4px;
}

.itvw_step_desc {
    font-size: 16px;
    line-height: 1.4;
    color: #4a4060;
    margin: 0;
}

.itvw_funnel_vis {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.itvw_funnel_row {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    width: 100%;
}

.itvw_funnel_bar {
    height: 56px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    line-height: 1.4;
    color: #fff;
    font-weight: 600;
    transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
    cursor: default;
}

.itvw_funnel_bar:hover {
    transform: scaleY(1.06);
}

.itvw_funnel_bar.f1 {
    background: #5235AD;
    width: 100%;
}

.itvw_funnel_bar.f2 {
    background: #6a4bc0;
    width: 82%;
}

.itvw_funnel_bar.f3 {
    background: #7d5fd0;
    width: 64%;
}

.itvw_funnel_bar.f4 {
    background: #9478d8;
    width: 46%;
}

.itvw_funnel_bar.f5 {
    background: #ABA4D7;
    width: 30%;
    color: #1a1230;
}

.itvw_funnel_tick {
    font-size: 16px;
    line-height: 1.4;
    color: #4a4060;
    margin-top: 4px;
    text-align: center;
}

/* DIVIDER 4 */
.itvw_div4 {
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent, #5235AD 40%, #ABA4D7 60%, transparent);
}

/* CONTACT BLOCK */
.itvw_contact_wrap {
    background: #1a1230;
    padding: 56px 28px;
    position: relative;
    overflow: hidden;
}

.itvw_contact_wrap::before {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 480px;
    height: 320px;
    background: radial-gradient(circle at bottom right, rgba(171, 164, 215, 0.12), transparent 70%);
    pointer-events: none;
}

.itvw_contact_inner {
    max-width: 1320px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: center;
}

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

.itvw_contact_label {
    font-size: 16px;
    line-height: 1.4;
    color: #ABA4D7;
    border-top: 2px solid #5235AD;
    display: inline-block;
    padding-top: 8px;
}

.itvw_contact_h2 {
    font-size: 32px;
    line-height: 1.1;
    color: #fff;
    margin: 0;
}

.itvw_contact_h2 .accent {
    color: #ABA4D7;
}

.itvw_contact_p {
    font-size: 18px;
    line-height: 1.6;
    color: rgba(239, 237, 242, 0.7);
    margin: 0;
}

.itvw_contact_details {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 8px;
}

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

.itvw_contact_icon {
    width: 40px;
    height: 40px;
    background: rgba(82, 53, 173, 0.3);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.itvw_contact_icon svg {
    width: 18px;
    height: 18px;
    stroke: #ABA4D7;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.itvw_contact_val {
    font-size: 16px;
    line-height: 1.4;
    color: rgba(239, 237, 242, 0.85);
    text-decoration: none;
    transition: color 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.itvw_contact_val:hover {
    color: #fff;
}

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

.itvw_form {
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 18px;
    padding: 28px;
    border-top: 2px solid rgba(82, 53, 173, 0.4);
    border-bottom: 2px solid rgba(82, 53, 173, 0.2);
    box-shadow: 0 4px 18px -2px rgba(82, 53, 173, 0.11);
}

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

.itvw_field label {
    font-size: 16px;
    line-height: 1.4;
    color: rgba(239, 237, 242, 0.75);
}

.itvw_field input,
.itvw_field textarea {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(171, 164, 215, 0.25);
    border-radius: 10px;
    padding: 16px;
    font-size: 16px;
    line-height: 1.4;
    color: #fff;
    outline: none;
    transition: border-color 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
    resize: none;
    width: 100%;
}

.itvw_field input::placeholder,
.itvw_field textarea::placeholder {
    color: rgba(171, 164, 215, 0.5);
}

.itvw_field input:focus,
.itvw_field textarea:focus {
    border-color: #5235AD;
    background: rgba(82, 53, 173, 0.12);
}

.itvw_submit_btn {
    background: transparent;
    border: 2px solid #5235AD;
    border-radius: 10px;
    padding: 16px 28px;
    font-size: 16px;
    line-height: 1.4;
    color: #ABA4D7;
    cursor: pointer;
    font-weight: 600;
    position: relative;
    overflow: hidden;
    transition: color 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
    align-self: flex-start;
}

.itvw_submit_btn:hover {
    background: #5235AD;
    color: #fff;
}

.itvw_submit_btn:focus {
    outline: 2px solid #ABA4D7;
    outline-offset: 2px;
}

.itvw_submit_btn:active {
    transform: scale(0.97);
}

/* RESPONSIVE */
@media (max-width: 960px) {
    .itvw_lead_inner {
        flex-direction: column;
        gap: 28px;
    }

    .itvw_lead_text {
        padding: 16px 0;
    }

    .itvw_lead_h1 {
        font-size: 32px;
    }

    .itvw_lead_img_col {
        display: none;
    }

    .itvw_grid {
        grid-template-columns: repeat(2, 1fr);
    }

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

    .itvw_about_aside {
        position: static;
    }

    .itvw_about_metrics {
        grid-template-columns: repeat(2, 1fr);
    }

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

    .itvw_funnel_vis {
        display: none;
    }

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

@media (max-width: 480px) {
    .itvw_lead {
        padding: 28px 16px;
    }

    .itvw_lead_h1 {
        font-size: 32px;
    }

    .itvw_grid {
        grid-template-columns: 1fr;
    }

    .itvw_posts_wrap {
        padding: 28px 16px;
    }

    .itvw_about {
        padding: 28px 16px;
    }

    .itvw_about_metrics {
        grid-template-columns: 1fr;
    }

    .itvw_funnel_wrap {
        padding: 28px 16px;
    }

    .itvw_contact_wrap {
        padding: 28px 16px;
    }

    .itvw_form {
        padding: 16px;
    }
}

@media (min-width: 1440px) {
    .itvw_lead_h1 {
        font-size: 72px;
    }
}

/* Animation: staggered card appearance */
.itvw_card {
    opacity: 0;
    transform: translateY(24px);
    animation: itvw_card_in 0.32s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.itvw_card:nth-child(1) {
    animation-delay: 0.08s;
}

.itvw_card:nth-child(2) {
    animation-delay: 0.16s;
}

.itvw_card:nth-child(3) {
    animation-delay: 0.24s;
}

.itvw_card:nth-child(4) {
    animation-delay: 0.32s;
}

.itvw_card:nth-child(5) {
    animation-delay: 0.40s;
}

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

/* Metric animation */
.itvw_metric_card {
    opacity: 0;
    transform: translateY(16px);
    animation: itvw_metric_in 0.28s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.itvw_metric_card:nth-child(1) {
    animation-delay: 0.1s;
}

.itvw_metric_card:nth-child(2) {
    animation-delay: 0.2s;
}

.itvw_metric_card:nth-child(3) {
    animation-delay: 0.3s;
}

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

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

.cont_us .pg_inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 28px;
}

.cont_us .reach_block {
    padding: 56px 0 28px;
    background: #fff;
    position: relative;
}

.cont_us .reach_block::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, #ABA4D7 40%, #5235AD 60%, transparent);
    opacity: 0.35;
}

.cont_us .reach_layout {
    display: flex;
    flex-direction: row;
    gap: 56px;
    align-items: flex-start;
}

.cont_us .reach_img_col {
    flex: 0 0 48%;
    position: relative;
}

.cont_us .reach_img_wrap {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 18px -2px rgba(82, 53, 173, 0.11), 0 12px 52px -2px rgba(82, 53, 173, 0.10);
    position: relative;
}

.cont_us .reach_img_wrap img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    object-position: center 30%;
    display: block;
    filter: brightness(0.96) saturate(1.08);
}

.cont_us .reach_img_wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 100% 100%, rgba(171, 164, 215, 0.22) 0%, transparent 65%);
    pointer-events: none;
}

.cont_us .reach_glow_bar {
    position: absolute;
    top: 28px;
    left: -8px;
    width: 4px;
    height: 80px;
    background: linear-gradient(180deg, #5235AD, #ABA4D7);
    border-radius: 6px;
}

.cont_us .reach_text_col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 28px;
    padding-top: 8px;
}

.cont_us .reach_accent_line {
    width: 40px;
    height: 3px;
    background: #5235AD;
    border-radius: 6px;
    margin-bottom: 4px;
}

.cont_us .reach_h1 {
    font-size: 72px;
    line-height: 1.1;
    color: #1b1535;
    margin: 0;
}

.cont_us .reach_h1 .kw {
    color: #5235AD;
    text-decoration: underline;
    text-decoration-color: #ABA4D7;
    text-underline-offset: 6px;
}

.cont_us .reach_sub {
    font-size: 18px;
    line-height: 1.6;
    color: #3d3460;
    margin: 0;
    max-width: 440px;
}

.cont_us .reach_meta_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.cont_us .reach_meta_item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    background: #EFEDF2;
    border-radius: 10px;
    padding: 16px;
    box-shadow: 0 1px 3px -2px rgba(82, 53, 173, 0.05);
    transition: box-shadow 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.cont_us .reach_meta_item:hover {
    box-shadow: 0 4px 18px -2px rgba(82, 53, 173, 0.11);
    transform: translateY(-2px);
}

.cont_us .reach_meta_item .mi_icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 3px -2px rgba(82, 53, 173, 0.05);
}

.cont_us .reach_meta_item .mi_icon i {
    font-size: 16px;
    color: #5235AD;
}

.cont_us .reach_meta_item .mi_body {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cont_us .reach_meta_item .mi_label {
    font-size: 16px;
    color: #7a6fb0;
    line-height: 1.1;
}

.cont_us .reach_meta_item .mi_val {
    font-size: 16px;
    color: #1b1535;
    line-height: 1.4;
    font-weight: 600;
}

.cont_us .reach_meta_item .mi_val a {
    color: #5235AD;
    text-decoration: none;
    transition: color 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.cont_us .reach_meta_item .mi_val a:hover {
    color: #3a2480;
}

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

.cont_us .form_block {
    padding: 56px 0;
    background: #EFEDF2;
    position: relative;
}

.cont_us .form_block_bg_accent {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 100% 100%, rgba(171, 164, 215, 0.28) 0%, transparent 60%);
    pointer-events: none;
}

.cont_us .form_layout {
    display: flex;
    flex-direction: row;
    gap: 56px;
    align-items: flex-start;
}

.cont_us .form_aside {
    flex: 0 0 280px;
    display: flex;
    flex-direction: column;
    gap: 28px;
    padding-top: 8px;
}

.cont_us .form_aside_accent {
    width: 40px;
    height: 3px;
    background: #5235AD;
    border-radius: 6px;
}

.cont_us .form_aside_h2 {
    font-size: 32px;
    line-height: 1.1;
    color: #1b1535;
    margin: 0;
}

.cont_us .form_aside_h2 .ac {
    color: #5235AD;
}

.cont_us .form_aside_note {
    font-size: 16px;
    line-height: 1.6;
    color: #3d3460;
    margin: 0;
}

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

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

.cont_us .form_step_arrow {
    display: flex;
    align-items: center;
    justify-content: center;
}

.cont_us .form_step_arrow svg {
    width: 18px;
    height: 18px;
    color: #5235AD;
}

.cont_us .form_step_txt {
    font-size: 16px;
    line-height: 1.4;
    color: #3d3460;
}

.cont_us .form_main {
    flex: 1;
}

.cont_us .contact_form {
    background: #fff;
    border-radius: 18px;
    padding: 28px;
    box-shadow: 0 4px 18px -2px rgba(82, 53, 173, 0.11), 0 12px 52px -2px rgba(82, 53, 173, 0.10);
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.cont_us .cf_row {
    display: flex;
    flex-direction: row;
    gap: 16px;
}

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

.cont_us .cf_field.full {
    flex: 0 0 100%;
}

.cont_us .cf_label {
    font-size: 16px;
    color: #3d3460;
    line-height: 1.4;
    font-weight: 600;
}

.cont_us .cf_label .req {
    color: #5235AD;
    margin-left: 4px;
}

.cont_us .cf_input {
    padding: 16px;
    border: 1.5px solid #d4d0e8;
    border-radius: 10px;
    font-size: 16px;
    color: #1b1535;
    background: #fff;
    outline: none;
    transition: border-color 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: inset 0 1px 2px rgba(82, 53, 173, 0.04);
    width: 100%;
    box-sizing: border-box;
}

.cont_us .cf_input::placeholder {
    color: #ABA4D7;
}

.cont_us .cf_input:focus {
    border-color: #5235AD;
    box-shadow: 0 0 0 3px rgba(82, 53, 173, 0.10), inset 0 1px 2px rgba(82, 53, 173, 0.04);
}

.cont_us .cf_select {
    padding: 16px;
    border: 1.5px solid #d4d0e8;
    border-radius: 10px;
    font-size: 16px;
    color: #1b1535;
    background: #fff;
    outline: none;
    transition: border-color 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: inset 0 1px 2px rgba(82, 53, 173, 0.04);
    width: 100%;
    box-sizing: border-box;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235235AD' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    cursor: pointer;
}

.cont_us .cf_select:focus {
    border-color: #5235AD;
    box-shadow: 0 0 0 3px rgba(82, 53, 173, 0.10), inset 0 1px 2px rgba(82, 53, 173, 0.04);
}

.cont_us .cf_textarea {
    padding: 16px;
    border: 1.5px solid #d4d0e8;
    border-radius: 10px;
    font-size: 16px;
    color: #1b1535;
    background: #fff;
    outline: none;
    transition: border-color 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: inset 0 1px 2px rgba(82, 53, 173, 0.04);
    width: 100%;
    box-sizing: border-box;
    resize: vertical;
    min-height: 120px;
}

.cont_us .cf_textarea::placeholder {
    color: #ABA4D7;
}

.cont_us .cf_textarea:focus {
    border-color: #5235AD;
    box-shadow: 0 0 0 3px rgba(82, 53, 173, 0.10), inset 0 1px 2px rgba(82, 53, 173, 0.04);
}

.cont_us .cf_privacy {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
}

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

.cont_us .cf_privacy_txt {
    font-size: 16px;
    line-height: 1.6;
    color: #3d3460;
}

.cont_us .cf_privacy_txt a {
    color: #5235AD;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.cont_us .cf_privacy_txt a:hover {
    color: #3a2480;
}

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

.cont_us .cf_btn {
    position: relative;
    overflow: hidden;
    padding: 16px 28px;
    border-radius: 10px;
    border: 2px solid #5235AD;
    background: transparent;
    color: #5235AD;
    font-size: 18px;
    line-height: 1.1;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), color 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.28s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 0 1px 3px -2px rgba(82, 53, 173, 0.05);
}

.cont_us .cf_btn:hover {
    background: #5235AD;
    color: #fff;
    box-shadow: 0 4px 18px -2px rgba(82, 53, 173, 0.11);
    transform: translateY(-1px);
}

.cont_us .cf_btn:focus {
    outline: 3px solid rgba(82, 53, 173, 0.35);
    outline-offset: 2px;
}

.cont_us .cf_btn:active {
    transform: scale(0.98);
}

.cont_us .cf_btn .ripple_origin {
    position: absolute;
    border-radius: 48px;
    background: rgba(255, 255, 255, 0.3);
    transform: scale(0);
    animation: btn_ripple 0.5s linear;
    pointer-events: none;
}

@keyframes btn_ripple {
    to {
        transform: scale(4);
        opacity: 0;
    }
}

.cont_us .cf_hint {
    font-size: 16px;
    line-height: 1.4;
    color: #7a6fb0;
}

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

.cont_us .addr_block {
    padding: 56px 0;
    background: #1b1535;
    position: relative;
}

.cont_us .addr_block_fade {
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, #2d2060 0%, #1b1535 100%);
    pointer-events: none;
}

.cont_us .addr_layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 28px;
    align-items: start;
}

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

.cont_us .addr_accent {
    width: 40px;
    height: 3px;
    background: #ABA4D7;
    border-radius: 6px;
}

.cont_us .addr_h3 {
    font-size: 32px;
    line-height: 1.1;
    color: #fff;
    margin: 0;
}

.cont_us .addr_h3 .ac {
    color: #ABA4D7;
}

.cont_us .addr_desc {
    font-size: 16px;
    line-height: 1.6;
    color: #c4bde8;
    margin: 0;
}

.cont_us .addr_card {
    background: rgba(255, 255, 255, 0.06);
    border-radius: 18px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: 0 1px 3px -2px rgba(82, 53, 173, 0.05);
    transition: background 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    border: 1px solid rgba(171, 164, 215, 0.15);
}

.cont_us .addr_card:hover {
    background: rgba(255, 255, 255, 0.10);
    transform: translateY(-3px);
}

.cont_us .addr_card_icon {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: rgba(82, 53, 173, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: float_icon 3.2s ease-in-out infinite;
}

.cont_us .addr_card:nth-child(2) .addr_card_icon {
    animation-duration: 3.8s;
    animation-delay: 0.4s;
}

@keyframes float_icon {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }
}

.cont_us .addr_card_icon i {
    font-size: 20px;
    color: #ABA4D7;
}

.cont_us .addr_card_label {
    font-size: 16px;
    color: #ABA4D7;
    line-height: 1.1;
}

.cont_us .addr_card_val {
    font-size: 18px;
    color: #fff;
    line-height: 1.4;
    font-weight: 600;
}

.cont_us .addr_card_val a {
    color: #fff;
    text-decoration: none;
    transition: color 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.cont_us .addr_card_val a:hover {
    color: #ABA4D7;
}

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

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

.cont_us .addr_postal_line i {
    font-size: 14px;
    color: #ABA4D7;
    flex-shrink: 0;
}

.cont_us .addr_postal_line span {
    font-size: 16px;
    color: #c4bde8;
    line-height: 1.4;
}

.cont_us .wavy_bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: hidden;
    line-height: 0;
    pointer-events: none;
}

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

    .cont_us .reach_img_col {
        display: none;
    }

    .cont_us .reach_h1 {
        font-size: 32px;
    }

    .cont_us .reach_meta_grid {
        grid-template-columns: 1fr;
    }

    .cont_us .form_layout {
        flex-direction: column;
        gap: 28px;
    }

    .cont_us .form_aside {
        flex: unset;
    }

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

    .cont_us .addr_layout {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .cont_us .addr_h3 {
        font-size: 32px;
    }
}

@media (max-width: 480px) {
    .cont_us .reach_block {
        padding: 28px 0 16px;
    }

    .cont_us .form_block {
        padding: 28px 0;
    }

    .cont_us .addr_block {
        padding: 28px 0;
    }

    .cont_us .contact_form {
        padding: 16px;
    }

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

    .cont_us .reach_meta_grid {
        grid-template-columns: 1fr;
    }
}

.abt_us {
    background: #fff;
    overflow-x: clip;
}

.abt_us .pg_intro {
    padding: 56px 28px;
    max-width: 1320px;
    margin: 0 auto;
}

.abt_us .intro_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start;
}

.abt_us .intro_left {
    padding-top: 56px;
}

.abt_us .accent_line {
    width: 48px;
    height: 3px;
    background: #5235AD;
    border-radius: 6px;
    margin-bottom: 28px;
}

.abt_us .intro_label {
    font-size: 16px;
    color: #5235AD;
    line-height: 1.4;
    margin-bottom: 16px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.abt_us .intro_heading {
    font-size: 72px;
    line-height: 1.1;
    color: #1b1340;
    margin-bottom: 28px;
    font-weight: 800;
}

.abt_us .intro_heading .accent_word {
    color: #5235AD;
}

.abt_us .intro_desc {
    font-size: 18px;
    line-height: 1.6;
    color: #3d3557;
    max-width: 480px;
}

.abt_us .intro_right {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.abt_us .img_frame {
    position: relative;
    width: 100%;
    max-width: 520px;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 18px -2px rgba(82, 53, 173, 0.11), 0 12px 52px -2px rgba(82, 53, 173, 0.10);
}

.abt_us .img_frame img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    object-position: center top;
    display: block;
}

.abt_us .img_overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 100% 100%, rgba(171, 164, 215, 0.55) 0%, transparent 65%);
    border-radius: 18px;
}

.abt_us .badge_num {
    position: absolute;
    top: -16px;
    right: -16px;
    width: 72px;
    height: 72px;
    background: #5235AD;
    border-radius: 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 18px -2px rgba(82, 53, 173, 0.11);
    z-index: 2;
}

.abt_us .badge_num .badge_year {
    font-size: 16px;
    color: #fff;
    font-weight: 800;
    line-height: 1.1;
}

.abt_us .badge_num .badge_sub {
    font-size: 16px;
    color: #ABA4D7;
    line-height: 1.1;
    font-weight: 500;
}

.abt_us .decor_circles {
    position: absolute;
    top: 0;
    left: -80px;
    width: 300px;
    height: 300px;
    pointer-events: none;
    z-index: 0;
}

.abt_us .circle_a {
    position: absolute;
    top: 20px;
    left: 20px;
    width: 180px;
    height: 180px;
    border-radius: 48px;
    border: 2px solid rgba(82, 53, 173, 0.10);
    animation: abt_bg_pulse 6s ease-in-out infinite;
}

.abt_us .circle_b {
    position: absolute;
    top: 60px;
    left: 60px;
    width: 100px;
    height: 100px;
    border-radius: 32px;
    background: rgba(171, 164, 215, 0.08);
    animation: abt_bg_pulse 6s ease-in-out infinite 2s;
}

@keyframes abt_bg_pulse {

    0%,
    100% {
        opacity: 0.6;
    }

    50% {
        opacity: 1;
    }
}

.abt_us .bracket_left,
.abt_us .bracket_right {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 80px;
    pointer-events: none;
    z-index: 0;
}

.abt_us .bracket_left {
    left: 0;
    border-left: 3px solid rgba(82, 53, 173, 0.18);
    border-top: 3px solid rgba(82, 53, 173, 0.18);
    border-bottom: 3px solid rgba(82, 53, 173, 0.18);
    border-radius: 10px 0 0 10px;
}

.abt_us .bracket_right {
    right: 0;
    border-right: 3px solid rgba(82, 53, 173, 0.18);
    border-top: 3px solid rgba(82, 53, 173, 0.18);
    border-bottom: 3px solid rgba(82, 53, 173, 0.18);
    border-radius: 0 10px 10px 0;
}

.abt_us .story_band {
    background: #5235AD !important;
    padding: 56px 28px;
    position: relative;
}

.abt_us .story_inner {
    max-width: 1320px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 56px;
    align-items: start;
}

.abt_us .story_aside {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.abt_us .aside_note {
    font-size: 16px;
    line-height: 1.6;
    color: #ABA4D7;
}

.abt_us .aside_stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.abt_us .stat_num {
    font-size: 72px;
    line-height: 1.1;
    font-weight: 800;
    color: #fff;
}

.abt_us .stat_label {
    font-size: 16px;
    color: #ABA4D7;
    line-height: 1.4;
}

.abt_us .story_body {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

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

.abt_us .story_accent_line {
    width: 48px;
    height: 3px;
    background: #ABA4D7;
    border-radius: 6px;
}

.abt_us .story_h2 {
    font-size: 32px;
    line-height: 1.4;
    color: #fff;
    font-weight: 700;
}

.abt_us .story_h2 .accent_word {
    color: #ABA4D7;
}

.abt_us .story_cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}

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

.abt_us .story_col_shifted {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-top: 56px;
}

.abt_us .story_para {
    font-size: 18px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.85);
}

.abt_us .feat_list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 16px;
}

.abt_us .feat_item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.07);
    border-radius: 10px;
    transition: background-color 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.abt_us .feat_item:hover {
    background: rgba(255, 255, 255, 0.13);
}

.abt_us .feat_icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    background: rgba(171, 164, 215, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
}

.abt_us .feat_icon svg {
    width: 16px;
    height: 16px;
    stroke: #fff;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.abt_us .feat_text {
    font-size: 16px;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.9);
}

.abt_us .story_img_pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 8px;
}

.abt_us .story_img_wrap {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px -2px rgba(82, 53, 173, 0.05), 0 4px 18px -2px rgba(82, 53, 173, 0.11);
}

.abt_us .story_img_wrap img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    object-position: center;
    display: block;
}

.abt_us .story_img_wrap.shifted {
    margin-top: 28px;
}

.abt_us .decor_band_shape {
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 48px;
    background: #fff;
    clip-path: ellipse(55% 100% at 50% 100%);
    pointer-events: none;
}

.abt_us .team_row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    padding: 16px 0;
}

.abt_us .team_avatar {
    width: 48px;
    height: 48px;
    border-radius: 32px;
    background: #EFEDF2;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.abt_us .team_avatar svg {
    width: 24px;
    height: 24px;
    stroke: #5235AD;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.abt_us .team_info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.abt_us .team_name {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    line-height: 1.4;
}

.abt_us .team_role {
    font-size: 16px;
    color: #ABA4D7;
    line-height: 1.4;
}

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

    .abt_us .intro_right {
        display: none;
    }

    .abt_us .intro_heading {
        font-size: 32px;
    }

    .abt_us .story_inner {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .abt_us .story_cols {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .abt_us .story_col_shifted {
        padding-top: 0;
    }

    .abt_us .feat_list {
        grid-template-columns: 1fr;
    }

    .abt_us .story_img_pair {
        display: none;
    }
}

@media (max-width: 480px) {
    .abt_us .pg_intro {
        padding: 28px 16px;
    }

    .abt_us .story_band {
        padding: 28px 16px;
    }

    .abt_us .intro_heading {
        font-size: 32px;
    }

    .abt_us .stat_num {
        font-size: 32px;
    }
}

@media (min-width: 1440px) {
    .abt_us .intro_heading {
        font-size: 72px;
    }
}

.abt_us .btn_contact {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 28px;
    border-radius: 10px;
    border: 2px solid #5235AD;
    background: transparent;
    color: #5235AD;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    cursor: pointer;
    text-decoration: none;
    margin-top: 16px;
    transition: background-color 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), color 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
    position: relative;
    overflow: hidden;
}

.abt_us .btn_contact:hover {
    background: #5235AD;
    color: #fff;
}

.abt_us .btn_contact:active {
    transform: scale(0.97);
    transition: transform 0.15s cubic-bezier(0.68, -0.55, 0.27, 1.55), background-color 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.abt_us .btn_contact svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: stroke 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}

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

.success_page .success_card {
    background: #ffffff;
    border-radius: 18px;
    box-shadow: 0 1px 3px -2px rgba(82, 53, 173, 0.05), 0 4px 18px -2px rgba(82, 53, 173, 0.11), 0 12px 52px -2px rgba(82, 53, 173, 0.10);
    padding: 56px 56px 56px 56px;
    max-width: 560px;
    width: 100%;
    text-align: center;
}

.success_page .success_icon_wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border-radius: 48px;
    background: #EFEDF2;
    margin: 0 auto 28px auto;
}

.success_page .success_icon_wrap svg {
    display: block;
}

.success_page .success_heading {
    font-size: 32px;
    line-height: 1.1;
    color: #5235AD;
    margin: 0 0 16px 0;
}

.success_page .success_heading span {
    color: #2a1a6e;
}

.success_page .success_desc {
    font-size: 18px;
    line-height: 1.6;
    color: #3d3060;
    margin: 0 0 28px 0;
}

.success_page .success_note {
    font-size: 16px;
    line-height: 1.4;
    color: #7a6eaa;
    margin: 0 0 28px 0;
    padding: 16px;
    background: #EFEDF2;
    border-radius: 10px;
}

.success_page .success_actions {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.success_page .btn_primary {
    display: inline-block;
    font-size: 16px;
    line-height: 1.4;
    color: #ffffff;
    background: #5235AD;
    border: 2px solid #5235AD;
    border-radius: 10px;
    padding: 16px 28px;
    text-decoration: none;
    cursor: pointer;
    transition: background 150ms cubic-bezier(0.34, 1.56, 0.64, 1), color 150ms cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.success_page .btn_primary:hover {
    background: #3d2490;
    border-color: #3d2490;
    transform: translateY(-2px);
}

.success_page .btn_primary:focus-visible {
    outline: 3px solid #ABA4D7;
    outline-offset: 3px;
}

.success_page .btn_ghost {
    display: inline-block;
    font-size: 16px;
    line-height: 1.4;
    color: #5235AD;
    background: transparent;
    border: 2px solid #ABA4D7;
    border-radius: 10px;
    padding: 16px 28px;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 150ms cubic-bezier(0.34, 1.56, 0.64, 1), color 0.22s cubic-bezier(0.68, -0.55, 0.27, 1.55), transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.success_page .btn_ghost:hover {
    border-color: #5235AD;
    color: #3d2490;
    transform: translateY(-2px);
}

.success_page .btn_ghost:focus-visible {
    outline: 3px solid #ABA4D7;
    outline-offset: 3px;
}

.success_page .success_divider {
    width: 40px;
    height: 3px;
    background: #ABA4D7;
    border-radius: 6px;
    margin: 0 auto 28px auto;
}

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

    .success_page .success_card {
        padding: 28px 16px;
    }

    .success_page .success_actions {
        flex-direction: column;
        gap: 8px;
    }

    .success_page .btn_primary,
    .success_page .btn_ghost {
        width: 100%;
        text-align: center;
    }
}

.not_found_page {
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 56px 28px;
    background: #ffffff;
    position: relative;
    overflow: hidden;
}

.not_found_page .error_backdrop {
    position: absolute;
    bottom: -40px;
    right: -40px;
    width: 420px;
    height: 420px;
    background: radial-gradient(circle at 100% 100%, rgba(171, 164, 215, 0.18), transparent 70%);
    pointer-events: none;
    border-radius: 48px;
}

.not_found_page .error_backdrop_left {
    position: absolute;
    top: -60px;
    left: -60px;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle at 0% 0%, rgba(82, 53, 173, 0.07), transparent 65%);
    pointer-events: none;
    border-radius: 48px;
}

.not_found_page .error_inner {
    max-width: 640px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 28px;
    position: relative;
    z-index: 1;
}

.not_found_page .error_code_wrap {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 16px;
}

.not_found_page .error_code_wrap .code_num {
    font-size: 72px;
    line-height: 1.1;
    font-weight: 800;
    color: #5235AD;
    letter-spacing: -2px;
    user-select: none;
}

.not_found_page .error_code_wrap .code_divider {
    width: 3px;
    height: 52px;
    background: #ABA4D7;
    border-radius: 6px;
    margin-bottom: 10px;
    flex-shrink: 0;
}

.not_found_page .error_code_wrap .code_label {
    font-size: 18px;
    line-height: 1.4;
    color: #3a2880;
    font-weight: 600;
    margin-bottom: 10px;
}

.not_found_page .error_accent_line {
    width: 48px;
    height: 3px;
    background: #5235AD;
    border-radius: 6px;
}

.not_found_page .error_heading {
    font-size: 32px;
    line-height: 1.1;
    font-weight: 700;
    color: #1e1440;
    margin: 0;
}

.not_found_page .error_heading .accent {
    color: #5235AD;
}

.not_found_page .error_desc {
    font-size: 18px;
    line-height: 1.6;
    color: #3d3560;
    margin: 0;
    max-width: 520px;
}

.not_found_page .error_actions {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap;
}

.not_found_page .btn_primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 28px;
    background: transparent;
    color: #5235AD;
    border: 2px solid #5235AD;
    border-radius: 10px;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: color 150ms cubic-bezier(0.34, 1.56, 0.64, 1), background 150ms cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.28s cubic-bezier(0.68, -0.55, 0.27, 1.55);
    box-shadow: 0 1px 3px -2px rgba(82, 53, 173, 0.05);
}

.not_found_page .btn_primary:hover {
    background: #5235AD;
    color: #ffffff;
    box-shadow: 0 4px 18px -2px rgba(82, 53, 173, 0.11);
}

.not_found_page .btn_primary:focus-visible {
    outline: 3px solid #ABA4D7;
    outline-offset: 3px;
}

.not_found_page .btn_primary:active {
    box-shadow: 0 1px 3px -2px rgba(82, 53, 173, 0.05);
    transform: scale(0.98);
}

.not_found_page .btn_secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 28px;
    background: transparent;
    color: #3d3560;
    border: 2px solid #EFEDF2;
    border-radius: 10px;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: color 150ms cubic-bezier(0.34, 1.56, 0.64, 1), border-color 150ms cubic-bezier(0.34, 1.56, 0.64, 1), background 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.not_found_page .btn_secondary:hover {
    background: #EFEDF2;
    border-color: #ABA4D7;
    color: #5235AD;
}

.not_found_page .btn_secondary:focus-visible {
    outline: 3px solid #ABA4D7;
    outline-offset: 3px;
}

.not_found_page .error_nav_hint {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 28px;
    background: #EFEDF2;
    border-radius: 18px;
    width: 100%;
    box-shadow: 0 1px 3px -2px rgba(82, 53, 173, 0.05);
}

.not_found_page .error_nav_hint .hint_label {
    font-size: 16px;
    line-height: 1.4;
    color: #3d3560;
    font-weight: 600;
    margin: 0 0 4px 0;
}

.not_found_page .error_nav_hint .hint_links {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
}

.not_found_page .error_nav_hint .hint_link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 16px;
    line-height: 1.4;
    color: #5235AD;
    text-decoration: none;
    padding: 4px 8px;
    border-radius: 6px;
    transition: color 120ms cubic-bezier(0.34, 1.56, 0.64, 1), background 120ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

.not_found_page .error_nav_hint .hint_link:hover {
    color: #3a2880;
    background: rgba(82, 53, 173, 0.08);
}

.not_found_page .error_nav_hint .hint_link:focus-visible {
    outline: 2px solid #5235AD;
    outline-offset: 2px;
}

.not_found_page .hint_link_icon {
    width: 14px;
    height: 14px;
    display: inline-block;
    flex-shrink: 0;
}

@media (max-width: 480px) {
    .not_found_page {
        padding: 56px 16px;
        align-items: flex-start;
    }

    .not_found_page .error_inner {
        gap: 16px;
    }

    .not_found_page .error_code_wrap .code_num {
        font-size: 56px;
    }

    .not_found_page .error_heading {
        font-size: 32px;
    }

    .not_found_page .error_actions {
        flex-direction: column;
        width: 100%;
    }

    .not_found_page .btn_primary,
    .not_found_page .btn_secondary {
        width: 100%;
        justify-content: center;
    }

    .not_found_page .error_backdrop {
        width: 240px;
        height: 240px;
    }
}

@media (min-width: 960px) {
    .not_found_page .error_inner {
        gap: 28px;
    }
}