@import "https://cdn.jsdelivr.net/npm/@fontsource/roboto-mono@latest/300.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/roboto-mono@latest/300-italic.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/roboto-mono@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/roboto-mono@latest/400-italic.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/roboto-mono@latest/600.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/roboto-mono@latest/600-italic.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/roboto-mono@latest/700.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/roboto-mono@latest/700-italic.css";

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

body {
    margin: 0;
    min-height: 100dvh;
    font-family: 'Roboto Mono', monospace;
    background: #fff;
    color: #1a1a1a;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%
}

.top_bar {
    background: linear-gradient(135deg, #fd514114 0%, #01e8b10f 100%);
    border-bottom: 2px solid #fd514126;
    padding: 24px 36px;
    position: relative
}

.top_bar::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, #01e8b14d 0%, #ffd71d33 50%, #fd51414d 100%)
}

.top_content_box {
    max-width: 1366px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
    flex-wrap: wrap
}

.brand_cluster {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-shrink: 0
}

.mark_box {
    background: #fff;
    padding: 12px;
    border-radius: 6px;
    box-shadow: 0 4px 28px 0 #fd51411a;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #01e8b11f
}

.mark_box img {
    width: 60px;
    height: 60px;
    object-fit: contain;
    display: block
}

.brand_text {
    font-size: 17px;
    font-weight: 600;
    color: #2a2a2a;
    line-height: 1.2;
    letter-spacing: .02em
}

.links_row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap
}

.links_row a {
    font-size: 13px;
    font-weight: 400;
    color: #3a3a3a;
    text-decoration: none;
    padding: 12px 24px;
    border-radius: 46px;
    background: #ffffffb3;
    border: 1px solid #fd51412e;
    transition: background-color .12s cubic-bezier(0.4, 0, 1, 1), border-color .12s cubic-bezier(0.4, 0, 1, 1), color .1s cubic-bezier(0.4, 0, 1, 1), box-shadow .14s cubic-bezier(0.4, 0, 1, 1);
    line-height: 1.2;
    white-space: nowrap
}

.links_row a:hover {
    background: #fd5141eb;
    border-color: #fd5141f2;
    color: #fff;
    box-shadow: 0 4px 28px 0 #fd51411a
}

.links_row a:focus {
    outline: 2px solid #01e8b180;
    outline-offset: 2px;
    text-decoration: underline
}

.links_row a:active {
    background: #fd5141ff;
    transform: translateY(1px)
}

@media (max-width: 1024px) {
    .top_bar {
        padding: 24px
    }

    .top_content_box {
        gap: 24px
    }

    .brand_cluster {
        gap: 12px
    }

    .links_row {
        width: 100%;
        justify-content: flex-start
    }
}

@media (max-width: 768px) {
    .top_bar {
        padding: 24px 12px
    }

    .top_content_box {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px
    }

    .brand_cluster {
        width: 100%
    }

    .mark_box img {
        width: 50px;
        height: 50px
    }

    .brand_text {
        font-size: 17px
    }

    .links_row {
        flex-direction: column;
        align-items: stretch;
        gap: 12px
    }

    .links_row a {
        text-align: center;
        padding: 12px 24px
    }
}

@media (max-width: 375px) {
    .top_bar {
        padding: 12px
    }

    .brand_cluster {
        gap: 12px
    }

    .mark_box {
        padding: 6px
    }

    .mark_box img {
        width: 44px;
        height: 44px
    }

    .brand_text {
        font-size: 13px
    }
}

.base_floor {
    background: linear-gradient(180deg, #01e8b10a 0%, #ffd71d08 100%);
    border-top: 2px solid #01e8b11f;
    padding: 72px 36px 36px;
    margin-top: auto;
    position: relative
}

.base_floor::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, #fd514133 0%, #01e8b14d 50%, #ffd71d33 100%)
}

.base_content_box {
    max-width: 1366px;
    margin: 0 auto
}

.divider_rule {
    height: 2px;
    background: linear-gradient(90deg, #fd514140 0%, #01e8b133 100%);
    margin-bottom: 36px;
    border-radius: 6px
}

.floor_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 72px;
    align-items: start;
    margin-bottom: 72px
}

.identity_col {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.floor_mark_box {
    background: #fff;
    padding: 12px;
    border-radius: 6px;
    box-shadow: 0 1px 5px 0 #01e8b10d;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #fd51411a;
    width: fit-content
}

.floor_mark_box img {
    width: 55px;
    height: 55px;
    object-fit: contain;
    display: block
}

.tagline_text {
    font-size: 13px;
    font-weight: 300;
    color: #4a4a4a;
    line-height: 1.7;
    font-style: italic
}

.service_links_col {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.service_links_col a {
    font-size: 13px;
    font-weight: 400;
    color: #3a3a3a;
    text-decoration: none;
    padding: 12px 0;
    border-bottom: 1px solid #fd514114;
    transition: color .1s cubic-bezier(0.4, 0, 1, 1), border-bottom-color .12s cubic-bezier(0.4, 0, 1, 1), padding-left .14s cubic-bezier(0.4, 0, 1, 1);
    line-height: 1.2;
    display: flex;
    align-items: center;
    gap: 6px
}

.service_links_col a::before {
    content: '';
    width: 6px;
    height: 6px;
    background: #01e8b199;
    border-radius: 50%;
    transition: background-color .1s cubic-bezier(0.4, 0, 1, 1), transform .12s cubic-bezier(0.4, 0, 1, 1)
}

.service_links_col a:hover {
    color: #FD5141;
    border-bottom-color: #fd51414d;
    padding-left: 6px
}

.service_links_col a:hover::before {
    background: #FD5141;
    transform: scale(1.3)
}

.service_links_col a:focus {
    outline: 2px solid #01e8b180;
    outline-offset: 2px;
    text-decoration: underline
}

.reach_col {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.reach_label {
    font-size: 13px;
    font-weight: 600;
    color: #2a2a2a;
    text-transform: uppercase;
    letter-spacing: .08em;
    line-height: 1.2
}

.reach_items {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.reach_item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 13px;
    font-weight: 400;
    color: #3a3a3a;
    line-height: 1.7
}

.reach_item_icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    color: #01e8b1b3;
    margin-top: 2px
}

.reach_item a {
    color: #3a3a3a;
    text-decoration: none;
    transition: color .1s cubic-bezier(0.4, 0, 1, 1);
    word-break: break-word
}

.reach_item a:hover {
    color: #FD5141;
    text-decoration: underline
}

.reach_item a:focus {
    outline: 2px solid #01e8b180;
    outline-offset: 2px;
    text-decoration: underline
}

.copyright_bar {
    padding-top: 36px;
    border-top: 1px solid #fd51411f;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap
}

.copyright_text {
    font-size: 13px;
    font-weight: 300;
    color: #5a5a5a;
    line-height: 1.2
}

.legal_links {
    display: flex;
    gap: 24px;
    flex-wrap: wrap
}

.legal_links a {
    font-size: 13px;
    font-weight: 400;
    color: #4a4a4a;
    text-decoration: none;
    transition: color .1s cubic-bezier(0.4, 0, 1, 1);
    line-height: 1.2
}

.legal_links a:hover {
    color: #FD5141;
    text-decoration: underline
}

.legal_links a:focus {
    outline: 2px solid #01e8b180;
    outline-offset: 2px;
    text-decoration: underline
}

@media (max-width: 1024px) {
    .base_floor {
        padding: 72px 24px 36px
    }

    .floor_grid {
        grid-template-columns: 1fr;
        gap: 48px
    }
}

@media (max-width: 768px) {
    .base_floor {
        padding: 48px 12px 24px
    }

    .floor_grid {
        gap: 36px;
        margin-bottom: 48px
    }

    .copyright_bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding-top: 24px
    }

    .legal_links {
        flex-direction: column;
        gap: 12px
    }
}

@media (max-width: 375px) {
    .base_floor {
        padding: 36px 12px 24px
    }

    .floor_grid {
        gap: 24px;
        margin-bottom: 36px
    }

    .divider_rule {
        margin-bottom: 24px
    }

    .floor_mark_box img {
        width: 48px;
        height: 48px
    }
}

img {
    opacity: 0;
    transition: opacity .16s cubic-bezier(0.4, 0, 1, 1)
}

img.loaded {
    opacity: 1
}

.policy_content {
    max-width: 1366px;
    margin: 0 auto;
    padding: 72px 24px;
    background: #fff
}

.policy_content h1 {
    font-size: 50px;
    line-height: 1.2;
    color: #1d1d1d;
    margin: 0 0 36px;
    font-weight: 700
}

.policy_content h2 {
    font-size: 38px;
    line-height: 1.2;
    color: #2d2d2d;
    margin: 72px 0 24px;
    font-weight: 600
}

.policy_content h3 {
    font-size: 17px;
    line-height: 1.2;
    color: #3d3d3d;
    margin: 36px 0 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em
}

.policy_content h4,
.policy_content h5,
.policy_content h6 {
    font-size: 17px;
    line-height: 1.2;
    color: #3d3d3d;
    margin: 24px 0 12px;
    font-weight: 600
}

.policy_content p {
    font-size: 17px;
    line-height: 1.7;
    color: #2d2d2d;
    margin: 0 0 24px
}

.policy_content ul,
.policy_content ol {
    font-size: 17px;
    line-height: 1.7;
    color: #2d2d2d;
    margin: 0 0 24px;
    padding: 0 0 0 36px
}

.policy_content li {
    margin: 0 0 12px
}

.policy_content li:last-child {
    margin-bottom: 0
}

.policy_content em,
.policy_content i {
    font-style: italic;
    color: #FD5141
}

.policy_content table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 36px;
    font-size: 17px;
    line-height: 1.7;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 5px 0 #fd51410d
}

.policy_content thead {
    background: #fd514114
}

.policy_content th {
    padding: 12px 24px;
    text-align: left;
    font-weight: 600;
    color: #1d1d1d;
    border-bottom: 2px solid #fd514126
}

.policy_content td {
    padding: 12px 24px;
    color: #2d2d2d;
    border-bottom: 1px solid #01e8b11a
}

.policy_content tbody tr:last-child td {
    border-bottom: none
}

.policy_content tbody tr {
    transition: background-color .12s cubic-bezier(0.4, 0, 1, 1)
}

.policy_content tbody tr:hover {
    background: #01e8b10a
}

.policy_content hr {
    border: none;
    height: 2px;
    background: linear-gradient(90deg, #fd514126 0%, #01e8b126 100%);
    margin: 72px 0;
    border-radius: 46px
}

.policy_content div {
    margin: 0 0 24px
}

@media (max-width: 768px) {
    .policy_content {
        padding: 36px 24px
    }

    .policy_content h1 {
        font-size: 38px;
        margin: 0 0 24px
    }

    .policy_content h2 {
        font-size: 17px;
        margin: 36px 0 12px
    }

    .policy_content table {
        font-size: 13px
    }

    .policy_content th,
    .policy_content td {
        padding: 12px
    }
}

@media (max-width: 375px) {
    .policy_content {
        padding: 24px 12px
    }

    .policy_content ul,
    .policy_content ol {
        padding: 0 0 0 24px
    }
}

.prog_detail {
    background: #FFF;
    color: #1a1a1a;
    max-width: 1366px;
    margin: 0 auto
}

.prog_detail .top_visual {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    padding: 72px 36px;
    gap: 36px;
    position: relative;
    overflow: hidden
}

.prog_detail .img_strip {
    flex: 0 0 280px;
    position: relative
}

.prog_detail .img_strip img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
    opacity: 0;
    animation: fadeInImage .14s cubic-bezier(0.4, 0, 1, 1) forwards
}

@keyframes fadeInImage {
    to {
        opacity: 1
    }
}

.prog_detail .img_strip::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fd51411f;
    border-radius: 6px;
    pointer-events: none
}

.prog_detail .text_space {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px
}

.prog_detail .main_heading {
    font-size: 50px;
    line-height: 1.2;
    margin: 0
}

.prog_detail .main_heading .accent_phrase {
    border: 2px solid #01E8B1;
    padding: 6px 12px;
    display: inline-block;
    border-radius: 6px
}

.prog_detail .meta_row {
    display: flex;
    flex-direction: row;
    gap: 36px;
    flex-wrap: wrap
}

.prog_detail .meta_item {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.prog_detail .meta_label {
    font-size: 13px;
    line-height: 1.7;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #fd5141b3
}

.prog_detail .meta_value {
    font-size: 17px;
    line-height: 1.7;
    font-weight: 600
}

.prog_detail .dot_path {
    position: absolute;
    right: 72px;
    top: 36px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    opacity: .3
}

.prog_detail .dot_path span {
    width: 6px;
    height: 6px;
    background: #FFD71D;
    border-radius: 50%
}

.prog_detail .divider_line {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 0 36px;
    margin: 36px 0
}

.prog_detail .divider_line::before,
.prog_detail .divider_line::after {
    content: '';
    flex: 1;
    height: 1px;
    background: linear-gradient(307deg, #fd51414d, #01e8b14d)
}

.prog_detail .divider_num {
    font-size: 17px;
    line-height: 1.2;
    font-weight: 600;
    color: #fd5141cc
}

.prog_detail .curriculum_zone {
    padding: 72px 36px;
    margin: 0 72px;
    position: relative;
    background: linear-gradient(307deg, #01e8b10d, #fd514108);
    animation: bgShift 15s linear infinite
}

@keyframes bgShift {
    0% {
        background: linear-gradient(307deg, #01e8b10d, #fd514108)
    }

    50% {
        background: linear-gradient(307deg, #fd51410d, #01e8b108)
    }

    100% {
        background: linear-gradient(307deg, #01e8b10d, #fd514108)
    }
}

.prog_detail .curriculum_zone::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 6px;
    background: linear-gradient(307deg, #01E8B1, #FD5141)
}

.prog_detail .section_label {
    font-size: 13px;
    line-height: 1.7;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: #fd5141b3;
    margin: 0 0 12px;
    border-bottom: 1px solid #01e8b14d;
    padding-bottom: 6px;
    display: inline-block
}

.prog_detail .curriculum_heading {
    font-size: 38px;
    line-height: 1.2;
    margin: 0 0 36px;
    position: relative
}

.prog_detail .curriculum_heading::before {
    content: '';
    position: absolute;
    left: -48px;
    top: 6px;
    width: 24px;
    height: 24px;
    background: #FFD71D;
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)
}

.prog_detail .program_content {
    font-size: 17px;
    line-height: 1.7;
    max-width: 920px
}

.prog_detail .program_content h2 {
    font-size: 38px;
    line-height: 1.2;
    margin: 36px 0 24px
}

.prog_detail .program_content p {
    margin: 0 0 24px
}

.prog_detail .program_content ul {
    margin: 0 0 24px;
    padding-left: 24px
}

.prog_detail .program_content li {
    margin-bottom: 12px
}

.prog_detail .program_content em {
    font-style: italic;
    color: #FD5141
}

.prog_detail .program_content blockquote {
    margin: 24px 0;
    padding: 24px;
    background: #ffd71d14;
    border-radius: 6px;
    border-left: none
}

.prog_detail .program_content cite {
    font-style: normal;
    font-size: 13px;
    line-height: 1.7;
    color: #0009
}

.prog_detail .description_area {
    padding: 72px 36px 72px 144px;
    max-width: 1100px
}

.prog_detail .description_area .section_label {
    color: #01e8b1b3;
    border-bottom-color: #fd51414d
}

.prog_detail .description_heading {
    font-size: 38px;
    line-height: 1.2;
    margin: 0 0 36px;
    position: relative
}

.prog_detail .description_heading::before {
    content: '';
    position: absolute;
    left: -60px;
    top: 0;
    width: 36px;
    height: 36px;
    border: 3px solid #01E8B1;
    border-radius: 50%
}

.prog_detail .description_text {
    font-size: 17px;
    line-height: 1.7
}

.prog_detail .description_text h2 {
    font-size: 38px;
    line-height: 1.2;
    margin: 36px 0 24px
}

.prog_detail .description_text h3 {
    font-size: 17px;
    line-height: 1.7;
    margin: 24px 0 12px;
    font-weight: 600
}

.prog_detail .description_text p {
    margin: 0 0 24px
}

.prog_detail .description_text ul,
.prog_detail .description_text ol {
    margin: 0 0 24px;
    padding-left: 24px
}

.prog_detail .description_text li {
    margin-bottom: 12px
}

.prog_detail .description_text dl {
    margin: 0 0 24px
}

.prog_detail .description_text dt {
    font-weight: 600;
    margin-bottom: 6px
}

.prog_detail .description_text dd {
    margin: 0 0 12px 24px
}

.prog_detail .description_text small {
    font-size: 13px;
    line-height: 1.7
}

.prog_detail .description_text cite {
    font-style: normal;
    font-size: 13px;
    line-height: 1.7;
    color: #0009
}

.prog_detail .description_text figure {
    margin: 24px 0
}

.prog_detail .description_text figcaption {
    font-size: 13px;
    line-height: 1.7;
    margin-top: 12px;
    color: #0009
}

.prog_detail .poll_block {
    padding: 72px 72px 72px 36px;
    background: #FFF;
    position: relative
}

.prog_detail .poll_block::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 6px;
    background: linear-gradient(307deg, #FFD71D, #FD5141)
}

.prog_detail .poll_wrapper {
    max-width: 720px;
    margin: 0 auto
}

.prog_detail .poll_heading {
    font-size: 38px;
    line-height: 1.2;
    margin: 0 0 12px;
    position: relative
}

.prog_detail .poll_heading::before {
    content: '?';
    position: absolute;
    left: -60px;
    top: -12px;
    font-size: 72px;
    line-height: 1;
    color: #ffd71d33;
    font-weight: 700
}

.prog_detail .poll_subtext {
    font-size: 13px;
    line-height: 1.7;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: #00000080;
    margin: 0 0 36px;
    border-bottom: 1px solid #01e8b14d;
    padding-bottom: 6px;
    display: inline-block
}

.prog_detail .poll_options {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.prog_detail .poll_option {
    position: relative
}

.prog_detail .poll_option input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none
}

.prog_detail .poll_label {
    display: block;
    padding: 24px 36px;
    background: #01e8b10d;
    border: 2px solid #01e8b133;
    border-radius: 6px;
    cursor: pointer;
    font-size: 17px;
    line-height: 1.7;
    transition: border-color .12s cubic-bezier(0.4, 0, 1, 1), background .1s cubic-bezier(0.4, 0, 1, 1);
    position: relative;
    overflow: hidden
}

.prog_detail .poll_label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 6px;
    background: linear-gradient(307deg, #01E8B1, #FD5141);
    transform: scaleY(0);
    transform-origin: top;
    transition: transform .16s cubic-bezier(0.4, 0, 1, 1)
}

.prog_detail .poll_label:hover {
    border-color: #01e8b180;
    background: #01e8b114
}

.prog_detail .poll_option input[type="radio"]:checked+.poll_label {
    border-color: #01E8B1;
    background: #01e8b126;
    box-shadow: 0 4px 28px 0 #01e8b11a
}

.prog_detail .poll_option input[type="radio"]:checked+.poll_label::before {
    transform: scaleY(1)
}

.prog_detail .poll_option input[type="radio"]:focus+.poll_label {
    outline: 2px solid #FD5141;
    outline-offset: 2px
}

.prog_detail .large_punctuation {
    position: absolute;
    font-size: 280px;
    line-height: 1;
    font-weight: 700;
    color: transparent;
    -webkit-text-stroke: 2px #fd51411a;
    pointer-events: none;
    user-select: none
}

.prog_detail .punct_1 {
    top: 120px;
    right: 180px
}

.prog_detail .punct_2 {
    bottom: 80px;
    left: 120px
}

@media (max-width: 1280px) {
    .prog_detail .top_visual {
        padding: 72px 24px
    }

    .prog_detail .img_strip {
        flex: 0 0 220px
    }

    .prog_detail .curriculum_zone {
        margin: 0 36px
    }

    .prog_detail .description_area {
        padding-left: 72px
    }

    .prog_detail .poll_block {
        padding-right: 36px
    }
}

@media (max-width: 1024px) {
    .prog_detail .top_visual {
        flex-direction: column;
        padding: 36px 24px
    }

    .prog_detail .img_strip {
        flex: 0 0 auto;
        width: 100%;
        height: 280px
    }

    .prog_detail .main_heading {
        font-size: 38px
    }

    .prog_detail .curriculum_zone {
        padding: 36px 24px;
        margin: 0 24px
    }

    .prog_detail .curriculum_heading::before {
        left: -36px
    }

    .prog_detail .description_area {
        padding: 36px 24px 36px 72px
    }

    .prog_detail .description_heading::before {
        left: -48px
    }

    .prog_detail .poll_block {
        padding: 36px 24px
    }

    .prog_detail .large_punctuation {
        font-size: 180px
    }
}

@media (max-width: 768px) {
    .prog_detail .top_visual {
        padding: 24px 12px;
        gap: 24px
    }

    .prog_detail .img_strip {
        height: 220px
    }

    .prog_detail .main_heading {
        font-size: 38px
    }

    .prog_detail .meta_row {
        gap: 24px
    }

    .prog_detail .dot_path {
        right: 24px;
        top: 24px
    }

    .prog_detail .divider_line {
        padding: 0 24px;
        margin: 24px 0
    }

    .prog_detail .curriculum_zone {
        padding: 36px 24px;
        margin: 0 12px
    }

    .prog_detail .curriculum_heading {
        font-size: 38px
    }

    .prog_detail .curriculum_heading::before {
        left: -30px;
        width: 18px;
        height: 18px
    }

    .prog_detail .description_area {
        padding: 36px 24px
    }

    .prog_detail .description_heading {
        font-size: 38px
    }

    .prog_detail .description_heading::before {
        position: static;
        display: inline-block;
        margin-right: 12px;
        width: 24px;
        height: 24px
    }

    .prog_detail .poll_block {
        padding: 36px 12px
    }

    .prog_detail .poll_heading::before {
        left: -36px;
        font-size: 48px
    }

    .prog_detail .poll_label {
        padding: 24px
    }

    .prog_detail .large_punctuation {
        display: none
    }
}

@media (max-width: 375px) {
    .prog_detail .top_visual {
        padding: 24px 12px
    }

    .prog_detail .main_heading {
        font-size: 38px
    }

    .prog_detail .meta_row {
        flex-direction: column;
        gap: 12px
    }

    .prog_detail .curriculum_zone {
        padding: 24px 12px
    }

    .prog_detail .description_area {
        padding: 24px 12px
    }

    .prog_detail .poll_block {
        padding: 24px 12px
    }

    .prog_detail .poll_heading {
        font-size: 38px
    }

    .prog_detail .poll_heading::before {
        display: none
    }
}

.budget_plan {
    background: #FFF;
    color: #1A1A1A;
    max-width: 1366px;
    margin: 0 auto;
    overflow-x: clip
}

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

.budget_plan img {
    max-width: 100%;
    height: auto;
    display: block
}

.budget_plan .top_intro {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0;
    padding: 72px 24px;
    position: relative;
    background: linear-gradient(307deg, #fd514108 0%, #01e8b10d 78%)
}

.budget_plan .top_intro::before {
    content: '';
    position: absolute;
    width: 18px;
    height: 18px;
    background: #ffd71d66;
    border-radius: 50%;
    top: 36px;
    left: 36px;
    pointer-events: none
}

.budget_plan .top_intro::after {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    background: #01e8b199;
    border-radius: 50%;
    top: 48px;
    left: 64px;
    pointer-events: none
}

.budget_plan .text_zone {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px;
    padding-right: 36px;
    position: relative;
    z-index: 2
}

.budget_plan .text_zone::before {
    content: '';
    position: absolute;
    width: 12px;
    height: 12px;
    background: #fd514180;
    border-radius: 50%;
    bottom: -12px;
    left: 24px;
    pointer-events: none
}

.budget_plan .top_heading {
    font-size: 50px;
    line-height: 1.2;
    font-weight: 700;
    color: #2D2D2D;
    margin: 0
}

.budget_plan .top_desc {
    font-size: 17px;
    line-height: 1.7;
    color: #4A4A4A;
    margin: 0
}

.budget_plan .image_strip {
    width: 320px;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    border-radius: 6px
}

.budget_plan .image_strip img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0;
    transition: opacity .14s cubic-bezier(0.4, 0, 1, 1)
}

.budget_plan .image_strip img[src] {
    opacity: 1
}

.budget_plan .image_strip::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60%;
    background: linear-gradient(180deg, #0000 0%, #0006 100%);
    pointer-events: none
}

.budget_plan .divider_zig {
    width: 100%;
    height: 48px;
    display: block
}

.budget_plan .method_overview {
    padding: 72px 24px;
    background: #FAFCFE;
    position: relative
}

.budget_plan .method_overview::before {
    content: '';
    position: absolute;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, #01e8b114 0%, transparent 70%);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 1
}

.budget_plan .method_container {
    max-width: 920px;
    margin: 0 auto;
    position: relative;
    z-index: 2
}

.budget_plan .method_lead {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 36px
}

.budget_plan .shape_marker {
    width: 28px;
    height: 28px;
    background: linear-gradient(307deg, #fd514133 0%, #ffd71d4d 100%);
    border-radius: 6px;
    flex-shrink: 0;
    margin-top: 6px
}

.budget_plan .method_title {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
    color: #2D2D2D;
    margin: 0
}

.budget_plan .method_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 36px
}

.budget_plan .phase_card {
    background: #FFF;
    padding: 24px;
    border-radius: 6px;
    box-shadow: 0 4px 28px 0 #fd51411a;
    transition: box-shadow .12s cubic-bezier(0.4, 0, 1, 1), transform .11s cubic-bezier(0.4, 0, 1, 1);
    position: relative
}

.budget_plan .phase_card:hover {
    box-shadow: 0 9px 52px 0 #fd51411f;
    transform: translateY(-2px)
}

.budget_plan .phase_num {
    font-size: 50px;
    line-height: 1;
    font-weight: 700;
    color: #fd514126;
    margin: 0 0 12px
}

.budget_plan .phase_name {
    font-size: 17px;
    line-height: 1.2;
    font-weight: 700;
    color: #2D2D2D;
    margin: 0 0 12px
}

.budget_plan .phase_text {
    font-size: 13px;
    line-height: 1.7;
    color: #4A4A4A;
    margin: 0
}

.budget_plan .method_prose {
    font-size: 17px;
    line-height: 1.7;
    color: #4A4A4A;
    margin: 0 0 24px
}

.budget_plan .method_prose:last-child {
    margin-bottom: 0
}

.budget_plan .accent_word {
    border: 1px solid #01e8b180;
    padding: 0 6px;
    display: inline
}

.budget_plan .divider_zig_two {
    width: 100%;
    height: 52px;
    display: block
}

.budget_plan .expert_voices {
    padding: 72px 24px;
    background: #FFF;
    position: relative;
    overflow: hidden
}

.budget_plan .expert_voices::before {
    content: '';
    position: absolute;
    width: 14px;
    height: 14px;
    background: #ffd71d80;
    border-radius: 50%;
    top: 36px;
    right: 48px;
    pointer-events: none
}

.budget_plan .expert_voices::after {
    content: '';
    position: absolute;
    width: 22px;
    height: 22px;
    background: #fd51414d;
    border-radius: 50%;
    top: 52px;
    right: 72px;
    pointer-events: none
}

.budget_plan .lightning_pattern {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: .03;
    pointer-events: none;
    background-image: linear-gradient(135deg, transparent 48%, #fd5141ff 48%, #fd5141ff 52%, transparent 52%), linear-gradient(45deg, transparent 48%, #01e8b1ff 48%, #01e8b1ff 52%, transparent 52%);
    background-size: 120px 120px, 140px 140px;
    background-position: 0 0, 60px 70px
}

.budget_plan .expert_wrapper {
    max-width: 1040px;
    margin: 0 auto;
    position: relative;
    z-index: 2
}

.budget_plan .expert_header {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 36px
}

.budget_plan .circle_marker {
    width: 32px;
    height: 32px;
    border: 3px solid #ffd71d99;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 6px
}

.budget_plan .expert_heading {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
    color: #2D2D2D;
    margin: 0
}

.budget_plan .testimonials_row {
    display: flex;
    flex-direction: row;
    gap: 36px;
    align-items: flex-start
}

.budget_plan .testimonial_unit {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.budget_plan .profile_area {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px
}

.budget_plan .profile_pic {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 1px 5px 0 #01e8b10d
}

.budget_plan .profile_pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    opacity: 0;
    transition: opacity .16s cubic-bezier(0.4, 0, 1, 1)
}

.budget_plan .profile_pic img[src] {
    opacity: 1
}

.budget_plan .profile_info {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.budget_plan .profile_name {
    font-size: 17px;
    line-height: 1.2;
    font-weight: 700;
    color: #2D2D2D;
    margin: 0
}

.budget_plan .profile_role {
    font-size: 13px;
    line-height: 1.2;
    color: #6A6A6A;
    margin: 0
}

.budget_plan .quote_text {
    font-size: 17px;
    line-height: 1.7;
    color: #4A4A4A;
    margin: 0;
    background: linear-gradient(307deg, #fd51410a 0%, #01e8b10f 100%);
    padding: 24px;
    border-radius: 6px;
    border-left: 4px solid #01e8b166;
    position: relative
}

.budget_plan .visual_sample {
    width: 100%;
    height: auto;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 4px 28px 0 #fd51411a
}

.budget_plan .visual_sample img {
    width: 100%;
    height: auto;
    object-fit: cover;
    opacity: 0;
    transition: opacity .15s cubic-bezier(0.4, 0, 1, 1)
}

.budget_plan .visual_sample img[src] {
    opacity: 1
}

@media (max-width: 1024px) {
    .budget_plan .top_intro {
        flex-direction: column;
        gap: 36px;
        padding: 48px 24px
    }

    .budget_plan .text_zone {
        padding-right: 0
    }

    .budget_plan .image_strip {
        width: 100%;
        height: 320px
    }

    .budget_plan .method_grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .budget_plan .testimonials_row {
        flex-direction: column;
        gap: 36px
    }
}

@media (max-width: 768px) {
    .budget_plan .top_intro {
        padding: 36px 24px
    }

    .budget_plan .top_heading {
        font-size: 38px
    }

    .budget_plan .method_overview {
        padding: 48px 24px
    }

    .budget_plan .method_title {
        font-size: 38px
    }

    .budget_plan .method_grid {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .budget_plan .expert_voices {
        padding: 48px 24px
    }

    .budget_plan .expert_heading {
        font-size: 38px
    }
}

@media (max-width: 375px) {
    .budget_plan .top_intro {
        padding: 24px 12px
    }

    .budget_plan .top_heading {
        font-size: 38px
    }

    .budget_plan .method_overview {
        padding: 36px 12px
    }

    .budget_plan .method_container {
        padding: 0
    }

    .budget_plan .expert_voices {
        padding: 36px 12px
    }

    .budget_plan .quote_text {
        padding: 12px
    }
}

.budget_plan ::selection {
    background: #01e8b11a;
    color: inherit
}

.learn_prog {
    background: #fff;
    color: #1a1a1a;
    overflow-x: clip
}

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

.learn_prog .title_scene {
    position: relative;
    max-width: 1366px;
    margin: 0 auto;
    padding: 36px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
    background: linear-gradient(307deg, #fd51410a 0%, #01e8b10f 100%);
    overflow: visible
}

.learn_prog .title_scene::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.03'/%3E%3C/svg%3E");
    pointer-events: none;
    z-index: 1
}

.learn_prog .title_left {
    flex: 0 0 38%;
    z-index: 2
}

.learn_prog .title_right {
    flex: 0 0 58%;
    z-index: 2;
    position: relative
}

.learn_prog .title_img_wrap {
    width: 100%;
    position: relative
}

.learn_prog .title_img_wrap img {
    width: 100%;
    height: auto;
    display: block;
    opacity: .35;
    object-fit: cover;
    transition: opacity .14s cubic-bezier(0.4, 0, 1, 1)
}

.learn_prog .title_img_wrap img.loaded {
    opacity: .35
}

.learn_prog .title_main_text {
    font-size: 50px;
    line-height: 1.2;
    font-weight: 700;
    margin: 0 0 24px;
    color: #2a2a2a
}

.learn_prog .title_sub_text {
    font-size: 17px;
    line-height: 1.7;
    margin: 0;
    color: #4a4a4a
}

.learn_prog .curve_connector {
    position: absolute;
    top: 50%;
    left: 36%;
    width: 180px;
    height: 2px;
    pointer-events: none;
    z-index: 3
}

.learn_prog .curve_connector svg {
    width: 100%;
    height: 60px;
    position: absolute;
    top: -29px;
    left: 0
}

.learn_prog .curve_connector path {
    fill: none;
    stroke: #fd514140;
    stroke-width: 2
}

.learn_prog .catalog_wrap {
    max-width: 1366px;
    margin: 72px auto;
    padding: 0 24px
}

.learn_prog .catalog_heading {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
    margin: 0 0 36px;
    color: #2a2a2a;
    text-align: center
}

.learn_prog .catalog_grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 24px
}

.learn_prog .prog_card {
    background: #fff;
    border: 1px solid #fd51411f;
    border-radius: 6px;
    overflow: hidden;
    transition: transform .11s cubic-bezier(0.4, 0, 1, 1), box-shadow .11s cubic-bezier(0.4, 0, 1, 1);
    box-shadow: 0 1px 5px 0 #fd51410d;
    display: flex;
    flex-direction: column
}

.learn_prog .prog_card:hover {
    transform: translateY(-3px);
    box-shadow: 0 9px 52px 0 #fd51411f
}

.learn_prog .prog_card:active {
    transform: scale(0.98)
}

.learn_prog .card_img_zone {
    width: 100%;
    height: 200px;
    overflow: hidden;
    position: relative;
    background: #01e8b10a
}

.learn_prog .card_img_zone img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: opacity .16s ease-in;
    opacity: 0
}

.learn_prog .card_img_zone img.loaded {
    opacity: 1
}

.learn_prog .card_body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex-grow: 1
}

.learn_prog .card_label {
    display: inline-block;
    font-size: 13px;
    line-height: 1.2;
    padding: 6px 12px;
    background: #ffd71d26;
    color: #6a5a00;
    border-radius: 46px;
    margin: 0 0 12px;
    align-self: flex-start;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px
}

.learn_prog .card_title {
    font-size: 17px;
    line-height: 1.7;
    font-weight: 700;
    margin: 0 0 12px;
    color: #2a2a2a
}

.learn_prog .card_desc {
    font-size: 13px;
    line-height: 1.7;
    margin: 0 0 24px;
    color: #5a5a5a;
    flex-grow: 1
}

.learn_prog .card_meta_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 12px
}

.learn_prog .card_price {
    font-size: 17px;
    line-height: 1.2;
    font-weight: 700;
    color: #FD5141
}

.learn_prog .card_stats {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
    color: #7a7a7a
}

.learn_prog .stat_item {
    display: flex;
    align-items: center;
    gap: 6px
}

.learn_prog .stat_icon {
    width: 16px;
    height: 16px
}

.learn_prog .card_link_btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #FD5141;
    text-decoration: none;
    transition: gap .1s cubic-bezier(0.4, 0, 1, 1)
}

.learn_prog .card_link_btn:hover {
    gap: 12px
}

.learn_prog .card_link_btn svg {
    width: 16px;
    height: 16px;
    transition: transform .1s cubic-bezier(0.4, 0, 1, 1)
}

.learn_prog .card_link_btn:hover svg {
    transform: translateX(3px)
}

.learn_prog .divider_section {
    max-width: 1366px;
    margin: 72px auto;
    padding: 0 24px;
    position: relative
}

.learn_prog .divider_line {
    height: 1px;
    background: linear-gradient(307deg, #fd514133 0%, #01e8b133 100%);
    position: relative
}

.learn_prog .divider_text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    padding: 0 24px;
    font-size: 13px;
    font-weight: 600;
    color: #FD5141;
    text-transform: uppercase;
    letter-spacing: 1px
}

.learn_prog .benefits_zone {
    max-width: 1366px;
    margin: 72px auto;
    padding: 0 24px;
    background: linear-gradient(127deg, #01e8b10d 0%, #ffd71d14 100%);
    border-radius: 6px;
    padding: 72px 36px
}

.learn_prog .benefits_heading {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
    margin: 0 0 36px;
    color: #2a2a2a;
    position: relative;
    display: inline-block
}

.learn_prog .benefits_heading::before {
    content: '';
    position: absolute;
    left: -36px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    background: linear-gradient(307deg, #FD5141 0%, #01E8B1 100%);
    border-radius: 6px
}

.learn_prog .benefits_grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 36px
}

.learn_prog .benefit_item {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.learn_prog .benefit_icon_box {
    width: 48px;
    height: 48px;
    background: #fd51411a;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .12s cubic-bezier(0.4, 0, 1, 1)
}

.learn_prog .benefit_item:hover .benefit_icon_box {
    background: #fd514133
}

.learn_prog .benefit_icon_box svg {
    width: 24px;
    height: 24px;
    fill: #FD5141
}

.learn_prog .benefit_title {
    font-size: 17px;
    line-height: 1.2;
    font-weight: 700;
    margin: 0;
    color: #2a2a2a
}

.learn_prog .benefit_text {
    font-size: 13px;
    line-height: 1.7;
    margin: 0;
    color: #5a5a5a
}

.learn_prog .split_bg_section {
    position: relative;
    max-width: 1366px;
    margin: 72px auto;
    padding: 72px 24px;
    overflow: hidden
}

.learn_prog .split_bg_section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(127deg, #fd51410f 0%, #01e8b10a 50%, #ffd71d0f 100%);
    clip-path: polygon(0 0, 65% 0, 58% 100%, 0 100%);
    z-index: 0
}

.learn_prog .split_bg_section::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(307deg, #01e8b10a 0%, #fd51410f 100%);
    clip-path: polygon(65% 0, 100% 0, 100% 100%, 58% 100%);
    z-index: 0
}

.learn_prog .split_content_wrap {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 60% 40%;
    gap: 36px;
    align-items: center
}

.learn_prog .split_left_zone {
    padding: 36px
}

.learn_prog .split_heading {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
    margin: 0 0 24px;
    color: #2a2a2a
}

.learn_prog .split_text {
    font-size: 17px;
    line-height: 1.7;
    margin: 0 0 24px;
    color: #4a4a4a
}

.learn_prog .metric_display {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 24px;
    background: #fff9;
    border-radius: 6px;
    border: 1px solid #fd514126
}

.learn_prog .metric_number {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
    color: #FD5141
}

.learn_prog .metric_arrow {
    width: 24px;
    height: 24px
}

.learn_prog .metric_arrow svg {
    width: 100%;
    height: 100%;
    fill: #01E8B1
}

.learn_prog .metric_label {
    font-size: 13px;
    line-height: 1.7;
    color: #5a5a5a;
    flex: 1
}

.learn_prog .split_right_zone {
    padding: 24px
}

.learn_prog .chart_visual {
    width: 100%;
    height: 280px;
    position: relative
}

.learn_prog .chart_step {
    position: absolute;
    bottom: 0;
    background: linear-gradient(180deg, #fd5141b3 0%, #fd51414d 100%);
    border-radius: 6px 6px 0 0;
    transition: transform .18s cubic-bezier(0.4, 0, 1, 1)
}

.learn_prog .chart_step:hover {
    transform: scaleY(1.05)
}

.learn_prog .chart_step:nth-child(1) {
    left: 0;
    width: 22%;
    height: 28%
}

.learn_prog .chart_step:nth-child(2) {
    left: 26%;
    width: 22%;
    height: 52%
}

.learn_prog .chart_step:nth-child(3) {
    left: 52%;
    width: 22%;
    height: 76%
}

.learn_prog .chart_step:nth-child(4) {
    left: 78%;
    width: 22%;
    height: 100%
}

.learn_prog .testimonial_area {
    max-width: 1366px;
    margin: 72px auto;
    padding: 0 24px
}

.learn_prog .testimonial_heading {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
    margin: 0 0 36px;
    color: #2a2a2a;
    text-align: center
}

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

.learn_prog .testimonial_box {
    background: #fff;
    border: 1px solid #01e8b126;
    border-radius: 6px;
    padding: 24px;
    box-shadow: 0 1px 5px 0 #01e8b10d;
    transition: transform .14s cubic-bezier(0.4, 0, 1, 1), box-shadow .14s cubic-bezier(0.4, 0, 1, 1);
    display: flex;
    flex-direction: column;
    gap: 24px
}

.learn_prog .testimonial_box:hover {
    transform: scale(1.02);
    box-shadow: 0 4px 28px 0 #01e8b11a
}

.learn_prog .testimonial_box:active {
    transform: scale(0.97)
}

.learn_prog .testimonial_profile {
    display: flex;
    align-items: center;
    gap: 12px
}

.learn_prog .profile_img_wrap {
    width: 56px;
    height: 70px;
    overflow: hidden;
    flex-shrink: 0
}

.learn_prog .profile_img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block;
    transition: opacity .12s ease-in;
    opacity: 0
}

.learn_prog .profile_img_wrap img.loaded {
    opacity: 1
}

.learn_prog .profile_info {
    flex: 1
}

.learn_prog .profile_name {
    font-size: 17px;
    line-height: 1.2;
    font-weight: 700;
    margin: 0 0 6px;
    color: #2a2a2a
}

.learn_prog .profile_role {
    font-size: 13px;
    line-height: 1.2;
    margin: 0;
    color: #7a7a7a
}

.learn_prog .testimonial_quote {
    font-size: 13px;
    line-height: 1.7;
    margin: 0;
    color: #4a4a4a;
    font-style: italic
}

.learn_prog .approach_section {
    max-width: 1366px;
    margin: 72px auto;
    padding: 72px 36px;
    background: #fff;
    position: relative;
    overflow: hidden
}

.learn_prog .approach_section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(307deg, #ffd71d0f 0%, #fd51410a 100%);
    animation: gradient_shift 8s linear infinite;
    pointer-events: none
}

@keyframes gradient_shift {
    0% {
        background: linear-gradient(307deg, #ffd71d0f 0%, #fd51410a 100%)
    }

    50% {
        background: linear-gradient(127deg, #ffd71d0f 0%, #fd51410a 100%)
    }

    100% {
        background: linear-gradient(307deg, #ffd71d0f 0%, #fd51410a 100%)
    }
}

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

.learn_prog .approach_heading {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
    margin: 0 0 24px;
    color: #2a2a2a;
    text-align: center
}

.learn_prog .approach_intro {
    font-size: 17px;
    line-height: 1.7;
    margin: 0 0 36px;
    color: #4a4a4a;
    text-align: center
}

.learn_prog .steps_list {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.learn_prog .step_item {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    padding: 24px;
    background: #fffc;
    border-radius: 6px;
    border: 1px solid #fd51411a;
    transition: border-color .11s cubic-bezier(0.4, 0, 1, 1)
}

.learn_prog .step_item:hover {
    border-color: #fd51414d
}

.learn_prog .step_number {
    width: 36px;
    height: 36px;
    background: linear-gradient(307deg, #FD5141 0%, #FFD71D 100%);
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    flex-shrink: 0
}

.learn_prog .step_content {
    flex: 1
}

.learn_prog .step_title {
    font-size: 17px;
    line-height: 1.2;
    font-weight: 700;
    margin: 0 0 12px;
    color: #2a2a2a
}

.learn_prog .step_desc {
    font-size: 13px;
    line-height: 1.7;
    margin: 0;
    color: #5a5a5a
}

@media (max-width: 1024px) {
    .learn_prog .title_scene {
        flex-direction: column;
        padding: 36px 24px
    }

    .learn_prog .title_left,
    .learn_prog .title_right {
        flex: 1 1 100%
    }

    .learn_prog .curve_connector {
        display: none
    }

    .learn_prog .split_content_wrap {
        grid-template-columns: 1fr
    }

    .learn_prog .testimonial_row {
        grid-template-columns: 1fr
    }

    .learn_prog .catalog_grid {
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr))
    }
}

@media (max-width: 768px) {
    .learn_prog .title_main_text {
        font-size: 38px
    }

    .learn_prog .catalog_heading,
    .learn_prog .benefits_heading,
    .learn_prog .split_heading,
    .learn_prog .testimonial_heading,
    .learn_prog .approach_heading {
        font-size: 38px
    }

    .learn_prog .benefits_grid {
        grid-template-columns: 1fr
    }

    .learn_prog .catalog_grid {
        grid-template-columns: 1fr
    }
}

@media (max-width: 375px) {
    .learn_prog .title_scene {
        padding: 24px 12px
    }

    .learn_prog .catalog_wrap,
    .learn_prog .benefits_zone,
    .learn_prog .split_bg_section,
    .learn_prog .testimonial_area,
    .learn_prog .approach_section {
        padding-left: 12px;
        padding-right: 12px
    }

    .learn_prog .title_main_text {
        font-size: 38px
    }

    .learn_prog .card_body {
        padding: 12px
    }
}

.learn_prog ::selection {
    background: #fd51411a;
    color: inherit
}

.philanthropy_hub {
    background: #fff;
    color: #1a1a1a;
    max-width: 1366px;
    margin: 0 auto
}

.philanthropy_hub .split_intro {
    display: flex;
    align-items: stretch;
    min-height: 420px;
    position: relative;
    overflow: hidden;
    margin-bottom: 72px
}

.philanthropy_hub .left_zone {
    flex: 1;
    background: linear-gradient(307deg, #FD5141 0%, #FD5141 45%, #fd5141d9 100%);
    padding: 36px 36px 36px 72px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative
}

.philanthropy_hub .dot_pattern {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .12;
    background-image: radial-gradient(circle, #fff 1px, transparent 1px);
    background-size: 24px 24px;
    pointer-events: none
}

.philanthropy_hub .intro_text {
    position: relative;
    z-index: 2
}

.philanthropy_hub .intro_text h1 {
    font-size: 50px;
    line-height: 1.2;
    color: #fff;
    margin: 0 0 24px
}

.philanthropy_hub .intro_text h1 .underlined_word {
    border-bottom: 3px solid #FFD71D;
    padding-bottom: 6px;
    display: inline-block
}

.philanthropy_hub .intro_text p {
    font-size: 17px;
    line-height: 1.7;
    color: #fffffff2;
    margin: 0;
    max-width: 520px
}

.philanthropy_hub .right_zone {
    flex: 1;
    background: #01E8B1;
    position: relative;
    overflow: hidden
}

.philanthropy_hub .right_zone img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(0.7) brightness(1.05);
    opacity: 0;
    animation: fade_in_image .14s cubic-bezier(0.4, 0, 1, 1) .1s forwards
}

@keyframes fade_in_image {
    to {
        opacity: 1
    }
}

.philanthropy_hub .impact_showcase {
    padding: 72px 36px;
    background: linear-gradient(307deg, #01e8b114 0%, #01e8b114 45%, #ffd71d0f 100%);
    position: relative
}

.philanthropy_hub .impact_showcase::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 100%;
    background: linear-gradient(307deg, #01e8b114 0%, #01e8b114 45%, #ffd71d0f 100%);
    z-index: -1
}

.philanthropy_hub .impact_wrapper {
    max-width: 1366px;
    margin: 0 auto
}

.philanthropy_hub .impact_header {
    text-align: center;
    margin-bottom: 72px;
    position: relative
}

.philanthropy_hub .large_abbr {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 180px;
    font-weight: 700;
    color: #fd51410f;
    line-height: 1;
    pointer-events: none;
    user-select: none
}

.philanthropy_hub .impact_header h2 {
    font-size: 38px;
    line-height: 1.2;
    color: #2a2a2a;
    margin: 0 0 24px;
    position: relative;
    z-index: 2
}

.philanthropy_hub .impact_header h2::before {
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    background: #FD5141;
    margin-right: 12px;
    vertical-align: middle;
    transform: rotate(45deg)
}

.philanthropy_hub .impact_header p {
    font-size: 17px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0 auto;
    max-width: 680px;
    position: relative;
    z-index: 2
}

.philanthropy_hub .three_column_grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1.4fr;
    gap: 36px;
    margin-bottom: 72px
}

.philanthropy_hub .initiative_card {
    background: #fff;
    border-radius: 6px;
    padding: 36px;
    box-shadow: 0 4px 28px 0 #fd51411a;
    transition: transform .12s cubic-bezier(0.4, 0, 1, 1), box-shadow .12s cubic-bezier(0.4, 0, 1, 1);
    position: relative;
    overflow: hidden
}

.philanthropy_hub .initiative_card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(307deg, #FD5141 0%, #FD5141 45%, #01E8B1 100%);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .16s cubic-bezier(0.4, 0, 1, 1)
}

.philanthropy_hub .initiative_card:hover {
    transform: translateY(-6px);
    box-shadow: 0 9px 52px 0 #fd51411f
}

.philanthropy_hub .initiative_card:hover::after {
    transform: scaleX(1)
}

.philanthropy_hub .initiative_card h3 {
    font-size: 17px;
    line-height: 1.2;
    color: #2a2a2a;
    margin: 0 0 12px;
    font-weight: 600
}

.philanthropy_hub .initiative_card p {
    font-size: 13px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0
}

.philanthropy_hub .metrics_row {
    display: flex;
    justify-content: center;
    gap: 72px;
    flex-wrap: wrap
}

.philanthropy_hub .metric_item {
    text-align: center;
    position: relative
}

.philanthropy_hub .metric_circle {
    width: 96px;
    height: 96px;
    border-radius: 46px;
    background: linear-gradient(307deg, #fd51411f 0%, #fd51411f 45%, #01e8b11f 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px;
    position: relative;
    overflow: hidden
}

.philanthropy_hub .metric_circle::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(307deg, #01e8b12e 0%, #01e8b12e 45%, #ffd71d2e 100%);
    opacity: 0;
    transition: opacity .14s cubic-bezier(0.4, 0, 1, 1)
}

.philanthropy_hub .metric_item:hover .metric_circle::before {
    opacity: 1
}

.philanthropy_hub .metric_value {
    font-size: 38px;
    line-height: 1;
    color: #FD5141;
    font-weight: 700;
    position: relative;
    z-index: 2
}

.philanthropy_hub .metric_label {
    font-size: 13px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0
}

.philanthropy_hub .story_section {
    padding: 72px 36px;
    background: #fff
}

.philanthropy_hub .story_layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    align-items: start;
    max-width: 1366px;
    margin: 0 auto
}

.philanthropy_hub .story_content h2 {
    font-size: 38px;
    line-height: 1.2;
    color: #2a2a2a;
    margin: 0 0 24px;
    position: relative;
    display: inline-block
}

.philanthropy_hub .story_content h2::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -36px;
    transform: translateY(-50%);
    width: 24px;
    height: 2px;
    background: #01E8B1
}

.philanthropy_hub .story_content p {
    font-size: 17px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0 0 24px
}

.philanthropy_hub .story_content p:last-child {
    margin-bottom: 0
}

.philanthropy_hub .highlight_word {
    border: 2px solid #FD5141;
    padding: 0 6px;
    border-radius: 6px;
    display: inline-block
}

.philanthropy_hub .featured_testimonial {
    background: linear-gradient(307deg, #ffd71d1a 0%, #ffd71d1a 45%, #01e8b114 100%);
    border-radius: 6px;
    padding: 36px;
    box-shadow: 0 1px 5px 0 #01e8b10d;
    position: relative
}

.philanthropy_hub .featured_testimonial::before {
    content: '';
    position: absolute;
    top: 24px;
    left: 24px;
    width: 48px;
    height: 48px;
    background: #fd514126;
    border-radius: 46px;
    z-index: 0
}

.philanthropy_hub .testimonial_text {
    font-size: 17px;
    line-height: 1.7;
    color: #2a2a2a;
    margin: 0 0 24px;
    font-style: italic;
    position: relative;
    z-index: 1
}

.philanthropy_hub .testimonial_author {
    font-size: 13px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0;
    font-weight: 600;
    position: relative;
    z-index: 1
}

.philanthropy_hub .testimonial_role {
    font-size: 13px;
    line-height: 1.7;
    color: #5a5a5a;
    margin: 0;
    position: relative;
    z-index: 1
}

.philanthropy_hub .direction_arrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 12px
}

.philanthropy_hub .arrow_number {
    font-size: 17px;
    line-height: 1;
    color: #FD5141;
    font-weight: 700
}

.philanthropy_hub .arrow_svg {
    width: 32px;
    height: 12px
}

.philanthropy_hub .arrow_svg path {
    fill: #01E8B1
}

.philanthropy_hub .divider_asymmetric {
    width: 100%;
    height: 2px;
    background: linear-gradient(to right, #FD5141 0%, #FD5141 72%, transparent 72%);
    margin: 72px 0;
    opacity: .3
}

.philanthropy_hub .rotating_card {
    animation: rotate_settle .18s cubic-bezier(0.4, 0, 1, 1) forwards;
    transform-origin: center
}

@keyframes rotate_settle {
    0% {
        transform: rotate(-3deg);
        opacity: 0
    }

    100% {
        transform: rotate(0deg);
        opacity: 1
    }
}

.philanthropy_hub .char_reveal {
    display: inline-block;
    opacity: 0;
    animation: char_appear .08s cubic-bezier(0.4, 0, 1, 1) forwards
}

.philanthropy_hub .char_reveal:nth-child(1) {
    animation-delay: .02s
}

.philanthropy_hub .char_reveal:nth-child(2) {
    animation-delay: .04s
}

.philanthropy_hub .char_reveal:nth-child(3) {
    animation-delay: .06s
}

.philanthropy_hub .char_reveal:nth-child(4) {
    animation-delay: .08s
}

.philanthropy_hub .char_reveal:nth-child(5) {
    animation-delay: .1s
}

.philanthropy_hub .char_reveal:nth-child(6) {
    animation-delay: .12s
}

.philanthropy_hub .char_reveal:nth-child(7) {
    animation-delay: .14s
}

.philanthropy_hub .char_reveal:nth-child(8) {
    animation-delay: .16s
}

.philanthropy_hub .char_reveal:nth-child(9) {
    animation-delay: .18s
}

.philanthropy_hub .char_reveal:nth-child(10) {
    animation-delay: .2s
}

.philanthropy_hub .char_reveal:nth-child(11) {
    animation-delay: .22s
}

.philanthropy_hub .char_reveal:nth-child(12) {
    animation-delay: .24s
}

.philanthropy_hub .char_reveal:nth-child(13) {
    animation-delay: .26s
}

.philanthropy_hub .char_reveal:nth-child(14) {
    animation-delay: .28s
}

.philanthropy_hub .char_reveal:nth-child(15) {
    animation-delay: .3s
}

@keyframes char_appear {
    to {
        opacity: 1
    }
}

@media (max-width: 1024px) {
    .philanthropy_hub .split_intro {
        flex-direction: column;
        min-height: auto
    }

    .philanthropy_hub .left_zone {
        padding: 36px
    }

    .philanthropy_hub .right_zone {
        min-height: 360px
    }

    .philanthropy_hub .three_column_grid {
        grid-template-columns: 1fr
    }

    .philanthropy_hub .story_layout {
        grid-template-columns: 1fr;
        gap: 36px
    }

    .philanthropy_hub .large_abbr {
        font-size: 120px
    }
}

@media (max-width: 768px) {
    .philanthropy_hub .intro_text h1 {
        font-size: 38px
    }

    .philanthropy_hub .impact_header h2,
    .philanthropy_hub .story_content h2 {
        font-size: 38px
    }

    .philanthropy_hub .metrics_row {
        gap: 36px
    }

    .philanthropy_hub .large_abbr {
        font-size: 84px
    }

    .philanthropy_hub .impact_showcase,
    .philanthropy_hub .story_section {
        padding: 36px 24px
    }
}

@media (max-width: 375px) {
    .philanthropy_hub .intro_text h1 {
        font-size: 38px
    }

    .philanthropy_hub .left_zone {
        padding: 24px
    }

    .philanthropy_hub .initiative_card {
        padding: 24px
    }
}

.a_propos {
    background: #fff;
    color: #1a1a1a;
    max-width: 1366px;
    margin: 0 auto;
    overflow-x: clip
}

.a_propos .radial_spotlight {
    position: relative;
    background: radial-gradient(circle at 12% 18%, #fd514114 0%, #ffd71d0a 35%, #fff0 68%);
    padding: 72px 24px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: start;
    overflow: hidden
}

.a_propos .radial_spotlight::before {
    content: '';
    position: absolute;
    top: 24px;
    right: 24px;
    width: 180px;
    height: 180px;
    border: 2px solid #01e8b126;
    border-radius: 46px;
    transform: rotate(12deg);
    pointer-events: none
}

.a_propos .radial_spotlight::after {
    content: '';
    position: absolute;
    bottom: 36px;
    left: 48px;
    width: 120px;
    height: 120px;
    background: #ffd71d14;
    border-radius: 50%;
    pointer-events: none
}

.a_propos .text_zone {
    padding: 36px 24px 36px 48px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    opacity: 0;
    animation: slide_in_text .14s cubic-bezier(0.4, 0, 1, 1) .1s forwards
}

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

    from {
        opacity: 0;
        transform: translateY(24px)
    }
}

.a_propos .main_heading {
    font-size: 50px;
    line-height: 1.2;
    font-weight: 700;
    color: #2a2a2a;
    margin: 0
}

.a_propos .accent_word {
    display: inline-block;
    border: 2px solid #FD5141;
    padding: 6px 12px;
    border-radius: 6px;
    color: #FD5141
}

.a_propos .intro_text {
    font-size: 17px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0
}

.a_propos .image_zone {
    padding: 24px 48px 24px 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    animation: fade_in_image .16s cubic-bezier(0.4, 0, 1, 1) .25s forwards
}

@keyframes fade_in_image {
    to {
        opacity: 1
    }

    from {
        opacity: 0
    }
}

.a_propos .warm_image {
    width: 100%;
    height: auto;
    border-radius: 6px;
    object-fit: cover;
    filter: sepia(0.08) saturate(1.15) brightness(1.02);
    box-shadow: 0 9px 52px 0 #fd51411f
}

.a_propos .dual_column_blocks {
    padding: 72px 24px;
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 36px;
    align-items: start;
    background: linear-gradient(307deg, #01e8b10f 0%, #01e8b105 45%, #fff0 100%);
    clip-path: polygon(0 0, 100% 4%, 100% 100%, 0 100%);
    position: relative
}

.a_propos .shorter_block {
    background: #fff;
    border-radius: 6px;
    padding: 36px;
    box-shadow: 0 4px 28px 0 #01e8b11a;
    position: relative;
    opacity: 0;
    animation: appear_left .12s cubic-bezier(0.4, 0, 1, 1) .4s forwards
}

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

    from {
        opacity: 0;
        transform: translateY(36px)
    }
}

.a_propos .shorter_block::before {
    content: '';
    position: absolute;
    top: -12px;
    right: 24px;
    width: 60px;
    height: 60px;
    background: #fd51411f;
    border-radius: 50%;
    pointer-events: none
}

.a_propos .block_heading_small {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
    color: #2a2a2a;
    margin: 0 0 24px;
    display: flex;
    align-items: center;
    gap: 12px
}

.a_propos .geo_marker {
    width: 24px;
    height: 24px;
    background: linear-gradient(307deg, #FD5141 0%, #FFD71D 100%);
    border-radius: 50%;
    flex-shrink: 0
}

.a_propos .block_text {
    font-size: 17px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0 0 24px
}

.a_propos .block_text:last-child {
    margin-bottom: 0
}

.a_propos .taller_block {
    background: #fff;
    border-radius: 6px;
    padding: 48px;
    box-shadow: 0 4px 28px 0 #fd51411a;
    display: flex;
    flex-direction: column;
    gap: 24px;
    opacity: 0;
    animation: appear_right .15s cubic-bezier(0.4, 0, 1, 1) .5s forwards
}

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

    from {
        opacity: 0;
        transform: translateY(48px)
    }
}

.a_propos .block_heading_medium {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
    color: #2a2a2a;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 12px
}

.a_propos .geo_square {
    width: 24px;
    height: 24px;
    background: linear-gradient(307deg, #01E8B1 0%, #FFD71D 100%);
    border-radius: 6px;
    flex-shrink: 0
}

.a_propos .icon_list_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin: 12px 0 0
}

.a_propos .list_item {
    display: flex;
    gap: 12px;
    align-items: start
}

.a_propos .item_icon {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    border-radius: 50%;
    background: linear-gradient(307deg, #fd51411f 0%, #01e8b114 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    color: #FD5141
}

.a_propos .item_content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px
}

.a_propos .item_label {
    font-size: 17px;
    line-height: 1.2;
    font-weight: 700;
    color: #2a2a2a;
    margin: 0
}

.a_propos .item_description {
    font-size: 13px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0
}

.a_propos .centered_density {
    padding: 72px 24px;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 48px;
    position: relative
}

.a_propos .centered_density::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 240px;
    height: 4px;
    background: linear-gradient(90deg, #fd514100 0%, #fd514166 50%, #fd514100 100%)
}

.a_propos .dense_container {
    max-width: 900px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 36px;
    padding: 36px 72px;
    background: linear-gradient(307deg, #ffd71d0a 0%, #01e8b10f 55%, #fff0 100%);
    border-radius: 6px;
    opacity: 0;
    animation: scale_in .18s cubic-bezier(0.4, 0, 1, 1) .6s forwards
}

@keyframes scale_in {
    to {
        opacity: 1;
        transform: scale(1)
    }

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

.a_propos .center_heading {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
    color: #2a2a2a;
    margin: 0;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px
}

.a_propos .geo_triangle {
    width: 0;
    height: 0;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
    border-bottom: 24px solid #01E8B1
}

.a_propos .stats_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px
}

.a_propos .stat_card {
    background: #fff;
    padding: 24px;
    border-radius: 6px;
    box-shadow: 0 1px 5px 0 #01e8b10d;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    text-align: center;
    transition: transform .11s cubic-bezier(0.4, 0, 1, 1), box-shadow .11s cubic-bezier(0.4, 0, 1, 1);
    position: relative
}

.a_propos .stat_card:hover {
    transform: translateY(-6px);
    box-shadow: 0 9px 52px 0 #01e8b11f
}

.a_propos .stat_badge {
    position: absolute;
    top: -12px;
    right: -12px;
    width: 32px;
    height: 32px;
    background: linear-gradient(307deg, #FD5141 0%, #FFD71D 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    box-shadow: 0 4px 28px 0 #fd51411a
}

.a_propos .stat_value {
    font-size: 50px;
    line-height: 1.2;
    font-weight: 700;
    color: #FD5141;
    margin: 0
}

.a_propos .stat_label {
    font-size: 17px;
    line-height: 1.2;
    font-weight: 600;
    color: #2a2a2a;
    margin: 0
}

.a_propos .stat_detail {
    font-size: 13px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0
}

.a_propos .team_showcase {
    padding: 72px 24px;
    background: linear-gradient(307deg, #fd51410a 0%, #ffd71d0f 65%, #fff0 100%);
    display: flex;
    flex-direction: column;
    gap: 48px;
    clip-path: polygon(0 0, 100% 0, 100% 96%, 0 100%)
}

.a_propos .team_intro {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 24px;
    opacity: 0;
    animation: fade_up .13s cubic-bezier(0.4, 0, 1, 1) .7s forwards
}

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

    from {
        opacity: 0;
        transform: translateY(24px)
    }
}

.a_propos .team_heading {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
    color: #2a2a2a;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px
}

.a_propos .geo_hexagon {
    width: 24px;
    height: 28px;
    background: #FFD71D;
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%)
}

.a_propos .team_description {
    font-size: 17px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0
}

.a_propos .team_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px;
    max-width: 1100px;
    margin: 0 auto;
    width: 100%
}

.a_propos .member_card {
    background: #fff;
    border-radius: 6px;
    padding: 36px;
    box-shadow: 0 4px 28px 0 #fd51411a;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    text-align: center;
    opacity: 0;
    animation: appear_stagger_1 .14s cubic-bezier(0.4, 0, 1, 1) .8s forwards;
    position: relative;
    overflow: hidden
}

.a_propos .member_card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #FD5141 0%, #01E8B1 50%, #FFD71D 100%)
}

.a_propos .member_card:nth-child(2) {
    animation: appear_stagger_2 .14s cubic-bezier(0.4, 0, 1, 1) .9s forwards
}

.a_propos .member_card:nth-child(3) {
    animation: appear_stagger_3 .14s cubic-bezier(0.4, 0, 1, 1) 1s forwards
}

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

    from {
        opacity: 0;
        transform: translateY(24px)
    }
}

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

    from {
        opacity: 0;
        transform: translateY(36px)
    }
}

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

    from {
        opacity: 0;
        transform: translateY(48px)
    }
}

.a_propos .portrait_wrapper {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 4px 28px 0 #01e8b11a;
    position: relative
}

.a_propos .portrait_wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 3px solid #01e8b133;
    border-radius: 50%;
    pointer-events: none
}

.a_propos .member_portrait {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top
}

.a_propos .member_name {
    font-size: 17px;
    line-height: 1.2;
    font-weight: 700;
    color: #2a2a2a;
    margin: 0
}

.a_propos .member_role {
    font-size: 13px;
    line-height: 1.7;
    color: #FD5141;
    margin: 0;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em
}

.a_propos .member_bio {
    font-size: 13px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0
}

.a_propos .placeholder_member {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px
}

.a_propos .placeholder_avatar {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: linear-gradient(307deg, #01e8b11f 0%, #ffd71d14 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 50px;
    color: #fd51414d;
    font-weight: 700;
    box-shadow: 0 4px 28px 0 #01e8b11a
}

.a_propos .curved_accent {
    position: absolute;
    bottom: -24px;
    right: -24px;
    width: 120px;
    height: 120px;
    pointer-events: none
}

.a_propos .curved_accent svg {
    width: 100%;
    height: 100%
}

.a_propos .link_inline {
    color: #FD5141;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: border-bottom-color .1s cubic-bezier(0.4, 0, 1, 1);
    font-weight: 600
}

.a_propos .link_inline:hover {
    border-bottom-color: #FD5141
}

.a_propos .link_inline:focus {
    outline: 2px solid #01E8B1;
    outline-offset: 2px;
    border-radius: 2px
}

@media (max-width: 1024px) {
    .a_propos .radial_spotlight {
        grid-template-columns: 1fr;
        padding: 48px 24px
    }

    .a_propos .text_zone {
        padding: 24px
    }

    .a_propos .image_zone {
        padding: 24px
    }

    .a_propos .dual_column_blocks {
        grid-template-columns: 1fr;
        padding: 48px 24px
    }

    .a_propos .icon_list_grid {
        grid-template-columns: 1fr
    }

    .a_propos .stats_grid {
        grid-template-columns: 1fr
    }

    .a_propos .team_grid {
        grid-template-columns: 1fr
    }

    .a_propos .dense_container {
        padding: 24px 36px
    }
}

@media (max-width: 768px) {
    .a_propos .main_heading {
        font-size: 38px
    }

    .a_propos .block_heading_small,
    .a_propos .block_heading_medium,
    .a_propos .center_heading,
    .a_propos .team_heading {
        font-size: 38px
    }

    .a_propos .stat_value {
        font-size: 38px
    }

    .a_propos .radial_spotlight {
        padding: 36px 24px
    }

    .a_propos .dual_column_blocks {
        padding: 36px 24px
    }

    .a_propos .centered_density {
        padding: 48px 24px
    }

    .a_propos .team_showcase {
        padding: 48px 24px
    }

    .a_propos .dense_container {
        padding: 24px
    }

    .a_propos .shorter_block,
    .a_propos .taller_block {
        padding: 24px
    }
}

@media (max-width: 375px) {
    .a_propos .main_heading {
        font-size: 38px
    }

    .a_propos .intro_text,
    .a_propos .block_text,
    .a_propos .team_description {
        font-size: 17px
    }

    .a_propos .radial_spotlight {
        padding: 24px 12px
    }

    .a_propos .text_zone {
        padding: 12px
    }

    .a_propos .image_zone {
        padding: 12px
    }
}

.contact_hub {
    background: #fff;
    color: #1a1a1a;
    max-width: 1366px;
    margin: 0 auto;
    overflow-x: clip
}

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

.contact_hub .intro_visual {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0;
    padding: 72px 24px;
    background: linear-gradient(307deg, #fff 0%, #01e8b114 45%, #01e8b126 100%);
    position: relative
}

.contact_hub .intro_visual::before {
    content: '';
    position: absolute;
    top: 12px;
    left: 12px;
    right: 12px;
    bottom: 12px;
    border: 2px dotted #fd514133;
    pointer-events: none;
    z-index: 1
}

.contact_hub .intro_visual::after {
    content: '';
    position: absolute;
    top: 24px;
    left: 24px;
    width: 6px;
    height: 6px;
    background: #fd514166;
    border-radius: 46px;
    pointer-events: none;
    z-index: 2
}

.contact_hub .text_zone {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-right: 36px;
    z-index: 2
}

.contact_hub .heading_prime {
    font-size: 50px;
    line-height: 1.2;
    margin: 0 0 24px;
    font-weight: 700;
    color: #2a2a2a;
    opacity: 0;
    animation: drop_in .14s cubic-bezier(0.4, 0, 1, 1) .1s forwards
}

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

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

.contact_hub .desc_prime {
    font-size: 17px;
    line-height: 1.7;
    margin: 0;
    color: #4a4a4a;
    opacity: 0;
    animation: drop_in .14s cubic-bezier(0.4, 0, 1, 1) .2s forwards
}

.contact_hub .image_strip {
    width: 320px;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    border-radius: 6px;
    z-index: 2
}

.contact_hub .image_strip::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(307deg, #fd514126 0%, #01e8b11f 100%);
    z-index: 1;
    pointer-events: none
}

.contact_hub .strip_visual {
    width: 100%;
    height: 100%;
    background: linear-gradient(307deg, #fd514140 0%, #01e8b133 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative
}

.contact_hub .strip_visual::before {
    content: '';
    position: absolute;
    width: 120px;
    height: 120px;
    border-radius: 46px;
    background: #ffd71d4d;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.contact_hub .strip_visual::after {
    content: '';
    position: absolute;
    width: 60px;
    height: 60px;
    border-radius: 46px;
    background: #fd514166;
    top: 30%;
    left: 30%;
    transform: translate(-50%, -50%)
}

.contact_hub .form_arena {
    padding: 72px 24px;
    background: #fafbfc;
    position: relative
}

.contact_hub .form_arena::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle at 100% 0%, #01e8b108 0%, transparent 70%);
    pointer-events: none;
    opacity: 0;
    animation: fade_in_pattern .18s cubic-bezier(0.4, 0, 1, 1) .3s forwards
}

@keyframes fade_in_pattern {
    to {
        opacity: 1
    }
}

.contact_hub .form_arena::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #fd514133 6px, transparent 6px, transparent 12px, #fd514133 12px, transparent 12px, transparent 24px, #fd514133 24px, transparent 24px, transparent 36px, #fd514133 36px, transparent 36px, transparent 48px, #fd514133 48px, transparent 48px);
    background-size: 48px 1px
}

.contact_hub .form_contain {
    max-width: 720px;
    margin: 0 auto
}

.contact_hub .form_heading {
    font-size: 38px;
    line-height: 1.2;
    margin: 0 0 12px;
    font-weight: 700;
    color: #2a2a2a;
    position: relative;
    padding-left: 48px
}

.contact_hub .form_heading::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    background: linear-gradient(307deg, #fd514126 0%, #01e8b126 100%);
    border-radius: 6px
}

.contact_hub .form_intro {
    font-size: 17px;
    line-height: 1.7;
    margin: 0 0 36px;
    color: #4a4a4a
}

.contact_hub .contact_form {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.contact_hub .name_row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px
}

.contact_hub .field_wrap {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.contact_hub .field_label {
    font-size: 13px;
    line-height: 1.2;
    font-weight: 600;
    color: #3a3a3a;
    text-transform: uppercase;
    letter-spacing: .05em
}

.contact_hub .field_input {
    padding: 12px;
    border: 2px solid #fd514133;
    border-radius: 6px;
    font-size: 17px;
    line-height: 1.7;
    color: #2a2a2a;
    background: #fff;
    transition: border-color .12s cubic-bezier(0.4, 0, 1, 1), box-shadow .12s cubic-bezier(0.4, 0, 1, 1)
}

.contact_hub .field_input:focus {
    outline: none;
    border-color: #fd514199;
    box-shadow: 0 4px 28px 0 #fd51411a
}

.contact_hub .field_input::placeholder {
    color: #999;
    font-style: italic
}

.contact_hub .radio_group {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.contact_hub .radio_options {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 12px;
    background: #fff;
    border: 2px solid #01e8b133;
    border-radius: 6px
}

.contact_hub .radio_item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    padding: 12px;
    border-radius: 6px;
    transition: background-color .1s cubic-bezier(0.4, 0, 1, 1)
}

.contact_hub .radio_item:hover {
    background: #01e8b10d
}

.contact_hub .radio_input {
    width: 20px;
    height: 20px;
    margin: 0;
    cursor: pointer;
    accent-color: #01E8B1
}

.contact_hub .radio_label {
    font-size: 17px;
    line-height: 1.7;
    color: #2a2a2a;
    cursor: pointer;
    flex: 1
}

.contact_hub .checkbox_wrap {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    padding: 12px;
    background: #ffd71d14;
    border-radius: 6px;
    border: 2px solid #ffd71d33
}

.contact_hub .checkbox_input {
    width: 20px;
    height: 20px;
    margin: 0;
    cursor: pointer;
    flex-shrink: 0;
    margin-top: 2px;
    accent-color: #FFD71D
}

.contact_hub .checkbox_label {
    font-size: 13px;
    line-height: 1.7;
    color: #3a3a3a;
    cursor: pointer
}

.contact_hub .checkbox_label a {
    color: #FD5141;
    text-decoration: none;
    border-bottom: 1px solid #fd51414d;
    transition: border-color .1s cubic-bezier(0.4, 0, 1, 1)
}

.contact_hub .checkbox_label a:hover {
    border-color: #fd5141cc
}

.contact_hub .submit_btn {
    padding: 12px 36px;
    background: linear-gradient(307deg, #FD5141 0%, #fd5141d9 100%);
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 17px;
    line-height: 1.7;
    font-weight: 600;
    cursor: pointer;
    transition: background .12s cubic-bezier(0.4, 0, 1, 1), box-shadow .12s cubic-bezier(0.4, 0, 1, 1), transform .1s cubic-bezier(0.4, 0, 1, 1);
    align-self: flex-start
}

.contact_hub .submit_btn:hover {
    background: linear-gradient(307deg, #fd5141d9 0%, #FD5141 100%);
    box-shadow: 0 9px 52px 0 #fd51411f;
    transform: translateY(-1px)
}

.contact_hub .submit_btn:active {
    transform: translateY(0)
}

.contact_hub .details_grid {
    padding: 72px 24px;
    background: #2a2a2a;
    color: #fff;
    position: relative;
    overflow: hidden
}

.contact_hub .details_grid::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(circle, #01e8b126 1px, transparent 1px), radial-gradient(circle, #01e8b11a 2px, transparent 2px), radial-gradient(circle, #fd51411f 1.5px, transparent 1.5px);
    background-size: 48px 48px, 72px 72px, 96px 96px;
    background-position: 0 0, 24px 24px, 48px 48px;
    opacity: .4;
    pointer-events: none
}

.contact_hub .details_contain {
    max-width: 960px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.contact_hub .details_heading {
    font-size: 38px;
    line-height: 1.2;
    margin: 0 0 36px;
    font-weight: 700;
    color: #fff;
    text-align: center
}

.contact_hub .cards_row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px
}

.contact_hub .detail_card {
    background: #ffffff0d;
    border: 2px solid #01e8b133;
    border-radius: 6px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: background .14s cubic-bezier(0.4, 0, 1, 1), border-color .14s cubic-bezier(0.4, 0, 1, 1), transform .12s cubic-bezier(0.4, 0, 1, 1);
    position: relative
}

.contact_hub .detail_card::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(307deg, #fd51414d 0%, #01e8b14d 100%);
    border-radius: 6px;
    opacity: 0;
    transition: opacity .14s cubic-bezier(0.4, 0, 1, 1);
    pointer-events: none;
    z-index: -1
}

.contact_hub .detail_card:hover {
    background: #ffffff14;
    border-color: #01e8b166;
    transform: translateY(-2px)
}

.contact_hub .detail_card:hover::before {
    opacity: 1
}

.contact_hub .card_icon {
    width: 36px;
    height: 36px;
    border-radius: 46px;
    background: linear-gradient(307deg, #fd514133 0%, #01e8b133 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.contact_hub .card_icon svg {
    width: 20px;
    height: 20px;
    fill: #01E8B1
}

.contact_hub .card_label {
    font-size: 13px;
    line-height: 1.2;
    font-weight: 600;
    color: #ffffffb3;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin: 0
}

.contact_hub .card_value {
    font-size: 17px;
    line-height: 1.7;
    color: #fff;
    margin: 0;
    word-break: break-word
}

.contact_hub .card_value a {
    color: #01E8B1;
    text-decoration: none;
    border-bottom: 1px solid #01e8b14d;
    transition: border-color .1s cubic-bezier(0.4, 0, 1, 1)
}

.contact_hub .card_value a:hover {
    border-color: #01e8b1cc
}

@media (max-width: 1024px) {
    .contact_hub .intro_visual {
        flex-direction: column;
        gap: 36px
    }

    .contact_hub .text_zone {
        padding-right: 0
    }

    .contact_hub .image_strip {
        width: 100%;
        height: 240px
    }

    .contact_hub .cards_row {
        grid-template-columns: 1fr
    }
}

@media (max-width: 768px) {
    .contact_hub .intro_visual {
        padding: 36px 24px
    }

    .contact_hub .heading_prime {
        font-size: 38px
    }

    .contact_hub .desc_prime {
        font-size: 17px
    }

    .contact_hub .form_arena {
        padding: 36px 24px
    }

    .contact_hub .form_heading {
        font-size: 38px;
        padding-left: 0
    }

    .contact_hub .form_heading::before {
        display: none
    }

    .contact_hub .name_row {
        grid-template-columns: 1fr
    }

    .contact_hub .details_grid {
        padding: 36px 24px
    }

    .contact_hub .details_heading {
        font-size: 38px
    }
}

@media (max-width: 375px) {
    .contact_hub .intro_visual {
        padding: 24px 12px
    }

    .contact_hub .heading_prime {
        font-size: 38px
    }

    .contact_hub .form_arena {
        padding: 24px 12px
    }

    .contact_hub .details_grid {
        padding: 24px 12px
    }

    .contact_hub .submit_btn {
        width: 100%
    }
}

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

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

.front_pg img {
    opacity: 0;
    transition: opacity .14s cubic-bezier(0.4, 0, 1, 1)
}

.front_pg img.loaded {
    opacity: 1
}

.front_pg ::selection {
    background: #fd51411a
}

.front_pg .tl_zone {
    position: relative;
    padding: 72px 24px;
    text-align: center;
    background: linear-gradient(307deg, #fd514114 0%, #01e8b10a 45%, #fff 100%)
}

.front_pg .tl_zone::before,
.front_pg .tl_zone::after {
    content: '';
    position: absolute;
    border: 1px solid #fd51411f;
    pointer-events: none
}

.front_pg .tl_zone::before {
    top: 24px;
    right: 24px;
    width: 120px;
    height: 120px;
    border-radius: 6px
}

.front_pg .tl_zone::after {
    top: 30px;
    right: 30px;
    width: 108px;
    height: 108px;
    border-radius: 6px
}

.front_pg .tl_img_hold {
    max-width: 680px;
    margin: 0 auto 36px;
    border-radius: 6px;
    overflow: hidden;
    position: relative
}

.front_pg .tl_img_hold::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fd51412e;
    pointer-events: none;
    mix-blend-mode: multiply
}

.front_pg .tl_img_hold img {
    width: 100%;
    height: auto;
    display: block
}

.front_pg .tl_txt_wrap {
    max-width: 720px;
    margin: 0 auto
}

.front_pg .tl_h1 {
    font-size: 50px;
    line-height: 1.2;
    margin: 0 0 24px;
    color: #1a1a2e;
    font-weight: 700
}

.front_pg .tl_desc {
    font-size: 17px;
    line-height: 1.7;
    margin: 0 0 36px;
    color: #3d3d5c
}

.front_pg .tl_actions {
    display: flex;
    gap: 24px;
    justify-content: center;
    flex-wrap: wrap
}

.front_pg .tl_link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 17px;
    color: #FD5141;
    text-decoration: none;
    padding: 12px 24px;
    border: 2px solid #FD5141;
    border-radius: 46px;
    background: linear-gradient(307deg, #fd514114, #01e8b114);
    transition: background .12s cubic-bezier(0.4, 0, 1, 1), transform .1s cubic-bezier(0.4, 0, 1, 1)
}

.front_pg .tl_link:hover {
    background: linear-gradient(340deg, #fd514124, #01e8b124);
    transform: translateY(-1px)
}

.front_pg .tl_link svg {
    width: 16px;
    height: 16px;
    fill: currentColor
}

.front_pg .tl_pattern {
    position: absolute;
    width: 8px;
    height: 8px;
    border: 1px solid #01e8b133;
    border-radius: 6px;
    pointer-events: none
}

.front_pg .tl_pattern:nth-of-type(1) {
    top: 72px;
    left: 48px
}

.front_pg .tl_pattern:nth-of-type(2) {
    top: 96px;
    left: 72px
}

.front_pg .tl_pattern:nth-of-type(3) {
    bottom: 96px;
    right: 72px
}

.front_pg .tl_pattern:nth-of-type(4) {
    bottom: 72px;
    right: 48px
}

.front_pg .outcomes_sect {
    padding: 72px 24px;
    background: linear-gradient(180deg, #01e8b10f 0%, #fff 60%);
    position: relative
}

.front_pg .outcomes_grid {
    max-width: 1140px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: center
}

.front_pg .outcomes_img_box {
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 4px 28px 0 #01e8b11a
}

.front_pg .outcomes_img_box::before {
    content: '';
    position: absolute;
    top: 12px;
    left: 12px;
    right: 12px;
    bottom: 12px;
    border: 1px solid #fff6;
    border-radius: 6px;
    pointer-events: none;
    z-index: 2
}

.front_pg .outcomes_img_box img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    display: block;
    filter: contrast(1.05) saturate(1.1)
}

.front_pg .outcomes_txt_box {
    padding: 24px
}

.front_pg .outcomes_label {
    display: inline-block;
    font-size: 13px;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #01E8B1;
    margin: 0 0 12px;
    font-weight: 600
}

.front_pg .outcomes_h2 {
    font-size: 38px;
    line-height: 1.2;
    margin: 0 0 24px;
    color: #1a1a2e;
    font-weight: 700
}

.front_pg .outcomes_p {
    font-size: 17px;
    line-height: 1.7;
    margin: 0 0 24px;
    color: #3d3d5c
}

.front_pg .outcomes_list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.front_pg .outcomes_list_item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 17px;
    line-height: 1.7;
    color: #3d3d5c
}

.front_pg .outcomes_list_item::before {
    content: '';
    width: 6px;
    height: 6px;
    background: #FD5141;
    border-radius: 6px;
    flex-shrink: 0;
    margin-top: 12px
}

.front_pg .invest_sect {
    padding: 72px 24px;
    background: #fff;
    position: relative
}

.front_pg .invest_grid {
    max-width: 1140px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: center
}

.front_pg .invest_txt_box {
    padding: 24px;
    order: 2
}

.front_pg .invest_img_box {
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 4px 28px 0 #fd51411a;
    order: 1
}

.front_pg .invest_img_box::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(307deg, #fd51411f 0%, transparent 50%);
    pointer-events: none
}

.front_pg .invest_img_box img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    display: block
}

.front_pg .invest_shape {
    position: absolute;
    top: 24px;
    right: 24px;
    width: 18px;
    height: 18px;
    border: 2px solid #fd51414d;
    border-radius: 6px;
    pointer-events: none
}

.front_pg .invest_h2 {
    font-size: 38px;
    line-height: 1.2;
    margin: 0 0 24px;
    color: #1a1a2e;
    font-weight: 700;
    position: relative;
    display: inline-block
}

.front_pg .invest_h2::before {
    content: '';
    position: absolute;
    left: -36px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 2px;
    background: linear-gradient(90deg, #FD5141, #FFD71D)
}

.front_pg .invest_p {
    font-size: 17px;
    line-height: 1.7;
    margin: 0 0 24px;
    color: #3d3d5c
}

.front_pg .invest_features {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 24px;
    margin: 36px 0 0
}

.front_pg .invest_feat_label {
    font-size: 13px;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #01E8B1;
    font-weight: 600;
    padding: 6px 0
}

.front_pg .invest_feat_txt {
    font-size: 17px;
    line-height: 1.7;
    color: #3d3d5c;
    margin: 0
}

.front_pg .reputation_sect {
    padding: 72px 24px;
    background: linear-gradient(180deg, #ffd71d0f 0%, #fff 60%);
    position: relative
}

.front_pg .reputation_inner {
    max-width: 1140px;
    margin: 0 auto
}

.front_pg .reputation_hd {
    text-align: center;
    margin: 0 0 72px
}

.front_pg .reputation_h2 {
    font-size: 38px;
    line-height: 1.2;
    margin: 0 0 24px;
    color: #1a1a2e;
    font-weight: 700
}

.front_pg .reputation_intro {
    font-size: 17px;
    line-height: 1.7;
    margin: 0 auto;
    max-width: 680px;
    color: #3d3d5c
}

.front_pg .reputation_cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px
}

.front_pg .reputation_card {
    background: #fff;
    border: 1px solid #fd51411f;
    border-radius: 6px;
    padding: 36px 24px;
    text-align: center;
    box-shadow: 0 1px 5px 0 #fd51410d;
    transition: box-shadow .11s cubic-bezier(0.4, 0, 1, 1), transform .1s cubic-bezier(0.4, 0, 1, 1);
    position: relative;
    overflow: hidden
}

.front_pg .reputation_card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, #FD5141, #FFD71D)
}

.front_pg .reputation_card:hover {
    box-shadow: 0 9px 52px 0 #fd51411f;
    transform: translateY(-2px)
}

.front_pg .reputation_num_wrap {
    margin: 0 0 12px;
    display: flex;
    justify-content: center;
    align-items: center
}

.front_pg .reputation_num {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px
}

.front_pg .reputation_num svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: rotate(-90deg)
}

.front_pg .reputation_num_bg {
    fill: none;
    stroke: #01e8b11a;
    stroke-width: 3
}

.front_pg .reputation_num_fg {
    fill: none;
    stroke: #01E8B1;
    stroke-width: 3;
    stroke-dasharray: 190;
    stroke-dashoffset: 0;
    transition: stroke-dashoffset .16s cubic-bezier(0.4, 0, 1, 1)
}

.front_pg .reputation_card:nth-child(1) .reputation_num_fg {
    stroke-dashoffset: 20
}

.front_pg .reputation_card:nth-child(2) .reputation_num_fg {
    stroke-dashoffset: 48
}

.front_pg .reputation_card:nth-child(3) .reputation_num_fg {
    stroke-dashoffset: 76
}

.front_pg .reputation_num_txt {
    font-size: 17px;
    font-weight: 700;
    color: #1a1a2e;
    position: relative;
    z-index: 1
}

.front_pg .reputation_card_h3 {
    font-size: 17px;
    line-height: 1.2;
    margin: 0 0 12px;
    color: #1a1a2e;
    font-weight: 600
}

.front_pg .reputation_card_txt {
    font-size: 13px;
    line-height: 1.7;
    margin: 0;
    color: #3d3d5c
}

.front_pg .longterm_sect {
    padding: 72px 24px;
    background: #fff;
    position: relative
}

.front_pg .longterm_grid {
    max-width: 1140px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: center
}

.front_pg .longterm_img_box {
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 4px 28px 0 #01e8b11a
}

.front_pg .longterm_img_box::before {
    content: '';
    position: absolute;
    bottom: 12px;
    left: 12px;
    width: 80px;
    height: 80px;
    border: 2px solid #ffffff80;
    border-radius: 6px;
    pointer-events: none;
    z-index: 2
}

.front_pg .longterm_img_box::after {
    content: '';
    position: absolute;
    bottom: 18px;
    left: 18px;
    width: 68px;
    height: 68px;
    border: 2px solid #ffffff4d;
    border-radius: 6px;
    pointer-events: none;
    z-index: 2
}

.front_pg .longterm_img_box img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    display: block;
    filter: brightness(1.02)
}

.front_pg .longterm_txt_box {
    padding: 24px
}

.front_pg .longterm_h2 {
    font-size: 38px;
    line-height: 1.2;
    margin: 0 0 24px;
    color: #1a1a2e;
    font-weight: 700
}

.front_pg .longterm_p {
    font-size: 17px;
    line-height: 1.7;
    margin: 0 0 24px;
    color: #3d3d5c
}

.front_pg .longterm_benefits {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin: 36px 0 0
}

.front_pg .longterm_benefit {
    display: flex;
    gap: 12px;
    align-items: flex-start
}

.front_pg .longterm_benefit_icon {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    background: linear-gradient(135deg, #fd51411f, #01e8b11f);
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center
}

.front_pg .longterm_benefit_icon svg {
    width: 18px;
    height: 18px;
    fill: #FD5141
}

.front_pg .longterm_benefit_txt {
    flex: 1
}

.front_pg .longterm_benefit_h4 {
    font-size: 17px;
    line-height: 1.2;
    margin: 0 0 6px;
    color: #1a1a2e;
    font-weight: 600
}

.front_pg .longterm_benefit_p {
    font-size: 13px;
    line-height: 1.7;
    margin: 0;
    color: #3d3d5c
}

.front_pg .testimonial_sect {
    padding: 72px 24px;
    background: linear-gradient(180deg, #fd51410a 0%, #fff 70%);
    position: relative
}

.front_pg .testimonial_inner {
    max-width: 1140px;
    margin: 0 auto
}

.front_pg .testimonial_hd {
    text-align: center;
    margin: 0 0 72px
}

.front_pg .testimonial_h2 {
    font-size: 38px;
    line-height: 1.2;
    margin: 0 0 24px;
    color: #1a1a2e;
    font-weight: 700
}

.front_pg .testimonial_grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 36px;
    align-items: start
}

.front_pg .testimonial_portrait_box {
    position: relative
}

.front_pg .testimonial_portrait {
    width: 100%;
    aspect-ratio: 5/7;
    border-radius: 46px;
    overflow: hidden;
    box-shadow: 0 4px 28px 0 #fd51411a
}

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

.front_pg .testimonial_content {
    padding: 24px
}

.front_pg .testimonial_quote {
    font-size: 17px;
    line-height: 1.7;
    margin: 0 0 24px;
    color: #3d3d5c;
    position: relative;
    padding: 24px;
    background: #fff;
    border-radius: 6px;
    border: 1px solid #01e8b11f;
    box-shadow: 0 1px 5px 0 #01e8b10d
}

.front_pg .testimonial_quote::before {
    content: '';
    position: absolute;
    top: -12px;
    left: 24px;
    width: 24px;
    height: 24px;
    background: #01E8B1;
    border-radius: 6px;
    transform: rotate(45deg)
}

.front_pg .testimonial_author {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.front_pg .testimonial_name {
    font-size: 17px;
    font-weight: 600;
    color: #1a1a2e;
    margin: 0
}

.front_pg .testimonial_role {
    font-size: 13px;
    color: #3d3d5c;
    margin: 0
}

.front_pg .testimonial_metrics {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin: 36px 0 0
}

.front_pg .testimonial_metric {
    background: linear-gradient(135deg, #ffd71d14, #01e8b114);
    border-radius: 6px;
    padding: 24px;
    text-align: center;
    border: 1px solid #ffd71d33
}

.front_pg .testimonial_metric_val {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0 0 6px;
    display: block
}

.front_pg .testimonial_metric_label {
    font-size: 13px;
    color: #3d3d5c;
    margin: 0
}

.front_pg .framed_word {
    display: inline-block;
    border: 2px solid #FD5141;
    padding: 0 6px;
    border-radius: 6px
}

@media (max-width: 1024px) {

    .front_pg .outcomes_grid,
    .front_pg .invest_grid,
    .front_pg .longterm_grid {
        grid-template-columns: 1fr
    }

    .front_pg .invest_txt_box,
    .front_pg .invest_img_box {
        order: unset
    }

    .front_pg .reputation_cards {
        grid-template-columns: 1fr
    }

    .front_pg .testimonial_grid {
        grid-template-columns: 1fr
    }

    .front_pg .testimonial_portrait {
        max-width: 280px;
        margin: 0 auto
    }

    .front_pg .testimonial_metrics {
        grid-template-columns: 1fr
    }
}

@media (max-width: 768px) {
    .front_pg .tl_h1 {
        font-size: 38px
    }

    .front_pg .outcomes_h2,
    .front_pg .invest_h2,
    .front_pg .reputation_h2,
    .front_pg .longterm_h2,
    .front_pg .testimonial_h2 {
        font-size: 38px
    }

    .front_pg .tl_zone {
        padding: 36px 24px
    }

    .front_pg .outcomes_sect,
    .front_pg .invest_sect,
    .front_pg .reputation_sect,
    .front_pg .longterm_sect,
    .front_pg .testimonial_sect {
        padding: 36px 24px
    }

    .front_pg .outcomes_img_box img,
    .front_pg .invest_img_box img,
    .front_pg .longterm_img_box img {
        height: 320px
    }

    .front_pg .invest_h2::before {
        display: none
    }

    .front_pg .invest_features {
        grid-template-columns: 1fr;
        gap: 12px
    }

    .front_pg .testimonial_metric_val {
        font-size: 38px
    }
}

@media (max-width: 375px) {
    .front_pg .tl_h1 {
        font-size: 38px
    }

    .front_pg .tl_actions {
        flex-direction: column
    }

    .front_pg .tl_link {
        width: 100%;
        justify-content: center
    }
}

@keyframes gradient_shift {

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

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

.front_pg .tl_zone {
    background-size: 200% 200%;
    animation: gradient_shift 8s ease-in-out infinite
}

.success_page {
    background: linear-gradient(307deg, #fff 0%, #01e8b114 62%, #fd51410f 100%);
    min-height: 84vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 72px 24px
}

.success_page .confirmation_wrap {
    max-width: 680px;
    width: 100%;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 4px 28px 0 #01e8b11a;
    padding: 72px 36px;
    text-align: center
}

.success_page .icon_holder {
    width: 92px;
    height: 92px;
    margin: 0 auto 36px;
    position: relative
}

.success_page .check_circle {
    width: 92px;
    height: 92px;
    border: 4px solid #01E8B1;
    border-radius: 46px;
    position: relative;
    background: #01e8b11f
}

.success_page .check_mark {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 42px;
    height: 32px
}

.success_page .check_mark::before {
    content: '';
    position: absolute;
    left: 0;
    top: 16px;
    width: 18px;
    height: 4px;
    background: #01E8B1;
    transform: rotate(-48deg);
    border-radius: 6px
}

.success_page .check_mark::after {
    content: '';
    position: absolute;
    left: 14px;
    top: 8px;
    width: 32px;
    height: 4px;
    background: #01E8B1;
    transform: rotate(48deg);
    border-radius: 6px
}

.success_page .main_heading {
    font-size: 38px;
    line-height: 1.2;
    color: #2a2a2a;
    margin: 0 0 24px
}

.success_page .message_text {
    font-size: 17px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0 0 36px
}

.success_page .details_box {
    background: #fd51410a;
    border-radius: 6px;
    padding: 24px;
    margin: 0 0 36px;
    text-align: left
}

.success_page .detail_row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin: 0 0 12px
}

.success_page .detail_row:last-child {
    margin: 0
}

.success_page .detail_label {
    font-size: 13px;
    line-height: 1.7;
    color: #6a6a6a;
    text-transform: uppercase;
    letter-spacing: .08em
}

.success_page .detail_value {
    font-size: 17px;
    line-height: 1.7;
    color: #2a2a2a;
    font-weight: 600
}

.success_page .action_group {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap
}

.success_page .btn_primary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 12px 24px;
    background: linear-gradient(307deg, #FD5141 0%, #FFD71D 100%);
    color: #fff;
    text-decoration: none;
    border-radius: 6px;
    font-size: 17px;
    line-height: 1.7;
    transition: transform .12s cubic-bezier(0.4, 0, 1, 1);
    box-shadow: 0 1px 5px 0 #fd51410d
}

.success_page .btn_primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 28px 0 #fd51411a
}

.success_page .btn_secondary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 12px 24px;
    background: transparent;
    color: #FD5141;
    text-decoration: none;
    border: 2px solid #FD5141;
    border-radius: 6px;
    font-size: 17px;
    line-height: 1.7;
    transition: background .1s cubic-bezier(0.4, 0, 1, 1), color .1s cubic-bezier(0.4, 0, 1, 1)
}

.success_page .btn_secondary:hover {
    background: #fd514114
}

.success_page .arrow_icon {
    width: 16px;
    height: 16px;
    position: relative
}

.success_page .arrow_icon::before {
    content: '';
    position: absolute;
    top: 7px;
    left: 0;
    width: 12px;
    height: 2px;
    background: currentColor;
    border-radius: 6px
}

.success_page .arrow_icon::after {
    content: '';
    position: absolute;
    top: 3px;
    right: 0;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    transform: rotate(45deg);
    border-radius: 0 2px 0 0
}

.success_page .support_note {
    margin: 36px 0 0;
    padding: 24px 0 0;
    border-top: 1px solid #01e8b133
}

.success_page .support_text {
    font-size: 13px;
    line-height: 1.7;
    color: #6a6a6a;
    margin: 0 0 6px
}

.success_page .contact_link {
    color: #01E8B1;
    text-decoration: none;
    transition: color .11s cubic-bezier(0.4, 0, 1, 1)
}

.success_page .contact_link:hover {
    color: #FD5141
}

@media (max-width: 768px) {
    .success_page {
        padding: 36px 24px
    }

    .success_page .confirmation_wrap {
        padding: 36px 24px
    }

    .success_page .main_heading {
        font-size: 38px
    }

    .success_page .action_group {
        flex-direction: column;
        align-items: stretch
    }

    .success_page .btn_primary,
    .success_page .btn_secondary {
        justify-content: center
    }
}

@media (max-width: 375px) {
    .success_page .confirmation_wrap {
        padding: 24px 12px
    }

    .success_page .details_box {
        padding: 12px
    }

    .success_page .detail_row {
        flex-direction: column;
        gap: 6px
    }
}