body {
    margin: 0;
    -webkit-text-size-adjust: 100%;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.header_bar {
    background: #ffffff;
    border-bottom: 2px solid #5746CE;
    box-shadow: -1px 6px 28px 0 rgba(87, 70, 206, 0.09);
    position: relative;
    z-index: 100;
}

.header_top_row {
    max-width: 1024px;
    margin: 0 auto;
    padding: 20px 40px 0 40px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
}

.logo_hex_frame {
    width: 65px;
    height: 65px;
    flex-shrink: 0;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 1px solid #2a2040;
    box-shadow: -1px 3px 4px 0 rgba(87, 70, 206, 0.05);
    clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
}

.logo_hex_frame img {
    width: 48px;
    height: 48px;
    object-fit: contain;
    object-position: center;
    display: block;
}

.header_brand_details {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-end;
}

.brand_name_label {
    font-family: 'Cormorant', serif;
    font-size: 42px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0.02em;
    color: #1a0a3c;
    margin: 0;
}

.brand_name_label span {
    color: #5746CE;
}

.header_phone_link {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #2a2040;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    border: 1px solid #D5DEE4;
    border-radius: 5px;
    background: #ffffff;
    transition: border-color 0.15s ease-out, background 0.15s ease-out, color 0.12s ease;
}

.header_phone_link:hover {
    border-color: #5746CE;
    background: linear-gradient(135deg, #f5f3ff 0%, #eafafb 100%);
    color: #5746CE;
}

.header_phone_link:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(87, 70, 206, 0.25);
}

.header_phone_link i {
    font-size: 15px;
    color: #37C1C8;
}

.header_nav_row {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 40px;
}

.primary_menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    border-top: 1px solid #D5DEE4;
    margin-top: 20px;
}

.primary_menu li {
    position: relative;
}

.primary_menu li a {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #2a2040;
    text-decoration: none;
    display: block;
    padding: 20px 20px;
    position: relative;
    transition: color 0.12s ease-out;
}

.primary_menu li a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 20px;
    right: 20px;
    height: 2px;
    background: linear-gradient(90deg, #5746CE, #37C1C8);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.18s ease-out;
}

.primary_menu li a:hover {
    color: #5746CE;
}

.primary_menu li a:hover::after {
    transform: scaleX(1);
}

.primary_menu li a:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(87, 70, 206, 0.25);
    border-radius: 5px;
}

.primary_menu li a[aria-current="page"] {
    color: #5746CE;
}

.primary_menu li a[aria-current="page"]::after {
    transform: scaleX(1);
}

@media (max-width: 768px) {
    .header_top_row {
        padding: 20px 20px 0 20px;
        gap: 20px;
    }

    .header_nav_row {
        padding: 0 20px;
    }

    .brand_name_label {
        font-size: 42px;
    }

    .primary_menu li a {
        padding: 10px 10px;
        font-size: 15px;
    }

    .primary_menu li a::after {
        left: 10px;
        right: 10px;
    }
}

@media (max-width: 390px) {
    .header_top_row {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .header_brand_details {
        align-items: flex-start;
        width: 100%;
    }

    .brand_name_label {
        font-size: 42px;
    }

    .primary_menu {
        gap: 0;
    }

    .primary_menu li a {
        padding: 10px 10px;
    }
}

.footer_area {
    background: linear-gradient(160deg, #1a0a3c 0%, #0d1a2e 100%);
    color: #D5DEE4;
    padding: 80px 0 40px 0;
    position: relative;
    overflow: hidden;
}

.footer_area::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #5746CE, #37C1C8, #5746CE);
}

.footer_top_band {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 40px 40px 40px;
    display: flex;
    align-items: center;
    gap: 40px;
    border-bottom: 1px solid rgba(213, 222, 228, 0.15);
}

.footer_logo_hex {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: -1px 3px 4px 0 rgba(55, 193, 200, 0.05), 0 0 0 2px rgba(87, 70, 206, 0.3);
    clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
}

.footer_logo_hex img {
    width: 44px;
    height: 44px;
    object-fit: contain;
    object-position: center;
    display: block;
}

.footer_brand_tagline {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0.02em;
    color: #D5DEE4;
    margin: 0;
    opacity: 0.8;
}

.footer_brand_tagline strong {
    color: #37C1C8;
    font-weight: 700;
    opacity: 1;
}

.footer_columns_grid {
    max-width: 1024px;
    margin: 0 auto;
    padding: 40px 40px 0 40px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
}

.footer_group_label {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #5746CE;
    text-transform: uppercase;
    margin: 0 0 20px 0;
}

.footer_group_label::after {
    content: '';
    display: block;
    width: 30px;
    height: 1px;
    background: #37C1C8;
    margin-top: 10px;
}

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

.footer_link_list li a {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #D5DEE4;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 10px;
    opacity: 0.75;
    transition: opacity 0.12s ease-out, color 0.12s ease-out;
}

.footer_link_list li a i {
    font-size: 15px;
    color: #37C1C8;
    flex-shrink: 0;
}

.footer_link_list li a:hover {
    opacity: 1;
    color: #37C1C8;
}

.footer_link_list li a:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(55, 193, 200, 0.35);
    border-radius: 5px;
    opacity: 1;
}

.footer_contact_group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer_contact_item {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #D5DEE4;
    opacity: 0.75;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.footer_contact_item i {
    font-size: 15px;
    color: #5746CE;
    flex-shrink: 0;
    margin-top: 2px;
}

.footer_contact_item a {
    color: #D5DEE4;
    text-decoration: none;
    transition: color 0.12s ease-out;
}

.footer_contact_item a:hover {
    color: #37C1C8;
}

.footer_contact_item a:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(55, 193, 200, 0.35);
    border-radius: 5px;
}

.footer_messaging_row {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 10px;
}

.footer_messaging_link {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #D5DEE4;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    border: 1px solid rgba(213, 222, 228, 0.15);
    border-radius: 5px;
    opacity: 0.75;
    transition: opacity 0.15s ease-out, border-color 0.15s ease-out, background 0.15s ease-out;
}

.footer_messaging_link i {
    font-size: 15px;
    color: #37C1C8;
}

.footer_messaging_link:hover {
    opacity: 1;
    border-color: #37C1C8;
    background: rgba(55, 193, 200, 0.07);
}

.footer_messaging_link:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(55, 193, 200, 0.35);
    opacity: 1;
}

.footer_bottom_strip {
    max-width: 1024px;
    margin: 40px auto 0 auto;
    padding: 20px 40px 0 40px;
    border-top: 1px solid rgba(213, 222, 228, 0.12);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
}

.footer_copyright {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #D5DEE4;
    opacity: 0.5;
    margin: 0;
}

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

.footer_legal_links li a {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #D5DEE4;
    text-decoration: none;
    opacity: 0.45;
    transition: opacity 0.12s ease-out, color 0.12s ease-out;
}

.footer_legal_links li a:hover {
    opacity: 0.9;
    color: #37C1C8;
}

.footer_legal_links li a:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(55, 193, 200, 0.35);
    border-radius: 5px;
    opacity: 0.9;
}

.footer_script_accent {
    font-family: 'Cormorant', serif;
    font-size: 58px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: transparent;
    -webkit-text-stroke: 1px rgba(87, 70, 206, 0.15);
    pointer-events: none;
    user-select: none;
    position: absolute;
    bottom: 40px;
    right: 40px;
    white-space: nowrap;
}

@media (max-width: 768px) {
    .footer_columns_grid {
        grid-template-columns: 1fr 1fr;
        padding: 40px 20px 0 20px;
        gap: 40px;
    }

    .footer_top_band {
        padding: 0 20px 40px 20px;
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .footer_bottom_strip {
        padding: 20px 20px 0 20px;
        flex-direction: column;
        align-items: flex-start;
    }

    .footer_script_accent {
        display: none;
    }
}

@media (max-width: 390px) {
    .footer_columns_grid {
        grid-template-columns: 1fr;
        padding: 40px 20px 0 20px;
    }

    .footer_legal_links {
        gap: 10px;
    }
}

.cookie_strip {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1500;
    background: #ffffff;
    border-bottom: 2px solid #5746CE;
    box-shadow: -1px 6px 28px 0 rgba(87, 70, 206, 0.09);
    padding: 20px 40px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
}

.cookie_strip[hidden] {
    display: none;
}

.cookie_text_area {
    flex: 1;
    min-width: 0;
}

.cookie_headline {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #1a0a3c;
    margin: 0 0 10px 0;
}

.cookie_description {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #2a2040;
    margin: 0;
}

.cookie_description ul {
    margin: 10px 0 0 0;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cookie_description ul li {
    line-height: 1.4;
}

.cookie_controls_area {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex-shrink: 0;
}

.cookie_necessary_row {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: 'Cormorant', serif;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #2a2040;
}

.cookie_toggle_group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cookie_toggle_item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    font-family: 'Cormorant', serif;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #2a2040;
}

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

.cookie_toggle_switch input[type="checkbox"] {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}

.cookie_toggle_track {
    position: absolute;
    inset: 0;
    background: #D5DEE4;
    border-radius: 38px;
    cursor: pointer;
    transition: background 0.15s ease-out;
}

.cookie_toggle_track::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    background: #ffffff;
    border-radius: 38px;
    transition: transform 0.15s ease-out;
    box-shadow: -1px 3px 4px 0 rgba(87, 70, 206, 0.05);
}

.cookie_toggle_switch input:checked+.cookie_toggle_track {
    background: #5746CE;
}

.cookie_toggle_switch input:checked+.cookie_toggle_track::after {
    transform: translateX(18px);
}

.cookie_toggle_switch input:focus+.cookie_toggle_track {
    box-shadow: 0 0 0 3px rgba(87, 70, 206, 0.25);
}

.cookie_data_sale_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    font-family: 'Cormorant', serif;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #2a2040;
    padding: 10px;
    border: 1px solid #D5DEE4;
    border-radius: 5px;
}

.cookie_action_row {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.cookie_accept_button {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #5746CE;
    background: transparent;
    border: 1px solid #5746CE;
    border-radius: 5px;
    padding: 10px 20px;
    cursor: pointer;
    text-decoration: underline;
    transition: background 0.15s ease-out, color 0.12s ease-out;
    min-height: 44px;
}

.cookie_accept_button:hover {
    background: linear-gradient(135deg, #5746CE 0%, #37C1C8 100%);
    color: #ffffff;
    border-color: transparent;
}

.cookie_accept_button:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(87, 70, 206, 0.25);
}

.cookie_reject_link {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #2a2040;
    background: none;
    border: none;
    cursor: pointer;
    text-decoration: underline;
    padding: 10px 0;
    min-height: 44px;
    transition: color 0.12s ease-out;
}

.cookie_reject_link:hover {
    color: #5746CE;
}

.cookie_reject_link:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(87, 70, 206, 0.25);
    border-radius: 5px;
}

@media (max-width: 768px) {
    .cookie_strip {
        padding: 20px;
        flex-direction: column;
    }
}

@media (max-width: 390px) {
    .cookie_strip {
        padding: 20px;
    }

    .cookie_action_row {
        gap: 10px;
    }
}

.legal-wrapper {
    max-width: 1024px;
    margin: 0 auto;
    padding: 80px 40px;
    color: #2a2a35;
    line-height: 1.6;
}

.legal-wrapper h1 {
    font-size: 58px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #5746CE;
    margin-bottom: 40px;
    margin-top: 0;
}

.legal-wrapper h2 {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #2a2a35;
    margin-top: 80px;
    margin-bottom: 20px;
}

.legal-wrapper h3 {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #5746CE;
    text-transform: uppercase;
    font-weight: 700;
    margin-top: 40px;
    margin-bottom: 10px;
}

.legal-wrapper h4 {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #2a2a35;
    font-weight: 700;
    margin-top: 20px;
    margin-bottom: 10px;
}

.legal-wrapper h5 {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #37C1C8;
    font-weight: 600;
    margin-top: 20px;
    margin-bottom: 10px;
}

.legal-wrapper h6 {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #5a5a6e;
    font-weight: 600;
    margin-top: 20px;
    margin-bottom: 10px;
}

.legal-wrapper p {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #2a2a35;
    margin-top: 0;
    margin-bottom: 20px;
}

.legal-wrapper ul {
    margin-top: 0;
    margin-bottom: 20px;
    padding-left: 20px;
    list-style: none;
}

.legal-wrapper ol {
    margin-top: 0;
    margin-bottom: 20px;
    padding-left: 20px;
    list-style: none;
    counter-reset: policy-counter;
}

.legal-wrapper ul li {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #2a2a35;
    margin-bottom: 10px;
    padding-left: 20px;
    position: relative;
}

.legal-wrapper ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 6px;
    height: 6px;
    border-radius: 38px;
    background-color: #37C1C8;
}

.legal-wrapper ol li {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #2a2a35;
    margin-bottom: 10px;
    padding-left: 20px;
    position: relative;
    counter-increment: policy-counter;
}

.legal-wrapper ol li::before {
    content: counter(policy-counter) ".";
    position: absolute;
    left: 0;
    top: 0;
    font-size: 15px;
    font-weight: 700;
    color: #5746CE;
    line-height: 1.6;
}

.legal-wrapper ul ul,
.legal-wrapper ol ol,
.legal-wrapper ul ol,
.legal-wrapper ol ul {
    margin-top: 10px;
    margin-bottom: 0;
}

.legal-wrapper strong,
.legal-wrapper b {
    font-weight: 700;
    color: #2a2a35;
}

.legal-wrapper em,
.legal-wrapper i {
    font-style: italic;
    color: #5a5a6e;
}

.legal-wrapper hr {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, #5746CE22, #37C1C844, #D5DEE4);
    margin-top: 40px;
    margin-bottom: 40px;
}

.legal-wrapper div {
    font-size: 15px;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .legal-wrapper {
        padding: 40px 20px;
    }

    .legal-wrapper h1 {
        font-size: 42px;
    }

    .legal-wrapper h2 {
        font-size: 42px;
        margin-top: 40px;
    }
}

@media (max-width: 390px) {
    .legal-wrapper {
        padding: 20px 10px;
    }

    .legal-wrapper h1 {
        font-size: 42px;
    }

    .legal-wrapper h2 {
        font-size: 42px;
        margin-top: 40px;
    }
}

.learning-program_detail {
    background: #fff;
    color: #1b1b2e;
    overflow-x: hidden;
}

.learning-program_detail .animated_underline {
    position: relative;
    display: inline-block;
}

.learning-program_detail .animated_underline::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 0;
    height: 3px;
    background: linear-gradient(to right, #5746CE, transparent);
    animation: underline_draw 0.8s ease-out 0.4s forwards;
}

@keyframes underline_draw {
    to {
        width: 100%;
    }
}

@keyframes color_sweep {
    0% {
        background-position: -200% center;
    }

    100% {
        background-position: 200% center;
    }
}

@keyframes gradient_shift {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

.learning-program_detail .sweep_text {
    background: linear-gradient(90deg, #1b1b2e 30%, #5746CE 50%, #37C1C8 60%, #1b1b2e 80%);
    background-size: 300% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: color_sweep 2.4s ease-out 0.2s both;
}

.learning-program_detail .top_anchor {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    visibility: hidden;
    pointer-events: none;
}

.learning-program_detail .breadcrumb_bar {
    max-width: 1024px;
    margin: 0 auto;
    padding: 20px 40px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

.learning-program_detail .breadcrumb_bar a {
    font-size: 15px;
    color: #5746CE;
    text-decoration: none;
    letter-spacing: 0.01em;
    transition: color 0.15s ease-out;
}

.learning-program_detail .breadcrumb_bar a:hover {
    color: #37C1C8;
}

.learning-program_detail .breadcrumb_bar span {
    font-size: 15px;
    color: #8a8aaa;
    letter-spacing: 0.01em;
}

.learning-program_detail .title_block {
    position: relative;
    background: linear-gradient(135deg, #5746CE, #37C1C8, #5746CE, #D5DEE4);
    background-size: 300% 300%;
    animation: gradient_shift 8s ease infinite;
    padding: 80px 40px;
    overflow: hidden;
}

.learning-program_detail .title_block .faded_letter {
    position: absolute;
    top: -20px;
    right: 40px;
    font-size: 260px;
    font-weight: 900;
    color: rgba(255, 255, 255, 0.08);
    line-height: 1.1;
    letter-spacing: -0.02em;
    pointer-events: none;
    user-select: none;
}

.learning-program_detail .title_block_grid {
    max-width: 1024px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 40px;
    align-items: start;
    position: relative;
}

.learning-program_detail .title_meta_row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.learning-program_detail .category_pill {
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.4);
    color: #fff;
    font-size: 15px;
    letter-spacing: 0.02em;
    padding: 5px 20px;
    border-radius: 38px;
    text-transform: uppercase;
    font-weight: 600;
}

.learning-program_detail .user_format_badge {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: rgba(255, 255, 255, 0.9);
    font-size: 15px;
    padding: 5px 20px;
    border-radius: 38px;
    letter-spacing: 0.01em;
}

.learning-program_detail .title_description_pre {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.6;
    letter-spacing: 0.01em;
    margin-bottom: 20px;
    max-width: 560px;
}

.learning-program_detail .main_heading {
    font-size: 58px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #fff;
    margin-bottom: 20px;
}

.learning-program_detail .title_stats_row {
    display: flex;
    flex-direction: row;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.learning-program_detail .stat_chip {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 15px;
    letter-spacing: 0.01em;
}

.learning-program_detail .stat_chip i {
    font-size: 18px;
    color: rgba(255, 255, 255, 0.7);
}

.learning-program_detail .sidebar_card {
    background: #fff;
    border-radius: 14px;
    box-shadow: -1px 10px 48px 0 rgba(87, 70, 206, 0.12);
    overflow: hidden;
    position: sticky;
    top: 20px;
}

.learning-program_detail .sidebar_image_wrap {
    width: 100%;
    height: 200px;
    overflow: hidden;
    position: relative;
}

.learning-program_detail .sidebar_image_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0.82;
    display: block;
}

.learning-program_detail .sidebar_body {
    padding: 20px;
}

.learning-program_detail .price_display {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #5746CE;
    font-weight: 700;
    margin-bottom: 10px;
}

.learning-program_detail .price_description {
    font-size: 15px;
    color: #4a4a6a;
    line-height: 1.6;
    letter-spacing: 0.01em;
    margin-bottom: 10px;
}

.learning-program_detail .price_note_text {
    font-size: 15px;
    color: #8a8aaa;
    line-height: 1.4;
    letter-spacing: 0.01em;
    margin-bottom: 20px;
    font-style: italic;
}

.learning-program_detail .seats_indicator {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    background: #fff8f0;
    border: 1px solid #f0d9b5;
    border-radius: 5px;
    padding: 10px;
    margin-bottom: 20px;
}

.learning-program_detail .seats_indicator i {
    color: #c97a2a;
    font-size: 18px;
}

.learning-program_detail .seats_indicator span {
    font-size: 15px;
    color: #7a4a10;
    letter-spacing: 0.01em;
    line-height: 1.4;
}

.learning-program_detail .enroll_button {
    display: block;
    width: 100%;
    padding: 20px;
    background: transparent;
    border: 2px solid #5746CE;
    border-radius: 5px;
    color: #5746CE;
    font-size: 15px;
    letter-spacing: 0.02em;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: color 0.18s ease-out, border-color 0.18s ease-out;
    box-shadow: -1px 3px 4px 0 rgba(87, 70, 206, 0.05);
}

.learning-program_detail .enroll_button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, #5746CE, #37C1C8);
    transition: left 0.2s ease-out;
    z-index: 0;
}

.learning-program_detail .enroll_button:hover::before {
    left: 0;
}

.learning-program_detail .enroll_button:hover {
    color: #fff;
    border-color: #37C1C8;
}

.learning-program_detail .enroll_button span {
    position: relative;
    z-index: 1;
}

.learning-program_detail .likes_row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    margin-top: 20px;
    color: #8a8aaa;
    font-size: 15px;
    letter-spacing: 0.01em;
}

.learning-program_detail .likes_row i {
    color: #5746CE;
    font-size: 18px;
}

.learning-program_detail .thick_divider {
    max-width: 1024px;
    margin: 0 auto;
    height: 4px;
    background: linear-gradient(to right, #5746CE, #37C1C8, transparent);
    border-radius: 5px;
}

.learning-program_detail .description_section {
    padding: 80px 40px;
    background: #f4f2ff;
    position: relative;
}

.learning-program_detail .description_section .blob_bg {
    position: absolute;
    top: -40px;
    right: -40px;
    width: 320px;
    height: 320px;
    background: radial-gradient(ellipse at 60% 40%, rgba(55, 193, 200, 0.12) 0%, transparent 70%);
    border-radius: 38% 62% 55% 45% / 48% 38% 62% 52%;
    pointer-events: none;
    overflow: hidden;
}

.learning-program_detail .description_inner {
    max-width: 1024px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}

.learning-program_detail .description_label {
    font-size: 15px;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #37C1C8;
    font-weight: 700;
    margin-bottom: 20px;
}

.learning-program_detail .description_heading {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #1b1b2e;
    margin-bottom: 20px;
    text-transform: uppercase;
    font-weight: 300;
}

.learning-program_detail .description_body {
    font-size: 15px;
    line-height: 1.6;
    color: #2e2e4a;
    letter-spacing: 0.01em;
}

.learning-program_detail .description_body p {
    margin-bottom: 20px;
}

.learning-program_detail .description_body h2 {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #5746CE;
    margin-bottom: 10px;
    margin-top: 20px;
    text-transform: uppercase;
    font-weight: 300;
}

.learning-program_detail .description_body h3 {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #1b1b2e;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 10px;
    margin-top: 20px;
}

.learning-program_detail .description_body strong {
    color: #5746CE;
    font-weight: 700;
}

.learning-program_detail .description_body ul,
.learning-program_detail .description_body ol {
    padding-left: 20px;
    margin-bottom: 20px;
}

.learning-program_detail .description_body li {
    margin-bottom: 10px;
    line-height: 1.6;
}

.learning-program_detail .description_body figure {
    margin: 20px 0;
    border-radius: 14px;
    overflow: hidden;
}

.learning-program_detail .description_body figcaption {
    font-size: 15px;
    color: #8a8aaa;
    margin-top: 10px;
    font-style: italic;
}

.learning-program_detail .description_body cite {
    font-style: italic;
    color: #5746CE;
}

.learning-program_detail .description_body dl {
    margin-bottom: 20px;
}

.learning-program_detail .description_body dt {
    font-weight: 700;
    color: #1b1b2e;
    margin-top: 10px;
}

.learning-program_detail .description_body dd {
    color: #4a4a6a;
    margin-left: 20px;
    line-height: 1.6;
}

.learning-program_detail .bracket_box {
    position: relative;
    padding: 20px;
    background: #fff;
    border-radius: 5px;
    box-shadow: -1px 6px 28px 0 rgba(87, 70, 206, 0.09);
}

.learning-program_detail .bracket_box::before,
.learning-program_detail .bracket_box::after {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    border-color: #5746CE;
    border-style: solid;
}

.learning-program_detail .bracket_box::before {
    top: 0;
    left: 0;
    border-width: 3px 0 0 3px;
    border-radius: 5px 0 0 0;
}

.learning-program_detail .bracket_box::after {
    bottom: 0;
    right: 0;
    border-width: 0 3px 3px 0;
    border-radius: 0 0 5px 0;
}

.learning-program_detail .program_section {
    padding: 80px 40px;
    background: #fff;
}

.learning-program_detail .program_inner {
    max-width: 1024px;
    margin: 0 auto;
}

.learning-program_detail .program_header {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 40px;
    gap: 20px;
    flex-wrap: wrap;
}

.learning-program_detail .program_heading {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #1b1b2e;
    text-transform: uppercase;
    font-weight: 300;
}

.learning-program_detail .program_duration_note {
    font-size: 15px;
    color: #5746CE;
    letter-spacing: 0.02em;
    font-weight: 700;
}

.learning-program_detail .program_body {
    font-size: 15px;
    line-height: 1.6;
    color: #2e2e4a;
    letter-spacing: 0.01em;
}

.learning-program_detail .program_body p {
    margin-bottom: 20px;
}

.learning-program_detail .program_body h2 {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #5746CE;
    margin-bottom: 10px;
    margin-top: 20px;
    text-transform: uppercase;
    font-weight: 300;
}

.learning-program_detail .program_body em {
    color: #37C1C8;
    font-style: normal;
    font-weight: 600;
}

.learning-program_detail .program_body ul,
.learning-program_detail .program_body ol {
    padding-left: 20px;
    margin-bottom: 20px;
}

.learning-program_detail .program_body li {
    margin-bottom: 10px;
    line-height: 1.6;
}

.learning-program_detail .program_body blockquote {
    border-top: 4px solid #5746CE;
    background: #f4f2ff;
    padding: 20px;
    border-radius: 5px;
    margin: 20px 0;
    font-style: italic;
    color: #3a3a5e;
}

.learning-program_detail .program_body details {
    border: 1px solid #D5DEE4;
    border-radius: 5px;
    margin-bottom: 10px;
    overflow: hidden;
}

.learning-program_detail .program_body summary {
    padding: 10px 20px;
    cursor: pointer;
    font-weight: 700;
    color: #5746CE;
    letter-spacing: 0.01em;
    background: #f4f2ff;
    list-style: none;
    transition: background 0.15s ease-out;
}

.learning-program_detail .program_body summary:hover {
    background: #e8e4ff;
}

.learning-program_detail .program_body details[open] summary {
    border-bottom: 1px solid #D5DEE4;
}

.learning-program_detail .program_body details>*:not(summary) {
    padding: 10px 20px;
}

.learning-program_detail .program_body dl {
    margin-bottom: 20px;
}

.learning-program_detail .program_body dt {
    font-weight: 700;
    color: #1b1b2e;
    margin-top: 10px;
}

.learning-program_detail .program_body dd {
    color: #4a4a6a;
    margin-left: 20px;
    line-height: 1.6;
}

.learning-program_detail .program_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 20px;
}

.learning-program_detail .program_item_card {
    background: #f4f2ff;
    border-radius: 14px;
    padding: 20px;
    position: relative;
    transition: box-shadow 0.18s ease-out, background 0.18s ease-out;
    cursor: default;
}

.learning-program_detail .program_item_card:hover {
    background: linear-gradient(to right, #f4f2ff, #e8f9fa);
    box-shadow: -1px 6px 28px 0 rgba(87, 70, 206, 0.09);
}

.learning-program_detail .program_grid:hover .program_item_card:not(:hover) {
    opacity: 0.65;
    transition: opacity 0.15s ease-out;
}

.learning-program_detail .bottom_divider_wrap {
    padding: 0 40px;
}

.learning-program_detail .cta_strip {
    padding: 80px 40px;
    background: #1b1b2e;
    position: relative;
    overflow: hidden;
}

.learning-program_detail .cta_strip_inner {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    flex-wrap: wrap;
}

.learning-program_detail .cta_text_block {
    flex: 1;
    min-width: 240px;
}

.learning-program_detail .cta_heading {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #fff;
    text-transform: uppercase;
    font-weight: 300;
    margin-bottom: 10px;
}

.learning-program_detail .cta_sub {
    font-size: 15px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
    letter-spacing: 0.01em;
}

.learning-program_detail .cta_actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
}

.learning-program_detail .cta_primary {
    display: inline-block;
    padding: 20px 40px;
    background: transparent;
    border: 2px solid #37C1C8;
    border-radius: 5px;
    color: #37C1C8;
    font-size: 15px;
    letter-spacing: 0.02em;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: color 0.18s ease-out, border-color 0.2s ease-out;
}

.learning-program_detail .cta_primary::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, #37C1C8, #5746CE);
    transition: left 0.2s ease-out;
    z-index: 0;
}

.learning-program_detail .cta_primary:hover::before {
    left: 0;
}

.learning-program_detail .cta_primary:hover {
    color: #fff;
    border-color: #5746CE;
}

.learning-program_detail .cta_primary span {
    position: relative;
    z-index: 1;
}

.learning-program_detail .cta_link_contact {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.55);
    letter-spacing: 0.01em;
    text-decoration: none;
    transition: color 0.15s ease-out;
}

.learning-program_detail .cta_link_contact:hover {
    color: #37C1C8;
}

.learning-program_detail .back_top_wrap {
    max-width: 1024px;
    margin: 0 auto;
    padding: 20px 40px;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
}

.learning-program_detail .back_top_link {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    color: #5746CE;
    font-size: 15px;
    letter-spacing: 0.02em;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 700;
    border: 2px solid #5746CE;
    border-radius: 5px;
    padding: 10px 20px;
    position: relative;
    overflow: hidden;
    transition: color 0.18s ease-out, border-color 0.18s ease-out;
}

.learning-program_detail .back_top_link::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, #5746CE, transparent);
    transition: left 0.2s ease-out;
    z-index: 0;
}

.learning-program_detail .back_top_link:hover::before {
    left: 0;
}

.learning-program_detail .back_top_link:hover {
    color: #fff;
    border-color: #37C1C8;
}

.learning-program_detail .back_top_link i,
.learning-program_detail .back_top_link span {
    position: relative;
    z-index: 1;
}

@media (max-width: 1280px) {
    .learning-program_detail .title_block_grid {
        grid-template-columns: 1fr 300px;
    }
}

@media (max-width: 768px) {
    .learning-program_detail .title_block {
        padding: 40px 20px;
    }

    .learning-program_detail .title_block_grid {
        grid-template-columns: 1fr;
    }

    .learning-program_detail .sidebar_card {
        position: static;
    }

    .learning-program_detail .sidebar_image_wrap {
        display: none;
    }

    .learning-program_detail .description_inner {
        grid-template-columns: 1fr;
    }

    .learning-program_detail .description_section {
        padding: 40px 20px;
    }

    .learning-program_detail .program_section {
        padding: 40px 20px;
    }

    .learning-program_detail .program_grid {
        grid-template-columns: 1fr;
    }

    .learning-program_detail .main_heading {
        font-size: 42px;
    }

    .learning-program_detail .cta_strip {
        padding: 40px 20px;
    }

    .learning-program_detail .cta_strip_inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .learning-program_detail .breadcrumb_bar {
        padding: 20px;
    }

    .learning-program_detail .bottom_divider_wrap {
        padding: 0 20px;
    }

    .learning-program_detail .back_top_wrap {
        padding: 20px;
    }
}

@media (max-width: 390px) {
    .learning-program_detail .main_heading {
        font-size: 42px;
    }

    .learning-program_detail .price_display {
        font-size: 42px;
    }

    .learning-program_detail .title_block {
        padding: 40px 10px;
    }

    .learning-program_detail .description_section {
        padding: 40px 10px;
    }

    .learning-program_detail .program_section {
        padding: 40px 10px;
    }

    .learning-program_detail .cta_strip {
        padding: 40px 10px;
    }
}

.opening {
    background: #fff;
    color: #1b1b2e;
    overflow-x: clip;
}

.opening .split_title {
    display: grid;
    grid-template-columns: 30% 70%;
    min-height: 480px;
    position: relative;
}

.opening .title_image_zone {
    position: relative;
    overflow: hidden;
    background: #D5DEE4;
}

.opening .title_image_zone img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    clip-path: polygon(0 0, 85% 0, 100% 100%, 0 100%);
}

.opening .title_text_zone {
    padding: 80px 40px 40px 40px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: relative;
}

.opening .title_deco {
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    bottom: 20px;
    pointer-events: none;
}

.opening .title_deco::before,
.opening .title_deco::after {
    content: '';
    position: absolute;
    background: #5746CE;
}

.opening .title_deco::before {
    top: 0;
    left: 0;
    width: 40px;
    height: 2px;
}

.opening .title_deco::after {
    bottom: 0;
    right: 0;
    width: 40px;
    height: 2px;
}

.opening .deco_corner_tl {
    position: absolute;
    top: 20px;
    left: 20px;
    width: 2px;
    height: 40px;
    background: #5746CE;
    pointer-events: none;
}

.opening .deco_corner_br {
    position: absolute;
    bottom: 20px;
    right: 20px;
    width: 2px;
    height: 40px;
    background: #5746CE;
    pointer-events: none;
}

.opening .platform_label {
    font-size: 15px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #37C1C8;
    margin-bottom: 20px;
    font-weight: 600;
}

.opening .main_heading {
    font-size: 58px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    font-weight: 700;
    color: #1b1b2e;
    margin-bottom: 20px;
}

.opening .main_heading .underline_word {
    position: relative;
    display: inline-block;
    color: #5746CE;
}

.opening .main_heading .underline_word::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 0;
    height: 2px;
    background: linear-gradient(to right, #5746CE, transparent);
    animation: draw_line 0.8s 0.4s ease-out forwards;
}

@keyframes draw_line {
    to {
        width: 100%;
    }
}

.opening .tagline {
    font-size: 15px;
    line-height: 1.6;
    color: #4a4a6a;
    max-width: 480px;
    margin-bottom: 40px;
    letter-spacing: 0.01em;
}

.opening .action_links {
    display: flex;
    flex-direction: row;
    gap: 20px;
    flex-wrap: wrap;
}

.opening .link_primary {
    display: inline-block;
    padding: 10px 40px;
    border: 2px solid #5746CE;
    border-radius: 5px;
    font-size: 15px;
    color: #5746CE;
    text-decoration: none;
    letter-spacing: 0.02em;
    position: relative;
    overflow: hidden;
    transition: color 0.15s ease-out;
}

.opening .link_primary::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, #5746CE, #37C1C8);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.18s ease-out;
    z-index: 0;
}

.opening .link_primary span {
    position: relative;
    z-index: 1;
}

.opening .link_primary:hover {
    color: #fff;
}

.opening .link_primary:hover::before {
    transform: scaleX(1);
}

.opening .link_secondary {
    display: inline-block;
    padding: 10px 40px;
    border: 2px solid #D5DEE4;
    border-radius: 5px;
    font-size: 15px;
    color: #4a4a6a;
    text-decoration: none;
    letter-spacing: 0.02em;
    transition: border-color 0.15s ease-out, color 0.12s ease;
}

.opening .link_secondary:hover {
    border-color: #37C1C8;
    color: #37C1C8;
}

.opening .conditions_band {
    background: #f4f6fb;
    padding: 80px 0;
}

.opening .conditions_inner {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 40px;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 80px;
    align-items: start;
}

.opening .conditions_label {
    font-size: 15px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #37C1C8;
    margin-bottom: 20px;
    font-weight: 600;
}

.opening .conditions_heading {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    font-weight: 700;
    color: #1b1b2e;
}

.opening .conditions_right {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.opening .condition_row {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 20px;
    align-items: start;
    padding: 20px;
    border: 1px solid #D5DEE4;
    border-radius: 14px;
    background: #fff;
    box-shadow: -1px 3px 4px 0 rgba(87, 70, 206, 0.05);
    transition: box-shadow 0.15s ease-out;
}

.opening .condition_row:hover {
    box-shadow: -1px 6px 28px 0 rgba(87, 70, 206, 0.09);
}

.opening .check_mark {
    width: 22px;
    height: 22px;
    border-radius: 5px;
    background: linear-gradient(to right, #5746CE, #37C1C8);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
}

.opening .check_mark svg {
    width: 12px;
    height: 12px;
}

.opening .cross_mark {
    width: 22px;
    height: 22px;
    border-radius: 5px;
    background: #D5DEE4;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
}

.opening .cross_mark svg {
    width: 12px;
    height: 12px;
}

.opening .condition_text {
    font-size: 15px;
    line-height: 1.6;
    color: #2c2c4a;
    letter-spacing: 0.01em;
}

.opening .condition_text strong {
    color: #1b1b2e;
    font-weight: 600;
}

.opening .reputation_band {
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}

.opening .reputation_bg_image {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.opening .reputation_bg_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: blur(8px) brightness(0.18);
    transform: scale(1.05);
}

.opening .reputation_inner {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 40px;
    position: relative;
    z-index: 1;
}

.opening .reputation_top {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 40px;
    gap: 40px;
}

.opening .reputation_heading {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    font-weight: 700;
    color: #fff;
    max-width: 420px;
}

.opening .reputation_summary {
    font-size: 15px;
    line-height: 1.6;
    color: #c8d0e0;
    max-width: 380px;
    letter-spacing: 0.01em;
}

.opening .reputation_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.opening .rep_card {
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 14px;
    padding: 40px 20px;
    text-align: center;
    transition: background 0.18s ease-out;
}

.opening .rep_card:hover {
    background: rgba(87, 70, 206, 0.22);
}

.opening .rep_icon {
    font-size: 28px;
    color: #37C1C8;
    margin-bottom: 20px;
    display: block;
}

.opening .rep_number {
    font-size: 42px;
    line-height: 1.1;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.01em;
    display: block;
    margin-bottom: 10px;
}

.opening .rep_label {
    font-size: 15px;
    line-height: 1.4;
    color: #b0bcd4;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    font-weight: 500;
}

.opening .team_band {
    padding: 80px 0 40px;
    background: #fff;
}

.opening .team_inner {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 40px;
}

.opening .team_header {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 40px;
    margin-bottom: 40px;
}

.opening .team_heading_block {
    flex: 1;
}

.opening .team_label {
    font-size: 15px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #5746CE;
    margin-bottom: 10px;
    font-weight: 600;
}

.opening .team_heading {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    font-weight: 700;
    color: #1b1b2e;
}

.opening .team_intro {
    flex: 1;
    font-size: 15px;
    line-height: 1.6;
    color: #4a4a6a;
    letter-spacing: 0.01em;
    padding-top: 40px;
}

.opening .team_divider {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
}

.opening .team_divider_line {
    height: 1px;
    flex: 1;
    background: #D5DEE4;
}

.opening .team_divider_dot {
    width: 6px;
    height: 6px;
    border-radius: 38px;
    background: #5746CE;
}

.opening .dual_narrative {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.opening .narrative_path {
    border: 1px solid #D5DEE4;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: -1px 6px 28px 0 rgba(87, 70, 206, 0.09);
}

.opening .narrative_path_header {
    padding: 20px 40px;
    background: linear-gradient(to right, #5746CE, #37C1C8);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

.opening .narrative_path_header.secondary_path {
    background: linear-gradient(to right, #37C1C8, #5746CE);
}

.opening .path_icon {
    font-size: 20px;
    color: #fff;
}

.opening .path_title {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.opening .narrative_path_body {
    padding: 40px;
    background: #fff;
}

.opening .path_person {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
}

.opening .path_avatar {
    width: 44px;
    height: 44px;
    border-radius: 38px;
    background: linear-gradient(to right, #5746CE, #37C1C8);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.opening .path_avatar i {
    font-size: 22px;
    color: #fff;
}

.opening .path_name {
    font-size: 15px;
    font-weight: 700;
    color: #1b1b2e;
    letter-spacing: 0.01em;
}

.opening .path_role {
    font-size: 15px;
    color: #37C1C8;
    letter-spacing: 0.01em;
}

.opening .path_description {
    font-size: 15px;
    line-height: 1.6;
    color: #4a4a6a;
    letter-spacing: 0.01em;
}

.opening .path_skills {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.opening .path_skill_item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    color: #2c2c4a;
    letter-spacing: 0.01em;
}

.opening .skill_dot {
    width: 8px;
    height: 8px;
    border-radius: 38px;
    background: #5746CE;
    flex-shrink: 0;
}

.opening .hesitation_band {
    background: #f4f6fb;
    padding: 80px 0;
}

.opening .hesitation_inner {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 40px;
    display: grid;
    grid-template-columns: 70% 30%;
    gap: 80px;
    align-items: start;
}

.opening .hesitation_left {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.opening .hesitation_label {
    font-size: 15px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #5746CE;
    font-weight: 600;
}

.opening .hesitation_heading {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    font-weight: 700;
    color: #1b1b2e;
}

.opening .hesitation_body {
    font-size: 15px;
    line-height: 1.6;
    color: #4a4a6a;
    letter-spacing: 0.01em;
}

.opening .hesitation_pairs {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 20px;
}

.opening .hesitation_pair {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 20px;
    align-items: start;
}

.opening .hesitation_pair_text {
    font-size: 15px;
    line-height: 1.6;
    color: #2c2c4a;
    letter-spacing: 0.01em;
}

.opening .hesitation_pair_text strong {
    color: #1b1b2e;
}

.opening .hesitation_right {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding-top: 80px;
}

.opening .contact_card {
    background: #fff;
    border: 1px solid #D5DEE4;
    border-radius: 14px;
    padding: 40px 20px;
    text-align: center;
    width: 100%;
    box-shadow: -1px 10px 48px 0 rgba(55, 193, 200, 0.12);
}

.opening .contact_card_label {
    font-size: 15px;
    color: #4a4a6a;
    letter-spacing: 0.02em;
    margin-bottom: 20px;
    text-transform: uppercase;
    font-weight: 600;
}

.opening .contact_links {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.opening .contact_link_item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    padding: 10px;
    border-radius: 5px;
    text-decoration: none;
    color: #2c2c4a;
    font-size: 15px;
    letter-spacing: 0.01em;
    transition: color 0.12s ease-out, background 0.15s ease-out;
}

.opening .contact_link_item:hover {
    color: #5746CE;
    background: #f4f6fb;
}

.opening .contact_link_item i {
    font-size: 18px;
    color: #37C1C8;
    flex-shrink: 0;
}

.opening .wash_bg {
    animation: color_wash 8s ease-in-out infinite alternate;
}

@keyframes color_wash {
    0% {
        background-color: #f4f6fb;
    }

    100% {
        background-color: #eef0fb;
    }
}

.opening .letter_hover span {
    display: inline-block;
    transition: color 0.1s ease-out;
}

.opening .letter_hover:hover span {
    color: #5746CE;
}

.opening .letter_hover:hover span:nth-child(odd) {
    color: #37C1C8;
}

@media (max-width: 768px) {
    .opening .split_title {
        grid-template-columns: 1fr;
    }

    .opening .title_image_zone {
        display: none;
    }

    .opening .title_text_zone {
        padding: 40px 20px;
    }

    .opening .main_heading {
        font-size: 42px;
    }

    .opening .conditions_inner {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 0 20px;
    }

    .opening .reputation_inner {
        padding: 0 20px;
    }

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

    .opening .reputation_grid {
        grid-template-columns: 1fr;
    }

    .opening .team_inner {
        padding: 0 20px;
    }

    .opening .team_header {
        flex-direction: column;
    }

    .opening .dual_narrative {
        grid-template-columns: 1fr;
    }

    .opening .hesitation_inner {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 0 20px;
    }

    .opening .hesitation_right {
        padding-top: 0;
    }

    .opening .conditions_band {
        padding: 40px 0;
    }

    .opening .reputation_band {
        padding: 40px 0;
    }

    .opening .team_band {
        padding: 40px 0 20px;
    }

    .opening .hesitation_band {
        padding: 40px 0;
    }
}

@media (max-width: 390px) {
    .opening .main_heading {
        font-size: 42px;
    }

    .opening .action_links {
        flex-direction: column;
    }

    .opening .link_primary,
    .opening .link_secondary {
        text-align: center;
    }

    .opening .narrative_path_body {
        padding: 20px;
    }
}

.sponsorship {
    background: #fff;
    color: #1b1b2e;
    overflow-x: clip;
}

.sponsorship .title_block {
    position: relative;
    padding: 80px 20px 40px;
    background: linear-gradient(to bottom, transparent 0%, rgba(87, 70, 206, 0.08) 100%);
}

.sponsorship .title_block::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
    pointer-events: none;
    z-index: 0;
}

.sponsorship .title_block_inner {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 40px;
    position: relative;
    z-index: 1;
}

.sponsorship .title_text {
    flex: 1;
}

.sponsorship .title_label {
    font-size: 15px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #37C1C8;
    margin-bottom: 20px;
    display: block;
}

.sponsorship .title_heading {
    font-size: 58px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #1b1b2e;
    margin: 0 0 20px;
    font-weight: 300;
    text-transform: uppercase;
}

.sponsorship .title_heading span {
    display: block;
    color: #5746CE;
    font-weight: 700;
    position: relative;
    width: fit-content;
}

.sponsorship .title_heading span::after {
    content: "";
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 3px;
    background: linear-gradient(to right, #5746CE, transparent);
    animation: underline_draw 0.8s 0.4s ease-out forwards;
}

@keyframes underline_draw {
    to {
        width: 100%;
    }
}

.sponsorship .title_desc {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #3a3a5c;
    max-width: 520px;
    margin: 0;
}

.sponsorship .title_image_col {
    flex: 0 0 340px;
}

.sponsorship .title_image_col img {
    width: 340px;
    height: 260px;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 14px;
}

.sponsorship .title_block_inner {
    animation: rise_up 0.5s 0.1s ease-out both;
}

@keyframes rise_up {
    from {
        opacity: 0;
        transform: translateY(28px);
    }

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

.sponsorship .wave_divider {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    margin: 0;
}

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

.sponsorship .formats_block {
    background: #fff;
    padding: 80px 20px;
}

.sponsorship .formats_inner {
    max-width: 1024px;
    margin: 0 auto;
}

.sponsorship .formats_heading {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    font-weight: 300;
    color: #1b1b2e;
    margin: 0 0 10px;
}

.sponsorship .formats_heading strong {
    font-weight: 700;
    color: #5746CE;
}

.sponsorship .formats_subtext {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a5c;
    margin: 0 0 40px;
    max-width: 600px;
}

.sponsorship .formats_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.sponsorship .format_item {
    border: 1.5px solid #D5DEE4;
    border-radius: 14px;
    padding: 40px 20px 20px;
    position: relative;
    transition: border-color 0.15s ease-out, box-shadow 0.2s ease-out;
    background: #fff;
    overflow: hidden;
}

.sponsorship .format_item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(135deg,
            transparent,
            transparent 18px,
            rgba(87, 70, 206, 0.06) 18px,
            rgba(87, 70, 206, 0.06) 20px);
    opacity: 0;
    transition: opacity 0.18s ease-out;
    border-radius: 14px;
    pointer-events: none;
}

.sponsorship .format_item:hover::after {
    opacity: 1;
}

.sponsorship .format_item:hover {
    border-color: #5746CE;
    box-shadow: -1px 6px 28px 0 rgba(87, 70, 206, 0.09);
}

.sponsorship .format_number {
    width: 36px;
    height: 36px;
    border-radius: 38px;
    background: #5746CE;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
}

.sponsorship .format_name {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    font-weight: 700;
    color: #1b1b2e;
    margin: 0 0 10px;
    position: relative;
    z-index: 1;
}

.sponsorship .format_desc {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a5c;
    margin: 0;
    position: relative;
    z-index: 1;
}

.sponsorship .diamond_accent {
    position: absolute;
    top: -14px;
    right: -14px;
    width: 40px;
    height: 40px;
    background: linear-gradient(to right, #5746CE, #37C1C8);
    transform: rotate(45deg);
    border-radius: 5px;
    opacity: 0.18;
    pointer-events: none;
}

.sponsorship .terms_block {
    background: rgba(87, 70, 206, 0.04);
    padding: 80px 20px;
}

.sponsorship .terms_inner {
    max-width: 640px;
    margin: 0 auto;
}

.sponsorship .terms_heading {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    font-weight: 300;
    color: #1b1b2e;
    margin: 0 0 10px;
    text-align: center;
}

.sponsorship .terms_heading em {
    font-style: normal;
    font-weight: 700;
    color: #5746CE;
}

.sponsorship .terms_intro {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a5c;
    margin: 0 0 40px;
    text-align: center;
}

.sponsorship .terms_list {
    list-style: decimal;
    padding-left: 20px;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.sponsorship .terms_list li {
    font-size: 15px;
    line-height: 1.6;
    color: #1b1b2e;
    padding-left: 10px;
}

.sponsorship .terms_list li strong {
    color: #5746CE;
    display: block;
    font-size: 15px;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.sponsorship .wave_divider_alt {
    width: 100%;
    overflow: hidden;
    line-height: 0;
}

.sponsorship .wave_divider_alt svg {
    display: block;
    width: 100%;
}

.sponsorship .contact_block {
    background: #fff;
    padding: 80px 20px;
}

.sponsorship .contact_inner {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: flex-start;
}

.sponsorship .contact_text_col {
    flex: 1;
}

.sponsorship .contact_heading {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    font-weight: 300;
    color: #1b1b2e;
    margin: 0 0 20px;
}

.sponsorship .contact_heading b {
    font-weight: 700;
    color: #37C1C8;
}

.sponsorship .contact_desc {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a5c;
    margin: 0 0 40px;
}

.sponsorship .contact_links {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sponsorship .contact_link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    line-height: 1.4;
    color: #5746CE;
    text-decoration: none;
    border: 1.5px solid #D5DEE4;
    border-radius: 5px;
    padding: 10px 20px;
    width: fit-content;
    position: relative;
    transition: color 0.15s ease-out, border-color 0.2s ease-out;
    background: #fff;
}

.sponsorship .contact_link::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 5px;
    border: 1.5px solid #5746CE;
    clip-path: inset(0 100% 0 0);
    transition: clip-path 0.18s ease-out;
    pointer-events: none;
}

.sponsorship .contact_link:hover::before {
    clip-path: inset(0 0% 0 0);
}

.sponsorship .contact_link:hover {
    color: #1b1b2e;
    border-color: transparent;
}

.sponsorship .contact_link i {
    font-size: 18px;
    color: #37C1C8;
}

.sponsorship .contact_metrics_col {
    flex: 0 0 300px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.sponsorship .metric_box {
    border-radius: 14px;
    padding: 20px;
    background: rgba(87, 70, 206, 0.04);
    border: 1px solid rgba(87, 70, 206, 0.1);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    transition: box-shadow 0.2s ease-out;
}

.sponsorship .metric_box:hover {
    box-shadow: -1px 10px 48px 0 rgba(87, 70, 206, 0.12);
}

.sponsorship .metric_circle {
    width: 48px;
    height: 48px;
    border-radius: 38px;
    background: linear-gradient(to right, #5746CE, #37C1C8);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.sponsorship .metric_circle i {
    font-size: 22px;
    color: #fff;
}

.sponsorship .metric_label {
    font-size: 15px;
    line-height: 1.4;
    color: #3a3a5c;
    margin: 0;
}

.sponsorship .metric_label strong {
    display: block;
    font-size: 42px;
    line-height: 1.1;
    color: #5746CE;
    font-weight: 700;
    letter-spacing: 0.01em;
}

@media (max-width: 1280px) {
    .sponsorship .title_heading {
        font-size: 42px;
    }
}

@media (max-width: 768px) {
    .sponsorship .title_block_inner {
        flex-direction: column;
    }

    .sponsorship .title_image_col {
        display: none;
    }

    .sponsorship .title_heading {
        font-size: 42px;
    }

    .sponsorship .formats_grid {
        grid-template-columns: 1fr;
    }

    .sponsorship .contact_inner {
        flex-direction: column;
    }

    .sponsorship .contact_metrics_col {
        flex: none;
        width: 100%;
    }
}

@media (max-width: 390px) {
    .sponsorship .title_heading {
        font-size: 42px;
    }

    .sponsorship .formats_block,
    .sponsorship .terms_block,
    .sponsorship .contact_block {
        padding: 40px 10px;
    }

    .sponsorship .title_block {
        padding: 40px 10px 20px;
    }
}

.learning-program {
    background: #fff;
    color: #1e1b2e;
    overflow-x: hidden;
}

.learning-program .program-title-block {
    display: flex;
    flex-direction: row;
    min-height: 420px;
    max-width: 100%;
    position: relative;
}

.learning-program .program-title-block .image-strip {
    width: 280px;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
}

.learning-program .program-title-block .image-strip img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.learning-program .program-title-block .image-strip::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(87, 70, 206, 0.55) 0%, transparent 60%);
    pointer-events: none;
}

.learning-program .program-title-block .text-zone {
    flex: 1;
    padding: 80px 80px 80px 40px;
    background: #f4f2fd;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
}

.learning-program .program-title-block .text-zone::before {
    content: "";
    position: absolute;
    top: 20px;
    right: 40px;
    width: 60px;
    height: 80px;
    background: repeating-linear-gradient(90deg,
            #5746CE 0px,
            #5746CE 1px,
            transparent 1px,
            transparent 8px);
    opacity: 0.18;
    pointer-events: none;
}

.learning-program .program-title-block .text-zone .eyebrow {
    font-size: 15px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #37C1C8;
    font-weight: 600;
    line-height: 1.4;
}

.learning-program .program-title-block .text-zone h1 {
    font-size: 72px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #1e1b2e;
    font-weight: 300;
    text-transform: uppercase;
    margin: 0;
}

.learning-program .program-title-block .text-zone h1 .key-accent {
    display: inline;
    background: linear-gradient(90deg, #5746CE, #37C1C8);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    position: relative;
}

.learning-program .program-title-block .text-zone .subtitle {
    font-size: 15px;
    line-height: 1.6;
    color: #3d3a52;
    max-width: 480px;
    margin: 0;
}

.learning-program .zigzag-divider {
    width: 100%;
    line-height: 0;
    overflow: hidden;
}

.learning-program .zigzag-divider svg {
    display: block;
    width: 100%;
}

.learning-program .cards-grid-area {
    max-width: 1024px;
    margin: 0 auto;
    padding: 80px 40px;
}

.learning-program .cards-grid-area .grid-label {
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #5746CE;
    margin-bottom: 20px;
    font-weight: 600;
    line-height: 1.4;
}

.learning-program .cards-grid-area h2 {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    font-weight: 300;
    text-transform: uppercase;
    color: #1e1b2e;
    margin: 0 0 40px 0;
}

.learning-program .program-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.learning-program .program-card {
    border: 1.5px solid #D5DEE4;
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: #fff;
    box-shadow: -1px 6px 28px 0 rgba(87, 70, 206, 0.09);
    transition: box-shadow 0.18s ease-out, border-color 0.15s ease-out;
    animation: card-reveal 0.5s ease-out both;
}

.learning-program .program-card:nth-child(1) {
    animation-delay: 0.08s;
}

.learning-program .program-card:nth-child(2) {
    animation-delay: 0.18s;
}

.learning-program .program-card:nth-child(3) {
    animation-delay: 0.28s;
}

@keyframes card-reveal {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

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

.learning-program .program-card:hover {
    box-shadow: -1px 10px 48px 0 rgba(87, 70, 206, 0.12);
    border-color: #5746CE;
}

.learning-program .program-card .card-top {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}

.learning-program .program-card .card-tags {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.learning-program .program-card .tag-category {
    font-size: 15px;
    background: #f4f2fd;
    color: #5746CE;
    border-radius: 5px;
    padding: 2px 10px;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.6;
}

.learning-program .program-card .tag-user {
    font-size: 15px;
    background: #e8fbfc;
    color: #1a9ea5;
    border-radius: 5px;
    padding: 2px 10px;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1.6;
}

.learning-program .program-card h3 {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #1e1b2e;
    margin: 0;
    text-transform: uppercase;
}

.learning-program .program-card .card-description {
    font-size: 15px;
    line-height: 1.6;
    color: #3d3a52;
    margin: 0;
}

.learning-program .program-card .card-meta {
    display: flex;
    flex-direction: row;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

.learning-program .program-card .meta-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    font-size: 15px;
    color: #5746CE;
    line-height: 1.4;
}

.learning-program .program-card .meta-item i {
    font-size: 15px;
}

.learning-program .program-card .meta-sep {
    color: #D5DEE4;
    font-size: 15px;
}

.learning-program .program-card .card-bottom {
    border-top: 1.5px solid #D5DEE4;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: #fafbfc;
}

.learning-program .program-card .price-row {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
}

.learning-program .program-card .price-amount {
    font-size: 42px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: #5746CE;
}

.learning-program .program-card .price-details {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

.learning-program .program-card .price-desc {
    font-size: 15px;
    color: #3d3a52;
    line-height: 1.4;
    text-align: right;
}

.learning-program .program-card .price-note {
    font-size: 15px;
    color: #37C1C8;
    line-height: 1.4;
    font-weight: 500;
    text-align: right;
}

.learning-program .program-card .seats-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

.learning-program .program-card .seats-bar-track {
    flex: 1;
    height: 5px;
    background: #D5DEE4;
    border-radius: 5px;
    overflow: hidden;
}

.learning-program .program-card .seats-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, #5746CE, #37C1C8);
    border-radius: 5px;
    transition: width 0.6s ease-out;
}

.learning-program .program-card .seats-label {
    font-size: 15px;
    color: #3d3a52;
    white-space: nowrap;
    line-height: 1.4;
}

.learning-program .program-card .likes-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    font-size: 15px;
    color: #3d3a52;
    line-height: 1.4;
}

.learning-program .program-card .likes-row i {
    color: #5746CE;
}

.learning-program .program-card .card-link {
    display: block;
    text-align: center;
    padding: 10px 20px;
    border: 1.5px solid #5746CE;
    border-radius: 38px;
    color: #5746CE;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-decoration: none;
    background: transparent;
    position: relative;
    overflow: hidden;
    transition: color 0.15s ease-out, background 0.18s ease-out;
}

.learning-program .program-card .card-link::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #5746CE, #37C1C8);
    opacity: 0;
    transition: opacity 0.18s ease-out;
    border-radius: 38px;
    z-index: 0;
}

.learning-program .program-card .card-link span {
    position: relative;
    z-index: 1;
}

.learning-program .program-card .card-link:hover {
    color: #fff;
}

.learning-program .program-card .card-link:hover::after {
    opacity: 1;
}

.learning-program .zigzag-divider-2 {
    width: 100%;
    line-height: 0;
    overflow: hidden;
}

.learning-program .skills-block {
    background: #1e1b2e;
    padding: 80px 40px;
    position: relative;
    overflow: hidden;
}

.learning-program .skills-block::before {
    content: "";
    position: absolute;
    bottom: 20px;
    left: 20px;
    width: 80px;
    height: 60px;
    background: repeating-linear-gradient(0deg,
            #37C1C8 0px,
            #37C1C8 1px,
            transparent 1px,
            transparent 9px);
    opacity: 0.15;
    pointer-events: none;
}

.learning-program .skills-block-inner {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 80px;
    align-items: flex-start;
}

.learning-program .skills-sidebar {
    width: 260px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.learning-program .skills-sidebar .sidebar-label {
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #37C1C8;
    font-weight: 600;
    line-height: 1.4;
}

.learning-program .skills-sidebar h2 {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    font-weight: 300;
    text-transform: uppercase;
    color: #fff;
    margin: 0;
}

.learning-program .skills-sidebar .sidebar-text {
    font-size: 15px;
    line-height: 1.6;
    color: #a8a4c8;
    margin: 0;
}

.learning-program .skills-sidebar .sidebar-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 10px;
}

.learning-program .skills-sidebar .sidebar-stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px;
    border: 1px solid rgba(87, 70, 206, 0.3);
    border-radius: 5px;
}

.learning-program .skills-sidebar .stat-number {
    font-size: 42px;
    line-height: 1.1;
    font-weight: 700;
    color: #5746CE;
    letter-spacing: 0.01em;
}

.learning-program .skills-sidebar .stat-label {
    font-size: 15px;
    line-height: 1.4;
    color: #a8a4c8;
}

.learning-program .skills-bars {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.learning-program .skill-bar-item {
    display: flex;
    flex-direction: column;
    gap: 10px;
    animation: bar-reveal 0.6s ease-out both;
}

.learning-program .skill-bar-item:nth-child(1) {
    animation-delay: 0.1s;
}

.learning-program .skill-bar-item:nth-child(2) {
    animation-delay: 0.2s;
}

.learning-program .skill-bar-item:nth-child(3) {
    animation-delay: 0.3s;
}

.learning-program .skill-bar-item:nth-child(4) {
    animation-delay: 0.4s;
}

.learning-program .skill-bar-item:nth-child(5) {
    animation-delay: 0.5s;
}

@keyframes bar-reveal {
    from {
        opacity: 0;
        transform: translateX(12px);
    }

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

.learning-program .skill-bar-item .bar-header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.learning-program .skill-bar-item .bar-name {
    font-size: 15px;
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.4;
}

.learning-program .skill-bar-item .bar-pct {
    font-size: 15px;
    color: #37C1C8;
    font-weight: 600;
    line-height: 1.4;
}

.learning-program .skill-bar-item .bar-track {
    height: 8px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 5px;
    overflow: hidden;
}

.learning-program .skill-bar-item .bar-fill {
    height: 100%;
    background: linear-gradient(90deg, #5746CE, #37C1C8);
    border-radius: 5px;
    animation: fill-bar 1s ease-out both;
}

@keyframes fill-bar {
    from {
        width: 0 !important;
    }

    to {
        width: var(--bar-w);
    }
}

.learning-program .zigzag-divider-3 {
    width: 100%;
    line-height: 0;
    overflow: hidden;
}

.learning-program .faq-area {
    max-width: 1024px;
    margin: 0 auto;
    padding: 80px 40px;
    display: flex;
    flex-direction: row;
    gap: 80px;
    align-items: flex-start;
}

.learning-program .faq-area .faq-left {
    width: 260px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.learning-program .faq-area .faq-left .faq-label {
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #5746CE;
    font-weight: 600;
    line-height: 1.4;
}

.learning-program .faq-area .faq-left h2 {
    font-size: 42px;
    line-height: 1.1;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    color: #1e1b2e;
    margin: 0;
}

.learning-program .faq-area .faq-left p {
    font-size: 15px;
    line-height: 1.6;
    color: #3d3a52;
    margin: 0;
}

.learning-program .faq-list {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.learning-program .faq-item {
    border: 1.5px solid #D5DEE4;
    border-radius: 14px;
    overflow: hidden;
    animation: faq-reveal 0.5s ease-out both;
}

.learning-program .faq-item:nth-child(1) {
    animation-delay: 0.05s;
}

.learning-program .faq-item:nth-child(2) {
    animation-delay: 0.12s;
}

.learning-program .faq-item:nth-child(3) {
    animation-delay: 0.19s;
}

.learning-program .faq-item:nth-child(4) {
    animation-delay: 0.26s;
}

@keyframes faq-reveal {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

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

.learning-program .faq-item details {
    width: 100%;
}

.learning-program .faq-item details summary {
    padding: 20px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    color: #1e1b2e;
    cursor: pointer;
    list-style: none;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    letter-spacing: 0.02em;
    transition: color 0.15s ease-out, background 0.18s ease-out;
}

.learning-program .faq-item details summary::-webkit-details-marker {
    display: none;
}

.learning-program .faq-item details summary::after {
    content: "";
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    border-right: 2px solid #5746CE;
    border-bottom: 2px solid #5746CE;
    transform: rotate(45deg);
    transition: transform 0.15s ease-out;
    display: block;
}

.learning-program .faq-item details[open] summary::after {
    transform: rotate(-135deg);
}

.learning-program .faq-item details[open] summary {
    color: #5746CE;
    background: #f4f2fd;
}

.learning-program .faq-item details .faq-answer {
    padding: 20px;
    font-size: 15px;
    line-height: 1.6;
    color: #3d3a52;
    border-top: 1px solid #D5DEE4;
}

@media (max-width: 1280px) {
    .learning-program .program-title-block .text-zone h1 {
        font-size: 58px;
    }

    .learning-program .program-title-block .image-strip {
        width: 220px;
    }
}

@media (max-width: 768px) {
    .learning-program .program-title-block {
        flex-direction: column;
    }

    .learning-program .program-title-block .image-strip {
        display: none;
    }

    .learning-program .program-title-block .text-zone {
        padding: 40px 20px;
    }

    .learning-program .program-title-block .text-zone h1 {
        font-size: 42px;
    }

    .learning-program .program-cards {
        grid-template-columns: 1fr 1fr;
    }

    .learning-program .cards-grid-area {
        padding: 40px 20px;
    }

    .learning-program .skills-block {
        padding: 40px 20px;
    }

    .learning-program .skills-block-inner {
        flex-direction: column;
        gap: 40px;
    }

    .learning-program .skills-sidebar {
        width: 100%;
    }

    .learning-program .faq-area {
        flex-direction: column;
        gap: 40px;
        padding: 40px 20px;
    }

    .learning-program .faq-area .faq-left {
        width: 100%;
    }
}

@media (max-width: 390px) {
    .learning-program .program-cards {
        grid-template-columns: 1fr;
    }

    .learning-program .program-title-block .text-zone h1 {
        font-size: 42px;
    }

    .learning-program .skills-sidebar .sidebar-grid {
        grid-template-columns: 1fr;
    }
}

.contact-us-page {
    background: #ffffff;
    color: #1e1b3a;
    overflow-x: clip;
}

.contact-us-page .blur-reveal {
    animation: blurReveal 0.8s ease-out both;
}

.contact-us-page .blur-reveal-2 {
    animation: blurReveal 0.9s 0.15s ease-out both;
}

.contact-us-page .blur-reveal-3 {
    animation: blurReveal 1s 0.28s ease-out both;
}

@keyframes blurReveal {
    from {
        filter: blur(8px);
        opacity: 0;
    }

    to {
        filter: blur(0);
        opacity: 1;
    }
}

@keyframes underlineDraw {
    from {
        width: 0;
    }

    to {
        width: 100%;
    }
}

.contact-us-page .accent-underline {
    position: relative;
    display: inline-block;
}

.contact-us-page .accent-underline::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -3px;
    height: 2px;
    background: #37C1C8;
    animation: underlineDraw 0.7s 0.5s ease-out both;
    width: 0;
    animation-fill-mode: forwards;
}

.contact-us-page .dot-border-decoration {
    position: absolute;
    top: 0;
    right: 0;
    width: 180px;
    height: 180px;
    pointer-events: none;
    overflow: hidden;
}

.contact-us-page .dot-border-decoration svg {
    width: 100%;
    height: 100%;
}

.contact-us-page .page-opening {
    position: relative;
    padding: 80px 20px;
    background: linear-gradient(180deg, transparent 0%, #f0eeff 100%);
    overflow: hidden;
}

.contact-us-page .page-opening-inner {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 40px;
}

.contact-us-page .page-opening-text {
    flex: 1 1 0;
}

.contact-us-page .page-opening-label {
    font-size: 15px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #5746CE;
    font-weight: 600;
    margin-bottom: 20px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

.contact-us-page .circle-accent {
    width: 10px;
    height: 10px;
    border-radius: 38px;
    background: #37C1C8;
    flex-shrink: 0;
    display: inline-block;
}

.contact-us-page .page-opening-heading {
    font-size: 58px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #1e1b3a;
    margin: 0 0 20px 0;
    font-weight: 300;
    text-transform: uppercase;
}

.contact-us-page .page-opening-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3560;
    max-width: 480px;
    letter-spacing: 0.01em;
}

.contact-us-page .page-opening-aside {
    flex: 0 0 260px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-bottom: 10px;
}

.contact-us-page .contact-pill {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    background: #ffffff;
    border: 1px solid #D5DEE4;
    border-radius: 14px;
    padding: 10px 20px;
    box-shadow: -1px 3px 4px 0 rgba(87, 70, 206, 0.05);
    transition: box-shadow 0.15s ease-out, border-color 0.15s ease-out;
}

.contact-us-page .contact-pill:hover {
    box-shadow: -1px 6px 28px 0 rgba(87, 70, 206, 0.09);
    border-color: #5746CE;
}

.contact-us-page .contact-pill i {
    font-size: 18px;
    color: #5746CE;
    flex-shrink: 0;
}

.contact-us-page .contact-pill-text {
    font-size: 15px;
    line-height: 1.4;
    color: #1e1b3a;
    letter-spacing: 0.01em;
}

.contact-us-page .contact-pill-text a {
    color: #1e1b3a;
    text-decoration: none;
    transition: color 0.12s ease-out;
}

.contact-us-page .contact-pill-text a:hover {
    color: #5746CE;
}

.contact-us-page .contact-pill-label {
    font-size: 15px;
    color: #8b87b0;
    letter-spacing: 0.02em;
    display: block;
    margin-bottom: 2px;
    font-size: 13px;
}

.contact-us-page .zigzag-divider {
    display: block;
    width: 100%;
    line-height: 0;
}

.contact-us-page .form-split {
    background: #ffffff;
    padding: 80px 20px;
    position: relative;
}

.contact-us-page .form-split-inner {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: flex-start;
}

.contact-us-page .form-sidebar {
    flex: 0 0 260px;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 20px;
}

.contact-us-page .sidebar-card {
    background: linear-gradient(90deg, #5746CE 0%, transparent 100%), #5746CE;
    background: #f6f4ff;
    border: 1px solid #e0dbff;
    border-radius: 14px;
    padding: 20px;
    position: relative;
    overflow: hidden;
}

.contact-us-page .sidebar-card-heading {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #5746CE;
    margin: 0 0 10px 0;
}

.contact-us-page .sidebar-card p {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3560;
    margin: 0;
    letter-spacing: 0.01em;
}

.contact-us-page .funnel-chart {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 10px 0;
}

.contact-us-page .funnel-step {
    height: 28px;
    border-radius: 5px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.contact-us-page .funnel-step span {
    font-size: 15px;
    color: #ffffff;
    letter-spacing: 0.01em;
    font-weight: 600;
    white-space: nowrap;
    font-size: 13px;
}

.contact-us-page .funnel-step-1 {
    width: 100%;
    background: #5746CE;
}

.contact-us-page .funnel-step-2 {
    width: 82%;
    background: #6a5cd4;
}

.contact-us-page .funnel-step-3 {
    width: 65%;
    background: #37C1C8;
}

.contact-us-page .funnel-step-4 {
    width: 48%;
    background: #2aa8ae;
}

.contact-us-page .funnel-label {
    font-size: 15px;
    color: #8b87b0;
    letter-spacing: 0.02em;
    margin-top: 10px;
    font-size: 13px;
    text-align: center;
}

.contact-us-page .form-area {
    flex: 1 1 0;
}

.contact-us-page .form-heading {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    font-weight: 300;
    text-transform: uppercase;
    color: #1e1b3a;
    margin: 0 0 20px 0;
}

.contact-us-page .contact-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.contact-us-page .field-row {
    display: flex;
    flex-direction: row;
    gap: 20px;
}

.contact-us-page .field-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1 1 0;
}

.contact-us-page .field-group label {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #5746CE;
}

.contact-us-page .contact-form input[type="text"],
.contact-us-page .contact-form input[type="email"] {
    width: 100%;
    padding: 10px 20px;
    border: 1px solid #D5DEE4;
    border-radius: 5px;
    font-size: 15px;
    line-height: 1.4;
    color: #1e1b3a;
    background: #ffffff;
    box-shadow: inset 0 2px 4px 0 rgba(87, 70, 206, 0.05);
    transition: border-color 0.12s ease-out, box-shadow 0.18s ease-out;
    box-sizing: border-box;
    letter-spacing: 0.01em;
    outline: none;
}

.contact-us-page .contact-form input[type="text"]::placeholder,
.contact-us-page .contact-form input[type="email"]::placeholder {
    font-style: italic;
    opacity: 0.55;
    color: #3a3560;
}

.contact-us-page .contact-form input[type="text"]:focus,
.contact-us-page .contact-form input[type="email"]:focus {
    border-color: #5746CE;
    box-shadow: inset 0 2px 4px 0 rgba(87, 70, 206, 0.08), -1px 3px 4px 0 rgba(87, 70, 206, 0.05);
}

.contact-us-page .checkboxes-heading {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #5746CE;
    margin-bottom: 10px;
}

.contact-us-page .checkboxes-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.contact-us-page .checkbox-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    padding: 10px;
    border: 1px solid #D5DEE4;
    border-radius: 5px;
    transition: border-color 0.12s ease-out, background 0.15s ease-out;
}

.contact-us-page .checkbox-item:hover {
    border-color: #5746CE;
    background: #f6f4ff;
}

.contact-us-page .checkbox-item input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #5746CE;
    flex-shrink: 0;
    cursor: pointer;
}

.contact-us-page .checkbox-item span {
    font-size: 15px;
    line-height: 1.4;
    color: #1e1b3a;
    letter-spacing: 0.01em;
}

.contact-us-page .privacy-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
    padding: 10px;
    background: #f6f4ff;
    border-radius: 5px;
    border: 1px solid #e0dbff;
}

.contact-us-page .privacy-row input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #5746CE;
    flex-shrink: 0;
    margin-top: 2px;
    cursor: pointer;
}

.contact-us-page .privacy-row span {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3560;
    letter-spacing: 0.01em;
}

.contact-us-page .privacy-row a {
    color: #5746CE;
    text-decoration: underline;
    transition: color 0.12s ease-out;
}

.contact-us-page .privacy-row a:hover {
    color: #37C1C8;
}

.contact-us-page .submit-button {
    align-self: flex-start;
    padding: 10px 40px;
    border: 2px solid #5746CE;
    border-radius: 5px;
    background: transparent;
    color: #5746CE;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: color 0.15s ease-out;
}

.contact-us-page .submit-button::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #5746CE 0%, #37C1C8 100%);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.18s ease-out;
    z-index: 0;
}

.contact-us-page .submit-button:hover::before {
    transform: scaleX(1);
}

.contact-us-page .submit-button:hover {
    color: #ffffff;
    border-color: #5746CE;
}

.contact-us-page .submit-button span {
    position: relative;
    z-index: 1;
}

.contact-us-page .submit-button:focus {
    outline: 2px solid #37C1C8;
    outline-offset: 3px;
}

.contact-us-page .diagonal-section {
    position: relative;
    padding: 80px 20px;
    overflow: hidden;
}

.contact-us-page .diagonal-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.contact-us-page .diagonal-bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 58%;
    height: 100%;
    background: #f0eeff;
    clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%);
}

.contact-us-page .diagonal-bg::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background: #e8fafa;
}

.contact-us-page .diagonal-inner {
    max-width: 1024px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: stretch;
}

.contact-us-page .channels-list {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.contact-us-page .channels-heading {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    font-weight: 300;
    text-transform: uppercase;
    color: #1e1b3a;
    margin: 0 0 10px 0;
}

.contact-us-page .channels-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3560;
    letter-spacing: 0.01em;
    margin: 0 0 20px 0;
}

.contact-us-page .channel-link-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    border: 1px solid #D5DEE4;
    border-radius: 14px;
    background: #ffffff;
    text-decoration: none;
    color: #1e1b3a;
    transition: background 0.15s ease-out, border-color 0.12s ease-out, box-shadow 0.18s ease-out;
    box-shadow: -1px 3px 4px 0 rgba(87, 70, 206, 0.05);
}

.contact-us-page .channel-link-row:hover {
    background: linear-gradient(90deg, #f6f4ff 0%, #e8fafa 100%);
    border-color: #5746CE;
    box-shadow: -1px 6px 28px 0 rgba(87, 70, 206, 0.09);
}

.contact-us-page .channel-link-row i {
    font-size: 20px;
    color: #5746CE;
    flex-shrink: 0;
}

.contact-us-page .channel-name {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: #1e1b3a;
    flex: 1 1 0;
}

.contact-us-page .channel-handle {
    font-size: 15px;
    color: #8b87b0;
    letter-spacing: 0.01em;
}

.contact-us-page .address-panel {
    flex: 0 0 320px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.contact-us-page .address-card {
    background: #ffffff;
    border: 1px solid #D5DEE4;
    border-radius: 14px;
    padding: 20px;
    box-shadow: -1px 6px 28px 0 rgba(87, 70, 206, 0.09);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.contact-us-page .address-card-label {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #5746CE;
}

.contact-us-page .address-card p {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3560;
    margin: 0;
    letter-spacing: 0.01em;
}

.contact-us-page .address-card a {
    color: #3a3560;
    text-decoration: none;
    transition: color 0.12s ease-out;
}

.contact-us-page .address-card a:hover {
    color: #5746CE;
}

.contact-us-page .image-texture-wrap {
    width: 100%;
    height: 120px;
    border-radius: 14px;
    overflow: hidden;
    position: relative;
}

.contact-us-page .image-texture-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0.13;
    display: block;
}

.contact-us-page .image-texture-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.contact-us-page .image-texture-overlay span {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #5746CE;
}

@media (max-width: 768px) {
    .contact-us-page .page-opening-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .contact-us-page .page-opening-aside {
        flex: unset;
        width: 100%;
    }

    .contact-us-page .page-opening-heading {
        font-size: 42px;
    }

    .contact-us-page .form-split-inner {
        flex-direction: column;
    }

    .contact-us-page .form-sidebar {
        flex: unset;
        width: 100%;
    }

    .contact-us-page .field-row {
        flex-direction: column;
    }

    .contact-us-page .diagonal-inner {
        flex-direction: column;
    }

    .contact-us-page .address-panel {
        flex: unset;
        width: 100%;
    }

    .contact-us-page .checkboxes-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 390px) {
    .contact-us-page .page-opening-heading {
        font-size: 42px;
    }

    .contact-us-page .form-heading {
        font-size: 42px;
    }

    .contact-us-page .channels-heading {
        font-size: 42px;
    }

    .contact-us-page .page-opening-aside {
        display: none;
    }
}

.about-us-page {
    background: #ffffff;
    color: #1a1a2e;
    overflow-x: clip;
}

.about-us-page .animated-underline {
    position: relative;
    display: inline-block;
}

.about-us-page .animated-underline::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 0;
    height: 5px;
    background: #37C1C8;
    border-radius: 5px;
    animation: draw-line 0.8s 0.4s ease-out forwards;
}

@keyframes draw-line {
    to {
        width: 100%;
    }
}

.about-us-page .border-trace {
    position: relative;
}

.about-us-page .border-trace::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 14px;
    border: 2px solid transparent;
    background: linear-gradient(#fff, #fff) padding-box,
        linear-gradient(90deg, #5746CE, #37C1C8) border-box;
    animation: trace-border 1.2s 0.2s ease-out both;
    clip-path: inset(0 100% 0 0);
    animation: trace-reveal 1s 0.3s ease-out forwards;
}

@keyframes trace-reveal {
    to {
        clip-path: inset(0 0% 0 0);
    }
}

.about-us-page .identity-block {
    max-width: 1024px;
    margin: 0 auto;
    padding: 80px 40px 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: end;
}

.about-us-page .identity-text {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.about-us-page .identity-label {
    font-size: 15px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #5746CE;
    font-weight: 600;
}

.about-us-page .identity-heading {
    font-size: 58px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #18183a;
    font-weight: 300;
    text-transform: uppercase;
    margin: 0;
}

.about-us-page .identity-points {
    list-style: decimal;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
}

.about-us-page .identity-points li {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #2d2d4e;
}

.about-us-page .identity-image-frame {
    position: relative;
    height: 420px;
}

.about-us-page .identity-geo-accent {
    position: absolute;
    top: -20px;
    right: -20px;
    width: 320px;
    height: 380px;
    border-radius: 14px;
    background: linear-gradient(90deg, #5746CE, transparent);
    opacity: 0.12;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}

.about-us-page .identity-image-wrap {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    border-radius: 14px;
    overflow: hidden;
}

.about-us-page .identity-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0.72;
    display: block;
}

.about-us-page .mission-strip {
    background: #D5DEE4;
    padding: 40px 0;
}

.about-us-page .mission-strip-inner {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 40px;
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    gap: 40px;
    align-items: center;
}

.about-us-page .mission-stat {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.about-us-page .mission-stat-number {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #5746CE;
    font-weight: 700;
}

.about-us-page .mission-stat-label {
    font-size: 15px;
    line-height: 1.4;
    color: #2d2d4e;
    letter-spacing: 0.01em;
}

.about-us-page .mission-center-text {
    display: flex;
    flex-direction: column;
    gap: 10px;
    text-align: center;
}

.about-us-page .mission-center-heading {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    font-weight: 300;
    color: #18183a;
    margin: 0;
}

.about-us-page .mission-center-para {
    font-size: 15px;
    line-height: 1.6;
    color: #2d2d4e;
    letter-spacing: 0.01em;
    margin: 0;
}

.about-us-page .mission-stat.right-stat {
    text-align: right;
}

.about-us-page .team-process-block {
    max-width: 1024px;
    margin: 0 auto;
    padding: 80px 40px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.about-us-page .team-process-top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}

.about-us-page .team-process-heading {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    font-weight: 300;
    color: #18183a;
    margin: 0;
}

.about-us-page .team-process-intro {
    font-size: 15px;
    line-height: 1.6;
    color: #2d2d4e;
    letter-spacing: 0.01em;
    margin: 0;
}

.about-us-page .process-steps-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.about-us-page .process-step-card {
    border-radius: 14px;
    padding: 20px;
    border: 1.5px solid #D5DEE4;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: box-shadow 0.18s ease-out, border-color 0.15s ease-out;
    cursor: default;
}

.about-us-page .process-step-card:hover {
    box-shadow: -1px 6px 28px 0 rgba(87, 70, 206, 0.09);
    border-color: #5746CE;
}

.about-us-page .step-number {
    font-size: 42px;
    line-height: 1.1;
    font-weight: 700;
    color: #D5DEE4;
    letter-spacing: 0.01em;
}

.about-us-page .step-name {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 600;
    color: #5746CE;
    margin: 0;
}

.about-us-page .step-description {
    font-size: 15px;
    line-height: 1.6;
    color: #2d2d4e;
    letter-spacing: 0.01em;
    margin: 0;
}

.about-us-page .result-preview-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: stretch;
}

.about-us-page .result-preview-images {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.about-us-page .result-image-wrap {
    border-radius: 14px;
    overflow: hidden;
    height: 180px;
}

.about-us-page .result-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: opacity 0.18s ease-out;
}

.about-us-page .result-image-wrap:hover img {
    opacity: 0.82;
}

.about-us-page .result-image-wrap.tall {
    height: 100%;
    grid-row: span 2;
}

.about-us-page .result-text-panel {
    border-radius: 14px;
    background: #5746CE;
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    box-shadow: -1px 10px 48px 0 rgba(87, 70, 206, 0.12);
}

.about-us-page .result-panel-heading {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    font-weight: 300;
    color: #ffffff;
    margin: 0;
}

.about-us-page .result-panel-para {
    font-size: 15px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.88);
    letter-spacing: 0.01em;
    margin: 0;
}

.about-us-page .result-panel-link {
    display: inline-block;
    font-size: 15px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #37C1C8;
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1.5px solid rgba(55, 193, 200, 0.4);
    padding-bottom: 2px;
    width: fit-content;
    transition: color 0.15s ease-out, border-color 0.18s ease-out;
}

.about-us-page .result-panel-link:hover {
    color: #ffffff;
    border-color: #ffffff;
}

.about-us-page .result-panel-metrics {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 10px;
}

.about-us-page .metric-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

.about-us-page .metric-dot {
    width: 8px;
    height: 8px;
    border-radius: 38px;
    background: #37C1C8;
    flex-shrink: 0;
}

.about-us-page .metric-text {
    font-size: 15px;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.82);
    letter-spacing: 0.01em;
}

@media (max-width: 768px) {
    .about-us-page .identity-block {
        grid-template-columns: 1fr;
        padding: 40px 20px 20px;
    }

    .about-us-page .identity-image-frame {
        display: none;
    }

    .about-us-page .identity-heading {
        font-size: 42px;
    }

    .about-us-page .mission-strip-inner {
        grid-template-columns: 1fr;
        padding: 0 20px;
        gap: 20px;
    }

    .about-us-page .mission-stat.right-stat {
        text-align: left;
    }

    .about-us-page .mission-center-text {
        text-align: left;
    }

    .about-us-page .team-process-block {
        padding: 40px 20px;
    }

    .about-us-page .team-process-top {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .about-us-page .process-steps-row {
        grid-template-columns: 1fr;
    }

    .about-us-page .result-preview-row {
        grid-template-columns: 1fr;
    }

    .about-us-page .result-preview-images {
        display: none;
    }

    .about-us-page .result-text-panel {
        padding: 20px;
    }
}

@media (max-width: 390px) {
    .about-us-page .identity-heading {
        font-size: 42px;
    }

    .about-us-page .mission-center-heading {
        font-size: 42px;
    }

    .about-us-page .team-process-heading {
        font-size: 42px;
    }
}

@media (min-width: 1280px) {
    .about-us-page .identity-heading {
        font-size: 58px;
    }
}

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

.success_page .success_card {
    max-width: 1024px;
    width: 100%;
    background: #fff;
    border: 1.5px solid #D5DEE4;
    border-radius: 14px;
    padding: 80px 80px;
    box-shadow: -1px 6px 28px 0 rgba(87, 70, 206, 0.09);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}

.success_page .icon_wrapper {
    width: 72px;
    height: 72px;
    border-radius: 38px;
    background: linear-gradient(to right, #5746CE, #37C1C8);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

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

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

.success_page .success_heading {
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #5746CE;
    font-weight: 700;
    margin: 0;
}

.success_page .success_subtext {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #2a2a3d;
    max-width: 520px;
    margin: 0;
}

.success_page .divider_line {
    width: 60px;
    height: 2px;
    background: linear-gradient(to right, #5746CE, #37C1C8);
    border-radius: 5px;
}

.success_page .success_meta {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #5746CE;
    margin: 0;
    opacity: 0.75;
}

.success_page .return_link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #5746CE;
    text-decoration: none;
    border: 1.5px solid #5746CE;
    border-radius: 5px;
    padding: 10px 20px;
    transition: color 0.15s ease-out, background 0.18s ease-out, border-color 0.15s ease-out;
    position: relative;
    overflow: hidden;
}

.success_page .return_link:hover {
    background: linear-gradient(to right, #5746CE, #37C1C8);
    color: #fff;
    border-color: transparent;
}

.success_page .return_link svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: stroke 0.15s ease-out;
}

.success_page .contact_note {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #2a2a3d;
    margin: 0;
    opacity: 0.65;
}

.success_page .contact_note a {
    color: #5746CE;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.12s ease-out;
}

.success_page .contact_note a:hover {
    color: #37C1C8;
}

@media (max-width: 768px) {
    .success_page .success_card {
        padding: 40px 20px;
        gap: 20px;
    }

    .success_page .success_heading {
        font-size: 42px;
    }
}

@media (max-width: 390px) {
    .success_page {
        padding: 40px 10px;
    }

    .success_page .success_heading {
        font-size: 42px;
    }
}