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

html {
    overflow-x: clip
}

body {
    margin: 0;
    -webkit-text-size-adjust: 100%;
    font-family: 'Literata', serif;
    background: #fff;
    color: #0A283A;
    overflow-x: clip
}

header {
    position: relative;
    z-index: 1000
}

.brand_header_box {
    background: linear-gradient(135deg, #E9F7F7 0%, #fff 100%);
    border-bottom: 1px solid #00b9b926;
    padding: 12px 16px;
    box-shadow: 2px 2px 2px -2px #0a283a12 2px 5px 25px -2px #0a283a1a;
    position: relative;
    z-index: 1000
}

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

.logo_stack_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    background: #0A283A;
    padding: 8px 16px;
    border-radius: 10px;
    box-shadow: 2px 2px 2px -2px #00b9b912 2px 5px 25px -2px #00b9b91a 2px 12px 36px -2px #00b9b924
}

.logo_graphic {
    width: 32px;
    height: 32px;
    object-fit: contain
}

.brand_text {
    font-family: 'Cormorant', serif;
    font-size: 16px;
    font-weight: 700;
    color: #00B9B9;
    letter-spacing: .02em;
    line-height: 1.1
}

.primary_nav_box {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    flex-wrap: wrap;
    flex: 1;
    min-width: 0;
    height: auto;
    line-height: normal;
    width: auto;
    max-width: 100%;
    color: #0A283A;
    background: transparent;
    box-shadow: none;
    position: relative;
    z-index: 2
}

.nav_link {
    font-family: 'Literata', serif;
    font-size: 15px;
    color: #0A283A;
    text-decoration: none;
    padding: 8px 12px;
    height: auto;
    line-height: 1.5;
    display: inline-block;
    border-radius: 8px;
    letter-spacing: .01em;
    transition: background .18s cubic-bezier(0.4, 0, 0.6, 1), color .18s cubic-bezier(0.4, 0, 0.6, 1);
    position: relative;
    overflow: hidden;
    z-index: 1;
    white-space: nowrap
}

.nav_link::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: #00B9B9;
    transition: height .22s cubic-bezier(0.4, 0, 0.6, 1);
    z-index: -1
}

.nav_link:hover::before {
    height: 100%
}

.nav_link:hover {
    color: #fff
}

.nav_link:focus {
    outline: none;
    box-shadow: 0 0 0 4px #00b9b966
}

.action_link {
    font-family: 'Cormorant', serif;
    font-size: 16px;
    font-weight: 700;
    color: #0A283A;
    text-decoration: none;
    padding: 16px 40px;
    border: 2px solid #00B9B9;
    border-radius: 22px;
    letter-spacing: .02em;
    line-height: 1.5;
    transition: background .16s ease-out, color .16s ease-out;
    display: inline-block;
    text-transform: lowercase;
    position: relative;
    overflow: hidden
}

.action_link::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: #00B9B9;
    transition: height .22s cubic-bezier(0.4, 0, 0.6, 1);
    z-index: -1
}

.action_link:hover::before {
    height: 100%
}

.action_link:hover {
    color: #fff
}

.action_link:focus {
    outline: none;
    box-shadow: 0 0 0 4px #00b9b966
}

.nav_toggle_btn {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    padding: 8px;
    border: 2px solid #00B9B9;
    border-radius: 8px;
    background: transparent;
    cursor: pointer;
    flex-shrink: 0
}

.nav_toggle_bar {
    display: block;
    width: 100%;
    height: 2px;
    background: #0A283A;
    border-radius: 2px;
    transition: transform .22s cubic-bezier(0.4, 0, 0.6, 1), opacity .22s cubic-bezier(0.4, 0, 0.6, 1)
}

.nav_toggle_btn:focus {
    outline: none;
    box-shadow: 0 0 0 4px #00b9b966
}

body.nav_open {
    overflow: hidden
}

body.nav_open .nav_toggle_bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg)
}

body.nav_open .nav_toggle_bar:nth-child(2) {
    opacity: 0
}

body.nav_open .nav_toggle_bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg)
}

.company_legal_info {
    font-family: 'Literata', serif;
    font-size: 13px;
    color: #0A283A;
    letter-spacing: .01em;
    line-height: 1.5;
    margin: 8px 0 0
}

.footer_main_box {
    background: linear-gradient(180deg, #fff 0%, #E9F7F7 100%);
    border-top: 1px solid #00b9b926;
    padding: 80px 16px 40px;
    box-shadow: 2px 2px 2px -2px #0a283a12 2px 5px 25px -2px #0a283a1a 2px 12px 36px -2px #0a283a24
}

.footer_content_box {
    max-width: 1600px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 40px
}

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

.footer_logo_box {
    background: #0A283A;
    padding: 16px;
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    box-shadow: 2px 2px 2px -2px #00b9b912 2px 5px 25px -2px #00b9b91a
}

.footer_logo_graphic {
    width: 44px;
    height: 44px;
    object-fit: contain
}

.company_name_footer {
    font-family: 'Cormorant', serif;
    font-size: 27px;
    font-weight: 700;
    color: #0A283A;
    letter-spacing: .02em;
    line-height: 1.1
}

.company_description {
    font-family: 'Literata', serif;
    font-size: 16px;
    color: #0A283A;
    letter-spacing: .01em;
    line-height: 1.8;
    margin: 0
}

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

.footer_nav_heading {
    font-family: 'Cormorant', serif;
    font-size: 20px;
    font-weight: 700;
    color: #0A283A;
    letter-spacing: .02em;
    line-height: 1.1;
    margin: 0
}

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

.footer_nav_item {
    margin: 0
}

.footer_nav_link {
    font-family: 'Literata', serif;
    font-size: 16px;
    color: #0A283A;
    text-decoration: none;
    letter-spacing: .01em;
    line-height: 1.5;
    transition: color .18s cubic-bezier(0.4, 0, 0.6, 1);
    display: inline-block;
    padding: 4px 0
}

.footer_nav_link:hover {
    color: #00B9B9
}

.footer_nav_link:focus {
    outline: none;
    box-shadow: 0 0 0 4px #00b9b966
}

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

.contact_heading {
    font-family: 'Cormorant', serif;
    font-size: 20px;
    font-weight: 700;
    color: #0A283A;
    letter-spacing: .02em;
    line-height: 1.1;
    margin: 0
}

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

.contact_item {
    margin: 0
}

.contact_link {
    font-family: 'Literata', serif;
    font-size: 16px;
    color: #0A283A;
    text-decoration: none;
    letter-spacing: .01em;
    line-height: 1.5;
    transition: color .18s cubic-bezier(0.4, 0, 0.6, 1);
    display: inline-block
}

.contact_link:hover {
    color: #00B9B9
}

.contact_link:focus {
    outline: none;
    box-shadow: 0 0 0 4px #00b9b966
}

.contact_text {
    font-family: 'Literata', serif;
    font-size: 16px;
    color: #0A283A;
    letter-spacing: .01em;
    line-height: 1.5;
    margin: 0
}

.copyright_box {
    max-width: 1600px;
    margin: 40px auto 0;
    padding: 40px 0 0;
    border-top: 1px solid #00b9b926;
    text-align: center
}

.copyright_text {
    font-family: 'Literata', serif;
    font-size: 13px;
    color: #0A283A;
    letter-spacing: .01em;
    line-height: 1.5;
    margin: 0
}

.consent_popup_container {
    position: fixed;
    top: 40px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 90%;
    max-width: 640px;
    z-index: 8000;
    display: none
}

.consent_card {
    background: #fff;
    border: 2px solid #00B9B9;
    border-radius: 22px;
    padding: 40px;
    box-shadow: 2px 2px 2px -2px #0a283a12 2px 5px 25px -2px #0a283a1a 2px 12px 36px -2px #0a283a24;
    opacity: 0;
    transform: translateY(-16px);
    transition: opacity .22s cubic-bezier(0.4, 0, 0.6, 1), transform .22s cubic-bezier(0.4, 0, 0.6, 1)
}

.consent_card.visible {
    opacity: 1;
    transform: translateY(0)
}

.consent_message {
    font-family: 'Literata', serif;
    font-size: 16px;
    color: #0A283A;
    letter-spacing: .01em;
    line-height: 1.8;
    margin: 0 0 16px
}

.consent_headline {
    font-family: 'Cormorant', serif;
    font-size: 20px;
    font-weight: 700;
    color: #0A283A;
    letter-spacing: .02em;
    line-height: 1.5;
    margin: 16px 0 0
}

.consent_policy_link {
    color: #00B9B9;
    text-decoration: underline;
    transition: color .18s cubic-bezier(0.4, 0, 0.6, 1)
}

.consent_policy_link:hover {
    color: #0A283A
}

.consent_policy_link:focus {
    outline: none;
    box-shadow: 0 0 0 4px #00b9b966
}

.consent_buttons_box {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
    margin: 40px 0 0
}

.consent_button {
    font-family: 'Cormorant', serif;
    font-size: 16px;
    font-weight: 700;
    color: #0A283A;
    background: transparent;
    border: 2px solid #00B9B9;
    border-radius: 22px;
    padding: 16px 40px;
    cursor: pointer;
    letter-spacing: .02em;
    line-height: 1.5;
    text-transform: lowercase;
    transition: background .16s ease-out, color .16s ease-out, border-color .16s ease-out;
    position: relative;
    overflow: hidden
}

.consent_button::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: #00B9B9;
    transition: height .22s cubic-bezier(0.4, 0, 0.6, 1);
    z-index: -1
}

.consent_button:hover::before {
    height: 100%
}

.consent_button:hover {
    color: #fff
}

.consent_button:focus {
    outline: none;
    box-shadow: 0 0 0 4px #00b9b966
}

nav.primary_nav_box {
    width: auto;
    height: auto;
    line-height: normal;
    background: transparent;
    box-shadow: none
}

@media (min-width: 769px) {
    .logo_stack_box {
        flex-shrink: 0
    }

    .primary_nav_box {
        justify-content: flex-end
    }
}

@media (max-width: 768px) {
    .brand_header_box {
        padding: 10px 12px;
        position: relative;
        z-index: 1000
    }

    .brand_inner_box {
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
        position: relative
    }

    .logo_stack_box {
        padding: 6px 12px;
        flex: 1
    }

    .nav_toggle_btn {
        display: flex;
        width: 38px;
        height: 38px;
        position: relative;
        z-index: 1002
    }

    .primary_nav_box {
        display: none;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        order: 3;
        height: auto;
        line-height: normal;
        background: #fff;
        color: #0A283A;
        border: 1px solid #00b9b926;
        border-radius: 13px;
        padding: 8px;
        box-shadow: 2px 5px 25px -2px #0a283a1a;
        position: relative;
        z-index: 1001
    }

    body.nav_open .primary_nav_box {
        display: flex
    }

    .primary_nav_box .nav_link {
        width: 100%;
        text-align: center;
        color: #0A283A
    }

    .nav_link {
        width: 100%;
        text-align: center
    }

    .footer_content_box {
        grid-template-columns: 1fr
    }

    .consent_popup_container {
        width: 95%
    }

    .consent_card {
        padding: 40px 16px
    }

    .consent_buttons_box {
        flex-direction: column
    }

    .consent_button {
        width: 100%
    }
}

.terms-content {
    max-width: 1600px;
    margin: 0 auto;
    padding: 80px 40px;
    background: #fff
}

.terms-content h1 {
    font-size: 52px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #0A283A;
    margin: 0 0 40px
}

.terms-content h2 {
    font-size: 37px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #0A283A;
    margin: 80px 0 16px
}

.policy_content h3 {
    font-size: 27px;
    line-height: 1.1;
    letter-spacing: .015em;
    color: #0A283A;
    margin: 40px 0 16px
}

.terms-content h4 {
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: .02em;
    color: #0A283A;
    margin: 40px 0 8px
}

.terms-content h5 {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .02em;
    color: #0A283A;
    margin: 16px 0 8px
}

.terms-content h6 {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .02em;
    color: #0A283A;
    margin: 16px 0 8px
}

.terms-content p {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .015em;
    color: #0A283A;
    margin: 0 0 16px
}

.terms-content ul {
    margin: 0 0 16px;
    padding: 0 0 0 40px
}

.terms-content ol {
    margin: 0 0 16px;
    padding: 0 0 40px
}

.terms-content li {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .015em;
    color: #0A283A;
    margin: 0 0 8px
}

.terms-content strong {
    color: #0A283A
}

.terms-content b {
    color: #0A283A
}

.terms-content em {
    color: #0A283A
}

.terms-content i {
    color: #0A283A
}

.terms-content a {
    color: #00B9B9;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-bottom-color .18s cubic-bezier(0.4, 0, 0.6, 1)
}

.terms-content a:hover {
    border-bottom-color: #00B9B9
}

.terms-content a:focus {
    outline: 2px solid #00B9B9;
    outline-offset: 4px;
    border-radius: 8px
}

.terms-content div {
    margin: 0;
    padding: 0
}

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

    .terms-content h1 {
        font-size: 37px;
        margin: 0 0 16px
    }

    .terms-content h2 {
        font-size: 27px;
        margin: 40px 0 16px
    }

    .terms-content h3 {
        font-size: 20px;
        margin: 16px 0 8px
    }

    .terms-content ul {
        padding: 0 0 0 16px
    }

    .terms-content ol {
        padding: 0 0 16px
    }
}

.entry_pg {
    max-width: 1600px;
    margin: 0 auto;
    background: #fff
}

.entry_pg .title_area {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 40px;
    padding: 80px 40px;
    background: linear-gradient(168deg, #E9F7F7 0%, #fff 100%);
    position: relative;
    overflow: hidden
}

.entry_pg .title_area::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 480px;
    height: 480px;
    background: #00B9B9;
    opacity: .08;
    border-radius: 48px;
    transform: rotate(12deg);
    z-index: 1;
    pointer-events: none
}

.entry_pg .left_text {
    flex: 1;
    z-index: 2;
    position: relative
}

.entry_pg .main_head {
    font-size: 52px;
    line-height: 1.1;
    color: #0A283A;
    letter-spacing: .01em;
    margin: 0 0 16px;
    font-weight: 700
}

.entry_pg .sub_head {
    font-size: 20px;
    line-height: 1.5;
    color: #0A283A;
    letter-spacing: .02em;
    margin: 0 0 40px;
    opacity: .82
}

.entry_pg .action_link {
    display: inline-block;
    padding: 16px 40px;
    background: #00B9B9;
    color: #fff;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .01em;
    text-decoration: none;
    border-radius: 8px;
    position: relative;
    overflow: hidden;
    transition: transform .18s cubic-bezier(0.4, 0, 0.6, 1)
}

.entry_pg .action_link::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: #0A283A;
    transition: height .22s ease-out;
    z-index: -1
}

.entry_pg .action_link:hover::before {
    height: 100%
}

.entry_pg .action_link:hover {
    transform: translateY(-2px)
}

.entry_pg .right_img {
    width: 420px;
    height: 420px;
    flex-shrink: 0;
    position: relative;
    z-index: 2
}

.entry_pg .title_pic {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 22px;
    box-shadow: 2px 5px 25px -2px #00b9b91a 2px 12px 36px -2px #00b9b924;
    filter: saturate(0.88) brightness(1.05)
}

.entry_pg .value_zone {
    padding: 80px 40px;
    background: #fff;
    position: relative
}

.entry_pg .value_wrap {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start
}

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

.entry_pg .value_head {
    font-size: 37px;
    line-height: 1.1;
    color: #0A283A;
    letter-spacing: .01em;
    margin: 0;
    font-weight: 700
}

.entry_pg .value_para {
    font-size: 16px;
    line-height: 1.8;
    color: #0A283A;
    letter-spacing: .02em;
    margin: 0;
    opacity: .87
}

.entry_pg .value_img_col {
    position: relative
}

.entry_pg .value_pic {
    width: 100%;
    height: 460px;
    object-fit: cover;
    border-radius: 36px;
    box-shadow: 2px 2px 2px -2px #0a283a12 2px 5px 25px -2px #0a283a1a;
    opacity: .92
}

.entry_pg .approach_section {
    padding: 80px 40px;
    background: #E9F7F7;
    position: relative;
    overflow: hidden
}

.entry_pg .approach_section::before {
    content: '';
    position: absolute;
    bottom: -200px;
    left: -100px;
    width: 600px;
    height: 600px;
    background: #00B9B9;
    opacity: .06;
    border-radius: 48px;
    transform: rotate(-22deg);
    pointer-events: none
}

.entry_pg .approach_content {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 2
}

.entry_pg .approach_title {
    font-size: 37px;
    line-height: 1.1;
    color: #0A283A;
    letter-spacing: .01em;
    margin: 0 0 40px;
    font-weight: 700
}

.entry_pg .approach_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin: 40px 0 0
}

.entry_pg .approach_card {
    background: #fff;
    padding: 40px 16px;
    border-radius: 13px;
    box-shadow: 2px 2px 2px -2px #00b9b912 2px 5px 25px -2px #00b9b91a;
    transition: transform .16s ease-out, box-shadow .16s ease-out;
    position: relative;
    overflow: hidden
}

.entry_pg .approach_card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 0;
    background: #00B9B9;
    transition: height .22s cubic-bezier(0.4, 0, 0.6, 1)
}

.entry_pg .approach_card:hover::before {
    height: 100%
}

.entry_pg .approach_card:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 2px 12px 36px -2px #00b9b924
}

.entry_pg .card_number {
    font-size: 27px;
    line-height: 1.1;
    color: #00B9B9;
    letter-spacing: .01em;
    margin: 0 0 16px;
    font-weight: 700
}

.entry_pg .card_label {
    font-size: 16px;
    line-height: 1.5;
    color: #0A283A;
    letter-spacing: .02em;
    margin: 0;
    opacity: .88
}

.entry_pg .conditions_block {
    padding: 80px 40px;
    background: #fff;
    position: relative
}

.entry_pg .conditions_inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 80px;
    align-items: center
}

.entry_pg .conditions_img_side {
    width: 480px;
    flex-shrink: 0
}

.entry_pg .conditions_pic {
    width: 100%;
    height: 480px;
    object-fit: cover;
    border-radius: 36px;
    box-shadow: 2px 5px 25px -2px #0a283a1a 2px 12px 36px -2px #0a283a24;
    opacity: .94
}

.entry_pg .conditions_text_side {
    flex: 1
}

.entry_pg .conditions_heading {
    font-size: 37px;
    line-height: 1.1;
    color: #0A283A;
    letter-spacing: .01em;
    margin: 0 0 16px;
    font-weight: 700
}

.entry_pg .conditions_desc {
    font-size: 16px;
    line-height: 1.8;
    color: #0A283A;
    letter-spacing: .02em;
    margin: 0 0 40px;
    opacity: .87
}

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

.entry_pg .check_item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: #E9F7F7;
    border-radius: 8px;
    transition: background .18s ease-out
}

.entry_pg .check_item:hover {
    background: #00B9B9
}

.entry_pg .check_icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0
}

.entry_pg .check_icon svg {
    width: 100%;
    height: 100%;
    fill: #00B9B9;
    transition: fill .18s ease-out
}

.entry_pg .check_item:hover .check_icon svg {
    fill: #fff
}

.entry_pg .check_text {
    font-size: 16px;
    line-height: 1.5;
    color: #0A283A;
    letter-spacing: .02em;
    margin: 0;
    transition: color .18s ease-out
}

.entry_pg .check_item:hover .check_text {
    color: #fff
}

.entry_pg .progress_bar_wrap {
    margin: 40px 0 0
}

.entry_pg .progress_label {
    font-size: 13px;
    line-height: 1.5;
    color: #0A283A;
    letter-spacing: .02em;
    margin: 0 0 8px;
    opacity: .72
}

.entry_pg .progress_track {
    width: 100%;
    height: 12px;
    background: #E9F7F7;
    border-radius: 8px;
    overflow: hidden;
    position: relative
}

.entry_pg .progress_fill {
    height: 100%;
    background: linear-gradient(90deg, #00B9B9 0%, #0A283A 100%);
    border-radius: 8px;
    width: 72%;
    animation: progress_grow 1.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    transform-origin: left
}

@keyframes progress_grow {
    0% {
        width: 0
    }

    100% {
        width: 72%
    }
}

.entry_pg .available_area {
    padding: 80px 40px;
    background: linear-gradient(242deg, #E9F7F7 0%, #fff 100%);
    position: relative
}

.entry_pg .available_container {
    max-width: 1400px;
    margin: 0 auto
}

.entry_pg .available_header {
    text-align: center;
    margin: 0 0 80px
}

.entry_pg .available_title {
    font-size: 37px;
    line-height: 1.1;
    color: #0A283A;
    letter-spacing: .01em;
    margin: 0 0 16px;
    font-weight: 700
}

.entry_pg .available_subtitle {
    font-size: 16px;
    line-height: 1.5;
    color: #0A283A;
    letter-spacing: .02em;
    margin: 0;
    opacity: .82
}

.entry_pg .available_columns {
    display: grid;
    grid-template-columns: 1fr 0.8fr 1fr;
    gap: 40px;
    align-items: start
}

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

.entry_pg .available_col.center {
    padding: 40px 0 0
}

.entry_pg .available_box {
    background: #fff;
    padding: 40px;
    border-radius: 22px;
    box-shadow: 2px 2px 2px -2px #00b9b912 2px 5px 25px -2px #00b9b91a;
    transition: transform .14s ease-out;
    position: relative;
    overflow: hidden
}

.entry_pg .available_box::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: #00B9B9;
    transition: height .2s cubic-bezier(0.4, 0, 0.6, 1);
    z-index: 1
}

.entry_pg .available_box:hover::after {
    height: 4px
}

.entry_pg .available_box:hover {
    transform: translateY(-4px)
}

.entry_pg .box_label {
    font-size: 20px;
    line-height: 1.5;
    color: #0A283A;
    letter-spacing: .01em;
    margin: 0 0 8px;
    font-weight: 700;
    position: relative;
    z-index: 2
}

.entry_pg .box_detail {
    font-size: 13px;
    line-height: 1.8;
    color: #0A283A;
    letter-spacing: .02em;
    margin: 0;
    opacity: .78;
    position: relative;
    z-index: 2
}

.entry_pg .belong_segment {
    padding: 80px 40px;
    background: #0A283A;
    position: relative;
    overflow: hidden
}

.entry_pg .belong_segment::before {
    content: '';
    position: absolute;
    top: -160px;
    right: -120px;
    width: 520px;
    height: 520px;
    background: #00B9B9;
    opacity: .12;
    border-radius: 48px;
    transform: rotate(28deg);
    pointer-events: none
}

.entry_pg .belong_layout {
    max-width: 1000px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 80px;
    align-items: center;
    position: relative;
    z-index: 2
}

.entry_pg .belong_portrait_wrap {
    width: 320px;
    height: 320px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 2px 5px 25px -2px #00b9b91a 2px 12px 36px -2px #00b9b924;
    border: 4px solid #00B9B9
}

.entry_pg .belong_portrait {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top
}

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

.entry_pg .belong_heading {
    font-size: 37px;
    line-height: 1.1;
    color: #fff;
    letter-spacing: .01em;
    margin: 0;
    font-weight: 700
}

.entry_pg .belong_para {
    font-size: 16px;
    line-height: 1.8;
    color: #fff;
    letter-spacing: .02em;
    margin: 0;
    opacity: .92
}

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

.entry_pg .belong_list_item {
    font-size: 16px;
    line-height: 1.5;
    color: #E9F7F7;
    letter-spacing: .02em;
    padding: 0 0 0 24px;
    position: relative
}

.entry_pg .belong_list_item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 8px;
    height: 8px;
    background: #00B9B9;
    border-radius: 50%
}

.entry_pg .hesitation_zone {
    padding: 80px 40px;
    background: #fff;
    position: relative;
    border-top: 2px solid #00B9B9
}

.entry_pg .hesitation_content {
    max-width: 800px;
    margin: 0 auto;
    text-align: center
}

.entry_pg .hesitation_question {
    font-size: 37px;
    line-height: 1.1;
    color: #0A283A;
    letter-spacing: .01em;
    margin: 0 0 40px;
    font-weight: 700
}

.entry_pg .hesitation_answer {
    font-size: 16px;
    line-height: 1.8;
    color: #0A283A;
    letter-spacing: .02em;
    margin: 0 0 16px;
    opacity: .87
}

.entry_pg .hesitation_final {
    font-size: 16px;
    line-height: 1.8;
    color: #0A283A;
    letter-spacing: .02em;
    margin: 0;
    opacity: .87
}

.entry_pg .hesitation_cta {
    margin: 40px 0 0
}

.entry_pg .hesitation_button {
    display: inline-block;
    padding: 16px 40px;
    background: #00B9B9;
    color: #fff;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .01em;
    text-decoration: none;
    border-radius: 13px;
    transition: background .16s ease-out, transform .16s ease-out
}

.entry_pg .hesitation_button:hover {
    background: #0A283A;
    transform: scale(1.06)
}

@media (max-width: 768px) {
    .entry_pg .title_area {
        flex-direction: column;
        padding: 40px 16px
    }

    .entry_pg .right_img {
        display: none
    }

    .entry_pg .main_head {
        font-size: 37px
    }

    .entry_pg .value_wrap {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .entry_pg .value_img_col {
        display: none
    }

    .entry_pg .approach_grid {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .entry_pg .conditions_inner {
        flex-direction: column;
        gap: 40px
    }

    .entry_pg .conditions_img_side {
        display: none
    }

    .entry_pg .available_columns {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .entry_pg .available_col.center {
        padding: 0
    }

    .entry_pg .belong_layout {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .entry_pg .belong_portrait_wrap {
        margin: 0 auto
    }

    .entry_pg .belong_heading {
        font-size: 27px
    }

    .entry_pg .hesitation_question {
        font-size: 27px
    }
}

.press_rel {
    max-width: 1600px;
    margin: 0 auto;
    background: #fff
}

.press_rel .announce_head {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 40px;
    padding: 80px 40px;
    background: linear-gradient(167deg, #E9F7F7 0%, #fff 100%);
    position: relative;
    overflow: visible
}

.press_rel .announce_head::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: repeating-linear-gradient(0deg, #0a283a05 0px, #0a283a05 1px, transparent 1px, transparent 80px), repeating-linear-gradient(90deg, #0a283a05 0px, #0a283a05 1px, transparent 1px, transparent 80px);
    pointer-events: none
}

.press_rel .img_card {
    flex: 0 0 auto;
    width: 420px;
    position: relative;
    z-index: 1
}

.press_rel .img_card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 22px;
    filter: blur(0px) brightness(0.88);
    box-shadow: 2px 5px 25px -2px #0a283a1a;
    transition: filter .18s cubic-bezier(0.4, 0, 0.6, 1)
}

.press_rel .img_card img:hover {
    filter: blur(0px) brightness(1.08)
}

.press_rel .img_card::after {
    content: '';
    position: absolute;
    top: 8px;
    left: 8px;
    right: 8px;
    bottom: 8px;
    border-radius: 16px;
    box-shadow: inset 0 0 2px #0a283a26;
    pointer-events: none
}

.press_rel .txt_zone {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px;
    position: relative;
    z-index: 1
}

.press_rel .main_hdng {
    font-size: 52px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #0A283A;
    font-weight: 700;
    margin: 0
}

.press_rel .main_hdng .highlight_word {
    color: #00B9B9
}

.press_rel .desc_txt {
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: .015em;
    color: #0A283A;
    opacity: .82;
    margin: 0
}

.press_rel .stats_visual {
    padding: 80px 40px;
    background: #0A283A;
    position: relative;
    overflow: hidden
}

.press_rel .stats_visual::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: radial-gradient(circle at 20% 30%, #00b9b914 0%, transparent 50%), radial-gradient(circle at 80% 70%, #e9f7f70d 0%, transparent 50%);
    background-size: 100% 100%;
    pointer-events: none
}

.press_rel .stats_visual::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 200%;
    height: 100%;
    background: repeating-linear-gradient(0deg, transparent 0px, transparent 3px, #00b9b908 3px, #00b9b908 4px);
    animation: scanline_move 8s linear infinite;
    pointer-events: none
}

@keyframes scanline_move {
    0% {
        transform: translateY(0)
    }

    100% {
        transform: translateY(40px)
    }
}

.press_rel .stats_wrap {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto
}

.press_rel .stats_row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-bottom: 40px
}

.press_rel .stat_box {
    text-align: center;
    padding: 40px 16px;
    background: #e9f7f70a;
    border-radius: 13px;
    border: 1px solid #00b9b926;
    transition: transform .16s ease-out, border-color .16s ease-out
}

.press_rel .stat_box:hover {
    transform: translateY(-4px);
    border-color: #00b9b959
}

.press_rel .stat_num {
    font-size: 52px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #00B9B9;
    font-weight: 700;
    margin: 0 0 8px
}

.press_rel .stat_label {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .02em;
    color: #E9F7F7;
    opacity: .85;
    margin: 0
}

.press_rel .desc_content {
    background: #e9f7f70f;
    padding: 40px;
    border-radius: 22px;
    border: 1px solid #00b9b91f
}

.press_rel .desc_content h2 {
    font-size: 37px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #E9F7F7;
    font-weight: 700;
    margin: 0 0 16px
}

.press_rel .desc_content p {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .015em;
    color: #E9F7F7;
    opacity: .88;
    margin: 0 0 16px
}

.press_rel .desc_content p:last-child {
    margin-bottom: 0
}

.press_rel .visual_indicator {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 40px
}

.press_rel .indicator_dot {
    width: 12px;
    height: 12px;
    border-radius: 48px;
    background: #00B9B9;
    animation: pulse_dot 2s ease-in-out infinite
}

@keyframes pulse_dot {

    0%,
    100% {
        opacity: .4
    }

    50% {
        opacity: 1
    }
}

.press_rel .indicator_txt {
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: .02em;
    color: #00B9B9;
    text-transform: uppercase;
    margin: 0
}

.press_rel .comparison_grid {
    padding: 80px 40px;
    background: #fff;
    position: relative
}

.press_rel .comparison_grid::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: radial-gradient(circle, #00b9b914 1px, transparent 1px), radial-gradient(circle, #00b9b914 1px, transparent 1px);
    background-size: 40px 40px;
    background-position: 0 0, 20px 20px;
    opacity: .3;
    pointer-events: none
}

.press_rel .comparison_wrap {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.press_rel .comparison_hdng {
    font-size: 37px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #0A283A;
    font-weight: 700;
    margin: 0 0 40px;
    text-align: center
}

.press_rel .comparison_table {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px
}

.press_rel .option_col {
    background: #E9F7F7;
    padding: 40px;
    border-radius: 22px;
    box-shadow: 2px 5px 25px -2px #00b9b91a;
    position: relative
}

.press_rel .option_col::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 0;
    background: #00B9B9;
    border-radius: 8px;
    transition: height .22s cubic-bezier(0.4, 0, 0.6, 1)
}

.press_rel .option_col:hover::before {
    height: 100%
}

.press_rel .option_col.featured {
    background: linear-gradient(167deg, #E9F7F7 0%, #fff 100%);
    border: 2px solid #00B9B9
}

.press_rel .option_col.featured::after {
    content: '';
    position: absolute;
    top: -8px;
    right: -8px;
    width: 8px;
    height: 8px;
    background: #00B9B9;
    border-radius: 48px;
    box-shadow: 0 0 0 4px #00b9b933
}

.press_rel .option_ttl {
    font-size: 27px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #0A283A;
    font-weight: 700;
    margin: 0 0 16px
}

.press_rel .option_desc {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .015em;
    color: #0A283A;
    opacity: .75;
    margin: 0 0 40px
}

.press_rel .feature_list {
    list-style: none;
    padding: 0;
    margin: 0
}

.press_rel .feature_item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 16px;
    padding: 16px;
    background: #fff9;
    border-radius: 8px;
    transition: background .14s ease-out
}

.press_rel .feature_item:hover {
    background: #fffffff2
}

.press_rel .feature_item:last-child {
    margin-bottom: 0
}

.press_rel .feature_icon {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center
}

.press_rel .check_icon {
    width: 20px;
    height: 20px;
    border-radius: 48px;
    background: #00B9B9;
    position: relative
}

.press_rel .check_icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -60%) rotate(45deg);
    width: 6px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0
}

.press_rel .cross_icon {
    width: 20px;
    height: 20px;
    border-radius: 48px;
    background: #0a283a26;
    position: relative
}

.press_rel .cross_icon::before,
.press_rel .cross_icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 2px;
    background: #0a283a80
}

.press_rel .cross_icon::before {
    transform: translate(-50%, -50%) rotate(45deg)
}

.press_rel .cross_icon::after {
    transform: translate(-50%, -50%) rotate(-45deg)
}

.press_rel .feature_txt {
    flex: 1;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .015em;
    color: #0A283A;
    margin: 0
}

.press_rel .divider_geo {
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    background: #fff
}

.press_rel .geo_shape {
    width: 8px;
    height: 8px;
    background: #00B9B9;
    opacity: .3;
    transition: opacity .16s ease-out
}

.press_rel .geo_shape:nth-child(odd) {
    border-radius: 48px
}

.press_rel .geo_shape:nth-child(even) {
    transform: rotate(45deg)
}

.press_rel .divider_geo:hover .geo_shape {
    opacity: .8
}

.press_rel .hover_color_txt {
    display: inline-block
}

.press_rel .hover_color_txt .char {
    display: inline-block;
    color: #0A283A;
    transition: color .12s ease-out
}

.press_rel .hover_color_txt:hover .char:nth-child(1) {
    color: #00B9B9;
    transition-delay: 0s
}

.press_rel .hover_color_txt:hover .char:nth-child(2) {
    color: #00B9B9;
    transition-delay: .02s
}

.press_rel .hover_color_txt:hover .char:nth-child(3) {
    color: #00B9B9;
    transition-delay: .04s
}

.press_rel .hover_color_txt:hover .char:nth-child(4) {
    color: #00B9B9;
    transition-delay: .06s
}

.press_rel .hover_color_txt:hover .char:nth-child(5) {
    color: #00B9B9;
    transition-delay: .08s
}

.press_rel .hover_color_txt:hover .char:nth-child(6) {
    color: #00B9B9;
    transition-delay: .1s
}

.press_rel .hover_color_txt:hover .char:nth-child(7) {
    color: #00B9B9;
    transition-delay: .12s
}

.press_rel .hover_color_txt:hover .char:nth-child(8) {
    color: #00B9B9;
    transition-delay: .14s
}

.press_rel .hover_color_txt:hover .char:nth-child(9) {
    color: #00B9B9;
    transition-delay: .16s
}

.press_rel .hover_color_txt:hover .char:nth-child(10) {
    color: #00B9B9;
    transition-delay: .18s
}

.press_rel .hover_color_txt:hover .char:nth-child(11) {
    color: #00B9B9;
    transition-delay: .2s
}

.press_rel .hover_color_txt:hover .char:nth-child(12) {
    color: #00B9B9;
    transition-delay: .22s
}

.press_rel .hover_color_txt:hover .char:nth-child(13) {
    color: #00B9B9;
    transition-delay: .24s
}

.press_rel .hover_color_txt:hover .char:nth-child(14) {
    color: #00B9B9;
    transition-delay: .26s
}

.press_rel .hover_color_txt:hover .char:nth-child(15) {
    color: #00B9B9;
    transition-delay: .28s
}

.press_rel .hover_color_txt:hover .char:nth-child(16) {
    color: #00B9B9;
    transition-delay: .3s
}

.press_rel .hover_color_txt:hover .char:nth-child(17) {
    color: #00B9B9;
    transition-delay: .32s
}

.press_rel .hover_color_txt:hover .char:nth-child(18) {
    color: #00B9B9;
    transition-delay: .34s
}

.press_rel .hover_color_txt:hover .char:nth-child(19) {
    color: #00B9B9;
    transition-delay: .36s
}

.press_rel .hover_color_txt:hover .char:nth-child(20) {
    color: #00B9B9;
    transition-delay: .38s
}

.press_rel .corner_bracket {
    position: relative
}

.press_rel .corner_bracket::before,
.press_rel .corner_bracket::after {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    border: 2px solid #00B9B9;
    opacity: .4;
    transition: opacity .18s cubic-bezier(0.4, 0, 0.6, 1)
}

.press_rel .corner_bracket::before {
    top: -8px;
    left: -8px;
    border-right: none;
    border-bottom: none;
    border-radius: 8px 0 0 0
}

.press_rel .corner_bracket::after {
    bottom: -8px;
    right: -8px;
    border-left: none;
    border-top: none;
    border-radius: 0 0 8px 0
}

.press_rel .corner_bracket:hover::before,
.press_rel .corner_bracket:hover::after {
    opacity: 1
}

@media (max-width: 768px) {
    .press_rel .announce_head {
        flex-direction: column;
        padding: 40px 16px
    }

    .press_rel .img_card {
        width: 100%;
        max-width: 100%
    }

    .press_rel .main_hdng {
        font-size: 37px
    }

    .press_rel .desc_txt {
        font-size: 16px
    }

    .press_rel .stats_visual {
        padding: 40px 16px
    }

    .press_rel .stats_row {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .press_rel .stat_box {
        padding: 16px
    }

    .press_rel .stat_num {
        font-size: 37px
    }

    .press_rel .desc_content {
        padding: 16px
    }

    .press_rel .desc_content h2 {
        font-size: 27px
    }

    .press_rel .comparison_grid {
        padding: 40px 16px
    }

    .press_rel .comparison_hdng {
        font-size: 27px;
        margin-bottom: 16px
    }

    .press_rel .comparison_table {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .press_rel .option_col {
        padding: 16px
    }

    .press_rel .option_ttl {
        font-size: 20px
    }

    .press_rel .option_desc {
        margin-bottom: 16px
    }

    .press_rel .feature_item {
        padding: 8px
    }
}

.learn_prog {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .01em;
    color: #0A283A;
    background: #fff;
    max-width: 1600px;
    margin: 0 auto
}

.learn_prog .title_zone {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 40px;
    padding: 40px 80px;
    background: linear-gradient(127deg, #E9F7F7 0%, #fff 100%);
    position: relative;
    overflow: visible
}

.learn_prog .title_zone::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 8px;
    right: 8px;
    bottom: 8px;
    border: 1px solid #00b9b933;
    border-radius: 8px;
    pointer-events: none
}

.learn_prog .title_zone::after {
    content: '';
    position: absolute;
    top: 16px;
    left: 16px;
    right: 16px;
    bottom: 16px;
    border: 1px solid #00b9b91f;
    border-radius: 13px;
    pointer-events: none
}

.learn_prog .title_left {
    flex: 1;
    z-index: 2
}

.learn_prog .title_main {
    font-size: 52px;
    line-height: 1.1;
    letter-spacing: .01em;
    font-weight: 700;
    margin: 0 0 16px;
    color: #0A283A
}

.learn_prog .title_main .highlight_word {
    color: #00B9B9;
    text-decoration: underline;
    text-decoration-thickness: 3px;
    text-underline-offset: 8px;
    text-decoration-color: #00B9B9
}

.learn_prog .title_desc {
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: .015em;
    color: #0a283abf;
    margin: 0
}

.learn_prog .title_right {
    width: 320px;
    flex-shrink: 0
}

.learn_prog .title_img_wrap {
    width: 100%;
    height: 400px;
    border-radius: 22px;
    overflow: hidden;
    position: relative;
    box-shadow: 2px 5px 25px -2px #00b9b91a
}

.learn_prog .title_img_wrap::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: repeating-linear-gradient(0deg, transparent, transparent 2px, #0a283a08 2px, #0a283a08 4px);
    pointer-events: none
}

.learn_prog .title_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block
}

.learn_prog .structure_zone {
    padding: 80px;
    background: #fff;
    position: relative
}

.learn_prog .structure_inner {
    max-width: 1200px;
    margin: 0 auto;
    position: relative
}

.learn_prog .structure_head {
    text-align: center;
    margin-bottom: 80px;
    position: relative
}

.learn_prog .structure_title {
    font-size: 37px;
    line-height: 1.1;
    letter-spacing: .01em;
    font-weight: 700;
    margin: 0 0 16px;
    color: #0A283A
}

.learn_prog .structure_subtitle {
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: .015em;
    color: #0a283ab3;
    margin: 0
}

.learn_prog .structure_divider {
    width: 80px;
    height: 4px;
    background: #00B9B9;
    margin: 40px auto 0;
    border-radius: 8px;
    position: relative
}

.learn_prog .structure_divider::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 16px;
    height: 16px;
    background: #00B9B9;
    border-radius: 50%;
    box-shadow: 0 0 0 4px #fff
}

.learn_prog .structure_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    position: relative
}

.learn_prog .phase_card {
    background: #fff;
    border: 2px solid #E9F7F7;
    border-radius: 22px;
    padding: 40px;
    position: relative;
    transition: transform .18s cubic-bezier(0.4, 0, 0.6, 1), box-shadow .18s cubic-bezier(0.4, 0, 0.6, 1), border-color .18s cubic-bezier(0.4, 0, 0.6, 1);
    animation: drop_in .22s cubic-bezier(0.34, 1.56, 0.64, 1) backwards
}

.learn_prog .phase_card:nth-child(1) {
    animation-delay: .1s
}

.learn_prog .phase_card:nth-child(2) {
    animation-delay: .2s
}

.learn_prog .phase_card:nth-child(3) {
    animation-delay: .3s
}

@keyframes drop_in {
    from {
        opacity: 0;
        transform: translateY(-40px)
    }

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

.learn_prog .phase_card:hover {
    transform: translateY(-8px);
    box-shadow: 2px 12px 36px -2px #00b9b924;
    border-color: #00B9B9
}

.learn_prog .phase_number {
    font-size: 52px;
    line-height: 1.1;
    letter-spacing: .01em;
    font-weight: 700;
    margin: 0 0 16px;
    display: flex;
    align-items: baseline
}

.learn_prog .phase_number .integer_part {
    color: #00B9B9
}

.learn_prog .phase_number .decimal_part {
    color: #0a283a4d;
    font-size: 37px
}

.learn_prog .phase_name {
    font-size: 20px;
    line-height: 1.1;
    letter-spacing: .015em;
    font-weight: 700;
    margin: 0 0 16px;
    color: #0A283A
}

.learn_prog .phase_desc {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .01em;
    color: #0a283ab3;
    margin: 0
}

.learn_prog .phase_duration {
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: #00B9B9;
    margin: 16px 0 0;
    font-weight: 600
}

.learn_prog .outcomes_zone {
    padding: 80px;
    background: linear-gradient(217deg, #0A283A 0%, #0A283A 100%);
    position: relative;
    overflow: hidden
}

.learn_prog .outcomes_zone::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 200px;
    background: radial-gradient(ellipse at top, #00b9b926 0%, transparent 70%);
    pointer-events: none
}

.learn_prog .outcomes_zone::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 200px;
    background: radial-gradient(ellipse at bottom, #00b9b914 0%, transparent 70%);
    pointer-events: none
}

.learn_prog .outcomes_inner {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center
}

.learn_prog .outcomes_content {
    position: relative
}

.learn_prog .outcomes_quote {
    position: absolute;
    top: -40px;
    left: -40px;
    font-size: 160px;
    line-height: 1;
    color: #00b9b926;
    font-weight: 700;
    pointer-events: none;
    z-index: 1
}

.learn_prog .outcomes_title {
    font-size: 37px;
    line-height: 1.1;
    letter-spacing: .01em;
    font-weight: 700;
    margin: 0 0 16px;
    color: #fff;
    position: relative;
    z-index: 2
}

.learn_prog .outcomes_title .split_first {
    color: #00B9B9
}

.learn_prog .outcomes_text {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .01em;
    color: #ffffffd9;
    margin: 0 0 16px;
    position: relative;
    z-index: 2
}

.learn_prog .outcomes_list {
    list-style: none;
    padding: 0;
    margin: 40px 0 0;
    position: relative;
    z-index: 2
}

.learn_prog .outcomes_list_item {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .01em;
    color: #ffffffd9;
    margin: 0 0 16px;
    padding-left: 32px;
    position: relative
}

.learn_prog .outcomes_list_item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 16px;
    height: 2px;
    background: #00B9B9;
    border-radius: 8px
}

.learn_prog .outcomes_visual {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 16px
}

.learn_prog .outcomes_profile_wrap {
    border-radius: 22px;
    overflow: hidden;
    position: relative;
    box-shadow: 2px 5px 25px -2px #00b9b91a;
    transition: transform .16s ease-out
}

.learn_prog .outcomes_profile_wrap:hover {
    transform: scale(1.05)
}

.learn_prog .outcomes_profile_wrap.large {
    grid-column: 1 / 2;
    grid-row: 1 / 3
}

.learn_prog .outcomes_profile_wrap.small {
    aspect-ratio: 1 / 1
}

.learn_prog .outcomes_profile_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block
}

.learn_prog .outcomes_stat {
    background: #00b9b91a;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid #00b9b933;
    border-radius: 22px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    transition: transform .2s cubic-bezier(0.4, 0, 0.6, 1), background .2s cubic-bezier(0.4, 0, 0.6, 1)
}

.learn_prog .outcomes_stat:hover {
    transform: translateY(-4px);
    background: #00b9b926
}

.learn_prog .outcomes_stat_number {
    font-size: 37px;
    line-height: 1.1;
    letter-spacing: .01em;
    font-weight: 700;
    color: #00B9B9;
    margin: 0 0 8px
}

.learn_prog .outcomes_stat_label {
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: #ffffffb3;
    margin: 0;
    font-weight: 600
}

@media (max-width: 1024px) {
    .learn_prog .title_zone {
        flex-direction: column;
        padding: 40px
    }

    .learn_prog .title_right {
        width: 100%;
        max-width: 400px
    }

    .learn_prog .structure_zone {
        padding: 40px
    }

    .learn_prog .structure_grid {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .learn_prog .outcomes_zone {
        padding: 40px
    }

    .learn_prog .outcomes_inner {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .learn_prog .outcomes_visual {
        order: -1
    }
}

@media (max-width: 768px) {
    .learn_prog .title_zone {
        padding: 40px 16px
    }

    .learn_prog .title_main {
        font-size: 37px
    }

    .learn_prog .title_desc {
        font-size: 16px
    }

    .learn_prog .title_right {
        display: none
    }

    .learn_prog .structure_zone {
        padding: 40px 16px
    }

    .learn_prog .structure_head {
        margin-bottom: 40px
    }

    .learn_prog .structure_title {
        font-size: 27px
    }

    .learn_prog .structure_subtitle {
        font-size: 16px
    }

    .learn_prog .phase_card {
        padding: 40px 16px
    }

    .learn_prog .outcomes_zone {
        padding: 40px 16px
    }

    .learn_prog .outcomes_quote {
        font-size: 120px;
        top: -20px;
        left: -20px
    }

    .learn_prog .outcomes_title {
        font-size: 27px
    }

    .learn_prog .outcomes_visual {
        display: none
    }
}

.learn_prog .faq_zone {
    padding: 80px;
    background: #E9F7F7;
    position: relative
}

.learn_prog .faq_inner {
    max-width: 900px;
    margin: 0 auto
}

.learn_prog .faq_head {
    text-align: center;
    margin-bottom: 80px
}

.learn_prog .faq_title {
    font-size: 37px;
    line-height: 1.1;
    letter-spacing: .01em;
    font-weight: 700;
    margin: 0 0 16px;
    color: #0A283A
}

.learn_prog .faq_subtitle {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .01em;
    color: #0a283ab3;
    margin: 0
}

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

.learn_prog .faq_item {
    background: #fff;
    border-radius: 13px;
    overflow: hidden;
    box-shadow: 2px 2px 2px -2px #00b9b912;
    transition: box-shadow .18s cubic-bezier(0.4, 0, 0.6, 1)
}

.learn_prog .faq_item:hover {
    box-shadow: 2px 5px 25px -2px #00b9b91a
}

.learn_prog .faq_question_wrap {
    position: relative
}

.learn_prog .faq_toggle {
    position: absolute;
    opacity: 0;
    pointer-events: none
}

.learn_prog .faq_question_label {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 40px;
    cursor: pointer;
    user-select: none;
    transition: background .16s ease-out
}

.learn_prog .faq_question_label:hover {
    background: #00b9b908
}

.learn_prog .faq_question_text {
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: 600;
    color: #0A283A;
    margin: 0;
    flex: 1
}

.learn_prog .faq_icon {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    position: relative;
    margin-left: 16px
}

.learn_prog .faq_icon::before,
.learn_prog .faq_icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    background: #00B9B9;
    border-radius: 8px;
    transition: transform .2s cubic-bezier(0.4, 0, 0.6, 1)
}

.learn_prog .faq_icon::before {
    width: 16px;
    height: 2px;
    transform: translate(-50%, -50%)
}

.learn_prog .faq_icon::after {
    width: 2px;
    height: 16px;
    transform: translate(-50%, -50%)
}

.learn_prog .faq_toggle:checked+.faq_question_label .faq_icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
    opacity: 0
}

.learn_prog .faq_answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height .22s cubic-bezier(0.4, 0, 0.6, 1), padding .22s cubic-bezier(0.4, 0, 0.6, 1);
    padding: 0 40px
}

.learn_prog .faq_toggle:checked~.faq_answer {
    max-height: 600px;
    padding: 0 40px 40px
}

.learn_prog .faq_answer_text {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .01em;
    color: #0a283abf;
    margin: 0
}

@media (max-width: 768px) {
    .learn_prog .faq_zone {
        padding: 40px 16px
    }

    .learn_prog .faq_head {
        margin-bottom: 40px
    }

    .learn_prog .faq_title {
        font-size: 27px
    }

    .learn_prog .faq_question_label {
        padding: 40px 16px
    }

    .learn_prog .faq_question_text {
        font-size: 16px
    }

    .learn_prog .faq_answer {
        padding: 0 16px
    }

    .learn_prog .faq_toggle:checked~.faq_answer {
        padding: 0 16px 40px
    }
}

.contact_pg {
    background: #fff;
    max-width: 1600px;
    margin: 0 auto
}

.contact_pg .split_intro {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 520px;
    position: relative;
    overflow: hidden;
    padding-top: 80px;
    padding-bottom: 40px
}

.contact_pg .split_intro .left_half {
    background: #E9F7F7;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 80px;
    padding-right: 40px;
    position: relative
}

.contact_pg .split_intro .right_half {
    background: #0A283A;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 40px;
    padding-right: 80px;
    position: relative
}

.contact_pg .split_intro .curve_deco_1 {
    position: absolute;
    width: 280px;
    height: 280px;
    border: 3px solid #00B9B9;
    border-radius: 48px;
    top: 40px;
    left: -80px;
    transform: rotate(15deg);
    opacity: .3
}

.contact_pg .split_intro .curve_deco_2 {
    position: absolute;
    width: 180px;
    height: 180px;
    border: 2px solid #0A283A;
    border-radius: 36px;
    bottom: 60px;
    right: -60px;
    transform: rotate(-22deg);
    opacity: .2
}

.contact_pg .split_intro .curve_deco_3 {
    position: absolute;
    width: 140px;
    height: 140px;
    border: 2px solid #E9F7F7;
    border-radius: 22px;
    top: 80px;
    right: 40px;
    transform: rotate(8deg);
    opacity: .15
}

.contact_pg .intro_heading {
    font-size: 52px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #0A283A;
    margin: 0 0 16px;
    opacity: 0;
    transform: translateY(20px);
    animation: cascade_reveal .18s cubic-bezier(0.4, 0, 0.6, 1) forwards
}

.contact_pg .intro_quote {
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: .02em;
    color: #00B9B9;
    margin: 0;
    font-style: italic;
    opacity: 0;
    transform: translateY(20px);
    animation: cascade_reveal .18s cubic-bezier(0.4, 0, 0.6, 1) .12s forwards
}

.contact_pg .right_half .intro_heading {
    color: #E9F7F7
}

.contact_pg .right_half .intro_quote {
    color: #00B9B9
}

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

.contact_pg .form_editorial {
    background: #fff;
    padding-top: 80px;
    padding-bottom: 80px;
    position: relative
}

.contact_pg .form_wrapper {
    max-width: 1600px;
    margin: 0 auto;
    padding-left: 80px;
    padding-right: 80px;
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    gap: 80px;
    align-items: start
}

.contact_pg .dividing_line {
    width: 1px;
    height: 100%;
    background: linear-gradient(172deg, #E9F7F7 0%, #00B9B9 50%, #0A283A 100%);
    min-height: 600px
}

.contact_pg .form_intro_col {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding-top: 40px
}

.contact_pg .form_title {
    font-size: 37px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #0A283A;
    margin: 0
}

.contact_pg .form_description {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .02em;
    color: #0A283A;
    margin: 0
}

.contact_pg .contact_details_box {
    background: #E9F7F7;
    border-radius: 13px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: 2px 2px 2px -2px #00b9b912 2px 5px 25px -2px #00b9b91a 2px 12px 36px -2px #00b9b924
}

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

.contact_pg .detail_label {
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: .02em;
    color: #00B9B9;
    text-transform: uppercase;
    margin: 0
}

.contact_pg .detail_value {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .01em;
    color: #0A283A;
    margin: 0
}

.contact_pg .detail_value a {
    color: #0A283A;
    text-decoration: none;
    border-bottom: 1px solid #00B9B9;
    transition: border-color .16s cubic-bezier(0.4, 0, 0.6, 1)
}

.contact_pg .detail_value a:hover {
    border-color: #0A283A
}

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

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

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

.contact_pg .field_label {
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: .02em;
    color: #0A283A;
    margin: 0;
    text-transform: uppercase
}

.contact_pg .field_input {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .01em;
    color: #0A283A;
    background: #fff;
    border: 2px solid #E9F7F7;
    border-radius: 8px;
    padding: 16px;
    transition: border-color .14s ease-out;
    outline: none
}

.contact_pg .field_input:focus {
    border-color: #00B9B9
}

.contact_pg .field_input::placeholder {
    color: #0a283a66
}

.contact_pg .field_select {
    display: block;
    width: 100%;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .01em;
    color: #0A283A;
    background: #fff;
    border: 2px solid #E9F7F7;
    border-radius: 8px;
    padding: 16px;
    transition: border-color .14s ease-out;
    outline: none;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%230A283A' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 40px
}

.contact_pg .field_select:focus {
    border-color: #00B9B9
}

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

.contact_pg .radio_set [type="radio"] {
    position: relative;
    left: auto;
    top: auto;
    opacity: 1;
    visibility: visible
}

.contact_pg .radio_option {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    cursor: pointer
}

.contact_pg .radio_input {
    width: 20px;
    height: 20px;
    border: 2px solid #E9F7F7;
    border-radius: 48px;
    appearance: none;
    cursor: pointer;
    position: relative;
    transition: border-color .16s ease-out;
    flex-shrink: 0
}

.contact_pg .radio_input:checked {
    border-color: #00B9B9
}

.contact_pg .radio_input:checked::after {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    background: #00B9B9;
    border-radius: 48px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.contact_pg .radio_label {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .01em;
    color: #0A283A;
    margin: 0;
    cursor: pointer
}

.contact_pg .privacy_wrap {
    display: flex;
    flex-direction: row;
    align-items: start;
    gap: 8px;
    margin-top: 8px
}

.contact_pg .privacy_checkbox[type="checkbox"] {
    position: relative;
    left: auto;
    top: auto;
    opacity: 1;
    visibility: visible
}

.contact_pg .privacy_checkbox {
    width: 20px;
    height: 20px;
    border: 2px solid #E9F7F7;
    border-radius: 8px;
    appearance: none;
    cursor: pointer;
    position: relative;
    transition: border-color .16s ease-out;
    flex-shrink: 0;
    margin-top: 2px
}

.contact_pg .privacy_checkbox:checked {
    border-color: #00B9B9;
    background: #00B9B9
}

.contact_pg .privacy_checkbox:checked::after {
    content: '';
    position: absolute;
    width: 4px;
    height: 8px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    top: 3px;
    left: 6px;
    transform: rotate(45deg)
}

.contact_pg .privacy_text {
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: .01em;
    color: #0A283A;
    margin: 0
}

.contact_pg .privacy_text a {
    color: #00B9B9;
    text-decoration: none;
    border-bottom: 1px solid #00B9B9;
    transition: border-color .18s ease-out
}

.contact_pg .privacy_text a:hover {
    border-color: transparent
}

.contact_pg .submit_btn {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .02em;
    color: #fff;
    background: #0A283A;
    border: none;
    border-radius: 13px;
    padding: 16px 40px;
    cursor: pointer;
    text-transform: lowercase;
    transition: background-color .14s ease-out, transform .12s cubic-bezier(0.4, 0, 0.6, 1);
    position: relative;
    overflow: hidden;
    align-self: flex-start;
    margin-top: 8px
}

.contact_pg .submit_btn::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: #00B9B9;
    transition: height .22s cubic-bezier(0.4, 0, 0.6, 1);
    z-index: 0
}

.contact_pg .submit_btn:hover::before {
    height: 100%
}

.contact_pg .submit_btn span {
    position: relative;
    z-index: 1
}

.contact_pg .submit_btn:active {
    transform: scale(0.98)
}

.contact_pg .form-phone-error,
.form-field-error {
    display: block;
    font-size: 13px;
    line-height: 1.5;
    color: #c0392b;
    margin-top: 4px
}

.contact_pg .field_invalid,
.contact_pg .field_input.field_invalid,
.contact_pg .field_select.field_invalid,
.contact_pg .privacy_checkbox.field_invalid {
    border-color: #c0392b
}

.form_success_overlay {
    position: fixed;
    inset: 0;
    z-index: 9000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
    background: #0a283a80;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .22s cubic-bezier(0.4, 0, 0.6, 1), visibility .22s cubic-bezier(0.4, 0, 0.6, 1)
}

.form_success_overlay.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto
}

body.form_success_open {
    overflow: hidden
}

.form_success_modal {
    position: relative;
    width: 100%;
    max-width: 520px;
    background: #fff;
    border: 2px solid #00B9B9;
    border-radius: 22px;
    padding: 48px 40px 40px;
    text-align: center;
    box-shadow: 2px 2px 2px -2px #0a283a12 2px 5px 25px -2px #0a283a1a 2px 12px 36px -2px #0a283a24;
    transform: translateY(16px) scale(0.98);
    transition: transform .22s cubic-bezier(0.4, 0, 0.6, 1)
}

.form_success_overlay.is-visible .form_success_modal {
    transform: translateY(0) scale(1)
}

.form_success_close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 8px;
    background: #E9F7F7;
    color: #0A283A;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    transition: background .16s ease-out, color .16s ease-out
}

.form_success_close:hover {
    background: #00B9B9;
    color: #fff
}

.form_success_close:focus {
    outline: none;
    box-shadow: 0 0 0 4px #00b9b966
}

.form_success_icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 24px;
    border-radius: 50%;
    background: #E9F7F7;
    display: flex;
    align-items: center;
    justify-content: center
}

.form_success_check {
    width: 18px;
    height: 32px;
    border-right: 4px solid #00B9B9;
    border-bottom: 4px solid #00B9B9;
    transform: rotate(45deg) translate(-2px, -4px)
}

.form_success_title {
    font-family: 'Cormorant', serif;
    font-size: 32px;
    font-weight: 700;
    color: #0A283A;
    letter-spacing: .02em;
    line-height: 1.2;
    margin: 0 0 16px;
    text-transform: lowercase
}

.form_success_text {
    font-family: 'Literata', serif;
    font-size: 16px;
    color: #0A283A;
    letter-spacing: .01em;
    line-height: 1.8;
    margin: 0
}

.form_success_actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 32px
}

.form_success_btn {
    font-family: 'Cormorant', serif;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    padding: 14px 32px;
    border-radius: 22px;
    letter-spacing: .02em;
    line-height: 1.5;
    text-transform: lowercase;
    cursor: pointer;
    transition: background .16s ease-out, color .16s ease-out, border-color .16s ease-out
}

.form_success_btn_primary {
    color: #fff;
    background: #0A283A;
    border: 2px solid #0A283A
}

.form_success_btn_primary:hover {
    background: #00B9B9;
    border-color: #00B9B9
}

.form_success_btn_secondary {
    color: #0A283A;
    background: transparent;
    border: 2px solid #00B9B9
}

.form_success_btn_secondary:hover {
    background: #00B9B9;
    color: #fff
}

.form_success_btn:focus {
    outline: none;
    box-shadow: 0 0 0 4px #00b9b966
}

@media (max-width: 768px) {
    .form_success_modal {
        padding: 40px 24px 32px
    }

    .form_success_title {
        font-size: 27px
    }

    .form_success_actions {
        flex-direction: column
    }

    .form_success_btn {
        width: 100%
    }
}

.contact_pg .corner_tag {
    position: absolute;
    top: -8px;
    right: 40px;
    background: #00B9B9;
    color: #fff;
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: .02em;
    padding: 4px 16px;
    border-radius: 8px;
    text-transform: uppercase;
    box-shadow: 2px 2px 2px -2px #0a283a12 2px 5px 25px -2px #0a283a1a
}

.contact_pg .dots_cluster {
    position: absolute;
    bottom: 40px;
    left: 40px;
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center
}

.contact_pg .dot {
    background: #E9F7F7;
    border-radius: 48px
}

.contact_pg .dot_sm {
    width: 6px;
    height: 6px
}

.contact_pg .dot_md {
    width: 10px;
    height: 10px
}

.contact_pg .dot_lg {
    width: 14px;
    height: 14px
}

.contact_pg .arrow_divider {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 16px;
    padding: 40px 0;
    background: #fff
}

.contact_pg .arrow_shape {
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 10px solid #00B9B9
}

.contact_pg .feature_visual {
    background-image: url("../images/work-2022-012.jpg");
    background-size: cover;
    background-position: center;
    position: relative;
    min-height: 400px;
    border-radius: 22px;
    overflow: hidden
}

.contact_pg .feature_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #0a283abf;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 40px
}

.contact_pg .overlay_text {
    font-size: 27px;
    line-height: 1.5;
    letter-spacing: .01em;
    color: #E9F7F7;
    margin: 0;
    text-align: center;
    max-width: 600px
}

@media (max-width: 768px) {
    .contact_pg .split_intro {
        grid-template-columns: 1fr;
        padding-top: 40px;
        padding-bottom: 40px;
        min-height: auto
    }

    .contact_pg .split_intro .left_half,
    .contact_pg .split_intro .right_half {
        padding: 40px 16px
    }

    .contact_pg .intro_heading {
        font-size: 37px
    }

    .contact_pg .intro_quote {
        font-size: 16px
    }

    .contact_pg .curve_deco_1,
    .contact_pg .curve_deco_2,
    .contact_pg .curve_deco_3 {
        display: none
    }

    .contact_pg .form_wrapper {
        grid-template-columns: 1fr;
        gap: 40px;
        padding-left: 16px;
        padding-right: 16px
    }

    .contact_pg .dividing_line {
        display: none
    }

    .contact_pg .form_editorial {
        padding-top: 40px;
        padding-bottom: 40px
    }

    .contact_pg .form_intro_col {
        padding-top: 0
    }

    .contact_pg .form_title {
        font-size: 27px
    }

    .contact_pg .contact_details_box {
        padding: 16px
    }

    .contact_pg .corner_tag {
        right: 16px
    }

    .contact_pg .dots_cluster {
        left: 16px;
        bottom: 16px
    }

    .contact_pg .feature_visual {
        min-height: 300px
    }

    .contact_pg .overlay_text {
        font-size: 20px
    }

    .contact_pg .field_input,
    .contact_pg .field_select {
        font-size: 16px;
        min-height: 48px
    }

    .contact_pg .radio_set {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px
    }

    .contact_pg .privacy_wrap {
        align-items: flex-start
    }

    .contact_pg .submit_btn {
        width: 100%
    }

    .contact_pg .form_col {
        width: 100%;
        overflow-x: hidden
    }
}

.serv_pg {
    max-width: 1600px;
    margin: 0 auto;
    background: #fff;
    overflow-x: clip
}

.serv_pg * {
    box-sizing: border-box
}

.serv_pg .intro_strip {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    min-height: 520px;
    padding: 120px 40px 80px;
    background: linear-gradient(167deg, #E9F7F7 0%, #fff 100%);
    overflow: hidden
}

.serv_pg .intro_strip::before {
    content: '';
    position: absolute;
    top: 40px;
    left: 40px;
    width: 80px;
    height: 80px;
    border: 2px solid #00b9b926;
    border-radius: 48px;
    transform: rotate(15deg)
}

.serv_pg .intro_strip::after {
    content: '';
    position: absolute;
    bottom: 60px;
    left: 140px;
    width: 48px;
    height: 48px;
    background: #0a283a14;
    border-radius: 22px;
    transform: rotate(-22deg)
}

.serv_pg .intro_text_wrap {
    flex: 1;
    max-width: 680px
}

.serv_pg .intro_heading {
    font-size: 52px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #0A283A;
    margin: 0 0 40px;
    font-weight: 700
}

.serv_pg .intro_link {
    display: inline-flex;
    align-items: center;
    padding: 16px 40px;
    background: #00B9B9;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    letter-spacing: .02em;
    border-radius: 13px;
    position: relative;
    overflow: hidden;
    transition: transform .18s cubic-bezier(0.4, 0, 0.6, 1)
}

.serv_pg .intro_link::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0;
    background: #0a283a33;
    transition: height .22s ease-out
}

.serv_pg .intro_link:hover::before {
    height: 100%
}

.serv_pg .intro_link:hover {
    transform: translateY(-2px)
}

.serv_pg .intro_img_column {
    width: 280px;
    height: 440px;
    margin-left: 80px;
    flex-shrink: 0;
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    box-shadow: 2px 5px 25px -2px #00b9b91a
}

.serv_pg .intro_img_column img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block;
    filter: saturate(0.85) brightness(1.05)
}

.serv_pg .intro_arrow {
    position: absolute;
    bottom: 140px;
    right: 340px;
    width: 32px;
    height: 32px;
    opacity: .25
}

.serv_pg .intro_arrow svg {
    width: 100%;
    height: 100%;
    fill: #00B9B9
}

@media (max-width: 768px) {
    .serv_pg .intro_strip {
        flex-direction: column;
        align-items: flex-start;
        padding: 80px 16px 40px;
        min-height: auto
    }

    .serv_pg .intro_img_column {
        display: none
    }

    .serv_pg .intro_heading {
        font-size: 37px;
        margin: 0 0 16px
    }

    .serv_pg .intro_arrow {
        display: none
    }
}

.serv_pg .method_zone {
    position: relative;
    padding: 80px 40px;
    background: #fff
}

.serv_pg .method_zone::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    height: 1px;
    background: repeating-linear-gradient(to right, transparent, transparent 8px, #0A283A 8px, #0A283A 10px, transparent 10px, transparent 12px, #0A283A 12px, #0A283A 13px);
    opacity: .15
}

.serv_pg .method_inner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 2px 1fr;
    gap: 80px;
    align-items: start
}

.serv_pg .method_divider {
    width: 2px;
    height: 100%;
    background: linear-gradient(180deg, transparent 0%, #00B9B9 20%, #00B9B9 80%, transparent 100%);
    opacity: .3;
    justify-self: center
}

.serv_pg .method_left {
    padding: 0
}

.serv_pg .method_right {
    padding: 0
}

.serv_pg .method_label {
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: .02em;
    color: #0A283A;
    margin: 0 0 16px;
    font-weight: 600
}

.serv_pg .method_text {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .01em;
    color: #0A283A;
    margin: 0 0 16px
}

.serv_pg .method_text:last-child {
    margin: 0
}

.serv_pg .method_img_holder {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 36px;
    overflow: hidden;
    margin: 0 0 40px;
    box-shadow: 2px 2px 2px -2px #0a283a12 2px 5px 25px -2px #0a283a1a
}

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

@media (max-width: 768px) {
    .serv_pg .method_zone {
        padding: 40px 16px
    }

    .serv_pg .method_inner {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .serv_pg .method_divider {
        display: none
    }

    .serv_pg .method_img_holder {
        display: none
    }
}

.serv_pg .expert_band {
    position: relative;
    padding: 80px 40px;
    background-image: url("../images/work-2023-013.jpg");
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    overflow: hidden
}

.serv_pg .expert_band::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #e9f7f7eb;
    z-index: 1
}

.serv_pg .expert_band::after {
    content: '';
    position: absolute;
    top: -100px;
    right: -100px;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle at center, #00b9b926 0%, transparent 70%);
    z-index: 2;
    animation: shadow_drift_expert 8s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite alternate
}

@keyframes shadow_drift_expert {
    0% {
        transform: translate(0, 0)
    }

    100% {
        transform: translate(-200px, 200px)
    }
}

.serv_pg .expert_content {
    position: relative;
    z-index: 3;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 80px;
    align-items: center
}

.serv_pg .expert_profiles {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-shrink: 0
}

.serv_pg .expert_portrait {
    width: 92px;
    height: 138px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 2px 2px 2px -2px #0a283a12 2px 5px 25px -2px #0a283a1a;
    opacity: 0;
    animation: portrait_appear .18s ease-out forwards
}

.serv_pg .expert_portrait:nth-child(1) {
    animation-delay: 0s
}

.serv_pg .expert_portrait:nth-child(2) {
    animation-delay: .2s
}

.serv_pg .expert_portrait:nth-child(3) {
    animation-delay: .4s
}

@keyframes portrait_appear {
    from {
        opacity: 0;
        transform: translateY(20px)
    }

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

.serv_pg .expert_portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block
}

.serv_pg .expert_text_area {
    flex: 1
}

.serv_pg .expert_title {
    font-size: 37px;
    line-height: 1.1;
    letter-spacing: .01em;
    margin: 0 0 16px;
    font-weight: 700
}

.serv_pg .expert_title .first_word {
    color: #00B9B9
}

.serv_pg .expert_title .rest_words {
    color: #0A283A
}

.serv_pg .expert_desc {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .01em;
    color: #0A283A;
    margin: 0 0 16px
}

.serv_pg .expert_desc:last-child {
    margin: 0
}

@media (max-width: 768px) {
    .serv_pg .expert_band {
        padding: 40px 16px;
        background-attachment: scroll
    }

    .serv_pg .expert_content {
        flex-direction: column;
        gap: 40px
    }

    .serv_pg .expert_profiles {
        display: none
    }

    .serv_pg .expert_title {
        font-size: 27px
    }
}

.serv_pg .pricing_segment {
    padding: 80px 40px;
    background: #fff;
    position: relative
}

.serv_pg .pricing_container {
    max-width: 1200px;
    margin: 0 auto
}

.serv_pg .pricing_head {
    font-size: 37px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #0A283A;
    margin: 0 0 40px;
    font-weight: 700;
    text-align: center
}

.serv_pg .pricing_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px
}

.serv_pg .pricing_card {
    background: #E9F7F7;
    border-radius: 22px;
    padding: 40px;
    position: relative;
    overflow: hidden;
    box-shadow: 2px 2px 2px -2px #00b9b912;
    transition: box-shadow .18s cubic-bezier(0.4, 0, 0.6, 1), transform .18s cubic-bezier(0.4, 0, 0.6, 1)
}

.serv_pg .pricing_card:hover {
    box-shadow: 2px 5px 25px -2px #00b9b91a 2px 12px 36px -2px #00b9b924;
    transform: translateY(-4px)
}

.serv_pg .pricing_card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #00B9B9 0%, #0A283A 100%)
}

.serv_pg .pricing_name {
    font-size: 27px;
    line-height: 1.1;
    letter-spacing: .02em;
    color: #0A283A;
    margin: 0 0 8px;
    font-weight: 600
}

.serv_pg .pricing_amount {
    font-size: 52px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #00B9B9;
    margin: 0 0 16px;
    font-weight: 700
}

.serv_pg .pricing_detail {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .01em;
    color: #0A283A;
    margin: 0 0 16px
}

.serv_pg .pricing_detail:last-child {
    margin: 0
}

.serv_pg .pricing_list {
    list-style: none;
    padding: 0;
    margin: 40px 0 0
}

.serv_pg .pricing_list li {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .01em;
    color: #0A283A;
    margin: 0 0 8px;
    padding-left: 24px;
    position: relative
}

.serv_pg .pricing_list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    width: 12px;
    height: 12px;
    background: #00B9B9;
    border-radius: 8px
}

@media (max-width: 768px) {
    .serv_pg .pricing_segment {
        padding: 40px 16px
    }

    .serv_pg .pricing_head {
        font-size: 27px;
        margin: 0 0 16px
    }

    .serv_pg .pricing_grid {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .serv_pg .pricing_card {
        padding: 16px
    }

    .serv_pg .pricing_name {
        font-size: 20px
    }

    .serv_pg .pricing_amount {
        font-size: 37px
    }
}

.abt_pg {
    max-width: 1600px;
    margin: 0 auto;
    background: #fff;
    overflow-x: clip
}

.abt_pg .radial_intro {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    padding: 80px 40px;
    background: radial-gradient(circle at top left, #E9F7F7 0%, #fff 60%);
    overflow: hidden
}

.abt_pg .radial_intro::before {
    content: '';
    position: absolute;
    top: 16px;
    left: 16px;
    width: 180px;
    height: 180px;
    background: #00B9B9;
    opacity: .08;
    border-radius: 48px;
    pointer-events: none
}

.abt_pg .txt_zone {
    padding: 40px 80px 40px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    z-index: 2
}

.abt_pg .intro_headline {
    font-size: 52px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #0A283A;
    margin: 0 0 40px;
    font-weight: 700
}

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

.abt_pg .key_pts li {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .02em;
    color: #0A283A;
    padding: 0 0 0 40px;
    position: relative
}

.abt_pg .key_pts li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 8px;
    height: 8px;
    background: #00B9B9;
    border-radius: 50%;
    transform: scale(1);
    transition: transform .18s cubic-bezier(0.4, 0, 0.6, 1)
}

.abt_pg .key_pts li:hover::before {
    transform: scale(1.4)
}

.abt_pg .img_zone {
    padding: 40px 40px 40px 80px;
    display: flex;
    align-items: center;
    justify-content: center
}

.abt_pg .intro_visual {
    width: 100%;
    height: 100%;
    max-width: 520px;
    max-height: 520px;
    aspect-ratio: 1/1;
    border-radius: 36px;
    overflow: hidden;
    position: relative;
    box-shadow: 2px 5px 25px -2px #00b9b91a 2px 12px 36px -2px #00b9b924
}

.abt_pg .intro_visual::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, transparent 40%, #0a283a26 100%);
    pointer-events: none
}

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

.abt_pg .story_sec {
    position: relative;
    padding: 80px 40px;
    background: linear-gradient(127deg, #fff 0%, #E9F7F7 100%);
    overflow: hidden
}

.abt_pg .story_sec::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, transparent 0%, #00B9B9 50%, transparent 100%);
    opacity: .3
}

.abt_pg .story_sec::after {
    content: '';
    position: absolute;
    bottom: -120px;
    right: -120px;
    width: 320px;
    height: 320px;
    background: #00B9B9;
    opacity: .04;
    border-radius: 50%;
    pointer-events: none;
    animation: drift_diagonal 18s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite alternate
}

@keyframes drift_diagonal {
    0% {
        transform: translate(0, 0)
    }

    100% {
        transform: translate(-80px, -80px)
    }
}

.abt_pg .story_wrap {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 80px;
    align-items: start
}

.abt_pg .narrative_col {
    display: flex;
    flex-direction: column;
    gap: 40px
}

.abt_pg .story_title {
    font-size: 37px;
    line-height: 1.1;
    letter-spacing: .01em;
    margin: 0 0 16px;
    font-weight: 700
}

.abt_pg .story_title .accent_word {
    color: #00B9B9
}

.abt_pg .story_title .main_words {
    color: #0A283A !important
}

.abt_pg .narrative_txt {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .02em;
    color: #0A283A;
    margin: 0
}

.abt_pg .side_col {
    display: flex;
    flex-direction: column;
    gap: 40px
}

.abt_pg .metric_card {
    background: #fff;
    padding: 40px;
    border-radius: 22px;
    box-shadow: 2px 2px 2px -2px #0a283a12 2px 5px 25px -2px #0a283a1a;
    border: 1px solid #00b9b91f;
    position: relative;
    overflow: hidden;
    transition: transform .16s ease-out, box-shadow .16s ease-out
}

.abt_pg .metric_card:hover {
    transform: translateY(-4px);
    box-shadow: 2px 5px 25px -2px #0a283a1a 2px 12px 36px -2px #0a283a24
}

.abt_pg .metric_card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, #00B9B9 0%, transparent 100%)
}

.abt_pg .metric_num {
    font-size: 52px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #00B9B9;
    font-weight: 700;
    margin: 0 0 8px
}

.abt_pg .metric_label {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .02em;
    color: #0A283A;
    margin: 0
}

.abt_pg .profile_sec {
    padding: 80px 40px;
    background: #fff;
    position: relative
}

.abt_pg .profile_sec::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    max-width: 1400px;
    background: radial-gradient(ellipse at center, #E9F7F7 0%, transparent 70%);
    opacity: .4;
    pointer-events: none;
    z-index: 1
}

.abt_pg .profile_wrap {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 2
}

.abt_pg .profile_header {
    text-align: center;
    margin: 0 0 80px
}

.abt_pg .profile_heading {
    font-size: 37px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #0A283A;
    margin: 0 0 16px;
    font-weight: 700
}

.abt_pg .profile_subtext {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .02em;
    color: #0A283A;
    margin: 0;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto
}

.abt_pg .profile_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px
}

.abt_pg .profile_card {
    background: #fff;
    border-radius: 22px;
    padding: 40px;
    box-shadow: 2px 2px 2px -2px #00b9b912 2px 5px 25px -2px #00b9b91a;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 16px;
    transition: transform .22s cubic-bezier(0.34, 1.56, 0.64, 1);
    position: relative;
    overflow: hidden
}

.abt_pg .profile_card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0;
    background: linear-gradient(180deg, transparent 0%, #E9F7F7 100%);
    transition: height .18s ease-out;
    pointer-events: none;
    z-index: 1
}

.abt_pg .profile_card:hover::after {
    height: 100%
}

.abt_pg .profile_card:hover {
    transform: scale(1.02)
}

.abt_pg .profile_img_wrap {
    width: 160px;
    height: 160px;
    border-radius: 48px;
    overflow: hidden;
    box-shadow: 2px 5px 25px -2px #0a283a1a;
    position: relative;
    z-index: 2
}

.abt_pg .profile_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block
}

.abt_pg .profile_name {
    font-size: 20px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #0A283A;
    margin: 0;
    font-weight: 700;
    position: relative;
    z-index: 2
}

.abt_pg .profile_role {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .02em;
    color: #00B9B9;
    margin: 0;
    position: relative;
    z-index: 2
}

.abt_pg .profile_bio {
    font-size: 13px;
    line-height: 1.8;
    letter-spacing: .02em;
    color: #0A283A;
    margin: 0;
    position: relative;
    z-index: 2
}

.abt_pg .values_sec {
    padding: 80px 40px;
    background: #0A283A;
    position: relative;
    overflow: hidden
}

.abt_pg .values_sec::before {
    content: '';
    position: absolute;
    top: -200px;
    right: -200px;
    width: 520px;
    height: 520px;
    background: radial-gradient(circle, #00b9b914 0%, transparent 70%);
    pointer-events: none
}

.abt_pg .values_sec::after {
    content: '';
    position: absolute;
    bottom: -180px;
    left: -180px;
    width: 480px;
    height: 480px;
    background: radial-gradient(circle, #00b9b90f 0%, transparent 70%);
    pointer-events: none
}

.abt_pg .values_wrap {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 2
}

.abt_pg .values_title {
    font-size: 37px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #fff;
    margin: 0 0 80px;
    text-align: center;
    font-weight: 700
}

.abt_pg .values_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px
}

.abt_pg .value_item {
    background: #ffffff0a;
    padding: 40px;
    border-radius: 22px;
    border: 1px solid #00b9b926;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: transform .14s ease-out, background .14s ease-out;
    position: relative;
    overflow: hidden
}

.abt_pg .value_item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: linear-gradient(180deg, #00b9b91f 0%, transparent 100%);
    transition: height .22s cubic-bezier(0.34, 1.56, 0.64, 1);
    pointer-events: none
}

.abt_pg .value_item:hover::before {
    height: 100%
}

.abt_pg .value_item:hover {
    transform: translateY(-8px);
    background: #ffffff14
}

.abt_pg .value_icon_wrap {
    width: 64px;
    height: 64px;
    margin: 0 0 16px;
    display: flex;
    align-items: center;
    justify-content: center
}

.abt_pg .value_icon {
    width: 100%;
    height: 100%
}

.abt_pg .value_name {
    font-size: 20px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #00B9B9;
    margin: 0 0 16px;
    font-weight: 700
}

.abt_pg .value_desc {
    font-size: 13px;
    line-height: 1.8;
    letter-spacing: .02em;
    color: #E9F7F7;
    margin: 0
}

.abt_pg .timeline_sec {
    padding: 80px 40px;
    background: linear-gradient(156deg, #E9F7F7 0%, #fff 100%);
    position: relative
}

.abt_pg .timeline_wrap {
    max-width: 1000px;
    margin: 0 auto
}

.abt_pg .timeline_heading {
    font-size: 37px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #0A283A;
    margin: 0 0 80px;
    text-align: center;
    font-weight: 700
}

.abt_pg .timeline_track {
    position: relative;
    padding: 0 0 0 80px
}

.abt_pg .timeline_track::before {
    content: '';
    position: absolute;
    left: 16px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(180deg, #00B9B9 0%, #00b9b933 100%)
}

.abt_pg .timeline_moment {
    position: relative;
    margin: 0 0 40px;
    padding: 0 0 40px
}

.abt_pg .timeline_moment:last-child {
    margin-bottom: 0;
    padding-bottom: 0
}

.abt_pg .timeline_dot {
    position: absolute;
    left: -72px;
    top: 4px;
    width: 16px;
    height: 16px;
    background: #00B9B9;
    border-radius: 50%;
    box-shadow: 0 0 0 4px #00b9b933;
    transition: transform .16s ease-out
}

.abt_pg .timeline_moment:hover .timeline_dot {
    transform: scale(1.3)
}

.abt_pg .timeline_year {
    font-size: 27px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #00B9B9;
    margin: 0 0 8px;
    font-weight: 700
}

.abt_pg .timeline_event {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .02em;
    color: #0A283A;
    margin: 0
}

.abt_pg .approach_sec {
    padding: 80px 40px;
    background: #fff;
    position: relative
}

.abt_pg .approach_wrap {
    max-width: 1200px;
    margin: 0 auto
}

.abt_pg .approach_intro {
    text-align: center;
    margin: 0 0 80px
}

.abt_pg .approach_title {
    font-size: 37px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #0A283A;
    margin: 0 0 16px;
    font-weight: 700
}

.abt_pg .approach_subtitle {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .02em;
    color: #0A283A;
    margin: 0;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto
}

.abt_pg .approach_layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center
}

.abt_pg .approach_visual_col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.abt_pg .approach_img_box {
    aspect-ratio: 1/1;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 2px 2px 2px -2px #00b9b912 2px 5px 25px -2px #00b9b91a;
    transition: transform .2s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.abt_pg .approach_img_box:hover {
    transform: scale(1.05)
}

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

.abt_pg .approach_txt_col {
    display: flex;
    flex-direction: column;
    gap: 40px
}

.abt_pg .approach_point {
    position: relative;
    padding: 0 0 0 40px
}

.abt_pg .approach_point::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 24px;
    height: 24px;
    background: #E9F7F7;
    border-radius: 8px;
    border: 2px solid #00B9B9
}

.abt_pg .approach_point_title {
    font-size: 20px;
    line-height: 1.1;
    letter-spacing: .01em;
    color: #0A283A;
    margin: 0 0 8px;
    font-weight: 700
}

.abt_pg .approach_point_text {
    font-size: 13px;
    line-height: 1.8;
    letter-spacing: .02em;
    color: #0A283A;
    margin: 0
}

.abt_pg .divider_wave {
    width: 100%;
    height: 80px;
    position: relative;
    background: #fff;
    overflow: hidden
}

.abt_pg .divider_wave svg {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%
}

@media (max-width: 992px) {
    .abt_pg .radial_intro {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 40px 16px
    }

    .abt_pg .txt_zone {
        padding: 0
    }

    .abt_pg .img_zone {
        padding: 0;
        display: none
    }

    .abt_pg .intro_headline {
        font-size: 37px
    }

    .abt_pg .story_wrap {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .abt_pg .story_sec {
        padding: 40px 16px
    }

    .abt_pg .profile_sec {
        padding: 40px 16px
    }

    .abt_pg .profile_grid {
        grid-template-columns: 1fr
    }

    .abt_pg .values_sec {
        padding: 40px 16px
    }

    .abt_pg .values_grid {
        grid-template-columns: 1fr
    }

    .abt_pg .timeline_sec {
        padding: 40px 16px
    }

    .abt_pg .approach_sec {
        padding: 40px 16px
    }

    .abt_pg .approach_layout {
        grid-template-columns: 1fr
    }

    .abt_pg .approach_visual_col {
        display: none
    }
}

.submission_success_page {
    max-width: 1600px;
    margin: 0 auto;
    padding: 80px 16px;
    background: linear-gradient(157deg, #E9F7F7 0%, #fff 100%);
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center
}

.success_container {
    background: #fff;
    border-radius: 22px;
    padding: 80px 40px;
    text-align: center;
    box-shadow: 2px 5px 25px -2px #00b9b91a 2px 12px 36px -2px #00b9b924;
    max-width: 720px;
    width: 100%
}

.success_container .icon_wrap {
    width: 96px;
    height: 96px;
    margin: 0 auto 40px;
    position: relative
}

.success_container .checkmark_circle {
    width: 96px;
    height: 96px;
    border: 4px solid #00B9B9;
    border-radius: 48px;
    position: relative;
    background: #E9F7F7;
    animation: scaleIn .18s cubic-bezier(0.4, 0, 0.6, 1) forwards
}

@keyframes scaleIn {
    0% {
        transform: scale(0.8);
        opacity: 0
    }

    100% {
        transform: scale(1);
        opacity: 1
    }
}

.success_container .checkmark_stem {
    position: absolute;
    width: 4px;
    height: 28px;
    background: #00B9B9;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    transform-origin: center;
    border-radius: 8px;
    animation: stemGrow .15s cubic-bezier(0.4, 0, 0.6, 1) .12s forwards;
    opacity: 0
}

@keyframes stemGrow {
    0% {
        height: 0;
        opacity: 0
    }

    100% {
        height: 28px;
        opacity: 1
    }
}

.success_container .checkmark_kick {
    position: absolute;
    width: 4px;
    height: 14px;
    background: #00B9B9;
    left: 38%;
    top: 58%;
    transform: translate(-50%, -50%) rotate(-45deg);
    transform-origin: center;
    border-radius: 8px;
    animation: kickGrow .14s cubic-bezier(0.4, 0, 0.6, 1) .19s forwards;
    opacity: 0
}

@keyframes kickGrow {
    0% {
        height: 0;
        opacity: 0
    }

    100% {
        height: 14px;
        opacity: 1
    }
}

.success_container .main_heading {
    font-size: 37px;
    line-height: 1.1;
    letter-spacing: .02em;
    color: #0A283A;
    margin: 0 0 16px;
    font-weight: 700
}

.success_container .description_text {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .01em;
    color: #0A283A;
    margin: 0 0 40px;
    opacity: .8
}

.success_container .info_block {
    background: #E9F7F7;
    border-radius: 13px;
    padding: 16px;
    margin: 0 0 40px;
    border: 2px solid #00B9B9
}

.success_container .info_block .info_label {
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: .02em;
    color: #0A283A;
    margin: 0 0 4px;
    text-transform: uppercase;
    font-weight: 600;
    opacity: .7
}

.success_container .info_block .info_value {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .01em;
    color: #0A283A;
    margin: 0;
    font-weight: 600
}

.success_container .action_group {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap
}

.success_container .primary_btn {
    background: #00B9B9;
    color: #fff;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .01em;
    padding: 16px 40px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    font-weight: 600;
    position: relative;
    overflow: hidden;
    transition: transform .16s cubic-bezier(0.4, 0, 0.6, 1)
}

.success_container .primary_btn::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: #0A283A;
    transition: height .18s cubic-bezier(0.4, 0, 0.6, 1);
    z-index: 0
}

.success_container .primary_btn:hover::before {
    height: 100%
}

.success_container .primary_btn span {
    position: relative;
    z-index: 1
}

.success_container .primary_btn:hover {
    transform: translateY(-2px);
    box-shadow: 2px 5px 25px -2px #00b9b91a
}

.success_container .secondary_btn {
    background: transparent;
    color: #0A283A;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .01em;
    padding: 16px 40px;
    border: 2px solid #0A283A;
    border-radius: 8px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    font-weight: 600;
    transition: background .17s cubic-bezier(0.4, 0, 0.6, 1), color .17s cubic-bezier(0.4, 0, 0.6, 1)
}

.success_container .secondary_btn:hover {
    background: #0A283A;
    color: #fff
}

.success_container .footer_note {
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: .01em;
    color: #0A283A;
    margin: 40px 0 0;
    opacity: .6
}

@media (max-width: 768px) {
    .submission_success_page {
        padding: 40px 16px
    }

    .success_container {
        padding: 40px 16px
    }

    .success_container .main_heading {
        font-size: 27px
    }

    .success_container .action_group {
        flex-direction: column
    }

    .success_container .primary_btn,
    .success_container .secondary_btn {
        width: 100%;
        text-align: center
    }
}

h1, h2, h3, h4, h5, h6 {word-break: break-word;}
