html,
body {
    margin: 0;
    padding: 0
}

body {
    position: relative;
    min-height: 100vh;
    font-family: 'Archivo', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #002963;
    background: #FBFCFC
}

::selection {
    background: linear-gradient(90deg, #FE4EB1 0%, #002963 100%);
    color: #FBFCFC
}

.top_bar {
    background: linear-gradient(135deg, #FE4EB1 0%, #fe4eb1d9 100%);
    padding: 16px 32px;
    box-shadow: 1px 4px 22px 0 #fe4eb117
}

.top_bar_shell {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px
}

.brand_zone {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px
}

.logo_mount {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fbfcfcf2;
    border-radius: 28px;
    box-shadow: 0 0 0 2px #0029631a 1px 4px 22px 0 #00296317;
    padding: 8px
}

.logo_mount img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.tagline_text {
    font-size: 14px;
    font-weight: 600;
    color: #FBFCFC;
    letter-spacing: .5px;
    text-align: center
}

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

.nav_link {
    font-size: 14px;
    font-weight: 600;
    color: #FBFCFC;
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 8px;
    background: #fbfcfc1a;
    border: 1px solid #fbfcfc4d;
    transition: background-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .5s ease-in-out;
    position: relative;
    overflow: hidden;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center
}

.nav_link::before {
    content: '';
    position: absolute;
    left: -100%;
    top: 0;
    width: 100%;
    height: 100%;
    background: #0029634d;
    transition: left .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: -1
}

.nav_link:hover::before,
.nav_link:focus::before {
    left: 0
}

.nav_link:hover,
.nav_link:focus {
    background: #fbfcfc40;
    border-color: #fbfcfc99;
    transform: translateY(-2px);
    outline: 2px dashed #fbfcfc80;
    outline-offset: 2px
}

.nav_link:active {
    transform: translateY(0)
}

@media (min-width: 768px) {
    .top_bar {
        padding: 32px 64px
    }

    .top_bar_shell {
        gap: 32px
    }

    .brand_zone {
        gap: 16px
    }

    .logo_mount {
        width: 64px;
        height: 64px
    }

    .tagline_text {
        font-size: 16px
    }

    .primary_nav {
        gap: 16px 32px
    }

    .nav_link {
        font-size: 16px;
        padding: 16px 32px
    }
}

@media (min-width: 1366px) {
    .top_bar {
        padding: 32px 96px
    }

    .nav_link {
        padding: 16px 32px
    }
}

.base_footer {
    background: linear-gradient(180deg, #002963 0%, #002963eb 100%);
    padding: 64px 32px 32px;
    margin-top: 96px;
    position: relative
}

.base_footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #FE4EB1 0%, #002963 50%, #FE4EB1 100%)
}

.footer_shell {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 64px
}

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

.footer_logo_hold {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fbfcfc1a;
    border-radius: 16px;
    box-shadow: 0 0 0 1px #fe4eb14d 1px 4px 22px 0 #fe4eb117;
    padding: 8px
}

.footer_logo_hold img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.footer_tagline {
    font-size: 14px;
    font-weight: 400;
    color: #fbfcfccc;
    line-height: 1.6;
    max-width: 280px
}

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

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

.footer_nav_heading {
    font-size: 14px;
    font-weight: 700;
    color: #FE4EB1;
    text-transform: uppercase;
    letter-spacing: 1px
}

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

.footer_nav_item {
    margin: 0
}

.footer_nav_anchor {
    font-size: 14px;
    font-weight: 400;
    color: #fbfcfce6;
    text-decoration: none;
    transition: color .5s ease-in-out, padding-left .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    display: inline-block;
    padding: 4px 0
}

.footer_nav_anchor:hover,
.footer_nav_anchor:focus {
    color: #FE4EB1;
    padding-left: 8px;
    outline: 2px dashed #fe4eb180;
    outline-offset: 4px
}

.footer_meta_segment {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-top: 32px;
    border-top: 1px solid #fbfcfc26
}

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

.footer_contact_label {
    font-size: 14px;
    font-weight: 600;
    color: #FE4EB1
}

.footer_contact_value {
    font-size: 14px;
    font-weight: 400;
    color: #fbfcfccc;
    line-height: 1.6
}

.footer_contact_anchor {
    color: #fbfcfce6;
    text-decoration: none;
    transition: color .5s ease-in-out
}

.footer_contact_anchor:hover,
.footer_contact_anchor:focus {
    color: #FE4EB1;
    outline: 2px dashed #fe4eb180;
    outline-offset: 2px
}

.footer_copyright {
    font-size: 14px;
    font-weight: 400;
    color: #fbfcfc99;
    text-align: center;
    padding-top: 16px
}

@media (min-width: 768px) {
    .base_footer {
        padding: 96px 64px 64px
    }

    .footer_shell {
        grid-template-columns: 1fr 2fr;
        gap: 96px
    }

    .footer_nav_segment {
        flex-direction: row;
        gap: 64px;
        justify-content: flex-end
    }

    .footer_meta_segment {
        grid-column: 1 / -1;
        flex-direction: row;
        justify-content: space-between;
        align-items: center
    }

    .footer_copyright {
        text-align: right;
        padding-top: 0
    }
}

@media (min-width: 1366px) {
    .base_footer {
        padding: 96px 96px 64px
    }

    .footer_nav_segment {
        gap: 96px
    }
}

.consent_panel {
    position: fixed;
    top: 32px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: calc(100% - 64px);
    max-width: 420px;
    background: #FBFCFC;
    border: 2px solid #FE4EB1;
    border-radius: 16px;
    box-shadow: 1px 9px 36px 0 #fe4eb11f;
    padding: 32px;
    z-index: 1000;
    transform: translateX(120%);
    transition: transform .32s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.consent_panel.visible {
    transform: translateX(0)
}

.consent_heading {
    font-size: 22px;
    font-weight: 700;
    color: #002963;
    margin: 0 0 16px;
    line-height: 1.2
}

.consent_description {
    font-size: 14px;
    font-weight: 400;
    color: #002963;
    line-height: 1.6;
    margin: 0 0 32px
}

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

.consent_accept {
    font-size: 14px;
    font-weight: 700;
    color: #FBFCFC;
    background: #FE4EB1;
    border: 2px solid #FE4EB1;
    border-radius: 44px;
    padding: 16px 32px;
    cursor: pointer;
    transition: background-color .55s ease-in-out, border-color .55s ease-in-out, transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
    overflow: hidden;
    min-height: 44px
}

.consent_accept::before {
    content: '';
    position: absolute;
    left: -100%;
    top: 0;
    width: 100%;
    height: 100%;
    background: #002963;
    transition: left .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: -1
}

.consent_accept:hover::before,
.consent_accept:focus::before {
    left: 0
}

.consent_accept:hover,
.consent_accept:focus {
    border-color: #002963;
    transform: translateY(-2px);
    outline: 2px dashed #002963;
    outline-offset: 2px
}

.consent_accept:active {
    transform: translateY(0)
}

.consent_decline {
    font-size: 14px;
    font-weight: 600;
    color: #002963;
    background: transparent;
    border: none;
    padding: 8px 16px;
    cursor: pointer;
    text-align: center;
    text-decoration: underline;
    transition: color .5s ease-in-out
}

.consent_decline:hover,
.consent_decline:focus {
    color: #FE4EB1;
    outline: 2px dashed #FE4EB1;
    outline-offset: 2px
}

.consent_settings_trigger {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%) translateX(100%);
    background: #002963;
    color: #FBFCFC;
    border: 2px solid #FE4EB1;
    border-right: none;
    border-radius: 16px 0 0 16px;
    padding: 16px 8px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    z-index: 999;
    transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    box-shadow: 1px 4px 22px 0 #00296317
}

.consent_settings_trigger.show {
    transform: translateY(-50%) translateX(0)
}

.consent_settings_trigger:hover,
.consent_settings_trigger:focus {
    background: #FE4EB1;
    outline: 2px dashed #FBFCFC;
    outline-offset: -4px
}

.consent_settings_overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #002963d9;
    z-index: 1001;
    display: none;
    opacity: 0;
    transition: opacity .5s ease-in-out
}

.consent_settings_overlay.active {
    display: block
}

.consent_settings_overlay.visible {
    opacity: 1
}

.consent_settings_modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 64px);
    max-width: 540px;
    max-height: calc(100vh - 96px);
    overflow-y: auto;
    background: #FBFCFC;
    border: 2px solid #FE4EB1;
    border-radius: 28px;
    box-shadow: 1px 9px 36px 0 #fe4eb11f;
    padding: 32px;
    z-index: 1002;
    display: none
}

.consent_settings_modal.active {
    display: block
}

.consent_settings_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 32px
}

.consent_settings_title {
    font-size: 22px;
    font-weight: 700;
    color: #002963;
    margin: 0;
    line-height: 1.2
}

.consent_settings_close {
    width: 32px;
    height: 32px;
    background: transparent;
    border: 2px solid #002963;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color .5s ease-in-out, border-color .5s ease-in-out;
    padding: 0
}

.consent_settings_close::before,
.consent_settings_close::after {
    content: '';
    position: absolute;
    width: 16px;
    height: 2px;
    background: #002963;
    transition: background-color .5s ease-in-out
}

.consent_settings_close::before {
    transform: rotate(45deg)
}

.consent_settings_close::after {
    transform: rotate(-45deg)
}

.consent_settings_close:hover,
.consent_settings_close:focus {
    background: #FE4EB1;
    border-color: #FE4EB1;
    outline: 2px dashed #002963;
    outline-offset: 2px
}

.consent_settings_close:hover::before,
.consent_settings_close:hover::after,
.consent_settings_close:focus::before,
.consent_settings_close:focus::after {
    background: #FBFCFC
}

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

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

.consent_option_row {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: #fe4eb10d;
    border: 1px solid #fe4eb133;
    border-radius: 8px;
    transition: background-color .5s ease-in-out, border-color .5s ease-in-out
}

.consent_option_row:hover {
    background: #fe4eb11a;
    border-color: #fe4eb166
}

.consent_checkbox {
    width: 24px;
    height: 24px;
    cursor: pointer;
    accent-color: #FE4EB1
}

.consent_option_label {
    font-size: 14px;
    font-weight: 600;
    color: #002963;
    cursor: pointer;
    flex: 1
}

.consent_option_description {
    font-size: 14px;
    font-weight: 400;
    color: #002963;
    line-height: 1.6;
    margin-top: 8px;
    padding-left: 40px
}

.consent_settings_actions {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 32px
}

.consent_save {
    font-size: 14px;
    font-weight: 700;
    color: #FBFCFC;
    background: #002963;
    border: 2px solid #002963;
    border-radius: 44px;
    padding: 16px 32px;
    cursor: pointer;
    transition: background-color .55s ease-in-out, border-color .55s ease-in-out, transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
    overflow: hidden;
    min-height: 44px
}

.consent_save::before {
    content: '';
    position: absolute;
    left: -100%;
    top: 0;
    width: 100%;
    height: 100%;
    background: #FE4EB1;
    transition: left .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: -1
}

.consent_save:hover::before,
.consent_save:focus::before {
    left: 0
}

.consent_save:hover,
.consent_save:focus {
    border-color: #FE4EB1;
    transform: translateY(-2px);
    outline: 2px dashed #FE4EB1;
    outline-offset: 2px
}

.consent_save:active {
    transform: translateY(0)
}

@media (min-width: 768px) {
    .consent_panel {
        width: 420px
    }

    .consent_actions {
        flex-direction: row;
        align-items: center
    }

    .consent_accept {
        flex: 1
    }

    .consent_decline {
        flex: 0 0 auto
    }
}

.terms-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 64px 32px;
    background: #FBFCFC
}

.terms-inner h1 {
    font-size: 70px;
    line-height: 1.2;
    color: #002963;
    margin: 0 0 64px
}

.terms-inner h2 {
    font-size: 29px;
    line-height: 1.2;
    color: #002963;
    margin: 64px 0 32px
}

.terms-inner h3 {
    font-size: 22px;
    line-height: 1.2;
    color: #002963;
    margin: 32px 0 16px
}

.terms-inner h4,
.terms-inner h5,
.terms-inner h6 {
    font-size: 22px;
    line-height: 1.6;
    color: #002963;
    margin: 32px 0 16px
}

.terms-inner p {
    font-size: 14px;
    line-height: 1.6;
    color: #002963;
    margin: 0 0 16px
}

.terms-inner em,
.terms-inner i {
    font-style: italic;
    color: #002963
}

.terms-inner a {
    color: #FE4EB1;
    text-decoration: none;
    border-bottom: 1px solid #fe4eb14d;
    transition: border-color .5s ease-in-out
}

.terms-inner a:hover {
    border-bottom-color: #FE4EB1
}

.terms-inner table {
    width: 100%;
    border-collapse: collapse;
    margin: 32px 0;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 1px 4px 22px 0 #00296317
}

.terms-inner thead {
    background: linear-gradient(135deg, #FE4EB1 0%, #002963 100%)
}

.terms-inner thead tr {
    border: none
}

.terms-inner thead th {
    font-size: 14px;
    line-height: 1.6;
    color: #FBFCFC;
    padding: 16px;
    text-align: left;
    font-weight: 600
}

.terms-inner tbody tr {
    border-bottom: 1px solid #0029631a;
    transition: background-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.terms-inner tbody tr:last-child {
    border-bottom: none
}

.terms-inner tbody tr:hover {
    background-color: #fe4eb108
}

.terms-inner tbody td {
    font-size: 14px;
    line-height: 1.6;
    color: #002963;
    padding: 16px
}

.terms-inner th {
    font-weight: 600
}

.terms-inner hr {
    border: none;
    height: 2px;
    background: linear-gradient(90deg, #FE4EB1 0%, #fe4eb11a 100%);
    margin: 64px 0
}

.terms-inner div {
    margin: 16px 0
}

@media (max-width: 1366px) {
    .terms-inner {
        padding: 64px 32px
    }

    .terms-inner h1 {
        font-size: 70px
    }
}

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

    .terms-inner h1 {
        font-size: 29px;
        margin: 0 0 32px
    }

    .terms-inner h2 {
        font-size: 22px;
        margin: 32px 0 16px
    }

    .terms-inner h3,
    .terms-inner h4,
    .terms-inner h5,
    .terms-inner h6 {
        font-size: 14px;
        margin: 16px 0 8px
    }

    .terms-inner table {
        margin: 16px 0;
        font-size: 14px
    }

    .terms-inner thead th,
    .terms-inner tbody td {
        padding: 8px
    }

    .terms-inner hr {
        margin: 32px 0
    }
}

@media (max-width: 375px) {
    .terms-inner {
        padding: 16px 8px
    }

    .terms-inner h1 {
        font-size: 22px;
        margin: 0 0 16px
    }

    .terms-inner table {
        display: block;
        overflow-x: auto
    }
}

.abt_us {
    max-width: 1200px;
    margin: 0 auto;
    background: #FBFCFC;
    overflow-x: clip
}

.abt_us .grad_bg_block {
    position: relative;
    padding: 64px 32px;
    background: linear-gradient(135deg, #FE4EB1 0%, #002963 100%);
    overflow: hidden
}

.abt_us .grad_bg_block::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, #fbfcfc26 0%, transparent 70%);
    filter: blur(60px);
    pointer-events: none
}

.abt_us .grad_bg_block::after {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -10%;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, #fbfcfc1a 0%, transparent 70%);
    filter: blur(80px);
    pointer-events: none
}

.abt_us .typ_anchor {
    position: relative;
    z-index: 2;
    max-width: 800px
}

.abt_us .typ_anchor h1 {
    font-size: 70px;
    line-height: 1.2;
    color: #FBFCFC;
    margin: 0 0 16px;
    font-weight: 900;
    letter-spacing: -.02em
}

.abt_us .typ_anchor p {
    font-size: 22px;
    line-height: 1.6;
    color: #fbfcfcf2;
    margin: 0 0 32px
}

.abt_us .dual_link_row {
    display: flex;
    gap: 16px;
    flex-wrap: wrap
}

.abt_us .dual_link_row a {
    font-size: 14px;
    line-height: 1.6;
    color: #FBFCFC;
    text-decoration: none;
    padding: 12px 32px;
    border: 2px solid #fbfcfc66;
    border-radius: 28px;
    transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
    overflow: hidden
}

.abt_us .dual_link_row a::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: #fbfcfc26;
    transition: left .6s ease-in-out;
    z-index: -1
}

.abt_us .dual_link_row a:hover::before {
    left: 0
}

.abt_us .dual_link_row a:hover {
    border-color: #FBFCFC
}

.abt_us .story_wrap {
    padding: 96px 32px;
    background: #FBFCFC;
    position: relative
}

.abt_us .story_wrap::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 8" preserveAspectRatio="none"><path d="M0,4 Q300,1 600,4 T1200,4" fill="none" stroke="%23FE4EB1" stroke-width="3" opacity="0.6"/></svg>') no-repeat center;
    background-size: 100% 100%
}

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

.abt_us .img_float_zone {
    position: relative
}

.abt_us .img_float_zone img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    object-position: center;
    border-radius: 16px;
    opacity: .85;
    transition: opacity .5s ease-in-out;
    box-shadow: 1px 9px 36px 0 #fe4eb11f
}

.abt_us .img_float_zone img:hover {
    opacity: 1
}

.abt_us .txt_flow {
    position: relative
}

.abt_us .txt_flow h2 {
    font-size: 29px;
    line-height: 1.2;
    color: #002963;
    margin: 0 0 32px;
    font-weight: 900
}

.abt_us .txt_flow p {
    font-size: 14px;
    line-height: 1.6;
    color: #002963;
    margin: 0 0 16px
}

.abt_us .txt_flow p:last-of-type {
    margin-bottom: 0
}

.abt_us .arrow_guide {
    position: absolute;
    bottom: -32px;
    right: 32px;
    width: 60px;
    height: 60px;
    opacity: .2;
    pointer-events: none
}

.abt_us .arrow_guide svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: #FE4EB1;
    stroke-width: 2
}

.abt_us .team_spotlight {
    padding: 96px 32px;
    background: #002963;
    position: relative;
    overflow: hidden
}

.abt_us .team_spotlight::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 8" preserveAspectRatio="none"><path d="M0,4 Q300,6 600,4 T1200,4" fill="none" stroke="%23FBFCFC" stroke-width="3" opacity="0.3"/></svg>') no-repeat center;
    background-size: 100% 100%
}

.abt_us .team_spotlight::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 500px;
    height: 500px;
    background: #FE4EB1;
    opacity: 0;
    border-radius: 50%;
    animation: color_bleed 8s ease-in-out infinite;
    pointer-events: none
}

@keyframes color_bleed {

    0%,
    100% {
        opacity: 0;
        transform: translate(50%, 50%) scale(0.5)
    }

    50% {
        opacity: .08;
        transform: translate(0, 0) scale(1)
    }
}

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

.abt_us .team_inner h2 {
    font-size: 29px;
    line-height: 1.2;
    color: #FBFCFC;
    margin: 0 0 64px;
    font-weight: 900;
    text-align: center
}

.abt_us .profile_showcase {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 64px;
    align-items: center
}

.abt_us .portrait_holder {
    position: relative
}

.abt_us .portrait_holder img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    object-position: top;
    border-radius: 28px;
    box-shadow: 1px 9px 36px 0 #fe4eb11f
}

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

.abt_us .bio_content h3 {
    font-size: 22px;
    line-height: 1.2;
    color: #FE4EB1;
    margin: 0;
    font-weight: 900
}

.abt_us .bio_content h4 {
    font-size: 14px;
    line-height: 1.6;
    color: #fbfcfcb3;
    margin: 0 0 8px;
    font-weight: 400
}

.abt_us .bio_content p {
    font-size: 14px;
    line-height: 1.6;
    color: #FBFCFC;
    margin: 0
}

.abt_us .values_matrix {
    padding: 96px 32px;
    background: linear-gradient(180deg, #FBFCFC 0%, #fbfcfc80 100%);
    position: relative
}

.abt_us .values_matrix::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 8" preserveAspectRatio="none"><path d="M0,4 Q300,2 600,4 T1200,4" fill="none" stroke="%23002963" stroke-width="3" opacity="0.4"/></svg>') no-repeat center;
    background-size: 100% 100%
}

.abt_us .values_container {
    max-width: 1200px;
    margin: 0 auto
}

.abt_us .values_container h2 {
    font-size: 29px;
    line-height: 1.2;
    color: #002963;
    margin: 0 0 64px;
    font-weight: 900
}

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

.abt_us .val_card {
    position: relative;
    background: #FBFCFC;
    padding: 32px;
    border-radius: 16px;
    border: 2px solid #002963;
    transition: transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.abt_us .val_card::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 8px;
    width: 100%;
    height: 100%;
    background: #FE4EB1;
    opacity: .15;
    border-radius: 16px;
    z-index: -1;
    transition: all .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.abt_us .val_card:hover {
    transform: translateY(-4px)
}

.abt_us .val_card:hover::before {
    top: 12px;
    left: 12px;
    opacity: .25
}

.abt_us .card_icon {
    width: 48px;
    height: 48px;
    margin-bottom: 16px
}

.abt_us .card_icon svg {
    width: 100%;
    height: 100%;
    fill: #FE4EB1
}

.abt_us .val_card h3 {
    font-size: 22px;
    line-height: 1.2;
    color: #002963;
    margin: 0 0 16px;
    font-weight: 900
}

.abt_us .val_card p {
    font-size: 14px;
    line-height: 1.6;
    color: #002963;
    margin: 0
}

.abt_us .metrics_band {
    padding: 64px 32px;
    background: #FE4EB1;
    position: relative;
    overflow: hidden
}

.abt_us .metrics_band::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 8" preserveAspectRatio="none"><path d="M0,4 Q300,5 600,4 T1200,4" fill="none" stroke="%23FBFCFC" stroke-width="3" opacity="0.5"/></svg>') no-repeat center;
    background-size: 100% 100%
}

.abt_us .metrics_row {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px
}

.abt_us .stat_box {
    text-align: center;
    padding: 32px 16px;
    background: #fbfcfc1a;
    border-radius: 8px;
    border: 1px solid #fbfcfc33;
    transition: background .55s ease-in-out, transform .55s ease-in-out
}

.abt_us .stat_box:hover {
    background: #fbfcfc26;
    transform: scale(1.05)
}

.abt_us .stat_num {
    font-size: 70px;
    line-height: 1.2;
    color: #FBFCFC;
    margin: 0 0 8px;
    font-weight: 900
}

.abt_us .stat_label {
    font-size: 14px;
    line-height: 1.6;
    color: #fbfcfce6;
    margin: 0
}

.abt_us .process_flow {
    padding: 96px 32px;
    background: #FBFCFC;
    position: relative
}

.abt_us .process_flow::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 8" preserveAspectRatio="none"><path d="M0,4 Q300,3 600,4 T1200,4" fill="none" stroke="%23FE4EB1" stroke-width="3" opacity="0.5"/></svg>') no-repeat center;
    background-size: 100% 100%
}

.abt_us .process_container {
    max-width: 1200px;
    margin: 0 auto
}

.abt_us .process_container h2 {
    font-size: 29px;
    line-height: 1.2;
    color: #002963;
    margin: 0 0 64px;
    font-weight: 900
}

.abt_us .step_layout {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 64px 32px
}

.abt_us .step_item {
    display: flex;
    gap: 16px;
    position: relative
}

.abt_us .step_num {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    background: #002963;
    border-radius: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    line-height: 1.2;
    color: #FBFCFC;
    font-weight: 900;
    box-shadow: 1px 4px 22px 0 #00296317
}

.abt_us .step_txt h3 {
    font-size: 22px;
    line-height: 1.2;
    color: #002963;
    margin: 0 0 8px;
    font-weight: 900
}

.abt_us .step_txt p {
    font-size: 14px;
    line-height: 1.6;
    color: #002963;
    margin: 0
}

.abt_us .visual_gallery {
    padding: 96px 32px;
    background: #002963;
    position: relative
}

.abt_us .visual_gallery::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 8" preserveAspectRatio="none"><path d="M0,4 Q300,7 600,4 T1200,4" fill="none" stroke="%23FBFCFC" stroke-width="3" opacity="0.4"/></svg>') no-repeat center;
    background-size: 100% 100%
}

.abt_us .gallery_inner {
    max-width: 1200px;
    margin: 0 auto
}

.abt_us .gallery_inner h2 {
    font-size: 29px;
    line-height: 1.2;
    color: #FBFCFC;
    margin: 0 0 64px;
    font-weight: 900
}

.abt_us .img_mosaic {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px
}

.abt_us .mosaic_piece {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    height: 320px
}

.abt_us .mosaic_piece img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: .7;
    transition: opacity .6s ease-in-out, transform .6s ease-in-out
}

.abt_us .mosaic_piece:hover img {
    opacity: 1;
    transform: scale(1.05)
}

.abt_us .mosaic_overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 32px;
    background: linear-gradient(to top, #002963e6 0%, transparent 100%);
    clip-path: inset(100% 0 0 0);
    transition: clip-path .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.abt_us .mosaic_piece:hover .mosaic_overlay {
    clip-path: inset(0 0 0 0)
}

.abt_us .mosaic_overlay h3 {
    font-size: 22px;
    line-height: 1.2;
    color: #FBFCFC;
    margin: 0 0 8px;
    font-weight: 900
}

.abt_us .mosaic_overlay p {
    font-size: 14px;
    line-height: 1.6;
    color: #fbfcfce6;
    margin: 0
}

@media (max-width: 1366px) {
    .abt_us .typ_anchor h1 {
        font-size: 70px
    }

    .abt_us .story_grid {
        gap: 32px
    }

    .abt_us .profile_showcase {
        gap: 32px
    }

    .abt_us .card_grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

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

    .abt_us .typ_anchor h1 {
        font-size: 29px
    }

    .abt_us .typ_anchor p {
        font-size: 14px
    }

    .abt_us .dual_link_row {
        flex-direction: column
    }

    .abt_us .dual_link_row a {
        text-align: center
    }

    .abt_us .story_wrap {
        padding: 64px 16px
    }

    .abt_us .story_grid {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .abt_us .img_float_zone img {
        height: 320px
    }

    .abt_us .team_spotlight {
        padding: 64px 16px
    }

    .abt_us .profile_showcase {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .abt_us .portrait_holder img {
        height: 360px
    }

    .abt_us .values_matrix {
        padding: 64px 16px
    }

    .abt_us .card_grid {
        grid-template-columns: 1fr
    }

    .abt_us .metrics_band {
        padding: 64px 16px
    }

    .abt_us .metrics_row {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px
    }

    .abt_us .stat_num {
        font-size: 29px
    }

    .abt_us .process_flow {
        padding: 64px 16px
    }

    .abt_us .step_layout {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .abt_us .visual_gallery {
        padding: 64px 16px
    }

    .abt_us .img_mosaic {
        grid-template-columns: 1fr
    }

    .abt_us .mosaic_piece {
        height: 280px
    }
}

@media (max-width: 375px) {
    .abt_us .grad_bg_block {
        padding: 32px 16px
    }

    .abt_us .story_wrap {
        padding: 32px 16px
    }

    .abt_us .team_spotlight {
        padding: 32px 16px
    }

    .abt_us .values_matrix {
        padding: 32px 16px
    }

    .abt_us .metrics_band {
        padding: 32px 16px
    }

    .abt_us .metrics_row {
        grid-template-columns: 1fr
    }

    .abt_us .process_flow {
        padding: 32px 16px
    }

    .abt_us .visual_gallery {
        padding: 32px 16px
    }
}

.cont_pg {
    background: #FBFCFC;
    color: #002963;
    max-width: 100%;
    overflow-x: clip
}

.cont_pg * {
    margin: 0;
    padding: 0;
    box-sizing: border-box
}

.cont_pg .top_banner {
    background: #002963;
    padding: 96px 16px 64px;
    position: relative;
    overflow: hidden
}

.top_banner::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle at bottom right, #fe4eb126, transparent 70%);
    pointer-events: none;
    z-index: 1
}

.top_banner::after {
    content: '';
    position: absolute;
    bottom: 20%;
    left: 5%;
    width: 120px;
    height: 120px;
    border: 3px solid #fe4eb133;
    border-radius: 50%;
    pointer-events: none;
    z-index: 1
}

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

.top_banner .lead_txt {
    font-size: 70px;
    line-height: 1.2;
    color: #FBFCFC;
    font-weight: 900;
    letter-spacing: -.02em;
    margin-bottom: 16px
}

.top_banner .lead_txt .pop_word {
    color: #FE4EB1;
    position: relative;
    display: inline-block
}

.top_banner .pop_word::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 100%;
    height: 4px;
    background: #FE4EB1
}

.top_banner .sub_lead {
    font-size: 22px;
    line-height: 1.6;
    color: #fbfcfcd9;
    max-width: 680px
}

.cont_pg .form_zone {
    padding: 96px 16px;
    background: linear-gradient(165deg, #FBFCFC 0%, #fe4eb108 100%);
    position: relative
}

.form_zone::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, #FE4EB1 50%, transparent 100%)
}

.form_zone .zone_wrap {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: start
}

.form_zone .detail_side {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.detail_side .side_head {
    font-size: 29px;
    line-height: 1.2;
    color: #002963;
    font-weight: 900
}

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

.info_cluster .inf_row {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    background: #fff;
    border-radius: 16px;
    border: 2px solid transparent;
    transition: border-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .5s ease-in-out;
    box-shadow: 1px 1px 2px 0 #0029630d
}

.inf_row:hover {
    border-color: #FE4EB1;
    transform: translateX(8px);
    box-shadow: 1px 4px 22px 0 #fe4eb117
}

.inf_row .ico_hold {
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, #FE4EB1, #002963);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.ico_hold svg {
    width: 24px;
    height: 24px;
    fill: #fff
}

.inf_row .txt_hold {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.txt_hold .lbl {
    font-size: 14px;
    line-height: 1.2;
    color: #002963;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em
}

.txt_hold .val {
    font-size: 22px;
    line-height: 1.6;
    color: #002963;
    word-break: break-word
}

.txt_hold .val a {
    color: inherit;
    text-decoration: none;
    transition: color .5s ease-in-out
}

.txt_hold .val a:hover {
    color: #FE4EB1
}

.detail_side .addr_note {
    font-size: 14px;
    line-height: 1.6;
    color: #002963b3;
    padding: 16px;
    background: #fe4eb10d;
    border-radius: 8px;
    border-left: 4px solid #FE4EB1
}

.form_zone .input_side {
    background: #fff;
    padding: 32px;
    border-radius: 28px;
    box-shadow: 1px 9px 36px 0 #0029631f;
    position: relative
}

.input_side::before {
    content: '[';
    position: absolute;
    top: -32px;
    left: 16px;
    font-size: 120px;
    line-height: 1;
    color: #FE4EB1;
    font-weight: 900;
    pointer-events: none;
    opacity: .2
}

.input_side::after {
    content: ']';
    position: absolute;
    bottom: -32px;
    right: 16px;
    font-size: 120px;
    line-height: 1;
    color: #FE4EB1;
    font-weight: 900;
    pointer-events: none;
    opacity: .2
}

.input_side .form_head {
    font-size: 29px;
    line-height: 1.2;
    color: #002963;
    font-weight: 900;
    margin-bottom: 32px
}

.input_side .frm_elem {
    margin-bottom: 32px
}

.frm_elem label {
    display: block;
    font-size: 14px;
    line-height: 1.2;
    color: #002963;
    font-weight: 700;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: .05em
}

.frm_elem input[type="text"],
.frm_elem input[type="email"],
.frm_elem textarea {
    width: 100%;
    padding: 16px;
    font-size: 22px;
    line-height: 1.6;
    color: #002963;
    background: #FBFCFC;
    border: 2px solid #00296326;
    border-radius: 8px;
    transition: border-color .5s ease-in-out, box-shadow .5s ease-in-out;
    outline: none
}

.frm_elem input[type="text"]:focus,
.frm_elem input[type="email"]:focus,
.frm_elem textarea:focus {
    border-color: #FE4EB1;
    box-shadow: 0 0 0 4px #fe4eb11a
}

.frm_elem input::placeholder,
.frm_elem textarea::placeholder {
    color: #00296366;
    font-size: 20px
}

.frm_elem textarea {
    min-height: 120px;
    resize: vertical
}

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

.radio_grp .radio_opt {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: #FBFCFC;
    border: 2px solid #00296326;
    border-radius: 16px;
    cursor: pointer;
    transition: all .5s ease-in-out;
    position: relative
}

.radio_opt:hover {
    border-color: #FE4EB1;
    background: #fe4eb108
}

.radio_opt input[type="radio"] {
    width: 24px;
    height: 24px;
    margin: 0;
    cursor: pointer;
    accent-color: #FE4EB1
}

.radio_opt .opt_lbl {
    font-size: 22px;
    line-height: 1.6;
    color: #002963;
    cursor: pointer;
    flex: 1
}

.radio_opt input[type="radio"]:checked+.opt_lbl {
    font-weight: 700
}

.input_side .privacy_box {
    margin-bottom: 32px;
    padding: 16px;
    background: #fe4eb10d;
    border-radius: 8px;
    display: flex;
    align-items: flex-start;
    gap: 16px
}

.privacy_box input[type="checkbox"] {
    width: 24px;
    height: 24px;
    margin: 0;
    cursor: pointer;
    accent-color: #FE4EB1;
    flex-shrink: 0
}

.privacy_box .priv_txt {
    font-size: 14px;
    line-height: 1.6;
    color: #002963
}

.priv_txt a {
    color: #FE4EB1;
    text-decoration: none;
    font-weight: 700;
    transition: color .5s ease-in-out
}

.priv_txt a:hover {
    color: #002963
}

.input_side .submit_btn {
    width: 100%;
    padding: 16px 32px;
    font-size: 22px;
    line-height: 1.6;
    color: #fff;
    background: #FE4EB1;
    border: none;
    border-radius: 44px;
    font-weight: 900;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: transform .5s ease-in-out, box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.submit_btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: #002963;
    transition: left .6s ease-in-out;
    z-index: 0
}

.submit_btn:hover::before {
    left: 0
}

.submit_btn:hover {
    transform: translateY(-2px);
    box-shadow: 1px 9px 36px 0 #fe4eb14d
}

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

.cont_pg .visual_grid {
    padding: 96px 16px;
    background: #fff;
    position: relative
}

.visual_grid::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, #002963 50%, transparent 100%)
}

.visual_grid .grid_wrap {
    max-width: 1200px;
    margin: 0 auto
}

.grid_wrap .grid_head {
    font-size: 29px;
    line-height: 1.2;
    color: #002963;
    font-weight: 900;
    margin-bottom: 64px;
    text-align: center
}

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

.step_flow::before {
    content: '';
    position: absolute;
    top: 48px;
    left: 16.66%;
    right: 16.66%;
    height: 2px;
    background: linear-gradient(90deg, #FE4EB1 0%, #002963 100%);
    z-index: 0
}

.step_flow .step_card {
    background: #FBFCFC;
    padding: 32px;
    border-radius: 28px;
    border: 2px solid #0029631a;
    position: relative;
    z-index: 1;
    transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s ease-in-out;
    opacity: 0;
    animation: cascade_in .65s ease-in-out forwards
}

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

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

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

@keyframes cascade_in {
    from {
        opacity: 0;
        transform: translateY(32px)
    }

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

.step_card:hover {
    transform: translateY(-8px);
    box-shadow: 1px 9px 36px 0 #fe4eb11f
}

.step_card .num_badge {
    width: 64px;
    height: 64px;
    background: linear-gradient(135deg, #FE4EB1, #002963);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 29px;
    line-height: 1;
    color: #fff;
    font-weight: 900;
    margin-bottom: 16px;
    box-shadow: 1px 4px 22px 0 #fe4eb133
}

.step_card .step_ttl {
    font-size: 22px;
    line-height: 1.2;
    color: #002963;
    font-weight: 900;
    margin-bottom: 16px
}

.step_card .step_desc {
    font-size: 14px;
    line-height: 1.6;
    color: #002963cc
}

.grid_wrap .split_visual {
    display: grid;
    grid-template-columns: 2fr 1fr 3fr 1fr;
    gap: 32px;
    margin-top: 96px;
    align-items: center
}

.split_visual .img_frame {
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 1px 9px 36px 0 #0029631f;
    position: relative;
    height: 320px
}

.img_frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 8s ease-in-out
}

.img_frame:hover img {
    transform: scale(1.1) translateX(-16px)
}

.split_visual .txt_chunk {
    display: flex;
    flex-direction: column;
    gap: 16px;
    grid-column: span 2
}

.txt_chunk .chunk_head {
    font-size: 29px;
    line-height: 1.2;
    color: #002963;
    font-weight: 900
}

.txt_chunk .chunk_body {
    font-size: 14px;
    line-height: 1.6;
    color: #002963cc
}

.txt_chunk .chunk_link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 22px;
    line-height: 1.6;
    color: #FE4EB1;
    text-decoration: none;
    font-weight: 700;
    position: relative;
    transition: color .5s ease-in-out;
    width: fit-content
}

.chunk_link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 2px;
    background: #002963;
    transition: width .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), left .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.chunk_link:hover::after {
    width: 100%;
    left: 0
}

.chunk_link:hover {
    color: #002963
}

.split_visual .img_frame_alt {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 1px 4px 22px 0 #00296317;
    height: 280px
}

.img_frame_alt img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 8s ease-in-out
}

.img_frame_alt:hover img {
    transform: scale(1.1) translateY(-16px)
}

@media (max-width: 1366px) {
    .top_banner .lead_txt {
        font-size: 58px
    }

    .form_zone .zone_wrap {
        gap: 32px
    }

    .grid_wrap .split_visual {
        grid-template-columns: 1fr 1fr;
        gap: 32px
    }

    .split_visual .txt_chunk {
        grid-column: span 1
    }

    .split_visual .img_frame,
    .split_visual .img_frame_alt {
        height: 280px
    }
}

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

    .top_banner .lead_txt {
        font-size: 42px
    }

    .top_banner .sub_lead {
        font-size: 18px
    }

    .form_zone {
        padding: 64px 16px
    }

    .form_zone .zone_wrap {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .input_side {
        padding: 32px 16px
    }

    .input_side::before,
    .input_side::after {
        font-size: 80px
    }

    .frm_elem input[type="text"],
    .frm_elem input[type="email"],
    .frm_elem textarea {
        font-size: 18px
    }

    .radio_opt .opt_lbl {
        font-size: 18px
    }

    .visual_grid {
        padding: 64px 16px
    }

    .grid_wrap .step_flow {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .step_flow::before {
        display: none
    }

    .grid_wrap .split_visual {
        grid-template-columns: 1fr;
        gap: 32px;
        margin-top: 64px
    }

    .split_visual .img_frame,
    .split_visual .img_frame_alt {
        height: 240px
    }
}

@media (max-width: 375px) {
    .top_banner .lead_txt {
        font-size: 36px
    }

    .top_banner .sub_lead {
        font-size: 16px
    }

    .detail_side .side_head,
    .input_side .form_head,
    .grid_wrap .grid_head,
    .txt_chunk .chunk_head {
        font-size: 24px
    }

    .txt_hold .val,
    .radio_opt .opt_lbl,
    .submit_btn,
    .chunk_link {
        font-size: 18px
    }

    .step_card .step_ttl {
        font-size: 18px
    }
}

.learn_prog {
    background: #FBFCFC;
    overflow-x: clip
}

.learn_prog .open_hero {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 64px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 96px 32px;
    min-height: 520px
}

.learn_prog .open_hero::before {
    content: '';
    position: absolute;
    top: -120px;
    right: -80px;
    width: 480px;
    height: 480px;
    border: 2px solid #FE4EB1;
    border-radius: 44px;
    opacity: .15;
    transform: rotate(12deg);
    pointer-events: none;
    z-index: 0
}

.learn_prog .main_message {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.learn_prog .main_message h1 {
    font-size: 70px;
    line-height: 1.2;
    color: #002963;
    margin: 0 0 32px
}

.learn_prog .main_message h1 .accent_word {
    color: #FE4EB1
}

.learn_prog .main_message .desc_text {
    font-size: 22px;
    line-height: 1.6;
    color: #002963;
    margin: 0 0 32px;
    max-width: 580px
}

.learn_prog .main_message .action_link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 22px;
    color: #FE4EB1;
    text-decoration: none;
    transition: color .52s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    width: fit-content
}

.learn_prog .main_message .action_link:hover {
    color: #002963
}

.learn_prog .main_message .action_link svg {
    width: 24px;
    height: 24px;
    transition: transform .52s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.learn_prog .main_message .action_link:hover svg {
    transform: translateX(8px)
}

.learn_prog .side_panel {
    position: relative;
    z-index: 1;
    background: #fff;
    border-radius: 16px;
    padding: 32px;
    box-shadow: 1px 4px 22px 0 #fe4eb117;
    display: flex;
    flex-direction: column;
    gap: 32px;
    animation: scaleSettle .6s ease-out
}

@keyframes scaleSettle {
    from {
        opacity: 0;
        transform: scale(0.95)
    }

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

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

.learn_prog .metric_item .number {
    font-size: 70px;
    line-height: 1.2;
    color: #FE4EB1;
    font-weight: 700
}

.learn_prog .metric_item .label {
    font-size: 14px;
    line-height: 1.6;
    color: #002963
}

.learn_prog .divider_zigzag {
    width: 100%;
    height: 32px;
    display: block
}

.learn_prog .structure_overview {
    position: relative;
    background: linear-gradient(135deg, #002963 0%, #002963eb 100%);
    padding: 96px 32px
}

.learn_prog .structure_overview::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(./graphic_assets/post-thumbnail-8.jpg);
    background-size: cover;
    background-position: center;
    opacity: .12;
    pointer-events: none
}

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

.learn_prog .structure_container h2 {
    font-size: 70px;
    line-height: 1.2;
    color: #fff;
    margin: 0 0 64px;
    text-align: center
}

.learn_prog .three_col_layout {
    display: grid;
    grid-template-columns: 1fr 1fr 2fr;
    gap: 32px
}

.learn_prog .col_block {
    background: #fbfcfc14;
    border-radius: 16px;
    padding: 32px;
    backdrop-filter: blur(8px);
    border: 1px solid #fe4eb133;
    position: relative;
    overflow: hidden;
    transition: border-bottom .58s ease-in-out
}

.learn_prog .col_block:hover {
    border-bottom: 4px solid #FE4EB1
}

.learn_prog .col_block h3 {
    font-size: 29px;
    line-height: 1.2;
    color: #FE4EB1;
    margin: 0 0 16px;
    font-weight: 700
}

.learn_prog .col_block .block_text {
    font-size: 14px;
    line-height: 1.6;
    color: #FBFCFC;
    margin: 0 0 16px
}

.learn_prog .col_block .block_text:last-child {
    margin-bottom: 0
}

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

.learn_prog .col_block .visual_list li {
    font-size: 14px;
    line-height: 1.6;
    color: #FBFCFC;
    padding-left: 24px;
    position: relative
}

.learn_prog .col_block .visual_list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 8px;
    height: 8px;
    background: #FE4EB1;
    border-radius: 4px
}

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

.learn_prog .diagram_area {
    background: #fbfcfc0a;
    border-radius: 8px;
    padding: 32px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    border: 1px solid #fe4eb126
}

.learn_prog .diagram_node {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 16px;
    background: #fe4eb114;
    border-radius: 8px;
    border: 1px solid #fe4eb140;
    position: relative
}

.learn_prog .diagram_node .node_icon {
    width: 48px;
    height: 48px;
    border-radius: 28px;
    background: #FE4EB1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 22px;
    font-weight: 700
}

.learn_prog .diagram_node .node_label {
    font-size: 14px;
    line-height: 1.6;
    color: #fff;
    text-align: center
}

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

.learn_prog .legend_item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    line-height: 1.6;
    color: #FBFCFC
}

.learn_prog .legend_item .legend_marker {
    width: 16px;
    height: 16px;
    border-radius: 4px;
    background: #FE4EB1;
    flex-shrink: 0
}

.learn_prog .divider_zigzag_white {
    width: 100%;
    height: 32px;
    display: block
}

.learn_prog .instructor_showcase {
    background: #FBFCFC;
    padding: 96px 32px
}

.learn_prog .instructor_container {
    max-width: 1200px;
    margin: 0 auto
}

.learn_prog .instructor_container h2 {
    font-size: 70px;
    line-height: 1.2;
    color: #002963;
    margin: 0 0 64px
}

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

.learn_prog .instructor_card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 1px 1px 2px 0 #0029630d;
    transition: box-shadow .58s ease-in-out, transform .58s ease-in-out;
    position: relative
}

.learn_prog .instructor_card:hover {
    box-shadow: 1px 9px 36px 0 #0029631f;
    transform: translateY(-8px)
}

.learn_prog .portrait_wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 5/7;
    overflow: hidden
}

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

.learn_prog .portrait_wrapper .hover_caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, #002963f2, transparent);
    padding: 32px 16px 16px;
    transform: translateY(100%);
    transition: transform .58s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.learn_prog .instructor_card:hover .hover_caption {
    transform: translateY(0)
}

.learn_prog .hover_caption .caption_text {
    font-size: 14px;
    line-height: 1.6;
    color: #fff;
    margin: 0
}

.learn_prog .instructor_info {
    padding: 32px
}

.learn_prog .instructor_info h3 {
    font-size: 29px;
    line-height: 1.2;
    color: #002963;
    margin: 0 0 8px;
    font-weight: 700
}

.learn_prog .instructor_info .role {
    font-size: 14px;
    line-height: 1.6;
    color: #FE4EB1;
    margin: 0 0 16px
}

.learn_prog .instructor_info .bio {
    font-size: 14px;
    line-height: 1.6;
    color: #002963;
    margin: 0
}

@media (max-width: 1366px) {
    .learn_prog .open_hero {
        grid-template-columns: 1fr 300px;
        gap: 32px;
        padding: 64px 32px
    }

    .learn_prog .main_message h1 {
        font-size: 70px
    }

    .learn_prog .side_panel {
        padding: 32px
    }

    .learn_prog .three_col_layout {
        gap: 32px
    }
}

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

    .learn_prog .open_hero::before {
        width: 320px;
        height: 320px;
        top: -60px;
        right: -40px
    }

    .learn_prog .main_message h1 {
        font-size: 70px
    }

    .learn_prog .main_message .desc_text {
        font-size: 22px
    }

    .learn_prog .side_panel {
        padding: 32px
    }

    .learn_prog .structure_overview {
        padding: 64px 16px
    }

    .learn_prog .structure_container h2 {
        font-size: 70px;
        margin-bottom: 32px
    }

    .learn_prog .three_col_layout {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .learn_prog .diagram_area {
        grid-template-columns: 1fr;
        padding: 16px
    }

    .learn_prog .instructor_showcase {
        padding: 64px 16px
    }

    .learn_prog .instructor_container h2 {
        font-size: 70px;
        margin-bottom: 32px
    }

    .learn_prog .instructor_grid {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .learn_prog .instructor_info {
        padding: 16px
    }
}

@media (max-width: 375px) {
    .learn_prog .open_hero {
        padding: 32px 16px
    }

    .learn_prog .main_message h1 {
        font-size: 70px
    }

    .learn_prog .main_message .desc_text {
        font-size: 22px
    }

    .learn_prog .side_panel {
        padding: 16px;
        gap: 16px
    }

    .learn_prog .metric_item .number {
        font-size: 70px
    }

    .learn_prog .structure_overview {
        padding: 32px 16px
    }

    .learn_prog .structure_container h2 {
        font-size: 70px
    }

    .learn_prog .col_block {
        padding: 16px
    }

    .learn_prog .col_block h3 {
        font-size: 29px
    }

    .learn_prog .diagram_area {
        padding: 16px
    }

    .learn_prog .instructor_showcase {
        padding: 32px 16px
    }

    .learn_prog .instructor_container h2 {
        font-size: 70px
    }
}

.start_pg {
    background: #FBFCFC;
    color: #002963;
    overflow-x: clip
}

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

.start_pg .title_split {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    min-height: 580px;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    padding-top: 96px;
    padding-bottom: 64px;
    gap: 0
}

.start_pg .title_split::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 12px, #fe4eb108 12px, #fe4eb108 24px);
    pointer-events: none;
    z-index: 1
}

.start_pg .title_img_wrap {
    flex: 0 0 50%;
    position: relative;
    overflow: hidden
}

.start_pg .title_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: grayscale(100%) contrast(1.3);
    display: block
}

.start_pg .title_txt_wrap {
    flex: 0 0 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 64px;
    position: relative;
    z-index: 2;
    background: #FBFCFC
}

.start_pg .title_main_h {
    font-size: 70px;
    line-height: 1.2;
    font-weight: 700;
    color: #002963;
    margin: 0 0 32px
}

.start_pg .title_quote {
    font-size: 22px;
    line-height: 1.6;
    color: #002963;
    margin: 0;
    font-style: italic;
    opacity: .85
}

.start_pg .invest_reveal {
    max-width: 1200px;
    margin: 0 auto;
    padding: 96px 64px;
    background: linear-gradient(135deg, #FBFCFC 0%, #fe4eb10a 100%);
    position: relative;
    clip-path: polygon(0 0, 100% 4%, 100% 100%, 0 96%)
}

.start_pg .invest_reveal::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 420px;
    height: 420px;
    background: radial-gradient(circle at bottom right, #0029630f 0%, transparent 70%);
    pointer-events: none;
    z-index: 0
}

.start_pg .invest_inner {
    position: relative;
    z-index: 1
}

.start_pg .invest_h {
    font-size: 29px;
    line-height: 1.2;
    font-weight: 700;
    color: #002963;
    margin: 0 0 32px;
    max-width: 680px
}

.start_pg .invest_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-bottom: 32px
}

.start_pg .invest_card {
    background: #fff;
    padding: 32px;
    border-radius: 16px;
    box-shadow: 1px 4px 22px 0 #fe4eb117;
    transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative
}

.start_pg .invest_card:hover {
    transform: translateY(-4px);
    box-shadow: 1px 9px 36px 0 #fe4eb11f
}

.start_pg .invest_card_label {
    font-size: 14px;
    line-height: 1.6;
    color: #FE4EB1;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin: 0 0 8px;
    font-weight: 600
}

.start_pg .invest_card_val {
    font-size: 29px;
    line-height: 1.2;
    font-weight: 700;
    color: #002963;
    margin: 0 0 16px
}

.start_pg .invest_card_desc {
    font-size: 14px;
    line-height: 1.6;
    color: #002963;
    margin: 0;
    opacity: .75
}

.start_pg .invest_note {
    font-size: 14px;
    line-height: 1.6;
    color: #002963;
    margin: 0;
    opacity: .7;
    max-width: 680px
}

.start_pg .scale_nums {
    background: #002963;
    color: #fff;
    padding: 96px 64px;
    position: relative;
    overflow: hidden
}

.start_pg .scale_nums::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(./graphic_assets/post-thumbnail-13b.jpg);
    background-size: cover;
    background-position: center;
    opacity: .08;
    pointer-events: none
}

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

.start_pg .scale_h {
    font-size: 29px;
    line-height: 1.2;
    font-weight: 700;
    color: #fff;
    margin: 0 0 64px;
    text-align: center
}

.start_pg .scale_row {
    display: flex;
    flex-direction: row;
    gap: 64px;
    align-items: flex-start;
    justify-content: center
}

.start_pg .scale_metric {
    text-align: center;
    flex: 0 0 auto
}

.start_pg .scale_num {
    font-size: 70px;
    line-height: 1.2;
    font-weight: 700;
    color: #FE4EB1;
    margin: 0 0 16px;
    display: block
}

.start_pg .scale_label {
    font-size: 14px;
    line-height: 1.6;
    color: #fff;
    margin: 0;
    opacity: .85
}

.start_pg .scale_dashed {
    width: 2px;
    height: 120px;
    background-image: linear-gradient(to bottom, white 50%, transparent 50%);
    background-size: 2px 16px;
    opacity: .3;
    align-self: center
}

.start_pg .proof_current {
    max-width: 1200px;
    margin: 0 auto;
    padding: 96px 64px;
    position: relative
}

.start_pg .proof_h {
    font-size: 29px;
    line-height: 1.2;
    font-weight: 700;
    color: #002963;
    margin: 0 0 64px
}

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

.start_pg .proof_img_stack {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.start_pg .proof_img_item {
    width: 100%;
    height: 240px;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 1px 4px 22px 0 #00296317
}

.start_pg .proof_img_item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .65s ease-in-out
}

.start_pg .proof_img_item:hover img {
    transform: scale(1.05)
}

.start_pg .proof_txt_col {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.start_pg .proof_txt_col p {
    font-size: 14px;
    line-height: 1.6;
    color: #002963;
    margin: 0
}

.start_pg .proof_txt_col p:first-of-type {
    font-size: 22px;
    font-weight: 600
}

.start_pg .proof_quote_accent {
    padding: 32px;
    background: #fe4eb10f;
    border-radius: 16px;
    position: relative
}

.start_pg .proof_quote_accent::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: #FE4EB1;
    border-radius: 4px 0 0 4px
}

.start_pg .proof_quote_accent p {
    font-size: 14px;
    line-height: 1.6;
    color: #002963;
    margin: 0;
    font-style: italic
}

.start_pg .mirror_exp {
    background: #fff;
    padding: 96px 64px;
    position: relative;
    clip-path: polygon(0 5%, 100% 0, 100% 100%, 0 95%)
}

.start_pg .mirror_inner {
    max-width: 1200px;
    margin: 0 auto
}

.start_pg .mirror_h {
    font-size: 29px;
    line-height: 1.2;
    font-weight: 700;
    color: #002963;
    margin: 0 0 64px;
    text-align: center
}

.start_pg .mirror_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 64px
}

.start_pg .mirror_person {
    display: flex;
    flex-direction: row;
    gap: 32px;
    align-items: flex-start
}

.start_pg .mirror_portrait_box {
    flex: 0 0 140px;
    height: 210px;
    overflow: hidden;
    border-radius: 4px;
    box-shadow: 1px 4px 22px 0 #fe4eb117
}

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

.start_pg .mirror_txt_box {
    flex: 1
}

.start_pg .mirror_name {
    font-size: 22px;
    line-height: 1.2;
    font-weight: 700;
    color: #002963;
    margin: 0 0 8px
}

.start_pg .mirror_role {
    font-size: 14px;
    line-height: 1.6;
    color: #FE4EB1;
    margin: 0 0 16px;
    font-weight: 600
}

.start_pg .mirror_story {
    font-size: 14px;
    line-height: 1.6;
    color: #002963;
    margin: 0
}

.start_pg .support_frame {
    max-width: 1200px;
    margin: 0 auto;
    padding: 96px 64px;
    background: linear-gradient(135deg, #00296308 0%, transparent 100%)
}

.start_pg .support_h {
    font-size: 29px;
    line-height: 1.2;
    font-weight: 700;
    color: #002963;
    margin: 0 0 32px
}

.start_pg .support_intro {
    font-size: 14px;
    line-height: 1.6;
    color: #002963;
    margin: 0 0 64px;
    max-width: 680px
}

.start_pg .support_cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px
}

.start_pg .support_block {
    background: #fff;
    padding: 32px;
    border-radius: 28px;
    box-shadow: 1px 1px 2px 0 #0029630d;
    transition: box-shadow .5s ease-in-out;
    position: relative
}

.start_pg .support_block:hover {
    box-shadow: 1px 9px 36px 0 #0029631f
}

.start_pg .support_block_h {
    font-size: 22px;
    line-height: 1.2;
    font-weight: 700;
    color: #002963;
    margin: 0 0 16px
}

.start_pg .support_block p {
    font-size: 14px;
    line-height: 1.6;
    color: #002963;
    margin: 0 0 16px
}

.start_pg .support_block p:last-child {
    margin-bottom: 0
}

.start_pg .support_visual {
    width: 100%;
    height: 180px;
    overflow: hidden;
    border-radius: 8px;
    margin-top: 16px
}

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

.start_pg .environ_context {
    background: #002963;
    color: #fff;
    padding: 96px 64px;
    position: relative;
    overflow: hidden
}

.start_pg .environ_context::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle at center, #fe4eb126 0%, transparent 70%);
    transform: translate(-50%, -50%);
    pointer-events: none;
    animation: environ_pulse 15s linear infinite
}

@keyframes environ_pulse {
    0% {
        background: radial-gradient(circle at center, #fe4eb126 0%, transparent 70%)
    }

    50% {
        background: radial-gradient(circle at center, #00296333 0%, transparent 70%)
    }

    100% {
        background: radial-gradient(circle at center, #fe4eb126 0%, transparent 70%)
    }
}

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

.start_pg .environ_h {
    font-size: 29px;
    line-height: 1.2;
    font-weight: 700;
    color: #fff;
    margin: 0 0 64px
}

.start_pg .environ_four_col {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px
}

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

.start_pg .environ_col:last-child {
    background: #fe4eb11a;
    padding: 32px;
    border-radius: 16px;
    position: relative
}

.start_pg .environ_col:last-child::after {
    content: '';
    position: absolute;
    top: -8px;
    right: -8px;
    width: 32px;
    height: 32px;
    background: #FE4EB1;
    border-radius: 44px;
    box-shadow: 1px 4px 22px 0 #fe4eb14d
}

.start_pg .environ_item_h {
    font-size: 14px;
    line-height: 1.6;
    font-weight: 700;
    color: #fff;
    margin: 0 0 8px;
    text-transform: uppercase;
    letter-spacing: .5px
}

.start_pg .environ_item_txt {
    font-size: 14px;
    line-height: 1.6;
    color: #fff;
    margin: 0;
    opacity: .85
}

.start_pg .environ_col:last-child .environ_item_h {
    color: #FE4EB1
}

.start_pg .environ_col:last-child .environ_item_txt {
    color: #fff;
    opacity: 1
}

@media (max-width: 1366px) {
    .start_pg .title_split {
        padding-top: 64px;
        padding-bottom: 32px
    }

    .start_pg .title_txt_wrap {
        padding: 32px
    }

    .start_pg .title_main_h {
        font-size: 29px
    }

    .start_pg .title_quote {
        font-size: 14px
    }

    .start_pg .invest_reveal {
        padding: 64px 32px
    }

    .start_pg .invest_h {
        font-size: 22px
    }

    .start_pg .invest_grid {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .start_pg .scale_nums {
        padding: 64px 32px
    }

    .start_pg .scale_h {
        font-size: 22px;
        margin-bottom: 32px
    }

    .start_pg .scale_row {
        flex-direction: column;
        gap: 32px
    }

    .start_pg .scale_dashed {
        width: 120px;
        height: 2px;
        background-image: linear-gradient(to right, white 50%, transparent 50%);
        background-size: 16px 2px
    }

    .start_pg .scale_num {
        font-size: 29px
    }

    .start_pg .proof_current {
        padding: 64px 32px
    }

    .start_pg .proof_h {
        font-size: 22px;
        margin-bottom: 32px
    }

    .start_pg .proof_layout {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .start_pg .mirror_exp {
        padding: 64px 32px
    }

    .start_pg .mirror_h {
        font-size: 22px;
        margin-bottom: 32px
    }

    .start_pg .mirror_grid {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .start_pg .support_frame {
        padding: 64px 32px
    }

    .start_pg .support_h {
        font-size: 22px
    }

    .start_pg .support_cols {
        grid-template-columns: 1fr
    }

    .start_pg .environ_context {
        padding: 64px 32px
    }

    .start_pg .environ_h {
        font-size: 22px;
        margin-bottom: 32px
    }

    .start_pg .environ_four_col {
        grid-template-columns: 1fr 1fr;
        gap: 16px
    }
}

@media (max-width: 768px) {
    .start_pg .title_split {
        flex-direction: column;
        min-height: auto;
        padding-top: 32px;
        padding-bottom: 32px
    }

    .start_pg .title_img_wrap {
        flex: 0 0 auto;
        height: 280px
    }

    .start_pg .title_txt_wrap {
        flex: 0 0 auto;
        padding: 32px 16px
    }

    .start_pg .title_main_h {
        font-size: 22px;
        margin-bottom: 16px
    }

    .start_pg .title_quote {
        font-size: 14px
    }

    .start_pg .invest_reveal {
        padding: 32px 16px
    }

    .start_pg .invest_h {
        font-size: 22px;
        margin-bottom: 16px
    }

    .start_pg .invest_card {
        padding: 16px
    }

    .start_pg .invest_card_val {
        font-size: 22px
    }

    .start_pg .scale_nums {
        padding: 32px 16px
    }

    .start_pg .scale_h {
        font-size: 22px;
        margin-bottom: 32px
    }

    .start_pg .scale_num {
        font-size: 29px
    }

    .start_pg .proof_current {
        padding: 32px 16px
    }

    .start_pg .proof_h {
        font-size: 22px;
        margin-bottom: 32px
    }

    .start_pg .proof_img_stack {
        grid-template-columns: 1fr
    }

    .start_pg .mirror_exp {
        padding: 32px 16px
    }

    .start_pg .mirror_h {
        font-size: 22px;
        margin-bottom: 32px
    }

    .start_pg .mirror_person {
        flex-direction: column;
        gap: 16px
    }

    .start_pg .mirror_portrait_box {
        flex: 0 0 auto;
        width: 120px;
        height: 180px
    }

    .start_pg .support_frame {
        padding: 32px 16px
    }

    .start_pg .support_h {
        font-size: 22px
    }

    .start_pg .support_intro {
        margin-bottom: 32px
    }

    .start_pg .support_block {
        padding: 16px
    }

    .start_pg .environ_context {
        padding: 32px 16px
    }

    .start_pg .environ_h {
        font-size: 22px;
        margin-bottom: 32px
    }

    .start_pg .environ_four_col {
        grid-template-columns: 1fr
    }
}

@media (max-width: 375px) {
    .start_pg .title_main_h {
        font-size: 22px
    }

    .start_pg .invest_h {
        font-size: 22px
    }

    .start_pg .scale_h {
        font-size: 22px
    }

    .start_pg .scale_num {
        font-size: 22px
    }

    .start_pg .proof_h {
        font-size: 22px
    }

    .start_pg .mirror_h {
        font-size: 22px
    }

    .start_pg .support_h {
        font-size: 22px
    }

    .start_pg .environ_h {
        font-size: 22px
    }
}

.success_page_wrapper {
    background: linear-gradient(135deg, #FBFCFC 0%, #FBFCFC 60%, #fe4eb114 100%);
    padding: 64px 16px;
    min-height: 70vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

.success_page_wrapper .confirmation_container {
    max-width: 680px;
    width: 100%;
    background: #FBFCFC;
    border-radius: 28px;
    padding: 64px 32px;
    box-shadow: 1px 4px 22px 0 #00296317;
    text-align: center;
    position: relative;
    overflow: hidden
}

.success_page_wrapper .confirmation_container::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -30%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle at bottom right, #fe4eb11f, transparent 70%);
    pointer-events: none
}

.success_page_wrapper .status_icon_wrapper {
    width: 96px;
    height: 96px;
    margin: 0 auto 32px;
    position: relative
}

.success_page_wrapper .status_icon_circle {
    width: 96px;
    height: 96px;
    border-radius: 44px;
    background: linear-gradient(135deg, #FE4EB1 0%, #fe4eb1b3 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: scale_in .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
    box-shadow: 1px 9px 36px 0 #fe4eb11f
}

@keyframes scale_in {
    0% {
        transform: scale(0.4);
        opacity: 0
    }

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

.success_page_wrapper .status_icon_svg {
    width: 48px;
    height: 48px
}

.success_page_wrapper .status_icon_svg path {
    fill: none;
    stroke: #FBFCFC;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 60;
    stroke-dashoffset: 60;
    animation: draw_check .5s cubic-bezier(0.25, 0.46, 0.45, 0.94) .3s forwards
}

@keyframes draw_check {
    to {
        stroke-dashoffset: 0
    }
}

.success_page_wrapper .main_heading_text {
    font-size: 70px;
    line-height: 1.2;
    color: #002963;
    margin: 0 0 16px;
    font-weight: 700
}

.success_page_wrapper .subheading_desc {
    font-size: 22px;
    line-height: 1.6;
    color: #002963;
    margin: 0 0 32px;
    opacity: .8
}

.success_page_wrapper .detail_info_block {
    background: #0029630a;
    border-radius: 16px;
    padding: 32px;
    margin: 0 0 32px;
    border: 2px solid #fe4eb126
}

.success_page_wrapper .detail_info_block p {
    font-size: 14px;
    line-height: 1.6;
    color: #002963;
    margin: 0 0 8px
}

.success_page_wrapper .detail_info_block p:last-child {
    margin: 0
}

.success_page_wrapper .detail_info_block strong {
    color: #FE4EB1;
    font-weight: 600
}

.success_page_wrapper .action_buttons_group {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center
}

.success_page_wrapper .primary_home_btn {
    background: #FE4EB1;
    color: #FBFCFC;
    font-size: 14px;
    font-weight: 600;
    padding: 16px 64px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    position: relative;
    overflow: hidden;
    box-shadow: 1px 4px 22px 0 #fe4eb117;
    transition: box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.success_page_wrapper .primary_home_btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: #002963;
    transition: left .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 0
}

.success_page_wrapper .primary_home_btn:hover::before {
    left: 0
}

.success_page_wrapper .primary_home_btn span {
    position: relative;
    z-index: 1
}

.success_page_wrapper .primary_home_btn:hover {
    box-shadow: 1px 9px 36px 0 #0029631f
}

.success_page_wrapper .secondary_contact_link {
    color: #002963;
    font-size: 14px;
    text-decoration: none;
    position: relative;
    transition: color .45s ease-in-out
}

.success_page_wrapper .secondary_contact_link::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #FE4EB1;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.success_page_wrapper .secondary_contact_link:hover {
    color: #FE4EB1
}

.success_page_wrapper .secondary_contact_link:hover::after {
    transform: scaleX(1)
}

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

    .success_page_wrapper .confirmation_container {
        padding: 32px 16px
    }

    .success_page_wrapper .main_heading_text {
        font-size: 29px
    }

    .success_page_wrapper .subheading_desc {
        font-size: 14px
    }

    .success_page_wrapper .status_icon_wrapper {
        width: 64px;
        height: 64px;
        margin: 0 auto 16px
    }

    .success_page_wrapper .status_icon_circle {
        width: 64px;
        height: 64px
    }

    .success_page_wrapper .status_icon_svg {
        width: 32px;
        height: 32px
    }

    .success_page_wrapper .detail_info_block {
        padding: 16px
    }

    .success_page_wrapper .primary_home_btn {
        padding: 16px 32px;
        width: 100%
    }
}

@media (max-width: 375px) {
    .success_page_wrapper .confirmation_container {
        border-radius: 16px
    }
}