section.hero_section {
    background: var(--dark-bg);
    position: relative;
    align-content: center;

    &::before {
        content: '';
        position: absolute;
        inset: 0;
        background: radial-gradient(ellipse 60% 60% at 70% 50%, rgba(80, 140, 20, 0.07) 0%, transparent 65%);
        pointer-events: none;
    }

    .hero_headline {
        color: var(--text-light);
        margin-bottom: 1.25rem;
    }

    .hero_accent {
        color: var(--gold);
    }

    .hero_sub {
        max-width: 500px;
        margin-bottom: 2.5rem;
    }

    .hero_ctas {
        display: flex;
        flex-wrap: wrap;
        gap: 1rem;
    }

    .hero_visual {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        min-height: 300px;
    }

    .hero_mark_card {
        background: var(--dark-card);
        border: 1px solid var(--dark-border);
        border-radius: var(--radius-md);
        padding: 2.5rem 3rem;
        display: inline-flex;
        flex-direction: column;
        align-items: flex-start;
        position: relative;
        animation: heroFloat 5s ease-in-out infinite;

        &::before {
            content: '';
            position: absolute;
            inset: -1px;
            border-radius: inherit;
            background: linear-gradient(135deg, rgba(232, 200, 64, 0.15) 0%, transparent 60%);
            pointer-events: none;
        }
    }

    .hero_mark_r {
        color: var(--gold);
        line-height: 1;
    }

    .hero_mark_arrow {
        color: var(--gold);
        opacity: 0.8;
        align-self: flex-end;
        margin-top: -0.75rem;
    }

    @media (max-width: 991px) {
        min-height: auto;

        .hero_mark_card { padding: 2rem 2.5rem; }
    }

    @media (max-width: 767px) {
        .hero_sub  { max-width: 100%; }
        .hero_ctas { flex-direction: column; }
    }

    @media (max-width: 575px) {
        .hero_visual { display: none; }
    }
}

@keyframes heroFloat {
    0%, 100% { transform: translateY(0px); }
    50%       { transform: translateY(-10px); }
}


section.authority_section {
    border-top: 1px solid var(--dark-border);
    background: url('../../assets/img/global/bubble_bg.png') no-repeat top right / contain;

    .authority_headline {
        color: var(--text-light);
        margin-bottom: 1.25rem;
    }

    .authority_sub {
        max-width: 500px;
        margin-bottom: 2rem;
    }

    .authority_trust {
        display: flex;
        flex-direction: column;
        gap: 0.65rem;
        margin-bottom: 2rem;
    }

    .trust_item {
        display: flex;
        align-items: center;
        gap: 0.55em;

        .bi { color: var(--gold); flex-shrink: 0; }
    }

    .hero_read_story {
        display: inline-flex;
        align-items: center;
        gap: 0.4em;
        color: var(--gold);
        width: fit-content;
        transition: gap var(--transition);

        &:hover { gap: 0.65em; }
    }

    .hero_stats_grid {
        display: flex;
        gap: 1.25rem;
    }

    .stats_col {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
    }

    .stats_col_offset { margin-top: 3rem; }

    .hero_stat_card {
        background: var(--dark-card);
        border: 1px solid var(--dark-border);
        border-radius: var(--radius-md);
        padding: 2rem 1.75rem;
        display: flex;
        flex-direction: column;
        gap: 0.4rem;
        transition: border-color var(--transition), transform var(--transition);

        &:hover {
            border-color: rgba(232, 200, 64, 0.25);
            transform: translateY(-2px);
        }
    }

    .hero_stat_num {
        color: var(--gold);
        line-height: 1;

        em {
            font-style: normal;
            color: var(--gold);
        }
    }

    @media (max-width: 991px) {
        .stats_col_offset { margin-top: 2rem; }
        .hero_stat_card   { padding: 1.5rem 1.25rem; }
    }

    @media (max-width: 767px) {
        .authority_sub    { max-width: 100%; }
        .stats_col_offset { margin-top: 1rem; }
    }
}


section.services_section {
    background: rgba(11, 61, 46, 0.14);
    border-top: 1px solid var(--dark-border);

    .service_card {
        padding: 1.5rem 1.25rem 2rem;
        height: 100%;
        border-radius: 12px;
        background: #1A1E1C;
        box-shadow: 0 0 0 0 rgba(23, 26, 31, 0.00), 0 2px 4px 0 rgba(0, 0, 0, 0.20);
    }

    .service_icon_wrap {
        display: flex;
        width: 48px;
        height: 48px;
        padding: 12px;
        justify-content: center;
        align-items: center;
        border-radius: 12px;
        background: #1F2322;
        margin-bottom: 0.75rem;
    }

    .service_title {
        color: var(--text-light);
        margin-bottom: 0.75rem;
    }

    .service_desc {
        margin-bottom: 1rem;
    }

    .service_link {
        display: inline-flex;
        align-items: center;
        gap: 0.35em;
        width: fit-content;
        transition: color var(--transition), gap var(--transition);

        &:hover {
            color: var(--gold);
            gap: 0.6em;
        }
    }
}


section.raize_way_section {
    background: var(--dark-bg) url('../../assets/img/global/bubble_bg.png') no-repeat bottom left / contain;
    border-top: 1px solid var(--dark-border);

    .raize_way_highlight {
        border-radius: 14px;
        border: 1px solid rgba(255, 255, 255, 0.05);
        background: #1A1E1C;
        padding: 40px;

        @media (max-width: 1200px) { padding: 30px; }
        @media (max-width: 991px)  { padding: 30px 20px; }

        .highlight_title {
            display: block;
            color: var(--gold);
            margin-bottom: 0.75rem;
        }

        p {
            margin-bottom: 1.5rem;
        }

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

    .raize_steps_card {
        border-radius: 14px;
        border: 1px solid rgba(255, 255, 255, 0.05);
        background: rgba(31, 35, 34, 0.30);
    }

    .step_card {
        display: flex;
        gap: 1.25rem;
        padding: 1.5rem 1.75rem;
        align-items: flex-start;
        border-bottom: 1px solid var(--dark-border);

        &:last-child { border-bottom: none; }
    }

    .step_num {
        width: 36px;
        height: 36px;
        flex-shrink: 0;
        border-radius: 50%;
        border: 1px solid rgba(232, 200, 64, 0.35);
        background: rgba(232, 200, 64, 0.06);
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--gold);
    }

    .step_content { padding-top: 0.2rem; }

    .step_title {
        color: var(--text-light);
        margin-bottom: 0.35rem;
    }

    .step_desc { margin: 0; }

    @media (max-width: 767px) {
        .step_card { padding: 1.25rem; }
    }
}


section.success_section {
    background: var(--dark-surface);
    border-top: 1px solid var(--dark-border);

    .metric_card {
        padding: 1rem 1rem 2rem;
        height: 100%;
        text-align: left;
    }

    .metric_icon {
        display: block;
        margin-bottom: 0.75rem;
    }

    .metric_title {
        color: var(--text-light);
        margin-bottom: 0.5rem;
    }

    .metric_desc { margin: 0; }
}


section.testimonials_section {
    background: var(--dark-bg);
    border-top: 1px solid var(--dark-border);

    .testimonial_card {
        background: var(--dark-surface);
        border: 1px solid var(--dark-border);
        border-radius: var(--radius-md);
        padding: 1.75rem;
        height: 100%;
        transition: border-color var(--transition), transform var(--transition);

        &:hover {
            border-color: rgba(232, 200, 64, 0.2);
            transform: translateY(-3px);
        }
    }

    .testimonial_stars {
        display: flex;
        gap: 0.2rem;
        margin-bottom: 1rem;
        color: var(--gold);
    }

    .testimonial_quote { margin-bottom: 1.5rem; }

    .testimonial_author {
        display: flex;
        align-items: center;
        gap: 0.65rem;
    }

    .author_avatar_letter {
        width: 36px;
        height: 36px;
        border-radius: 50%;
        background: var(--dark-card);
        border: 1px solid var(--dark-border);
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--gold);
        flex-shrink: 0;
    }

    .author_name {
        display: block;
        color: var(--text-light);
    }

    .author_role { display: block; }
}


section.faq_section {
    background: var(--dark-bg);
    border-top: 1px solid var(--dark-border);

    .faq_accordion {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .faq_item {
        background: transparent !important;
        border: none !important;
        border-bottom: 1px solid var(--dark-border) !important;
        border-radius: 0 !important;

        &:first-child {
            border-top: 1px solid var(--dark-border) !important;
        }
    }

    .faq_btn {
        background: transparent !important;
        color: var(--text-light) !important;
        padding: 1.1rem 0;
        box-shadow: none !important;
        border: none;
        transition: color var(--transition);

        &::after {
            filter: brightness(0) saturate(100%) invert(85%) sepia(30%) saturate(600%) hue-rotate(20deg);
        }

        &:not(.collapsed) { color: var(--gold) !important; }
    }

    .faq_body {
        background: transparent;
        padding: 0 0 1.25rem;
    }

    .faq_cta { padding-top: 2.5rem; }
}


section.cta_banner_section {
    background: var(--dark-bg);
    border-top: 1px solid var(--dark-border);

    .cta_banner_card {
        background: var(--dark-card);
        border: 1px solid var(--dark-border);
        border-radius: var(--radius-lg);
        padding: 4rem 3rem;
        text-align: center;
        max-width: 760px;
        margin: 0 auto;
    }

    .cta_banner_title {
        color: var(--text-light);
        margin-bottom: 1rem;
        width: 100%;
    }

    .cta_banner_sub {
        max-width: 480px;
        margin: 0 auto 2rem;
    }

    .cta_banner_actions {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.75rem;
        flex-wrap: wrap;
        margin-bottom: 1.25rem;
    }

    .cta_trust_note {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.4em;
        color: var(--text-dim);
        margin: 0;
    }

    @media (max-width: 767px) {
        .cta_banner_card    { padding: 2.5rem 1.5rem; }
        .cta_banner_actions { flex-direction: column; }
    }
}
